diff options
Diffstat (limited to 'pc/peer_connection_factory.cc')
-rw-r--r-- | pc/peer_connection_factory.cc | 52 |
1 files changed, 17 insertions, 35 deletions
diff --git a/pc/peer_connection_factory.cc b/pc/peer_connection_factory.cc index c911871f8d..50755a38c7 100644 --- a/pc/peer_connection_factory.cc +++ b/pc/peer_connection_factory.cc @@ -18,26 +18,28 @@ #include "api/call/call_factory_interface.h" #include "api/fec_controller.h" #include "api/ice_transport_interface.h" -#include "api/media_stream_proxy.h" -#include "api/media_stream_track_proxy.h" #include "api/network_state_predictor.h" #include "api/packet_socket_factory.h" -#include "api/peer_connection_factory_proxy.h" -#include "api/peer_connection_proxy.h" #include "api/rtc_event_log/rtc_event_log.h" #include "api/sequence_checker.h" #include "api/transport/bitrate_settings.h" #include "api/units/data_rate.h" #include "call/audio_state.h" +#include "call/rtp_transport_controller_send_factory.h" #include "media/base/media_engine.h" #include "p2p/base/basic_async_resolver_factory.h" #include "p2p/base/basic_packet_socket_factory.h" #include "p2p/base/default_ice_transport_factory.h" +#include "p2p/base/port_allocator.h" #include "p2p/client/basic_port_allocator.h" #include "pc/audio_track.h" #include "pc/local_audio_source.h" #include "pc/media_stream.h" +#include "pc/media_stream_proxy.h" +#include "pc/media_stream_track_proxy.h" #include "pc/peer_connection.h" +#include "pc/peer_connection_factory_proxy.h" +#include "pc/peer_connection_proxy.h" #include "pc/rtp_parameters_conversion.h" #include "pc/session_description.h" #include "pc/video_track.h" @@ -48,6 +50,7 @@ #include "rtc_base/logging.h" #include "rtc_base/numerics/safe_conversions.h" #include "rtc_base/ref_counted_object.h" +#include "rtc_base/rtc_certificate_generator.h" #include "rtc_base/system/file_wrapper.h" namespace webrtc { @@ -84,8 +87,7 @@ rtc::scoped_refptr<PeerConnectionFactory> PeerConnectionFactory::Create( if (!context) { return nullptr; } - return new rtc::RefCountedObject<PeerConnectionFactory>(context, - &dependencies); + return rtc::make_ref_counted<PeerConnectionFactory>(context, &dependencies); } PeerConnectionFactory::PeerConnectionFactory( @@ -99,7 +101,11 @@ PeerConnectionFactory::PeerConnectionFactory( std::move(dependencies->network_state_predictor_factory)), injected_network_controller_factory_( std::move(dependencies->network_controller_factory)), - neteq_factory_(std::move(dependencies->neteq_factory)) {} + neteq_factory_(std::move(dependencies->neteq_factory)), + transport_controller_send_factory_( + (dependencies->transport_controller_send_factory) + ? std::move(dependencies->transport_controller_send_factory) + : std::make_unique<RtpTransportControllerSendFactory>()) {} PeerConnectionFactory::PeerConnectionFactory( PeerConnectionFactoryDependencies dependencies) @@ -138,6 +144,7 @@ RtpCapabilities PeerConnectionFactory::GetRtpSenderCapabilities( case cricket::MEDIA_TYPE_UNSUPPORTED: return RtpCapabilities(); } + RTC_DLOG(LS_ERROR) << "Got unexpected MediaType " << kind; RTC_CHECK_NOTREACHED(); } @@ -164,6 +171,7 @@ RtpCapabilities PeerConnectionFactory::GetRtpReceiverCapabilities( case cricket::MEDIA_TYPE_UNSUPPORTED: return RtpCapabilities(); } + RTC_DLOG(LS_ERROR) << "Got unexpected MediaType " << kind; RTC_CHECK_NOTREACHED(); } @@ -185,33 +193,6 @@ void PeerConnectionFactory::StopAecDump() { channel_manager()->StopAecDump(); } -rtc::scoped_refptr<PeerConnectionInterface> -PeerConnectionFactory::CreatePeerConnection( - const PeerConnectionInterface::RTCConfiguration& configuration, - std::unique_ptr<cricket::PortAllocator> allocator, - std::unique_ptr<rtc::RTCCertificateGeneratorInterface> cert_generator, - PeerConnectionObserver* observer) { - // Convert the legacy API into the new dependency structure. - PeerConnectionDependencies dependencies(observer); - dependencies.allocator = std::move(allocator); - dependencies.cert_generator = std::move(cert_generator); - // Pass that into the new API. - return CreatePeerConnection(configuration, std::move(dependencies)); -} - -rtc::scoped_refptr<PeerConnectionInterface> -PeerConnectionFactory::CreatePeerConnection( - const PeerConnectionInterface::RTCConfiguration& configuration, - PeerConnectionDependencies dependencies) { - auto result = - CreatePeerConnectionOrError(configuration, std::move(dependencies)); - if (result.ok()) { - return result.MoveValue(); - } else { - return nullptr; - } -} - RTCErrorOr<rtc::scoped_refptr<PeerConnectionInterface>> PeerConnectionFactory::CreatePeerConnectionOrError( const PeerConnectionInterface::RTCConfiguration& configuration, @@ -358,7 +339,8 @@ std::unique_ptr<Call> PeerConnectionFactory::CreateCall_w( } call_config.trials = &trials(); - + call_config.rtp_transport_controller_send_factory = + transport_controller_send_factory_.get(); return std::unique_ptr<Call>( context_->call_factory()->CreateCall(call_config)); } |