OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/test/simple_test_tick_clock.h" | 10 #include "base/test/simple_test_tick_clock.h" |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 cast_message.missing_frames_and_packets[kFrameIdWithLostPackets] = | 185 cast_message.missing_frames_and_packets[kFrameIdWithLostPackets] = |
186 missing_packets; | 186 missing_packets; |
187 | 187 |
188 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT); | 188 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT); |
189 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; | 189 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; |
190 | 190 |
191 ExpectPacketEQ(p.GetPacket(), rtcp_builder_->BuildRtcpFromReceiver( | 191 ExpectPacketEQ(p.GetPacket(), rtcp_builder_->BuildRtcpFromReceiver( |
192 &report_block, &rrtr, &cast_message, | 192 &report_block, &rrtr, &cast_message, |
193 &rtcp_events, kDefaultDelay)); | 193 &rtcp_events, kDefaultDelay)); |
194 | 194 |
195 base::SimpleTestTickClock testing_clock; | 195 base::SimpleTestTickClock testing_clock( |
196 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs)); | 196 base::TimeTicks() + base::TimeDelta::FromMilliseconds(kTimeBaseMs)); |
197 | 197 |
198 p.AddReceiverLog(kSendingSsrc); | 198 p.AddReceiverLog(kSendingSsrc); |
199 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs); | 199 p.AddReceiverFrameLog(kRtpTimestamp, 2, kTimeBaseMs); |
200 p.AddReceiverEventLog(0, FRAME_ACK_SENT, 0); | 200 p.AddReceiverEventLog(0, FRAME_ACK_SENT, 0); |
201 p.AddReceiverEventLog(kLostPacketId1, PACKET_RECEIVED, kTimeDelayMs); | 201 p.AddReceiverEventLog(kLostPacketId1, PACKET_RECEIVED, kTimeDelayMs); |
202 | 202 |
203 FrameEvent frame_event; | 203 FrameEvent frame_event; |
204 frame_event.rtp_timestamp = kRtpTimestamp; | 204 frame_event.rtp_timestamp = kRtpTimestamp; |
205 frame_event.type = FRAME_ACK_SENT; | 205 frame_event.type = FRAME_ACK_SENT; |
206 frame_event.media_type = VIDEO_EVENT; | 206 frame_event.media_type = VIDEO_EVENT; |
(...skipping 19 matching lines...) Expand all Loading... |
226 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOversizedFrameLog) { | 226 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOversizedFrameLog) { |
227 static const uint32_t kTimeBaseMs = 12345678; | 227 static const uint32_t kTimeBaseMs = 12345678; |
228 static const uint32_t kTimeDelayMs = 10; | 228 static const uint32_t kTimeDelayMs = 10; |
229 | 229 |
230 TestRtcpPacketBuilder p; | 230 TestRtcpPacketBuilder p; |
231 p.AddRr(kSendingSsrc, 1); | 231 p.AddRr(kSendingSsrc, 1); |
232 p.AddRb(kMediaSsrc); | 232 p.AddRb(kMediaSsrc); |
233 | 233 |
234 RtcpReportBlock report_block = GetReportBlock(); | 234 RtcpReportBlock report_block = GetReportBlock(); |
235 | 235 |
236 base::SimpleTestTickClock testing_clock; | 236 base::SimpleTestTickClock testing_clock( |
237 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs)); | 237 base::TimeTicks() + base::TimeDelta::FromMilliseconds(kTimeBaseMs)); |
238 | 238 |
239 p.AddReceiverLog(kSendingSsrc); | 239 p.AddReceiverLog(kSendingSsrc); |
240 | 240 |
241 int num_events = kMaxEventsPerRTCP; | 241 int num_events = kMaxEventsPerRTCP; |
242 | 242 |
243 EXPECT_LE(num_events, static_cast<int>(kRtcpMaxReceiverLogMessages)); | 243 EXPECT_LE(num_events, static_cast<int>(kRtcpMaxReceiverLogMessages)); |
244 p.AddReceiverFrameLog( | 244 p.AddReceiverFrameLog( |
245 kRtpTimestamp + 2345, | 245 kRtpTimestamp + 2345, |
246 num_events, | 246 num_events, |
247 kTimeBaseMs); | 247 kTimeBaseMs); |
(...skipping 27 matching lines...) Expand all Loading... |
275 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithTooManyLogFrames) { | 275 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithTooManyLogFrames) { |
276 static const uint32_t kTimeBaseMs = 12345678; | 276 static const uint32_t kTimeBaseMs = 12345678; |
277 static const uint32_t kTimeDelayMs = 10; | 277 static const uint32_t kTimeDelayMs = 10; |
278 | 278 |
279 TestRtcpPacketBuilder p; | 279 TestRtcpPacketBuilder p; |
280 p.AddRr(kSendingSsrc, 1); | 280 p.AddRr(kSendingSsrc, 1); |
281 p.AddRb(kMediaSsrc); | 281 p.AddRb(kMediaSsrc); |
282 | 282 |
283 RtcpReportBlock report_block = GetReportBlock(); | 283 RtcpReportBlock report_block = GetReportBlock(); |
284 | 284 |
285 base::SimpleTestTickClock testing_clock; | 285 base::SimpleTestTickClock testing_clock( |
286 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs)); | 286 base::TimeTicks() + base::TimeDelta::FromMilliseconds(kTimeBaseMs)); |
287 | 287 |
288 p.AddReceiverLog(kSendingSsrc); | 288 p.AddReceiverLog(kSendingSsrc); |
289 | 289 |
290 int num_events = kMaxEventsPerRTCP; | 290 int num_events = kMaxEventsPerRTCP; |
291 | 291 |
292 for (int i = 0; i < num_events; i++) { | 292 for (int i = 0; i < num_events; i++) { |
293 p.AddReceiverFrameLog(kRtpTimestamp + i, 1, kTimeBaseMs + i * kTimeDelayMs); | 293 p.AddReceiverFrameLog(kRtpTimestamp + i, 1, kTimeBaseMs + i * kTimeDelayMs); |
294 p.AddReceiverEventLog(0, FRAME_ACK_SENT, 0); | 294 p.AddReceiverEventLog(0, FRAME_ACK_SENT, 0); |
295 } | 295 } |
296 | 296 |
(...skipping 19 matching lines...) Expand all Loading... |
316 | 316 |
317 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOldLogFrames) { | 317 TEST_F(RtcpBuilderTest, RtcpReceiverReportWithOldLogFrames) { |
318 static const uint32_t kTimeBaseMs = 12345678; | 318 static const uint32_t kTimeBaseMs = 12345678; |
319 | 319 |
320 TestRtcpPacketBuilder p; | 320 TestRtcpPacketBuilder p; |
321 p.AddRr(kSendingSsrc, 1); | 321 p.AddRr(kSendingSsrc, 1); |
322 p.AddRb(kMediaSsrc); | 322 p.AddRb(kMediaSsrc); |
323 | 323 |
324 RtcpReportBlock report_block = GetReportBlock(); | 324 RtcpReportBlock report_block = GetReportBlock(); |
325 | 325 |
326 base::SimpleTestTickClock testing_clock; | 326 base::SimpleTestTickClock testing_clock( |
327 testing_clock.Advance(base::TimeDelta::FromMilliseconds(kTimeBaseMs)); | 327 base::TimeTicks() + base::TimeDelta::FromMilliseconds(kTimeBaseMs)); |
328 | 328 |
329 p.AddReceiverLog(kSendingSsrc); | 329 p.AddReceiverLog(kSendingSsrc); |
330 | 330 |
331 // Log 11 events for a single frame, each |kTimeBetweenEventsMs| apart. | 331 // Log 11 events for a single frame, each |kTimeBetweenEventsMs| apart. |
332 // Only last 10 events will be sent because the first event is more than | 332 // Only last 10 events will be sent because the first event is more than |
333 // 4095 milliseconds away from latest event. | 333 // 4095 milliseconds away from latest event. |
334 const int kTimeBetweenEventsMs = 410; | 334 const int kTimeBetweenEventsMs = 410; |
335 p.AddReceiverFrameLog(kRtpTimestamp, 10, kTimeBaseMs + kTimeBetweenEventsMs); | 335 p.AddReceiverFrameLog(kRtpTimestamp, 10, kTimeBaseMs + kTimeBetweenEventsMs); |
336 for (int i = 0; i < 10; ++i) { | 336 for (int i = 0; i < 10; ++i) { |
337 p.AddReceiverEventLog(0, FRAME_ACK_SENT, i * kTimeBetweenEventsMs); | 337 p.AddReceiverEventLog(0, FRAME_ACK_SENT, i * kTimeBetweenEventsMs); |
(...skipping 18 matching lines...) Expand all Loading... |
356 rtcp_builder_->BuildRtcpFromReceiver( | 356 rtcp_builder_->BuildRtcpFromReceiver( |
357 &report_block, NULL, NULL, &rtcp_events, kDefaultDelay)); | 357 &report_block, NULL, NULL, &rtcp_events, kDefaultDelay)); |
358 } | 358 } |
359 | 359 |
360 TEST_F(RtcpBuilderTest, RtcpReceiverReportRedundancy) { | 360 TEST_F(RtcpBuilderTest, RtcpReceiverReportRedundancy) { |
361 uint32_t time_base_ms = 12345678; | 361 uint32_t time_base_ms = 12345678; |
362 int kTimeBetweenEventsMs = 10; | 362 int kTimeBetweenEventsMs = 10; |
363 | 363 |
364 RtcpReportBlock report_block = GetReportBlock(); | 364 RtcpReportBlock report_block = GetReportBlock(); |
365 | 365 |
366 base::SimpleTestTickClock testing_clock; | 366 base::SimpleTestTickClock testing_clock( |
367 testing_clock.Advance(base::TimeDelta::FromMilliseconds(time_base_ms)); | 367 base::TimeTicks() + base::TimeDelta::FromMilliseconds(time_base_ms)); |
368 | 368 |
369 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT); | 369 ReceiverRtcpEventSubscriber event_subscriber(500, VIDEO_EVENT); |
370 size_t packet_count = kNumResends * kResendDelay + 10; | 370 size_t packet_count = kNumResends * kResendDelay + 10; |
371 for (size_t i = 0; i < packet_count; i++) { | 371 for (size_t i = 0; i < packet_count; i++) { |
372 TestRtcpPacketBuilder p; | 372 TestRtcpPacketBuilder p; |
373 p.AddRr(kSendingSsrc, 1); | 373 p.AddRr(kSendingSsrc, 1); |
374 p.AddRb(kMediaSsrc); | 374 p.AddRb(kMediaSsrc); |
375 | 375 |
376 p.AddReceiverLog(kSendingSsrc); | 376 p.AddReceiverLog(kSendingSsrc); |
377 | 377 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
417 // Sender report. | 417 // Sender report. |
418 TestRtcpPacketBuilder p; | 418 TestRtcpPacketBuilder p; |
419 p.AddSr(kSendingSsrc, 0); | 419 p.AddSr(kSendingSsrc, 0); |
420 | 420 |
421 ExpectPacketEQ(p.GetPacket(), | 421 ExpectPacketEQ(p.GetPacket(), |
422 rtcp_builder_->BuildRtcpFromSender(sender_info)); | 422 rtcp_builder_->BuildRtcpFromSender(sender_info)); |
423 } | 423 } |
424 | 424 |
425 } // namespace cast | 425 } // namespace cast |
426 } // namespace media | 426 } // namespace media |
OLD | NEW |