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

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

Issue 1709863002: Add Cast PLI support on sender side. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Separate Pli message from Cast message. Created 4 years, 9 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
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 "media/cast/receiver/frame_receiver.h" 5 #include "media/cast/receiver/frame_receiver.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <deque> 9 #include <deque>
10 #include <utility> 10 #include <utility>
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 EXPECT_TRUE(frame_events.empty()); 167 EXPECT_TRUE(frame_events.empty());
168 cast_environment_->logger()->Unsubscribe(&event_subscriber); 168 cast_environment_->logger()->Unsubscribe(&event_subscriber);
169 } 169 }
170 170
171 TEST_F(FrameReceiverTest, ReceivesOneFrame) { 171 TEST_F(FrameReceiverTest, ReceivesOneFrame) {
172 CreateFrameReceiverOfAudio(); 172 CreateFrameReceiverOfAudio();
173 173
174 SimpleEventSubscriber event_subscriber; 174 SimpleEventSubscriber event_subscriber;
175 cast_environment_->logger()->Subscribe(&event_subscriber); 175 cast_environment_->logger()->Subscribe(&event_subscriber);
176 176
177 EXPECT_CALL(mock_transport_, SendRtcpFromRtpReceiver(_, _, _, _, _, _, _)) 177 EXPECT_CALL(mock_transport_, SendRtcpFromRtpReceiver(_, _, _, _, _, _, _, _))
178 .WillRepeatedly(testing::Return()); 178 .WillRepeatedly(testing::Return());
179 179
180 FeedLipSyncInfoIntoReceiver(); 180 FeedLipSyncInfoIntoReceiver();
181 task_runner_->RunTasks(); 181 task_runner_->RunTasks();
182 182
183 // Enqueue a request for a frame. 183 // Enqueue a request for a frame.
184 receiver_->RequestEncodedFrame( 184 receiver_->RequestEncodedFrame(
185 base::Bind(&FakeFrameClient::DeliverEncodedFrame, 185 base::Bind(&FakeFrameClient::DeliverEncodedFrame,
186 base::Unretained(&frame_client_))); 186 base::Unretained(&frame_client_)));
187 187
(...skipping 20 matching lines...) Expand all
208 EXPECT_EQ(rtp_header_.rtp_timestamp, frame_events.begin()->rtp_timestamp); 208 EXPECT_EQ(rtp_header_.rtp_timestamp, frame_events.begin()->rtp_timestamp);
209 cast_environment_->logger()->Unsubscribe(&event_subscriber); 209 cast_environment_->logger()->Unsubscribe(&event_subscriber);
210 } 210 }
211 211
212 TEST_F(FrameReceiverTest, ReceivesFramesSkippingWhenAppropriate) { 212 TEST_F(FrameReceiverTest, ReceivesFramesSkippingWhenAppropriate) {
213 CreateFrameReceiverOfAudio(); 213 CreateFrameReceiverOfAudio();
214 214
215 SimpleEventSubscriber event_subscriber; 215 SimpleEventSubscriber event_subscriber;
216 cast_environment_->logger()->Subscribe(&event_subscriber); 216 cast_environment_->logger()->Subscribe(&event_subscriber);
217 217
218 EXPECT_CALL(mock_transport_, SendRtcpFromRtpReceiver(_, _, _, _, _, _, _)) 218 EXPECT_CALL(mock_transport_, SendRtcpFromRtpReceiver(_, _, _, _, _, _, _, _))
219 .WillRepeatedly(testing::Return()); 219 .WillRepeatedly(testing::Return());
220 220
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 const RtpTimeDelta rtp_advance_per_frame = 223 const RtpTimeDelta rtp_advance_per_frame =
224 RtpTimeDelta::FromTimeDelta(time_advance_per_frame, config_.rtp_timebase); 224 RtpTimeDelta::FromTimeDelta(time_advance_per_frame, config_.rtp_timebase);
225 225
226 // Feed and process lip sync in receiver. 226 // Feed and process lip sync in receiver.
227 FeedLipSyncInfoIntoReceiver(); 227 FeedLipSyncInfoIntoReceiver();
228 task_runner_->RunTasks(); 228 task_runner_->RunTasks();
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 } 311 }
312 cast_environment_->logger()->Unsubscribe(&event_subscriber); 312 cast_environment_->logger()->Unsubscribe(&event_subscriber);
313 } 313 }
314 314
315 TEST_F(FrameReceiverTest, ReceivesFramesRefusingToSkipAny) { 315 TEST_F(FrameReceiverTest, ReceivesFramesRefusingToSkipAny) {
316 CreateFrameReceiverOfVideo(); 316 CreateFrameReceiverOfVideo();
317 317
318 SimpleEventSubscriber event_subscriber; 318 SimpleEventSubscriber event_subscriber;
319 cast_environment_->logger()->Subscribe(&event_subscriber); 319 cast_environment_->logger()->Subscribe(&event_subscriber);
320 320
321 EXPECT_CALL(mock_transport_, SendRtcpFromRtpReceiver(_, _, _, _, _, _, _)) 321 EXPECT_CALL(mock_transport_, SendRtcpFromRtpReceiver(_, _, _, _, _, _, _, _))
322 .WillRepeatedly(testing::Return()); 322 .WillRepeatedly(testing::Return());
323 323
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 const RtpTimeDelta rtp_advance_per_frame = 326 const RtpTimeDelta rtp_advance_per_frame =
327 RtpTimeDelta::FromTimeDelta(time_advance_per_frame, config_.rtp_timebase); 327 RtpTimeDelta::FromTimeDelta(time_advance_per_frame, config_.rtp_timebase);
328 328
329 // Feed and process lip sync in receiver. 329 // Feed and process lip sync in receiver.
330 FeedLipSyncInfoIntoReceiver(); 330 FeedLipSyncInfoIntoReceiver();
331 task_runner_->RunTasks(); 331 task_runner_->RunTasks();
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 EXPECT_GE(kFirstFrameId + 3, frame_events[i].frame_id); 413 EXPECT_GE(kFirstFrameId + 3, frame_events[i].frame_id);
414 const int frame_offset = frame_events[i].frame_id - kFirstFrameId; 414 const int frame_offset = frame_events[i].frame_id - kFirstFrameId;
415 EXPECT_EQ(RtpTimeTicks() + (rtp_advance_per_frame * frame_offset), 415 EXPECT_EQ(RtpTimeTicks() + (rtp_advance_per_frame * frame_offset),
416 frame_events[i].rtp_timestamp); 416 frame_events[i].rtp_timestamp);
417 } 417 }
418 cast_environment_->logger()->Unsubscribe(&event_subscriber); 418 cast_environment_->logger()->Unsubscribe(&event_subscriber);
419 } 419 }
420 420
421 } // namespace cast 421 } // namespace cast
422 } // namespace media 422 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698