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

Side by Side Diff: webrtc/pc/rtpsenderreceiver_unittest.cc

Issue 2794943002: Delete MediaController class, move Call ownership to PeerConnection. (Closed)
Patch Set: Revert DCHECK addition. Created 3 years, 7 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 /* 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
11 #include <memory> 11 #include <memory>
12 #include <string> 12 #include <string>
13 #include <utility> 13 #include <utility>
14 14
15 #include "webrtc/base/gunit.h" 15 #include "webrtc/base/gunit.h"
16 #include "webrtc/base/sigslot.h" 16 #include "webrtc/base/sigslot.h"
17 #include "webrtc/logging/rtc_event_log/rtc_event_log.h" 17 #include "webrtc/logging/rtc_event_log/rtc_event_log.h"
18 #include "webrtc/media/base/fakemediaengine.h" 18 #include "webrtc/media/base/fakemediaengine.h"
19 #include "webrtc/media/base/mediachannel.h" 19 #include "webrtc/media/base/mediachannel.h"
20 #include "webrtc/media/engine/fakewebrtccall.h" 20 #include "webrtc/media/engine/fakewebrtccall.h"
21 #include "webrtc/p2p/base/faketransportcontroller.h" 21 #include "webrtc/p2p/base/faketransportcontroller.h"
22 #include "webrtc/pc/audiotrack.h" 22 #include "webrtc/pc/audiotrack.h"
23 #include "webrtc/pc/channelmanager.h" 23 #include "webrtc/pc/channelmanager.h"
24 #include "webrtc/pc/fakemediacontroller.h"
25 #include "webrtc/pc/localaudiosource.h" 24 #include "webrtc/pc/localaudiosource.h"
26 #include "webrtc/pc/mediastream.h" 25 #include "webrtc/pc/mediastream.h"
27 #include "webrtc/pc/remoteaudiosource.h" 26 #include "webrtc/pc/remoteaudiosource.h"
28 #include "webrtc/pc/rtpreceiver.h" 27 #include "webrtc/pc/rtpreceiver.h"
29 #include "webrtc/pc/rtpsender.h" 28 #include "webrtc/pc/rtpsender.h"
30 #include "webrtc/pc/streamcollection.h" 29 #include "webrtc/pc/streamcollection.h"
31 #include "webrtc/pc/test/fakevideotracksource.h" 30 #include "webrtc/pc/test/fakevideotracksource.h"
32 #include "webrtc/pc/videotrack.h" 31 #include "webrtc/pc/videotrack.h"
33 #include "webrtc/pc/videotracksource.h" 32 #include "webrtc/pc/videotracksource.h"
34 #include "webrtc/test/gmock.h" 33 #include "webrtc/test/gmock.h"
35 #include "webrtc/test/gtest.h" 34 #include "webrtc/test/gtest.h"
36 35
37 using ::testing::_; 36 using ::testing::_;
38 using ::testing::Exactly; 37 using ::testing::Exactly;
39 using ::testing::InvokeWithoutArgs; 38 using ::testing::InvokeWithoutArgs;
40 using ::testing::Return; 39 using ::testing::Return;
41 40
42 namespace { 41 namespace {
43 42
44 static const char kStreamLabel1[] = "local_stream_1"; 43 static const char kStreamLabel1[] = "local_stream_1";
45 static const char kVideoTrackId[] = "video_1"; 44 static const char kVideoTrackId[] = "video_1";
46 static const char kAudioTrackId[] = "audio_1"; 45 static const char kAudioTrackId[] = "audio_1";
47 static const uint32_t kVideoSsrc = 98; 46 static const uint32_t kVideoSsrc = 98;
48 static const uint32_t kVideoSsrc2 = 100; 47 static const uint32_t kVideoSsrc2 = 100;
49 static const uint32_t kAudioSsrc = 99; 48 static const uint32_t kAudioSsrc = 99;
50 static const uint32_t kAudioSsrc2 = 101; 49 static const uint32_t kAudioSsrc2 = 101;
51 static const int kDefaultTimeout = 10000; // 10 seconds. 50 static const int kDefaultTimeout = 10000; // 10 seconds.
52
53 } // namespace 51 } // namespace
54 52
55 namespace webrtc { 53 namespace webrtc {
56 54
57 class RtpSenderReceiverTest : public testing::Test, 55 class RtpSenderReceiverTest : public testing::Test,
58 public sigslot::has_slots<> { 56 public sigslot::has_slots<> {
59 public: 57 public:
60 RtpSenderReceiverTest() 58 RtpSenderReceiverTest()
61 : // Create fake media engine/etc. so we can create channels to use to 59 : // Create fake media engine/etc. so we can create channels to use to
62 // test RtpSenders/RtpReceivers. 60 // test RtpSenders/RtpReceivers.
63 media_engine_(new cricket::FakeMediaEngine()), 61 media_engine_(new cricket::FakeMediaEngine()),
64 channel_manager_( 62 channel_manager_(
65 std::unique_ptr<cricket::MediaEngineInterface>(media_engine_), 63 std::unique_ptr<cricket::MediaEngineInterface>(media_engine_),
66 rtc::Thread::Current(), 64 rtc::Thread::Current(),
67 rtc::Thread::Current()), 65 rtc::Thread::Current()),
68 fake_call_(Call::Config(&event_log_)), 66 fake_call_(Call::Config(&event_log_)),
69 fake_media_controller_(&channel_manager_, &fake_call_),
70 local_stream_(MediaStream::Create(kStreamLabel1)) { 67 local_stream_(MediaStream::Create(kStreamLabel1)) {
71 // Create channels to be used by the RtpSenders and RtpReceivers. 68 // Create channels to be used by the RtpSenders and RtpReceivers.
72 channel_manager_.Init(); 69 channel_manager_.Init();
73 bool srtp_required = true; 70 bool srtp_required = true;
74 cricket::DtlsTransportInternal* rtp_transport = 71 cricket::DtlsTransportInternal* rtp_transport =
75 fake_transport_controller_.CreateDtlsTransport( 72 fake_transport_controller_.CreateDtlsTransport(
76 cricket::CN_AUDIO, cricket::ICE_CANDIDATE_COMPONENT_RTP); 73 cricket::CN_AUDIO, cricket::ICE_CANDIDATE_COMPONENT_RTP);
77 voice_channel_ = channel_manager_.CreateVoiceChannel( 74 voice_channel_ = channel_manager_.CreateVoiceChannel(
78 &fake_media_controller_, rtp_transport, nullptr, rtc::Thread::Current(), 75 &fake_call_, cricket::MediaConfig(),
76 rtp_transport, nullptr, rtc::Thread::Current(),
79 cricket::CN_AUDIO, srtp_required, cricket::AudioOptions()); 77 cricket::CN_AUDIO, srtp_required, cricket::AudioOptions());
80 video_channel_ = channel_manager_.CreateVideoChannel( 78 video_channel_ = channel_manager_.CreateVideoChannel(
81 &fake_media_controller_, rtp_transport, nullptr, rtc::Thread::Current(), 79 &fake_call_, cricket::MediaConfig(),
80 rtp_transport, nullptr, rtc::Thread::Current(),
82 cricket::CN_VIDEO, srtp_required, cricket::VideoOptions()); 81 cricket::CN_VIDEO, srtp_required, cricket::VideoOptions());
83 voice_channel_->Enable(true); 82 voice_channel_->Enable(true);
84 video_channel_->Enable(true); 83 video_channel_->Enable(true);
85 voice_media_channel_ = media_engine_->GetVoiceChannel(0); 84 voice_media_channel_ = media_engine_->GetVoiceChannel(0);
86 video_media_channel_ = media_engine_->GetVideoChannel(0); 85 video_media_channel_ = media_engine_->GetVideoChannel(0);
87 RTC_CHECK(voice_channel_); 86 RTC_CHECK(voice_channel_);
88 RTC_CHECK(video_channel_); 87 RTC_CHECK(video_channel_);
89 RTC_CHECK(voice_media_channel_); 88 RTC_CHECK(voice_media_channel_);
90 RTC_CHECK(video_media_channel_); 89 RTC_CHECK(video_media_channel_);
91 90
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 EXPECT_FALSE(video_media_channel_->HasSink(kVideoSsrc)); 243 EXPECT_FALSE(video_media_channel_->HasSink(kVideoSsrc));
245 } 244 }
246 245
247 protected: 246 protected:
248 webrtc::RtcEventLogNullImpl event_log_; 247 webrtc::RtcEventLogNullImpl event_log_;
249 // |media_engine_| is actually owned by |channel_manager_|. 248 // |media_engine_| is actually owned by |channel_manager_|.
250 cricket::FakeMediaEngine* media_engine_; 249 cricket::FakeMediaEngine* media_engine_;
251 cricket::FakeTransportController fake_transport_controller_; 250 cricket::FakeTransportController fake_transport_controller_;
252 cricket::ChannelManager channel_manager_; 251 cricket::ChannelManager channel_manager_;
253 cricket::FakeCall fake_call_; 252 cricket::FakeCall fake_call_;
254 cricket::FakeMediaController fake_media_controller_;
255 cricket::VoiceChannel* voice_channel_; 253 cricket::VoiceChannel* voice_channel_;
256 cricket::VideoChannel* video_channel_; 254 cricket::VideoChannel* video_channel_;
257 cricket::FakeVoiceMediaChannel* voice_media_channel_; 255 cricket::FakeVoiceMediaChannel* voice_media_channel_;
258 cricket::FakeVideoMediaChannel* video_media_channel_; 256 cricket::FakeVideoMediaChannel* video_media_channel_;
259 rtc::scoped_refptr<AudioRtpSender> audio_rtp_sender_; 257 rtc::scoped_refptr<AudioRtpSender> audio_rtp_sender_;
260 rtc::scoped_refptr<VideoRtpSender> video_rtp_sender_; 258 rtc::scoped_refptr<VideoRtpSender> video_rtp_sender_;
261 rtc::scoped_refptr<AudioRtpReceiver> audio_rtp_receiver_; 259 rtc::scoped_refptr<AudioRtpReceiver> audio_rtp_receiver_;
262 rtc::scoped_refptr<VideoRtpReceiver> video_rtp_receiver_; 260 rtc::scoped_refptr<VideoRtpReceiver> video_rtp_receiver_;
263 rtc::scoped_refptr<MediaStreamInterface> local_stream_; 261 rtc::scoped_refptr<MediaStreamInterface> local_stream_;
264 rtc::scoped_refptr<VideoTrackInterface> video_track_; 262 rtc::scoped_refptr<VideoTrackInterface> video_track_;
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 // Make sure the signal from "GetOnDestroyedSignal()" fires when the sender is 792 // Make sure the signal from "GetOnDestroyedSignal()" fires when the sender is
795 // destroyed, which is needed for the DTMF sender. 793 // destroyed, which is needed for the DTMF sender.
796 TEST_F(RtpSenderReceiverTest, TestOnDestroyedSignal) { 794 TEST_F(RtpSenderReceiverTest, TestOnDestroyedSignal) {
797 CreateAudioRtpSender(); 795 CreateAudioRtpSender();
798 EXPECT_FALSE(audio_sender_destroyed_signal_fired_); 796 EXPECT_FALSE(audio_sender_destroyed_signal_fired_);
799 audio_rtp_sender_ = nullptr; 797 audio_rtp_sender_ = nullptr;
800 EXPECT_TRUE(audio_sender_destroyed_signal_fired_); 798 EXPECT_TRUE(audio_sender_destroyed_signal_fired_);
801 } 799 }
802 800
803 } // namespace webrtc 801 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698