| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/cast/rtcp/rtcp_receiver.h" | 5 #include "media/cast/rtcp/rtcp_receiver.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "media/cast/rtcp/rtcp_utility.h" | 8 #include "media/cast/rtcp/rtcp_utility.h" |
| 9 #include "media/cast/transport/cast_transport_defines.h" | 9 #include "media/cast/transport/cast_transport_defines.h" |
| 10 | 10 |
| (...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 562 if (receiver_feedback_) { | 562 if (receiver_feedback_) { |
| 563 receiver_feedback_->OnReceivedSenderLog(sender_log); | 563 receiver_feedback_->OnReceivedSenderLog(sender_log); |
| 564 } | 564 } |
| 565 } | 565 } |
| 566 | 566 |
| 567 void RtcpReceiver::HandlePayloadSpecificCastItem(RtcpParser* rtcp_parser) { | 567 void RtcpReceiver::HandlePayloadSpecificCastItem(RtcpParser* rtcp_parser) { |
| 568 const RtcpField& rtcp_field = rtcp_parser->Field(); | 568 const RtcpField& rtcp_field = rtcp_parser->Field(); |
| 569 RtcpCastMessage cast_message(remote_ssrc_); | 569 RtcpCastMessage cast_message(remote_ssrc_); |
| 570 cast_message.ack_frame_id_ = ack_frame_id_wrap_helper_.MapTo32bitsFrameId( | 570 cast_message.ack_frame_id_ = ack_frame_id_wrap_helper_.MapTo32bitsFrameId( |
| 571 rtcp_field.cast_item.last_frame_id); | 571 rtcp_field.cast_item.last_frame_id); |
| 572 cast_message.target_delay_ms_ = rtcp_field.cast_item.target_delay_ms; |
| 572 | 573 |
| 573 RtcpFieldTypes packet_type = rtcp_parser->Iterate(); | 574 RtcpFieldTypes packet_type = rtcp_parser->Iterate(); |
| 574 while (packet_type == kRtcpPayloadSpecificCastNackItemCode) { | 575 while (packet_type == kRtcpPayloadSpecificCastNackItemCode) { |
| 575 const RtcpField& rtcp_field = rtcp_parser->Field(); | 576 const RtcpField& rtcp_field = rtcp_parser->Field(); |
| 576 HandlePayloadSpecificCastNackItem( | 577 HandlePayloadSpecificCastNackItem( |
| 577 &rtcp_field, &cast_message.missing_frames_and_packets_); | 578 &rtcp_field, &cast_message.missing_frames_and_packets_); |
| 578 packet_type = rtcp_parser->Iterate(); | 579 packet_type = rtcp_parser->Iterate(); |
| 579 } | 580 } |
| 580 if (sender_feedback_) { | 581 if (sender_feedback_) { |
| 581 sender_feedback_->OnReceivedCastFeedback(cast_message); | 582 sender_feedback_->OnReceivedCastFeedback(cast_message); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 630 void RtcpReceiver::HandleFIRItem(const RtcpField* rtcp_field) { | 631 void RtcpReceiver::HandleFIRItem(const RtcpField* rtcp_field) { |
| 631 // Is it our sender that is requested to generate a new keyframe. | 632 // Is it our sender that is requested to generate a new keyframe. |
| 632 if (ssrc_ != rtcp_field->fir_item.ssrc) | 633 if (ssrc_ != rtcp_field->fir_item.ssrc) |
| 633 return; | 634 return; |
| 634 | 635 |
| 635 VLOG(2) << "Cast RTCP received FIR on our SSRC " << ssrc_; | 636 VLOG(2) << "Cast RTCP received FIR on our SSRC " << ssrc_; |
| 636 } | 637 } |
| 637 | 638 |
| 638 } // namespace cast | 639 } // namespace cast |
| 639 } // namespace media | 640 } // namespace media |
| OLD | NEW |