Chromium Code Reviews| 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 e21294aa384c6815b83eeff796959a81b0bfc9b1..b60f1b86e58a1cf05dd97eb3511edb607a8867fa 100644 |
| --- a/webrtc/modules/audio_coding/neteq/neteq_impl.cc |
| +++ b/webrtc/modules/audio_coding/neteq/neteq_impl.cc |
| @@ -279,6 +279,35 @@ int NetEqImpl::RegisterExternalDecoder(AudioDecoder* decoder, |
| return kOK; |
| } |
| +bool NetEqImpl::RegisterPayloadType(int rtp_payload_type, |
| + const SdpAudioFormat& audio_format) { |
| + LOG(LS_VERBOSE) << "NetEqImpl::RegisterPayloadType: payload type " |
| + << rtp_payload_type << ", codec " << audio_format; |
| + rtc::CritScope lock(&crit_sect_); |
| + switch (decoder_database_->RegisterPayload(rtp_payload_type, audio_format)) { |
| + case DecoderDatabase::kOK: |
|
ossu
2016/09/28 14:12:28
Ugh! I really dislike this construct (though it's
kwiberg-webrtc
2016/09/29 12:38:35
Acknowledged.
ossu
2016/10/03 09:16:00
Good! :)
|
| + return true; |
| + case DecoderDatabase::kInvalidRtpPayloadType: |
| + error_code_ = kInvalidRtpPayloadType; |
| + return false; |
| + case DecoderDatabase::kCodecNotSupported: |
| + error_code_ = kCodecNotSupported; |
| + return false; |
| + case DecoderDatabase::kDecoderExists: |
| + error_code_ = kDecoderExists; |
| + return false; |
| + case DecoderDatabase::kInvalidSampleRate: |
| + error_code_ = kInvalidSampleRate; |
| + return false; |
| + case DecoderDatabase::kInvalidPointer: |
| + error_code_ = kInvalidPointer; |
| + return false; |
| + default: |
| + error_code_ = kOtherError; |
| + return false; |
| + } |
| +} |
| + |
| int NetEqImpl::RemovePayloadType(uint8_t rtp_payload_type) { |
| rtc::CritScope lock(&crit_sect_); |
| int ret = decoder_database_->Remove(rtp_payload_type); |