Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(326)

Side by Side Diff: media/cast/net/rtp/rtp_parser_unittest.cc

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/rand_util.h" 6 #include "base/rand_util.h"
7 #include "media/cast/net/rtp/rtp_defines.h" 7 #include "media/cast/net/rtp/rtp_defines.h"
8 #include "media/cast/net/rtp/rtp_packet_builder.h" 8 #include "media/cast/net/rtp/rtp_packet_builder.h"
9 #include "media/cast/net/rtp/rtp_parser.h" 9 #include "media/cast/net/rtp/rtp_parser.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 namespace media { 12 namespace media {
13 namespace cast { 13 namespace cast {
14 14
15 static const size_t kPacketLength = 1500; 15 static const size_t kPacketLength = 1500;
16 static const int kTestPayloadType = 127; 16 static const int kTestPayloadType = 127;
17 static const uint32 kTestSsrc = 1234; 17 static const uint32_t kTestSsrc = 1234;
18 static const uint32 kTestTimestamp = 111111; 18 static const uint32_t kTestTimestamp = 111111;
19 static const uint16 kTestSeqNum = 4321; 19 static const uint16_t kTestSeqNum = 4321;
20 static const uint8 kRefFrameId = 17; 20 static const uint8_t kRefFrameId = 17;
21 21
22 class RtpParserTest : public ::testing::Test { 22 class RtpParserTest : public ::testing::Test {
23 protected: 23 protected:
24 RtpParserTest() : rtp_parser_(kTestSsrc, kTestPayloadType) { 24 RtpParserTest() : rtp_parser_(kTestSsrc, kTestPayloadType) {
25 packet_builder_.SetSsrc(kTestSsrc); 25 packet_builder_.SetSsrc(kTestSsrc);
26 packet_builder_.SetSequenceNumber(kTestSeqNum); 26 packet_builder_.SetSequenceNumber(kTestSeqNum);
27 packet_builder_.SetTimestamp(kTestTimestamp); 27 packet_builder_.SetTimestamp(kTestTimestamp);
28 packet_builder_.SetPayloadType(kTestPayloadType); 28 packet_builder_.SetPayloadType(kTestPayloadType);
29 packet_builder_.SetMarkerBit(true); // Only one packet. 29 packet_builder_.SetMarkerBit(true); // Only one packet.
30 cast_header_.sender_ssrc = kTestSsrc; 30 cast_header_.sender_ssrc = kTestSsrc;
31 cast_header_.sequence_number = kTestSeqNum; 31 cast_header_.sequence_number = kTestSeqNum;
32 cast_header_.rtp_timestamp = kTestTimestamp; 32 cast_header_.rtp_timestamp = kTestTimestamp;
33 cast_header_.payload_type = kTestPayloadType; 33 cast_header_.payload_type = kTestPayloadType;
34 cast_header_.marker = true; 34 cast_header_.marker = true;
35 } 35 }
36 36
37 ~RtpParserTest() override {} 37 ~RtpParserTest() override {}
38 38
39 void ExpectParsesPacket() { 39 void ExpectParsesPacket() {
40 RtpCastHeader parsed_header; 40 RtpCastHeader parsed_header;
41 const uint8* payload = NULL; 41 const uint8_t* payload = NULL;
42 size_t payload_size = static_cast<size_t>(-1); 42 size_t payload_size = static_cast<size_t>(-1);
43 EXPECT_TRUE(rtp_parser_.ParsePacket( 43 EXPECT_TRUE(rtp_parser_.ParsePacket(
44 packet_, kPacketLength, &parsed_header, &payload, &payload_size)); 44 packet_, kPacketLength, &parsed_header, &payload, &payload_size));
45 45
46 EXPECT_EQ(cast_header_.marker, parsed_header.marker); 46 EXPECT_EQ(cast_header_.marker, parsed_header.marker);
47 EXPECT_EQ(cast_header_.payload_type, parsed_header.payload_type); 47 EXPECT_EQ(cast_header_.payload_type, parsed_header.payload_type);
48 EXPECT_EQ(cast_header_.sequence_number, parsed_header.sequence_number); 48 EXPECT_EQ(cast_header_.sequence_number, parsed_header.sequence_number);
49 EXPECT_EQ(cast_header_.rtp_timestamp, parsed_header.rtp_timestamp); 49 EXPECT_EQ(cast_header_.rtp_timestamp, parsed_header.rtp_timestamp);
50 EXPECT_EQ(cast_header_.sender_ssrc, parsed_header.sender_ssrc); 50 EXPECT_EQ(cast_header_.sender_ssrc, parsed_header.sender_ssrc);
51 51
52 EXPECT_EQ(cast_header_.is_key_frame, parsed_header.is_key_frame); 52 EXPECT_EQ(cast_header_.is_key_frame, parsed_header.is_key_frame);
53 EXPECT_EQ(cast_header_.frame_id, parsed_header.frame_id); 53 EXPECT_EQ(cast_header_.frame_id, parsed_header.frame_id);
54 EXPECT_EQ(cast_header_.packet_id, parsed_header.packet_id); 54 EXPECT_EQ(cast_header_.packet_id, parsed_header.packet_id);
55 EXPECT_EQ(cast_header_.max_packet_id, parsed_header.max_packet_id); 55 EXPECT_EQ(cast_header_.max_packet_id, parsed_header.max_packet_id);
56 EXPECT_EQ(cast_header_.reference_frame_id, 56 EXPECT_EQ(cast_header_.reference_frame_id,
57 parsed_header.reference_frame_id); 57 parsed_header.reference_frame_id);
58 58
59 EXPECT_TRUE(payload); 59 EXPECT_TRUE(payload);
60 EXPECT_NE(static_cast<size_t>(-1), payload_size); 60 EXPECT_NE(static_cast<size_t>(-1), payload_size);
61 } 61 }
62 62
63 void ExpectDoesNotParsePacket() { 63 void ExpectDoesNotParsePacket() {
64 RtpCastHeader parsed_header; 64 RtpCastHeader parsed_header;
65 const uint8* payload = NULL; 65 const uint8_t* payload = NULL;
66 size_t payload_size = static_cast<size_t>(-1); 66 size_t payload_size = static_cast<size_t>(-1);
67 EXPECT_FALSE(rtp_parser_.ParsePacket( 67 EXPECT_FALSE(rtp_parser_.ParsePacket(
68 packet_, kPacketLength, &parsed_header, &payload, &payload_size)); 68 packet_, kPacketLength, &parsed_header, &payload, &payload_size));
69 } 69 }
70 70
71 RtpPacketBuilder packet_builder_; 71 RtpPacketBuilder packet_builder_;
72 uint8 packet_[kPacketLength]; 72 uint8_t packet_[kPacketLength];
73 RtpParser rtp_parser_; 73 RtpParser rtp_parser_;
74 RtpCastHeader cast_header_; 74 RtpCastHeader cast_header_;
75 }; 75 };
76 76
77 TEST_F(RtpParserTest, ParseDefaultCastPacket) { 77 TEST_F(RtpParserTest, ParseDefaultCastPacket) {
78 packet_builder_.BuildHeader(packet_, kPacketLength); 78 packet_builder_.BuildHeader(packet_, kPacketLength);
79 ExpectParsesPacket(); 79 ExpectParsesPacket();
80 } 80 }
81 81
82 TEST_F(RtpParserTest, ParseNonDefaultCastPacket) { 82 TEST_F(RtpParserTest, ParseNonDefaultCastPacket) {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 157
158 TEST_F(RtpParserTest, ParseCastPacketWithSpecificFrameReference) { 158 TEST_F(RtpParserTest, ParseCastPacketWithSpecificFrameReference) {
159 packet_builder_.SetFrameIds(kRefFrameId + 3, kRefFrameId); 159 packet_builder_.SetFrameIds(kRefFrameId + 3, kRefFrameId);
160 packet_builder_.BuildHeader(packet_, kPacketLength); 160 packet_builder_.BuildHeader(packet_, kPacketLength);
161 cast_header_.frame_id = kRefFrameId + 3; 161 cast_header_.frame_id = kRefFrameId + 3;
162 cast_header_.reference_frame_id = kRefFrameId; 162 cast_header_.reference_frame_id = kRefFrameId;
163 ExpectParsesPacket(); 163 ExpectParsesPacket();
164 } 164 }
165 165
166 TEST_F(RtpParserTest, ParseExpandingFrameIdTo32Bits) { 166 TEST_F(RtpParserTest, ParseExpandingFrameIdTo32Bits) {
167 const uint32 kMaxFrameId = 1000; 167 const uint32_t kMaxFrameId = 1000;
168 packet_builder_.SetKeyFrame(true); 168 packet_builder_.SetKeyFrame(true);
169 cast_header_.is_key_frame = true; 169 cast_header_.is_key_frame = true;
170 for (uint32 frame_id = 0; frame_id <= kMaxFrameId; ++frame_id) { 170 for (uint32_t frame_id = 0; frame_id <= kMaxFrameId; ++frame_id) {
171 packet_builder_.SetFrameIds(frame_id, frame_id); 171 packet_builder_.SetFrameIds(frame_id, frame_id);
172 packet_builder_.BuildHeader(packet_, kPacketLength); 172 packet_builder_.BuildHeader(packet_, kPacketLength);
173 cast_header_.frame_id = frame_id; 173 cast_header_.frame_id = frame_id;
174 cast_header_.reference_frame_id = frame_id; 174 cast_header_.reference_frame_id = frame_id;
175 ExpectParsesPacket(); 175 ExpectParsesPacket();
176 } 176 }
177 } 177 }
178 178
179 TEST_F(RtpParserTest, ParseExpandingReferenceFrameIdTo32Bits) { 179 TEST_F(RtpParserTest, ParseExpandingReferenceFrameIdTo32Bits) {
180 const uint32 kMaxFrameId = 1000; 180 const uint32_t kMaxFrameId = 1000;
181 const uint32 kMaxBackReferenceOffset = 10; 181 const uint32_t kMaxBackReferenceOffset = 10;
182 packet_builder_.SetKeyFrame(false); 182 packet_builder_.SetKeyFrame(false);
183 cast_header_.is_key_frame = false; 183 cast_header_.is_key_frame = false;
184 for (uint32 frame_id = kMaxBackReferenceOffset; 184 for (uint32_t frame_id = kMaxBackReferenceOffset; frame_id <= kMaxFrameId;
185 frame_id <= kMaxFrameId; ++frame_id) { 185 ++frame_id) {
186 const uint32 reference_frame_id = 186 const uint32_t reference_frame_id =
187 frame_id - base::RandInt(1, kMaxBackReferenceOffset); 187 frame_id - base::RandInt(1, kMaxBackReferenceOffset);
188 packet_builder_.SetFrameIds(frame_id, reference_frame_id); 188 packet_builder_.SetFrameIds(frame_id, reference_frame_id);
189 packet_builder_.BuildHeader(packet_, kPacketLength); 189 packet_builder_.BuildHeader(packet_, kPacketLength);
190 cast_header_.frame_id = frame_id; 190 cast_header_.frame_id = frame_id;
191 cast_header_.reference_frame_id = reference_frame_id; 191 cast_header_.reference_frame_id = reference_frame_id;
192 ExpectParsesPacket(); 192 ExpectParsesPacket();
193 } 193 }
194 } 194 }
195 195
196 } // namespace cast 196 } // namespace cast
197 } // namespace media 197 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698