diff --git a/api/neteq/neteq_controller.h b/api/neteq/neteq_controller.h index 3c52b39b6f..499b999686 100644 --- a/api/neteq/neteq_controller.h +++ b/api/neteq/neteq_controller.h @@ -163,6 +163,10 @@ class NetEqController { uint32_t main_timestamp, int fs_hz) = 0; + // Notify the NetEqController that we are currently in muted state. + // TODO(ivoc): Make pure virtual when downstream is updated. + virtual void NotifyMutedState() {} + // Returns true if a peak was found. virtual bool PeakFound() const = 0; diff --git a/modules/audio_coding/neteq/decision_logic.h b/modules/audio_coding/neteq/decision_logic.h index 23af0c5948..c3d82eb52f 100644 --- a/modules/audio_coding/neteq/decision_logic.h +++ b/modules/audio_coding/neteq/decision_logic.h @@ -84,6 +84,8 @@ class DecisionLogic : public NetEqController { void RegisterEmptyPacket() override { delay_manager_->RegisterEmptyPacket(); } + void NotifyMutedState() override {} + bool SetMaximumDelay(int delay_ms) override { return delay_manager_->SetMaximumDelay(delay_ms); } diff --git a/modules/audio_coding/neteq/neteq_impl.cc b/modules/audio_coding/neteq/neteq_impl.cc index 34cf7d931e..61e4de6a59 100644 --- a/modules/audio_coding/neteq/neteq_impl.cc +++ b/modules/audio_coding/neteq/neteq_impl.cc @@ -857,6 +857,7 @@ int NetEqImpl::GetAudioInternal(AudioFrame* audio_frame, static_cast(audio_frame->samples_per_channel_); audio_frame->num_channels_ = sync_buffer_->Channels(); stats_->ExpandedNoiseSamples(output_size_samples_, false); + controller_->NotifyMutedState(); *muted = true; return 0; }