| Index: webrtc/modules/rtp_rtcp/source/rtp_receiver_impl.cc
|
| diff --git a/webrtc/modules/rtp_rtcp/source/rtp_receiver_impl.cc b/webrtc/modules/rtp_rtcp/source/rtp_receiver_impl.cc
|
| index 190449b3ddfe6bdde9561cc16a0ce6d1387ed767..1e0bf732ad7d0ca37ede10d196b54c99b79ad997 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtp_receiver_impl.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_receiver_impl.cc
|
| @@ -16,6 +16,7 @@
|
| #include <string.h>
|
|
|
| #include "webrtc/base/logging.h"
|
| +#include "webrtc/common_types.h"
|
| #include "webrtc/modules/rtp_rtcp/include/rtp_payload_registry.h"
|
| #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
|
| #include "webrtc/modules/rtp_rtcp/source/rtp_receiver_strategy.h"
|
| @@ -80,12 +81,7 @@ RtpReceiverImpl::~RtpReceiverImpl() {
|
| }
|
| }
|
|
|
| -int32_t RtpReceiverImpl::RegisterReceivePayload(
|
| - const char payload_name[RTP_PAYLOAD_NAME_SIZE],
|
| - const int8_t payload_type,
|
| - const uint32_t frequency,
|
| - const size_t channels,
|
| - const uint32_t rate) {
|
| +int32_t RtpReceiverImpl::RegisterReceivePayload(const CodecInst& audio_codec) {
|
| rtc::CritScope lock(&critical_section_rtp_receiver_);
|
|
|
| // TODO(phoglund): Try to streamline handling of the RED codec and some other
|
| @@ -93,19 +89,33 @@ int32_t RtpReceiverImpl::RegisterReceivePayload(
|
| // payload or not.
|
| bool created_new_payload = false;
|
| int32_t result = rtp_payload_registry_->RegisterReceivePayload(
|
| - payload_name, payload_type, frequency, channels, rate,
|
| - &created_new_payload);
|
| + audio_codec, &created_new_payload);
|
| if (created_new_payload) {
|
| - if (rtp_media_receiver_->OnNewPayloadTypeCreated(payload_name, payload_type,
|
| - frequency) != 0) {
|
| - LOG(LS_ERROR) << "Failed to register payload: " << payload_name << "/"
|
| - << static_cast<int>(payload_type);
|
| + if (rtp_media_receiver_->OnNewPayloadTypeCreated(audio_codec) != 0) {
|
| + LOG(LS_ERROR) << "Failed to register payload: " << audio_codec.plname
|
| + << "/" << static_cast<int>(audio_codec.pltype);
|
| return -1;
|
| }
|
| }
|
| return result;
|
| }
|
|
|
| +// TODO(magjed): Remove once external code is updated.
|
| +int32_t RtpReceiverImpl::RegisterReceivePayload(
|
| + const char payload_name[RTP_PAYLOAD_NAME_SIZE],
|
| + const int8_t payload_type,
|
| + const uint32_t frequency,
|
| + const size_t channels,
|
| + const uint32_t rate) {
|
| + CodecInst codec;
|
| + codec.pltype = payload_type;
|
| + strncpy(codec.plname, payload_name, RTP_PAYLOAD_NAME_SIZE);
|
| + codec.plfreq = frequency;
|
| + codec.channels = channels;
|
| + codec.rate = rate;
|
| + return RegisterReceivePayload(codec);
|
| +}
|
| +
|
| int32_t RtpReceiverImpl::DeRegisterReceivePayload(
|
| const int8_t payload_type) {
|
| rtc::CritScope lock(&critical_section_rtp_receiver_);
|
|
|