OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2004 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 // Fake RTP and RTCP packets to use in unit tests. | 11 // Fake RTP and RTCP packets to use in unit tests. |
12 | 12 |
13 #ifndef WEBRTC_MEDIA_BASE_FAKERTP_H_ | 13 #ifndef WEBRTC_MEDIA_BASE_FAKERTP_H_ |
14 #define WEBRTC_MEDIA_BASE_FAKERTP_H_ | 14 #define WEBRTC_MEDIA_BASE_FAKERTP_H_ |
15 | 15 |
| 16 #include <vector> |
| 17 |
16 // A typical PCMU RTP packet. | 18 // A typical PCMU RTP packet. |
17 // PT=0, SN=1, TS=0, SSRC=1 | 19 // PT=0, SN=1, TS=0, SSRC=1 |
18 // all data FF | 20 // all data FF |
19 static const unsigned char kPcmuFrame[] = { | 21 static const unsigned char kPcmuFrame[] = { |
20 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, | 22 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, |
21 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 23 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
22 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 24 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
23 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 25 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
24 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 26 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
25 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 27 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
26 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 28 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
27 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 29 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
28 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 30 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
29 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 31 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
30 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 32 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
31 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 33 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
32 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 34 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
33 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 35 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
34 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 36 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
35 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 37 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
36 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 38 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
37 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 39 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
38 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 40 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
39 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 41 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
40 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 42 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
41 }; | 43 }; |
42 | 44 |
| 45 // A typical PCMU RTP packet with header extensions. |
| 46 // PT=0, SN=1, TS=0, SSRC=1 |
| 47 // all data FF |
| 48 static const unsigned char kPcmuFrameWithExtensions[] = { |
| 49 0x90, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, |
| 50 // RFC 5285, section 4.2. One-Byte Header. |
| 51 0xBE, 0xDE, |
| 52 // Header extension length 6 * 32 bits. |
| 53 0x00, 0x06, |
| 54 // 8 bytes header id 1. |
| 55 0x17, 0x41, 0x42, 0x73, 0xA4, 0x75, 0x26, 0x27, 0x48, |
| 56 // 3 bytes header id 2. |
| 57 0x22, 0x00, 0x00, 0xC8, |
| 58 // 1 byte header id 3. |
| 59 0x30, 0x8E, |
| 60 // 7 bytes header id 4. |
| 61 0x46, 0x55, 0x99, 0x63, 0x86, 0xB3, 0x95, 0xFB, |
| 62 // 1 byte header padding. |
| 63 0x00, |
| 64 // Payload data. |
| 65 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 66 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 67 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 68 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 69 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 70 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 71 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 72 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 73 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 74 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 75 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 76 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 77 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 78 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 79 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 80 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 81 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 82 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 83 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 84 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
| 85 }; |
| 86 |
43 // A typical Receiver Report RTCP packet. | 87 // A typical Receiver Report RTCP packet. |
44 // PT=RR, LN=1, SSRC=1 | 88 // PT=RR, LN=1, SSRC=1 |
45 // send SSRC=2, all other fields 0 | 89 // send SSRC=2, all other fields 0 |
46 static const unsigned char kRtcpReport[] = { | 90 static const unsigned char kRtcpReport[] = { |
47 0x80, 0xc9, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, | 91 0x80, 0xc9, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, |
48 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, | 92 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, |
49 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 93 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
50 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | 94 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |
51 }; | 95 }; |
52 | 96 |
(...skipping 24 matching lines...) Expand all Loading... |
77 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | 121 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
78 }; | 122 }; |
79 | 123 |
80 // PT= 101, SN=2, TS=3, SSRC = 4 | 124 // PT= 101, SN=2, TS=3, SSRC = 4 |
81 static const unsigned char kDataPacket[] = { | 125 static const unsigned char kDataPacket[] = { |
82 0x80, 0x65, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, | 126 0x80, 0x65, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, |
83 0x00, 0x00, 0x00, 0x00, | 127 0x00, 0x00, 0x00, 0x00, |
84 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, | 128 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, |
85 }; | 129 }; |
86 | 130 |
| 131 // This expects both packets to be based on kPcmuFrameWithExtensions. |
| 132 // Header extensions with an id in "encrypted_headers" are expected to be |
| 133 // different in the packets unless "expect_equal" is set to "true". |
| 134 void CompareHeaderExtensions(const char* packet1, size_t packet1_size, |
| 135 const char* packet2, size_t packet2_size, |
| 136 const std::vector<int> encrypted_headers, bool expect_equal); |
| 137 |
87 #endif // WEBRTC_MEDIA_BASE_FAKERTP_H_ | 138 #endif // WEBRTC_MEDIA_BASE_FAKERTP_H_ |
OLD | NEW |