Index: talk/app/webrtc/mediacontroller.h |
diff --git a/talk/app/webrtc/mediacontroller.h b/talk/app/webrtc/mediacontroller.h |
index 1b51be7ca2872f762f5708e1c94d402a554e8434..db2406e481a276ad24575c3744fa7bb1d4ff104b 100644 |
--- a/talk/app/webrtc/mediacontroller.h |
+++ b/talk/app/webrtc/mediacontroller.h |
@@ -38,17 +38,51 @@ namespace webrtc { |
class Call; |
class VoiceEngine; |
+// Construction-time settings, passedon when creating MediaChannels. |
pthatcher1
2016/02/05 17:11:30
passedon => passed on
nisse-webrtc
2016/02/08 09:02:32
Done.
|
+struct MediaConfig { |
+ // Set DSCP value for packet sent from media channel. This flag |
pthatcher1
2016/02/05 17:11:30
DSCP value for packet => DSCP on packets
from med
nisse-webrtc
2016/02/08 09:02:32
Done.
|
+ // comes from the PeerConnection constraint 'googDscp'. |
+ bool enable_dscp = false; |
+ |
+ // Video-specific config |
+ |
+ // Enable WebRTC Cpu Overuse Detection. This flag comes from the |
pthatcher1
2016/02/05 17:11:30
Cpu => CPU
nisse-webrtc
2016/02/08 09:02:32
Done.
|
+ // PeerConnection constraint 'googCpuOveruseDetection' and is |
+ // checked in WebRtcVideoChannel2::OnLoadUpdate, where it's passed |
+ // to VideoCapturer::video_adapter()->OnCpuResolutionRequest. |
+ bool cpu_overuse_detection = true; |
pthatcher1
2016/02/05 17:11:30
Please provide a blank line here
pthatcher1
2016/02/05 17:11:30
To be consistent, shouldn't this be enable_cpu_ove
nisse-webrtc
2016/02/08 09:02:32
Makes sense. (I just moved it over from VideoOptio
|
+ // 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; |
+}; |
+ |
// The MediaController currently owns shared state between media channels, but |
// in the future will create and own RtpSenders and RtpReceivers. |
class MediaControllerInterface { |
public: |
static MediaControllerInterface* Create( |
rtc::Thread* worker_thread, |
+ const MediaConfig& config, |
pthatcher1
2016/02/05 17:11:30
I think it should be the first argument.
nisse-webrtc
2016/02/08 09:02:32
Done.
|
cricket::ChannelManager* channel_manager); |
virtual ~MediaControllerInterface() {} |
virtual webrtc::Call* call_w() = 0; |
virtual cricket::ChannelManager* channel_manager() const = 0; |
+ // TODO(nisse): Reference or pointer? |
pthatcher1
2016/02/05 17:11:30
Reference (or copy; it's so small it doesn't matte
nisse-webrtc
2016/02/08 09:02:32
Done.
|
+ virtual const MediaConfig* config() const = 0; |
}; |
} // namespace webrtc |