Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(113)

Unified Diff: webrtc/media/base/mediachannel.h

Issue 1745003002: Move suspend_below_min_bitrate from VideoOptions to MediaConfig. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698