Add support for screenshare content type in scenario tests.

Bug: webrtc:9510
Change-Id: Icd15696e5a57a8e93223933f6ccd23687115e29a
Reviewed-on: https://webrtc-review.googlesource.com/c/110613
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25607}
This commit is contained in:
Sebastian Jansson 2018-11-12 16:33:29 +01:00 committed by Commit Bot
parent 2b101d2c9e
commit 985ee68dc4
2 changed files with 15 additions and 1 deletions

View File

@ -75,6 +75,10 @@ struct PacketStreamConfig {
struct VideoStreamConfig {
bool autostart = true;
struct Source {
enum class ContentType {
kVideo,
kScreen,
} content_type = ContentType::kVideo;
enum Capture {
kGenerator,
kVideoFile,
@ -118,6 +122,7 @@ struct VideoStreamConfig {
~Stream();
bool packet_feedback = true;
bool use_rtx = true;
DataRate pad_to_rate = DataRate::Zero();
TimeDelta nack_history_time = TimeDelta::ms(1000);
bool use_flexfec = false;
bool use_ulpfec = false;

View File

@ -132,11 +132,20 @@ VideoEncoderConfig CreateVideoEncoderConfig(VideoStreamConfig config) {
size_t num_streams = config.encoder.num_simulcast_streams;
VideoEncoderConfig encoder_config;
encoder_config.codec_type = config.encoder.codec;
encoder_config.content_type = VideoEncoderConfig::ContentType::kRealtimeVideo;
switch (config.source.content_type) {
case VideoStreamConfig::Source::ContentType::kVideo:
encoder_config.content_type =
VideoEncoderConfig::ContentType::kRealtimeVideo;
break;
case VideoStreamConfig::Source::ContentType::kScreen:
encoder_config.content_type = VideoEncoderConfig::ContentType::kScreen;
break;
}
encoder_config.video_format =
SdpVideoFormat(CodecTypeToPayloadString(config.encoder.codec), {});
encoder_config.number_of_streams = num_streams;
encoder_config.simulcast_layers = std::vector<VideoStream>(num_streams);
encoder_config.min_transmit_bitrate_bps = config.stream.pad_to_rate.bps();
std::string cricket_codec = CodecTypeToCodecName(config.encoder.codec);
if (!cricket_codec.empty()) {