Description
Hi,
I am using raw data API for receiving video of remote participants and sending video of the local participant.
And when I send camera frames of the local participant (using ZoomSDKRawDataSender
and a custom converter) frames look normal, and we can see the expected image in another Zoom client.
But when I send sharing frames of the local participant (using ZoomSDKShareSender
and the same custom converter) frames look a little corrupted, and we can see the image with anomalies (pic. 1, pic. 2).
Is there any difference between settings for the converter for the camera and sharing frames before sending?
Which macOS Meeting SDK version?
zoom-sdk-macos-5.12.2.11472
Screenshots
Device (please complete the following information):
- Device: Apple MacBook Pro (14-inch, M1 Pro)
- OS: macOS Ventura 13.0
Additional context
Some additional information about formats and options that I used in converting step:
originalBuffer
- initial CVPixelBuffer;
permuteMap
- [3, 2, 1, 0];
outInfo
- vImage_ARGBToYpCbCr
object filed by vImageConvert_ARGBToYpCbCr_GenerateConversion
(code snippet below):
var conversionError = vImageConvert_ARGBToYpCbCr_GenerateConversion(
kvImage_ARGBToYpCbCrMatrix_ITU_R_601_4,
&pixelRange,
&outInfo,
kvImageARGB8888,
kvImage420Yp8_Cb8_Cr8,
vImage_Flags(kvImageNoFlags)
)
Finally, original CVPixelBuffer
converts using vImageConvert_ARGB8888To420Yp8_Cb8_Cr8
(code snippet below):
var conversionError = vImageConvert_ARGB8888To420Yp8_Cb8_Cr8(
&originalBuffer,
&destYp,
&destCb,
&destCr,
&outInfo,
permuteMap,
vImage_Flags(kvImageNoFlags)
)
Than destYp
, destCb
, destCr
concat in one UnsafeMutablePointer<CChar>
to be sent using ZoomSDKRawDataSender
.
Thank you!