| Index: chromecast/media/audio/cast_audio_manager.h
|
| diff --git a/chromecast/media/audio/cast_audio_manager.h b/chromecast/media/audio/cast_audio_manager.h
|
| index f12264a046cea6fd1bbc4ecc0e00606c9c390c94..7c95557f1215cf4f3f00a70dc0026433eb982f8c 100644
|
| --- a/chromecast/media/audio/cast_audio_manager.h
|
| +++ b/chromecast/media/audio/cast_audio_manager.h
|
| @@ -13,22 +13,19 @@ namespace chromecast {
|
| namespace media {
|
|
|
| class CastAudioMixer;
|
| -class MediaPipelineBackend;
|
| -class MediaPipelineBackendManager;
|
| -struct MediaPipelineDeviceParams;
|
| +class MediaPipelineBackendFactory;
|
|
|
| class CastAudioManager : public ::media::AudioManagerBase {
|
| public:
|
| - CastAudioManager(std::unique_ptr<::media::AudioThread> audio_thread,
|
| - ::media::AudioLogFactory* audio_log_factory,
|
| - MediaPipelineBackendManager* backend_manager);
|
| - CastAudioManager(std::unique_ptr<::media::AudioThread> audio_thread,
|
| - ::media::AudioLogFactory* audio_log_factory,
|
| - MediaPipelineBackendManager* backend_manager,
|
| - CastAudioMixer* audio_mixer);
|
| + CastAudioManager(
|
| + std::unique_ptr<::media::AudioThread> audio_thread,
|
| + ::media::AudioLogFactory* audio_log_factory,
|
| + std::unique_ptr<MediaPipelineBackendFactory> backend_factory,
|
| + scoped_refptr<base::SingleThreadTaskRunner> backend_task_runner,
|
| + bool use_mixer);
|
| ~CastAudioManager() override;
|
|
|
| - // AudioManager implementation.
|
| + // AudioManagerBase implementation.
|
| bool HasAudioOutputDevices() override;
|
| bool HasAudioInputDevices() override;
|
| void ShowAudioInputSettings() override;
|
| @@ -37,15 +34,16 @@ class CastAudioManager : public ::media::AudioManagerBase {
|
| ::media::AudioParameters GetInputStreamParameters(
|
| const std::string& device_id) override;
|
| const char* GetName() override;
|
| -
|
| - // AudioManagerBase implementation
|
| void ReleaseOutputStream(::media::AudioOutputStream* stream) override;
|
|
|
| - // This must be called on audio thread.
|
| - virtual std::unique_ptr<MediaPipelineBackend> CreateMediaPipelineBackend(
|
| - const MediaPipelineDeviceParams& params);
|
| + MediaPipelineBackendFactory* backend_factory() {
|
| + return backend_factory_.get();
|
| + }
|
| + base::SingleThreadTaskRunner* backend_task_runner() {
|
| + return backend_task_runner_.get();
|
| + }
|
|
|
| - private:
|
| + protected:
|
| // AudioManagerBase implementation.
|
| ::media::AudioOutputStream* MakeLinearOutputStream(
|
| const ::media::AudioParameters& params,
|
| @@ -67,13 +65,16 @@ class CastAudioManager : public ::media::AudioManagerBase {
|
| const ::media::AudioParameters& input_params) override;
|
|
|
| // Generates a CastAudioOutputStream for |mixer_|.
|
| - ::media::AudioOutputStream* MakeMixerOutputStream(
|
| + virtual ::media::AudioOutputStream* MakeMixerOutputStream(
|
| const ::media::AudioParameters& params);
|
|
|
| - MediaPipelineBackendManager* const backend_manager_;
|
| + private:
|
| + friend class CastAudioMixer;
|
| +
|
| + std::unique_ptr<MediaPipelineBackendFactory> backend_factory_;
|
| + scoped_refptr<base::SingleThreadTaskRunner> backend_task_runner_;
|
| std::unique_ptr<::media::AudioOutputStream> mixer_output_stream_;
|
| std::unique_ptr<CastAudioMixer> mixer_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(CastAudioManager);
|
| };
|
|
|
|
|