Chromium Code Reviews| Index: content/renderer/media/video_track_recorder.h |
| diff --git a/content/renderer/media/video_track_recorder.h b/content/renderer/media/video_track_recorder.h |
| index 5e624549224362132c2a842d31db65ae3d0369d6..36d9738d004c7689b12de0c387f81158afe1a99e 100644 |
| --- a/content/renderer/media/video_track_recorder.h |
| +++ b/content/renderer/media/video_track_recorder.h |
| @@ -9,11 +9,17 @@ |
| #include "base/macros.h" |
| #include "base/memory/ref_counted.h" |
| +#include "base/memory/weak_ptr.h" |
| +#include "base/single_thread_task_runner.h" |
| #include "base/threading/thread_checker.h" |
| #include "content/public/common/features.h" |
| #include "content/public/renderer/media_stream_video_sink.h" |
| #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" |
| +namespace base { |
| +class WaitableEvent; |
| +} // namespace base |
| + |
| namespace media { |
| class VideoFrame; |
| } // namespace media |
| @@ -56,15 +62,37 @@ class CONTENT_EXPORT VideoTrackRecorder |
| private: |
| friend class VideoTrackRecorderTest; |
| + void InitializeEncoder(const scoped_refptr<media::VideoFrame>& frame, |
|
mcasas
2016/06/23 00:27:36
Can we call this method
ReceiveFirstFrameOnIOThrea
emircan
2016/06/28 22:10:41
Done.
|
| + base::TimeTicks capture_time); |
| + void InitializeEncoderTask(const scoped_refptr<media::VideoFrame>& frame, |
| + base::TimeTicks capture_time, |
| + base::WaitableEvent* async_waiter); |
| + |
| // Used to check that we are destroyed on the same thread we were created. |
| base::ThreadChecker main_render_thread_checker_; |
| + // Used to post initialization on the same thread we were created. |
| + const scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; |
| + |
| + // Task runner where frame encode callbacks must happen. |
| + scoped_refptr<base::SingleThreadTaskRunner> origin_task_runner_; |
| + |
| // We need to hold on to the Blink track to remove ourselves on dtor. |
| blink::WebMediaStreamTrack track_; |
| // Inner class to encode using whichever codec is configured. |
| scoped_refptr<Encoder> encoder_; |
| + // Parameters that would be passed to the underlying |encoder_|. |
| + const CodecId codec_; |
| + const OnEncodedVideoCB on_encoded_video_callback_; |
| + const int32_t bits_per_second_; |
| + |
| + // Used to track the paused state during the initialization process. |
| + bool paused_before_init_; |
| + |
| + base::WeakPtrFactory<VideoTrackRecorder> weak_ptr_factory_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(VideoTrackRecorder); |
| }; |