OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2004 Google Inc. | 3 * Copyright 2004 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
(...skipping 18 matching lines...) Expand all Loading... |
29 | 29 |
30 #include "talk/media/base/rtpdump.h" | 30 #include "talk/media/base/rtpdump.h" |
31 #include "talk/media/base/rtputils.h" | 31 #include "talk/media/base/rtputils.h" |
32 #include "talk/media/base/testutils.h" | 32 #include "talk/media/base/testutils.h" |
33 #include "webrtc/base/bytebuffer.h" | 33 #include "webrtc/base/bytebuffer.h" |
34 #include "webrtc/base/gunit.h" | 34 #include "webrtc/base/gunit.h" |
35 #include "webrtc/base/thread.h" | 35 #include "webrtc/base/thread.h" |
36 | 36 |
37 namespace cricket { | 37 namespace cricket { |
38 | 38 |
39 static const uint32 kTestSsrc = 1; | 39 static const uint32_t kTestSsrc = 1; |
40 | 40 |
41 // Test that we read the correct header fields from the RTP/RTCP packet. | 41 // Test that we read the correct header fields from the RTP/RTCP packet. |
42 TEST(RtpDumpTest, ReadRtpDumpPacket) { | 42 TEST(RtpDumpTest, ReadRtpDumpPacket) { |
43 rtc::ByteBuffer rtp_buf; | 43 rtc::ByteBuffer rtp_buf; |
44 RtpTestUtility::kTestRawRtpPackets[0].WriteToByteBuffer(kTestSsrc, &rtp_buf); | 44 RtpTestUtility::kTestRawRtpPackets[0].WriteToByteBuffer(kTestSsrc, &rtp_buf); |
45 RtpDumpPacket rtp_packet(rtp_buf.Data(), rtp_buf.Length(), 0, false); | 45 RtpDumpPacket rtp_packet(rtp_buf.Data(), rtp_buf.Length(), 0, false); |
46 | 46 |
47 int payload_type; | 47 int payload_type; |
48 int seq_num; | 48 int seq_num; |
49 uint32 ts; | 49 uint32_t ts; |
50 uint32 ssrc; | 50 uint32_t ssrc; |
51 int rtcp_type; | 51 int rtcp_type; |
52 EXPECT_FALSE(rtp_packet.is_rtcp()); | 52 EXPECT_FALSE(rtp_packet.is_rtcp()); |
53 EXPECT_TRUE(rtp_packet.IsValidRtpPacket()); | 53 EXPECT_TRUE(rtp_packet.IsValidRtpPacket()); |
54 EXPECT_FALSE(rtp_packet.IsValidRtcpPacket()); | 54 EXPECT_FALSE(rtp_packet.IsValidRtcpPacket()); |
55 EXPECT_TRUE(rtp_packet.GetRtpPayloadType(&payload_type)); | 55 EXPECT_TRUE(rtp_packet.GetRtpPayloadType(&payload_type)); |
56 EXPECT_EQ(0, payload_type); | 56 EXPECT_EQ(0, payload_type); |
57 EXPECT_TRUE(rtp_packet.GetRtpSeqNum(&seq_num)); | 57 EXPECT_TRUE(rtp_packet.GetRtpSeqNum(&seq_num)); |
58 EXPECT_EQ(0, seq_num); | 58 EXPECT_EQ(0, seq_num); |
59 EXPECT_TRUE(rtp_packet.GetRtpTimestamp(&ts)); | 59 EXPECT_TRUE(rtp_packet.GetRtpTimestamp(&ts)); |
60 EXPECT_EQ(0U, ts); | 60 EXPECT_EQ(0U, ts); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 ASSERT_TRUE(RtpTestUtility::WriteTestPackets( | 122 ASSERT_TRUE(RtpTestUtility::WriteTestPackets( |
123 RtpTestUtility::GetTestPacketCount(), false, kTestSsrc, &writer)); | 123 RtpTestUtility::GetTestPacketCount(), false, kTestSsrc, &writer)); |
124 EXPECT_TRUE(RtpTestUtility::VerifyTestPacketsFromStream( | 124 EXPECT_TRUE(RtpTestUtility::VerifyTestPacketsFromStream( |
125 RtpTestUtility::GetTestPacketCount(), &stream, kTestSsrc)); | 125 RtpTestUtility::GetTestPacketCount(), &stream, kTestSsrc)); |
126 | 126 |
127 // Check stream has only RtpTestUtility::GetTestPacketCount() packets. | 127 // Check stream has only RtpTestUtility::GetTestPacketCount() packets. |
128 RtpDumpPacket packet; | 128 RtpDumpPacket packet; |
129 RtpDumpReader reader(&stream); | 129 RtpDumpReader reader(&stream); |
130 for (size_t i = 0; i < RtpTestUtility::GetTestPacketCount(); ++i) { | 130 for (size_t i = 0; i < RtpTestUtility::GetTestPacketCount(); ++i) { |
131 EXPECT_EQ(rtc::SR_SUCCESS, reader.ReadPacket(&packet)); | 131 EXPECT_EQ(rtc::SR_SUCCESS, reader.ReadPacket(&packet)); |
132 uint32 ssrc; | 132 uint32_t ssrc; |
133 EXPECT_TRUE(GetRtpSsrc(&packet.data[0], packet.data.size(), &ssrc)); | 133 EXPECT_TRUE(GetRtpSsrc(&packet.data[0], packet.data.size(), &ssrc)); |
134 EXPECT_EQ(kTestSsrc, ssrc); | 134 EXPECT_EQ(kTestSsrc, ssrc); |
135 } | 135 } |
136 // No more packets to read. | 136 // No more packets to read. |
137 EXPECT_EQ(rtc::SR_EOS, reader.ReadPacket(&packet)); | 137 EXPECT_EQ(rtc::SR_EOS, reader.ReadPacket(&packet)); |
138 | 138 |
139 // Rewind the stream and read again with a specified ssrc. | 139 // Rewind the stream and read again with a specified ssrc. |
140 stream.Rewind(); | 140 stream.Rewind(); |
141 RtpDumpReader reader_w_ssrc(&stream); | 141 RtpDumpReader reader_w_ssrc(&stream); |
142 const uint32 send_ssrc = kTestSsrc + 1; | 142 const uint32_t send_ssrc = kTestSsrc + 1; |
143 reader_w_ssrc.SetSsrc(send_ssrc); | 143 reader_w_ssrc.SetSsrc(send_ssrc); |
144 for (size_t i = 0; i < RtpTestUtility::GetTestPacketCount(); ++i) { | 144 for (size_t i = 0; i < RtpTestUtility::GetTestPacketCount(); ++i) { |
145 EXPECT_EQ(rtc::SR_SUCCESS, reader_w_ssrc.ReadPacket(&packet)); | 145 EXPECT_EQ(rtc::SR_SUCCESS, reader_w_ssrc.ReadPacket(&packet)); |
146 EXPECT_FALSE(packet.is_rtcp()); | 146 EXPECT_FALSE(packet.is_rtcp()); |
147 EXPECT_EQ(packet.original_data_len, packet.data.size()); | 147 EXPECT_EQ(packet.original_data_len, packet.data.size()); |
148 uint32 ssrc; | 148 uint32_t ssrc; |
149 EXPECT_TRUE(GetRtpSsrc(&packet.data[0], packet.data.size(), &ssrc)); | 149 EXPECT_TRUE(GetRtpSsrc(&packet.data[0], packet.data.size(), &ssrc)); |
150 EXPECT_EQ(send_ssrc, ssrc); | 150 EXPECT_EQ(send_ssrc, ssrc); |
151 } | 151 } |
152 // No more packets to read. | 152 // No more packets to read. |
153 EXPECT_EQ(rtc::SR_EOS, reader_w_ssrc.ReadPacket(&packet)); | 153 EXPECT_EQ(rtc::SR_EOS, reader_w_ssrc.ReadPacket(&packet)); |
154 } | 154 } |
155 | 155 |
156 // Test that we read the same RTCP packets that rtp dump writes. | 156 // Test that we read the same RTCP packets that rtp dump writes. |
157 TEST(RtpDumpTest, WriteReadSameRtcp) { | 157 TEST(RtpDumpTest, WriteReadSameRtcp) { |
158 rtc::MemoryStream stream; | 158 rtc::MemoryStream stream; |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 | 289 |
290 // The loop reader reads three packets from the input stream. | 290 // The loop reader reads three packets from the input stream. |
291 stream.Rewind(); | 291 stream.Rewind(); |
292 RtpDumpLoopReader loop_reader(&stream); | 292 RtpDumpLoopReader loop_reader(&stream); |
293 EXPECT_EQ(rtc::SR_SUCCESS, loop_reader.ReadPacket(&packet)); | 293 EXPECT_EQ(rtc::SR_SUCCESS, loop_reader.ReadPacket(&packet)); |
294 EXPECT_EQ(rtc::SR_SUCCESS, loop_reader.ReadPacket(&packet)); | 294 EXPECT_EQ(rtc::SR_SUCCESS, loop_reader.ReadPacket(&packet)); |
295 EXPECT_EQ(rtc::SR_SUCCESS, loop_reader.ReadPacket(&packet)); | 295 EXPECT_EQ(rtc::SR_SUCCESS, loop_reader.ReadPacket(&packet)); |
296 } | 296 } |
297 | 297 |
298 } // namespace cricket | 298 } // namespace cricket |
OLD | NEW |