libaudiohal: Implement updateSource/SinkMetadata
Provide conversions between legacy and AIDL playback and
record track metadata. Use them for implementing
StreamInHalAidl::updateSinkMetadata and
StreamOutHalAidl::updateSourceMetadata.
Bug: 205884982
Bug: 272188499
Test: atest audiorecord_tests trackplayerbase_tests (w/AIDL)
Change-Id: I9278bb7ddbfa926fb1840ba1c51cb2401e949df6
diff --git a/media/libaudiohal/impl/StreamHalAidl.h b/media/libaudiohal/impl/StreamHalAidl.h
index 8e59513..e3cae77 100644
--- a/media/libaudiohal/impl/StreamHalAidl.h
+++ b/media/libaudiohal/impl/StreamHalAidl.h
@@ -313,6 +313,9 @@
private:
friend class sp<StreamOutHalAidl>;
+ static ::aidl::ConversionResult<::aidl::android::hardware::audio::common::SourceMetadata>
+ legacy2aidl_SourceMetadata(const StreamOutHalInterface::SourceMetadata& legacy);
+
const std::shared_ptr<::aidl::android::hardware::audio::core::IStreamOut> mStream;
const wp<CallbackBroker> mCallbackBroker;
@@ -362,6 +365,9 @@
private:
friend class sp<StreamInHalAidl>;
+ static ::aidl::ConversionResult<::aidl::android::hardware::audio::common::SinkMetadata>
+ legacy2aidl_SinkMetadata(const StreamInHalInterface::SinkMetadata& legacy);
+
const std::shared_ptr<::aidl::android::hardware::audio::core::IStreamIn> mStream;
// Can not be constructed directly by clients.