# Electron SDK v6.6.5 getting SDKRawDataError\_NO\_SHARE\_DATA from zoomRawData.Subscribe func

**URL:** <https://devforum.zoom.us/t/electron-sdk-v6-6-5-getting-sdkrawdataerror-no-share-data-from-zoomrawdata-subscribe-func/141871>\
**Category:** Electron\
**Tags:** guide, sdk\
**Created:** [February 12, 2026, 10:20am UTC](https://devforum.zoom.us/t/electron-sdk-v6-6-5-getting-sdkrawdataerror-no-share-data-from-zoomrawdata-subscribe-func/141871 "2026-02-12T10:20:23Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sarang](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/sarang/32/73548_2.png) [@Sarang](https://devforum.zoom.us/u/Sarang)\
**Post date:** [February 12, 2026, 10:20am UTC](https://devforum.zoom.us/t/electron-sdk-v6-6-5-getting-sdkrawdataerror-no-share-data-from-zoomrawdata-subscribe-func/141871/1 "2026-02-12T10:20:23Z")

</div>

**Meeting SDK** Electron Wrapper V6.6.5

**Description**  
While exploring the **Meeting SDK** Electron Wrapper, we are consistently encountering the SDKRawDataError.SDKRawDataError\_NO\_SHARE\_DATA error from `zoomRawData.Subscribe`. Below is the relevant portion of the code I am using (in src\assets\ts\rawdata\video.ts line 43):

```auto
const handleSubscribeVideo = (resolution: number, recv_handle: number, subscribeId: number) => {

    let obj = {resolution, recv_handle}

    let ret = zoomRawData.SetRawDataResolution(obj)

    let subscribeObj = {

      subscribeId,

      rawdataType: ZoomSDKRawDataType.RAW_DATA_TYPE_VIDEO,

      recv_handle: recv_handle

    }

    ret = zoomRawData.Subscribe(subscribeObj)

    if (ret == SDKRawDataError.SDKRawDataError_SUCCESS || ret == SDKRawDataError.SDKRawDataError_NO_VIDEO_DATA) {

      subscribedVideoList.value[recv_handle] = zoomMeetingParticipants.GetUserInfoByUserID(subscribeId)

    }

  }

```

I was wondering if there is any permission that I might be missing in order to access and display the raw video stream here.

Could you please help me understand if any additional configuration or permissions are required from my end?

Thank you for your assistance.

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [March 3, 2026, 3:25am UTC](https://devforum.zoom.us/t/electron-sdk-v6-6-5-getting-sdkrawdataerror-no-share-data-from-zoomrawdata-subscribe-func/141871/2 "2026-03-03T03:25:43Z")

</div>

@Sarang before you can subscribe to raw data (video, audio or sharescreen), you will need to have recording permissions, and then you will need to call startrawrecording before you and subscribe to the stream.

---

<div class="post-metadata">

**Author:** ![Sarang](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/sarang/32/73548_2.png) [@Sarang](https://devforum.zoom.us/u/Sarang)\
**Post date:** [March 13, 2026, 7:17am UTC](https://devforum.zoom.us/t/electron-sdk-v6-6-5-getting-sdkrawdataerror-no-share-data-from-zoomrawdata-subscribe-func/141871/3 "2026-03-13T07:17:51Z")

</div>

> [@Sarang](#):
>
> SDKRawDataError.SDKRawDataError

Hi @chunsiong.zoom

I have successfully implemented `startRawRecording` and also added the `RequestLocalRecordingPrivilege` method to request local recording permission.

After this implementation, I am able to see participant names appearing on the tiles. However, the video frames are not being rendered. The tiles remain black while only the participant names are visible.

From the logs, I can see that `onRawDataStatusChanged` is triggered with a **success** status. However, the `onRenderVideoRawDataReceived` callback—which should provide the video frames for rendering—is never triggered.

There are no errors being reported in the logs.

Could you please help me understand what might be missing here?

Thank you for your assistance.

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [March 17, 2026, 5:34am UTC](https://devforum.zoom.us/t/electron-sdk-v6-6-5-getting-sdkrawdataerror-no-share-data-from-zoomrawdata-subscribe-func/141871/4 "2026-03-17T05:34:33Z")

</div>

@Sarang did you implement an instance of IZoomSDKRenderer? You will need to pass the `IZoomRendererDelegate` and `IZoomSDKRenderer` into the `createRenderer` method in `zoom_rawdata_api.h`.

This is the windows sample, but it works in the similar workflow for the different platforms

> **[Use raw data in the Meeting SDK for Windows - Meeting SDK - Zoom Developer Docs](https://developers.zoom.us/docs/meeting-sdk/windows/add-features/raw-data/)**
>
> Access raw video and audio data in Meeting SDK for Windows through raw recording and streaming with callbacks, methods, and implementation guides for developers.

---

<div class="post-metadata">

**Author:** ![Sarang](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/sarang/32/73548_2.png) [@Sarang](https://devforum.zoom.us/u/Sarang)\
**Post date:** [March 17, 2026, 6:52am UTC](https://devforum.zoom.us/t/electron-sdk-v6-6-5-getting-sdkrawdataerror-no-share-data-from-zoomrawdata-subscribe-func/141871/5 "2026-03-17T06:52:42Z")

</div>

**Hi** @chunsiong.zoom  
I checked the implementation SDK’s Electron wrapper, which already implements **`IZoomSDKRenderer` and `IZoomRendererDelegate`.**

How it works in this SDK:

1. **`CreateRenderer({ recv_handle })`** in JS calls into the native addon

2. The addon creates a **`ZNativeRawRenderWrap`** (which implements `IZoomSDKRendererDelegate`) with three callbacks:

3. It calls `CSDKImpl::GetInst().createRenderer(&pRenderer, pDelegate)` — passing both the renderer and delegate

4. When frames arrive, `onRawDataFrameReceived` sends them through a **pipe server** → **pipe client** (UV IPC) to the renderer process\*\*

- `CreateRenderer({ recv_handle })` succeeds

- `StartRawRecording()` returns `SDKERR_SUCCESS` (0) — after `RequestLocalRecordingPrivilege`

- `Subscribe({ subscribeId, rawdataType: RAW_DATA_TYPE_VIDEO, recv_handle })` returns `SDKRawDataError_SUCCESS` (0)

- `SetonRawDataStatusChangedCB` fires with `RawData_On` (0), confirming the SDK is sending data

**The Problem:**  
After all the above succeed, `SetRenderVideoRawDataCB` sometimes never fires — no video frames reach the renderer process. This happens intermittently; sometimes it works, sometimes it doesn’t.

**What We’ve Traced:**  
We believe the issue is in the native addon’s pipe server/client architecture:

1. The SDK’s `IZoomRendererDelegate::onRawDataFrameReceived` delivers YUV420 frames to `ZoomNodeRawDataHelperMgr::onRawDataFrameReceived`

2. That function checks `_g_video_pipe_server._uv_ipc_server.HasClientConnected()` before sending data

3. If the pipe client (in the renderer process) hasn’t connected yet, **frames are silently dropped** with no error or log

4. After `StartRawRecording`, the pipe server may be recreated or reset, but the pipe client in the renderer process doesn’t know it needs to reconnect

**My Workaround:**  
We stop and restart the pipe client (`StopVideoClient` / `StartVideoClient`) after `StartRawRecording` succeeds, re-register `SetRenderVideoRawDataCB`, and add a 1-second delay before calling `Subscribe`. This improves reliability but doesn’t guarantee it, because there’s no way to verify the pipe client has actually connected before subscribing.

**Questions:**

1. Is there a callback or method to confirm the pipe client has successfully connected to the pipe server before subscribing?

2. Is there a recommended initialization order between `StartRawRecording`, `CreateRenderer`, pipe client start, and `Subscribe` that avoids this race condition?

3. Should `onRawDataFrameReceived` queue/buffer frames when the pipe client isn’t connected yet, rather than dropping them silently?

4. Is there an SDK configuration to auto-reconnect the pipe client when the pipe server restarts?

The pipe client has no connection confirmation mechanism and silently drops frames.

I also checked the Windows SDK wrapper, and the intermittent frame dropping we are experiencing only exists in the Electron SDK because of the pipe IPC layer. The Windows SDK delivers frames directly via callback with no intermediary. So this problem is specifically in the Electron SDK’s pipe architecture.

If you have any guidance on the correct initialization sequence or a more reliable way to synchronize the pipe client connection, that would greatly help me.

Thank you.

---

<div class="post-metadata">

**Author:** ![Sarang](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/sarang/32/73548_2.png) [@Sarang](https://devforum.zoom.us/u/Sarang)\
**Post date:** [March 20, 2026, 5:22am UTC](https://devforum.zoom.us/t/electron-sdk-v6-6-5-getting-sdkrawdataerror-no-share-data-from-zoomrawdata-subscribe-func/141871/6 "2026-03-20T05:22:18Z")

</div>

HI @chunsiong.zoom  
Is there any way to customize the UI of video tiles in the Electron SDK ?  
Thanks.
