| 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 |