Index: talk/media/base/mediachannel.h |
diff --git a/talk/media/base/mediachannel.h b/talk/media/base/mediachannel.h |
index fb828ef6c65ab965eaf120f038949666dc1d8b56..3f661e189c15a88b5f21b21aa2282eb759e59e98 100644 |
--- a/talk/media/base/mediachannel.h |
+++ b/talk/media/base/mediachannel.h |
@@ -267,6 +267,7 @@ struct VideoOptions { |
change.unsignalled_recv_stream_limit); |
SetFrom(&use_simulcast_adapter, change.use_simulcast_adapter); |
SetFrom(&screencast_min_bitrate, change.screencast_min_bitrate); |
+ renderer_has_time_control = change.renderer_has_time_control; |
} |
bool operator==(const VideoOptions& o) const { |
@@ -293,7 +294,8 @@ struct VideoOptions { |
suspend_below_min_bitrate == o.suspend_below_min_bitrate && |
unsignalled_recv_stream_limit == o.unsignalled_recv_stream_limit && |
use_simulcast_adapter == o.use_simulcast_adapter && |
- screencast_min_bitrate == o.screencast_min_bitrate; |
+ screencast_min_bitrate == o.screencast_min_bitrate && |
+ renderer_has_time_control == o.renderer_has_time_control; |
} |
std::string ToString() const { |
@@ -379,6 +381,13 @@ struct VideoOptions { |
rtc::Optional<bool> use_simulcast_adapter; |
// Force screencast to use a minimum bitrate |
rtc::Optional<int> screencast_min_bitrate; |
+ // 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. |
+ bool renderer_has_time_control; |
private: |
template <typename T> |