Index: webrtc/media/base/mediachannel.h |
diff --git a/webrtc/media/base/mediachannel.h b/webrtc/media/base/mediachannel.h |
index badec464cdbbb847a3eb624c1831ffa775a7488a..0d3cf3fa3051e09602d1fb4da72b1f41c35be619 100644 |
--- a/webrtc/media/base/mediachannel.h |
+++ b/webrtc/media/base/mediachannel.h |
@@ -87,30 +87,38 @@ struct MediaConfig { |
// PeerConnection constraint 'googDscp'. |
bool enable_dscp = false; |
- // Video-specific config |
- |
- // Enable WebRTC CPU Overuse Detection. This flag comes from the |
- // PeerConnection constraint 'googCpuOveruseDetection' and is |
- // checked in WebRtcVideoChannel2::OnLoadUpdate, where it's passed |
- // to VideoCapturer::video_adapter()->OnCpuResolutionRequest. |
- bool enable_cpu_overuse_detection = true; |
- |
- // Set to true if the renderer has an algorithm of frame selection. |
- // If the value is true, then WebRTC will hand over a frame as soon as |
- // possible without delay, and rendering smoothness is completely the duty |
- // of the renderer; |
- // If the value is false, then WebRTC is responsible to delay frame release |
- // in order to increase rendering smoothness. |
- // |
- // This flag comes from PeerConnection's RtcConfiguration, but is |
- // currently only set by the command line flag |
- // 'disable-rtc-smoothness-algorithm'. |
- // WebRtcVideoChannel2::AddRecvStream copies it to the created |
- // WebRtcVideoReceiveStream, where it is returned by the |
- // SmoothsRenderedFrames method. This method is used by the |
- // VideoReceiveStream, where the value is passed on to the |
- // IncomingVideoStream constructor. |
- bool disable_prerenderer_smoothing = false; |
+ // Video-specific config. |
+ struct Video { |
+ // Enable WebRTC CPU Overuse Detection. This flag comes from the |
+ // PeerConnection constraint 'googCpuOveruseDetection' and is |
+ // checked in WebRtcVideoChannel2::OnLoadUpdate, where it's passed |
+ // to VideoCapturer::video_adapter()->OnCpuResolutionRequest. |
+ bool enable_cpu_overuse_detection = true; |
+ |
+ // Enable WebRTC suspension of video. No video frames will be sent |
+ // when the bitrate is below the configured minimum bitrate. This |
+ // flag comes from the PeerConnection constraint |
+ // 'googSuspendBelowMinBitrate', and WebRtcVideoChannel2 copies it |
+ // to VideoSendStream::Config::suspend_below_min_bitrate. |
+ bool suspend_below_min_bitrate = false; |
+ |
+ // Set to true if the renderer has an algorithm of frame selection. |
+ // If the value is true, then WebRTC will hand over a frame as soon as |
+ // possible without delay, and rendering smoothness is completely the duty |
+ // of the renderer; |
+ // If the value is false, then WebRTC is responsible to delay frame release |
+ // in order to increase rendering smoothness. |
+ // |
+ // This flag comes from PeerConnection's RtcConfiguration, but is |
+ // currently only set by the command line flag |
+ // 'disable-rtc-smoothness-algorithm'. |
+ // WebRtcVideoChannel2::AddRecvStream copies it to the created |
+ // WebRtcVideoReceiveStream, where it is returned by the |
+ // SmoothsRenderedFrames method. This method is used by the |
+ // VideoReceiveStream, where the value is passed on to the |
+ // IncomingVideoStream constructor. |
+ bool disable_prerenderer_smoothing = false; |
+ } video; |
}; |
// Options that can be applied to a VoiceMediaChannel or a VoiceMediaEngine. |
@@ -249,13 +257,11 @@ struct AudioOptions { |
struct VideoOptions { |
void SetAll(const VideoOptions& change) { |
SetFrom(&video_noise_reduction, change.video_noise_reduction); |
- SetFrom(&suspend_below_min_bitrate, change.suspend_below_min_bitrate); |
SetFrom(&screencast_min_bitrate_kbps, change.screencast_min_bitrate_kbps); |
} |
bool operator==(const VideoOptions& o) const { |
return video_noise_reduction == o.video_noise_reduction && |
- suspend_below_min_bitrate == o.suspend_below_min_bitrate && |
screencast_min_bitrate_kbps == o.screencast_min_bitrate_kbps; |
} |
@@ -263,8 +269,6 @@ struct VideoOptions { |
std::ostringstream ost; |
ost << "VideoOptions {"; |
ost << ToStringIfSet("noise reduction", video_noise_reduction); |
- ost << ToStringIfSet("suspend below min bitrate", |
- suspend_below_min_bitrate); |
ost << ToStringIfSet("screencast min bitrate kbps", |
screencast_min_bitrate_kbps); |
ost << "}"; |
@@ -275,12 +279,6 @@ struct VideoOptions { |
// constraint 'googNoiseReduction', and WebRtcVideoEngine2 passes it |
// on to the codec options. Disabled by default. |
rtc::Optional<bool> video_noise_reduction; |
- // Enable WebRTC suspension of video. No video frames will be sent |
- // when the bitrate is below the configured minimum bitrate. This |
- // flag comes from the PeerConnection constraint |
- // 'googSuspendBelowMinBitrate', and WebRtcVideoChannel2 copies it |
- // to VideoSendStream::Config::suspend_below_min_bitrate. |
- rtc::Optional<bool> suspend_below_min_bitrate; |
// Force screencast to use a minimum bitrate. This flag comes from |
// the PeerConnection constraint 'googScreencastMinBitrate'. It is |
// copied to the encoder config by WebRtcVideoChannel2. |