Chromium Code Reviews| Index: webrtc/modules/video_coding/codecs/vp8/screenshare_layers.cc |
| diff --git a/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.cc b/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.cc |
| index feb8da9f28c43e935928f51c21384204bb2c66ef..930f13fc58a2b02c7ccc011bc12a03be691dd098 100644 |
| --- a/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.cc |
| +++ b/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.cc |
| @@ -55,8 +55,14 @@ webrtc::TemporalLayers* ScreenshareTemporalLayersFactory::Create( |
| int simulcast_id, |
| int num_temporal_layers, |
| uint8_t initial_tl0_pic_idx) const { |
| - webrtc::TemporalLayers* tl = new webrtc::ScreenshareLayers( |
| - num_temporal_layers, rand(), webrtc::Clock::GetRealTimeClock()); |
| + webrtc::TemporalLayers* tl; |
| + if (simulcast_id == 0) { |
| + tl = new webrtc::ScreenshareLayers(num_temporal_layers, rand(), |
| + webrtc::Clock::GetRealTimeClock()); |
| + } else { |
| + RealTimeTemporalLayersFactory rt_tl_factory; |
| + tl = rt_tl_factory.Create(simulcast_id, num_temporal_layers, rand()); |
| + } |
| if (listener_) |
| listener_->OnTemporalLayersCreated(simulcast_id, tl); |
| return tl; |
| @@ -66,7 +72,7 @@ ScreenshareLayers::ScreenshareLayers(int num_temporal_layers, |
| uint8_t initial_tl0_pic_idx, |
| Clock* clock) |
| : clock_(clock), |
| - number_of_temporal_layers_(num_temporal_layers), |
| + number_of_temporal_layers_(std::min(2, num_temporal_layers)), |
|
åsapersson
2017/01/16 13:43:50
maybe add a constant for 2
sprang_webrtc
2017/01/16 16:39:10
Done.
|
| last_base_layer_sync_(false), |
| tl0_pic_idx_(initial_tl0_pic_idx), |
| active_layer_(-1), |
| @@ -78,8 +84,8 @@ ScreenshareLayers::ScreenshareLayers(int num_temporal_layers, |
| max_debt_bytes_(0), |
| encode_framerate_(1000.0f, 1000.0f), // 1 second window, second scale. |
| bitrate_updated_(false) { |
| - RTC_CHECK_GT(num_temporal_layers, 0); |
| - RTC_CHECK_LE(num_temporal_layers, 2); |
| + RTC_CHECK_GT(number_of_temporal_layers_, 0); |
| + RTC_CHECK_LE(number_of_temporal_layers_, 2); |
| } |
| ScreenshareLayers::~ScreenshareLayers() { |