| Index: webrtc/modules/audio_coding/neteq/neteq_impl.cc
|
| diff --git a/webrtc/modules/audio_coding/neteq/neteq_impl.cc b/webrtc/modules/audio_coding/neteq/neteq_impl.cc
|
| index 0fcd8428177a18a19690affbfc1081aa07b47802..592d2844e15b27f6ccc78d21b97803d38c42a390 100644
|
| --- a/webrtc/modules/audio_coding/neteq/neteq_impl.cc
|
| +++ b/webrtc/modules/audio_coding/neteq/neteq_impl.cc
|
| @@ -1978,6 +1978,8 @@ int NetEqImpl::ExtractPackets(size_t required_samples,
|
| prev_payload_type = packet->payload_type;
|
| }
|
|
|
| + const bool has_cng_packet =
|
| + decoder_database_->IsComfortNoise(packet->payload_type);
|
| // Store number of extracted samples.
|
| size_t packet_duration = 0;
|
| if (packet->frame) {
|
| @@ -1986,7 +1988,7 @@ int NetEqImpl::ExtractPackets(size_t required_samples,
|
| if (packet->priority.codec_level > 0) {
|
| stats_.SecondaryDecodedSamples(rtc::checked_cast<int>(packet_duration));
|
| }
|
| - } else if (!decoder_database_->IsComfortNoise(packet->payload_type)) {
|
| + } else if (!has_cng_packet) {
|
| LOG(LS_WARNING) << "Unknown payload type "
|
| << static_cast<int>(packet->payload_type);
|
| RTC_NOTREACHED();
|
| @@ -2005,7 +2007,8 @@ int NetEqImpl::ExtractPackets(size_t required_samples,
|
| // Check what packet is available next.
|
| next_packet = packet_buffer_->PeekNextPacket();
|
| next_packet_available = false;
|
| - if (next_packet && prev_payload_type == next_packet->payload_type) {
|
| + if (next_packet && prev_payload_type == next_packet->payload_type &&
|
| + !has_cng_packet) {
|
| int16_t seq_no_diff = next_packet->sequence_number - prev_sequence_number;
|
| size_t ts_diff = next_packet->timestamp - prev_timestamp;
|
| if (seq_no_diff == 1 ||
|
|
|