diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec+Private.h b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec+Private.h index 269e505780..e783126d89 100644 --- a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec+Private.h +++ b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec+Private.h @@ -49,6 +49,9 @@ NS_ASSUME_NONNULL_BEGIN @interface RTCVideoCodecInfo () - (instancetype)initWithNativeVideoCodec:(cricket::VideoCodec)videoCodec; +- (instancetype)initWithPayload:(NSInteger)payload + name:(NSString *)name + parameters:(NSDictionary *)parameters; - (cricket::VideoCodec)nativeVideoCodec; @end diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm index 1be33f0a8f..4936568dd1 100644 --- a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm +++ b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm @@ -20,13 +20,12 @@ @synthesize name = _name; @synthesize parameters = _parameters; -- (instancetype)initWithPayload:(NSInteger)payload - name:(NSString *)name - parameters:(NSDictionary *)parameters { +- (instancetype)initWithName:(NSString *)name + parameters:(nullable NSDictionary *)parameters { if (self = [super init]) { - _payload = payload; + _payload = 0; _name = name; - _parameters = parameters; + _parameters = (parameters ? parameters : @{}); } return self; @@ -43,6 +42,16 @@ parameters:params]; } +- (instancetype)initWithPayload:(NSInteger)payload + name:(NSString *)name + parameters:(NSDictionary *)parameters { + if (self = [self initWithName:name parameters:parameters]) { + _payload = payload; + } + + return self; +} + - (cricket::VideoCodec)nativeVideoCodec { cricket::VideoCodec codec([NSString stdStringForString:_name]); for (NSString *paramKey in _parameters.allKeys) { diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodecH264.mm b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodecH264.mm index 3b03bf4e63..341363e942 100644 --- a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodecH264.mm +++ b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodecH264.mm @@ -58,9 +58,7 @@ bool IsHighProfileEnabled() { @"packetization-mode" : @"1", }; RTCVideoCodecInfo *constrainedHighInfo = - [[RTCVideoCodecInfo alloc] initWithPayload:0 - name:codecName - parameters:constrainedHighParams]; + [[RTCVideoCodecInfo alloc] initWithName:codecName parameters:constrainedHighParams]; [codecs addObject:constrainedHighInfo]; } @@ -70,9 +68,7 @@ bool IsHighProfileEnabled() { @"packetization-mode" : @"1", }; RTCVideoCodecInfo *constrainedBaselineInfo = - [[RTCVideoCodecInfo alloc] initWithPayload:0 - name:codecName - parameters:constrainedBaselineParams]; + [[RTCVideoCodecInfo alloc] initWithName:codecName parameters:constrainedBaselineParams]; [codecs addObject:constrainedBaselineInfo]; return [codecs copy]; @@ -93,7 +89,7 @@ bool IsHighProfileEnabled() { - (NSArray *)supportedCodecs { NSString *codecName = [NSString stringWithUTF8String:cricket::kH264CodecName]; - return @[ [[RTCVideoCodecInfo alloc] initWithPayload:0 name:codecName parameters:@{}] ]; + return @[ [[RTCVideoCodecInfo alloc] initWithName:codecName parameters:nil] ]; } @end diff --git a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h index c18fa783cf..657ec0ca6a 100644 --- a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h +++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h @@ -100,9 +100,11 @@ typedef NS_ENUM(NSUInteger, RTCVideoCodecMode) { RTC_EXPORT @interface RTCVideoCodecInfo : NSObject -- (instancetype)initWithPayload:(NSInteger)payload - name:(NSString *)name - parameters:(NSDictionary *)parameters; +- (instancetype)init NS_UNAVAILABLE; + +- (instancetype)initWithName:(NSString *)name + parameters:(nullable NSDictionary *)parameters + NS_DESIGNATED_INITIALIZER; @property(nonatomic, readonly) NSInteger payload; @property(nonatomic, readonly) NSString *name; diff --git a/webrtc/sdk/objc/Framework/UnitTests/objc_video_decoder_factory_tests.mm b/webrtc/sdk/objc/Framework/UnitTests/objc_video_decoder_factory_tests.mm index c7b1b5fb76..3b1eb0571b 100644 --- a/webrtc/sdk/objc/Framework/UnitTests/objc_video_decoder_factory_tests.mm +++ b/webrtc/sdk/objc/Framework/UnitTests/objc_video_decoder_factory_tests.mm @@ -33,8 +33,7 @@ id CreateDecoderFactoryReturning(int return_code) { OCMStub([decoderMock releaseDecoder]).andReturn(return_code); id decoderFactoryMock = OCMProtocolMock(@protocol(RTCVideoDecoderFactory)); - RTCVideoCodecInfo *supported = - [[RTCVideoCodecInfo alloc] initWithPayload:0 name:@"H264" parameters:@{}]; + RTCVideoCodecInfo *supported = [[RTCVideoCodecInfo alloc] initWithName:@"H264" parameters:nil]; OCMStub([decoderFactoryMock supportedCodecs]).andReturn(@[ supported ]); OCMStub([decoderFactoryMock createDecoder:[OCMArg any]]).andReturn(decoderMock); return decoderFactoryMock; diff --git a/webrtc/sdk/objc/Framework/UnitTests/objc_video_encoder_factory_tests.mm b/webrtc/sdk/objc/Framework/UnitTests/objc_video_encoder_factory_tests.mm index d5941e7abe..ed29bc2658 100644 --- a/webrtc/sdk/objc/Framework/UnitTests/objc_video_encoder_factory_tests.mm +++ b/webrtc/sdk/objc/Framework/UnitTests/objc_video_encoder_factory_tests.mm @@ -32,8 +32,7 @@ id CreateEncoderFactoryReturning(int return_code) { OCMStub([encoderMock setBitrate:0 framerate:0]).andReturn(return_code); id encoderFactoryMock = OCMProtocolMock(@protocol(RTCVideoEncoderFactory)); - RTCVideoCodecInfo *supported = - [[RTCVideoCodecInfo alloc] initWithPayload:0 name:@"H264" parameters:@{}]; + RTCVideoCodecInfo *supported = [[RTCVideoCodecInfo alloc] initWithName:@"H264" parameters:nil]; OCMStub([encoderFactoryMock supportedCodecs]).andReturn(@[ supported ]); OCMStub([encoderFactoryMock createEncoder:[OCMArg any]]).andReturn(encoderMock); return encoderFactoryMock;