summaryrefslogtreecommitdiff
path: root/system/audio_hal_interface/le_audio_software.cc
diff options
context:
space:
mode:
Diffstat (limited to 'system/audio_hal_interface/le_audio_software.cc')
-rw-r--r--system/audio_hal_interface/le_audio_software.cc20
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();
}