| Index: media/audio/pulse/pulse_input.h
|
| diff --git a/media/audio/pulse/pulse_input.h b/media/audio/pulse/pulse_input.h
|
| index 60acf2f908719891974eee38326fe528b64d615d..dd42b31489ef0f1cc4e25082eb75ecc556e336a4 100644
|
| --- a/media/audio/pulse/pulse_input.h
|
| +++ b/media/audio/pulse/pulse_input.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef MEDIA_AUDIO_PULSE_PULSE_INPUT_H_
|
| #define MEDIA_AUDIO_PULSE_PULSE_INPUT_H_
|
|
|
| +#include <pulse/pulseaudio.h>
|
| #include <string>
|
|
|
| #include "base/threading/thread_checker.h"
|
| @@ -14,11 +15,6 @@
|
| #include "media/audio/audio_parameters.h"
|
| #include "media/base/audio_block_fifo.h"
|
|
|
| -struct pa_context;
|
| -struct pa_source_info;
|
| -struct pa_stream;
|
| -struct pa_threaded_mainloop;
|
| -
|
| namespace media {
|
|
|
| class AudioManagerPulse;
|
| @@ -41,6 +37,7 @@ class PulseAudioInputStream : public AgcAudioStream<AudioInputStream> {
|
| virtual double GetMaxVolume() override;
|
| virtual void SetVolume(double volume) override;
|
| virtual double GetVolume() override;
|
| + virtual bool IsMuted() override;
|
|
|
| private:
|
| // PulseAudio Callbacks.
|
| @@ -48,10 +45,17 @@ class PulseAudioInputStream : public AgcAudioStream<AudioInputStream> {
|
| static void StreamNotifyCallback(pa_stream* stream, void* user_data);
|
| static void VolumeCallback(pa_context* context, const pa_source_info* info,
|
| int error, void* user_data);
|
| + static void MuteCallback(pa_context* context,
|
| + const pa_source_info* info,
|
| + int error,
|
| + void* user_data);
|
|
|
| // Helper for the ReadCallback.
|
| void ReadData();
|
|
|
| + // Utility method used by GetVolume() and IsMuted().
|
| + bool GetSourceInformation(pa_source_info_cb_t callback);
|
| +
|
| AudioManagerPulse* audio_manager_;
|
| AudioInputCallback* callback_;
|
| std::string device_name_;
|
| @@ -60,6 +64,10 @@ class PulseAudioInputStream : public AgcAudioStream<AudioInputStream> {
|
| double volume_;
|
| bool stream_started_;
|
|
|
| + // Set to true in IsMuted() if user has muted the selected microphone in the
|
| + // sound settings UI.
|
| + bool muted_;
|
| +
|
| // Holds the data from the OS.
|
| AudioBlockFifo fifo_;
|
|
|
|
|