diff options
Diffstat (limited to 'system/audio_hal_interface/le_audio_software.cc')
-rw-r--r-- | system/audio_hal_interface/le_audio_software.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/system/audio_hal_interface/le_audio_software.cc b/system/audio_hal_interface/le_audio_software.cc index 384518254b..795a0df410 100644 --- a/system/audio_hal_interface/le_audio_software.cc +++ b/system/audio_hal_interface/le_audio_software.cc @@ -119,6 +119,18 @@ class LeAudioTransport { stream_cb_.on_metadata_update_(source_metadata); } + void SinkMetadataChanged(const sink_metadata_t& sink_metadata) { + auto track_count = sink_metadata.track_count; + + if (track_count == 0) { + LOG(WARNING) << ", invalid number of metadata changed tracks"; + return; + } + + if (stream_cb_.on_sink_metadata_update_) + stream_cb_.on_sink_metadata_update_(sink_metadata); + } + void ResetPresentationPosition() { VLOG(2) << __func__ << ": called."; remote_delay_report_ms_ = 0; @@ -206,6 +218,10 @@ class LeAudioSinkTransport transport_->MetadataChanged(source_metadata); } + void SinkMetadataChanged(const sink_metadata_t& sink_metadata) override { + transport_->SinkMetadataChanged(sink_metadata); + } + void ResetPresentationPosition() override { transport_->ResetPresentationPosition(); } @@ -279,6 +295,10 @@ class LeAudioSourceTransport transport_->MetadataChanged(source_metadata); } + void SinkMetadataChanged(const sink_metadata_t& sink_metadata) override { + transport_->SinkMetadataChanged(sink_metadata); + } + void ResetPresentationPosition() override { transport_->ResetPresentationPosition(); } |