| Index: media/cast/video_sender/video_sender.cc
|
| diff --git a/media/cast/video_sender/video_sender.cc b/media/cast/video_sender/video_sender.cc
|
| index b88a3bdf51d73bc9a80abe1a68d638549cce37da..f5bc3cdc54e43d72797f9113fca75cc7de4923c1 100644
|
| --- a/media/cast/video_sender/video_sender.cc
|
| +++ b/media/cast/video_sender/video_sender.cc
|
| @@ -318,8 +318,10 @@ void VideoSender::OnReceivedCastFeedback(const RtcpCastMessage& cast_feedback) {
|
| // Only count duplicated ACKs if there is no NACK request in between.
|
| // This is to avoid aggresive resend.
|
| duplicate_ack_counter_ = 0;
|
| +
|
| + // A NACK is also used to cancel pending re-transmissions.
|
| transport_sender_->ResendPackets(
|
| - false, cast_feedback.missing_frames_and_packets_);
|
| + false, cast_feedback.missing_frames_and_packets_, true);
|
| }
|
|
|
| base::TimeTicks now = cast_environment_->Clock()->NowTicks();
|
| @@ -370,7 +372,11 @@ void VideoSender::ResendForKickstart() {
|
| missing_frames_and_packets.insert(
|
| std::make_pair(last_sent_frame_id_, missing));
|
| last_send_time_ = cast_environment_->Clock()->NowTicks();
|
| - transport_sender_->ResendPackets(false, missing_frames_and_packets);
|
| +
|
| + // Sending this extra packet is to kick-start the session. There is
|
| + // no need to optimize re-transmission for this case.
|
| + transport_sender_->ResendPackets(false, missing_frames_and_packets,
|
| + false);
|
| }
|
|
|
| } // namespace cast
|
|
|