Zoom Developer Forum

Why can't I send shared screen frames?

Updated at:
September 11, 2025
Written By:
Gerry Saporito

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. Use IMeetingShareController::CanStartShare() and IsDesktopSharingEnabled() to verify permissions.

  • Lifecycle
    Only send frames after onStartSend(IZoomSDKShareSender*) fires, and stop on onStopSend. This follows the contract defined in the Linux Video SDK raw data docswhich says to use the sendShareFrame method in onShareSendStarted 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:

Written By:
Gerry Saporito