We’re using Zoom Video SDK v2.1.10. The video stream renders correctly in Safari, but in Microsoft Edge (Chromium), the internal <video>
element is never injected into the <video-player>
Web Component — even though the outer wrapper appears and no errors are thrown.
Steps to Reproduce:
1. Listen to the peer-video-state-change event.
2. Call stream.attachVideo(payload.userId, 3) when a user starts their video.
3. Append the returned userVideo to the DOM.
4. Observe the DOM output in Safari vs Edge.
Example Code:
client.on('peer-video-state-change', (payload) => {
if (payload.action === 'Start') {
stream.attachVideo(payload.userId, 3).then((userVideo) => {
console.log('User video attached', userVideo);
const container = document.getElementById(`user-video-${payload.userId}`);
if (container) container.appendChild(userVideo);
});
} else if (payload.action === 'Stop') {
stream.detachVideo(payload.userId);
document.getElementById(`user-video-${payload.userId}`).innerHTML = '';
}
});
⸻
Console Output:
Edge Output:
User video attached
<video-player node-id="16783360" media-type="video" style="display: block;">
slot
<div style="width: 100%; height: 100%;"></div>
</video-player>
Safari Output:
User video attached
<video-player node-id="16778240" media-type="video" style="display: block;">
<video autoplay="true" muted="true" playsinline="true" style="width: 100%; height: 100%; border-radius: inherit;"></video>
</video-player>
⸻
Browser & System Details:
• SDK Version: 2.1.10
• Edge Version: (Chromium) 124.0.x (latest at time of testing)
• Safari: Works fine
• OS: macOS Ventura (also tested on Windows)
⸻
GPU Diagnostics (edge://gpu):
• Video Decode: Hardware Accelerated
• Video Encode: Hardware Accelerated
• Direct Rendering Display Compositor: Disabled
• Raw Draw: Disabled
⸻
Additional Notes:
• No JavaScript or DOM exceptions are thrown.
• Verified in Private mode and with all extensions disabled.
• Verified container is visible and correctly appended.
• Tried fallback render layer: stream.attachVideo(userId, 1) — still fails in Edge.
⸻
Expected Behavior:
The <video>
element should be present inside <video-player>
as it is in Safari, so the stream is visible.
⸻
Actual Behavior:
In Edge, the <video-player>
is added but remains empty — no internal <video>
tag is rendered.
⸻
Request:
Please investigate if this is a known issue with the SDK rendering pipeline in Edge. Is there a workaround, or planned fix for a future SDK release?
Device (please complete the following information):
- Device: [e.g. Macbook Pro]
- OS: [e.g. macOS 11]
- Browser: [e.g. Chrome]
- Browser Version [e.g. 88.0.4324.150 (Official Build) (x86_64)]
Additional context
Add any other context about the problem here.