Upload upstream chromium 120.0.6099.5
[platform/framework/web/chromium-efl.git] / media / renderers / decrypting_renderer_factory.cc
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.
4
5 #include "media/renderers/decrypting_renderer_factory.h"
6
7 #include "base/task/sequenced_task_runner.h"
8 #include "media/base/media_log.h"
9 #include "media/renderers/decrypting_renderer.h"
10
11 namespace media {
12
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)) {}
17
18 DecryptingRendererFactory::~DecryptingRendererFactory() = default;
19
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),
30       target_color_space);
31
32   return std::make_unique<DecryptingRenderer>(std::move(renderer), media_log_,
33                                               media_task_runner);
34 }
35
36 }  // namespace media