OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_BACKEND_FACTORY_H_ | 5 #ifndef CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_BACKEND_FACTORY_H_ |
6 #define CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_BACKEND_FACTORY_H_ | 6 #define CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_BACKEND_FACTORY_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "base/macros.h" | 11 #include "base/macros.h" |
12 | 12 |
13 namespace chromecast { | 13 namespace chromecast { |
14 namespace media { | 14 namespace media { |
15 | 15 |
16 class MediaPipelineBackend; | 16 class MediaPipelineBackend; |
17 class MediaPipelineBackendManager; | 17 class MediaPipelineBackendManager; |
18 struct MediaPipelineDeviceParams; | 18 struct MediaPipelineDeviceParams; |
19 | 19 |
20 // Creates MediaPipelineBackends using a given MediaPipelineBackendManager. | 20 // Creates MediaPipelineBackends using a given MediaPipelineBackendManager. |
21 class MediaPipelineBackendFactory { | 21 class MediaPipelineBackendFactory { |
22 public: | 22 public: |
23 // TODO(slan): Use a static Create method once all of the constructor | 23 // TODO(slan): Use a static Create method once all of the constructor |
24 // dependencies are removed from the internal implemenation. | 24 // dependencies are removed from the internal implemenation. |
25 explicit MediaPipelineBackendFactory( | 25 explicit MediaPipelineBackendFactory( |
26 MediaPipelineBackendManager* media_pipeline_backend_manager); | 26 MediaPipelineBackendManager* media_pipeline_backend_manager); |
27 virtual ~MediaPipelineBackendFactory(); | 27 virtual ~MediaPipelineBackendFactory(); |
28 | 28 |
29 virtual std::unique_ptr<MediaPipelineBackend> CreateBackend( | 29 virtual std::unique_ptr<MediaPipelineBackend> CreateBackend( |
30 const MediaPipelineDeviceParams& params, | 30 const MediaPipelineDeviceParams& params); |
31 const std::string& audio_device_id); | |
32 | 31 |
33 protected: | 32 protected: |
34 MediaPipelineBackendManager* media_pipeline_backend_manager() { | 33 MediaPipelineBackendManager* media_pipeline_backend_manager() { |
35 return media_pipeline_backend_manager_; | 34 return media_pipeline_backend_manager_; |
36 } | 35 } |
37 | 36 |
38 private: | 37 private: |
39 media::MediaPipelineBackendManager* const media_pipeline_backend_manager_; | 38 media::MediaPipelineBackendManager* const media_pipeline_backend_manager_; |
40 | 39 |
41 DISALLOW_COPY_AND_ASSIGN(MediaPipelineBackendFactory); | 40 DISALLOW_COPY_AND_ASSIGN(MediaPipelineBackendFactory); |
42 }; | 41 }; |
43 | 42 |
44 } // media | 43 } // media |
45 } // chromecast | 44 } // chromecast |
46 | 45 |
47 #endif // CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_BACKEND_FACTORY_H_ | 46 #endif // CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_BACKEND_FACTORY_H_ |
OLD | NEW |