| 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 ae292a0a8c81a2047e6831655889b73e018ee006..252ffb2a3e59737e125e10c605b137ec9d67aeca 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtp_sender.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender.cc
|
| @@ -662,18 +662,18 @@ size_t RTPSender::SendPadData(size_t bytes,
|
|
|
| UpdateAbsoluteSendTime(padding_packet, length, rtp_header, now_ms);
|
|
|
| - uint16_t transport_seq = 0;
|
| + PacketOptions options;
|
| if (using_transport_seq) {
|
| - transport_seq =
|
| + options.packet_id =
|
| UpdateTransportSequenceNumber(padding_packet, length, rtp_header);
|
| }
|
|
|
| - if (!SendPacketToNetwork(padding_packet, length))
|
| + if (!SendPacketToNetwork(padding_packet, length, options))
|
| break;
|
|
|
| if (using_transport_seq && transport_feedback_observer_) {
|
| - transport_feedback_observer_->OnPacketSent(
|
| - PacketInfo(0, now_ms, transport_seq, length, true));
|
| + transport_feedback_observer_->OnPacketSent(PacketInfo(
|
| + 0, now_ms, options.packet_id, length, true));
|
| }
|
|
|
| bytes_sent += padding_bytes_in_packet;
|
| @@ -732,11 +732,14 @@ int32_t RTPSender::ReSendPacket(uint16_t packet_id, int64_t min_resend_time) {
|
| return static_cast<int32_t>(length);
|
| }
|
|
|
| -bool RTPSender::SendPacketToNetwork(const uint8_t *packet, size_t size) {
|
| +bool RTPSender::SendPacketToNetwork(const uint8_t* packet,
|
| + size_t size,
|
| + const PacketOptions& options) {
|
| int bytes_sent = -1;
|
| if (transport_) {
|
| - bytes_sent =
|
| - transport_->SendRtp(packet, size) ? static_cast<int>(size) : -1;
|
| + bytes_sent = transport_->SendRtp(packet, size, options)
|
| + ? static_cast<int>(size)
|
| + : -1;
|
| }
|
| TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"),
|
| "RTPSender::SendPacketToNetwork", "size", size, "sent",
|
| @@ -916,25 +919,25 @@ bool RTPSender::PrepareAndSendPacket(uint8_t* buffer,
|
| diff_ms);
|
| 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) &&
|
| transport_sequence_number_allocator_ &&
|
| !is_retransmit;
|
| + PacketOptions options;
|
| if (using_transport_seq) {
|
| - transport_seq =
|
| + options.packet_id =
|
| UpdateTransportSequenceNumber(buffer_to_send_ptr, length, rtp_header);
|
| }
|
|
|
| - bool ret = SendPacketToNetwork(buffer_to_send_ptr, length);
|
| + bool ret = SendPacketToNetwork(buffer_to_send_ptr, length, options);
|
| if (ret) {
|
| CriticalSectionScoped lock(send_critsect_.get());
|
| media_has_been_sent_ = true;
|
| }
|
| if (using_transport_seq && transport_feedback_observer_) {
|
| transport_feedback_observer_->OnPacketSent(
|
| - PacketInfo(0, now_ms, transport_seq, length, true));
|
| + PacketInfo(0, now_ms, options.packet_id, length, true));
|
| }
|
| UpdateRtpStats(buffer_to_send_ptr, length, rtp_header, send_over_rtx,
|
| is_retransmit);
|
| @@ -1058,7 +1061,7 @@ int32_t RTPSender::SendToNetwork(uint8_t* buffer,
|
| }
|
|
|
| size_t length = payload_length + rtp_header_length;
|
| - bool sent = SendPacketToNetwork(buffer, length);
|
| + bool sent = SendPacketToNetwork(buffer, length, PacketOptions());
|
|
|
| if (storage != kDontStore) {
|
| // Mark the packet as sent in the history even if send failed. Dropping a
|
|
|