Index: webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc |
index 32ba26f54b88a5e9eaa6d2cf4d2c785aa857405e..2595edb1191904c3c86df6044985779838569bb6 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc |
@@ -43,7 +43,8 @@ RTPSenderVideo::RTPSenderVideo(Clock* clock, RTPSenderInterface* rtpSender) |
key_fec_params_(), |
producer_fec_(&fec_), |
_fecOverheadRate(clock, NULL), |
- _videoBitrate(clock, NULL) { |
+ _videoBitrate(clock, NULL), |
+ sent_first_frame_(false) { |
memset(&delta_fec_params_, 0, sizeof(delta_fec_params_)); |
memset(&key_fec_params_, 0, sizeof(key_fec_params_)); |
delta_fec_params_.max_fec_frames = key_fec_params_.max_fec_frames = 1; |
@@ -232,6 +233,7 @@ int32_t RTPSenderVideo::SendVideo(const RtpVideoCodecTypes videoType, |
StorageType storage; |
bool fec_enabled; |
+ bool first_frame = false; |
{ |
CriticalSectionScoped cs(crit_.get()); |
FecProtectionParams* fec_params = |
@@ -239,6 +241,10 @@ int32_t RTPSenderVideo::SendVideo(const RtpVideoCodecTypes videoType, |
producer_fec_.SetFecParameters(fec_params, 0); |
storage = packetizer->GetStorageType(_retransmissionSettings); |
fec_enabled = fec_enabled_; |
+ if (!sent_first_frame_) { |
+ first_frame = true; |
+ sent_first_frame_ = true; |
+ } |
} |
// Register CVO rtp header extension at the first time when we receive a frame |
@@ -260,6 +266,7 @@ int32_t RTPSenderVideo::SendVideo(const RtpVideoCodecTypes videoType, |
packetizer->SetPayloadData(data, payload_bytes_to_send, frag); |
+ bool first = true; |
bool last = false; |
while (!last) { |
uint8_t dataBuffer[IP_PACKET_SIZE] = {0}; |
@@ -268,6 +275,7 @@ int32_t RTPSenderVideo::SendVideo(const RtpVideoCodecTypes videoType, |
&payload_bytes_in_packet, &last)) { |
return -1; |
} |
+ |
// Write RTP header. |
// Set marker bit true if this is the last packet in frame. |
_rtpSender.BuildRTPheader( |
@@ -309,6 +317,18 @@ int32_t RTPSenderVideo::SendVideo(const RtpVideoCodecTypes videoType, |
_rtpSender.SequenceNumber(), captureTimeStamp, |
capture_time_ms, storage); |
} |
+ |
+ if (first_frame) { |
+ if (first) { |
+ LOG(LS_INFO) << |
+ "Sent first RTP packet of the first video frame (pre-pacer)"; |
+ } |
+ if (last) { |
+ LOG(LS_INFO) << |
+ "Sent last RTP packet of the first video frame (pre-pacer)"; |
+ } |
+ } |
+ first = false; |
} |
TRACE_EVENT_ASYNC_END1( |