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

Side by Side Diff: content/renderer/media/media_stream_video_renderer_sink.h

Issue 2529263004: Move passing of WebRTC rendering frames to IO thread (Closed)
Patch Set: Created 4 years 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_MEDIA_RTC_VIDEO_RENDERER_H_ 5 #ifndef CONTENT_RENDERER_MEDIA_RTC_VIDEO_RENDERER_H_
6 #define CONTENT_RENDERER_MEDIA_RTC_VIDEO_RENDERER_H_ 6 #define CONTENT_RENDERER_MEDIA_RTC_VIDEO_RENDERER_H_
7 7
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/threading/thread_checker.h" 10 #include "base/threading/thread_checker.h"
(...skipping 29 matching lines...) Expand all
40 // http://src.chromium.org/viewvc/chrome/trunk/src/content/renderer/media/rtc_vi 40 // http://src.chromium.org/viewvc/chrome/trunk/src/content/renderer/media/rtc_vi
41 // deo_decoder_unittest.cc?revision=180591&view=markup 41 // deo_decoder_unittest.cc?revision=180591&view=markup
42 class CONTENT_EXPORT MediaStreamVideoRendererSink 42 class CONTENT_EXPORT MediaStreamVideoRendererSink
43 : NON_EXPORTED_BASE(public MediaStreamVideoRenderer), 43 : NON_EXPORTED_BASE(public MediaStreamVideoRenderer),
44 NON_EXPORTED_BASE(public MediaStreamVideoSink) { 44 NON_EXPORTED_BASE(public MediaStreamVideoSink) {
45 public: 45 public:
46 MediaStreamVideoRendererSink( 46 MediaStreamVideoRendererSink(
47 const blink::WebMediaStreamTrack& video_track, 47 const blink::WebMediaStreamTrack& video_track,
48 const base::Closure& error_cb, 48 const base::Closure& error_cb,
49 const MediaStreamVideoRenderer::RepaintCB& repaint_cb, 49 const MediaStreamVideoRenderer::RepaintCB& repaint_cb,
50 const scoped_refptr<base::SingleThreadTaskRunner>& compositor_task_runner,
51 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, 50 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
52 const scoped_refptr<base::TaskRunner>& worker_task_runner, 51 const scoped_refptr<base::TaskRunner>& worker_task_runner,
53 media::GpuVideoAcceleratorFactories* gpu_factories); 52 media::GpuVideoAcceleratorFactories* gpu_factories);
54 53
55 // MediaStreamVideoRenderer implementation. Called on the main thread. 54 // MediaStreamVideoRenderer implementation. Called on the main thread.
56 void Start() override; 55 void Start() override;
57 void Stop() override; 56 void Stop() override;
58 void Resume() override; 57 void Resume() override;
59 void Pause() override; 58 void Pause() override;
60 59
(...skipping 23 matching lines...) Expand all
84 83
85 // Inner class used for trampolining received frames from IO thread to 84 // Inner class used for trampolining received frames from IO thread to
86 // compositor thread. 85 // compositor thread.
87 class FrameReceiver; 86 class FrameReceiver;
88 std::unique_ptr<FrameReceiver> frame_receiver_; 87 std::unique_ptr<FrameReceiver> frame_receiver_;
89 // Inner class used for transfering frames on compositor thread and running 88 // Inner class used for transfering frames on compositor thread and running
90 // |repaint_cb_|. 89 // |repaint_cb_|.
91 class FrameDeliverer; 90 class FrameDeliverer;
92 std::unique_ptr<FrameDeliverer> frame_deliverer_; 91 std::unique_ptr<FrameDeliverer> frame_deliverer_;
93 92
94 const scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_;
95 const scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_; 93 const scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_;
96 const scoped_refptr<base::TaskRunner> worker_task_runner_; 94 const scoped_refptr<base::TaskRunner> worker_task_runner_;
97 media::GpuVideoAcceleratorFactories* const gpu_factories_; 95 media::GpuVideoAcceleratorFactories* const gpu_factories_;
98 96
99 base::ThreadChecker main_thread_checker_; 97 base::ThreadChecker main_thread_checker_;
100 98
101 DISALLOW_COPY_AND_ASSIGN(MediaStreamVideoRendererSink); 99 DISALLOW_COPY_AND_ASSIGN(MediaStreamVideoRendererSink);
102 }; 100 };
103 101
104 } // namespace content 102 } // namespace content
105 103
106 #endif // CONTENT_RENDERER_MEDIA_RTC_VIDEO_RENDERER_H_ 104 #endif // CONTENT_RENDERER_MEDIA_RTC_VIDEO_RENDERER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698