Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(616)

Side by Side Diff: media/cast/receiver/frame_receiver_unittest.cc

Issue 845993002: Adding "rtp_timebase" variable in lieu of "frequency" for FrameReceiverConfig structure. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/cast/receiver/frame_receiver.cc ('k') | media/cast/test/cast_benchmarks.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <deque> 5 #include <deque>
6 #include <utility> 6 #include <utility>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 113
114 void FeedOneFrameIntoReceiver() { 114 void FeedOneFrameIntoReceiver() {
115 // Note: For testing purposes, a frame consists of only a single packet. 115 // Note: For testing purposes, a frame consists of only a single packet.
116 receiver_->ProcessParsedPacket( 116 receiver_->ProcessParsedPacket(
117 rtp_header_, &payload_[0], payload_.size()); 117 rtp_header_, &payload_[0], payload_.size());
118 } 118 }
119 119
120 void FeedLipSyncInfoIntoReceiver() { 120 void FeedLipSyncInfoIntoReceiver() {
121 const base::TimeTicks now = testing_clock_->NowTicks(); 121 const base::TimeTicks now = testing_clock_->NowTicks();
122 const int64 rtp_timestamp = (now - start_time_) * 122 const int64 rtp_timestamp = (now - start_time_) *
123 config_.frequency / base::TimeDelta::FromSeconds(1); 123 config_.rtp_timebase / base::TimeDelta::FromSeconds(1);
124 CHECK_LE(0, rtp_timestamp); 124 CHECK_LE(0, rtp_timestamp);
125 uint32 ntp_seconds; 125 uint32 ntp_seconds;
126 uint32 ntp_fraction; 126 uint32 ntp_fraction;
127 ConvertTimeTicksToNtp(now, &ntp_seconds, &ntp_fraction); 127 ConvertTimeTicksToNtp(now, &ntp_seconds, &ntp_fraction);
128 TestRtcpPacketBuilder rtcp_packet; 128 TestRtcpPacketBuilder rtcp_packet;
129 rtcp_packet.AddSrWithNtp(config_.incoming_ssrc, 129 rtcp_packet.AddSrWithNtp(config_.incoming_ssrc,
130 ntp_seconds, ntp_fraction, 130 ntp_seconds, ntp_fraction,
131 static_cast<uint32>(rtp_timestamp)); 131 static_cast<uint32>(rtp_timestamp));
132 ASSERT_TRUE(receiver_->ProcessPacket(rtcp_packet.GetPacket().Pass())); 132 ASSERT_TRUE(receiver_->ProcessPacket(rtcp_packet.GetPacket().Pass()));
133 } 133 }
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 TEST_F(FrameReceiverTest, ReceivesFramesSkippingWhenAppropriate) { 210 TEST_F(FrameReceiverTest, ReceivesFramesSkippingWhenAppropriate) {
211 CreateFrameReceiverOfAudio(); 211 CreateFrameReceiverOfAudio();
212 212
213 SimpleEventSubscriber event_subscriber; 213 SimpleEventSubscriber event_subscriber;
214 cast_environment_->Logging()->AddRawEventSubscriber(&event_subscriber); 214 cast_environment_->Logging()->AddRawEventSubscriber(&event_subscriber);
215 215
216 EXPECT_CALL(mock_transport_, SendRtcpFromRtpReceiver(_, _, _, _, _, _, _)) 216 EXPECT_CALL(mock_transport_, SendRtcpFromRtpReceiver(_, _, _, _, _, _, _))
217 .WillRepeatedly(testing::Return()); 217 .WillRepeatedly(testing::Return());
218 218
219 const uint32 rtp_advance_per_frame = 219 const uint32 rtp_advance_per_frame =
220 config_.frequency / config_.target_frame_rate; 220 config_.rtp_timebase / config_.target_frame_rate;
221 const base::TimeDelta time_advance_per_frame = 221 const base::TimeDelta time_advance_per_frame =
222 base::TimeDelta::FromSeconds(1) / config_.target_frame_rate; 222 base::TimeDelta::FromSeconds(1) / config_.target_frame_rate;
223 223
224 // Feed and process lip sync in receiver. 224 // Feed and process lip sync in receiver.
225 FeedLipSyncInfoIntoReceiver(); 225 FeedLipSyncInfoIntoReceiver();
226 task_runner_->RunTasks(); 226 task_runner_->RunTasks();
227 const base::TimeTicks first_frame_capture_time = testing_clock_->NowTicks(); 227 const base::TimeTicks first_frame_capture_time = testing_clock_->NowTicks();
228 228
229 // Enqueue a request for a frame. 229 // Enqueue a request for a frame.
230 const ReceiveEncodedFrameCallback frame_encoded_callback = 230 const ReceiveEncodedFrameCallback frame_encoded_callback =
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 TEST_F(FrameReceiverTest, ReceivesFramesRefusingToSkipAny) { 313 TEST_F(FrameReceiverTest, ReceivesFramesRefusingToSkipAny) {
314 CreateFrameReceiverOfVideo(); 314 CreateFrameReceiverOfVideo();
315 315
316 SimpleEventSubscriber event_subscriber; 316 SimpleEventSubscriber event_subscriber;
317 cast_environment_->Logging()->AddRawEventSubscriber(&event_subscriber); 317 cast_environment_->Logging()->AddRawEventSubscriber(&event_subscriber);
318 318
319 EXPECT_CALL(mock_transport_, SendRtcpFromRtpReceiver(_, _, _, _, _, _, _)) 319 EXPECT_CALL(mock_transport_, SendRtcpFromRtpReceiver(_, _, _, _, _, _, _))
320 .WillRepeatedly(testing::Return()); 320 .WillRepeatedly(testing::Return());
321 321
322 const uint32 rtp_advance_per_frame = 322 const uint32 rtp_advance_per_frame =
323 config_.frequency / config_.target_frame_rate; 323 config_.rtp_timebase / config_.target_frame_rate;
324 const base::TimeDelta time_advance_per_frame = 324 const base::TimeDelta time_advance_per_frame =
325 base::TimeDelta::FromSeconds(1) / config_.target_frame_rate; 325 base::TimeDelta::FromSeconds(1) / config_.target_frame_rate;
326 326
327 // Feed and process lip sync in receiver. 327 // Feed and process lip sync in receiver.
328 FeedLipSyncInfoIntoReceiver(); 328 FeedLipSyncInfoIntoReceiver();
329 task_runner_->RunTasks(); 329 task_runner_->RunTasks();
330 const base::TimeTicks first_frame_capture_time = testing_clock_->NowTicks(); 330 const base::TimeTicks first_frame_capture_time = testing_clock_->NowTicks();
331 331
332 // Enqueue a request for a frame. 332 // Enqueue a request for a frame.
333 const ReceiveEncodedFrameCallback frame_encoded_callback = 333 const ReceiveEncodedFrameCallback frame_encoded_callback =
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 EXPECT_GE(kFirstFrameId + 3, frame_events[i].frame_id); 411 EXPECT_GE(kFirstFrameId + 3, frame_events[i].frame_id);
412 const int frame_offset = frame_events[i].frame_id - kFirstFrameId; 412 const int frame_offset = frame_events[i].frame_id - kFirstFrameId;
413 EXPECT_EQ(frame_offset * rtp_advance_per_frame, 413 EXPECT_EQ(frame_offset * rtp_advance_per_frame,
414 frame_events[i].rtp_timestamp); 414 frame_events[i].rtp_timestamp);
415 } 415 }
416 cast_environment_->Logging()->RemoveRawEventSubscriber(&event_subscriber); 416 cast_environment_->Logging()->RemoveRawEventSubscriber(&event_subscriber);
417 } 417 }
418 418
419 } // namespace cast 419 } // namespace cast
420 } // namespace media 420 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/receiver/frame_receiver.cc ('k') | media/cast/test/cast_benchmarks.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698