Chromium Code Reviews| Index: webrtc/video/vie_encoder.h |
| diff --git a/webrtc/video/vie_encoder.h b/webrtc/video/vie_encoder.h |
| index 5b02b3e29081979a6744464407b6ec3c2b474fa2..e7771d6f1ef35562af0d02a62c97c9eedc942f94 100644 |
| --- a/webrtc/video/vie_encoder.h |
| +++ b/webrtc/video/vie_encoder.h |
| @@ -98,11 +98,27 @@ class ViEEncoder : public rtc::VideoSinkInterface<VideoFrame>, |
| private: |
| class EncodeTask; |
| - class VideoSourceProxy; |
| class ConfigureEncoderTask; |
| + class VideoSourceProxy; |
| + |
| + struct VideoFrameInfo { |
| + VideoFrameInfo(int width, |
| + int height, |
| + VideoRotation rotation, |
|
mflodman
2016/09/27 11:28:01
Should include webrtc/common_video/rotation.h.
perkj_webrtc
2016/09/27 13:45:17
Done.
|
| + bool is_texture) |
| + : width(width), |
| + height(height), |
| + rotation(rotation), |
| + is_texture(is_texture) {} |
| + int width; |
| + int height; |
| + webrtc::VideoRotation rotation; |
| + bool is_texture; |
| + }; |
| void ConfigureEncoderOnTaskQueue(VideoEncoderConfig config, |
| size_t max_data_payload_length); |
| + void ReconfigureEncoder(); |
| // Implements VideoSinkInterface. |
| void OnFrame(const VideoFrame& video_frame) override; |
| @@ -137,7 +153,6 @@ class ViEEncoder : public rtc::VideoSinkInterface<VideoFrame>, |
| const VideoSendStream::Config::EncoderSettings settings_; |
| const VideoCodecType codec_type_; |
| - const std::unique_ptr<VideoProcessing> vp_; |
| vcm::VideoSender video_sender_ ACCESS_ON(&encoder_queue_); |
| OveruseFrameDetector overuse_detector_ ACCESS_ON(&encoder_queue_); |
| @@ -153,7 +168,12 @@ class ViEEncoder : public rtc::VideoSinkInterface<VideoFrame>, |
| VideoEncoderConfig encoder_config_ ACCESS_ON(&encoder_queue_); |
| - uint32_t encoder_start_bitrate_bps_ ACCESS_ON(&encoder_queue_); |
| + // Set when ConfigureEncoder has been called in order to lazy reconfigure the |
| + // encoder on the next frame. |
| + bool pending_encoder_reconfiguration_ ACCESS_ON(&encoder_queue_); |
| + rtc::Optional<VideoFrameInfo> last_frame_info_ ACCESS_ON(&encoder_queue_); |
| + |
| + unsigned int encoder_start_bitrate_bps_ ACCESS_ON(&encoder_queue_); |
|
mflodman
2016/09/27 11:28:01
uint32_t ?
perkj_webrtc
2016/09/27 13:45:17
Done.
|
| size_t max_data_payload_length_ ACCESS_ON(&encoder_queue_); |
| uint32_t last_observed_bitrate_bps_ ACCESS_ON(&encoder_queue_); |
| bool encoder_paused_and_dropped_frame_ ACCESS_ON(&encoder_queue_); |