Index: media/base/audio_renderer_mixer_input.h |
diff --git a/media/base/audio_renderer_mixer_input.h b/media/base/audio_renderer_mixer_input.h |
index a08b108c57d32ed9be5f2be2ef1f725b569ce26d..663c6137fc048f578c8aad2cbeb3dd097d6dcced 100644 |
--- a/media/base/audio_renderer_mixer_input.h |
+++ b/media/base/audio_renderer_mixer_input.h |
@@ -8,6 +8,7 @@ |
#include <vector> |
#include "base/callback.h" |
+#include "base/message_loop_proxy.h" |
#include "media/base/audio_converter.h" |
#include "media/base/audio_renderer_sink.h" |
@@ -21,7 +22,7 @@ class MEDIA_EXPORT AudioRendererMixerInput |
public: |
typedef base::Callback<AudioRendererMixer*( |
const AudioParameters& params)> GetMixerCB; |
- typedef base::Callback<void(const AudioParameters& params)> RemoveMixerCB; |
+ typedef base::Callback<void(AudioRendererMixer*)> RemoveMixerCB; |
AudioRendererMixerInput( |
const GetMixerCB& get_mixer_cb, const RemoveMixerCB& remove_mixer_cb); |
@@ -43,6 +44,9 @@ class MEDIA_EXPORT AudioRendererMixerInput |
// Called by AudioRendererMixer when an error occurs. |
void OnRenderError(); |
+ // Called by AudioRendererMixer when a device change occurs. |
+ void OnDeviceChange(); |
+ |
protected: |
virtual ~AudioRendererMixerInput(); |
@@ -53,6 +57,8 @@ class MEDIA_EXPORT AudioRendererMixerInput |
bool initialized_; |
double volume_; |
+ void UpdateMixer(); |
+ |
// AudioConverter::InputCallback implementation. |
virtual double ProvideInput(AudioBus* audio_bus, |
base::TimeDelta buffer_delay) OVERRIDE; |
@@ -75,6 +81,9 @@ class MEDIA_EXPORT AudioRendererMixerInput |
// The current audio delay as last provided by AudioRendererMixer. |
int current_audio_delay_milliseconds_; |
+ // The message loop of pipeline thread which started this input. |
+ scoped_refptr<base::MessageLoopProxy> started_on_message_loop_; |
+ |
DISALLOW_COPY_AND_ASSIGN(AudioRendererMixerInput); |
}; |