| 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 bc312125533d13e2d38ad40ccd72debac1ac64f2..0b050b76e65b9753931ba9bb9db2a3caac0f9298 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtp_sender.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender.cc
|
| @@ -104,7 +104,7 @@ RTPSender::RTPSender(int32_t id,
|
| RtpAudioFeedback* audio_feedback,
|
| PacedSender* paced_sender,
|
| PacketRouter* packet_router,
|
| - SendTimeObserver* send_time_observer,
|
| + TransportFeedbackObserver* transport_feedback_observer,
|
| BitrateStatisticsObserver* bitrate_callback,
|
| FrameCountObserver* frame_count_observer,
|
| SendSideDelayObserver* send_side_delay_observer)
|
| @@ -122,7 +122,7 @@ RTPSender::RTPSender(int32_t id,
|
| video_(audio ? nullptr : new RTPSenderVideo(clock, this)),
|
| paced_sender_(paced_sender),
|
| packet_router_(packet_router),
|
| - send_time_observer_(send_time_observer),
|
| + transport_feedback_observer_(transport_feedback_observer),
|
| last_capture_time_ms_sent_(0),
|
| send_critsect_(CriticalSectionWrapper::CreateCriticalSection()),
|
| transport_(transport),
|
| @@ -676,8 +676,10 @@ size_t RTPSender::SendPadData(uint32_t timestamp,
|
| if (!SendPacketToNetwork(padding_packet, length))
|
| break;
|
|
|
| - if (using_transport_seq)
|
| - send_time_observer_->OnPacketSent(transport_seq, now_ms);
|
| + if (using_transport_seq && transport_feedback_observer_) {
|
| + transport_feedback_observer_->OnPacketSent(
|
| + PacketInfo(0, now_ms, transport_seq, length, true));
|
| + }
|
|
|
| bytes_sent += padding_bytes_in_packet;
|
| UpdateRtpStats(padding_packet, length, rtp_header, over_rtx, false);
|
| @@ -919,9 +921,10 @@ bool RTPSender::PrepareAndSendPacket(uint8_t* buffer,
|
| UpdateAbsoluteSendTime(buffer_to_send_ptr, length, rtp_header, now_ms);
|
|
|
| uint16_t transport_seq = 0;
|
| + // TODO(sprang): Potentially too much overhead in IsRegistered()?
|
| bool using_transport_seq = rtp_header_extension_map_.IsRegistered(
|
| kRtpExtensionTransportSequenceNumber) &&
|
| - packet_router_;
|
| + packet_router_ && !is_retransmit;
|
| if (using_transport_seq) {
|
| transport_seq =
|
| UpdateTransportSequenceNumber(buffer_to_send_ptr, length, rtp_header);
|
| @@ -932,8 +935,10 @@ bool RTPSender::PrepareAndSendPacket(uint8_t* buffer,
|
| CriticalSectionScoped lock(send_critsect_.get());
|
| media_has_been_sent_ = true;
|
| }
|
| - if (using_transport_seq)
|
| - send_time_observer_->OnPacketSent(transport_seq, now_ms);
|
| + if (using_transport_seq && transport_feedback_observer_) {
|
| + transport_feedback_observer_->OnPacketSent(
|
| + PacketInfo(0, now_ms, transport_seq, length, true));
|
| + }
|
| UpdateRtpStats(buffer_to_send_ptr, length, rtp_header, send_over_rtx,
|
| is_retransmit);
|
| return ret;
|
|
|