Add RegisterAudioSendPayload() method

In preparation of removing CodecInst.

Bug: webrtc:7626
Change-Id: I8955d17dbb3ec15177e505ae420376b542d48410
Reviewed-on: https://webrtc-review.googlesource.com/c/113306
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25919}
This commit is contained in:
Fredrik Solenberg
2018-12-06 11:49:35 +01:00
committed by Commit Bot
parent d8a1b7a5c5
commit 18f0c3c038
5 changed files with 28 additions and 3 deletions

View File

@ -221,7 +221,6 @@ rtc_static_library("rtp_rtcp") {
"../../system_wrappers",
"../../system_wrappers:field_trial",
"../../system_wrappers:metrics",
"../audio_coding:audio_format_conversion",
"../remote_bitrate_estimator",
"../video_coding:codec_globals_headers",
"//third_party/abseil-cpp/absl/container:inlined_vector",
@ -444,7 +443,6 @@ if (rtc_include_tests) {
"../../test:rtp_test_utils",
"../../test:test_common",
"../../test:test_support",
"../audio_coding:audio_format_conversion",
"../video_coding:codec_globals_headers",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",

View File

@ -16,6 +16,7 @@
#include <utility>
#include <vector>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "api/video/video_bitrate_allocation.h"
#include "modules/include/module.h"
@ -138,6 +139,11 @@ class RtpRtcp : public Module, public RtcpFeedbackSenderInterface {
// Sets codec name and payload type. Returns -1 on failure else 0.
virtual int32_t RegisterSendPayload(const CodecInst& voice_codec) = 0;
virtual void RegisterAudioSendPayload(int payload_type,
absl::string_view payload_name,
int frequency,
int channels,
int rate) = 0;
virtual void RegisterVideoSendPayload(int payload_type,
const char* payload_name) = 0;

View File

@ -38,6 +38,12 @@ class MockRtpRtcp : public RtpRtcp {
MOCK_METHOD1(SetMaxRtpPacketSize, void(size_t size));
MOCK_CONST_METHOD0(MaxRtpPacketSize, size_t());
MOCK_METHOD1(RegisterSendPayload, int32_t(const CodecInst& voice_codec));
MOCK_METHOD5(RegisterAudioSendPayload,
void(int payload_type,
absl::string_view payload_name,
int frequency,
int channels,
int rate));
MOCK_METHOD2(RegisterVideoSendPayload,
void(int payload_type, const char* payload_name));
MOCK_METHOD1(DeRegisterSendPayload, int32_t(int8_t payload_type));

View File

@ -271,6 +271,17 @@ int32_t ModuleRtpRtcpImpl::RegisterSendPayload(const CodecInst& voice_codec) {
voice_codec.channels, (voice_codec.rate < 0) ? 0 : voice_codec.rate);
}
void ModuleRtpRtcpImpl::RegisterAudioSendPayload(int payload_type,
absl::string_view payload_name,
int frequency,
int channels,
int rate) {
rtcp_sender_.SetRtpClockRate(payload_type, frequency);
RTC_CHECK_EQ(0,
rtp_sender_->RegisterPayload(payload_name, payload_type,
frequency, channels, rate));
}
void ModuleRtpRtcpImpl::RegisterVideoSendPayload(int payload_type,
const char* payload_name) {
rtcp_sender_.SetRtpClockRate(payload_type, kVideoPayloadTypeFrequency);

View File

@ -64,7 +64,11 @@ class ModuleRtpRtcpImpl : public RtpRtcp, public RTCPReceiver::ModuleRtpRtcp {
// Sender part.
int32_t RegisterSendPayload(const CodecInst& voice_codec) override;
void RegisterAudioSendPayload(int payload_type,
absl::string_view payload_name,
int frequency,
int channels,
int rate) override;
void RegisterVideoSendPayload(int payload_type,
const char* payload_name) override;