Index: webrtc/video/screenshare_loopback.cc |
diff --git a/webrtc/video/screenshare_loopback.cc b/webrtc/video/screenshare_loopback.cc |
index a221e9c52f14e44797b853ac2fa5b655b9a8f25a..6b1d6d421335bcda29e334a673ebbb1a735d1f5e 100644 |
--- a/webrtc/video/screenshare_loopback.cc |
+++ b/webrtc/video/screenshare_loopback.cc |
@@ -163,6 +163,9 @@ class ScreenshareLoopback : public test::Loopback { |
CHECK_LT(config.tl_discard_threshold, config.num_temporal_layers); |
CHECK_LT(config.sl_discard_threshold, config.num_spatial_layers); |
+ h264_settings_ = VideoEncoder::GetDefaultH264Settings(); |
+ h264_settings_.frameDroppingOn = false; |
+ |
vp8_settings_ = VideoEncoder::GetDefaultVp8Settings(); |
vp8_settings_.denoisingOn = false; |
vp8_settings_.frameDroppingOn = false; |
@@ -186,7 +189,10 @@ class ScreenshareLoopback : public test::Loopback { |
encoder_config.content_type = VideoEncoderConfig::ContentType::kScreen; |
encoder_config.min_transmit_bitrate_bps = flags::MinTransmitBitrate(); |
int num_temporal_layers; |
- if (config_.codec == "VP8") { |
+ if (config_.codec == "H264") { |
+ encoder_config.encoder_specific_settings = &h264_settings_; |
+ num_temporal_layers = 1; |
+ } else if (config_.codec == "VP8") { |
encoder_config.encoder_specific_settings = &vp8_settings_; |
num_temporal_layers = vp8_settings_.numberOfTemporalLayers; |
} else if (config_.codec == "VP9") { |
@@ -234,6 +240,7 @@ class ScreenshareLoopback : public test::Loopback { |
return capturer; |
} |
+ VideoCodecH264 h264_settings_; |
VideoCodecVP8 vp8_settings_; |
VideoCodecVP9 vp9_settings_; |
}; |