Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(336)

Side by Side Diff: media/mojo/services/mojo_video_renderer_sink_adapter.h

Issue 2643713003: Allow to use the DefaultRendererFactory from a Utility Process (Closed)
Patch Set: Rebase Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 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.
4
5 #ifndef MEDIA_MOJO_SERVICES_MOJO_VIDEO_RENDERER_SINK_ADAPTER_H_
6 #define MEDIA_MOJO_SERVICES_MOJO_VIDEO_RENDERER_SINK_ADAPTER_H_
7
8 #include "media/base/video_renderer_sink.h"
9 #include "media/mojo/interfaces/video_renderer_sink.mojom.h"
10 #include "media/mojo/services/media_mojo_export.h"
11 #include "mojo/public/cpp/bindings/associated_binding.h"
12
13 namespace media {
14
15 class SingleThreadTaskRunner;
16
17 class MEDIA_MOJO_EXPORT MojoVideoRendererSinkAdapter
18 : public media::VideoRendererSink,
19 public mojom::VideoRendererSinkRenderCallback {
20 public:
21 MojoVideoRendererSinkAdapter(
22 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner);
23
24 ~MojoVideoRendererSinkAdapter() final;
25
26 void Initialize(mojom::VideoRendererSinkPtr sink);
27
28 // VideoRendererSink implementation.
29 void Start(media::VideoRendererSink::RenderCallback* callback) override;
30 void Stop() override;
31 void PaintSingleFrame(const scoped_refptr<VideoFrame>& frame,
32 bool repaint_duplicate_frame = false) override;
33
34 // mojom::VideoRendererSinkRenderCallback implementation.
35 void Render(
36 base::TimeTicks deadline_min,
37 base::TimeTicks deadline_max,
38 bool background_rendering,
39 const media::mojom::VideoRendererSinkRenderCallback::RenderCallback&
40 callback) final;
41 void OnFrameDropped() final;
42
43 private:
44 mojo::AssociatedBinding<mojom::VideoRendererSinkRenderCallback> binding_;
45 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
46 bool started_;
47 media::VideoRendererSink::RenderCallback* render_callback_;
48 mojom::VideoRendererSinkPtr sink_;
49 };
50
51 } // namespace media
52
53 #endif // MEDIA_MOJO_SERVICES_MOJO_VIDEO_RENDERER_SINK_ADAPTER_H_
OLDNEW
« no previous file with comments | « media/mojo/services/mojo_renderer_service.cc ('k') | media/mojo/services/mojo_video_renderer_sink_adapter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698