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

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

Issue 839983002: Adding "target_frame_rate" variable in lieu of "max_frame_rate" for FrameReceiverConfig (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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 98
99 receiver_.reset(new FrameReceiver( 99 receiver_.reset(new FrameReceiver(
100 cast_environment_, config_, AUDIO_EVENT, &mock_transport_)); 100 cast_environment_, config_, AUDIO_EVENT, &mock_transport_));
101 } 101 }
102 102
103 void CreateFrameReceiverOfVideo() { 103 void CreateFrameReceiverOfVideo() {
104 config_ = GetDefaultVideoReceiverConfig(); 104 config_ = GetDefaultVideoReceiverConfig();
105 config_.rtp_max_delay_ms = kPlayoutDelayMillis; 105 config_.rtp_max_delay_ms = kPlayoutDelayMillis;
106 // Note: Frame rate must divide 1000 without remainder so the test code 106 // Note: Frame rate must divide 1000 without remainder so the test code
107 // doesn't have to account for rounding errors. 107 // doesn't have to account for rounding errors.
108 config_.max_frame_rate = 25; 108 config_.target_frame_rate = 25;
109 109
110 receiver_.reset(new FrameReceiver( 110 receiver_.reset(new FrameReceiver(
111 cast_environment_, config_, VIDEO_EVENT, &mock_transport_)); 111 cast_environment_, config_, VIDEO_EVENT, &mock_transport_));
112 } 112 }
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 }
(...skipping 91 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_.max_frame_rate; 220 config_.frequency / 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_.max_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 =
231 base::Bind(&FakeFrameClient::DeliverEncodedFrame, 231 base::Bind(&FakeFrameClient::DeliverEncodedFrame,
232 base::Unretained(&frame_client_)); 232 base::Unretained(&frame_client_));
(...skipping 80 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_.max_frame_rate; 323 config_.frequency / 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_.max_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 =
334 base::Bind(&FakeFrameClient::DeliverEncodedFrame, 334 base::Bind(&FakeFrameClient::DeliverEncodedFrame,
335 base::Unretained(&frame_client_)); 335 base::Unretained(&frame_client_));
(...skipping 75 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