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

Side by Side Diff: talk/app/webrtc/rtpsenderreceiver_unittest.cc

Issue 1522903002: Add a 'remote' property to MediaSourceInterface. Also adding an implementation to the relevant sour… (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Address comments Created 5 years 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 | « talk/app/webrtc/rtpsender.cc ('k') | talk/app/webrtc/videosource.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2012 Google Inc. 3 * Copyright 2012 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 13 matching lines...) Expand all
24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28 #include <string> 28 #include <string>
29 #include <utility> 29 #include <utility>
30 30
31 #include "talk/app/webrtc/audiotrack.h" 31 #include "talk/app/webrtc/audiotrack.h"
32 #include "talk/app/webrtc/mediastream.h" 32 #include "talk/app/webrtc/mediastream.h"
33 #include "talk/app/webrtc/remoteaudiosource.h" 33 #include "talk/app/webrtc/remoteaudiosource.h"
34 #include "talk/app/webrtc/remoteaudiotrack.h"
35 #include "talk/app/webrtc/rtpreceiver.h" 34 #include "talk/app/webrtc/rtpreceiver.h"
36 #include "talk/app/webrtc/rtpsender.h" 35 #include "talk/app/webrtc/rtpsender.h"
37 #include "talk/app/webrtc/streamcollection.h" 36 #include "talk/app/webrtc/streamcollection.h"
38 #include "talk/app/webrtc/videosource.h" 37 #include "talk/app/webrtc/videosource.h"
39 #include "talk/app/webrtc/videotrack.h" 38 #include "talk/app/webrtc/videotrack.h"
40 #include "talk/media/base/fakevideocapturer.h" 39 #include "talk/media/base/fakevideocapturer.h"
41 #include "talk/media/base/mediachannel.h" 40 #include "talk/media/base/mediachannel.h"
42 #include "testing/gmock/include/gmock/gmock.h" 41 #include "testing/gmock/include/gmock/gmock.h"
43 #include "testing/gtest/include/gtest/gtest.h" 42 #include "testing/gtest/include/gtest/gtest.h"
44 #include "webrtc/base/gunit.h" 43 #include "webrtc/base/gunit.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 bool enable, 90 bool enable,
92 cricket::VideoRenderer* renderer)); 91 cricket::VideoRenderer* renderer));
93 MOCK_METHOD3(SetVideoSend, 92 MOCK_METHOD3(SetVideoSend,
94 void(uint32_t ssrc, 93 void(uint32_t ssrc,
95 bool enable, 94 bool enable,
96 const cricket::VideoOptions* options)); 95 const cricket::VideoOptions* options));
97 }; 96 };
98 97
99 class FakeVideoSource : public Notifier<VideoSourceInterface> { 98 class FakeVideoSource : public Notifier<VideoSourceInterface> {
100 public: 99 public:
101 static rtc::scoped_refptr<FakeVideoSource> Create() { 100 static rtc::scoped_refptr<FakeVideoSource> Create(bool remote) {
102 return new rtc::RefCountedObject<FakeVideoSource>(); 101 return new rtc::RefCountedObject<FakeVideoSource>(remote);
103 } 102 }
104 virtual cricket::VideoCapturer* GetVideoCapturer() { return &fake_capturer_; } 103 virtual cricket::VideoCapturer* GetVideoCapturer() { return &fake_capturer_; }
105 virtual void Stop() {} 104 virtual void Stop() {}
106 virtual void Restart() {} 105 virtual void Restart() {}
107 virtual void AddSink(cricket::VideoRenderer* output) {} 106 virtual void AddSink(cricket::VideoRenderer* output) {}
108 virtual void RemoveSink(cricket::VideoRenderer* output) {} 107 virtual void RemoveSink(cricket::VideoRenderer* output) {}
109 virtual SourceState state() const { return state_; } 108 virtual SourceState state() const { return state_; }
109 virtual bool remote() const { return remote_; }
110 virtual const cricket::VideoOptions* options() const { return &options_; } 110 virtual const cricket::VideoOptions* options() const { return &options_; }
111 virtual cricket::VideoRenderer* FrameInput() { return NULL; } 111 virtual cricket::VideoRenderer* FrameInput() { return NULL; }
112 112
113 protected: 113 protected:
114 FakeVideoSource() : state_(kLive) {} 114 explicit FakeVideoSource(bool remote) : state_(kLive), remote_(remote) {}
115 ~FakeVideoSource() {} 115 ~FakeVideoSource() {}
116 116
117 private: 117 private:
118 cricket::FakeVideoCapturer fake_capturer_; 118 cricket::FakeVideoCapturer fake_capturer_;
119 SourceState state_; 119 SourceState state_;
120 bool remote_;
120 cricket::VideoOptions options_; 121 cricket::VideoOptions options_;
121 }; 122 };
122 123
123 class RtpSenderReceiverTest : public testing::Test { 124 class RtpSenderReceiverTest : public testing::Test {
124 public: 125 public:
125 virtual void SetUp() { 126 virtual void SetUp() {
126 stream_ = MediaStream::Create(kStreamLabel1); 127 stream_ = MediaStream::Create(kStreamLabel1);
127 rtc::scoped_refptr<VideoSourceInterface> source(FakeVideoSource::Create()); 128 }
129
130 void AddVideoTrack(bool remote) {
131 rtc::scoped_refptr<VideoSourceInterface> source(
132 FakeVideoSource::Create(remote));
128 video_track_ = VideoTrack::Create(kVideoTrackId, source); 133 video_track_ = VideoTrack::Create(kVideoTrackId, source);
129 EXPECT_TRUE(stream_->AddTrack(video_track_)); 134 EXPECT_TRUE(stream_->AddTrack(video_track_));
130 } 135 }
131 136
132 void CreateAudioRtpSender() { 137 void CreateAudioRtpSender() {
133 audio_track_ = AudioTrack::Create(kAudioTrackId, NULL); 138 audio_track_ = AudioTrack::Create(kAudioTrackId, NULL);
134 EXPECT_TRUE(stream_->AddTrack(audio_track_)); 139 EXPECT_TRUE(stream_->AddTrack(audio_track_));
135 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _)); 140 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _));
136 audio_rtp_sender_ = 141 audio_rtp_sender_ =
137 new AudioRtpSender(stream_->GetAudioTracks()[0], stream_->label(), 142 new AudioRtpSender(stream_->GetAudioTracks()[0], stream_->label(),
138 &audio_provider_, nullptr); 143 &audio_provider_, nullptr);
139 audio_rtp_sender_->SetSsrc(kAudioSsrc); 144 audio_rtp_sender_->SetSsrc(kAudioSsrc);
140 } 145 }
141 146
142 void CreateVideoRtpSender() { 147 void CreateVideoRtpSender() {
148 AddVideoTrack(false);
143 EXPECT_CALL(video_provider_, 149 EXPECT_CALL(video_provider_,
144 SetCaptureDevice( 150 SetCaptureDevice(
145 kVideoSsrc, video_track_->GetSource()->GetVideoCapturer())); 151 kVideoSsrc, video_track_->GetSource()->GetVideoCapturer()));
146 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); 152 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _));
147 video_rtp_sender_ = new VideoRtpSender(stream_->GetVideoTracks()[0], 153 video_rtp_sender_ = new VideoRtpSender(stream_->GetVideoTracks()[0],
148 stream_->label(), &video_provider_); 154 stream_->label(), &video_provider_);
149 video_rtp_sender_->SetSsrc(kVideoSsrc); 155 video_rtp_sender_->SetSsrc(kVideoSsrc);
150 } 156 }
151 157
152 void DestroyAudioRtpSender() { 158 void DestroyAudioRtpSender() {
153 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)) 159 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _))
154 .Times(1); 160 .Times(1);
155 audio_rtp_sender_ = nullptr; 161 audio_rtp_sender_ = nullptr;
156 } 162 }
157 163
158 void DestroyVideoRtpSender() { 164 void DestroyVideoRtpSender() {
159 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, NULL)).Times(1); 165 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, NULL)).Times(1);
160 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1); 166 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1);
161 video_rtp_sender_ = nullptr; 167 video_rtp_sender_ = nullptr;
162 } 168 }
163 169
164 void CreateAudioRtpReceiver() { 170 void CreateAudioRtpReceiver() {
165 audio_track_ = RemoteAudioTrack::Create( 171 audio_track_ = AudioTrack::Create(
166 kAudioTrackId, RemoteAudioSource::Create(kAudioSsrc, NULL)); 172 kAudioTrackId, RemoteAudioSource::Create(kAudioSsrc, NULL));
167 EXPECT_TRUE(stream_->AddTrack(audio_track_)); 173 EXPECT_TRUE(stream_->AddTrack(audio_track_));
168 EXPECT_CALL(audio_provider_, SetAudioPlayout(kAudioSsrc, true)); 174 EXPECT_CALL(audio_provider_, SetAudioPlayout(kAudioSsrc, true));
169 audio_rtp_receiver_ = new AudioRtpReceiver(stream_->GetAudioTracks()[0], 175 audio_rtp_receiver_ = new AudioRtpReceiver(stream_->GetAudioTracks()[0],
170 kAudioSsrc, &audio_provider_); 176 kAudioSsrc, &audio_provider_);
171 } 177 }
172 178
173 void CreateVideoRtpReceiver() { 179 void CreateVideoRtpReceiver() {
180 AddVideoTrack(true);
174 EXPECT_CALL(video_provider_, 181 EXPECT_CALL(video_provider_,
175 SetVideoPlayout(kVideoSsrc, true, 182 SetVideoPlayout(kVideoSsrc, true,
176 video_track_->GetSource()->FrameInput())); 183 video_track_->GetSource()->FrameInput()));
177 video_rtp_receiver_ = new VideoRtpReceiver(stream_->GetVideoTracks()[0], 184 video_rtp_receiver_ = new VideoRtpReceiver(stream_->GetVideoTracks()[0],
178 kVideoSsrc, &video_provider_); 185 kVideoSsrc, &video_provider_);
179 } 186 }
180 187
181 void DestroyAudioRtpReceiver() { 188 void DestroyAudioRtpReceiver() {
182 EXPECT_CALL(audio_provider_, SetAudioPlayout(kAudioSsrc, false)); 189 EXPECT_CALL(audio_provider_, SetAudioPlayout(kAudioSsrc, false));
183 audio_rtp_receiver_ = nullptr; 190 audio_rtp_receiver_ = nullptr;
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _)); 355 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _));
349 sender->SetSsrc(kAudioSsrc); 356 sender->SetSsrc(kAudioSsrc);
350 357
351 // Calls expected from destructor. 358 // Calls expected from destructor.
352 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1); 359 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1);
353 } 360 }
354 361
355 // Test that a video sender calls the expected methods on the provider once 362 // Test that a video sender calls the expected methods on the provider once
356 // it has a track and SSRC, when the SSRC is set first. 363 // it has a track and SSRC, when the SSRC is set first.
357 TEST_F(RtpSenderReceiverTest, VideoSenderEarlyWarmupSsrcThenTrack) { 364 TEST_F(RtpSenderReceiverTest, VideoSenderEarlyWarmupSsrcThenTrack) {
365 AddVideoTrack(false);
358 rtc::scoped_refptr<VideoRtpSender> sender = 366 rtc::scoped_refptr<VideoRtpSender> sender =
359 new VideoRtpSender(&video_provider_); 367 new VideoRtpSender(&video_provider_);
360 sender->SetSsrc(kVideoSsrc); 368 sender->SetSsrc(kVideoSsrc);
361 EXPECT_CALL(video_provider_, 369 EXPECT_CALL(video_provider_,
362 SetCaptureDevice(kVideoSsrc, 370 SetCaptureDevice(kVideoSsrc,
363 video_track_->GetSource()->GetVideoCapturer())); 371 video_track_->GetSource()->GetVideoCapturer()));
364 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); 372 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _));
365 sender->SetTrack(video_track_); 373 sender->SetTrack(video_track_);
366 374
367 // Calls expected from destructor. 375 // Calls expected from destructor.
368 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1); 376 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1);
369 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1); 377 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1);
370 } 378 }
371 379
372 // Test that a video sender calls the expected methods on the provider once 380 // Test that a video sender calls the expected methods on the provider once
373 // it has a track and SSRC, when the SSRC is set last. 381 // it has a track and SSRC, when the SSRC is set last.
374 TEST_F(RtpSenderReceiverTest, VideoSenderEarlyWarmupTrackThenSsrc) { 382 TEST_F(RtpSenderReceiverTest, VideoSenderEarlyWarmupTrackThenSsrc) {
383 AddVideoTrack(false);
375 rtc::scoped_refptr<VideoRtpSender> sender = 384 rtc::scoped_refptr<VideoRtpSender> sender =
376 new VideoRtpSender(&video_provider_); 385 new VideoRtpSender(&video_provider_);
377 sender->SetTrack(video_track_); 386 sender->SetTrack(video_track_);
378 EXPECT_CALL(video_provider_, 387 EXPECT_CALL(video_provider_,
379 SetCaptureDevice(kVideoSsrc, 388 SetCaptureDevice(kVideoSsrc,
380 video_track_->GetSource()->GetVideoCapturer())); 389 video_track_->GetSource()->GetVideoCapturer()));
381 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); 390 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _));
382 sender->SetSsrc(kVideoSsrc); 391 sender->SetSsrc(kVideoSsrc);
383 392
384 // Calls expected from destructor. 393 // Calls expected from destructor.
(...skipping 15 matching lines...) Expand all
400 sender->SetSsrc(0); 409 sender->SetSsrc(0);
401 410
402 // Make sure it's SetSsrc that called methods on the provider, and not the 411 // Make sure it's SetSsrc that called methods on the provider, and not the
403 // destructor. 412 // destructor.
404 EXPECT_CALL(audio_provider_, SetAudioSend(_, _, _, _)).Times(0); 413 EXPECT_CALL(audio_provider_, SetAudioSend(_, _, _, _)).Times(0);
405 } 414 }
406 415
407 // Test that the sender is disconnected from the provider when its SSRC is 416 // Test that the sender is disconnected from the provider when its SSRC is
408 // set to 0. 417 // set to 0.
409 TEST_F(RtpSenderReceiverTest, VideoSenderSsrcSetToZero) { 418 TEST_F(RtpSenderReceiverTest, VideoSenderSsrcSetToZero) {
419 AddVideoTrack(false);
410 EXPECT_CALL(video_provider_, 420 EXPECT_CALL(video_provider_,
411 SetCaptureDevice(kVideoSsrc, 421 SetCaptureDevice(kVideoSsrc,
412 video_track_->GetSource()->GetVideoCapturer())); 422 video_track_->GetSource()->GetVideoCapturer()));
413 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); 423 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _));
414 rtc::scoped_refptr<VideoRtpSender> sender = 424 rtc::scoped_refptr<VideoRtpSender> sender =
415 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_); 425 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_);
416 sender->SetSsrc(kVideoSsrc); 426 sender->SetSsrc(kVideoSsrc);
417 427
418 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1); 428 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1);
419 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1); 429 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1);
(...skipping 15 matching lines...) Expand all
435 445
436 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1); 446 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1);
437 EXPECT_TRUE(sender->SetTrack(nullptr)); 447 EXPECT_TRUE(sender->SetTrack(nullptr));
438 448
439 // Make sure it's SetTrack that called methods on the provider, and not the 449 // Make sure it's SetTrack that called methods on the provider, and not the
440 // destructor. 450 // destructor.
441 EXPECT_CALL(audio_provider_, SetAudioSend(_, _, _, _)).Times(0); 451 EXPECT_CALL(audio_provider_, SetAudioSend(_, _, _, _)).Times(0);
442 } 452 }
443 453
444 TEST_F(RtpSenderReceiverTest, VideoSenderTrackSetToNull) { 454 TEST_F(RtpSenderReceiverTest, VideoSenderTrackSetToNull) {
455 AddVideoTrack(false);
445 EXPECT_CALL(video_provider_, 456 EXPECT_CALL(video_provider_,
446 SetCaptureDevice(kVideoSsrc, 457 SetCaptureDevice(kVideoSsrc,
447 video_track_->GetSource()->GetVideoCapturer())); 458 video_track_->GetSource()->GetVideoCapturer()));
448 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); 459 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _));
449 rtc::scoped_refptr<VideoRtpSender> sender = 460 rtc::scoped_refptr<VideoRtpSender> sender =
450 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_); 461 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_);
451 sender->SetSsrc(kVideoSsrc); 462 sender->SetSsrc(kVideoSsrc);
452 463
453 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1); 464 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1);
454 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1); 465 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1);
455 EXPECT_TRUE(sender->SetTrack(nullptr)); 466 EXPECT_TRUE(sender->SetTrack(nullptr));
456 467
457 // Make sure it's SetTrack that called methods on the provider, and not the 468 // Make sure it's SetTrack that called methods on the provider, and not the
458 // destructor. 469 // destructor.
459 EXPECT_CALL(video_provider_, SetCaptureDevice(_, _)).Times(0); 470 EXPECT_CALL(video_provider_, SetCaptureDevice(_, _)).Times(0);
460 EXPECT_CALL(video_provider_, SetVideoSend(_, _, _)).Times(0); 471 EXPECT_CALL(video_provider_, SetVideoSend(_, _, _)).Times(0);
461 } 472 }
462 473
463 TEST_F(RtpSenderReceiverTest, AudioSenderSsrcChanged) { 474 TEST_F(RtpSenderReceiverTest, AudioSenderSsrcChanged) {
475 AddVideoTrack(false);
464 rtc::scoped_refptr<AudioTrackInterface> track = 476 rtc::scoped_refptr<AudioTrackInterface> track =
465 AudioTrack::Create(kAudioTrackId, nullptr); 477 AudioTrack::Create(kAudioTrackId, nullptr);
466 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _)); 478 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, true, _, _));
467 rtc::scoped_refptr<AudioRtpSender> sender = 479 rtc::scoped_refptr<AudioRtpSender> sender =
468 new AudioRtpSender(track, kStreamLabel1, &audio_provider_, nullptr); 480 new AudioRtpSender(track, kStreamLabel1, &audio_provider_, nullptr);
469 sender->SetSsrc(kAudioSsrc); 481 sender->SetSsrc(kAudioSsrc);
470 482
471 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1); 483 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc, false, _, _)).Times(1);
472 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc2, true, _, _)).Times(1); 484 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc2, true, _, _)).Times(1);
473 sender->SetSsrc(kAudioSsrc2); 485 sender->SetSsrc(kAudioSsrc2);
474 486
475 // Calls expected from destructor. 487 // Calls expected from destructor.
476 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc2, false, _, _)).Times(1); 488 EXPECT_CALL(audio_provider_, SetAudioSend(kAudioSsrc2, false, _, _)).Times(1);
477 } 489 }
478 490
479 TEST_F(RtpSenderReceiverTest, VideoSenderSsrcChanged) { 491 TEST_F(RtpSenderReceiverTest, VideoSenderSsrcChanged) {
492 AddVideoTrack(false);
480 EXPECT_CALL(video_provider_, 493 EXPECT_CALL(video_provider_,
481 SetCaptureDevice(kVideoSsrc, 494 SetCaptureDevice(kVideoSsrc,
482 video_track_->GetSource()->GetVideoCapturer())); 495 video_track_->GetSource()->GetVideoCapturer()));
483 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _)); 496 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, true, _));
484 rtc::scoped_refptr<VideoRtpSender> sender = 497 rtc::scoped_refptr<VideoRtpSender> sender =
485 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_); 498 new VideoRtpSender(video_track_, kStreamLabel1, &video_provider_);
486 sender->SetSsrc(kVideoSsrc); 499 sender->SetSsrc(kVideoSsrc);
487 500
488 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1); 501 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc, nullptr)).Times(1);
489 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1); 502 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc, false, _)).Times(1);
490 EXPECT_CALL(video_provider_, 503 EXPECT_CALL(video_provider_,
491 SetCaptureDevice(kVideoSsrc2, 504 SetCaptureDevice(kVideoSsrc2,
492 video_track_->GetSource()->GetVideoCapturer())); 505 video_track_->GetSource()->GetVideoCapturer()));
493 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc2, true, _)); 506 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc2, true, _));
494 sender->SetSsrc(kVideoSsrc2); 507 sender->SetSsrc(kVideoSsrc2);
495 508
496 // Calls expected from destructor. 509 // Calls expected from destructor.
497 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc2, nullptr)).Times(1); 510 EXPECT_CALL(video_provider_, SetCaptureDevice(kVideoSsrc2, nullptr)).Times(1);
498 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc2, false, _)).Times(1); 511 EXPECT_CALL(video_provider_, SetVideoSend(kVideoSsrc2, false, _)).Times(1);
499 } 512 }
500 513
501 } // namespace webrtc 514 } // namespace webrtc
OLDNEW
« no previous file with comments | « talk/app/webrtc/rtpsender.cc ('k') | talk/app/webrtc/videosource.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698