| 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..11d2cd64dbc1760836bf48e409a4152a93c94f4d 100644
|
| --- a/content/renderer/media/video_track_recorder.h
|
| +++ b/content/renderer/media/video_track_recorder.h
|
| @@ -9,6 +9,8 @@
|
|
|
| #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"
|
| @@ -56,15 +58,41 @@ class CONTENT_EXPORT VideoTrackRecorder
|
| private:
|
| friend class VideoTrackRecorderTest;
|
|
|
| + void ReceiveFirstFrameOnIOThread(
|
| + const scoped_refptr<media::VideoFrame>& frame,
|
| + base::TimeTicks capture_time);
|
| + void InitializeEncoderOnMainThread(
|
| + const scoped_refptr<media::VideoFrame>& frame,
|
| + base::TimeTicks capture_time);
|
| +
|
| // 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_;
|
| +
|
| + // Used to mark that initialization task is posted.
|
| + bool is_first_frame_received_for_initialization_;
|
| +
|
| + base::WeakPtrFactory<VideoTrackRecorder> weak_ptr_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(VideoTrackRecorder);
|
| };
|
|
|
|
|