| OLD | NEW | 
|   1 // Copyright 2014 The Chromium Authors. All rights reserved. |   1 // Copyright 2014 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_DEVICE_H_ |   5 #ifndef CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_DEVICE_H_ | 
|   6 #define CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_DEVICE_H_ |   6 #define CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_DEVICE_H_ | 
|   7  |   7  | 
 |   8 #include "base/callback.h" | 
|   8 #include "base/macros.h" |   9 #include "base/macros.h" | 
|   9 #include "base/memory/scoped_ptr.h" |  10 #include "base/memory/scoped_ptr.h" | 
|  10  |  11  | 
|  11 namespace chromecast { |  12 namespace chromecast { | 
|  12 namespace media { |  13 namespace media { | 
|  13 class AudioPipelineDevice; |  14 class AudioPipelineDevice; | 
|  14 class MediaClockDevice; |  15 class MediaClockDevice; | 
|  15 class MediaPipelineDeviceParams; |  16 class MediaPipelineDeviceParams; | 
|  16 class VideoPipelineDevice; |  17 class VideoPipelineDevice; | 
|  17  |  18  | 
|  18 // MediaPipelineDevice is the owner of the underlying audio/video/clock |  19 // MediaPipelineDevice is the owner of the underlying audio/video/clock | 
|  19 // devices. |  20 // devices. | 
|  20 class MediaPipelineDevice { |  21 class MediaPipelineDevice { | 
|  21  public: |  22  public: | 
|  22   MediaPipelineDevice(); |  23   MediaPipelineDevice(); | 
|  23   virtual ~MediaPipelineDevice(); |  24   virtual ~MediaPipelineDevice(); | 
|  24  |  25  | 
|  25   virtual AudioPipelineDevice* GetAudioPipelineDevice() const = 0; |  26   virtual AudioPipelineDevice* GetAudioPipelineDevice() const = 0; | 
|  26  |  27  | 
|  27   virtual VideoPipelineDevice* GetVideoPipelineDevice() const = 0; |  28   virtual VideoPipelineDevice* GetVideoPipelineDevice() const = 0; | 
|  28  |  29  | 
|  29   virtual MediaClockDevice* GetMediaClockDevice() const = 0; |  30   virtual MediaClockDevice* GetMediaClockDevice() const = 0; | 
|  30  |  31  | 
|  31  private: |  32  private: | 
|  32   DISALLOW_COPY_AND_ASSIGN(MediaPipelineDevice); |  33   DISALLOW_COPY_AND_ASSIGN(MediaPipelineDevice); | 
|  33 }; |  34 }; | 
|  34  |  35  | 
|  35 // Factory to create a MediaPipelineDevice. |  36 // Factory method to create a MediaPipelineDevice. | 
 |  37 typedef base::Callback<scoped_ptr<MediaPipelineDevice>( | 
 |  38     const MediaPipelineDeviceParams&)> CreatePipelineDeviceCB; | 
 |  39  | 
 |  40 // Direct creation of vendor-specific media device pipeline. | 
 |  41 // TODO(halliwell): move into libcast_media | 
|  36 scoped_ptr<MediaPipelineDevice> CreateMediaPipelineDevice( |  42 scoped_ptr<MediaPipelineDevice> CreateMediaPipelineDevice( | 
|  37     const MediaPipelineDeviceParams& params); |  43     const MediaPipelineDeviceParams& params); | 
|  38  |  44  | 
|  39 }  // namespace media |  45 }  // namespace media | 
|  40 }  // namespace chromecast |  46 }  // namespace chromecast | 
|  41  |  47  | 
|  42 #endif  // CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_DEVICE_H_ |  48 #endif  // CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_PIPELINE_DEVICE_H_ | 
| OLD | NEW |