diff --git a/sdk/objc/Framework/Classes/Video/RTCI420Buffer.mm b/sdk/objc/Framework/Classes/Video/RTCI420Buffer.mm index 65f3d5ad41..3d0538e572 100644 --- a/sdk/objc/Framework/Classes/Video/RTCI420Buffer.mm +++ b/sdk/objc/Framework/Classes/Video/RTCI420Buffer.mm @@ -30,6 +30,18 @@ return self; } +- (instancetype)initWithWidth:(int)width + height:(int)height + dataY:(const uint8_t *)dataY + dataU:(const uint8_t *)dataU + dataV:(const uint8_t *)dataV { + if (self = [super init]) { + _i420Buffer = webrtc::I420Buffer::Copy( + width, height, dataY, width, dataU, (width + 1) / 2, dataV, (width + 1) / 2); + } + return self; +} + - (instancetype)initWithWidth:(int)width height:(int)height strideY:(int)strideY diff --git a/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrameBuffer.h b/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrameBuffer.h index f17d952f98..d590a5f7fc 100644 --- a/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrameBuffer.h +++ b/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrameBuffer.h @@ -38,6 +38,11 @@ RTC_EXPORT @property(nonatomic, readonly) int strideU; @property(nonatomic, readonly) int strideV; +- (instancetype)initWithWidth:(int)width + height:(int)height + dataY:(const uint8_t *)dataY + dataU:(const uint8_t *)dataU + dataV:(const uint8_t *)dataV; - (instancetype)initWithWidth:(int)width height:(int)height; - (instancetype)initWithWidth:(int)width height:(int)height