| 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.
 | 
| 
 |