AcmReceiver::DecoderByPayloadType: Ask NetEq for decoder
Instead of looking in AcmReceiver::decoders_, which we're trying to
get rid of.
BUG=webrtc:5801
Review-Url: https://codereview.webrtc.org/2341283002
Cr-Commit-Position: refs/heads/master@{#14276}
diff --git a/webrtc/modules/audio_coding/acm2/acm_receiver.cc b/webrtc/modules/audio_coding/acm2/acm_receiver.cc
index b89091f..042e8c9 100644
--- a/webrtc/modules/audio_coding/acm2/acm_receiver.cc
+++ b/webrtc/modules/audio_coding/acm2/acm_receiver.cc
@@ -314,19 +314,15 @@
int AcmReceiver::DecoderByPayloadType(uint8_t payload_type,
CodecInst* codec) const {
rtc::CritScope lock(&crit_sect_);
- auto it = decoders_.find(payload_type);
- if (it == decoders_.end()) {
+ const rtc::Optional<CodecInst> ci = neteq_->GetDecoder(payload_type);
+ if (ci) {
+ *codec = *ci;
+ return 0;
+ } else {
LOG(LERROR) << "AcmReceiver::DecoderByPayloadType "
<< static_cast<int>(payload_type);
return -1;
}
- const Decoder& decoder = it->second;
- *codec = *RentACodec::CodecInstById(
- *RentACodec::CodecIdFromIndex(decoder.acm_codec_id));
- codec->pltype = decoder.payload_type;
- codec->channels = decoder.channels;
- codec->plfreq = decoder.sample_rate_hz;
- return 0;
}
int AcmReceiver::EnableNack(size_t max_nack_list_size) {