diff options
Diffstat (limited to 'ArmnnPreparedModel_1_3.cpp')
-rw-r--r-- | ArmnnPreparedModel_1_3.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/ArmnnPreparedModel_1_3.cpp b/ArmnnPreparedModel_1_3.cpp index 155f8b25..86c04948 100644 --- a/ArmnnPreparedModel_1_3.cpp +++ b/ArmnnPreparedModel_1_3.cpp @@ -234,6 +234,7 @@ Return <V1_3::ErrorStatus> ArmnnPreparedModel_1_3<HalVersion>::execute_1_3( const V1_3::Request& request, MeasureTiming measureTiming, const V1_3::OptionalTimePoint&, + const V1_3::OptionalTimeoutDuration&, const sp<V1_3::IExecutionCallback>& callback) { if (callback.get() == nullptr) @@ -259,6 +260,7 @@ Return<void> ArmnnPreparedModel_1_3<HalVersion>::executeFenced(const V1_3::Reque MeasureTiming, const OptionalTimePoint&, const OptionalTimeoutDuration&, + const OptionalTimeoutDuration&, executeFenced_cb cb) { cb(ErrorStatus::DEVICE_UNAVAILABLE, hidl_handle(nullptr), nullptr); @@ -449,10 +451,12 @@ Return<void> ArmnnPreparedModel_1_3<HalVersion>::executeSynchronously(const V1_0 } template<typename HalVersion> -Return<void> ArmnnPreparedModel_1_3<HalVersion>::executeSynchronously_1_3(const V1_3::Request& request, - MeasureTiming measureTiming, - const V1_3::OptionalTimePoint& deadline, - executeSynchronously_1_3_cb cb) +Return<void> ArmnnPreparedModel_1_3<HalVersion>::executeSynchronously_1_3( + const V1_3::Request& request, + MeasureTiming measureTiming, + const V1_3::OptionalTimePoint& deadline, + const V1_3::OptionalTimeoutDuration& loopTimeoutDuration, + executeSynchronously_1_3_cb cb) { ALOGV("ArmnnPreparedModel_1_3::executeSynchronously_1_3(): %s", GetModelSummary(m_Model).c_str()); m_RequestCount++; @@ -470,6 +474,13 @@ Return<void> ArmnnPreparedModel_1_3<HalVersion>::executeSynchronously_1_3(const return Void(); } + if (loopTimeoutDuration.getDiscriminator() != OptionalTimeoutDuration::hidl_discriminator::none) + { + ALOGE("ArmnnPreparedModel_1_3::executeSynchronously_1_3 invalid request model"); + cb(V1_3::ErrorStatus::INVALID_ARGUMENT, {}, g_NoTiming); + return Void(); + } + auto cbWrapper = [cb](V1_3::ErrorStatus errorStatus, std::vector<OutputShape> outputShapes, const Timing& timing, |