| Index: chromecast/media/cma/backend/media_pipeline_backend_manager.h
|
| diff --git a/chromecast/media/cma/backend/media_pipeline_backend_manager.h b/chromecast/media/cma/backend/media_pipeline_backend_manager.h
|
| index 890dfc8610ef4488efa800efe403391b97ba5ff0..16216f0308a5cb5a2230867f55445f268f148a92 100644
|
| --- a/chromecast/media/cma/backend/media_pipeline_backend_manager.h
|
| +++ b/chromecast/media/cma/backend/media_pipeline_backend_manager.h
|
| @@ -9,15 +9,12 @@
|
| #include <vector>
|
|
|
| #include "base/macros.h"
|
| +#include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/single_thread_task_runner.h"
|
| #include "chromecast/public/media/media_pipeline_backend.h"
|
| #include "chromecast/public/media/media_pipeline_device_params.h"
|
|
|
| -namespace base {
|
| -template <typename T>
|
| -struct DefaultLazyInstanceTraits;
|
| -} // namespace base
|
| -
|
| namespace chromecast {
|
| namespace media {
|
|
|
| @@ -26,37 +23,39 @@ namespace media {
|
| // All functions in this class should be called on the media thread.
|
| class MediaPipelineBackendManager {
|
| public:
|
| + explicit MediaPipelineBackendManager(
|
| + scoped_refptr<base::SingleThreadTaskRunner> media_task_runner);
|
| + ~MediaPipelineBackendManager();
|
| +
|
| // Create media pipeline backend.
|
| - static MediaPipelineBackend* CreateMediaPipelineBackend(
|
| + scoped_ptr<MediaPipelineBackend> CreateMediaPipelineBackend(
|
| const MediaPipelineDeviceParams& params);
|
|
|
| // Create media pipeline backend with a specific stream_type.
|
| - static MediaPipelineBackend* CreateMediaPipelineBackend(
|
| + scoped_ptr<MediaPipelineBackend> CreateMediaPipelineBackend(
|
| const MediaPipelineDeviceParams& params,
|
| int stream_type);
|
|
|
| - // Internal clean up when a new media pipeline backend is destroyed.
|
| - static void OnMediaPipelineBackendDestroyed(
|
| - const MediaPipelineBackend* backend);
|
| -
|
| // Sets the relative volume for a specified stream type,
|
| // with range [0.0, 1.0] inclusive. If |multiplier| is outside the
|
| // range [0.0, 1.0], it is clamped to that range.
|
| // TODO(tianyuwang): change stream_type to use a enum.
|
| - static void SetVolumeMultiplier(int stream_type, float volume);
|
| + void SetVolumeMultiplier(int stream_type, float volume);
|
|
|
| - private:
|
| - friend struct base::DefaultLazyInstanceTraits<MediaPipelineBackendManager>;
|
| + base::SingleThreadTaskRunner* task_runner() const {
|
| + return media_task_runner_.get();
|
| + }
|
|
|
| - // Returns a pointer to a singleton instance of the
|
| - // MediaPipelineBackendManager.
|
| - static MediaPipelineBackendManager* Get();
|
| + private:
|
| + friend class MediaPipelineBackendWrapper;
|
|
|
| - MediaPipelineBackendManager();
|
| - ~MediaPipelineBackendManager();
|
| + // Internal clean up when a new media pipeline backend is destroyed.
|
| + void OnMediaPipelineBackendDestroyed(const MediaPipelineBackend* backend);
|
|
|
| float GetVolumeMultiplier(int stream_type);
|
|
|
| + const scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_;
|
| +
|
| // A vector that stores all of the existing media_pipeline_backends_.
|
| std::vector<MediaPipelineBackend*> media_pipeline_backends_;
|
|
|
|
|