Chromium Code Reviews| Index: content/renderer/media/webrtc/webrtc_video_capturer_adapter.h |
| diff --git a/content/renderer/media/webrtc/webrtc_video_capturer_adapter.h b/content/renderer/media/webrtc/webrtc_video_capturer_adapter.h |
| index 033c2cdaaa661fc37d79a720dc371a583e77e839..c2cabb451fc84714e0803258db70b1b25a46bedc 100644 |
| --- a/content/renderer/media/webrtc/webrtc_video_capturer_adapter.h |
| +++ b/content/renderer/media/webrtc/webrtc_video_capturer_adapter.h |
| @@ -13,13 +13,21 @@ |
| #include "base/macros.h" |
| #include "base/threading/thread_checker.h" |
| #include "content/common/content_export.h" |
| +#include "content/renderer/media/webrtc/webrtc_video_frame_adapter.h" |
| #include "media/base/video_capture_types.h" |
| #include "media/base/video_frame.h" |
| #include "media/base/video_frame_pool.h" |
| +#include "media/renderers/skcanvas_video_renderer.h" |
| #include "third_party/webrtc/media/base/videocapturer.h" |
| +namespace base { |
| +class WaitableEvent; |
| +} // namespace base |
| + |
| namespace content { |
| +class ContextProviderCommandBuffer; |
| + |
| // WebRtcVideoCapturerAdapter implements a simple cricket::VideoCapturer that is |
| // used for VideoCapturing in libJingle and especially in PeerConnections. |
| // The class is created and destroyed on the main render thread. |
| @@ -51,6 +59,18 @@ class CONTENT_EXPORT WebRtcVideoCapturerAdapter |
| cricket::VideoFormat* best_format) override; |
| bool IsScreencast() const override; |
| + void CopyTextureFrame( |
| + const scoped_refptr<media::VideoFrame>& frame, |
| + scoped_refptr<media::VideoFrame>* new_frame); |
| + void CopyTextureFrameOnMainThread( |
| + const scoped_refptr<media::VideoFrame>& frame, |
| + scoped_refptr<media::VideoFrame>* new_frame, |
| + base::WaitableEvent* waiter); |
|
mcasas
2016/10/26 16:06:02
I see with worry the existence of |base::WaitableE
emircan
2016/10/27 00:37:56
I added comments explaining it. Unfortunately, I c
|
| + const scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_; |
| + const scoped_refptr<ContextProviderCommandBuffer> provider_; |
| + media::SkCanvasVideoRenderer canvas_video_renderer_; |
| + WebRtcVideoFrameAdapter::CopyTextureFrameCallback copy_texture_callback_; |
| + |
| // |thread_checker_| is bound to the libjingle worker thread. |
| base::ThreadChecker thread_checker_; |
| @@ -59,6 +79,8 @@ class CONTENT_EXPORT WebRtcVideoCapturerAdapter |
| media::VideoFramePool scaled_frame_pool_; |
| + base::WeakPtrFactory<WebRtcVideoCapturerAdapter> weak_factory_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(WebRtcVideoCapturerAdapter); |
| }; |