Index: media/engine/webrtcvideoengine.cc |
diff --git a/media/engine/webrtcvideoengine.cc b/media/engine/webrtcvideoengine.cc |
index 29fc442cb1f2742a88ba882107abec1fa5c88eca..69af25b01d71b4b148d26f901c95269a7963ceb6 100644 |
--- a/media/engine/webrtcvideoengine.cc |
+++ b/media/engine/webrtcvideoengine.cc |
@@ -2228,6 +2228,7 @@ CricketDecoderFactoryAdapter::CreateVideoDecoder( |
void WebRtcVideoChannel::WebRtcVideoReceiveStream::ConfigureCodecs( |
const std::vector<VideoCodecSettings>& recv_codecs, |
DecoderMap* old_decoders) { |
+ RTC_DCHECK(!recv_codecs.empty()); |
*old_decoders = std::move(allocated_decoders_); |
config_.decoders.clear(); |
config_.rtp.rtx_associated_payload_types.clear(); |
@@ -2263,14 +2264,15 @@ void WebRtcVideoChannel::WebRtcVideoReceiveStream::ConfigureCodecs( |
RTC_CHECK(did_insert); |
} |
- config_.rtp.ulpfec = recv_codecs.front().ulpfec; |
+ const auto& codec = recv_codecs.front(); |
+ config_.rtp.ulpfec_payload_type = codec.ulpfec.ulpfec_payload_type; |
+ config_.rtp.red_payload_type = codec.ulpfec.red_payload_type; |
- config_.rtp.nack.rtp_history_ms = |
- HasNack(recv_codecs.begin()->codec) ? kNackHistoryMs : 0; |
- if (config_.rtp.ulpfec.red_rtx_payload_type != -1) { |
+ config_.rtp.nack.rtp_history_ms = HasNack(codec.codec) ? kNackHistoryMs : 0; |
+ if (codec.ulpfec.red_rtx_payload_type != -1) { |
config_.rtp |
- .rtx_associated_payload_types[config_.rtp.ulpfec.red_rtx_payload_type] = |
- config_.rtp.ulpfec.red_payload_type; |
+ .rtx_associated_payload_types[codec.ulpfec.red_rtx_payload_type] = |
+ codec.ulpfec.red_payload_type; |
} |
} |