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

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

Issue 1571283002: Fixes a bug which incorrectly logs incoming RTCP as outgoing. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase Created 4 years, 11 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
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender.h ('k') | webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/rtp_rtcp/source/rtp_sender.cc
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender.cc
index 19d53c5459d07450e19abae44297c1b60aa9c5a0..bd9314d5d768b6e2d30c5be2a4ef2287b9c35ef5 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_sender.cc
@@ -17,6 +17,8 @@
#include "webrtc/base/checks.h"
#include "webrtc/base/logging.h"
#include "webrtc/base/trace_event.h"
+#include "webrtc/call.h"
+#include "webrtc/call/rtc_event_log.h"
#include "webrtc/modules/rtp_rtcp/include/rtp_cvo.h"
#include "webrtc/modules/rtp_rtcp/source/byte_io.h"
#include "webrtc/modules/rtp_rtcp/source/rtp_sender_audio.h"
@@ -122,7 +124,8 @@ RTPSender::RTPSender(
TransportFeedbackObserver* transport_feedback_observer,
BitrateStatisticsObserver* bitrate_callback,
FrameCountObserver* frame_count_observer,
- SendSideDelayObserver* send_side_delay_observer)
+ SendSideDelayObserver* send_side_delay_observer,
+ RtcEventLog* event_log)
: clock_(clock),
// TODO(holmer): Remove this conversion when we remove the use of
// TickTime.
@@ -161,6 +164,7 @@ RTPSender::RTPSender(
rtp_stats_callback_(NULL),
frame_count_observer_(frame_count_observer),
send_side_delay_observer_(send_side_delay_observer),
+ event_log_(event_log),
// RTP variables
start_timestamp_forced_(false),
start_timestamp_(0),
@@ -755,6 +759,9 @@ bool RTPSender::SendPacketToNetwork(const uint8_t* packet,
bytes_sent = transport_->SendRtp(packet, size, options)
? static_cast<int>(size)
: -1;
+ if (event_log_ && bytes_sent > 0) {
+ event_log_->LogRtpHeader(kOutgoingPacket, MediaType::ANY, packet, size);
+ }
}
TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"),
"RTPSender::SendPacketToNetwork", "size", size, "sent",
@@ -1028,8 +1035,9 @@ int32_t RTPSender::SendToNetwork(uint8_t* buffer,
int64_t capture_time_ms,
StorageType storage,
RtpPacketSender::Priority priority) {
- RtpUtility::RtpHeaderParser rtp_parser(buffer,
- payload_length + rtp_header_length);
+ size_t length = payload_length + rtp_header_length;
+ RtpUtility::RtpHeaderParser rtp_parser(buffer, length);
+
RTPHeader rtp_header;
rtp_parser.Parse(&rtp_header);
@@ -1039,16 +1047,15 @@ int32_t RTPSender::SendToNetwork(uint8_t* buffer,
// TODO(holmer): This should be changed all over Video Engine so that negative
// time is consider invalid, while 0 is considered a valid time.
if (capture_time_ms > 0) {
- UpdateTransmissionTimeOffset(buffer, payload_length + rtp_header_length,
- rtp_header, now_ms - capture_time_ms);
+ UpdateTransmissionTimeOffset(buffer, length, rtp_header,
+ now_ms - capture_time_ms);
}
- UpdateAbsoluteSendTime(buffer, payload_length + rtp_header_length,
- rtp_header, now_ms);
+ UpdateAbsoluteSendTime(buffer, length, rtp_header, now_ms);
// Used for NACK and to spread out the transmission of packets.
- if (packet_history_.PutRTPPacket(buffer, rtp_header_length + payload_length,
- capture_time_ms, storage) != 0) {
+ if (packet_history_.PutRTPPacket(buffer, length, capture_time_ms, storage) !=
+ 0) {
return -1;
}
@@ -1072,7 +1079,6 @@ int32_t RTPSender::SendToNetwork(uint8_t* buffer,
UpdateDelayStatistics(capture_time_ms, now_ms);
}
- size_t length = payload_length + rtp_header_length;
bool sent = SendPacketToNetwork(buffer, length, PacketOptions());
// Mark the packet as sent in the history even if send failed. Dropping a
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender.h ('k') | webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698