Merge "Clamp AIDL stream latency to [1, 3000] ms" into main am: 577aa3654e am: d209476077 am: e6affce8e6 am: 6538d1449a
Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/2719514
Change-Id: I53e978ad62a2804107deaf67f01afc52dc79ca92
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/media/libaudiohal/impl/StreamHalAidl.cpp b/media/libaudiohal/impl/StreamHalAidl.cpp
index 80e19a0..f9aea37 100644
--- a/media/libaudiohal/impl/StreamHalAidl.cpp
+++ b/media/libaudiohal/impl/StreamHalAidl.cpp
@@ -267,7 +267,11 @@
if (status_t status = updateCountersIfNeeded(&reply); status != OK) {
return status;
}
- *latency = std::max<int32_t>(0, reply.latencyMs);
+
+ *latency = std::clamp(std::max<int32_t>(0, reply.latencyMs), 1, 3000);
+ ALOGW_IF(reply.latencyMs != static_cast<int32_t>(*latency),
+ "Suspicious latency value reported by HAL: %d, clamped to %u", reply.latencyMs,
+ *latency);
return OK;
}