Index: chromecast/media/audio/cast_audio_manager.cc |
diff --git a/chromecast/media/audio/cast_audio_manager.cc b/chromecast/media/audio/cast_audio_manager.cc |
index 2176cddc03036531ea2f8291f919c8a9014db615..3cd80d6fd421ea4e14dc02049215d32aa47aeddb 100644 |
--- a/chromecast/media/audio/cast_audio_manager.cc |
+++ b/chromecast/media/audio/cast_audio_manager.cc |
@@ -8,9 +8,11 @@ |
#include <string> |
#include "base/bind.h" |
+#include "base/memory/ptr_util.h" |
#include "chromecast/media/audio/cast_audio_mixer.h" |
#include "chromecast/media/audio/cast_audio_output_stream.h" |
-#include "chromecast/media/cma/backend/media_pipeline_backend_manager.h" |
+#include "chromecast/media/cma/backend/media_pipeline_backend_factory.h" |
+#include "chromecast/public/media/media_pipeline_backend.h" |
namespace { |
// TODO(alokp): Query the preferred value from media backend. |
@@ -30,22 +32,15 @@ namespace media { |
CastAudioManager::CastAudioManager( |
std::unique_ptr<::media::AudioThread> audio_thread, |
::media::AudioLogFactory* audio_log_factory, |
- MediaPipelineBackendManager* backend_manager) |
- : CastAudioManager(std::move(audio_thread), |
- audio_log_factory, |
- backend_manager, |
- new CastAudioMixer( |
- base::Bind(&CastAudioManager::MakeMixerOutputStream, |
- base::Unretained(this)))) {} |
- |
-CastAudioManager::CastAudioManager( |
- std::unique_ptr<::media::AudioThread> audio_thread, |
- ::media::AudioLogFactory* audio_log_factory, |
- MediaPipelineBackendManager* backend_manager, |
- CastAudioMixer* audio_mixer) |
+ std::unique_ptr<MediaPipelineBackendFactory> backend_factory, |
+ scoped_refptr<base::SingleThreadTaskRunner> backend_task_runner, |
+ bool use_mixer) |
: AudioManagerBase(std::move(audio_thread), audio_log_factory), |
- backend_manager_(backend_manager), |
- mixer_(audio_mixer) {} |
+ backend_factory_(std::move(backend_factory)), |
+ backend_task_runner_(std::move(backend_task_runner)) { |
+ if (use_mixer) |
+ mixer_ = base::MakeUnique<CastAudioMixer>(this); |
+} |
CastAudioManager::~CastAudioManager() = default; |
@@ -80,12 +75,6 @@ const char* CastAudioManager::GetName() { |
return "Cast"; |
} |
-std::unique_ptr<MediaPipelineBackend> |
-CastAudioManager::CreateMediaPipelineBackend( |
- const MediaPipelineDeviceParams& params) { |
- return backend_manager_->CreateMediaPipelineBackend(params); |
-} |
- |
void CastAudioManager::ReleaseOutputStream(::media::AudioOutputStream* stream) { |
// If |stream| is |mixer_output_stream_|, we should not use |
// AudioManagerBase::ReleaseOutputStream as we do not want the release |
@@ -108,7 +97,7 @@ void CastAudioManager::ReleaseOutputStream(::media::AudioOutputStream* stream) { |
// If |mixer_| exists, return a mixing stream. |
if (mixer_) |
- return mixer_->MakeStream(params, this); |
+ return mixer_->MakeStream(params); |
else |
return new CastAudioOutputStream(params, this); |
} |
@@ -121,7 +110,7 @@ void CastAudioManager::ReleaseOutputStream(::media::AudioOutputStream* stream) { |
// If |mixer_| exists, return a mixing stream. |
if (mixer_) |
- return mixer_->MakeStream(params, this); |
+ return mixer_->MakeStream(params); |
else |
return new CastAudioOutputStream(params, this); |
} |