/*
* Copyright (c) 2004 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
// Fake RTP and RTCP packets to use in unit tests.
#ifndef MEDIA_BASE_FAKE_RTP_H_
#define MEDIA_BASE_FAKE_RTP_H_
#include <cstddef> // size_t
#include <vector>
// A typical PCMU RTP packet.
// PT=0, SN=1, TS=0, SSRC=1
// all data FF
static const unsigned char kPcmuFrame[] = {
0 x80, 0 x00, 0 x00, 0 x01, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x01,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF,
};
static const int kHeaderExtensionIDs[] = {1 , 4 };
// A typical PCMU RTP packet with header extensions.
// PT=0, SN=1, TS=0, SSRC=1
// all data FF
static const unsigned char kPcmuFrameWithExtensions[] = {
0 x90,
0 x00,
0 x00,
0 x01,
0 x00,
0 x00,
0 x00,
0 x00,
0 x00,
0 x00,
0 x00,
0 x01,
// RFC 5285, section 4.2. One-Byte Header.
0 xBE,
0 xDE,
// Header extension length 6 * 32 bits.
0 x00,
0 x06,
// 8 bytes header id 1.
0 x17,
0 x41,
0 x42,
0 x73,
0 xA4,
0 x75,
0 x26,
0 x27,
0 x48,
// 3 bytes header id 2.
0 x22,
0 x00,
0 x00,
0 xC8,
// 1 byte header id 3.
0 x30,
0 x8E,
// 7 bytes header id 4.
0 x46,
0 x55,
0 x99,
0 x63,
0 x86,
0 xB3,
0 x95,
0 xFB,
// 1 byte header padding.
0 x00,
// Payload data.
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
0 xFF,
};
// A typical Receiver Report RTCP packet.
// PT=RR, LN=1, SSRC=1
// send SSRC=2, all other fields 0
static const unsigned char kRtcpReport[] = {
0 x80, 0 xc9, 0 x00, 0 x01, 0 x00, 0 x00, 0 x00, 0 x01, 0 x00, 0 x00, 0 x00,
0 x02, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00,
0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00};
// PT = 97, TS = 0, Seq = 1, SSRC = 2
// H264 - NRI = 1, Type = 1, bit stream = FF
static const unsigned char kH264Packet[] = {
0 x80, 0 x61, 0 x00, 0 x01, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x02,
0 x21, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF, 0 xFF,
0 xFF, 0 xFF, 0 xFF, 0 xFF,
};
// PT= 101, SN=2, TS=3, SSRC = 4
static const unsigned char kDataPacket[] = {
0 x80, 0 x65, 0 x00, 0 x02, 0 x00, 0 x00, 0 x00, 0 x03, 0 x00, 0 x00, 0 x00, 0 x04,
0 x00, 0 x00, 0 x00, 0 x00, 0 x01, 0 x02, 0 x03, 0 x04, 0 x05, 0 x06, 0 x07, 0 x08,
};
// 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 // MEDIA_BASE_FAKE_RTP_H_
Messung V0.5 in Prozent C=92 H=91 G=91