OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 } | 63 } |
64 | 64 |
65 private: | 65 private: |
66 rtc::scoped_ptr<AudioSinkInterface> sink_; | 66 rtc::scoped_ptr<AudioSinkInterface> sink_; |
67 }; | 67 }; |
68 | 68 |
69 // Helper class to test RtpSender/RtpReceiver. | 69 // Helper class to test RtpSender/RtpReceiver. |
70 class MockVideoProvider : public VideoProviderInterface { | 70 class MockVideoProvider : public VideoProviderInterface { |
71 public: | 71 public: |
72 virtual ~MockVideoProvider() {} | 72 virtual ~MockVideoProvider() {} |
73 MOCK_METHOD2(SetCaptureDevice, | |
74 bool(uint32_t ssrc, cricket::VideoCapturer* camera)); | |
75 MOCK_METHOD3(SetVideoPlayout, | 73 MOCK_METHOD3(SetVideoPlayout, |
76 void(uint32_t ssrc, | 74 void(uint32_t ssrc, |
77 bool enable, | 75 bool enable, |
78 rtc::VideoSinkInterface<cricket::VideoFrame>* sink)); | 76 rtc::VideoSinkInterface<cricket::VideoFrame>* sink)); |
79 MOCK_METHOD3(SetVideoSend, | 77 MOCK_METHOD4(SetVideoSend, |
80 void(uint32_t ssrc, | 78 void(uint32_t ssrc, |
81 bool enable, | 79 bool enable, |
82 const cricket::VideoOptions* options)); | 80 const cricket::VideoOptions* options, |
| 81 cricket::VideoCapturer* camera)); |
83 | 82 |
84 MOCK_CONST_METHOD1(GetVideoRtpParameters, RtpParameters(uint32_t ssrc)); | 83 MOCK_CONST_METHOD1(GetVideoRtpParameters, RtpParameters(uint32_t ssrc)); |
85 MOCK_METHOD2(SetVideoRtpParameters, | 84 MOCK_METHOD2(SetVideoRtpParameters, |
86 bool(uint32_t ssrc, const RtpParameters&)); | 85 bool(uint32_t ssrc, const RtpParameters&)); |
87 }; | 86 }; |
88 | 87 |
89 class RtpSenderReceiverTest : public testing::Test { | 88 class RtpSenderReceiverTest : public testing::Test { |
90 public: | 89 public: |
91 virtual void SetUp() { | 90 virtual void SetUp() { |
92 stream_ = MediaStream::Create(kStreamLabel1); | 91 stream_ = MediaStream::Create(kStreamLabel1); |
(...skipping 12 matching lines...) Expand all Loading... |
105 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _)); | 104 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _)); |
106 audio_rtp_sender_ = | 105 audio_rtp_sender_ = |
107 new AudioRtpSender(stream_->GetAudioTracks()[0], stream_->label(), | 106 new AudioRtpSender(stream_->GetAudioTracks()[0], stream_->label(), |
108 &audio_provider_, nullptr); | 107 &audio_provider_, nullptr); |
109 audio_rtp_sender_->SetSsrc(kAudioSsrc); | 108 audio_rtp_sender_->SetSsrc(kAudioSsrc); |
110 } | 109 } |
111 | 110 |
112 void CreateVideoRtpSender() { | 111 void CreateVideoRtpSender() { |
113 AddVideoTrack(); | 112 AddVideoTrack(); |
114 EXPECT_CALL(video_provider_, | 113 EXPECT_CALL(video_provider_, |
115 SetCaptureDevice( | 114 SetVideoSend(kVideoSsrc, true, _, |
116 kVideoSsrc, video_track_->GetSource()->GetVideoCapturer())); | 115 video_track_->GetSource()->GetVideoCapturer())); |
117 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); | |
118 video_rtp_sender_ = new VideoRtpSender(stream_->GetVideoTracks()[0], | 116 video_rtp_sender_ = new VideoRtpSender(stream_->GetVideoTracks()[0], |
119 stream_->label(), &video_provider_); | 117 stream_->label(), &video_provider_); |
120 video_rtp_sender_->SetSsrc(kVideoSsrc); | 118 video_rtp_sender_->SetSsrc(kVideoSsrc); |
121 } | 119 } |
122 | 120 |
123 void DestroyAudioRtpSender() { | 121 void DestroyAudioRtpSender() { |
124 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)) | 122 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)) |
125 .Times(1); | 123 .Times(1); |
126 audio_rtp_sender_ = nullptr; | 124 audio_rtp_sender_ = nullptr; |
127 } | 125 } |
128 | 126 |
129 void DestroyVideoRtpSender() { | 127 void DestroyVideoRtpSender() { |
130 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, NULL)).Times(1); | 128 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _, nullptr)) |
131 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1); | 129 .Times(1); |
132 video_rtp_sender_ = nullptr; | 130 video_rtp_sender_ = nullptr; |
133 } | 131 } |
134 | 132 |
135 void CreateAudioRtpReceiver() { | 133 void CreateAudioRtpReceiver() { |
136 audio_track_ = AudioTrack::Create( | 134 audio_track_ = AudioTrack::Create( |
137 kAudioTrackId, RemoteAudioSource::Create(kAudioSsrc, NULL)); | 135 kAudioTrackId, RemoteAudioSource::Create(kAudioSsrc, NULL)); |
138 EXPECT_TRUE(stream_->AddTrack(audio_track_)); | 136 EXPECT_TRUE(stream_->AddTrack(audio_track_)); |
139 EXPECT_CALL(audio_provider_, SetAudioPlayout(kAudioSsrc, true)); | 137 EXPECT_CALL(audio_provider_, SetAudioPlayout(kAudioSsrc, true)); |
140 audio_rtp_receiver_ = new AudioRtpReceiver(stream_, kAudioTrackId, | 138 audio_rtp_receiver_ = new AudioRtpReceiver(stream_, kAudioTrackId, |
141 kAudioSsrc, &audio_provider_); | 139 kAudioSsrc, &audio_provider_); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 | 218 |
221 EXPECT_CALL(audio_provider_, SetAudioPlayout(kAudioSsrc, true)); | 219 EXPECT_CALL(audio_provider_, SetAudioPlayout(kAudioSsrc, true)); |
222 audio_track_->set_enabled(true); | 220 audio_track_->set_enabled(true); |
223 | 221 |
224 DestroyAudioRtpReceiver(); | 222 DestroyAudioRtpReceiver(); |
225 } | 223 } |
226 | 224 |
227 TEST_F(RtpSenderReceiverTest, LocalVideoTrackDisable) { | 225 TEST_F(RtpSenderReceiverTest, LocalVideoTrackDisable) { |
228 CreateVideoRtpSender(); | 226 CreateVideoRtpSender(); |
229 | 227 |
230 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)); | 228 EXPECT_CALL(video_provider_, |
| 229 SetVideoSend(kVideoSsrc, false, _, |
| 230 video_track_->GetSource()->GetVideoCapturer())); |
231 video_track_->set_enabled(false); | 231 video_track_->set_enabled(false); |
232 | 232 |
233 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); | 233 EXPECT_CALL(video_provider_, |
| 234 SetVideoSend(kVideoSsrc, true, _, |
| 235 video_track_->GetSource()->GetVideoCapturer())); |
234 video_track_->set_enabled(true); | 236 video_track_->set_enabled(true); |
235 | 237 |
236 DestroyVideoRtpSender(); | 238 DestroyVideoRtpSender(); |
237 } | 239 } |
238 | 240 |
239 TEST_F(RtpSenderReceiverTest, RemoteVideoTrackState) { | 241 TEST_F(RtpSenderReceiverTest, RemoteVideoTrackState) { |
240 CreateVideoRtpReceiver(); | 242 CreateVideoRtpReceiver(); |
241 | 243 |
242 EXPECT_EQ(webrtc::MediaStreamTrackInterface::kLive, video_track_->state()); | 244 EXPECT_EQ(webrtc::MediaStreamTrackInterface::kLive, video_track_->state()); |
243 EXPECT_EQ(webrtc::MediaSourceInterface::kLive, | 245 EXPECT_EQ(webrtc::MediaSourceInterface::kLive, |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
339 } | 341 } |
340 | 342 |
341 // Test that a video sender calls the expected methods on the provider once | 343 // Test that a video sender calls the expected methods on the provider once |
342 // it has a track and SSRC, when the SSRC is set first. | 344 // it has a track and SSRC, when the SSRC is set first. |
343 TEST_F(RtpSenderReceiverTest, VideoSenderEarlyWarmupSsrcThenTrack) { | 345 TEST_F(RtpSenderReceiverTest, VideoSenderEarlyWarmupSsrcThenTrack) { |
344 AddVideoTrack(); | 346 AddVideoTrack(); |
345 rtc::scoped_refptr<VideoRtpSender> sender = | 347 rtc::scoped_refptr<VideoRtpSender> sender = |
346 new VideoRtpSender(&video_provider_); | 348 new VideoRtpSender(&video_provider_); |
347 sender->SetSsrc(kVideoSsrc); | 349 sender->SetSsrc(kVideoSsrc); |
348 EXPECT_CALL(video_provider_, | 350 EXPECT_CALL(video_provider_, |
349 SetCaptureDevice(kVideoSsrc, | 351 SetVideoSend(kVideoSsrc, true, _, |
350 video_track_->GetSource()->GetVideoCapturer())); | 352 video_track_->GetSource()->GetVideoCapturer())); |
351 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); | |
352 sender->SetTrack(video_track_); | 353 sender->SetTrack(video_track_); |
353 | 354 |
354 // Calls expected from destructor. | 355 // Calls expected from destructor. |
355 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1); | 356 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _, nullptr)) |
356 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1); | 357 .Times(1); |
357 } | 358 } |
358 | 359 |
359 // Test that a video sender calls the expected methods on the provider once | 360 // Test that a video sender calls the expected methods on the provider once |
360 // it has a track and SSRC, when the SSRC is set last. | 361 // it has a track and SSRC, when the SSRC is set last. |
361 TEST_F(RtpSenderReceiverTest, VideoSenderEarlyWarmupTrackThenSsrc) { | 362 TEST_F(RtpSenderReceiverTest, VideoSenderEarlyWarmupTrackThenSsrc) { |
362 AddVideoTrack(); | 363 AddVideoTrack(); |
363 rtc::scoped_refptr<VideoRtpSender> sender = | 364 rtc::scoped_refptr<VideoRtpSender> sender = |
364 new VideoRtpSender(&video_provider_); | 365 new VideoRtpSender(&video_provider_); |
365 sender->SetTrack(video_track_); | 366 sender->SetTrack(video_track_); |
366 EXPECT_CALL(video_provider_, | 367 EXPECT_CALL(video_provider_, |
367 SetCaptureDevice(kVideoSsrc, | 368 SetVideoSend(kVideoSsrc, true, _, |
368 video_track_->GetSource()->GetVideoCapturer())); | 369 video_track_->GetSource()->GetVideoCapturer())); |
369 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); | |
370 sender->SetSsrc(kVideoSsrc); | 370 sender->SetSsrc(kVideoSsrc); |
371 | 371 |
372 // Calls expected from destructor. | 372 // Calls expected from destructor. |
373 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1); | 373 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _, nullptr)) |
374 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1); | 374 .Times(1); |
375 } | 375 } |
376 | 376 |
377 // Test that the sender is disconnected from the provider when its SSRC is | 377 // Test that the sender is disconnected from the provider when its SSRC is |
378 // set to 0. | 378 // set to 0. |
379 TEST_F(RtpSenderReceiverTest, AudioSenderSsrcSetToZero) { | 379 TEST_F(RtpSenderReceiverTest, AudioSenderSsrcSetToZero) { |
380 rtc::scoped_refptr<AudioTrackInterface> track = | 380 rtc::scoped_refptr<AudioTrackInterface> track = |
381 AudioTrack::Create(kAudioTrackId, nullptr); | 381 AudioTrack::Create(kAudioTrackId, nullptr); |
382 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _)); | 382 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _)); |
383 rtc::scoped_refptr<AudioRtpSender> sender = | 383 rtc::scoped_refptr<AudioRtpSender> sender = |
384 new AudioRtpSender(track, kStreamLabel1, &audio_provider_, nullptr); | 384 new AudioRtpSender(track, kStreamLabel1, &audio_provider_, nullptr); |
385 sender->SetSsrc(kAudioSsrc); | 385 sender->SetSsrc(kAudioSsrc); |
386 | 386 |
387 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1); | 387 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1); |
388 sender->SetSsrc(0); | 388 sender->SetSsrc(0); |
389 | 389 |
390 // Make sure it's SetSsrc that called methods on the provider, and not the | 390 // Make sure it's SetSsrc that called methods on the provider, and not the |
391 // destructor. | 391 // destructor. |
392 EXPECT_CALL(audio_provider_, SetAudioSend(_, _, _, _)).Times(0); | 392 EXPECT_CALL(audio_provider_, SetAudioSend(_, _, _, _)).Times(0); |
393 } | 393 } |
394 | 394 |
395 // Test that the sender is disconnected from the provider when its SSRC is | 395 // Test that the sender is disconnected from the provider when its SSRC is |
396 // set to 0. | 396 // set to 0. |
397 TEST_F(RtpSenderReceiverTest, VideoSenderSsrcSetToZero) { | 397 TEST_F(RtpSenderReceiverTest, VideoSenderSsrcSetToZero) { |
398 AddVideoTrack(); | 398 AddVideoTrack(); |
399 EXPECT_CALL(video_provider_, | 399 EXPECT_CALL(video_provider_, |
400 SetCaptureDevice(kVideoSsrc, | 400 SetVideoSend(kVideoSsrc, true, _, |
401 video_track_->GetSource()->GetVideoCapturer())); | 401 video_track_->GetSource()->GetVideoCapturer())); |
402 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); | |
403 rtc::scoped_refptr<VideoRtpSender> sender = | 402 rtc::scoped_refptr<VideoRtpSender> sender = |
404 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_); | 403 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_); |
405 sender->SetSsrc(kVideoSsrc); | 404 sender->SetSsrc(kVideoSsrc); |
406 | 405 |
407 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1); | 406 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _, nullptr)) |
408 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1); | 407 .Times(1); |
409 sender->SetSsrc(0); | 408 sender->SetSsrc(0); |
410 | 409 |
411 // Make sure it's SetSsrc that called methods on the provider, and not the | 410 // Make sure it's SetSsrc that called methods on the provider, and not the |
412 // destructor. | 411 // destructor. |
413 EXPECT_CALL(video_provider_, SetCaptureDevice(_, _)).Times(0); | 412 EXPECT_CALL(video_provider_, SetVideoSend(_, _, _, _)).Times(0); |
414 EXPECT_CALL(video_provider_, SetVideoSend(_, _, _)).Times(0); | |
415 } | 413 } |
416 | 414 |
417 TEST_F(RtpSenderReceiverTest, AudioSenderTrackSetToNull) { | 415 TEST_F(RtpSenderReceiverTest, AudioSenderTrackSetToNull) { |
418 rtc::scoped_refptr<AudioTrackInterface> track = | 416 rtc::scoped_refptr<AudioTrackInterface> track = |
419 AudioTrack::Create(kAudioTrackId, nullptr); | 417 AudioTrack::Create(kAudioTrackId, nullptr); |
420 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _)); | 418 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _)); |
421 rtc::scoped_refptr<AudioRtpSender> sender = | 419 rtc::scoped_refptr<AudioRtpSender> sender = |
422 new AudioRtpSender(track, kStreamLabel1, &audio_provider_, nullptr); | 420 new AudioRtpSender(track, kStreamLabel1, &audio_provider_, nullptr); |
423 sender->SetSsrc(kAudioSsrc); | 421 sender->SetSsrc(kAudioSsrc); |
424 | 422 |
425 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1); | 423 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1); |
426 EXPECT_TRUE(sender->SetTrack(nullptr)); | 424 EXPECT_TRUE(sender->SetTrack(nullptr)); |
427 | 425 |
428 // Make sure it's SetTrack that called methods on the provider, and not the | 426 // Make sure it's SetTrack that called methods on the provider, and not the |
429 // destructor. | 427 // destructor. |
430 EXPECT_CALL(audio_provider_, SetAudioSend(_, _, _, _)).Times(0); | 428 EXPECT_CALL(audio_provider_, SetAudioSend(_, _, _, _)).Times(0); |
431 } | 429 } |
432 | 430 |
433 TEST_F(RtpSenderReceiverTest, VideoSenderTrackSetToNull) { | 431 TEST_F(RtpSenderReceiverTest, VideoSenderTrackSetToNull) { |
434 AddVideoTrack(); | 432 AddVideoTrack(); |
435 EXPECT_CALL(video_provider_, | 433 EXPECT_CALL(video_provider_, |
436 SetCaptureDevice(kVideoSsrc, | 434 SetVideoSend(kVideoSsrc, true, _, |
437 video_track_->GetSource()->GetVideoCapturer())); | 435 video_track_->GetSource()->GetVideoCapturer())); |
438 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); | |
439 rtc::scoped_refptr<VideoRtpSender> sender = | 436 rtc::scoped_refptr<VideoRtpSender> sender = |
440 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_); | 437 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_); |
441 sender->SetSsrc(kVideoSsrc); | 438 sender->SetSsrc(kVideoSsrc); |
442 | 439 |
443 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1); | 440 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _, nullptr)) |
444 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1); | 441 .Times(1); |
445 EXPECT_TRUE(sender->SetTrack(nullptr)); | 442 EXPECT_TRUE(sender->SetTrack(nullptr)); |
446 | 443 |
447 // Make sure it's SetTrack that called methods on the provider, and not the | 444 // Make sure it's SetTrack that called methods on the provider, and not the |
448 // destructor. | 445 // destructor. |
449 EXPECT_CALL(video_provider_, SetCaptureDevice(_, _)).Times(0); | 446 EXPECT_CALL(video_provider_, SetVideoSend(_, _, _, _)).Times(0); |
450 EXPECT_CALL(video_provider_, SetVideoSend(_, _, _)).Times(0); | |
451 } | 447 } |
452 | 448 |
453 TEST_F(RtpSenderReceiverTest, AudioSenderSsrcChanged) { | 449 TEST_F(RtpSenderReceiverTest, AudioSenderSsrcChanged) { |
454 AddVideoTrack(); | 450 AddVideoTrack(); |
455 rtc::scoped_refptr<AudioTrackInterface> track = | 451 rtc::scoped_refptr<AudioTrackInterface> track = |
456 AudioTrack::Create(kAudioTrackId, nullptr); | 452 AudioTrack::Create(kAudioTrackId, nullptr); |
457 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _)); | 453 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _)); |
458 rtc::scoped_refptr<AudioRtpSender> sender = | 454 rtc::scoped_refptr<AudioRtpSender> sender = |
459 new AudioRtpSender(track, kStreamLabel1, &audio_provider_, nullptr); | 455 new AudioRtpSender(track, kStreamLabel1, &audio_provider_, nullptr); |
460 sender->SetSsrc(kAudioSsrc); | 456 sender->SetSsrc(kAudioSsrc); |
461 | 457 |
462 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1); | 458 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1); |
463 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc2, true, _, _)).Times(1); | 459 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc2, true, _, _)).Times(1); |
464 sender->SetSsrc(kAudioSsrc2); | 460 sender->SetSsrc(kAudioSsrc2); |
465 | 461 |
466 // Calls expected from destructor. | 462 // Calls expected from destructor. |
467 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc2, false, _, _)).Times(1); | 463 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc2, false, _, _)).Times(1); |
468 } | 464 } |
469 | 465 |
470 TEST_F(RtpSenderReceiverTest, VideoSenderSsrcChanged) { | 466 TEST_F(RtpSenderReceiverTest, VideoSenderSsrcChanged) { |
471 AddVideoTrack(); | 467 AddVideoTrack(); |
472 EXPECT_CALL(video_provider_, | 468 EXPECT_CALL(video_provider_, |
473 SetCaptureDevice(kVideoSsrc, | 469 SetVideoSend(kVideoSsrc, true, _, |
474 video_track_->GetSource()->GetVideoCapturer())); | 470 video_track_->GetSource()->GetVideoCapturer())); |
475 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); | |
476 rtc::scoped_refptr<VideoRtpSender> sender = | 471 rtc::scoped_refptr<VideoRtpSender> sender = |
477 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_); | 472 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_); |
478 sender->SetSsrc(kVideoSsrc); | 473 sender->SetSsrc(kVideoSsrc); |
479 | 474 |
480 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1); | 475 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _, nullptr)) |
481 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1); | 476 .Times(1); |
482 EXPECT_CALL(video_provider_, | 477 EXPECT_CALL(video_provider_, |
483 SetCaptureDevice(kVideoSsrc2, | 478 SetVideoSend(kVideoSsrc2, true, _, |
484 video_track_->GetSource()->GetVideoCapturer())); | 479 video_track_->GetSource()->GetVideoCapturer())) |
485 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc2, true, _)); | 480 .Times(1); |
486 sender->SetSsrc(kVideoSsrc2); | 481 sender->SetSsrc(kVideoSsrc2); |
487 | 482 |
488 // Calls expected from destructor. | 483 // Calls expected from destructor. |
489 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc2, nullptr)).Times(1); | 484 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc2, false, _, nullptr)) |
490 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc2, false, _)).Times(1); | 485 .Times(1); |
491 } | 486 } |
492 | 487 |
493 TEST_F(RtpSenderReceiverTest, AudioSenderCanSetParameters) { | 488 TEST_F(RtpSenderReceiverTest, AudioSenderCanSetParameters) { |
494 CreateAudioRtpSender(); | 489 CreateAudioRtpSender(); |
495 | 490 |
496 EXPECT_CALL(audio_provider_, GetAudioRtpParameters(kAudioSsrc)) | 491 EXPECT_CALL(audio_provider_, GetAudioRtpParameters(kAudioSsrc)) |
497 .WillOnce(Return(RtpParameters())); | 492 .WillOnce(Return(RtpParameters())); |
498 EXPECT_CALL(audio_provider_, SetAudioRtpParameters(kAudioSsrc, _)) | 493 EXPECT_CALL(audio_provider_, SetAudioRtpParameters(kAudioSsrc, _)) |
499 .WillOnce(Return(true)); | 494 .WillOnce(Return(true)); |
500 RtpParameters params = audio_rtp_sender_->GetParameters(); | 495 RtpParameters params = audio_rtp_sender_->GetParameters(); |
501 EXPECT_TRUE(audio_rtp_sender_->SetParameters(params)); | 496 EXPECT_TRUE(audio_rtp_sender_->SetParameters(params)); |
502 | 497 |
503 DestroyAudioRtpSender(); | 498 DestroyAudioRtpSender(); |
504 } | 499 } |
505 | 500 |
506 TEST_F(RtpSenderReceiverTest, VideoSenderCanSetParameters) { | 501 TEST_F(RtpSenderReceiverTest, VideoSenderCanSetParameters) { |
507 CreateVideoRtpSender(); | 502 CreateVideoRtpSender(); |
508 | 503 |
509 EXPECT_CALL(video_provider_, GetVideoRtpParameters(kVideoSsrc)) | 504 EXPECT_CALL(video_provider_, GetVideoRtpParameters(kVideoSsrc)) |
510 .WillOnce(Return(RtpParameters())); | 505 .WillOnce(Return(RtpParameters())); |
511 EXPECT_CALL(video_provider_, SetVideoRtpParameters(kVideoSsrc, _)) | 506 EXPECT_CALL(video_provider_, SetVideoRtpParameters(kVideoSsrc, _)) |
512 .WillOnce(Return(true)); | 507 .WillOnce(Return(true)); |
513 RtpParameters params = video_rtp_sender_->GetParameters(); | 508 RtpParameters params = video_rtp_sender_->GetParameters(); |
514 EXPECT_TRUE(video_rtp_sender_->SetParameters(params)); | 509 EXPECT_TRUE(video_rtp_sender_->SetParameters(params)); |
515 | 510 |
516 DestroyVideoRtpSender(); | 511 DestroyVideoRtpSender(); |
517 } | 512 } |
518 | 513 |
519 } // namespace webrtc | 514 } // namespace webrtc |
OLD | NEW |