diff --git a/webrtc/call/bitrate_estimator_tests.cc b/webrtc/call/bitrate_estimator_tests.cc index 54a78ea17c..3ce96f614a 100644 --- a/webrtc/call/bitrate_estimator_tests.cc +++ b/webrtc/call/bitrate_estimator_tests.cc @@ -210,6 +210,7 @@ class BitrateEstimatorTest : public test::CallTest { test_->send_config_.encoder_settings.payload_type; decoder.payload_name = test_->send_config_.encoder_settings.payload_name; + test_->receive_config_.decoders.clear(); test_->receive_config_.decoders.push_back(decoder); test_->receive_config_.rtp.remote_ssrc = test_->send_config_.rtp.ssrcs[0]; diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc index 850848e422..4d606ef65b 100644 --- a/webrtc/video/video_receive_stream.cc +++ b/webrtc/video/video_receive_stream.cc @@ -259,9 +259,15 @@ VideoReceiveStream::VideoReceiveStream( vie_channel_->RegisterRtcpPacketTypeCounterObserver(stats_proxy_.get()); RTC_DCHECK(!config_.decoders.empty()); + std::set decoder_payload_types; for (size_t i = 0; i < config_.decoders.size(); ++i) { const Decoder& decoder = config_.decoders[i]; RTC_CHECK(decoder.decoder); + RTC_CHECK(decoder_payload_types.find(decoder.payload_type) == + decoder_payload_types.end()) + << "Duplicate payload type (" << decoder.payload_type + << ") for different decoders."; + decoder_payload_types.insert(decoder.payload_type); RTC_CHECK_EQ(0, vie_channel_->RegisterExternalDecoder( decoder.payload_type, decoder.decoder, decoder.is_renderer,