| 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 fd92619bdce0ff4b70f40ab83ea2748e6599aee1..6bb56274a354debdca0522a83b437c6e5fee1e45 100644
|
| --- a/media/cast/video_sender/video_sender.cc
|
| +++ b/media/cast/video_sender/video_sender.cc
|
| @@ -407,6 +407,11 @@ void VideoSender::OnReceivedCastFeedback(const RtcpCastMessage& cast_feedback) {
|
|
|
| void VideoSender::ReceivedAck(uint32 acked_frame_id) {
|
| DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
|
| + if (acked_frame_id == UINT32_C(0xFFFFFFFF)) {
|
| + // Receiver is sending a status message before any frames are ready to
|
| + // be acked. Ignore.
|
| + return;
|
| + }
|
| // Start sending RTCP packets only after receiving the first ACK, i.e. only
|
| // after establishing that the receiver is active.
|
| if (last_acked_frame_id_ == -1) {
|
| @@ -421,8 +426,8 @@ void VideoSender::ReceivedAck(uint32 acked_frame_id) {
|
| now, kVideoAckReceived, rtp_timestamp, acked_frame_id);
|
|
|
| VLOG(2) << "ReceivedAck:" << static_cast<int>(acked_frame_id);
|
| - last_acked_frame_id_ = acked_frame_id;
|
| active_session_ = true;
|
| + DCHECK_NE(-1, last_acked_frame_id_);
|
| UpdateFramesInFlight();
|
| }
|
|
|
|
|