Move ownership of RTPSenderAudio to ChannelSend.

This change takes out responsibility for packetization from the
RtpRtcp class, and deletes the method RtpRtcp::SendOutgoingData.

Video packetization was similarly moved in cl
https://webrtc-review.googlesource.com/c/src/+/123187

Bug: webrtc:7135
Change-Id: I0953125a5ca22a2ce51761b83693e0bb8ea74cd8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125721
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27000}
This commit is contained in:
Niels Möller
2019-03-06 16:47:29 +01:00
committed by Commit Bot
parent 232b3fda92
commit ee5ccbc57f
11 changed files with 57 additions and 164 deletions

View File

@ -116,9 +116,7 @@ ModuleRtpRtcpImpl::ModuleRtpRtcpImpl(const Configuration& configuration)
configuration.extmap_allow_mixed,
configuration.field_trials ? *configuration.field_trials
: default_trials));
if (configuration.audio) {
audio_ = absl::make_unique<RTPSenderAudio>(clock_, rtp_sender_.get());
}
// Make sure rtcp sender use same timestamp offset as rtp sender.
rtcp_sender_.SetTimestampOffset(rtp_sender_->TimestampOffset());
@ -270,17 +268,6 @@ void ModuleRtpRtcpImpl::IncomingRtcpPacket(const uint8_t* rtcp_packet,
rtcp_receiver_.IncomingPacket(rtcp_packet, length);
}
void ModuleRtpRtcpImpl::RegisterAudioSendPayload(int payload_type,
absl::string_view payload_name,
int frequency,
int channels,
int rate) {
RTC_DCHECK(audio_);
rtcp_sender_.SetRtpClockRate(payload_type, frequency);
RTC_CHECK_EQ(0, audio_->RegisterAudioPayload(payload_name, payload_type,
frequency, channels, rate));
}
void ModuleRtpRtcpImpl::RegisterSendPayloadFrequency(int payload_type,
int payload_frequency) {
rtcp_sender_.SetRtpClockRate(payload_type, payload_frequency);
@ -425,30 +412,6 @@ void ModuleRtpRtcpImpl::SetAsPartOfAllocation(bool part_of_allocation) {
rtp_sender_->SetAsPartOfAllocation(part_of_allocation);
}
bool ModuleRtpRtcpImpl::SendOutgoingData(
FrameType frame_type,
int8_t payload_type,
uint32_t time_stamp,
int64_t capture_time_ms,
const uint8_t* payload_data,
size_t payload_size,
const RTPFragmentationHeader* fragmentation,
const RTPVideoHeader* rtp_video_header,
uint32_t* transport_frame_id_out) {
OnSendingRtpFrame(time_stamp, capture_time_ms, payload_type,
kVideoFrameKey == frame_type);
const uint32_t rtp_timestamp = time_stamp + rtp_sender_->TimestampOffset();
if (transport_frame_id_out)
*transport_frame_id_out = rtp_timestamp;
RTC_DCHECK(audio_);
RTC_DCHECK(fragmentation == nullptr);
return audio_->SendAudio(frame_type, payload_type, rtp_timestamp,
payload_data, payload_size);
}
bool ModuleRtpRtcpImpl::OnSendingRtpFrame(uint32_t timestamp,
int64_t capture_time_ms,
int payload_type,
@ -787,17 +750,6 @@ bool ModuleRtpRtcpImpl::SendFeedbackPacket(
return rtcp_sender_.SendFeedbackPacket(packet);
}
// Send a TelephoneEvent tone using RFC 2833 (4733).
int32_t ModuleRtpRtcpImpl::SendTelephoneEventOutband(const uint8_t key,
const uint16_t time_ms,
const uint8_t level) {
return audio_ ? audio_->SendTelephoneEvent(key, time_ms, level) : -1;
}
int32_t ModuleRtpRtcpImpl::SetAudioLevel(const uint8_t level_d_bov) {
return audio_ ? audio_->SetAudioLevel(level_d_bov) : -1;
}
int32_t ModuleRtpRtcpImpl::SetKeyFrameRequestMethod(
const KeyFrameRequestMethod method) {
key_frame_req_method_ = method;