| Index: media/audio/audio_input_controller.h
|
| diff --git a/media/audio/audio_input_controller.h b/media/audio/audio_input_controller.h
|
| index 8b717053298eb16892ae4542c79d3cf161347335..b037996870da6af6af536c4909c07776d61f4803 100644
|
| --- a/media/audio/audio_input_controller.h
|
| +++ b/media/audio/audio_input_controller.h
|
| @@ -13,7 +13,9 @@
|
|
|
| #include "base/files/file.h"
|
| #include "base/memory/weak_ptr.h"
|
| +#include "base/optional.h"
|
| #include "base/single_thread_task_runner.h"
|
| +#include "base/timer/timer.h"
|
| #include "media/audio/audio_debug_file_writer.h"
|
| #include "media/audio/audio_io.h"
|
| #include "media/audio/audio_manager_base.h"
|
| @@ -107,6 +109,11 @@ class MEDIA_EXPORT AudioInputController
|
| ErrorCode error_code) = 0;
|
| virtual void OnLog(AudioInputController* controller,
|
| const std::string& message) = 0;
|
| + // Initially, an AudioInputController is considered not muted. If the
|
| + // underlying stream is actually muted, an OnMuted callback will follow
|
| + // shortly after OnCreated. It is also called whenever the muted state of
|
| + // the underlying stream changes.
|
| + virtual void OnMuted(AudioInputController* controller, bool is_muted) = 0;
|
|
|
| protected:
|
| virtual ~EventHandler() {}
|
| @@ -323,6 +330,8 @@ class MEDIA_EXPORT AudioInputController
|
| float* average_power_dbfs,
|
| int* mic_volume_percent);
|
|
|
| + void CheckMutedState();
|
| +
|
| static StreamType ParamsToStreamType(const AudioParameters& params);
|
|
|
| // Gives access to the task runner of the creating thread.
|
| @@ -367,6 +376,9 @@ class MEDIA_EXPORT AudioInputController
|
| // Time when the stream started recording.
|
| base::TimeTicks stream_create_time_;
|
|
|
| + bool is_muted_ = false;
|
| + base::RepeatingTimer check_muted_state_timer_;
|
| +
|
| #if BUILDFLAG(ENABLE_WEBRTC)
|
| // Used for audio debug recordings. Accessed on audio thread.
|
| AudioDebugRecordingHelper debug_recording_helper_;
|
|
|