summaryrefslogtreecommitdiff
path: root/media/cast/rtcp/test_rtcp_packet_builder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'media/cast/rtcp/test_rtcp_packet_builder.cc')
-rw-r--r--media/cast/rtcp/test_rtcp_packet_builder.cc45
1 files changed, 43 insertions, 2 deletions
diff --git a/media/cast/rtcp/test_rtcp_packet_builder.cc b/media/cast/rtcp/test_rtcp_packet_builder.cc
index 3a6a774920..f4117f53de 100644
--- a/media/cast/rtcp/test_rtcp_packet_builder.cc
+++ b/media/cast/rtcp/test_rtcp_packet_builder.cc
@@ -48,7 +48,7 @@ void TestRtcpPacketBuilder::AddRb(uint32 rtp_ssrc) {
big_endian_writer_.WriteU32(rtp_ssrc);
big_endian_writer_.WriteU32(kLoss);
big_endian_writer_.WriteU32(kExtendedMax);
- big_endian_writer_.WriteU32(kJitter);
+ big_endian_writer_.WriteU32(kTestJitter);
big_endian_writer_.WriteU32(kLastSr);
big_endian_writer_.WriteU32(kDelayLastSr);
}
@@ -185,7 +185,7 @@ void TestRtcpPacketBuilder::AddRemb(uint32 sender_ssrc, uint32 media_ssrc) {
big_endian_writer_.WriteU8(1); // Number of SSRCs.
big_endian_writer_.WriteU8(1); // BR Exp.
// BR Mantissa.
- big_endian_writer_.WriteU16(static_cast<uint16>(kRembBitrate / 2));
+ big_endian_writer_.WriteU16(static_cast<uint16>(kTestRembBitrate / 2));
big_endian_writer_.WriteU32(media_ssrc);
}
@@ -211,6 +211,47 @@ void TestRtcpPacketBuilder::AddCast(uint32 sender_ssrc, uint32 media_ssrc) {
big_endian_writer_.WriteU8(0); // Lost packet id mask.
}
+void TestRtcpPacketBuilder::AddSenderLog(uint32 sender_ssrc) {
+ AddRtcpHeader(204, 1);
+ big_endian_writer_.WriteU32(sender_ssrc);
+ big_endian_writer_.WriteU8('C');
+ big_endian_writer_.WriteU8('A');
+ big_endian_writer_.WriteU8('S');
+ big_endian_writer_.WriteU8('T');
+}
+
+void TestRtcpPacketBuilder::AddSenderFrameLog(uint8 event_id,
+ uint32 rtp_timestamp) {
+ big_endian_writer_.WriteU32(
+ (static_cast<uint32>(event_id) << 24) + (rtp_timestamp & 0xffffff));
+}
+
+void TestRtcpPacketBuilder::AddReceiverLog(uint32 sender_ssrc) {
+ AddRtcpHeader(204, 2);
+ big_endian_writer_.WriteU32(sender_ssrc);
+ big_endian_writer_.WriteU8('C');
+ big_endian_writer_.WriteU8('A');
+ big_endian_writer_.WriteU8('S');
+ big_endian_writer_.WriteU8('T');
+}
+
+void TestRtcpPacketBuilder::AddReceiverFrameLog(uint32 rtp_timestamp,
+ int num_events, uint32 event_timesamp_base) {
+ big_endian_writer_.WriteU32(rtp_timestamp);
+ big_endian_writer_.WriteU8(static_cast<uint8>(num_events - 1));
+ big_endian_writer_.WriteU8(static_cast<uint8>(event_timesamp_base >> 16));
+ big_endian_writer_.WriteU8(static_cast<uint8>(event_timesamp_base >> 8));
+ big_endian_writer_.WriteU8(static_cast<uint8>(event_timesamp_base));
+}
+
+void TestRtcpPacketBuilder::AddReceiverEventLog(uint16 event_data,
+ uint8 event_id, uint16 event_timesamp_delta) {
+ big_endian_writer_.WriteU16(event_data);
+ uint16 type_and_delta = static_cast<uint16>(event_id) << 12;
+ type_and_delta += event_timesamp_delta & 0x0fff;
+ big_endian_writer_.WriteU16(type_and_delta);
+}
+
const uint8* TestRtcpPacketBuilder::Packet() {
PatchLengthField();
return buffer_;