Index: webrtc/media/base/fakertp.h |
diff --git a/webrtc/media/base/fakertp.h b/webrtc/media/base/fakertp.h |
index a9c6fe01632654a3b93bce9a03c1975d29cf73bd..88419a55e88c83d87d1ca27f3a5cfdc2610589b8 100644 |
--- a/webrtc/media/base/fakertp.h |
+++ b/webrtc/media/base/fakertp.h |
@@ -13,6 +13,8 @@ |
#ifndef WEBRTC_MEDIA_BASE_FAKERTP_H_ |
#define WEBRTC_MEDIA_BASE_FAKERTP_H_ |
+#include <vector> |
+ |
// A typical PCMU RTP packet. |
// PT=0, SN=1, TS=0, SSRC=1 |
// all data FF |
@@ -40,6 +42,48 @@ static const unsigned char kPcmuFrame[] = { |
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
}; |
+// A typical PCMU RTP packet with header extensions. |
+// PT=0, SN=1, TS=0, SSRC=1 |
+// all data FF |
+static const unsigned char kPcmuFrameWithExtensions[] = { |
+ 0x90, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, |
+ // RFC 5285, section 4.2. One-Byte Header. |
+ 0xBE, 0xDE, |
+ // Header extension length 6 * 32 bits. |
+ 0x00, 0x06, |
+ // 8 bytes header id 1. |
+ 0x17, 0x41, 0x42, 0x73, 0xA4, 0x75, 0x26, 0x27, 0x48, |
+ // 3 bytes header id 2. |
+ 0x22, 0x00, 0x00, 0xC8, |
+ // 1 byte header id 3. |
+ 0x30, 0x8E, |
+ // 7 bytes header id 4. |
+ 0x46, 0x55, 0x99, 0x63, 0x86, 0xB3, 0x95, 0xFB, |
+ // 1 byte header padding. |
+ 0x00, |
+ // Payload data. |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, |
+}; |
+ |
// A typical Receiver Report RTCP packet. |
// PT=RR, LN=1, SSRC=1 |
// send SSRC=2, all other fields 0 |
@@ -84,4 +128,11 @@ static const unsigned char kDataPacket[] = { |
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, |
}; |
+// This expects both packets to be based on kPcmuFrameWithExtensions. |
+// Header extensions with an id in "encrypted_headers" are expected to be |
+// different in the packets unless "expect_equal" is set to "true". |
+void CompareHeaderExtensions(const char* packet1, size_t packet1_size, |
+ const char* packet2, size_t packet2_size, |
+ const std::vector<int> encrypted_headers, bool expect_equal); |
+ |
#endif // WEBRTC_MEDIA_BASE_FAKERTP_H_ |