Loading system/audio_hal_interface/a2dp_encoding.cc +2 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,8 @@ class A2dpTransport } } void SinkMetadataChanged(const sink_metadata_t&) override {} tA2DP_CTRL_CMD GetPendingCmd() const { return a2dp_pending_cmd_; } void ResetPendingCmd() { a2dp_pending_cmd_ = A2DP_CTRL_CMD_NONE; } Loading system/audio_hal_interface/client_interface.cc +12 −1 Original line number Diff line number Diff line Loading @@ -161,7 +161,18 @@ class BluetoothAudioPortImpl : public IBluetoothAudioPort { Return<void> updateSinkMetadata(const SinkMetadata& sinkMetadata) override { StopWatchLegacy stop_watch(__func__); LOG(INFO) << __func__ << ": " << sinkMetadata.tracks.size() << " track(s)"; // TODO: pass the metadata up to transport_instance and LE Audio // refer to StreamIn.impl.h within Audio HAL (AUDIO_HAL_VERSION_5_0) std::vector<record_track_metadata> metadata_vec; metadata_vec.reserve(sinkMetadata.tracks.size()); for (const auto& metadata : sinkMetadata.tracks) { metadata_vec.push_back({ .source = static_cast<audio_source_t>(metadata.source), .gain = metadata.gain, }); } const sink_metadata_t sink_metadata = {.track_count = metadata_vec.size(), .tracks = metadata_vec.data()}; transport_instance_->SinkMetadataChanged(sink_metadata); return Void(); } Loading system/audio_hal_interface/client_interface.h +1 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ class IBluetoothTransportInstance { timespec* data_position) = 0; virtual void MetadataChanged(const source_metadata_t& source_metadata) = 0; virtual void SinkMetadataChanged(const sink_metadata_t& sink_metadata) = 0; // Invoked when the transport is requested to reset presentation position virtual void ResetPresentationPosition() = 0; Loading system/audio_hal_interface/client_interface_unittest.cc +4 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,8 @@ class TestSinkTransport } void MetadataChanged( const source_metadata_t& source_metadata __unused) override {} void SinkMetadataChanged( const sink_metadata_t& sink_metadata __unused) override {} void ResetPresentationPosition() override{}; void LogBytesRead(size_t bytes_readed __unused) override{}; }; Loading Loading @@ -200,6 +202,8 @@ class TestSourceTransport } void MetadataChanged( const source_metadata_t& source_metadata __unused) override {} void SinkMetadataChanged( const sink_metadata_t& sink_metadata __unused) override {} void ResetPresentationPosition() override{}; void LogBytesWritten(size_t bytes_written __unused) override{}; }; Loading system/audio_hal_interface/hearing_aid_software_encoding.cc +2 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,8 @@ class HearingAidTransport } } void SinkMetadataChanged(const sink_metadata_t&) override {} void ResetPresentationPosition() override { VLOG(2) << __func__ << ": called."; remote_delay_report_ms_ = 0; Loading Loading
system/audio_hal_interface/a2dp_encoding.cc +2 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,8 @@ class A2dpTransport } } void SinkMetadataChanged(const sink_metadata_t&) override {} tA2DP_CTRL_CMD GetPendingCmd() const { return a2dp_pending_cmd_; } void ResetPendingCmd() { a2dp_pending_cmd_ = A2DP_CTRL_CMD_NONE; } Loading
system/audio_hal_interface/client_interface.cc +12 −1 Original line number Diff line number Diff line Loading @@ -161,7 +161,18 @@ class BluetoothAudioPortImpl : public IBluetoothAudioPort { Return<void> updateSinkMetadata(const SinkMetadata& sinkMetadata) override { StopWatchLegacy stop_watch(__func__); LOG(INFO) << __func__ << ": " << sinkMetadata.tracks.size() << " track(s)"; // TODO: pass the metadata up to transport_instance and LE Audio // refer to StreamIn.impl.h within Audio HAL (AUDIO_HAL_VERSION_5_0) std::vector<record_track_metadata> metadata_vec; metadata_vec.reserve(sinkMetadata.tracks.size()); for (const auto& metadata : sinkMetadata.tracks) { metadata_vec.push_back({ .source = static_cast<audio_source_t>(metadata.source), .gain = metadata.gain, }); } const sink_metadata_t sink_metadata = {.track_count = metadata_vec.size(), .tracks = metadata_vec.data()}; transport_instance_->SinkMetadataChanged(sink_metadata); return Void(); } Loading
system/audio_hal_interface/client_interface.h +1 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ class IBluetoothTransportInstance { timespec* data_position) = 0; virtual void MetadataChanged(const source_metadata_t& source_metadata) = 0; virtual void SinkMetadataChanged(const sink_metadata_t& sink_metadata) = 0; // Invoked when the transport is requested to reset presentation position virtual void ResetPresentationPosition() = 0; Loading
system/audio_hal_interface/client_interface_unittest.cc +4 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,8 @@ class TestSinkTransport } void MetadataChanged( const source_metadata_t& source_metadata __unused) override {} void SinkMetadataChanged( const sink_metadata_t& sink_metadata __unused) override {} void ResetPresentationPosition() override{}; void LogBytesRead(size_t bytes_readed __unused) override{}; }; Loading Loading @@ -200,6 +202,8 @@ class TestSourceTransport } void MetadataChanged( const source_metadata_t& source_metadata __unused) override {} void SinkMetadataChanged( const sink_metadata_t& sink_metadata __unused) override {} void ResetPresentationPosition() override{}; void LogBytesWritten(size_t bytes_written __unused) override{}; }; Loading
system/audio_hal_interface/hearing_aid_software_encoding.cc +2 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,8 @@ class HearingAidTransport } } void SinkMetadataChanged(const sink_metadata_t&) override {} void ResetPresentationPosition() override { VLOG(2) << __func__ << ": called."; remote_delay_report_ms_ = 0; Loading