Is there any difference between settings for the converter for the camera and sharing frames before sending?

Description

Hi,
I am using raw data API for receiving video of remote participants and sending video of the local participant.

:slight_smile: 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.

:thinking: 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).

:question: 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!

Hi!
If you need some additional information for this case, please, let me know
Thank you