Remove calls to deprecated CreatePC() and CreateDC()
Anything linking to //third_party/jsoncpp is hiding deprecated usage
warnings, so these were not discovered earlier.
Bug: chromium:983223
Change-Id: Id0ade4ca016f19db16377dbeeb756358a7e94fa2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/258124
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36463}
diff --git a/pc/peer_connection_bundle_unittest.cc b/pc/peer_connection_bundle_unittest.cc
index 20bf3e8..a95d082 100644
--- a/pc/peer_connection_bundle_unittest.cc
+++ b/pc/peer_connection_bundle_unittest.cc
@@ -231,14 +231,16 @@
auto observer = std::make_unique<MockPeerConnectionObserver>();
RTCConfiguration modified_config = config;
modified_config.sdp_semantics = sdp_semantics_;
- auto pc = pc_factory_->CreatePeerConnection(
- modified_config, std::move(port_allocator), nullptr, observer.get());
- if (!pc) {
+ PeerConnectionDependencies pc_dependencies(observer.get());
+ pc_dependencies.allocator = std::move(port_allocator);
+ auto result = pc_factory_->CreatePeerConnectionOrError(
+ modified_config, std::move(pc_dependencies));
+ if (!result.ok()) {
return nullptr;
}
auto wrapper = std::make_unique<PeerConnectionWrapperForBundleTest>(
- pc_factory_, pc, std::move(observer));
+ pc_factory_, result.MoveValue(), std::move(observer));
wrapper->set_network(fake_network);
return wrapper;
}
diff --git a/pc/peer_connection_crypto_unittest.cc b/pc/peer_connection_crypto_unittest.cc
index aedf6c6..15a0472 100644
--- a/pc/peer_connection_crypto_unittest.cc
+++ b/pc/peer_connection_crypto_unittest.cc
@@ -101,16 +101,18 @@
auto observer = std::make_unique<MockPeerConnectionObserver>();
RTCConfiguration modified_config = config;
modified_config.sdp_semantics = sdp_semantics_;
- auto pc = pc_factory_->CreatePeerConnection(
- modified_config, std::move(fake_port_allocator), std::move(cert_gen),
- observer.get());
- if (!pc) {
+ PeerConnectionDependencies pc_dependencies(observer.get());
+ pc_dependencies.allocator = std::move(fake_port_allocator);
+ pc_dependencies.cert_generator = std::move(cert_gen);
+ auto result = pc_factory_->CreatePeerConnectionOrError(
+ modified_config, std::move(pc_dependencies));
+ if (!result.ok()) {
return nullptr;
}
- observer->SetPeerConnectionInterface(pc.get());
- return std::make_unique<PeerConnectionWrapper>(pc_factory_, pc,
- std::move(observer));
+ observer->SetPeerConnectionInterface(result.value());
+ return std::make_unique<PeerConnectionWrapper>(
+ pc_factory_, result.MoveValue(), std::move(observer));
}
// Accepts the same arguments as CreatePeerConnection and adds default audio
diff --git a/pc/peer_connection_data_channel_unittest.cc b/pc/peer_connection_data_channel_unittest.cc
index 9708ae7..05268b3 100644
--- a/pc/peer_connection_data_channel_unittest.cc
+++ b/pc/peer_connection_data_channel_unittest.cc
@@ -138,15 +138,15 @@
auto observer = std::make_unique<MockPeerConnectionObserver>();
RTCConfiguration modified_config = config;
modified_config.sdp_semantics = sdp_semantics_;
- auto pc = pc_factory->CreatePeerConnection(modified_config, nullptr,
- nullptr, observer.get());
- if (!pc) {
+ auto result = pc_factory->CreatePeerConnectionOrError(
+ modified_config, PeerConnectionDependencies(observer.get()));
+ if (!result.ok()) {
return nullptr;
}
- observer->SetPeerConnectionInterface(pc.get());
+ observer->SetPeerConnectionInterface(result.value());
auto wrapper = std::make_unique<PeerConnectionWrapperForDataChannelTest>(
- pc_factory, pc, std::move(observer));
+ pc_factory, result.MoveValue(), std::move(observer));
wrapper->set_sctp_transport_factory(fake_sctp_transport_factory);
return wrapper;
}
@@ -159,7 +159,7 @@
if (!wrapper) {
return nullptr;
}
- EXPECT_TRUE(wrapper->pc()->CreateDataChannel("dc", nullptr));
+ EXPECT_TRUE(wrapper->pc()->CreateDataChannelOrError("dc", nullptr).ok());
return wrapper;
}
@@ -222,7 +222,7 @@
// transport.
caller->AddAudioTrack("a");
caller->AddVideoTrack("v");
- caller->pc()->CreateDataChannel("dc", nullptr);
+ caller->pc()->CreateDataChannelOrError("dc", nullptr);
auto offer = caller->CreateOffer();
const auto& offer_contents = offer->description()->contents();
diff --git a/pc/peer_connection_factory_unittest.cc b/pc/peer_connection_factory_unittest.cc
index 4e97053..1768bed 100644
--- a/pc/peer_connection_factory_unittest.cc
+++ b/pc/peer_connection_factory_unittest.cc
@@ -189,10 +189,12 @@
std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
new FakeRTCCertificateGenerator());
- rtc::scoped_refptr<PeerConnectionInterface> pc(factory->CreatePeerConnection(
- config, nullptr, std::move(cert_generator), &observer));
+ webrtc::PeerConnectionDependencies pc_dependencies(&observer);
+ pc_dependencies.cert_generator = std::move(cert_generator);
+ auto result =
+ factory->CreatePeerConnectionOrError(config, std::move(pc_dependencies));
- EXPECT_TRUE(pc.get() != nullptr);
+ EXPECT_TRUE(result.ok());
}
TEST_F(PeerConnectionFactoryTest, CheckRtpSenderAudioCapabilities) {
@@ -277,12 +279,13 @@
ice_server.username = kTurnUsername;
ice_server.password = kTurnPassword;
config.servers.push_back(ice_server);
- std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
- new FakeRTCCertificateGenerator());
- rtc::scoped_refptr<PeerConnectionInterface> pc(
- factory_->CreatePeerConnection(config, std::move(port_allocator_),
- std::move(cert_generator), &observer_));
- ASSERT_TRUE(pc.get() != NULL);
+ webrtc::PeerConnectionDependencies pc_dependencies(&observer_);
+ pc_dependencies.cert_generator =
+ std::make_unique<FakeRTCCertificateGenerator>();
+ pc_dependencies.allocator = std::move(port_allocator_);
+ auto result =
+ factory_->CreatePeerConnectionOrError(config, std::move(pc_dependencies));
+ ASSERT_TRUE(result.ok());
cricket::ServerAddresses stun_servers;
rtc::SocketAddress stun1("stun.l.google.com", 19302);
stun_servers.insert(stun1);
@@ -309,12 +312,13 @@
ice_server.username = kTurnUsername;
ice_server.password = kTurnPassword;
config.servers.push_back(ice_server);
- std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
- new FakeRTCCertificateGenerator());
- rtc::scoped_refptr<PeerConnectionInterface> pc(
- factory_->CreatePeerConnection(config, std::move(port_allocator_),
- std::move(cert_generator), &observer_));
- ASSERT_TRUE(pc.get() != NULL);
+ webrtc::PeerConnectionDependencies pc_dependencies(&observer_);
+ pc_dependencies.cert_generator =
+ std::make_unique<FakeRTCCertificateGenerator>();
+ pc_dependencies.allocator = std::move(port_allocator_);
+ auto result =
+ factory_->CreatePeerConnectionOrError(config, std::move(pc_dependencies));
+ ASSERT_TRUE(result.ok());
cricket::ServerAddresses stun_servers;
rtc::SocketAddress stun1("stun.l.google.com", 19302);
stun_servers.insert(stun1);
@@ -339,12 +343,13 @@
ice_server.username = kTurnUsername;
ice_server.password = kTurnPassword;
config.servers.push_back(ice_server);
- std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
- new FakeRTCCertificateGenerator());
- rtc::scoped_refptr<PeerConnectionInterface> pc(
- factory_->CreatePeerConnection(config, std::move(port_allocator_),
- std::move(cert_generator), &observer_));
- ASSERT_TRUE(pc.get() != NULL);
+ webrtc::PeerConnectionDependencies pc_dependencies(&observer_);
+ pc_dependencies.cert_generator =
+ std::make_unique<FakeRTCCertificateGenerator>();
+ pc_dependencies.allocator = std::move(port_allocator_);
+ auto result =
+ factory_->CreatePeerConnectionOrError(config, std::move(pc_dependencies));
+ ASSERT_TRUE(result.ok());
std::vector<cricket::RelayServerConfig> turn_servers;
cricket::RelayServerConfig turn("test.com", 1234, kTurnUsername,
kTurnPassword, cricket::PROTO_UDP);
@@ -362,12 +367,13 @@
ice_server.username = kTurnUsername;
ice_server.password = kTurnPassword;
config.servers.push_back(ice_server);
- std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
- new FakeRTCCertificateGenerator());
- rtc::scoped_refptr<PeerConnectionInterface> pc(
- factory_->CreatePeerConnection(config, std::move(port_allocator_),
- std::move(cert_generator), &observer_));
- ASSERT_TRUE(pc.get() != NULL);
+ webrtc::PeerConnectionDependencies pc_dependencies(&observer_);
+ pc_dependencies.cert_generator =
+ std::make_unique<FakeRTCCertificateGenerator>();
+ pc_dependencies.allocator = std::move(port_allocator_);
+ auto result =
+ factory_->CreatePeerConnectionOrError(config, std::move(pc_dependencies));
+ ASSERT_TRUE(result.ok());
std::vector<cricket::RelayServerConfig> turn_servers;
cricket::RelayServerConfig turn("hello.com", kDefaultStunPort, kTurnUsername,
kTurnPassword, cricket::PROTO_TCP);
@@ -391,12 +397,13 @@
ice_server.username = kTurnUsername;
ice_server.password = kTurnPassword;
config.servers.push_back(ice_server);
- std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
- new FakeRTCCertificateGenerator());
- rtc::scoped_refptr<PeerConnectionInterface> pc(
- factory_->CreatePeerConnection(config, std::move(port_allocator_),
- std::move(cert_generator), &observer_));
- ASSERT_TRUE(pc.get() != NULL);
+ webrtc::PeerConnectionDependencies pc_dependencies(&observer_);
+ pc_dependencies.cert_generator =
+ std::make_unique<FakeRTCCertificateGenerator>();
+ pc_dependencies.allocator = std::move(port_allocator_);
+ auto result =
+ factory_->CreatePeerConnectionOrError(config, std::move(pc_dependencies));
+ ASSERT_TRUE(result.ok());
std::vector<cricket::RelayServerConfig> turn_servers;
cricket::RelayServerConfig turn1("hello.com", kDefaultStunTlsPort,
kTurnUsername, kTurnPassword,
@@ -429,12 +436,13 @@
ice_server.username = kTurnUsername;
ice_server.password = kTurnPassword;
config.servers.push_back(ice_server);
- std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
- new FakeRTCCertificateGenerator());
- rtc::scoped_refptr<PeerConnectionInterface> pc(
- factory_->CreatePeerConnection(config, std::move(port_allocator_),
- std::move(cert_generator), &observer_));
- ASSERT_TRUE(pc.get() != NULL);
+ webrtc::PeerConnectionDependencies pc_dependencies(&observer_);
+ pc_dependencies.cert_generator =
+ std::make_unique<FakeRTCCertificateGenerator>();
+ pc_dependencies.allocator = std::move(port_allocator_);
+ auto result =
+ factory_->CreatePeerConnectionOrError(config, std::move(pc_dependencies));
+ ASSERT_TRUE(result.ok());
cricket::ServerAddresses stun_servers;
rtc::SocketAddress stun1("1.2.3.4", 1234);
stun_servers.insert(stun1);
diff --git a/pc/peer_connection_header_extension_unittest.cc b/pc/peer_connection_header_extension_unittest.cc
index 7c07af4..34e0cd2 100644
--- a/pc/peer_connection_header_extension_unittest.cc
+++ b/pc/peer_connection_header_extension_unittest.cc
@@ -101,11 +101,14 @@
PeerConnectionInterface::RTCConfiguration config;
if (semantics)
config.sdp_semantics = *semantics;
- auto pc = pc_factory->CreatePeerConnection(
- config, std::move(fake_port_allocator), nullptr, observer.get());
- observer->SetPeerConnectionInterface(pc.get());
- return std::make_unique<PeerConnectionWrapper>(pc_factory, pc,
- std::move(observer));
+ PeerConnectionDependencies pc_dependencies(observer.get());
+ pc_dependencies.allocator = std::move(fake_port_allocator);
+ auto result = pc_factory->CreatePeerConnectionOrError(
+ config, std::move(pc_dependencies));
+ EXPECT_TRUE(result.ok());
+ observer->SetPeerConnectionInterface(result.value());
+ return std::make_unique<PeerConnectionWrapper>(
+ pc_factory, result.MoveValue(), std::move(observer));
}
std::vector<RtpHeaderExtensionCapability> extensions_;
diff --git a/pc/peer_connection_histogram_unittest.cc b/pc/peer_connection_histogram_unittest.cc
index cc87b6a..8837ab0 100644
--- a/pc/peer_connection_histogram_unittest.cc
+++ b/pc/peer_connection_histogram_unittest.cc
@@ -346,14 +346,15 @@
auto observer = std::make_unique<ObserverForUsageHistogramTest>();
deps.observer = observer.get();
- auto pc = pc_factory->CreatePeerConnection(config, std::move(deps));
- if (!pc) {
+ auto result =
+ pc_factory->CreatePeerConnectionOrError(config, std::move(deps));
+ if (!result.ok()) {
return nullptr;
}
- observer->SetPeerConnectionInterface(pc.get());
+ observer->SetPeerConnectionInterface(result.value());
auto wrapper = std::make_unique<PeerConnectionWrapperForUsageHistogramTest>(
- pc_factory, pc, std::move(observer));
+ pc_factory, result.MoveValue(), std::move(observer));
return wrapper;
}
diff --git a/pc/peer_connection_ice_unittest.cc b/pc/peer_connection_ice_unittest.cc
index 03c4b83..bd619bb 100644
--- a/pc/peer_connection_ice_unittest.cc
+++ b/pc/peer_connection_ice_unittest.cc
@@ -167,15 +167,17 @@
modified_config.sdp_semantics = sdp_semantics_;
auto observer = std::make_unique<MockPeerConnectionObserver>();
auto port_allocator_copy = port_allocator.get();
- auto pc = pc_factory_->CreatePeerConnection(
- modified_config, std::move(port_allocator), nullptr, observer.get());
- if (!pc) {
+ PeerConnectionDependencies pc_dependencies(observer.get());
+ pc_dependencies.allocator = std::move(port_allocator);
+ auto result = pc_factory_->CreatePeerConnectionOrError(
+ modified_config, std::move(pc_dependencies));
+ if (!result.ok()) {
return nullptr;
}
- observer->SetPeerConnectionInterface(pc.get());
+ observer->SetPeerConnectionInterface(result.value());
auto wrapper = std::make_unique<PeerConnectionWrapperForIceTest>(
- pc_factory_, pc, std::move(observer));
+ pc_factory_, result.MoveValue(), std::move(observer));
wrapper->set_network(fake_network);
wrapper->port_allocator_ = port_allocator_copy;
return wrapper;
@@ -1415,12 +1417,12 @@
std::unique_ptr<cricket::FakePortAllocator> port_allocator(
new cricket::FakePortAllocator(rtc::Thread::Current(), nullptr));
port_allocator_ = port_allocator.get();
- rtc::scoped_refptr<PeerConnectionInterface> pc(
- pc_factory_->CreatePeerConnection(config, std::move(port_allocator),
- nullptr /* cert_generator */,
- &observer_));
- EXPECT_TRUE(pc.get());
- pc_ = std::move(pc);
+ PeerConnectionDependencies pc_dependencies(&observer_);
+ pc_dependencies.allocator = std::move(port_allocator);
+ auto result = pc_factory_->CreatePeerConnectionOrError(
+ config, std::move(pc_dependencies));
+ EXPECT_TRUE(result.ok());
+ pc_ = result.MoveValue();
}
rtc::scoped_refptr<PeerConnectionFactoryInterface> pc_factory_ = nullptr;
diff --git a/pc/peer_connection_interface_unittest.cc b/pc/peer_connection_interface_unittest.cc
index 731fe8e..15e7da4 100644
--- a/pc/peer_connection_interface_unittest.cc
+++ b/pc/peer_connection_interface_unittest.cc
@@ -749,10 +749,13 @@
RTCConfiguration modified_config = config;
modified_config.sdp_semantics = sdp_semantics_;
- pc_ = pc_factory_->CreatePeerConnection(
- modified_config, std::move(port_allocator), std::move(cert_generator),
- &observer_);
- ASSERT_TRUE(pc_.get() != NULL);
+ PeerConnectionDependencies pc_dependencies(&observer_);
+ pc_dependencies.cert_generator = std::move(cert_generator);
+ pc_dependencies.allocator = std::move(port_allocator);
+ auto result = pc_factory_->CreatePeerConnectionOrError(
+ modified_config, std::move(pc_dependencies));
+ ASSERT_TRUE(result.ok());
+ pc_ = result.MoveValue();
observer_.SetPeerConnectionInterface(pc_.get());
EXPECT_EQ(PeerConnectionInterface::kStable, observer_.state_);
}
@@ -763,9 +766,10 @@
server.uri = uri;
config.servers.push_back(server);
config.sdp_semantics = sdp_semantics_;
- rtc::scoped_refptr<PeerConnectionInterface> pc =
- pc_factory_->CreatePeerConnection(config, nullptr, nullptr, &observer_);
- EXPECT_EQ(nullptr, pc);
+ PeerConnectionDependencies pc_dependencies(&observer_);
+ auto result = pc_factory_->CreatePeerConnectionOrError(
+ config, std::move(pc_dependencies));
+ EXPECT_FALSE(result.ok());
}
void CreatePeerConnectionExpectFail(
@@ -775,9 +779,10 @@
server.password = kTurnPassword;
config.servers.push_back(server);
config.sdp_semantics = sdp_semantics_;
- rtc::scoped_refptr<PeerConnectionInterface> pc =
- pc_factory_->CreatePeerConnection(config, nullptr, nullptr, &observer_);
- EXPECT_EQ(nullptr, pc);
+ PeerConnectionDependencies pc_dependencies(&observer_);
+ auto result = pc_factory_->CreatePeerConnectionOrError(
+ config, std::move(pc_dependencies));
+ EXPECT_FALSE(result.ok());
}
void CreatePeerConnectionWithDifferentConfigurations() {
@@ -1384,11 +1389,12 @@
webrtc::CreateBuiltinVideoEncoderFactory(),
webrtc::CreateBuiltinVideoDecoderFactory(), nullptr /* audio_mixer */,
nullptr /* audio_processing */));
- rtc::scoped_refptr<PeerConnectionInterface> pc(
- pc_factory->CreatePeerConnection(config, std::move(port_allocator),
- nullptr, &observer_));
- EXPECT_TRUE(pc.get());
- observer_.SetPeerConnectionInterface(pc.get());
+ PeerConnectionDependencies pc_dependencies(&observer_);
+ pc_dependencies.allocator = std::move(port_allocator);
+ auto result = pc_factory_->CreatePeerConnectionOrError(
+ config, std::move(pc_dependencies));
+ EXPECT_TRUE(result.ok());
+ observer_.SetPeerConnectionInterface(result.value());
// Now validate that the config fields set above were applied to the
// PortAllocator, as flags or otherwise.
@@ -1902,31 +1908,30 @@
CreatePeerConnection(rtc_config);
webrtc::DataChannelInit config;
- rtc::scoped_refptr<DataChannelInterface> channel =
- pc_->CreateDataChannel("1", &config);
- EXPECT_TRUE(channel != NULL);
- EXPECT_TRUE(channel->reliable());
+ auto channel = pc_->CreateDataChannelOrError("1", &config);
+ EXPECT_TRUE(channel.ok());
+ EXPECT_TRUE(channel.value()->reliable());
EXPECT_TRUE(observer_.renegotiation_needed_);
observer_.renegotiation_needed_ = false;
config.ordered = false;
- channel = pc_->CreateDataChannel("2", &config);
- EXPECT_TRUE(channel != NULL);
- EXPECT_TRUE(channel->reliable());
+ channel = pc_->CreateDataChannelOrError("2", &config);
+ EXPECT_TRUE(channel.ok());
+ EXPECT_TRUE(channel.value()->reliable());
EXPECT_FALSE(observer_.renegotiation_needed_);
config.ordered = true;
config.maxRetransmits = 0;
- channel = pc_->CreateDataChannel("3", &config);
- EXPECT_TRUE(channel != NULL);
- EXPECT_FALSE(channel->reliable());
+ channel = pc_->CreateDataChannelOrError("3", &config);
+ EXPECT_TRUE(channel.ok());
+ EXPECT_FALSE(channel.value()->reliable());
EXPECT_FALSE(observer_.renegotiation_needed_);
config.maxRetransmits = absl::nullopt;
config.maxRetransmitTime = 0;
- channel = pc_->CreateDataChannel("4", &config);
- EXPECT_TRUE(channel != NULL);
- EXPECT_FALSE(channel->reliable());
+ channel = pc_->CreateDataChannelOrError("4", &config);
+ EXPECT_TRUE(channel.ok());
+ EXPECT_FALSE(channel.value()->reliable());
EXPECT_FALSE(observer_.renegotiation_needed_);
}
@@ -1939,9 +1944,8 @@
webrtc::DataChannelInit config;
config.maxRetransmitTime = -1;
config.maxRetransmits = -1;
- rtc::scoped_refptr<DataChannelInterface> channel =
- pc_->CreateDataChannel("1", &config);
- EXPECT_TRUE(channel != NULL);
+ auto channel = pc_->CreateDataChannelOrError("1", &config);
+ EXPECT_TRUE(channel.ok());
}
// This tests that no data channel is returned if both maxRetransmits and
@@ -1956,9 +1960,8 @@
config.maxRetransmits = 0;
config.maxRetransmitTime = 0;
- rtc::scoped_refptr<DataChannelInterface> channel =
- pc_->CreateDataChannel(label, &config);
- EXPECT_TRUE(channel == NULL);
+ auto channel = pc_->CreateDataChannelOrError(label, &config);
+ EXPECT_FALSE(channel.ok());
}
// The test verifies that creating a SCTP data channel with an id already in use
@@ -1969,27 +1972,26 @@
CreatePeerConnection(rtc_config);
webrtc::DataChannelInit config;
- rtc::scoped_refptr<DataChannelInterface> channel;
config.id = 1;
config.negotiated = true;
- channel = pc_->CreateDataChannel("1", &config);
- EXPECT_TRUE(channel != NULL);
- EXPECT_EQ(1, channel->id());
+ auto channel = pc_->CreateDataChannelOrError("1", &config);
+ EXPECT_TRUE(channel.ok());
+ EXPECT_EQ(1, channel.value()->id());
- channel = pc_->CreateDataChannel("x", &config);
- EXPECT_TRUE(channel == NULL);
+ channel = pc_->CreateDataChannelOrError("x", &config);
+ EXPECT_FALSE(channel.ok());
config.id = cricket::kMaxSctpSid;
config.negotiated = true;
- channel = pc_->CreateDataChannel("max", &config);
- EXPECT_TRUE(channel != NULL);
- EXPECT_EQ(config.id, channel->id());
+ channel = pc_->CreateDataChannelOrError("max", &config);
+ EXPECT_TRUE(channel.ok());
+ EXPECT_EQ(config.id, channel.value()->id());
config.id = cricket::kMaxSctpSid + 1;
config.negotiated = true;
- channel = pc_->CreateDataChannel("x", &config);
- EXPECT_TRUE(channel == NULL);
+ channel = pc_->CreateDataChannelOrError("x", &config);
+ EXPECT_FALSE(channel.ok());
}
// Verifies that duplicated label is allowed for SCTP data channel.
@@ -1998,13 +2000,11 @@
CreatePeerConnection(rtc_config);
std::string label = "test";
- rtc::scoped_refptr<DataChannelInterface> channel =
- pc_->CreateDataChannel(label, nullptr);
- EXPECT_NE(channel, nullptr);
+ auto channel = pc_->CreateDataChannelOrError(label, nullptr);
+ EXPECT_TRUE(channel.ok());
- rtc::scoped_refptr<DataChannelInterface> dup_channel =
- pc_->CreateDataChannel(label, nullptr);
- EXPECT_NE(dup_channel, nullptr);
+ auto dup_channel = pc_->CreateDataChannelOrError(label, nullptr);
+ EXPECT_TRUE(dup_channel.ok());
}
#ifdef WEBRTC_HAVE_SCTP
@@ -2017,8 +2017,7 @@
RTCConfiguration rtc_config;
CreatePeerConnection(rtc_config);
- rtc::scoped_refptr<DataChannelInterface> offer_channel(
- pc_->CreateDataChannel("offer_channel", NULL));
+ auto offer_channel = pc_->CreateDataChannelOrError("offer_channel", NULL);
CreateOfferAsLocalDescription();
@@ -2033,7 +2032,7 @@
data_info->rejected = true;
DoSetRemoteDescription(std::move(answer));
- EXPECT_EQ(DataChannelInterface::kClosed, offer_channel->state());
+ EXPECT_EQ(DataChannelInterface::kClosed, offer_channel.value()->state());
}
// Test that we can create a session description from an SDP string from
@@ -2456,7 +2455,7 @@
pc_->RemoveStream(local_stream);
EXPECT_FALSE(pc_->AddStream(local_stream));
- EXPECT_TRUE(pc_->CreateDataChannel("test", NULL) == NULL);
+ EXPECT_FALSE(pc_->CreateDataChannelOrError("test", NULL).ok());
EXPECT_TRUE(pc_->local_description() != NULL);
EXPECT_TRUE(pc_->remote_description() != NULL);
@@ -3340,7 +3339,7 @@
// First, create an offer with only a data channel and apply it as a remote
// description.
- pc_->CreateDataChannel("test", nullptr);
+ pc_->CreateDataChannelOrError("test", nullptr);
std::unique_ptr<SessionDescriptionInterface> offer;
ASSERT_TRUE(DoCreateOffer(&offer, nullptr));
EXPECT_TRUE(DoSetRemoteDescription(std::move(offer)));
@@ -3660,11 +3659,12 @@
}
const cricket::MediaConfig TestCreatePeerConnection(
const RTCConfiguration& config) {
- rtc::scoped_refptr<PeerConnectionInterface> pc(
- pcf_->CreatePeerConnection(config, nullptr, nullptr, &observer_));
- EXPECT_TRUE(pc.get());
- observer_.SetPeerConnectionInterface(pc.get());
- return pc->GetConfiguration().media_config;
+ PeerConnectionDependencies pc_dependencies(&observer_);
+ auto result =
+ pcf_->CreatePeerConnectionOrError(config, std::move(pc_dependencies));
+ EXPECT_TRUE(result.ok());
+ observer_.SetPeerConnectionInterface(result.value());
+ return result.value()->GetConfiguration().media_config;
}
rtc::scoped_refptr<PeerConnectionFactoryForTest> pcf_;
@@ -3675,11 +3675,12 @@
TEST_F(PeerConnectionMediaConfigTest, TestCreateAndClose) {
PeerConnectionInterface::RTCConfiguration config;
config.sdp_semantics = SdpSemantics::kUnifiedPlan;
- rtc::scoped_refptr<PeerConnectionInterface> pc(
- pcf_->CreatePeerConnection(config, nullptr, nullptr, &observer_));
- EXPECT_TRUE(pc.get());
- observer_.SetPeerConnectionInterface(pc.get()); // Required.
- pc->Close(); // No abort -> ok.
+ PeerConnectionDependencies pc_dependencies(&observer_);
+ auto result =
+ pcf_->CreatePeerConnectionOrError(config, std::move(pc_dependencies));
+ EXPECT_TRUE(result.ok());
+ observer_.SetPeerConnectionInterface(result.value());
+ result.value()->Close(); // No abort -> ok.
SUCCEED();
}
diff --git a/pc/peer_connection_jsep_unittest.cc b/pc/peer_connection_jsep_unittest.cc
index 3e18f7b..d244b31 100644
--- a/pc/peer_connection_jsep_unittest.cc
+++ b/pc/peer_connection_jsep_unittest.cc
@@ -117,15 +117,15 @@
CreateModularPeerConnectionFactory(
CreatePeerConnectionFactoryDependencies());
auto observer = std::make_unique<MockPeerConnectionObserver>();
- auto pc = pc_factory->CreatePeerConnection(config, nullptr, nullptr,
- observer.get());
- if (!pc) {
+ auto result = pc_factory->CreatePeerConnectionOrError(
+ config, PeerConnectionDependencies(observer.get()));
+ if (!result.ok()) {
return nullptr;
}
- observer->SetPeerConnectionInterface(pc.get());
- return std::make_unique<PeerConnectionWrapper>(pc_factory, pc,
- std::move(observer));
+ observer->SetPeerConnectionInterface(result.value());
+ return std::make_unique<PeerConnectionWrapper>(
+ pc_factory, result.MoveValue(), std::move(observer));
}
std::unique_ptr<rtc::VirtualSocketServer> vss_;
diff --git a/pc/peer_connection_media_unittest.cc b/pc/peer_connection_media_unittest.cc
index 6d5fe94..4973aed 100644
--- a/pc/peer_connection_media_unittest.cc
+++ b/pc/peer_connection_media_unittest.cc
@@ -141,13 +141,15 @@
auto observer = std::make_unique<MockPeerConnectionObserver>();
auto modified_config = config;
modified_config.sdp_semantics = sdp_semantics_;
- auto pc = pc_factory->CreatePeerConnection(modified_config,
- std::move(fake_port_allocator),
- nullptr, observer.get());
- if (!pc) {
+ PeerConnectionDependencies pc_dependencies(observer.get());
+ pc_dependencies.allocator = std::move(fake_port_allocator);
+ auto result = pc_factory->CreatePeerConnectionOrError(
+ modified_config, std::move(pc_dependencies));
+ if (!result.ok()) {
return nullptr;
}
+ auto pc = result.MoveValue();
observer->SetPeerConnectionInterface(pc.get());
auto wrapper = std::make_unique<PeerConnectionWrapperForMediaTest>(
pc_factory, pc, std::move(observer));
diff --git a/pc/peer_connection_rtp_unittest.cc b/pc/peer_connection_rtp_unittest.cc
index 060c8af..19073d2 100644
--- a/pc/peer_connection_rtp_unittest.cc
+++ b/pc/peer_connection_rtp_unittest.cc
@@ -135,12 +135,12 @@
std::unique_ptr<PeerConnectionWrapper> CreatePeerConnectionInternal(
const RTCConfiguration& config) {
auto observer = std::make_unique<MockPeerConnectionObserver>();
- auto pc = pc_factory_->CreatePeerConnection(config, nullptr, nullptr,
- observer.get());
- EXPECT_TRUE(pc.get());
- observer->SetPeerConnectionInterface(pc.get());
- return std::make_unique<PeerConnectionWrapper>(pc_factory_, pc,
- std::move(observer));
+ auto result = pc_factory_->CreatePeerConnectionOrError(
+ config, PeerConnectionDependencies(observer.get()));
+ EXPECT_TRUE(result.ok());
+ observer->SetPeerConnectionInterface(result.value());
+ return std::make_unique<PeerConnectionWrapper>(
+ pc_factory_, result.MoveValue(), std::move(observer));
}
};
diff --git a/pc/peer_connection_signaling_unittest.cc b/pc/peer_connection_signaling_unittest.cc
index 77b36e6..87fb9bb 100644
--- a/pc/peer_connection_signaling_unittest.cc
+++ b/pc/peer_connection_signaling_unittest.cc
@@ -147,15 +147,15 @@
auto observer = std::make_unique<MockPeerConnectionObserver>();
RTCConfiguration modified_config = config;
modified_config.sdp_semantics = sdp_semantics_;
- auto pc = pc_factory_->CreatePeerConnection(modified_config, nullptr,
- nullptr, observer.get());
- if (!pc) {
+ auto result = pc_factory_->CreatePeerConnectionOrError(
+ modified_config, PeerConnectionDependencies(observer.get()));
+ if (!result.ok()) {
return nullptr;
}
- observer->SetPeerConnectionInterface(pc.get());
+ observer->SetPeerConnectionInterface(result.value());
return std::make_unique<PeerConnectionWrapperForSignalingTest>(
- pc_factory_, pc, std::move(observer));
+ pc_factory_, result.MoveValue(), std::move(observer));
}
// Accepts the same arguments as CreatePeerConnection and adds default audio
@@ -1335,7 +1335,7 @@
EXPECT_TRUE(
callee->SetLocalDescription(CloneSessionDescription(answer.get())));
- callee->pc()->GetTransceivers()[0]->Stop();
+ callee->pc()->GetTransceivers()[0]->StopStandard();
auto reoffer = callee->CreateOffer(RTCOfferAnswerOptions());
auto codecs = reoffer->description()
->contents()[0]
diff --git a/pc/peer_connection_simulcast_unittest.cc b/pc/peer_connection_simulcast_unittest.cc
index 10c4f39..e732b65 100644
--- a/pc/peer_connection_simulcast_unittest.cc
+++ b/pc/peer_connection_simulcast_unittest.cc
@@ -137,10 +137,11 @@
PeerConnectionInterface::RTCConfiguration config;
config.sdp_semantics = SdpSemantics::kUnifiedPlan;
PeerConnectionDependencies pcd(observer);
- auto pc = pc_factory_->CreatePeerConnection(config, std::move(pcd));
- EXPECT_TRUE(pc);
- observer->SetPeerConnectionInterface(pc);
- return pc;
+ auto result =
+ pc_factory_->CreatePeerConnectionOrError(config, std::move(pcd));
+ EXPECT_TRUE(result.ok());
+ observer->SetPeerConnectionInterface(result.value());
+ return result.MoveValue();
}
std::unique_ptr<PeerConnectionWrapper> CreatePeerConnectionWrapper() {
diff --git a/pc/sdp_offer_answer_unittest.cc b/pc/sdp_offer_answer_unittest.cc
index b992c34..2f441ef 100644
--- a/pc/sdp_offer_answer_unittest.cc
+++ b/pc/sdp_offer_answer_unittest.cc
@@ -82,12 +82,12 @@
std::unique_ptr<PeerConnectionWrapper> CreatePeerConnection(
const RTCConfiguration& config) {
auto observer = std::make_unique<MockPeerConnectionObserver>();
- auto pc = pc_factory_->CreatePeerConnection(config, nullptr, nullptr,
- observer.get());
- EXPECT_TRUE(pc.get());
- observer->SetPeerConnectionInterface(pc.get());
- return std::make_unique<PeerConnectionWrapper>(pc_factory_, pc,
- std::move(observer));
+ auto result = pc_factory_->CreatePeerConnectionOrError(
+ config, PeerConnectionDependencies(observer.get()));
+ EXPECT_TRUE(result.ok());
+ observer->SetPeerConnectionInterface(result.value());
+ return std::make_unique<PeerConnectionWrapper>(
+ pc_factory_, result.MoveValue(), std::move(observer));
}
protected:
diff --git a/pc/test/integration_test_helpers.h b/pc/test/integration_test_helpers.h
index 78c91af..c35c357 100644
--- a/pc/test/integration_test_helpers.h
+++ b/pc/test/integration_test_helpers.h
@@ -410,7 +410,9 @@
void CreateDataChannel(const std::string& label,
const webrtc::DataChannelInit* init) {
- data_channels_.push_back(pc()->CreateDataChannel(label, init));
+ auto data_channel_or_error = pc()->CreateDataChannelOrError(label, init);
+ ASSERT_TRUE(data_channel_or_error.ok());
+ data_channels_.push_back(data_channel_or_error.MoveValue());
ASSERT_TRUE(data_channels_.back().get() != nullptr);
data_observers_.push_back(
std::make_unique<MockDataChannelObserver>(data_channels_.back()));
@@ -825,8 +827,11 @@
modified_config.set_cpu_adaptation(false);
dependencies.observer = this;
- return peer_connection_factory_->CreatePeerConnection(
- modified_config, std::move(dependencies));
+ auto peer_connection_or_error =
+ peer_connection_factory_->CreatePeerConnectionOrError(
+ modified_config, std::move(dependencies));
+ return peer_connection_or_error.ok() ? peer_connection_or_error.MoveValue()
+ : nullptr;
}
void set_signaling_message_receiver(