| OLD | NEW | 
|   1 /* |   1 /* | 
|   2  *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. |   2  *  Copyright (c) 2016 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  |  10  | 
|  11 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.h" |  11 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/rapid_resync_request.h" | 
|  12  |  12  | 
|  13 #include "testing/gmock/include/gmock/gmock.h" |  13 #include "testing/gmock/include/gmock/gmock.h" | 
|  14 #include "testing/gtest/include/gtest/gtest.h" |  14 #include "testing/gtest/include/gtest/gtest.h" | 
|  15  |  15  | 
|  16 using testing::ElementsAreArray; |  16 using testing::ElementsAreArray; | 
|  17 using testing::make_tuple; |  17 using testing::make_tuple; | 
|  18 using webrtc::rtcp::RapidResyncRequest; |  18 using webrtc::rtcp::RapidResyncRequest; | 
|  19 using webrtc::rtcp::RawPacket; |  | 
|  20 using webrtc::RTCPUtility::RtcpCommonHeader; |  19 using webrtc::RTCPUtility::RtcpCommonHeader; | 
|  21 using webrtc::RTCPUtility::RtcpParseCommonHeader; |  20 using webrtc::RTCPUtility::RtcpParseCommonHeader; | 
|  22  |  21  | 
|  23 namespace webrtc { |  22 namespace webrtc { | 
|  24 namespace { |  23 namespace { | 
|  25 const uint32_t kSenderSsrc = 0x12345678; |  24 const uint32_t kSenderSsrc = 0x12345678; | 
|  26 const uint32_t kRemoteSsrc = 0x23456789; |  25 const uint32_t kRemoteSsrc = 0x23456789; | 
|  27 // Manually created packet matching constants above. |  26 // Manually created packet matching constants above. | 
|  28 const uint8_t kPacket[] = {0x85, 205,  0x00, 0x02, |  27 const uint8_t kPacket[] = {0x85, 205,  0x00, 0x02, | 
|  29                            0x12, 0x34, 0x56, 0x78, |  28                            0x12, 0x34, 0x56, 0x78, | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
|  41  |  40  | 
|  42   EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); |  41   EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); | 
|  43   EXPECT_EQ(kRemoteSsrc, parsed.media_ssrc()); |  42   EXPECT_EQ(kRemoteSsrc, parsed.media_ssrc()); | 
|  44 } |  43 } | 
|  45  |  44  | 
|  46 TEST(RtcpPacketRapidResyncRequestTest, Create) { |  45 TEST(RtcpPacketRapidResyncRequestTest, Create) { | 
|  47   RapidResyncRequest rrr; |  46   RapidResyncRequest rrr; | 
|  48   rrr.From(kSenderSsrc); |  47   rrr.From(kSenderSsrc); | 
|  49   rrr.To(kRemoteSsrc); |  48   rrr.To(kRemoteSsrc); | 
|  50  |  49  | 
|  51   rtc::scoped_ptr<RawPacket> packet = rrr.Build(); |  50   rtc::Buffer packet = rrr.Build(); | 
|  52  |  51  | 
|  53   EXPECT_THAT(make_tuple(packet->Buffer(), packet->Length()), |  52   EXPECT_THAT(make_tuple(packet.data(), packet.size()), | 
|  54               ElementsAreArray(kPacket)); |  53               ElementsAreArray(kPacket)); | 
|  55 } |  54 } | 
|  56  |  55  | 
|  57 TEST(RtcpPacketRapidResyncRequestTest, ParseFailsOnWrongSizePacket) { |  56 TEST(RtcpPacketRapidResyncRequestTest, ParseFailsOnWrongSizePacket) { | 
|  58   RapidResyncRequest parsed; |  57   RapidResyncRequest parsed; | 
|  59   RtcpCommonHeader header; |  58   RtcpCommonHeader header; | 
|  60   ASSERT_TRUE(RtcpParseCommonHeader(kPacket, kPacketLength, &header)); |  59   ASSERT_TRUE(RtcpParseCommonHeader(kPacket, kPacketLength, &header)); | 
|  61   const size_t kCorrectPayloadSize = header.payload_size_bytes; |  60   const size_t kCorrectPayloadSize = header.payload_size_bytes; | 
|  62   const uint8_t* payload = kPacket + RtcpCommonHeader::kHeaderSizeBytes; |  61   const uint8_t* payload = kPacket + RtcpCommonHeader::kHeaderSizeBytes; | 
|  63  |  62  | 
|  64   header.payload_size_bytes = kCorrectPayloadSize - 1; |  63   header.payload_size_bytes = kCorrectPayloadSize - 1; | 
|  65   EXPECT_FALSE(parsed.Parse(header, payload)); |  64   EXPECT_FALSE(parsed.Parse(header, payload)); | 
|  66  |  65  | 
|  67   header.payload_size_bytes = kCorrectPayloadSize + 1; |  66   header.payload_size_bytes = kCorrectPayloadSize + 1; | 
|  68   EXPECT_FALSE(parsed.Parse(header, payload)); |  67   EXPECT_FALSE(parsed.Parse(header, payload)); | 
|  69 } |  68 } | 
|  70 }  // namespace webrtc |  69 }  // namespace webrtc | 
| OLD | NEW |