| Index: talk/app/webrtc/webrtcsession_unittest.cc
|
| diff --git a/talk/app/webrtc/webrtcsession_unittest.cc b/talk/app/webrtc/webrtcsession_unittest.cc
|
| index dbe485cdbfb2c27865fed002d54d6e6c16ceff7b..cc2617ce3edb4b4f425189bb75d666d26063ff66 100644
|
| --- a/talk/app/webrtc/webrtcsession_unittest.cc
|
| +++ b/talk/app/webrtc/webrtcsession_unittest.cc
|
| @@ -31,11 +31,13 @@
|
| #include "talk/app/webrtc/fakemetricsobserver.h"
|
| #include "talk/app/webrtc/jsepicecandidate.h"
|
| #include "talk/app/webrtc/jsepsessiondescription.h"
|
| +#include "talk/app/webrtc/peerconnection.h"
|
| #include "talk/app/webrtc/mediastreamsignaling.h"
|
| +#include "talk/app/webrtc/sctputils.h"
|
| +#include "talk/app/webrtc/streamcollection.h"
|
| #include "talk/app/webrtc/streamcollection.h"
|
| #include "talk/app/webrtc/test/fakeconstraints.h"
|
| #include "talk/app/webrtc/test/fakedtlsidentitystore.h"
|
| -#include "talk/app/webrtc/test/fakemediastreamsignaling.h"
|
| #include "talk/app/webrtc/videotrack.h"
|
| #include "talk/app/webrtc/webrtcsession.h"
|
| #include "talk/app/webrtc/webrtcsessiondescriptionfactory.h"
|
| @@ -79,10 +81,12 @@ using rtc::Thread;
|
| using webrtc::CreateSessionDescription;
|
| using webrtc::CreateSessionDescriptionObserver;
|
| using webrtc::CreateSessionDescriptionRequest;
|
| +using webrtc::DataChannel;
|
| using webrtc::DtlsIdentityStoreInterface;
|
| using webrtc::FakeConstraints;
|
| using webrtc::FakeMetricsObserver;
|
| using webrtc::IceCandidateCollection;
|
| +using webrtc::InternalDataChannelInit;
|
| using webrtc::JsepIceCandidate;
|
| using webrtc::JsepSessionDescription;
|
| using webrtc::PeerConnectionFactoryInterface;
|
| @@ -157,6 +161,14 @@ static const char kSdpWithRtx[] =
|
| "a=rtpmap:96 rtx/90000\r\n"
|
| "a=fmtp:96 apt=0\r\n";
|
|
|
| +static const char kStream1[] = "stream1";
|
| +static const char kVideoTrack1[] = "video1";
|
| +static const char kAudioTrack1[] = "audio1";
|
| +
|
| +static const char kStream2[] = "stream2";
|
| +static const char kVideoTrack2[] = "video2";
|
| +static const char kAudioTrack2[] = "audio2";
|
| +
|
| enum RTCCertificateGenerationMethod { ALREADY_GENERATED, DTLS_IDENTITY_STORE };
|
|
|
| // Add some extra |newlines| to the |message| after |line|.
|
| @@ -237,10 +249,8 @@ class WebRtcSessionForTest : public webrtc::WebRtcSession {
|
| rtc::Thread* signaling_thread,
|
| rtc::Thread* worker_thread,
|
| cricket::PortAllocator* port_allocator,
|
| - webrtc::IceObserver* ice_observer,
|
| - webrtc::MediaStreamSignaling* mediastream_signaling)
|
| - : WebRtcSession(cmgr, signaling_thread, worker_thread, port_allocator,
|
| - mediastream_signaling) {
|
| + webrtc::IceObserver* ice_observer)
|
| + : WebRtcSession(cmgr, signaling_thread, worker_thread, port_allocator) {
|
| RegisterIceObserver(ice_observer);
|
| }
|
| virtual ~WebRtcSessionForTest() {}
|
| @@ -354,7 +364,8 @@ class FakeAudioRenderer : public cricket::AudioRenderer {
|
| };
|
|
|
| class WebRtcSessionTest
|
| - : public testing::TestWithParam<RTCCertificateGenerationMethod> {
|
| + : public testing::TestWithParam<RTCCertificateGenerationMethod>,
|
| + public sigslot::has_slots<> {
|
| protected:
|
| // TODO Investigate why ChannelManager crashes, if it's created
|
| // after stun_server.
|
| @@ -376,7 +387,6 @@ class WebRtcSessionTest
|
| stun_server_(cricket::TestStunServer::Create(Thread::Current(),
|
| stun_socket_addr_)),
|
| turn_server_(Thread::Current(), kTurnUdpIntAddr, kTurnUdpExtAddr),
|
| - mediastream_signaling_(channel_manager_.get()),
|
| metrics_observer_(new rtc::RefCountedObject<FakeMetricsObserver>()) {
|
| cricket::ServerAddresses stun_servers;
|
| stun_servers.insert(stun_socket_addr_);
|
| @@ -405,10 +415,10 @@ class WebRtcSessionTest
|
| const PeerConnectionInterface::RTCConfiguration& rtc_configuration) {
|
| ASSERT_TRUE(session_.get() == NULL);
|
| session_.reset(new WebRtcSessionForTest(
|
| - channel_manager_.get(), rtc::Thread::Current(),
|
| - rtc::Thread::Current(), allocator_.get(),
|
| - &observer_,
|
| - &mediastream_signaling_));
|
| + channel_manager_.get(), rtc::Thread::Current(), rtc::Thread::Current(),
|
| + allocator_.get(), &observer_));
|
| + session_->SignalDataChannelCreationRequested.connect(
|
| + this, &WebRtcSessionTest::OnDataChannelCreationRequested);
|
|
|
| EXPECT_EQ(PeerConnectionInterface::kIceConnectionNew,
|
| observer_.ice_connection_state_);
|
| @@ -421,6 +431,12 @@ class WebRtcSessionTest
|
| session_->set_metrics_observer(metrics_observer_);
|
| }
|
|
|
| + void OnDataChannelCreationRequested(const std::string& label,
|
| + const InternalDataChannelInit& config) {
|
| + last_data_channel_label_ = label;
|
| + last_data_channel_config_ = config;
|
| + }
|
| +
|
| void Init() {
|
| PeerConnectionInterface::RTCConfiguration configuration;
|
| Init(nullptr, configuration);
|
| @@ -484,8 +500,97 @@ class WebRtcSessionTest
|
| Init();
|
| }
|
|
|
| - // Creates a local offer and applies it. Starts ice.
|
| - // Call mediastream_signaling_.UseOptionsWithStreamX() before this function
|
| + void SendAudioVideoStream1() {
|
| + send_stream_1_ = true;
|
| + send_stream_2_ = false;
|
| + send_audio_ = true;
|
| + send_video_ = true;
|
| + }
|
| +
|
| + void SendAudioVideoStream2() {
|
| + send_stream_1_ = false;
|
| + send_stream_2_ = true;
|
| + send_audio_ = true;
|
| + send_video_ = true;
|
| + }
|
| +
|
| + void SendAudioVideoStream1And2() {
|
| + send_stream_1_ = true;
|
| + send_stream_2_ = true;
|
| + send_audio_ = true;
|
| + send_video_ = true;
|
| + }
|
| +
|
| + void SendNothing() {
|
| + send_stream_1_ = false;
|
| + send_stream_2_ = false;
|
| + send_audio_ = false;
|
| + send_video_ = false;
|
| + }
|
| +
|
| + void SendAudioOnlyStream2() {
|
| + send_stream_1_ = false;
|
| + send_stream_2_ = true;
|
| + send_audio_ = true;
|
| + send_video_ = false;
|
| + }
|
| +
|
| + void SendVideoOnlyStream2() {
|
| + send_stream_1_ = false;
|
| + send_stream_2_ = true;
|
| + send_audio_ = false;
|
| + send_video_ = true;
|
| + }
|
| +
|
| + void AddStreamsToOptions(cricket::MediaSessionOptions* session_options) {
|
| + if (send_stream_1_ && send_audio_) {
|
| + session_options->AddSendStream(cricket::MEDIA_TYPE_AUDIO, kAudioTrack1,
|
| + kStream1);
|
| + }
|
| + if (send_stream_1_ && send_video_) {
|
| + session_options->AddSendStream(cricket::MEDIA_TYPE_VIDEO, kVideoTrack1,
|
| + kStream1);
|
| + }
|
| + if (send_stream_2_ && send_audio_) {
|
| + session_options->AddSendStream(cricket::MEDIA_TYPE_AUDIO, kAudioTrack2,
|
| + kStream2);
|
| + }
|
| + if (send_stream_2_ && send_video_) {
|
| + session_options->AddSendStream(cricket::MEDIA_TYPE_VIDEO, kVideoTrack2,
|
| + kStream2);
|
| + }
|
| + if (data_channel_ && session_->data_channel_type() == cricket::DCT_RTP) {
|
| + session_options->AddSendStream(cricket::MEDIA_TYPE_DATA,
|
| + data_channel_->label(),
|
| + data_channel_->label());
|
| + }
|
| + }
|
| +
|
| + void GetOptionsForOffer(
|
| + const PeerConnectionInterface::RTCOfferAnswerOptions& rtc_options,
|
| + cricket::MediaSessionOptions* session_options) {
|
| + AddStreamsToOptions(session_options);
|
| + ASSERT_TRUE(ConvertRtcOptionsForOffer(rtc_options, session_options));
|
| +
|
| + if (session_->data_channel_type() == cricket::DCT_SCTP && data_channel_) {
|
| + session_options->data_channel_type = cricket::DCT_SCTP;
|
| + }
|
| + }
|
| +
|
| + void GetOptionsForAnswer(const webrtc::MediaConstraintsInterface* constraints,
|
| + cricket::MediaSessionOptions* session_options) {
|
| + AddStreamsToOptions(session_options);
|
| + session_options->recv_audio = false;
|
| + session_options->recv_video = false;
|
| + ASSERT_TRUE(ParseConstraintsForAnswer(constraints, session_options));
|
| +
|
| + if (session_->data_channel_type() == cricket::DCT_SCTP) {
|
| + session_options->data_channel_type = cricket::DCT_SCTP;
|
| + }
|
| + }
|
| +
|
| + // Creates a local offer and applies it. Starts ICE.
|
| + // Call SendAudioVideoStreamX() before this function
|
| // to decide which streams to create.
|
| void InitiateCall() {
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| @@ -507,7 +612,9 @@ class WebRtcSessionTest
|
| const PeerConnectionInterface::RTCOfferAnswerOptions& options) {
|
| rtc::scoped_refptr<WebRtcSessionCreateSDPObserverForTest>
|
| observer = new WebRtcSessionCreateSDPObserverForTest();
|
| - session_->CreateOffer(observer, options);
|
| + cricket::MediaSessionOptions session_options;
|
| + GetOptionsForOffer(options, &session_options);
|
| + session_->CreateOffer(observer, options, session_options);
|
| EXPECT_TRUE_WAIT(
|
| observer->state() != WebRtcSessionCreateSDPObserverForTest::kInit,
|
| 2000);
|
| @@ -518,7 +625,9 @@ class WebRtcSessionTest
|
| const webrtc::MediaConstraintsInterface* constraints) {
|
| rtc::scoped_refptr<WebRtcSessionCreateSDPObserverForTest> observer
|
| = new WebRtcSessionCreateSDPObserverForTest();
|
| - session_->CreateAnswer(observer, constraints);
|
| + cricket::MediaSessionOptions session_options;
|
| + GetOptionsForAnswer(constraints, &session_options);
|
| + session_->CreateAnswer(observer, constraints, session_options);
|
| EXPECT_TRUE_WAIT(
|
| observer->state() != WebRtcSessionCreateSDPObserverForTest::kInit,
|
| 2000);
|
| @@ -648,7 +757,7 @@ class WebRtcSessionTest
|
| value_set);
|
| session_.reset();
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
|
|
| SetLocalDescriptionWithoutError(offer);
|
| @@ -745,7 +854,7 @@ class WebRtcSessionTest
|
|
|
| // Creates a remote offer and and applies it as a remote description,
|
| // creates a local answer and applies is as a local description.
|
| - // Call mediastream_signaling_.UseOptionsWithStreamX() before this function
|
| + // Call SendAudioVideoStreamX() before this function
|
| // to decide which local and remote streams to create.
|
| void CreateAndSetRemoteOfferAndLocalAnswer() {
|
| SessionDescriptionInterface* offer = CreateRemoteOffer();
|
| @@ -921,11 +1030,11 @@ class WebRtcSessionTest
|
| return offer;
|
| }
|
|
|
| - // Create a remote offer. Call mediastream_signaling_.UseOptionsWithStreamX()
|
| + // Create a remote offer. Call SendAudioVideoStreamX()
|
| // before this function to decide which streams to create.
|
| JsepSessionDescription* CreateRemoteOffer() {
|
| cricket::MediaSessionOptions options;
|
| - mediastream_signaling_.GetOptionsForAnswer(NULL, &options);
|
| + GetOptionsForAnswer(NULL, &options);
|
| return CreateRemoteOffer(options, session_->remote_description());
|
| }
|
|
|
| @@ -953,21 +1062,20 @@ class WebRtcSessionTest
|
| return CreateRemoteAnswer(offer, options, cricket::SEC_REQUIRED);
|
| }
|
|
|
| - // Creates an answer session description with streams based on
|
| - // |mediastream_signaling_|. Call
|
| - // mediastream_signaling_.UseOptionsWithStreamX() before this function
|
| + // Creates an answer session description.
|
| + // Call SendAudioVideoStreamX() before this function
|
| // to decide which streams to create.
|
| JsepSessionDescription* CreateRemoteAnswer(
|
| const SessionDescriptionInterface* offer) {
|
| cricket::MediaSessionOptions options;
|
| - mediastream_signaling_.GetOptionsForAnswer(NULL, &options);
|
| + GetOptionsForAnswer(NULL, &options);
|
| return CreateRemoteAnswer(offer, options, cricket::SEC_REQUIRED);
|
| }
|
|
|
| void TestSessionCandidatesWithBundleRtcpMux(bool bundle, bool rtcp_mux) {
|
| AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort));
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = bundle;
|
| @@ -1015,7 +1123,7 @@ class WebRtcSessionTest
|
| } else {
|
| Init();
|
| }
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
| EXPECT_FALSE(session_->CanInsertDtmf(""));
|
| EXPECT_EQ(can, session_->CanInsertDtmf(kAudioTrack1));
|
| @@ -1131,7 +1239,7 @@ class WebRtcSessionTest
|
| void TestLoopbackCall(const LoopbackNetworkConfiguration& config) {
|
| LoopbackNetworkManager loopback_network_manager(this, config);
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
|
|
| EXPECT_EQ(PeerConnectionInterface::kIceGatheringNew,
|
| @@ -1228,10 +1336,15 @@ class WebRtcSessionTest
|
| return true;
|
| }
|
|
|
| - void SetLocalDescriptionWithDataChannel() {
|
| + void CreateDataChannel() {
|
| webrtc::InternalDataChannelInit dci;
|
| - dci.reliable = false;
|
| - session_->CreateDataChannel("datachannel", &dci);
|
| + dci.reliable = session_->data_channel_type() == cricket::DCT_SCTP;
|
| + data_channel_ = DataChannel::Create(
|
| + session_.get(), session_->data_channel_type(), "datachannel", dci);
|
| + }
|
| +
|
| + void SetLocalDescriptionWithDataChannel() {
|
| + CreateDataChannel();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| SetLocalDescriptionWithoutError(offer);
|
| }
|
| @@ -1262,15 +1375,16 @@ class WebRtcSessionTest
|
| }
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| + cricket::MediaSessionOptions session_options;
|
| const int kNumber = 3;
|
| rtc::scoped_refptr<WebRtcSessionCreateSDPObserverForTest>
|
| observers[kNumber];
|
| for (int i = 0; i < kNumber; ++i) {
|
| observers[i] = new WebRtcSessionCreateSDPObserverForTest();
|
| if (type == CreateSessionDescriptionRequest::kOffer) {
|
| - session_->CreateOffer(observers[i], options);
|
| + session_->CreateOffer(observers[i], options, session_options);
|
| } else {
|
| - session_->CreateAnswer(observers[i], NULL);
|
| + session_->CreateAnswer(observers[i], nullptr, session_options);
|
| }
|
| }
|
|
|
| @@ -1315,12 +1429,20 @@ class WebRtcSessionTest
|
| rtc::scoped_ptr<cricket::BasicPortAllocator> allocator_;
|
| PeerConnectionFactoryInterface::Options options_;
|
| rtc::scoped_ptr<FakeConstraints> constraints_;
|
| - FakeMediaStreamSignaling mediastream_signaling_;
|
| rtc::scoped_ptr<WebRtcSessionForTest> session_;
|
| MockIceObserver observer_;
|
| cricket::FakeVideoMediaChannel* video_channel_;
|
| cricket::FakeVoiceMediaChannel* voice_channel_;
|
| rtc::scoped_refptr<FakeMetricsObserver> metrics_observer_;
|
| + // The following flags affect options created for CreateOffer/CreateAnswer.
|
| + bool send_stream_1_ = false;
|
| + bool send_stream_2_ = false;
|
| + bool send_audio_ = false;
|
| + bool send_video_ = false;
|
| + rtc::scoped_refptr<DataChannel> data_channel_;
|
| + // Last values received from data channel creation signal.
|
| + std::string last_data_channel_label_;
|
| + InternalDataChannelInit last_data_channel_config_;
|
| };
|
|
|
| TEST_P(WebRtcSessionTest, TestInitializeWithDtls) {
|
| @@ -1353,7 +1475,7 @@ TEST_F(WebRtcSessionTest, TestMultihomeCandidates) {
|
| AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort));
|
| AddInterface(rtc::SocketAddress(kClientAddrHost2, kClientAddrPort));
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| InitiateCall();
|
| EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout);
|
| EXPECT_EQ(8u, observer_.mline_0_candidates_.size());
|
| @@ -1368,7 +1490,7 @@ TEST_F(WebRtcSessionTest, TestStunError) {
|
| rtc::FD_ANY,
|
| rtc::SocketAddress(kClientAddrHost1, kClientAddrPort));
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| InitiateCall();
|
| // Since kClientAddrHost1 is blocked, not expecting stun candidates for it.
|
| EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout);
|
| @@ -1380,7 +1502,7 @@ TEST_F(WebRtcSessionTest, TestStunError) {
|
| TEST_F(WebRtcSessionTest, TestIceTransportsNone) {
|
| AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort));
|
| InitWithIceTransport(PeerConnectionInterface::kNone);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| InitiateCall();
|
| EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout);
|
| EXPECT_EQ(0u, observer_.mline_0_candidates_.size());
|
| @@ -1393,7 +1515,7 @@ TEST_F(WebRtcSessionTest, TestIceTransportsRelay) {
|
| AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort));
|
| ConfigureAllocatorWithTurn();
|
| InitWithIceTransport(PeerConnectionInterface::kRelay);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| InitiateCall();
|
| EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout);
|
| EXPECT_EQ(2u, observer_.mline_0_candidates_.size());
|
| @@ -1412,7 +1534,7 @@ TEST_F(WebRtcSessionTest, TestIceTransportsRelay) {
|
| TEST_F(WebRtcSessionTest, TestIceTransportsAll) {
|
| AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort));
|
| InitWithIceTransport(PeerConnectionInterface::kAll);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| InitiateCall();
|
| EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout);
|
| // Host + STUN. By default allocator is disabled to gather relay candidates.
|
| @@ -1433,13 +1555,13 @@ TEST_F(WebRtcSessionTest, SetSdpFailedOnInvalidSdp) {
|
| // media engine creates the expected send and receive streams.
|
| TEST_F(WebRtcSessionTest, TestCreateSdesOfferReceiveSdesAnswer) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| const std::string session_id_orig = offer->session_id();
|
| const std::string session_version_orig = offer->session_version();
|
| SetLocalDescriptionWithoutError(offer);
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* answer =
|
| CreateRemoteAnswer(session_->local_description());
|
| SetRemoteDescriptionWithoutError(answer);
|
| @@ -1459,7 +1581,7 @@ TEST_F(WebRtcSessionTest, TestCreateSdesOfferReceiveSdesAnswer) {
|
| EXPECT_TRUE(kAudioTrack1 == voice_channel_->send_streams()[0].id);
|
|
|
| // Create new offer without send streams.
|
| - mediastream_signaling_.SendNothing();
|
| + SendNothing();
|
| offer = CreateOffer();
|
|
|
| // Verify the session id is the same and the session version is
|
| @@ -1472,7 +1594,7 @@ TEST_F(WebRtcSessionTest, TestCreateSdesOfferReceiveSdesAnswer) {
|
| EXPECT_EQ(0u, video_channel_->send_streams().size());
|
| EXPECT_EQ(0u, voice_channel_->send_streams().size());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| answer = CreateRemoteAnswer(session_->local_description());
|
| SetRemoteDescriptionWithoutError(answer);
|
|
|
| @@ -1487,12 +1609,12 @@ TEST_F(WebRtcSessionTest, TestCreateSdesOfferReceiveSdesAnswer) {
|
| // media engine creates the expected send and receive streams.
|
| TEST_F(WebRtcSessionTest, TestReceiveSdesOfferCreateSdesAnswer) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| VerifyCryptoParams(offer->description());
|
| SetRemoteDescriptionWithoutError(offer);
|
|
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* answer = CreateAnswer(NULL);
|
| VerifyCryptoParams(answer->description());
|
| SetLocalDescriptionWithoutError(answer);
|
| @@ -1514,12 +1636,12 @@ TEST_F(WebRtcSessionTest, TestReceiveSdesOfferCreateSdesAnswer) {
|
| ASSERT_EQ(1u, voice_channel_->send_streams().size());
|
| EXPECT_TRUE(kAudioTrack1 == voice_channel_->send_streams()[0].id);
|
|
|
| - mediastream_signaling_.SendAudioVideoStream1And2();
|
| + SendAudioVideoStream1And2();
|
| offer = CreateOffer();
|
| SetRemoteDescriptionWithoutError(offer);
|
|
|
| // Answer by turning off all send streams.
|
| - mediastream_signaling_.SendNothing();
|
| + SendNothing();
|
| answer = CreateAnswer(NULL);
|
|
|
| // Verify the session id is the same and the session version is
|
| @@ -1633,7 +1755,7 @@ TEST_F(WebRtcSessionTest, TestSetRemoteNonSdesAnswerWhenSdesOn) {
|
| // and that we return an answer with a DTLS fingerprint.
|
| TEST_P(WebRtcSessionTest, TestReceiveDtlsOfferCreateDtlsAnswer) {
|
| MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| InitWithDtls(GetParam());
|
| SetFactoryDtlsSrtp();
|
| cricket::MediaSessionOptions options;
|
| @@ -1662,7 +1784,7 @@ TEST_P(WebRtcSessionTest, TestReceiveDtlsOfferCreateDtlsAnswer) {
|
| // and then we accept a remote answer with a DTLS fingerprint successfully.
|
| TEST_P(WebRtcSessionTest, TestCreateDtlsOfferReceiveDtlsAnswer) {
|
| MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| InitWithDtls(GetParam());
|
| SetFactoryDtlsSrtp();
|
|
|
| @@ -1751,7 +1873,7 @@ TEST_P(WebRtcSessionTest, TestSetRemoteNonDtlsAnswerWhenDtlsOn) {
|
| // Test that we create a local offer without SDES or DTLS and accept a remote
|
| // answer without SDES or DTLS when encryption is disabled.
|
| TEST_P(WebRtcSessionTest, TestCreateOfferReceiveAnswerWithoutEncryption) {
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| options_.disable_encryption = true;
|
| InitWithDtls(GetParam());
|
|
|
| @@ -1807,7 +1929,7 @@ TEST_P(WebRtcSessionTest, TestCreateAnswerReceiveOfferWithoutEncryption) {
|
|
|
| TEST_F(WebRtcSessionTest, TestSetLocalOfferTwice) {
|
| Init();
|
| - mediastream_signaling_.SendNothing();
|
| + SendNothing();
|
| // SetLocalDescription take ownership of offer.
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| SetLocalDescriptionWithoutError(offer);
|
| @@ -1819,7 +1941,7 @@ TEST_F(WebRtcSessionTest, TestSetLocalOfferTwice) {
|
|
|
| TEST_F(WebRtcSessionTest, TestSetRemoteOfferTwice) {
|
| Init();
|
| - mediastream_signaling_.SendNothing();
|
| + SendNothing();
|
| // SetLocalDescription take ownership of offer.
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| SetRemoteDescriptionWithoutError(offer);
|
| @@ -1830,7 +1952,7 @@ TEST_F(WebRtcSessionTest, TestSetRemoteOfferTwice) {
|
|
|
| TEST_F(WebRtcSessionTest, TestSetLocalAndRemoteOffer) {
|
| Init();
|
| - mediastream_signaling_.SendNothing();
|
| + SendNothing();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| SetLocalDescriptionWithoutError(offer);
|
| offer = CreateOffer();
|
| @@ -1840,7 +1962,7 @@ TEST_F(WebRtcSessionTest, TestSetLocalAndRemoteOffer) {
|
|
|
| TEST_F(WebRtcSessionTest, TestSetRemoteAndLocalOffer) {
|
| Init();
|
| - mediastream_signaling_.SendNothing();
|
| + SendNothing();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| SetRemoteDescriptionWithoutError(offer);
|
| offer = CreateOffer();
|
| @@ -1850,7 +1972,7 @@ TEST_F(WebRtcSessionTest, TestSetRemoteAndLocalOffer) {
|
|
|
| TEST_F(WebRtcSessionTest, TestSetLocalPrAnswer) {
|
| Init();
|
| - mediastream_signaling_.SendNothing();
|
| + SendNothing();
|
| SessionDescriptionInterface* offer = CreateRemoteOffer();
|
| SetRemoteDescriptionExpectState(offer, BaseSession::STATE_RECEIVEDINITIATE);
|
|
|
| @@ -1859,21 +1981,21 @@ TEST_F(WebRtcSessionTest, TestSetLocalPrAnswer) {
|
| pranswer->set_type(SessionDescriptionInterface::kPrAnswer);
|
| SetLocalDescriptionExpectState(pranswer, BaseSession::STATE_SENTPRACCEPT);
|
|
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| JsepSessionDescription* pranswer2 = static_cast<JsepSessionDescription*>(
|
| CreateAnswer(NULL));
|
| pranswer2->set_type(SessionDescriptionInterface::kPrAnswer);
|
|
|
| SetLocalDescriptionExpectState(pranswer2, BaseSession::STATE_SENTPRACCEPT);
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* answer = CreateAnswer(NULL);
|
| SetLocalDescriptionExpectState(answer, BaseSession::STATE_SENTACCEPT);
|
| }
|
|
|
| TEST_F(WebRtcSessionTest, TestSetRemotePrAnswer) {
|
| Init();
|
| - mediastream_signaling_.SendNothing();
|
| + SendNothing();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| SetLocalDescriptionExpectState(offer, BaseSession::STATE_SENTINITIATE);
|
|
|
| @@ -1884,7 +2006,7 @@ TEST_F(WebRtcSessionTest, TestSetRemotePrAnswer) {
|
| SetRemoteDescriptionExpectState(pranswer,
|
| BaseSession::STATE_RECEIVEDPRACCEPT);
|
|
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| JsepSessionDescription* pranswer2 =
|
| CreateRemoteAnswer(session_->local_description());
|
| pranswer2->set_type(SessionDescriptionInterface::kPrAnswer);
|
| @@ -1892,7 +2014,7 @@ TEST_F(WebRtcSessionTest, TestSetRemotePrAnswer) {
|
| SetRemoteDescriptionExpectState(pranswer2,
|
| BaseSession::STATE_RECEIVEDPRACCEPT);
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* answer =
|
| CreateRemoteAnswer(session_->local_description());
|
| SetRemoteDescriptionExpectState(answer, BaseSession::STATE_RECEIVEDACCEPT);
|
| @@ -1900,7 +2022,7 @@ TEST_F(WebRtcSessionTest, TestSetRemotePrAnswer) {
|
|
|
| TEST_F(WebRtcSessionTest, TestSetLocalAnswerWithoutOffer) {
|
| Init();
|
| - mediastream_signaling_.SendNothing();
|
| + SendNothing();
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
|
|
| SessionDescriptionInterface* answer =
|
| @@ -1911,7 +2033,7 @@ TEST_F(WebRtcSessionTest, TestSetLocalAnswerWithoutOffer) {
|
|
|
| TEST_F(WebRtcSessionTest, TestSetRemoteAnswerWithoutOffer) {
|
| Init();
|
| - mediastream_signaling_.SendNothing();
|
| + SendNothing();
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
|
|
| SessionDescriptionInterface* answer =
|
| @@ -1922,7 +2044,7 @@ TEST_F(WebRtcSessionTest, TestSetRemoteAnswerWithoutOffer) {
|
|
|
| TEST_F(WebRtcSessionTest, TestAddRemoteCandidate) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| cricket::Candidate candidate;
|
| candidate.set_component(1);
|
| @@ -1975,7 +2097,7 @@ TEST_F(WebRtcSessionTest, TestRemoteCandidatesAddedToSessionDescription) {
|
| candidate1.set_component(1);
|
| JsepIceCandidate ice_candidate1(kMediaContentName0, kMediaContentIndex0,
|
| candidate1);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
|
|
| EXPECT_TRUE(session_->ProcessIceMessage(&ice_candidate1));
|
| @@ -2024,7 +2146,7 @@ TEST_F(WebRtcSessionTest, TestRemoteCandidatesAddedToSessionDescription) {
|
| TEST_F(WebRtcSessionTest, TestLocalCandidatesAddedToSessionDescription) {
|
| AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort));
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
|
|
| const SessionDescriptionInterface* local_desc = session_->local_description();
|
| @@ -2044,7 +2166,7 @@ TEST_F(WebRtcSessionTest, TestLocalCandidatesAddedToSessionDescription) {
|
| EXPECT_EQ(0u, candidates->count());
|
|
|
| // Update the session descriptions.
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
|
|
| local_desc = session_->local_description();
|
| @@ -2064,7 +2186,7 @@ TEST_F(WebRtcSessionTest, TestSetRemoteSessionDescriptionWithCandidates) {
|
| candidate1.set_component(1);
|
| JsepIceCandidate ice_candidate(kMediaContentName0, kMediaContentIndex0,
|
| candidate1);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
|
|
| EXPECT_TRUE(offer->AddCandidate(&ice_candidate));
|
| @@ -2088,7 +2210,7 @@ TEST_F(WebRtcSessionTest, TestSetRemoteSessionDescriptionWithCandidates) {
|
| TEST_F(WebRtcSessionTest, TestSetLocalAndRemoteDescriptionWithCandidates) {
|
| AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort));
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| // Ice is started but candidates are not provided until SetLocalDescription
|
| // is called.
|
| EXPECT_EQ(0u, observer_.mline_0_candidates_.size());
|
| @@ -2115,7 +2237,7 @@ TEST_F(WebRtcSessionTest, TestSetLocalAndRemoteDescriptionWithCandidates) {
|
| // present in the SessionDescription.
|
| TEST_F(WebRtcSessionTest, TestChannelCreationsWithContentNames) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
|
|
| // CreateOffer creates session description with the content names "audio" and
|
| @@ -2180,7 +2302,7 @@ TEST_F(WebRtcSessionTest, CreateOfferWithoutConstraintsOrStreams) {
|
| TEST_F(WebRtcSessionTest, CreateOfferWithoutConstraints) {
|
| Init();
|
| // Test Audio only offer.
|
| - mediastream_signaling_.UseOptionsAudioOnly();
|
| + SendAudioOnlyStream2();
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
|
|
| const cricket::ContentInfo* content =
|
| @@ -2190,7 +2312,7 @@ TEST_F(WebRtcSessionTest, CreateOfferWithoutConstraints) {
|
| EXPECT_TRUE(content == NULL);
|
|
|
| // Test Audio / Video offer.
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| offer.reset(CreateOffer());
|
| content = cricket::GetFirstAudioContent(offer->description());
|
| EXPECT_TRUE(content != NULL);
|
| @@ -2329,7 +2451,7 @@ TEST_F(WebRtcSessionTest, CreateAnswerWithoutConstraints) {
|
| rtc::scoped_ptr<JsepSessionDescription> offer(CreateRemoteOffer());
|
| SetRemoteDescriptionWithoutError(offer.release());
|
| // Test with a stream with tracks.
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| rtc::scoped_ptr<SessionDescriptionInterface> answer(
|
| CreateAnswer(NULL));
|
| const cricket::ContentInfo* content =
|
| @@ -2379,7 +2501,7 @@ TEST_F(WebRtcSessionTest, CreateAnswerWithConstraints) {
|
| constraints_no_receive.SetMandatoryReceiveVideo(false);
|
|
|
| // Test with a stream with tracks.
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| rtc::scoped_ptr<SessionDescriptionInterface> answer(
|
| CreateAnswer(&constraints_no_receive));
|
|
|
| @@ -2436,7 +2558,7 @@ TEST_F(WebRtcSessionTest, TestAVOfferWithAudioOnlyAnswer) {
|
| EXPECT_TRUE(media_engine_->GetVideoChannel(0) == NULL);
|
| EXPECT_TRUE(media_engine_->GetVoiceChannel(0) == NULL);
|
|
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
|
|
| cricket::MediaSessionOptions options;
|
| @@ -2457,7 +2579,7 @@ TEST_F(WebRtcSessionTest, TestAVOfferWithAudioOnlyAnswer) {
|
| EXPECT_EQ(kAudioTrack1, voice_channel_->send_streams()[0].id);
|
|
|
| // Let the remote end update the session descriptions, with Audio and Video.
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
|
|
| video_channel_ = media_engine_->GetVideoChannel(0);
|
| @@ -2476,7 +2598,7 @@ TEST_F(WebRtcSessionTest, TestAVOfferWithAudioOnlyAnswer) {
|
| EXPECT_EQ(kAudioTrack2, voice_channel_->send_streams()[0].id);
|
|
|
| // Change session back to audio only.
|
| - mediastream_signaling_.UseOptionsAudioOnly();
|
| + SendAudioOnlyStream2();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
|
|
| EXPECT_EQ(0u, video_channel_->recv_streams().size());
|
| @@ -2492,7 +2614,7 @@ TEST_F(WebRtcSessionTest, TestAVOfferWithVideoOnlyAnswer) {
|
| Init();
|
| EXPECT_TRUE(media_engine_->GetVideoChannel(0) == NULL);
|
| EXPECT_TRUE(media_engine_->GetVoiceChannel(0) == NULL);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
|
|
| cricket::MediaSessionOptions options;
|
| @@ -2517,7 +2639,7 @@ TEST_F(WebRtcSessionTest, TestAVOfferWithVideoOnlyAnswer) {
|
| EXPECT_EQ(kVideoTrack1, video_channel_->send_streams()[0].id);
|
|
|
| // Update the session descriptions, with Audio and Video.
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
|
|
| voice_channel_ = media_engine_->GetVoiceChannel(0);
|
| @@ -2529,7 +2651,7 @@ TEST_F(WebRtcSessionTest, TestAVOfferWithVideoOnlyAnswer) {
|
| EXPECT_EQ(kAudioTrack2, voice_channel_->send_streams()[0].id);
|
|
|
| // Change session back to video only.
|
| - mediastream_signaling_.UseOptionsVideoOnly();
|
| + SendVideoOnlyStream2();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
|
|
| video_channel_ = media_engine_->GetVideoChannel(0);
|
| @@ -2543,7 +2665,7 @@ TEST_F(WebRtcSessionTest, TestAVOfferWithVideoOnlyAnswer) {
|
|
|
| TEST_F(WebRtcSessionTest, VerifyCryptoParamsInSDP) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
| VerifyCryptoParams(offer->description());
|
| SetRemoteDescriptionWithoutError(offer.release());
|
| @@ -2554,7 +2676,7 @@ TEST_F(WebRtcSessionTest, VerifyCryptoParamsInSDP) {
|
| TEST_F(WebRtcSessionTest, VerifyNoCryptoParamsInSDP) {
|
| options_.disable_encryption = true;
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
| VerifyNoCryptoParams(offer->description(), false);
|
| }
|
| @@ -2573,7 +2695,7 @@ TEST_F(WebRtcSessionTest, VerifyAnswerFromCryptoOffer) {
|
| // no a=ice-ufrag and a=ice-pwd lines are present in the SDP.
|
| TEST_F(WebRtcSessionTest, TestSetLocalDescriptionWithoutIce) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
|
|
| std::string sdp;
|
| @@ -2599,7 +2721,7 @@ TEST_F(WebRtcSessionTest, TestSetRemoteDescriptionWithoutIce) {
|
| // too short ice ufrag and pwd strings.
|
| TEST_F(WebRtcSessionTest, TestSetLocalDescriptionInvalidIceCredentials) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
|
|
| std::string sdp;
|
| @@ -2705,7 +2827,7 @@ TEST_F(WebRtcSessionTest, TestIgnoreCandidatesForUnusedTransportWhenBundling) {
|
| AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort));
|
|
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyBalanced);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = true;
|
| @@ -2788,7 +2910,7 @@ TEST_F(WebRtcSessionTest, TestIgnoreCandidatesForUnusedTransportWhenBundling) {
|
| // kBundlePolicyBalanced BUNDLE policy and answer contains BUNDLE.
|
| TEST_F(WebRtcSessionTest, TestBalancedBundleInAnswer) {
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyBalanced);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = true;
|
| @@ -2799,7 +2921,7 @@ TEST_F(WebRtcSessionTest, TestBalancedBundleInAnswer) {
|
| EXPECT_NE(session_->voice_rtp_transport_channel(),
|
| session_->video_rtp_transport_channel());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* answer =
|
| CreateRemoteAnswer(session_->local_description());
|
| SetRemoteDescriptionWithoutError(answer);
|
| @@ -2811,7 +2933,7 @@ TEST_F(WebRtcSessionTest, TestBalancedBundleInAnswer) {
|
| // kBundlePolicyBalanced BUNDLE policy but no BUNDLE in the answer.
|
| TEST_F(WebRtcSessionTest, TestBalancedNoBundleInAnswer) {
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyBalanced);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = true;
|
| @@ -2822,7 +2944,7 @@ TEST_F(WebRtcSessionTest, TestBalancedNoBundleInAnswer) {
|
| EXPECT_NE(session_->voice_rtp_transport_channel(),
|
| session_->video_rtp_transport_channel());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
|
|
| // Remove BUNDLE from the answer.
|
| rtc::scoped_ptr<SessionDescriptionInterface> answer(
|
| @@ -2841,7 +2963,7 @@ TEST_F(WebRtcSessionTest, TestBalancedNoBundleInAnswer) {
|
| // kBundlePolicyMaxBundle policy with BUNDLE in the answer.
|
| TEST_F(WebRtcSessionTest, TestMaxBundleBundleInAnswer) {
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyMaxBundle);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = true;
|
| @@ -2852,7 +2974,7 @@ TEST_F(WebRtcSessionTest, TestMaxBundleBundleInAnswer) {
|
| EXPECT_EQ(session_->voice_rtp_transport_channel(),
|
| session_->video_rtp_transport_channel());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* answer =
|
| CreateRemoteAnswer(session_->local_description());
|
| SetRemoteDescriptionWithoutError(answer);
|
| @@ -2865,7 +2987,7 @@ TEST_F(WebRtcSessionTest, TestMaxBundleBundleInAnswer) {
|
| // audio content in the answer.
|
| TEST_F(WebRtcSessionTest, TestMaxBundleRejectAudio) {
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyMaxBundle);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = true;
|
| @@ -2876,7 +2998,7 @@ TEST_F(WebRtcSessionTest, TestMaxBundleRejectAudio) {
|
| EXPECT_EQ(session_->voice_rtp_transport_channel(),
|
| session_->video_rtp_transport_channel());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| cricket::MediaSessionOptions recv_options;
|
| recv_options.recv_audio = false;
|
| recv_options.recv_video = true;
|
| @@ -2897,7 +3019,7 @@ TEST_F(WebRtcSessionTest, TestMaxBundleRejectAudio) {
|
| // kBundlePolicyMaxBundle policy but no BUNDLE in the answer.
|
| TEST_F(WebRtcSessionTest, TestMaxBundleNoBundleInAnswer) {
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyMaxBundle);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = true;
|
| @@ -2908,7 +3030,7 @@ TEST_F(WebRtcSessionTest, TestMaxBundleNoBundleInAnswer) {
|
| EXPECT_EQ(session_->voice_rtp_transport_channel(),
|
| session_->video_rtp_transport_channel());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
|
|
| // Remove BUNDLE from the answer.
|
| rtc::scoped_ptr<SessionDescriptionInterface> answer(
|
| @@ -2927,7 +3049,7 @@ TEST_F(WebRtcSessionTest, TestMaxBundleNoBundleInAnswer) {
|
| // kBundlePolicyMaxBundle policy with BUNDLE in the remote offer.
|
| TEST_F(WebRtcSessionTest, TestMaxBundleBundleInRemoteOffer) {
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyMaxBundle);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| SessionDescriptionInterface* offer = CreateRemoteOffer();
|
| SetRemoteDescriptionWithoutError(offer);
|
| @@ -2935,7 +3057,7 @@ TEST_F(WebRtcSessionTest, TestMaxBundleBundleInRemoteOffer) {
|
| EXPECT_EQ(session_->voice_rtp_transport_channel(),
|
| session_->video_rtp_transport_channel());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* answer = CreateAnswer(nullptr);
|
| SetLocalDescriptionWithoutError(answer);
|
|
|
| @@ -2946,7 +3068,7 @@ TEST_F(WebRtcSessionTest, TestMaxBundleBundleInRemoteOffer) {
|
| // kBundlePolicyMaxBundle policy but no BUNDLE in the remote offer.
|
| TEST_F(WebRtcSessionTest, TestMaxBundleNoBundleInRemoteOffer) {
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyMaxBundle);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| // Remove BUNDLE from the offer.
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateRemoteOffer());
|
| @@ -2964,7 +3086,7 @@ TEST_F(WebRtcSessionTest, TestMaxBundleNoBundleInRemoteOffer) {
|
| // kBundlePolicyMaxCompat bundle policy and answer contains BUNDLE.
|
| TEST_F(WebRtcSessionTest, TestMaxCompatBundleInAnswer) {
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyMaxCompat);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = true;
|
| @@ -2975,7 +3097,7 @@ TEST_F(WebRtcSessionTest, TestMaxCompatBundleInAnswer) {
|
| EXPECT_NE(session_->voice_rtp_transport_channel(),
|
| session_->video_rtp_transport_channel());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* answer =
|
| CreateRemoteAnswer(session_->local_description());
|
| SetRemoteDescriptionWithoutError(answer);
|
| @@ -2989,7 +3111,7 @@ TEST_F(WebRtcSessionTest, TestMaxCompatBundleInAnswer) {
|
| // kBundlePolicyMaxCompat BUNDLE policy but no BUNDLE in the answer.
|
| TEST_F(WebRtcSessionTest, TestMaxCompatNoBundleInAnswer) {
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyMaxCompat);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = true;
|
|
|
| @@ -2999,7 +3121,7 @@ TEST_F(WebRtcSessionTest, TestMaxCompatNoBundleInAnswer) {
|
| EXPECT_NE(session_->voice_rtp_transport_channel(),
|
| session_->video_rtp_transport_channel());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
|
|
| // Remove BUNDLE from the answer.
|
| rtc::scoped_ptr<SessionDescriptionInterface> answer(
|
| @@ -3018,7 +3140,7 @@ TEST_F(WebRtcSessionTest, TestMaxCompatNoBundleInAnswer) {
|
| // kBundlePolicyMaxbundle and then we call SetRemoteDescription first.
|
| TEST_F(WebRtcSessionTest, TestMaxBundleWithSetRemoteDescriptionFirst) {
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyMaxBundle);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = true;
|
| @@ -3032,7 +3154,7 @@ TEST_F(WebRtcSessionTest, TestMaxBundleWithSetRemoteDescriptionFirst) {
|
|
|
| TEST_F(WebRtcSessionTest, TestRequireRtcpMux) {
|
| InitWithRtcpMuxPolicy(PeerConnectionInterface::kRtcpMuxPolicyRequire);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| SessionDescriptionInterface* offer = CreateOffer(options);
|
| @@ -3041,7 +3163,7 @@ TEST_F(WebRtcSessionTest, TestRequireRtcpMux) {
|
| EXPECT_TRUE(session_->voice_rtcp_transport_channel() == NULL);
|
| EXPECT_TRUE(session_->video_rtcp_transport_channel() == NULL);
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* answer =
|
| CreateRemoteAnswer(session_->local_description());
|
| SetRemoteDescriptionWithoutError(answer);
|
| @@ -3052,7 +3174,7 @@ TEST_F(WebRtcSessionTest, TestRequireRtcpMux) {
|
|
|
| TEST_F(WebRtcSessionTest, TestNegotiateRtcpMux) {
|
| InitWithRtcpMuxPolicy(PeerConnectionInterface::kRtcpMuxPolicyNegotiate);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| SessionDescriptionInterface* offer = CreateOffer(options);
|
| @@ -3061,7 +3183,7 @@ TEST_F(WebRtcSessionTest, TestNegotiateRtcpMux) {
|
| EXPECT_TRUE(session_->voice_rtcp_transport_channel() != NULL);
|
| EXPECT_TRUE(session_->video_rtcp_transport_channel() != NULL);
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* answer =
|
| CreateRemoteAnswer(session_->local_description());
|
| SetRemoteDescriptionWithoutError(answer);
|
| @@ -3074,7 +3196,7 @@ TEST_F(WebRtcSessionTest, TestNegotiateRtcpMux) {
|
| // if BUNDLE is enabled but rtcp-mux is disabled in m-lines.
|
| TEST_F(WebRtcSessionTest, TestDisabledRtcpMuxWithBundleEnabled) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = true;
|
| @@ -3102,7 +3224,7 @@ TEST_F(WebRtcSessionTest, TestDisabledRtcpMuxWithBundleEnabled) {
|
|
|
| TEST_F(WebRtcSessionTest, SetAudioPlayout) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
| cricket::FakeVoiceMediaChannel* channel = media_engine_->GetVoiceChannel(0);
|
| ASSERT_TRUE(channel != NULL);
|
| @@ -3127,7 +3249,7 @@ TEST_F(WebRtcSessionTest, SetAudioPlayout) {
|
|
|
| TEST_F(WebRtcSessionTest, SetAudioSend) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
| cricket::FakeVoiceMediaChannel* channel = media_engine_->GetVoiceChannel(0);
|
| ASSERT_TRUE(channel != NULL);
|
| @@ -3157,7 +3279,7 @@ TEST_F(WebRtcSessionTest, SetAudioSend) {
|
|
|
| TEST_F(WebRtcSessionTest, AudioRendererForLocalStream) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
| cricket::FakeVoiceMediaChannel* channel = media_engine_->GetVoiceChannel(0);
|
| ASSERT_TRUE(channel != NULL);
|
| @@ -3180,7 +3302,7 @@ TEST_F(WebRtcSessionTest, AudioRendererForLocalStream) {
|
|
|
| TEST_F(WebRtcSessionTest, SetVideoPlayout) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
| cricket::FakeVideoMediaChannel* channel = media_engine_->GetVideoChannel(0);
|
| ASSERT_TRUE(channel != NULL);
|
| @@ -3197,7 +3319,7 @@ TEST_F(WebRtcSessionTest, SetVideoPlayout) {
|
|
|
| TEST_F(WebRtcSessionTest, SetVideoSend) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
| cricket::FakeVideoMediaChannel* channel = media_engine_->GetVideoChannel(0);
|
| ASSERT_TRUE(channel != NULL);
|
| @@ -3222,7 +3344,7 @@ TEST_F(WebRtcSessionTest, CanInsertDtmf) {
|
| TEST_F(WebRtcSessionTest, InsertDtmf) {
|
| // Setup
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| CreateAndSetRemoteOfferAndLocalAnswer();
|
| FakeVoiceMediaChannel* channel = media_engine_->GetVoiceChannel(0);
|
| EXPECT_EQ(0U, channel->dtmf_info_queue().size());
|
| @@ -3273,7 +3395,7 @@ TEST_F(WebRtcSessionTest, TestInitiatorFlagAsReceiver) {
|
| // Verifing local offer and remote answer have matching m-lines as per RFC 3264.
|
| TEST_F(WebRtcSessionTest, TestIncorrectMLinesInRemoteAnswer) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| SetLocalDescriptionWithoutError(offer);
|
| rtc::scoped_ptr<SessionDescriptionInterface> answer(
|
| @@ -3321,7 +3443,7 @@ TEST_F(WebRtcSessionTest, TestIncorrectMLinesInRemoteAnswer) {
|
| // RFC 3264.
|
| TEST_F(WebRtcSessionTest, TestIncorrectMLinesInLocalAnswer) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateRemoteOffer();
|
| SetRemoteDescriptionWithoutError(offer);
|
| SessionDescriptionInterface* answer = CreateAnswer(NULL);
|
| @@ -3342,7 +3464,7 @@ TEST_F(WebRtcSessionTest, TestIncorrectMLinesInLocalAnswer) {
|
| // before SetLocalDescription is called.
|
| TEST_F(WebRtcSessionTest, TestIceStartAfterSetLocalDescriptionOnly) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateRemoteOffer();
|
| cricket::Candidate candidate;
|
| candidate.set_component(1);
|
| @@ -3372,7 +3494,7 @@ TEST_F(WebRtcSessionTest, TestIceStartAfterSetLocalDescriptionOnly) {
|
| // description as per security policy set in MediaSessionDescriptionFactory.
|
| TEST_F(WebRtcSessionTest, TestCryptoAfterSetLocalDescription) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
|
|
| // Making sure SetLocalDescription correctly sets crypto value in
|
| @@ -3391,7 +3513,7 @@ TEST_F(WebRtcSessionTest, TestCryptoAfterSetLocalDescription) {
|
| TEST_F(WebRtcSessionTest, TestCryptoAfterSetLocalDescriptionWithDisabled) {
|
| options_.disable_encryption = true;
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
|
|
| // Making sure SetLocalDescription correctly sets crypto value in
|
| @@ -3416,7 +3538,7 @@ TEST_F(WebRtcSessionTest, TestCreateAnswerWithNewUfragAndPassword) {
|
| CreateRemoteOffer(options));
|
| SetRemoteDescriptionWithoutError(offer.release());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| rtc::scoped_ptr<SessionDescriptionInterface> answer(
|
| CreateAnswer(NULL));
|
| SetLocalDescriptionWithoutError(answer.release());
|
| @@ -3447,7 +3569,7 @@ TEST_F(WebRtcSessionTest, TestCreateAnswerWithOldUfragAndPassword) {
|
| CreateRemoteOffer(options));
|
| SetRemoteDescriptionWithoutError(offer.release());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| rtc::scoped_ptr<SessionDescriptionInterface> answer(
|
| CreateAnswer(NULL));
|
| SetLocalDescriptionWithoutError(answer.release());
|
| @@ -3470,7 +3592,7 @@ TEST_F(WebRtcSessionTest, TestCreateAnswerWithOldUfragAndPassword) {
|
|
|
| TEST_F(WebRtcSessionTest, TestSessionContentError) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| const std::string session_id_orig = offer->session_id();
|
| const std::string session_version_orig = offer->session_version();
|
| @@ -3479,7 +3601,7 @@ TEST_F(WebRtcSessionTest, TestSessionContentError) {
|
| video_channel_ = media_engine_->GetVideoChannel(0);
|
| video_channel_->set_fail_set_send_codecs(true);
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* answer =
|
| CreateRemoteAnswer(session_->local_description());
|
| SetRemoteDescriptionAnswerExpectError("ERROR_CONTENT", answer);
|
| @@ -3647,11 +3769,8 @@ TEST_P(WebRtcSessionTest, TestSctpDataChannelSendPortParsing) {
|
|
|
| // TEST PLAN: Set the port number to something new, set it in the SDP,
|
| // and pass it all the way down.
|
| - webrtc::InternalDataChannelInit dci;
|
| - dci.reliable = true;
|
| EXPECT_EQ(cricket::DCT_SCTP, data_engine_->last_channel_type());
|
| - rtc::scoped_refptr<webrtc::DataChannel> dc =
|
| - session_->CreateDataChannel("datachannel", &dci);
|
| + CreateDataChannel();
|
|
|
| cricket::FakeDataMediaChannel* ch = data_engine_->GetChannel(0);
|
| int portnum = -1;
|
| @@ -3673,7 +3792,36 @@ TEST_P(WebRtcSessionTest, TestSctpDataChannelSendPortParsing) {
|
| EXPECT_EQ(new_recv_port, portnum);
|
| }
|
|
|
| -TEST_F(WebRtcSessionTest, TestUsesProvidedCertificate) {
|
| +// Verifies that when a session's DataChannel receives an OPEN message,
|
| +// WebRtcSession signals the DataChannel creation request with the expected
|
| +// config.
|
| +TEST_P(WebRtcSessionTest, TestSctpDataChannelOpenMessage) {
|
| + MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp);
|
| +
|
| + InitWithDtls(GetParam());
|
| +
|
| + SetLocalDescriptionWithDataChannel();
|
| + EXPECT_EQ(cricket::DCT_SCTP, data_engine_->last_channel_type());
|
| +
|
| + webrtc::DataChannelInit config;
|
| + config.id = 1;
|
| + rtc::Buffer payload;
|
| + webrtc::WriteDataChannelOpenMessage("a", config, &payload);
|
| + cricket::ReceiveDataParams params;
|
| + params.ssrc = config.id;
|
| + params.type = cricket::DMT_CONTROL;
|
| +
|
| + cricket::DataChannel* data_channel = session_->data_channel();
|
| + data_channel->SignalDataReceived(data_channel, params, payload);
|
| +
|
| + EXPECT_EQ("a", last_data_channel_label_);
|
| + EXPECT_EQ(config.id, last_data_channel_config_.id);
|
| + EXPECT_FALSE(last_data_channel_config_.negotiated);
|
| + EXPECT_EQ(webrtc::InternalDataChannelInit::kAcker,
|
| + last_data_channel_config_.open_handshake_role);
|
| +}
|
| +
|
| +TEST_P(WebRtcSessionTest, TestUsesProvidedCertificate) {
|
| rtc::scoped_refptr<rtc::RTCCertificate> certificate =
|
| FakeDtlsIdentityStore::GenerateCertificate();
|
|
|
| @@ -3693,7 +3841,7 @@ TEST_P(WebRtcSessionTest, TestCreateOfferBeforeIdentityRequestReturnSuccess) {
|
| InitWithDtls(GetParam());
|
|
|
| EXPECT_TRUE(session_->waiting_for_certificate_for_testing());
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
|
|
| EXPECT_TRUE(offer != NULL);
|
| @@ -3810,7 +3958,7 @@ TEST_F(WebRtcSessionTest, TestDscpConstraint) {
|
| constraints_->AddOptional(
|
| webrtc::MediaConstraintsInterface::kEnableDscp, true);
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
|
|
| SetLocalDescriptionWithoutError(offer);
|
| @@ -3834,7 +3982,7 @@ TEST_F(WebRtcSessionTest, TestSuspendBelowMinBitrateConstraint) {
|
| webrtc::MediaConstraintsInterface::kEnableVideoSuspendBelowMinBitrate,
|
| true);
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
|
|
| SetLocalDescriptionWithoutError(offer);
|
| @@ -3862,7 +4010,7 @@ TEST_F(WebRtcSessionTest, TestCombinedAudioVideoBweConstraint) {
|
| webrtc::MediaConstraintsInterface::kCombinedAudioVideoBwe,
|
| true);
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
|
|
| SetLocalDescriptionWithoutError(offer);
|
| @@ -3882,7 +4030,7 @@ TEST_P(WebRtcSessionTest, TestRenegotiateNewMediaWithCandidatesInSdp) {
|
| InitWithDtls(GetParam());
|
| SetFactoryDtlsSrtp();
|
|
|
| - mediastream_signaling_.UseOptionsAudioOnly();
|
| + SendAudioOnlyStream2();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| SetLocalDescriptionWithoutError(offer);
|
|
|
| @@ -3912,7 +4060,7 @@ TEST_P(WebRtcSessionTest, TestRenegotiateNewMediaWithCandidatesSeparated) {
|
| InitWithDtls(GetParam());
|
| SetFactoryDtlsSrtp();
|
|
|
| - mediastream_signaling_.UseOptionsAudioOnly();
|
| + SendAudioOnlyStream2();
|
| SessionDescriptionInterface* offer = CreateOffer();
|
| SetLocalDescriptionWithoutError(offer);
|
|
|
| @@ -3938,7 +4086,7 @@ TEST_P(WebRtcSessionTest, TestRenegotiateNewMediaWithCandidatesSeparated) {
|
| // by local side.
|
| TEST_F(WebRtcSessionTest, TestRtxRemovedByCreateAnswer) {
|
| Init();
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
| std::string offer_sdp(kSdpWithRtx);
|
|
|
| SessionDescriptionInterface* offer =
|
| @@ -3961,7 +4109,7 @@ TEST_F(WebRtcSessionTest, TestRtxRemovedByCreateAnswer) {
|
| // and voice channels.
|
| TEST_F(WebRtcSessionTest, TestSetSocketOptionBeforeBundle) {
|
| InitWithBundlePolicy(PeerConnectionInterface::kBundlePolicyBalanced);
|
| - mediastream_signaling_.SendAudioVideoStream1();
|
| + SendAudioVideoStream1();
|
|
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.use_rtp_mux = true;
|
| @@ -3991,7 +4139,7 @@ TEST_F(WebRtcSessionTest, TestSetSocketOptionBeforeBundle) {
|
| EXPECT_NE(session_->voice_rtp_transport_channel(),
|
| session_->video_rtp_transport_channel());
|
|
|
| - mediastream_signaling_.SendAudioVideoStream2();
|
| + SendAudioVideoStream2();
|
| SessionDescriptionInterface* answer =
|
| CreateRemoteAnswer(session_->local_description());
|
| SetRemoteDescriptionWithoutError(answer);
|
| @@ -4015,10 +4163,12 @@ TEST_F(WebRtcSessionTest, CreateOffersAndShutdown) {
|
| PeerConnectionInterface::RTCOfferAnswerOptions options;
|
| options.offer_to_receive_audio =
|
| RTCOfferAnswerOptions::kOfferToReceiveMediaTrue;
|
| + cricket::MediaSessionOptions session_options;
|
| + session_options.recv_audio = true;
|
|
|
| for (auto& o : observers) {
|
| o = new WebRtcSessionCreateSDPObserverForTest();
|
| - session_->CreateOffer(o, options);
|
| + session_->CreateOffer(o, options, session_options);
|
| }
|
|
|
| session_.reset();
|
|
|