1 // Copyright 2019 The Chromium Authors
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/renderers/decrypting_renderer_factory.h"
7 #include "base/task/sequenced_task_runner.h"
8 #include "media/base/media_log.h"
9 #include "media/renderers/decrypting_renderer.h"
13 DecryptingRendererFactory::DecryptingRendererFactory(
14 media::MediaLog* media_log,
15 std::unique_ptr<media::RendererFactory> renderer_factory)
16 : media_log_(media_log), renderer_factory_(std::move(renderer_factory)) {}
18 DecryptingRendererFactory::~DecryptingRendererFactory() = default;
20 std::unique_ptr<Renderer> DecryptingRendererFactory::CreateRenderer(
21 const scoped_refptr<base::SequencedTaskRunner>& media_task_runner,
22 const scoped_refptr<base::TaskRunner>& worker_task_runner,
23 AudioRendererSink* audio_renderer_sink,
24 VideoRendererSink* video_renderer_sink,
25 RequestOverlayInfoCB request_overlay_info_cb,
26 const gfx::ColorSpace& target_color_space) {
27 std::unique_ptr<media::Renderer> renderer = renderer_factory_->CreateRenderer(
28 media_task_runner, worker_task_runner, audio_renderer_sink,
29 video_renderer_sink, std::move(request_overlay_info_cb),
32 return std::make_unique<DecryptingRenderer>(std::move(renderer), media_log_,