Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(552)

Unified Diff: webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc

Issue 2066473002: RtpRtcp: Remove the SetSendREDPayloadType and SendREDPayloadType methods (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@remove-red3
Patch Set: rebase Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
index 9b1b3bbc6d00ab7e1745e576022f06689bd0c8e8..7d5b04e0690e3b93fb48d818059c8f78c37f2485 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
@@ -35,7 +35,6 @@ RTPSenderAudio::RTPSenderAudio(Clock* clock, RTPSender* rtp_sender)
dtmf_level_(0),
dtmf_time_last_sent_(0),
dtmf_timestamp_last_sent_(0),
- red_payload_type_(-1),
inband_vad_active_(false),
cngnb_payload_type_(-1),
cngwb_payload_type_(-1),
@@ -156,13 +155,11 @@ bool RTPSenderAudio::SendAudio(FrameType frame_type,
size_t max_payload_length = rtp_sender_->MaxPayloadLength();
uint16_t dtmf_length_ms = 0;
uint8_t key = 0;
- int red_payload_type;
uint8_t audio_level_dbov;
int8_t dtmf_payload_type;
uint16_t packet_size_samples;
{
rtc::CritScope cs(&send_audio_critsect_);
- red_payload_type = red_payload_type_;
audio_level_dbov = audio_level_dbov_;
dtmf_payload_type = dtmf_payload_type_;
packet_size_samples = packet_size_samples_;
@@ -251,23 +248,10 @@ bool RTPSenderAudio::SendAudio(FrameType frame_type,
bool marker_bit = MarkerBit(frame_type, payload_type);
int32_t rtpHeaderLength = 0;
- uint16_t timestampOffset = 0;
-
- if (red_payload_type >= 0 && fragmentation && !marker_bit &&
- fragmentation->fragmentationVectorSize > 1) {
- // have we configured RED? use its payload type
- // we need to get the current timestamp to calc the diff
- uint32_t old_timestamp = rtp_sender_->Timestamp();
- rtpHeaderLength = rtp_sender_->BuildRtpHeader(data_buffer, red_payload_type,
- marker_bit, capture_timestamp,
- clock_->TimeInMilliseconds());
-
- timestampOffset = uint16_t(rtp_sender_->Timestamp() - old_timestamp);
- } else {
- rtpHeaderLength = rtp_sender_->BuildRtpHeader(data_buffer, payload_type,
- marker_bit, capture_timestamp,
- clock_->TimeInMilliseconds());
- }
+
+ rtpHeaderLength = rtp_sender_->BuildRtpHeader(data_buffer, payload_type,
+ marker_bit, capture_timestamp,
+ clock_->TimeInMilliseconds());
if (rtpHeaderLength <= 0) {
return false;
}
@@ -275,63 +259,16 @@ bool RTPSenderAudio::SendAudio(FrameType frame_type,
// Too large payload buffer.
return false;
}
- if (red_payload_type >= 0 && // Have we configured RED?
- fragmentation && fragmentation->fragmentationVectorSize > 1 &&
- !marker_bit) {
- if (timestampOffset <= 0x3fff) {
- if (fragmentation->fragmentationVectorSize != 2) {
- // we only support 2 codecs when using RED
- return false;
- }
- // only 0x80 if we have multiple blocks
- data_buffer[rtpHeaderLength++] =
- 0x80 + fragmentation->fragmentationPlType[1];
- size_t blockLength = fragmentation->fragmentationLength[1];
-
- // sanity blockLength
- if (blockLength > 0x3ff) { // block length 10 bits 1023 bytes
- return false;
- }
- uint32_t REDheader = (timestampOffset << 10) + blockLength;
- ByteWriter<uint32_t>::WriteBigEndian(data_buffer + rtpHeaderLength,
- REDheader);
- rtpHeaderLength += 3;
-
- data_buffer[rtpHeaderLength++] = fragmentation->fragmentationPlType[0];
- // copy the RED data
- memcpy(data_buffer + rtpHeaderLength,
- payload_data + fragmentation->fragmentationOffset[1],
- fragmentation->fragmentationLength[1]);
-
- // copy the normal data
- memcpy(
- data_buffer + rtpHeaderLength + fragmentation->fragmentationLength[1],
- payload_data + fragmentation->fragmentationOffset[0],
- fragmentation->fragmentationLength[0]);
-
- payload_size = fragmentation->fragmentationLength[0] +
- fragmentation->fragmentationLength[1];
- } else {
- // silence for too long send only new data
- data_buffer[rtpHeaderLength++] = fragmentation->fragmentationPlType[0];
- memcpy(data_buffer + rtpHeaderLength,
- payload_data + fragmentation->fragmentationOffset[0],
- fragmentation->fragmentationLength[0]);
-
- payload_size = fragmentation->fragmentationLength[0];
- }
+ if (fragmentation && fragmentation->fragmentationVectorSize > 0) {
+ // use the fragment info if we have one
+ data_buffer[rtpHeaderLength++] = fragmentation->fragmentationPlType[0];
+ memcpy(data_buffer + rtpHeaderLength,
+ payload_data + fragmentation->fragmentationOffset[0],
+ fragmentation->fragmentationLength[0]);
+
+ payload_size = fragmentation->fragmentationLength[0];
} else {
- if (fragmentation && fragmentation->fragmentationVectorSize > 0) {
- // use the fragment info if we have one
- data_buffer[rtpHeaderLength++] = fragmentation->fragmentationPlType[0];
- memcpy(data_buffer + rtpHeaderLength,
- payload_data + fragmentation->fragmentationOffset[0],
- fragmentation->fragmentationLength[0]);
-
- payload_size = fragmentation->fragmentationLength[0];
- } else {
- memcpy(data_buffer + rtpHeaderLength, payload_data, payload_size);
- }
+ memcpy(data_buffer + rtpHeaderLength, payload_data, payload_size);
}
{
@@ -368,27 +305,6 @@ int32_t RTPSenderAudio::SetAudioLevel(uint8_t level_dbov) {
return 0;
}
-// Set payload type for Redundant Audio Data RFC 2198
-int32_t RTPSenderAudio::SetRED(int8_t payload_type) {
- if (payload_type < -1) {
- return -1;
- }
- rtc::CritScope cs(&send_audio_critsect_);
- red_payload_type_ = payload_type;
- return 0;
-}
-
-// Get payload type for Redundant Audio Data RFC 2198
-int32_t RTPSenderAudio::RED(int8_t* payload_type) const {
- rtc::CritScope cs(&send_audio_critsect_);
- if (red_payload_type_ == -1) {
- // not configured
- return -1;
- }
- *payload_type = red_payload_type_;
- return 0;
-}
-
// Send a TelephoneEvent tone using RFC 2833 (4733)
int32_t RTPSenderAudio::SendTelephoneEvent(uint8_t key,
uint16_t time_ms,
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender_audio.h ('k') | webrtc/modules/rtp_rtcp/test/testAPI/test_api_audio.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698