ACM2/NetEq4 did not decode Opus in stereo
Two problems fixed in this CL:
- setting Opus decoder to stereo had no effect, and decoding always generated mono audio
- changing decoding setting from mono to stereo, or stereo to mono, for OPUS also had no effect (but required another change than the first one).
BUG=3082
R=henrik.lundin@webrtc.org, turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/10389004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5754 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/audio_coding/neteq4/neteq_impl.cc b/webrtc/modules/audio_coding/neteq4/neteq_impl.cc
index 8b7e517..2956957 100644
--- a/webrtc/modules/audio_coding/neteq4/neteq_impl.cc
+++ b/webrtc/modules/audio_coding/neteq4/neteq_impl.cc
@@ -1145,12 +1145,11 @@
PacketBuffer::DeleteAllPackets(packet_list);
return kDecoderNotFound;
}
- // We should have correct sampling rate and number of channels. They
- // are set when packets are inserted.
+ // If sampling rate or number of channels has changed, we need to make
+ // a reset.
if (decoder_info->fs_hz != fs_hz_ ||
decoder->channels() != algorithm_buffer_->Channels()) {
- LOG_F(LS_ERROR) << "Sampling rate or number of channels mismatch.";
- assert(false);
+ // TODO(tlegrand): Add unittest to cover this event.
SetSampleRateAndChannels(decoder_info->fs_hz, decoder->channels());
}
sync_buffer_->set_end_timestamp(timestamp_);