bgra support for nativabuffer

This commit is contained in:
Mike Renoir 2024-01-19 22:02:48 +04:00
parent b36eea1eba
commit 919c72163f

View File

@ -377,6 +377,7 @@ public final class OngoingGroupCallContext {
}
public enum Buffer {
case bgra(NativeBuffer)
case native(NativeBuffer)
case nv12(NV12Buffer)
case i420(I420Buffer)
@ -392,7 +393,11 @@ public final class OngoingGroupCallContext {
init(frameData: CallVideoFrameData) {
if let nativeBuffer = frameData.buffer as? CallVideoFrameNativePixelBuffer {
self.buffer = .native(NativeBuffer(pixelBuffer: nativeBuffer.pixelBuffer))
if CVPixelBufferGetPixelFormatType(nativeBuffer.pixelBuffer) == kCVPixelFormatType_32BGRA {
self.buffer = .bgra(NativeBuffer(pixelBuffer: nativeBuffer.pixelBuffer))
} else {
self.buffer = .native(NativeBuffer(pixelBuffer: nativeBuffer.pixelBuffer))
}
} else if let nv12Buffer = frameData.buffer as? CallVideoFrameNV12Buffer {
self.buffer = .nv12(NV12Buffer(wrapped: nv12Buffer))
} else if let i420Buffer = frameData.buffer as? CallVideoFrameI420Buffer {