Question
People commonly ask on the Zoom Developer Forum:
Description I’m unable to send I420 shared screen frames using the IZoomSDKShareSender interface.
After calling setExternalShareSource using the rawdata share source helper, the zoom SDK calls onStartSend, and I begin sending frames using sendShareFrame - all calls return success. However, participants in the meeting do not see any frames that have been sent.
Participants in the meeting are automatically taken to the ‘Bot’s screen’ tab and see the ‘Bot has started screen sharing’ message… but nothing is shown.
I have tried sending at different frame rates, but do not see anything.
No errors are returned from any of the API calls.
I have noticed that all the StartShare… methods are ifdef’d out with WIN32 only, so I’m not sure if another API call is needed.
Error? No errors
Troubleshooting Routes I’ve tried to check the linux rawdata sample but it is no longer in github. I don’t remember it having a rawdata screenshare example though.
How To Reproduce See description
Answer
When sendShareFrame(...)
returns success but no frames appear in the meeting, these are the areas to check:
-
Sharing policy/state
Confirm the meeting allows sharing for the bot account. UseIMeetingShareController::CanStartShare()
andIsDesktopSharingEnabled()
to verify permissions. -
Lifecycle
Only send frames afteronStartSend(IZoomSDKShareSender*)
fires, and stop ononStopSend
. This follows the contract defined in the Linux Video SDK raw data docswhich says to use thesendShareFrame
method inonShareSendStarted
to send raw screen share data. -
Single active share
Ensure there is no other local share source active. Stop any existing share before starting the external one. -
Frame validity
Confirm I420 format (YUV420p), correct width/height/stride, monotonic timestamps, and a reasonable frame rate (10–30 fps) -
SDK version
Test with adjacent SDK versions (e.g., 6.5.10, 6.5.5, 6.4.6) to rule out regressions.
Note
sendShareFrame(...)
success codes only indicate that the SDK accepted the frame, not that it was rendered to participants. A blank view typically points to meeting policy, active share state, or UI layout rather than the raw-data API call order.
Zoom Developer Forum Examples
Some examples of this question are: