Add HAL interface to replace aaudio system property.
Using the HAL interface instead of reading system property is a better
option when moving to AIDL HAL. The replaced property includes:
- aaudio.mixer_bursts
- aaudio.hw_burst_min_usec
Test: atest AAudioTests
Bug: 193275465
Change-Id: I9c9a04296e56ff083babcfa089fcdddc6b89ed94
diff --git a/media/libaudioclient/IAudioFlinger.cpp b/media/libaudioclient/IAudioFlinger.cpp
index e1e44fc..d3098b8 100644
--- a/media/libaudioclient/IAudioFlinger.cpp
+++ b/media/libaudioclient/IAudioFlinger.cpp
@@ -788,6 +788,27 @@
return statusTFromBinderStatus(mDelegate->getMmapPolicyInfos(policyType, policyInfos));
}
+int32_t AudioFlingerClientAdapter::getAAudioMixerBurstCount() {
+ auto result = [&]() -> ConversionResult<int32_t> {
+ int32_t aidlRet;
+ RETURN_IF_ERROR(statusTFromBinderStatus(mDelegate->getAAudioMixerBurstCount(&aidlRet)));
+ return convertIntegral<int32_t>(aidlRet);
+ }();
+ // Failure is ignored.
+ return result.value_or(0);
+}
+
+int32_t AudioFlingerClientAdapter::getAAudioHardwareBurstMinUsec() {
+ auto result = [&]() -> ConversionResult<int32_t> {
+ int32_t aidlRet;
+ RETURN_IF_ERROR(statusTFromBinderStatus(
+ mDelegate->getAAudioHardwareBurstMinUsec(&aidlRet)));
+ return convertIntegral<int32_t>(aidlRet);
+ }();
+ // Failure is ignored.
+ return result.value_or(0);
+}
+
////////////////////////////////////////////////////////////////////////////////////////////////////
// AudioFlingerServerAdapter
@@ -1265,4 +1286,16 @@
return Status::fromStatusT(mDelegate->getMmapPolicyInfos(policyType, _aidl_return));
}
+Status AudioFlingerServerAdapter::getAAudioMixerBurstCount(int32_t* _aidl_return) {
+ *_aidl_return = VALUE_OR_RETURN_BINDER(
+ convertIntegral<int32_t>(mDelegate->getAAudioMixerBurstCount()));
+ return Status::ok();
+}
+
+Status AudioFlingerServerAdapter::getAAudioHardwareBurstMinUsec(int32_t* _aidl_return) {
+ *_aidl_return = VALUE_OR_RETURN_BINDER(
+ convertIntegral<int32_t>(mDelegate->getAAudioHardwareBurstMinUsec()));
+ return Status::ok();
+}
+
} // namespace android