Index: webrtc/video/video_send_stream.h |
diff --git a/webrtc/video/video_send_stream.h b/webrtc/video/video_send_stream.h |
index 8b3d064f3e34988f352a7a15ec3fa75f2d9cd3c2..185f5a5f753d25a87711c925b1d8a8cc2ed263c9 100644 |
--- a/webrtc/video/video_send_stream.h |
+++ b/webrtc/video/video_send_stream.h |
@@ -15,6 +15,7 @@ |
#include <vector> |
#include "webrtc/call/bitrate_allocator.h" |
+#include "webrtc/base/criticalsection.h" |
#include "webrtc/call.h" |
#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h" |
#include "webrtc/video/encoded_frame_callback_adapter.h" |
@@ -82,6 +83,10 @@ class VideoSendStream : public webrtc::VideoSendStream, |
int64_t rtt) override; |
private: |
+ struct EncoderSettings { |
+ VideoCodec video_codec; |
+ int min_transmit_bitrate_bps; |
+ }; |
static bool EncoderThreadFunction(void* obj); |
void EncoderProcess(); |
@@ -101,6 +106,9 @@ class VideoSendStream : public webrtc::VideoSendStream, |
rtc::PlatformThread encoder_thread_; |
rtc::Event encoder_wakeup_event_; |
volatile int stop_encoder_thread_; |
+ rtc::CriticalSection encoder_settings_crit_; |
+ rtc::Optional<EncoderSettings> pending_encoder_settings_ |
+ GUARDED_BY(encoder_settings_crit_); |
OveruseFrameDetector overuse_detector_; |
PayloadRouter payload_router_; |