Index: webrtc/video/video_receive_stream.cc |
diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc |
index 850848e42294abf844fe0b5bd79ae7ed706d55b4..4d606ef65bc9ba101b3f3843caef2be2499eed4f 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<int> 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, |