diff --git a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory+Native.h b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory+Native.h index be68f3fdd5..7a57645c0e 100644 --- a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory+Native.h +++ b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory+Native.h @@ -18,6 +18,7 @@ class AudioDeviceModule; class AudioEncoderFactory; class AudioDecoderFactory; class MediaTransportFactory; +class NetworkControllerFactoryInterface; class VideoEncoderFactory; class VideoDecoderFactory; class AudioProcessing; @@ -65,6 +66,23 @@ NS_ASSUME_NONNULL_BEGIN mediaTransportFactory: (std::unique_ptr)mediaTransportFactory; +- (instancetype) + initWithNativeAudioEncoderFactory: + (rtc::scoped_refptr)audioEncoderFactory + nativeAudioDecoderFactory: + (rtc::scoped_refptr)audioDecoderFactory + nativeVideoEncoderFactory: + (std::unique_ptr)videoEncoderFactory + nativeVideoDecoderFactory: + (std::unique_ptr)videoDecoderFactory + audioDeviceModule:(nullable webrtc::AudioDeviceModule *)audioDeviceModule + audioProcessingModule: + (rtc::scoped_refptr)audioProcessingModule + networkControllerFactory:(std::unique_ptr) + networkControllerFactory + mediaTransportFactory: + (std::unique_ptr)mediaTransportFactory; + - (instancetype)initWithEncoderFactory:(nullable id)encoderFactory decoderFactory:(nullable id)decoderFactory mediaTransportFactory: diff --git a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm index c1d0a32f00..18d211fb9e 100644 --- a/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm +++ b/sdk/objc/api/peerconnection/RTCPeerConnectionFactory.mm @@ -159,8 +159,7 @@ (std::unique_ptr)videoEncoderFactory nativeVideoDecoderFactory: (std::unique_ptr)videoDecoderFactory - audioDeviceModule: - (nullable webrtc::AudioDeviceModule *)audioDeviceModule + audioDeviceModule:(webrtc::AudioDeviceModule *)audioDeviceModule audioProcessingModule: (rtc::scoped_refptr)audioProcessingModule { return [self initWithNativeAudioEncoderFactory:audioEncoderFactory @@ -172,20 +171,44 @@ mediaTransportFactory:nullptr]; } -- (instancetype) - initWithNativeAudioEncoderFactory: - (rtc::scoped_refptr)audioEncoderFactory - nativeAudioDecoderFactory: - (rtc::scoped_refptr)audioDecoderFactory - nativeVideoEncoderFactory: - (std::unique_ptr)videoEncoderFactory - nativeVideoDecoderFactory: - (std::unique_ptr)videoDecoderFactory - audioDeviceModule:(nullable webrtc::AudioDeviceModule *)audioDeviceModule - audioProcessingModule: - (rtc::scoped_refptr)audioProcessingModule - mediaTransportFactory: - (std::unique_ptr)mediaTransportFactory { +- (instancetype)initWithNativeAudioEncoderFactory: + (rtc::scoped_refptr)audioEncoderFactory + nativeAudioDecoderFactory: + (rtc::scoped_refptr)audioDecoderFactory + nativeVideoEncoderFactory: + (std::unique_ptr)videoEncoderFactory + nativeVideoDecoderFactory: + (std::unique_ptr)videoDecoderFactory + audioDeviceModule:(webrtc::AudioDeviceModule *)audioDeviceModule + audioProcessingModule: + (rtc::scoped_refptr)audioProcessingModule + mediaTransportFactory:(std::unique_ptr) + mediaTransportFactory { + return [self initWithNativeAudioEncoderFactory:audioEncoderFactory + nativeAudioDecoderFactory:audioDecoderFactory + nativeVideoEncoderFactory:std::move(videoEncoderFactory) + nativeVideoDecoderFactory:std::move(videoDecoderFactory) + audioDeviceModule:audioDeviceModule + audioProcessingModule:audioProcessingModule + networkControllerFactory:nullptr + mediaTransportFactory:std::move(mediaTransportFactory)]; +} +- (instancetype)initWithNativeAudioEncoderFactory: + (rtc::scoped_refptr)audioEncoderFactory + nativeAudioDecoderFactory: + (rtc::scoped_refptr)audioDecoderFactory + nativeVideoEncoderFactory: + (std::unique_ptr)videoEncoderFactory + nativeVideoDecoderFactory: + (std::unique_ptr)videoDecoderFactory + audioDeviceModule:(webrtc::AudioDeviceModule *)audioDeviceModule + audioProcessingModule: + (rtc::scoped_refptr)audioProcessingModule + networkControllerFactory: + (std::unique_ptr) + networkControllerFactory + mediaTransportFactory:(std::unique_ptr) + mediaTransportFactory { #ifdef HAVE_NO_MEDIA return [self initWithNoMedia]; #else @@ -212,6 +235,7 @@ dependencies.media_engine = std::move(media_engine); dependencies.call_factory = std::move(call_factory); dependencies.event_log_factory = std::move(event_log_factory); + dependencies.network_controller_factory = std::move(networkControllerFactory); dependencies.media_transport_factory = std::move(mediaTransportFactory); _nativeFactory = webrtc::CreateModularPeerConnectionFactory(std::move(dependencies)); NSAssert(_nativeFactory, @"Failed to initialize PeerConnectionFactory!");