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

Unified Diff: talk/app/webrtc/webrtcsession_unittest.cc

Issue 1393563002: Moving MediaStreamSignaling logic into PeerConnection. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fixing copyright header Created 5 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « talk/app/webrtc/webrtcsession.cc ('k') | talk/app/webrtc/webrtcsessiondescriptionfactory.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: talk/app/webrtc/webrtcsession_unittest.cc
diff --git a/talk/app/webrtc/webrtcsession_unittest.cc b/talk/app/webrtc/webrtcsession_unittest.cc
index a463ba90bbecfddb81f8addb046b1fb63e9f3713..f0558eee3d45c7c25fe9b755960b7030f9ca9a22 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() {}
@@ -344,7 +354,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.
@@ -366,7 +377,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_);
@@ -395,10 +405,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_->SignalDataChannelOpenMessage.connect(
+ this, &WebRtcSessionTest::OnDataChannelOpenMessage);
EXPECT_EQ(PeerConnectionInterface::kIceConnectionNew,
observer_.ice_connection_state_);
@@ -411,6 +421,12 @@ class WebRtcSessionTest
session_->set_metrics_observer(metrics_observer_);
}
+ void OnDataChannelOpenMessage(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);
@@ -474,8 +490,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();
@@ -497,7 +602,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);
@@ -508,7 +615,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);
@@ -638,7 +747,7 @@ class WebRtcSessionTest
value_set);
session_.reset();
Init();
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
SessionDescriptionInterface* offer = CreateOffer();
SetLocalDescriptionWithoutError(offer);
@@ -735,7 +844,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();
@@ -911,11 +1020,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());
}
@@ -943,21 +1052,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;
@@ -1005,7 +1113,7 @@ class WebRtcSessionTest
} else {
Init();
}
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
CreateAndSetRemoteOfferAndLocalAnswer();
EXPECT_FALSE(session_->CanInsertDtmf(""));
EXPECT_EQ(can, session_->CanInsertDtmf(kAudioTrack1));
@@ -1121,7 +1229,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,
@@ -1218,10 +1326,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);
}
@@ -1252,15 +1365,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);
}
}
@@ -1305,12 +1419,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) {
@@ -1343,7 +1465,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());
@@ -1358,7 +1480,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);
@@ -1370,7 +1492,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());
@@ -1383,7 +1505,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());
@@ -1402,7 +1524,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.
@@ -1423,13 +1545,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);
@@ -1449,7 +1571,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
@@ -1462,7 +1584,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);
@@ -1477,12 +1599,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);
@@ -1504,12 +1626,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
@@ -1623,7 +1745,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;
@@ -1652,7 +1774,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();
@@ -1741,7 +1863,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());
@@ -1797,7 +1919,7 @@ TEST_P(WebRtcSessionTest, TestCreateAnswerReceiveOfferWithoutEncryption) {
TEST_F(WebRtcSessionTest, TestSetLocalOfferTwice) {
Init();
- mediastream_signaling_.SendNothing();
+ SendNothing();
// SetLocalDescription take ownership of offer.
SessionDescriptionInterface* offer = CreateOffer();
SetLocalDescriptionWithoutError(offer);
@@ -1809,7 +1931,7 @@ TEST_F(WebRtcSessionTest, TestSetLocalOfferTwice) {
TEST_F(WebRtcSessionTest, TestSetRemoteOfferTwice) {
Init();
- mediastream_signaling_.SendNothing();
+ SendNothing();
// SetLocalDescription take ownership of offer.
SessionDescriptionInterface* offer = CreateOffer();
SetRemoteDescriptionWithoutError(offer);
@@ -1820,7 +1942,7 @@ TEST_F(WebRtcSessionTest, TestSetRemoteOfferTwice) {
TEST_F(WebRtcSessionTest, TestSetLocalAndRemoteOffer) {
Init();
- mediastream_signaling_.SendNothing();
+ SendNothing();
SessionDescriptionInterface* offer = CreateOffer();
SetLocalDescriptionWithoutError(offer);
offer = CreateOffer();
@@ -1830,7 +1952,7 @@ TEST_F(WebRtcSessionTest, TestSetLocalAndRemoteOffer) {
TEST_F(WebRtcSessionTest, TestSetRemoteAndLocalOffer) {
Init();
- mediastream_signaling_.SendNothing();
+ SendNothing();
SessionDescriptionInterface* offer = CreateOffer();
SetRemoteDescriptionWithoutError(offer);
offer = CreateOffer();
@@ -1840,7 +1962,7 @@ TEST_F(WebRtcSessionTest, TestSetRemoteAndLocalOffer) {
TEST_F(WebRtcSessionTest, TestSetLocalPrAnswer) {
Init();
- mediastream_signaling_.SendNothing();
+ SendNothing();
SessionDescriptionInterface* offer = CreateRemoteOffer();
SetRemoteDescriptionExpectState(offer, BaseSession::STATE_RECEIVEDINITIATE);
@@ -1849,21 +1971,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);
@@ -1874,7 +1996,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);
@@ -1882,7 +2004,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);
@@ -1890,7 +2012,7 @@ TEST_F(WebRtcSessionTest, TestSetRemotePrAnswer) {
TEST_F(WebRtcSessionTest, TestSetLocalAnswerWithoutOffer) {
Init();
- mediastream_signaling_.SendNothing();
+ SendNothing();
rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
SessionDescriptionInterface* answer =
@@ -1901,7 +2023,7 @@ TEST_F(WebRtcSessionTest, TestSetLocalAnswerWithoutOffer) {
TEST_F(WebRtcSessionTest, TestSetRemoteAnswerWithoutOffer) {
Init();
- mediastream_signaling_.SendNothing();
+ SendNothing();
rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
SessionDescriptionInterface* answer =
@@ -1912,7 +2034,7 @@ TEST_F(WebRtcSessionTest, TestSetRemoteAnswerWithoutOffer) {
TEST_F(WebRtcSessionTest, TestAddRemoteCandidate) {
Init();
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
cricket::Candidate candidate;
candidate.set_component(1);
@@ -1965,7 +2087,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));
@@ -2014,7 +2136,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();
@@ -2034,7 +2156,7 @@ TEST_F(WebRtcSessionTest, TestLocalCandidatesAddedToSessionDescription) {
EXPECT_EQ(0u, candidates->count());
// Update the session descriptions.
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
CreateAndSetRemoteOfferAndLocalAnswer();
local_desc = session_->local_description();
@@ -2054,7 +2176,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));
@@ -2078,7 +2200,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());
@@ -2105,7 +2227,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
@@ -2170,7 +2292,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 =
@@ -2180,7 +2302,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);
@@ -2319,7 +2441,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 =
@@ -2369,7 +2491,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));
@@ -2426,7 +2548,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;
@@ -2447,7 +2569,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);
@@ -2466,7 +2588,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());
@@ -2482,7 +2604,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;
@@ -2507,7 +2629,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);
@@ -2519,7 +2641,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);
@@ -2533,7 +2655,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());
@@ -2544,7 +2666,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);
}
@@ -2563,7 +2685,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;
@@ -2589,7 +2711,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;
@@ -2695,7 +2817,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;
@@ -2778,7 +2900,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;
@@ -2789,7 +2911,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);
@@ -2801,7 +2923,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;
@@ -2812,7 +2934,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(
@@ -2831,7 +2953,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;
@@ -2842,7 +2964,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);
@@ -2855,7 +2977,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;
@@ -2866,7 +2988,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;
@@ -2887,7 +3009,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;
@@ -2898,7 +3020,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(
@@ -2917,7 +3039,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);
@@ -2925,7 +3047,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);
@@ -2936,7 +3058,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());
@@ -2954,7 +3076,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;
@@ -2965,7 +3087,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);
@@ -2979,7 +3101,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;
@@ -2989,7 +3111,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(
@@ -3008,7 +3130,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;
@@ -3022,7 +3144,7 @@ TEST_F(WebRtcSessionTest, TestMaxBundleWithSetRemoteDescriptionFirst) {
TEST_F(WebRtcSessionTest, TestRequireRtcpMux) {
InitWithRtcpMuxPolicy(PeerConnectionInterface::kRtcpMuxPolicyRequire);
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
PeerConnectionInterface::RTCOfferAnswerOptions options;
SessionDescriptionInterface* offer = CreateOffer(options);
@@ -3031,7 +3153,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);
@@ -3042,7 +3164,7 @@ TEST_F(WebRtcSessionTest, TestRequireRtcpMux) {
TEST_F(WebRtcSessionTest, TestNegotiateRtcpMux) {
InitWithRtcpMuxPolicy(PeerConnectionInterface::kRtcpMuxPolicyNegotiate);
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
PeerConnectionInterface::RTCOfferAnswerOptions options;
SessionDescriptionInterface* offer = CreateOffer(options);
@@ -3051,7 +3173,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);
@@ -3064,7 +3186,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;
@@ -3092,7 +3214,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);
@@ -3111,7 +3233,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);
@@ -3139,7 +3261,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);
@@ -3162,7 +3284,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);
@@ -3179,7 +3301,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);
@@ -3204,7 +3326,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());
@@ -3255,7 +3377,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(
@@ -3303,7 +3425,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);
@@ -3324,7 +3446,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);
@@ -3354,7 +3476,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
@@ -3373,7 +3495,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
@@ -3398,7 +3520,7 @@ TEST_F(WebRtcSessionTest, TestCreateAnswerWithNewUfragAndPassword) {
CreateRemoteOffer(options));
SetRemoteDescriptionWithoutError(offer.release());
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
rtc::scoped_ptr<SessionDescriptionInterface> answer(
CreateAnswer(NULL));
SetLocalDescriptionWithoutError(answer.release());
@@ -3429,7 +3551,7 @@ TEST_F(WebRtcSessionTest, TestCreateAnswerWithOldUfragAndPassword) {
CreateRemoteOffer(options));
SetRemoteDescriptionWithoutError(offer.release());
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
rtc::scoped_ptr<SessionDescriptionInterface> answer(
CreateAnswer(NULL));
SetLocalDescriptionWithoutError(answer.release());
@@ -3452,7 +3574,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();
@@ -3461,7 +3583,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);
@@ -3629,11 +3751,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;
@@ -3655,7 +3774,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();
@@ -3675,7 +3823,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);
@@ -3792,7 +3940,7 @@ TEST_F(WebRtcSessionTest, TestDscpConstraint) {
constraints_->AddOptional(
webrtc::MediaConstraintsInterface::kEnableDscp, true);
Init();
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
SessionDescriptionInterface* offer = CreateOffer();
SetLocalDescriptionWithoutError(offer);
@@ -3816,7 +3964,7 @@ TEST_F(WebRtcSessionTest, TestSuspendBelowMinBitrateConstraint) {
webrtc::MediaConstraintsInterface::kEnableVideoSuspendBelowMinBitrate,
true);
Init();
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
SessionDescriptionInterface* offer = CreateOffer();
SetLocalDescriptionWithoutError(offer);
@@ -3844,7 +3992,7 @@ TEST_F(WebRtcSessionTest, TestCombinedAudioVideoBweConstraint) {
webrtc::MediaConstraintsInterface::kCombinedAudioVideoBwe,
true);
Init();
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
SessionDescriptionInterface* offer = CreateOffer();
SetLocalDescriptionWithoutError(offer);
@@ -3864,7 +4012,7 @@ TEST_P(WebRtcSessionTest, TestRenegotiateNewMediaWithCandidatesInSdp) {
InitWithDtls(GetParam());
SetFactoryDtlsSrtp();
- mediastream_signaling_.UseOptionsAudioOnly();
+ SendAudioOnlyStream2();
SessionDescriptionInterface* offer = CreateOffer();
SetLocalDescriptionWithoutError(offer);
@@ -3894,7 +4042,7 @@ TEST_P(WebRtcSessionTest, TestRenegotiateNewMediaWithCandidatesSeparated) {
InitWithDtls(GetParam());
SetFactoryDtlsSrtp();
- mediastream_signaling_.UseOptionsAudioOnly();
+ SendAudioOnlyStream2();
SessionDescriptionInterface* offer = CreateOffer();
SetLocalDescriptionWithoutError(offer);
@@ -3920,7 +4068,7 @@ TEST_P(WebRtcSessionTest, TestRenegotiateNewMediaWithCandidatesSeparated) {
// by local side.
TEST_F(WebRtcSessionTest, TestRtxRemovedByCreateAnswer) {
Init();
- mediastream_signaling_.SendAudioVideoStream1();
+ SendAudioVideoStream1();
std::string offer_sdp(kSdpWithRtx);
SessionDescriptionInterface* offer =
@@ -3943,7 +4091,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;
@@ -3973,7 +4121,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);
@@ -3997,10 +4145,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();
« no previous file with comments | « talk/app/webrtc/webrtcsession.cc ('k') | talk/app/webrtc/webrtcsessiondescriptionfactory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698