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_); |