Add kPayloadTypeGeneric to CallTest and use it in VideoQualityTest.
- Add CallTest::kPayloadTypeGeneric - Allow for unrecognized codec names in VideoQualityTest. Generic packetization is implicitly enabled for these codecs. Tested: autoninja -C out/Debug && out/Debug/video_loopback Bug: webrtc:10738 Change-Id: I57001be997db2f0eed9197eb40801b5ad936d222 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141864 Commit-Queue: Rasmus Brandt <brandtr@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Michael Horowitz <mhoro@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28270}
This commit is contained in:

committed by
Commit Bot

parent
5740afa0a4
commit
5894b6aad4
@ -59,7 +59,8 @@ class CallTest : public ::testing::Test {
|
||||
kPayloadTypeH264 = 122,
|
||||
kPayloadTypeVP8 = 123,
|
||||
kPayloadTypeVP9 = 124,
|
||||
kFakeVideoSendPayloadType = 125,
|
||||
kPayloadTypeGeneric = 125,
|
||||
kFakeVideoSendPayloadType = 126,
|
||||
};
|
||||
static const uint32_t kSendRtxSsrcs[kNumSsrcs];
|
||||
static const uint32_t kVideoSendSsrcs[kNumSsrcs];
|
||||
|
@ -383,9 +383,12 @@ VideoQualityTest::VideoQualityTest(
|
||||
payload_type_map_.end());
|
||||
RTC_DCHECK(payload_type_map_.find(kPayloadTypeVP9) ==
|
||||
payload_type_map_.end());
|
||||
RTC_DCHECK(payload_type_map_.find(kPayloadTypeGeneric) ==
|
||||
payload_type_map_.end());
|
||||
payload_type_map_[kPayloadTypeH264] = webrtc::MediaType::VIDEO;
|
||||
payload_type_map_[kPayloadTypeVP8] = webrtc::MediaType::VIDEO;
|
||||
payload_type_map_[kPayloadTypeVP9] = webrtc::MediaType::VIDEO;
|
||||
payload_type_map_[kPayloadTypeGeneric] = webrtc::MediaType::VIDEO;
|
||||
|
||||
fec_controller_factory_ =
|
||||
std::move(injection_components_->fec_controller_factory);
|
||||
@ -716,6 +719,7 @@ void VideoQualityTest::SetupVideo(Transport* send_transport,
|
||||
size_t num_video_substreams = params_.ss[0].streams.size();
|
||||
RTC_CHECK(num_video_streams_ > 0);
|
||||
video_encoder_configs_.resize(num_video_streams_);
|
||||
std::string generic_codec_name;
|
||||
for (size_t video_idx = 0; video_idx < num_video_streams_; ++video_idx) {
|
||||
video_send_configs_.push_back(VideoSendStream::Config(send_transport));
|
||||
video_encoder_configs_.push_back(VideoEncoderConfig());
|
||||
@ -737,8 +741,13 @@ void VideoQualityTest::SetupVideo(Transport* send_transport,
|
||||
} else if (params_.video[video_idx].codec == "FakeCodec") {
|
||||
payload_type = kFakeVideoSendPayloadType;
|
||||
} else {
|
||||
RTC_NOTREACHED() << "Codec not supported!";
|
||||
return;
|
||||
RTC_CHECK(generic_codec_name.empty() ||
|
||||
generic_codec_name == params_.video[video_idx].codec)
|
||||
<< "Supplying multiple generic codecs is unsupported.";
|
||||
RTC_LOG(LS_INFO) << "Treating codec " << params_.video[video_idx].codec
|
||||
<< " as generic.";
|
||||
payload_type = kPayloadTypeGeneric;
|
||||
generic_codec_name = params_.video[video_idx].codec;
|
||||
}
|
||||
video_send_configs_[video_idx].encoder_settings.encoder_factory =
|
||||
(video_idx == 0) ? &video_encoder_factory_with_analyzer_
|
||||
|
Reference in New Issue
Block a user