Updating XTBs based on .GRDs from branch master
[chromium-blink-merge.git] / media / mojo / services / mojo_renderer_factory.cc
blobeb8c2bf9d6cf155c3e618eddf59fab1946937b79
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
3 // found in the LICENSE file.
5 #include "media/mojo/services/mojo_renderer_factory.h"
7 #include "base/single_thread_task_runner.h"
8 #include "media/mojo/interfaces/service_factory.mojom.h"
9 #include "media/mojo/services/mojo_renderer_impl.h"
10 #include "third_party/mojo/src/mojo/public/cpp/bindings/interface_request.h"
12 namespace media {
14 MojoRendererFactory::MojoRendererFactory(
15 interfaces::ServiceFactory* service_factory)
16 : service_factory_(service_factory) {
17 DCHECK(service_factory_);
20 MojoRendererFactory::~MojoRendererFactory() {
23 scoped_ptr<Renderer> MojoRendererFactory::CreateRenderer(
24 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
25 AudioRendererSink* /* audio_renderer_sink */,
26 VideoRendererSink* /* video_renderer_sink */) {
27 DCHECK(service_factory_);
29 interfaces::RendererPtr mojo_renderer;
30 service_factory_->CreateRenderer(mojo::GetProxy(&mojo_renderer));
32 return scoped_ptr<Renderer>(
33 new MojoRendererImpl(media_task_runner, mojo_renderer.Pass()));
36 } // namespace media