| Index: webrtc/video/vie_encoder.h
|
| diff --git a/webrtc/video/vie_encoder.h b/webrtc/video/vie_encoder.h
|
| index 41968444fadf57d39b44b455cc195d676ebb0897..68f043e1c5818e876b5e0166deab1dbc785ab325 100644
|
| --- a/webrtc/video/vie_encoder.h
|
| +++ b/webrtc/video/vie_encoder.h
|
| @@ -21,6 +21,7 @@
|
| #include "webrtc/base/task_queue.h"
|
| #include "webrtc/call.h"
|
| #include "webrtc/common_types.h"
|
| +#include "webrtc/common_video/rotation.h"
|
| #include "webrtc/media/base/videosinkinterface.h"
|
| #include "webrtc/modules/video_coding/include/video_coding_defines.h"
|
| #include "webrtc/modules/video_coding/utility/simulcast_rate_allocator.h"
|
| @@ -102,8 +103,24 @@ class ViEEncoder : public rtc::VideoSinkInterface<VideoFrame>,
|
| class EncodeTask;
|
| class VideoSourceProxy;
|
|
|
| + struct VideoFrameInfo {
|
| + VideoFrameInfo(int width,
|
| + int height,
|
| + VideoRotation rotation,
|
| + 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;
|
| @@ -138,7 +155,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_);
|
| @@ -159,6 +175,10 @@ class ViEEncoder : public rtc::VideoSinkInterface<VideoFrame>,
|
| std::unique_ptr<SimulcastRateAllocator> rate_allocator_
|
| 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_);
|
| uint32_t encoder_start_bitrate_bps_ ACCESS_ON(&encoder_queue_);
|
| size_t max_data_payload_length_ ACCESS_ON(&encoder_queue_);
|
| uint32_t last_observed_bitrate_bps_ ACCESS_ON(&encoder_queue_);
|
|
|