Index: webrtc/media/engine/webrtcvoiceengine.cc |
diff --git a/webrtc/media/engine/webrtcvoiceengine.cc b/webrtc/media/engine/webrtcvoiceengine.cc |
index 59a2870cf8d7e48737c73593a5fcdb8693afaf15..0b1d2f6e5be060ecdda5eb7c065b22abe08471c2 100644 |
--- a/webrtc/media/engine/webrtcvoiceengine.cc |
+++ b/webrtc/media/engine/webrtcvoiceengine.cc |
@@ -1093,8 +1093,8 @@ webrtc::AudioDeviceModule* WebRtcVoiceEngine::adm() { |
AudioCodecs WebRtcVoiceEngine::CollectRecvCodecs() const { |
PayloadTypeMapper mapper; |
AudioCodecs out; |
- const std::vector<webrtc::SdpAudioFormat>& formats = |
- decoder_factory_->GetSupportedFormats(); |
+ const std::vector<webrtc::AudioCodecSpec>& specs = |
+ decoder_factory_->GetSupportedDecoders(); |
// Only generate CN payload types for these clockrates |
std::map<int, bool, std::greater<int>> generate_cn = {{ 8000, false }, |
@@ -1119,14 +1119,12 @@ AudioCodecs WebRtcVoiceEngine::CollectRecvCodecs() const { |
return true; |
}; |
- for (const auto& format : formats) { |
- if (map_format(format)) { |
- // TODO(ossu): We should get more than just a format from the factory, so |
- // we can determine if a format should be used with CN or not. For now, |
- // generate a CN entry for each supported clock rate also used by a format |
- // supported by the factory. |
- auto cn = generate_cn.find(format.clockrate_hz); |
- if (cn != generate_cn.end() /* && format.allow_comfort_noise */) { |
+ for (const auto& spec : specs) { |
+ if (map_format(spec.format) && spec.allow_comfort_noise) { |
+ // Generate a CN entry if the decoder allows it and we support the |
+ // clockrate. |
+ auto cn = generate_cn.find(spec.format.clockrate_hz); |
+ if (cn != generate_cn.end()) { |
cn->second = true; |
} |
} |