iOS: Move the fallback logic to the initWithNative… initializer.
This makes it possible to only inject 1 or 0 video codec factories when consuming the API using the PeerConnectionFactory+Native header. Bug: webrtc:7925 Change-Id: I671d8dcdbdf2198a31f3890ff6b416441bd32d48 Reviewed-on: https://webrtc-review.googlesource.com/42661 Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Commit-Queue: Anders Carlsson <andersc@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21715}
This commit is contained in:
parent
f475e3aa0e
commit
4418376d16
@ -79,17 +79,9 @@
|
|||||||
std::unique_ptr<webrtc::VideoDecoderFactory> native_decoder_factory;
|
std::unique_ptr<webrtc::VideoDecoderFactory> native_decoder_factory;
|
||||||
if (encoderFactory) {
|
if (encoderFactory) {
|
||||||
native_encoder_factory.reset(new webrtc::ObjCVideoEncoderFactory(encoderFactory));
|
native_encoder_factory.reset(new webrtc::ObjCVideoEncoderFactory(encoderFactory));
|
||||||
} else {
|
|
||||||
auto legacy_video_encoder_factory =
|
|
||||||
rtc::MakeUnique<webrtc::ObjCVideoEncoderFactory>([[RTCVideoEncoderFactoryH264 alloc] init]);
|
|
||||||
native_encoder_factory = ConvertVideoEncoderFactory(std::move(legacy_video_encoder_factory));
|
|
||||||
}
|
}
|
||||||
if (decoderFactory) {
|
if (decoderFactory) {
|
||||||
native_decoder_factory.reset(new webrtc::ObjCVideoDecoderFactory(decoderFactory));
|
native_decoder_factory.reset(new webrtc::ObjCVideoDecoderFactory(decoderFactory));
|
||||||
} else {
|
|
||||||
auto legacy_video_decoder_factory =
|
|
||||||
rtc::MakeUnique<webrtc::ObjCVideoDecoderFactory>([[RTCVideoDecoderFactoryH264 alloc] init]);
|
|
||||||
native_decoder_factory = ConvertVideoDecoderFactory(std::move(legacy_video_decoder_factory));
|
|
||||||
}
|
}
|
||||||
return [self initWithNativeAudioEncoderFactory:webrtc::CreateBuiltinAudioEncoderFactory()
|
return [self initWithNativeAudioEncoderFactory:webrtc::CreateBuiltinAudioEncoderFactory()
|
||||||
nativeAudioDecoderFactory:webrtc::CreateBuiltinAudioDecoderFactory()
|
nativeAudioDecoderFactory:webrtc::CreateBuiltinAudioDecoderFactory()
|
||||||
@ -147,6 +139,16 @@
|
|||||||
return [self initWithNoMedia];
|
return [self initWithNoMedia];
|
||||||
#else
|
#else
|
||||||
if (self = [self initNative]) {
|
if (self = [self initNative]) {
|
||||||
|
if (!videoEncoderFactory) {
|
||||||
|
auto legacy_video_encoder_factory = rtc::MakeUnique<webrtc::ObjCVideoEncoderFactory>(
|
||||||
|
[[RTCVideoEncoderFactoryH264 alloc] init]);
|
||||||
|
videoEncoderFactory = ConvertVideoEncoderFactory(std::move(legacy_video_encoder_factory));
|
||||||
|
}
|
||||||
|
if (!videoDecoderFactory) {
|
||||||
|
auto legacy_video_decoder_factory = rtc::MakeUnique<webrtc::ObjCVideoDecoderFactory>(
|
||||||
|
[[RTCVideoDecoderFactoryH264 alloc] init]);
|
||||||
|
videoDecoderFactory = ConvertVideoDecoderFactory(std::move(legacy_video_decoder_factory));
|
||||||
|
}
|
||||||
_nativeFactory = webrtc::CreatePeerConnectionFactory(_networkThread.get(),
|
_nativeFactory = webrtc::CreatePeerConnectionFactory(_networkThread.get(),
|
||||||
_workerThread.get(),
|
_workerThread.get(),
|
||||||
_signalingThread.get(),
|
_signalingThread.get(),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user