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

Side by Side Diff: webrtc/modules/rtp_rtcp/source/flexfec_header_reader_writer_unittest.cc

Issue 2495253002: Update header formatterts to FlexFEC draft 03. (Closed)
Patch Set: Created 4 years, 1 month 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
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/flexfec_header_reader_writer.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
(...skipping 25 matching lines...) Expand all
36 constexpr uint16_t kMediaStartSeqNum = 825; 36 constexpr uint16_t kMediaStartSeqNum = 825;
37 constexpr size_t kMediaPacketLength = 1234; 37 constexpr size_t kMediaPacketLength = 1234;
38 constexpr uint32_t kFlexfecSsrc = 52142; 38 constexpr uint32_t kFlexfecSsrc = 52142;
39 39
40 constexpr size_t kFlexfecHeaderSizes[] = {20, 24, 32}; 40 constexpr size_t kFlexfecHeaderSizes[] = {20, 24, 32};
41 constexpr size_t kFlexfecPacketMaskOffset = 18; 41 constexpr size_t kFlexfecPacketMaskOffset = 18;
42 constexpr size_t kFlexfecPacketMaskSizes[] = {2, 6, 14}; 42 constexpr size_t kFlexfecPacketMaskSizes[] = {2, 6, 14};
43 constexpr size_t kFlexfecMaxPacketSize = kFlexfecPacketMaskSizes[2]; 43 constexpr size_t kFlexfecMaxPacketSize = kFlexfecPacketMaskSizes[2];
44 44
45 // Reader tests. 45 // Reader tests.
46 constexpr uint8_t kNoFBit = 0 << 7; 46 constexpr uint8_t kNoRBit = 0 << 7;
47 constexpr uint8_t kNoRBit = 0 << 6; 47 constexpr uint8_t kNoFBit = 0 << 6;
48 constexpr uint8_t kPtRecovery = 123; 48 constexpr uint8_t kPtRecovery = 123;
49 constexpr uint8_t kLengthRecov[] = {0xab, 0xcd}; 49 constexpr uint8_t kLengthRecov[] = {0xab, 0xcd};
50 constexpr uint8_t kTsRecovery[] = {0x01, 0x23, 0x45, 0x67}; 50 constexpr uint8_t kTsRecovery[] = {0x01, 0x23, 0x45, 0x67};
51 constexpr uint8_t kSsrcCount = 1; 51 constexpr uint8_t kSsrcCount = 1;
52 constexpr uint8_t kReservedBits = 0x00; 52 constexpr uint8_t kReservedBits = 0x00;
53 constexpr uint8_t kProtSsrc[] = {0x11, 0x22, 0x33, 0x44}; 53 constexpr uint8_t kProtSsrc[] = {0x11, 0x22, 0x33, 0x44};
54 constexpr uint8_t kSnBase[] = {0xaa, 0xbb}; 54 constexpr uint8_t kSnBase[] = {0xaa, 0xbb};
55 constexpr uint8_t kPayloadBits = 0x00; 55 constexpr uint8_t kPayloadBits = 0x00;
56 56
57 std::unique_ptr<uint8_t[]> GeneratePacketMask(size_t packet_mask_size, 57 std::unique_ptr<uint8_t[]> GeneratePacketMask(size_t packet_mask_size,
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 166
167 TEST(FlexfecHeaderReaderTest, ReadsHeaderWithKBit0Set) { 167 TEST(FlexfecHeaderReaderTest, ReadsHeaderWithKBit0Set) {
168 constexpr uint8_t kKBit0 = 1 << 7; 168 constexpr uint8_t kKBit0 = 1 << 7;
169 constexpr size_t kExpectedPacketMaskSize = 2; 169 constexpr size_t kExpectedPacketMaskSize = 2;
170 constexpr size_t kExpectedFecHeaderSize = 20; 170 constexpr size_t kExpectedFecHeaderSize = 20;
171 // clang-format off 171 // clang-format off
172 constexpr uint8_t kFlexfecPktMask[] = {kKBit0 | 0x08, 0x81}; 172 constexpr uint8_t kFlexfecPktMask[] = {kKBit0 | 0x08, 0x81};
173 constexpr uint8_t kUlpfecPacketMask[] = {0x11, 0x02}; 173 constexpr uint8_t kUlpfecPacketMask[] = {0x11, 0x02};
174 // clang-format on 174 // clang-format on
175 constexpr uint8_t kPacketData[] = { 175 constexpr uint8_t kPacketData[] = {
176 kNoFBit | kNoRBit, kPtRecovery, kLengthRecov[0], kLengthRecov[1], 176 kNoRBit | kNoFBit, kPtRecovery, kLengthRecov[0], kLengthRecov[1],
177 kTsRecovery[0], kTsRecovery[1], kTsRecovery[2], kTsRecovery[3], 177 kTsRecovery[0], kTsRecovery[1], kTsRecovery[2], kTsRecovery[3],
178 kSsrcCount, kReservedBits, kReservedBits, kReservedBits, 178 kSsrcCount, kReservedBits, kReservedBits, kReservedBits,
179 kProtSsrc[0], kProtSsrc[1], kProtSsrc[2], kProtSsrc[3], 179 kProtSsrc[0], kProtSsrc[1], kProtSsrc[2], kProtSsrc[3],
180 kSnBase[0], kSnBase[1], kFlexfecPktMask[0], kFlexfecPktMask[1], 180 kSnBase[0], kSnBase[1], kFlexfecPktMask[0], kFlexfecPktMask[1],
181 kPayloadBits, kPayloadBits, kPayloadBits, kPayloadBits}; 181 kPayloadBits, kPayloadBits, kPayloadBits, kPayloadBits};
182 const size_t packet_length = sizeof(kPacketData); 182 const size_t packet_length = sizeof(kPacketData);
183 ReceivedFecPacket read_packet; 183 ReceivedFecPacket read_packet;
184 read_packet.pkt = rtc::scoped_refptr<Packet>(new Packet()); 184 read_packet.pkt = rtc::scoped_refptr<Packet>(new Packet());
185 memcpy(read_packet.pkt->data, kPacketData, packet_length); 185 memcpy(read_packet.pkt->data, kPacketData, packet_length);
186 read_packet.pkt->length = packet_length; 186 read_packet.pkt->length = packet_length;
(...skipping 10 matching lines...) Expand all
197 constexpr uint8_t kKBit1 = 1 << 7; 197 constexpr uint8_t kKBit1 = 1 << 7;
198 constexpr size_t kExpectedPacketMaskSize = 6; 198 constexpr size_t kExpectedPacketMaskSize = 6;
199 constexpr size_t kExpectedFecHeaderSize = 24; 199 constexpr size_t kExpectedFecHeaderSize = 24;
200 // clang-format off 200 // clang-format off
201 constexpr uint8_t kFlxfecPktMsk[] = {kKBit0 | 0x48, 0x81, 201 constexpr uint8_t kFlxfecPktMsk[] = {kKBit0 | 0x48, 0x81,
202 kKBit1 | 0x02, 0x11, 0x00, 0x21}; 202 kKBit1 | 0x02, 0x11, 0x00, 0x21};
203 constexpr uint8_t kUlpfecPacketMask[] = {0x91, 0x02, 203 constexpr uint8_t kUlpfecPacketMask[] = {0x91, 0x02,
204 0x08, 0x44, 0x00, 0x84}; 204 0x08, 0x44, 0x00, 0x84};
205 // clang-format on 205 // clang-format on
206 constexpr uint8_t kPacketData[] = { 206 constexpr uint8_t kPacketData[] = {
207 kNoFBit | kNoRBit, kPtRecovery, kLengthRecov[0], kLengthRecov[1], 207 kNoRBit | kNoFBit, kPtRecovery, kLengthRecov[0], kLengthRecov[1],
208 kTsRecovery[0], kTsRecovery[1], kTsRecovery[2], kTsRecovery[3], 208 kTsRecovery[0], kTsRecovery[1], kTsRecovery[2], kTsRecovery[3],
209 kSsrcCount, kReservedBits, kReservedBits, kReservedBits, 209 kSsrcCount, kReservedBits, kReservedBits, kReservedBits,
210 kProtSsrc[0], kProtSsrc[1], kProtSsrc[2], kProtSsrc[3], 210 kProtSsrc[0], kProtSsrc[1], kProtSsrc[2], kProtSsrc[3],
211 kSnBase[0], kSnBase[1], kFlxfecPktMsk[0], kFlxfecPktMsk[1], 211 kSnBase[0], kSnBase[1], kFlxfecPktMsk[0], kFlxfecPktMsk[1],
212 kFlxfecPktMsk[2], kFlxfecPktMsk[3], kFlxfecPktMsk[4], kFlxfecPktMsk[5], 212 kFlxfecPktMsk[2], kFlxfecPktMsk[3], kFlxfecPktMsk[4], kFlxfecPktMsk[5],
213 kPayloadBits, kPayloadBits, kPayloadBits, kPayloadBits}; 213 kPayloadBits, kPayloadBits, kPayloadBits, kPayloadBits};
214 const size_t packet_length = sizeof(kPacketData); 214 const size_t packet_length = sizeof(kPacketData);
215 ReceivedFecPacket read_packet; 215 ReceivedFecPacket read_packet;
216 read_packet.pkt = rtc::scoped_refptr<Packet>(new Packet()); 216 read_packet.pkt = rtc::scoped_refptr<Packet>(new Packet());
217 memcpy(read_packet.pkt->data, kPacketData, packet_length); 217 memcpy(read_packet.pkt->data, kPacketData, packet_length);
(...skipping 16 matching lines...) Expand all
234 constexpr uint8_t kFlxfcPktMsk[] = {kKBit0 | 0x48, 0x81, 234 constexpr uint8_t kFlxfcPktMsk[] = {kKBit0 | 0x48, 0x81,
235 kKBit1 | 0x02, 0x11, 0x00, 0x21, 235 kKBit1 | 0x02, 0x11, 0x00, 0x21,
236 kKBit2 | 0x01, 0x11, 0x11, 0x11, 236 kKBit2 | 0x01, 0x11, 0x11, 0x11,
237 0x11, 0x11, 0x11, 0x11}; 237 0x11, 0x11, 0x11, 0x11};
238 constexpr uint8_t kUlpfecPacketMask[] = {0x91, 0x02, 238 constexpr uint8_t kUlpfecPacketMask[] = {0x91, 0x02,
239 0x08, 0x44, 0x00, 0x84, 239 0x08, 0x44, 0x00, 0x84,
240 0x08, 0x88, 0x88, 0x88, 240 0x08, 0x88, 0x88, 0x88,
241 0x88, 0x88, 0x88, 0x88}; 241 0x88, 0x88, 0x88, 0x88};
242 // clang-format on 242 // clang-format on
243 constexpr uint8_t kPacketData[] = { 243 constexpr uint8_t kPacketData[] = {
244 kNoFBit | kNoRBit, kPtRecovery, kLengthRecov[0], kLengthRecov[1], 244 kNoRBit | kNoFBit, kPtRecovery, kLengthRecov[0], kLengthRecov[1],
245 kTsRecovery[0], kTsRecovery[1], kTsRecovery[2], kTsRecovery[3], 245 kTsRecovery[0], kTsRecovery[1], kTsRecovery[2], kTsRecovery[3],
246 kSsrcCount, kReservedBits, kReservedBits, kReservedBits, 246 kSsrcCount, kReservedBits, kReservedBits, kReservedBits,
247 kProtSsrc[0], kProtSsrc[1], kProtSsrc[2], kProtSsrc[3], 247 kProtSsrc[0], kProtSsrc[1], kProtSsrc[2], kProtSsrc[3],
248 kSnBase[0], kSnBase[1], kFlxfcPktMsk[0], kFlxfcPktMsk[1], 248 kSnBase[0], kSnBase[1], kFlxfcPktMsk[0], kFlxfcPktMsk[1],
249 kFlxfcPktMsk[2], kFlxfcPktMsk[3], kFlxfcPktMsk[4], kFlxfcPktMsk[5], 249 kFlxfcPktMsk[2], kFlxfcPktMsk[3], kFlxfcPktMsk[4], kFlxfcPktMsk[5],
250 kFlxfcPktMsk[6], kFlxfcPktMsk[7], kFlxfcPktMsk[8], kFlxfcPktMsk[9], 250 kFlxfcPktMsk[6], kFlxfcPktMsk[7], kFlxfcPktMsk[8], kFlxfcPktMsk[9],
251 kFlxfcPktMsk[10], kFlxfcPktMsk[11], kFlxfcPktMsk[12], kFlxfcPktMsk[13], 251 kFlxfcPktMsk[10], kFlxfcPktMsk[11], kFlxfcPktMsk[12], kFlxfcPktMsk[13],
252 kPayloadBits, kPayloadBits, kPayloadBits, kPayloadBits}; 252 kPayloadBits, kPayloadBits, kPayloadBits, kPayloadBits};
253 const size_t packet_length = sizeof(kPacketData); 253 const size_t packet_length = sizeof(kPacketData);
254 ReceivedFecPacket read_packet; 254 ReceivedFecPacket read_packet;
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 550
551 auto written_packet = WriteHeader(packet_mask.get(), packet_mask_size); 551 auto written_packet = WriteHeader(packet_mask.get(), packet_mask_size);
552 auto read_packet = ReadHeader(*written_packet); 552 auto read_packet = ReadHeader(*written_packet);
553 553
554 VerifyWrittenAndReadHeaders(kFlexfecHeaderSizes[2], packet_mask.get(), 554 VerifyWrittenAndReadHeaders(kFlexfecHeaderSizes[2], packet_mask.get(),
555 kFlexfecPacketMaskSizes[2], *written_packet, 555 kFlexfecPacketMaskSizes[2], *written_packet,
556 *read_packet); 556 *read_packet);
557 } 557 }
558 558
559 } // namespace webrtc 559 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/flexfec_header_reader_writer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698