Add ianwen to watch list for related projects
[chromium-blink-merge.git] / chromecast / media / cma / backend / media_pipeline_device_factory_default.cc
blob78663fe49623d903753d0de3e60ed054bc7cf0c6
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chromecast/media/cma/backend/media_pipeline_device_factory_default.h"
7 #include "chromecast/media/cma/backend/audio_pipeline_device_default.h"
8 #include "chromecast/media/cma/backend/media_clock_device_default.h"
9 #include "chromecast/media/cma/backend/video_pipeline_device_default.h"
11 namespace chromecast {
12 namespace media {
14 MediaPipelineDeviceFactoryDefault::MediaPipelineDeviceFactoryDefault()
15 : clock_(nullptr) {
18 scoped_ptr<MediaClockDevice>
19 MediaPipelineDeviceFactoryDefault::CreateMediaClockDevice() {
20 DCHECK(!clock_);
21 clock_ = new MediaClockDeviceDefault();
22 return make_scoped_ptr(clock_);
25 scoped_ptr<AudioPipelineDevice>
26 MediaPipelineDeviceFactoryDefault::CreateAudioPipelineDevice() {
27 DCHECK(clock_);
28 return make_scoped_ptr(new AudioPipelineDeviceDefault(clock_));
31 scoped_ptr<VideoPipelineDevice>
32 MediaPipelineDeviceFactoryDefault::CreateVideoPipelineDevice() {
33 DCHECK(clock_);
34 return make_scoped_ptr(new VideoPipelineDeviceDefault(clock_));
37 } // namespace media
38 } // namespace chromecast