Index: webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm |
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm |
index 9f24aec11daf611a1a90825d50b772f2580ef552..4f542a9fcc6e519e8c1eb945eab2e2ec6376ba4f 100644 |
--- a/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm |
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm |
@@ -21,6 +21,8 @@ |
#import "RTCVideoTrack+Private.h" |
#import "WebRTC/RTCLogging.h" |
+#include "videotoolboxvideocodecfactory.h" |
+ |
@implementation RTCPeerConnectionFactory { |
std::unique_ptr<rtc::Thread> _networkThread; |
std::unique_ptr<rtc::Thread> _workerThread; |
@@ -44,9 +46,14 @@ |
result = _signalingThread->Start(); |
NSAssert(result, @"Failed to start signaling thread."); |
+ const auto encoder_factory = new webrtc::VideoToolboxVideoEncoderFactory(); |
+ const auto decoder_factory = new webrtc::VideoToolboxVideoDecoderFactory(); |
+ |
+ // Ownership of encoder/decoder factories is passed on to the |
+ // peerconnectionfactory, that handles deleting them. |
_nativeFactory = webrtc::CreatePeerConnectionFactory( |
_networkThread.get(), _workerThread.get(), _signalingThread.get(), |
- nullptr, nullptr, nullptr); |
+ nullptr, encoder_factory, decoder_factory); |
NSAssert(_nativeFactory, @"Failed to initialize PeerConnectionFactory!"); |
} |
return self; |