| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 784 return SEND_PACKET; | 784 return SEND_PACKET; |
| 785 } | 785 } |
| 786 | 786 |
| 787 if (header.timestamp == retransmitted_timestamp_) { | 787 if (header.timestamp == retransmitted_timestamp_) { |
| 788 EXPECT_EQ(retransmission_ssrc_, header.ssrc); | 788 EXPECT_EQ(retransmission_ssrc_, header.ssrc); |
| 789 EXPECT_EQ(retransmission_payload_type_, header.payloadType); | 789 EXPECT_EQ(retransmission_payload_type_, header.payloadType); |
| 790 frame_retransmitted_ = true; | 790 frame_retransmitted_ = true; |
| 791 return SEND_PACKET; | 791 return SEND_PACKET; |
| 792 } | 792 } |
| 793 | 793 |
| 794 EXPECT_EQ(kVideoSendSsrcs[0], header.ssrc) | |
| 795 << "Unexpected packet length " << length | |
| 796 << ", header_length " << header.headerLength | |
| 797 << ", padding_length " << header.paddingLength | |
| 798 << ", timestamp " << header.timestamp | |
| 799 << ", expected timestamp " << retransmitted_timestamp_ | |
| 800 << ", payload type " << static_cast<int>(header.payloadType); | |
| 801 EXPECT_EQ(payload_type_, header.payloadType); | |
| 802 | |
| 803 // Found the final packet of the frame to inflict loss to, drop this and | 794 // Found the final packet of the frame to inflict loss to, drop this and |
| 804 // expect a retransmission. | 795 // expect a retransmission. |
| 805 if (header.markerBit && ++marker_bits_observed_ == kDroppedFrameNumber) { | 796 if (header.payloadType == payload_type_ && header.markerBit && |
| 797 ++marker_bits_observed_ == kDroppedFrameNumber) { |
| 806 // This should be the only dropped packet. | 798 // This should be the only dropped packet. |
| 807 EXPECT_EQ(0u, retransmitted_timestamp_); | 799 EXPECT_EQ(0u, retransmitted_timestamp_); |
| 808 retransmitted_timestamp_ = header.timestamp; | 800 retransmitted_timestamp_ = header.timestamp; |
| 809 return DROP_PACKET; | 801 return DROP_PACKET; |
| 810 } | 802 } |
| 811 | 803 |
| 812 return SEND_PACKET; | 804 return SEND_PACKET; |
| 813 } | 805 } |
| 814 | 806 |
| 815 void FrameCallback(VideoFrame* frame) override { | 807 void FrameCallback(VideoFrame* frame) override { |
| (...skipping 2828 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3644 private: | 3636 private: |
| 3645 bool video_observed_; | 3637 bool video_observed_; |
| 3646 bool audio_observed_; | 3638 bool audio_observed_; |
| 3647 SequenceNumberUnwrapper unwrapper_; | 3639 SequenceNumberUnwrapper unwrapper_; |
| 3648 std::set<int64_t> received_packet_ids_; | 3640 std::set<int64_t> received_packet_ids_; |
| 3649 } test; | 3641 } test; |
| 3650 | 3642 |
| 3651 RunBaseTest(&test); | 3643 RunBaseTest(&test); |
| 3652 } | 3644 } |
| 3653 } // namespace webrtc | 3645 } // namespace webrtc |
| OLD | NEW |