[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-anthropic-video-sdkweb":3,"mdc-36gv9j-key":38,"related-repo-anthropic-video-sdkweb":9736,"related-org-anthropic-video-sdkweb":9855},{"slug":4,"name":5,"fn":6,"description":7,"org":8,"tags":13,"stars":27,"repoUrl":28,"updatedAt":29,"license":30,"forks":31,"topics":32,"repo":33,"sourceUrl":36,"mdContent":37},"video-sdkweb","video-sdk\u002Fweb","build Zoom Video SDK apps for Web","Zoom Video SDK for Web - JavaScript\u002FTypeScript integration for browser-based video sessions, real-time communication, screen sharing, recording, and live transcription",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},"anthropic","Anthropic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fanthropic.png","anthropics",[14,18,21,24],{"name":15,"slug":16,"type":17},"TypeScript","typescript","tag",{"name":19,"slug":20,"type":17},"Web Development","web-development",{"name":22,"slug":23,"type":17},"SDK","sdk",{"name":25,"slug":26,"type":17},"Zoom","zoom",22885,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fknowledge-work-plugins","2026-04-10T04:57:13.798726",null,2736,[],{"repoUrl":28,"stars":27,"forks":31,"topics":34,"description":35},[],"Open source repository of plugins primarily intended for knowledge workers to use in Claude Cowork","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fknowledge-work-plugins\u002Ftree\u002FHEAD\u002Fpartner-built\u002Fzoom-plugin\u002Fskills\u002Fvideo-sdk\u002Fweb","---\nname: video-sdk\u002Fweb\ndescription: \"Zoom Video SDK for Web - JavaScript\u002FTypeScript integration for browser-based video sessions, real-time communication, screen sharing, recording, and live transcription\"\nuser-invocable: false\ntriggers:\n  - \"video sdk web\"\n  - \"custom video web\"\n  - \"attachvideo\"\n  - \"peer-video-state-change\"\n  - \"web videosdk\"\n---\n\n# Zoom Video SDK - Web Development\n\nExpert guidance for developing with the Zoom Video SDK on Web. This SDK enables custom video applications in the browser with real-time video\u002Faudio, screen sharing, cloud recording, live streaming, chat, and live transcription.\n\nThis skill is for **custom video sessions**, not embedded Zoom meetings.\nIf the user wants a custom UI for a real Zoom meeting, route to\n[..\u002F..\u002Fmeeting-sdk\u002Fweb\u002Fcomponent-view\u002FSKILL.md](..\u002F..\u002Fmeeting-sdk\u002Fweb\u002Fcomponent-view\u002FSKILL.md).\n\n**Official Documentation**: https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fvideo-sdk\u002Fweb\u002F\n**API Reference**: https:\u002F\u002Fmarketplacefront.zoom.us\u002Fsdk\u002Fcustom\u002Fweb\u002Fmodules.html\n**Sample Repository**: https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-web-sample\n\n## Quick Links\n\n**New to Video SDK? Follow this path:**\n\n1. **[SDK Architecture Pattern](concepts\u002Fsdk-architecture-pattern.md)** - Universal 3-step pattern for ANY feature\n2. **[Session Join Pattern](examples\u002Fsession-join-pattern.md)** - Complete working code to join a session\n3. **[Video Rendering](examples\u002Fvideo-rendering.md)** - Display video with attachVideo()\n4. **[Event Handling](examples\u002Fevent-handling.md)** - Required events for video\u002Faudio\n\n**Reference:**\n- **[Singleton Hierarchy](concepts\u002Fsingleton-hierarchy.md)** - 4-level SDK navigation map\n- **[API Reference](references\u002Fweb-reference.md)** - Methods, events, error codes\n- **[SKILL.md](SKILL.md)** - Complete documentation navigation\n- **[..\u002F..\u002Fprobe-sdk\u002FSKILL.md](..\u002F..\u002Fprobe-sdk\u002FSKILL.md)** - Optional browser\u002Fdevice\u002Fnetwork readiness diagnostics before join\n\n**Having issues?**\n- Video not showing → [Video Rendering](examples\u002Fvideo-rendering.md) (use attachVideo, not renderVideo)\n- getMediaStream() returns undefined → Call AFTER join() completes\n- Quick diagnostics → [Common Issues](troubleshooting\u002Fcommon-issues.md)\n\n## SDK Overview\n\nThe Zoom Video SDK for Web is a JavaScript library that provides:\n- **Session Management**: Join\u002Fleave video SDK sessions\n- **Video\u002FAudio**: Start\u002Fstop camera and microphone\n- **Screen Sharing**: Share screens or browser tabs\n- **Cloud Recording**: Record sessions to Zoom cloud\n- **Live Streaming**: Stream to RTMP endpoints\n- **Chat**: In-session messaging\n- **Command Channel**: Custom command messaging\n- **Live Transcription**: Real-time speech-to-text\n- **Subsessions**: Breakout room support\n- **Whiteboard**: Collaborative whiteboard features\n- **Virtual Background**: Blur or custom image backgrounds\n\n## Prerequisites\n\n### System Requirements\n\n- **Modern Browser**: Chrome 80+, Firefox 75+, Safari 14+, Edge 80+\n- **Video SDK Credentials**: SDK Key and Secret from [Marketplace](https:\u002F\u002Fmarketplace.zoom.us\u002F)\n- **JWT Token**: Server-side generated signature\n\n### Browser Feature Requirements\n\n```javascript\n\u002F\u002F Check browser compatibility before init\nconst compatibility = ZoomVideo.checkSystemRequirements();\nconsole.log('Audio:', compatibility.audio);\nconsole.log('Video:', compatibility.video);\nconsole.log('Screen:', compatibility.screen);\n\n\u002F\u002F Check feature support\nconst features = ZoomVideo.checkFeatureRequirements();\nconsole.log('Supported:', features.supportFeatures);\nconsole.log('Unsupported:', features.unSupportFeatures);\n```\n\n### Optional Pre-Join Diagnostics (Recommended for Reliability)\n\nUse Probe SDK as a readiness gate before `client.join(...)` when you need to reduce failed starts:\n\n1. Run diagnostics with [..\u002F..\u002Fprobe-sdk\u002FSKILL.md](..\u002F..\u002Fprobe-sdk\u002FSKILL.md).\n2. Evaluate policy (`allow`, `warn`, `block`).\n3. Start Video SDK join only when policy allows.\n\nCross-skill flow: [..\u002F..\u002Fgeneral\u002Fuse-cases\u002Fprobe-sdk-preflight-readiness-gate.md](..\u002F..\u002Fgeneral\u002Fuse-cases\u002Fprobe-sdk-preflight-readiness-gate.md)\n\n## Installation\n\n### NPM (Recommended)\n\n```bash\nnpm install @zoom\u002Fvideosdk\n```\n\n```javascript\nimport ZoomVideo from '@zoom\u002Fvideosdk';\n```\n\n### CDN (Fallback Strategy Recommended)\n\n> **Note**: Some networks\u002Fad blockers can block `source.zoom.us`. If you see flaky loads, first try allowlisting the domain in your environment. If needed, consider a fallback (mirror\u002Fself-host) only if it's permitted for your use case and you can keep versions in sync.\n\n```bash\n# Download SDK locally\ncurl \"https:\u002F\u002Fsource.zoom.us\u002Fvideosdk\u002Fzoom-video-2.3.12.min.js\" -o public\u002Fjs\u002Fzoom-video-sdk.min.js\n```\n\n```html\n\u003C!-- Use local copy instead of CDN -->\n\u003Cscript src=\"js\u002Fzoom-video-sdk.min.js\">\u003C\u002Fscript>\n```\n\n```javascript\n\u002F\u002F CDN exports as WebVideoSDK, NOT ZoomVideo\nconst ZoomVideo = WebVideoSDK.default;\n```\n\n## Quick Start\n\n```javascript\nimport ZoomVideo from '@zoom\u002Fvideosdk';\n\n\u002F\u002F 1. Create client (singleton - returns same instance)\nconst client = ZoomVideo.createClient();\n\n\u002F\u002F 2. Initialize SDK\nawait client.init('en-US', 'Global', { patchJsMedia: true });\n\n\u002F\u002F 3. Join session\nawait client.join(topic, signature, userName, password);\n\n\u002F\u002F 4. CRITICAL: Get stream AFTER join\nconst stream = client.getMediaStream();\n\n\u002F\u002F 5. Start media\nawait stream.startVideo();\nawait stream.startAudio();\n\n\u002F\u002F 6. Attach video to DOM\nconst videoElement = await stream.attachVideo(userId, VideoQuality.Video_360P);\ndocument.getElementById('video-container').appendChild(videoElement);\n```\n\n## SDK Lifecycle (CRITICAL ORDER)\n\nThe SDK has a strict lifecycle. Violating it causes **silent failures**.\n\n```\n1. Create client:     client = ZoomVideo.createClient()\n2. Initialize:        await client.init('en-US', 'Global', options)\n3. Join session:      await client.join(topic, signature, userName, password)\n4. Get stream:        stream = client.getMediaStream()  ← ONLY AFTER JOIN\n5. Start media:       await stream.startVideo() \u002F await stream.startAudio()\n```\n\n**Common Mistake:**\n\n```javascript\n\u002F\u002F WRONG: Getting stream before joining\nconst stream = client.getMediaStream();  \u002F\u002F Returns undefined!\nawait client.join(...);\n\n\u002F\u002F CORRECT: Get stream after joining\nawait client.join(...);\nconst stream = client.getMediaStream();  \u002F\u002F Works!\n```\n\n## Critical Gotchas and Best Practices\n\n### getMediaStream() ONLY Works After join()\n\nThe #1 issue that causes video\u002Faudio to fail:\n\n```javascript\n\u002F\u002F WRONG\nconst stream = client.getMediaStream();  \u002F\u002F undefined!\nawait client.join(...);\n\n\u002F\u002F CORRECT\nawait client.join(...);\nconst stream = client.getMediaStream();  \u002F\u002F Works\n```\n\n### Use attachVideo() NOT renderVideo()\n\n`renderVideo()` is **deprecated**. Use `attachVideo()` which returns a VideoPlayer element:\n\n```javascript\nimport { VideoQuality } from '@zoom\u002Fvideosdk';\n\n\u002F\u002F CORRECT: attachVideo returns element to append\nconst videoElement = await stream.attachVideo(userId, VideoQuality.Video_360P);\ndocument.getElementById('video-container').appendChild(videoElement);\n\n\u002F\u002F WRONG: renderVideo is deprecated\nawait stream.renderVideo(canvas, userId, ...);  \u002F\u002F Don't use!\n```\n\n### Video Rendering is Event-Driven (CRITICAL)\n\nYou MUST listen for events to properly render participant videos:\n\n```javascript\n\u002F\u002F When another participant's video state changes\nclient.on('peer-video-state-change', async (payload) => {\n  const { action, userId } = payload;\n  \n  if (action === 'Start') {\n    \u002F\u002F Participant turned on video - attach it\n    const element = await stream.attachVideo(userId, VideoQuality.Video_360P);\n    container.appendChild(element);\n  } else if (action === 'Stop') {\n    \u002F\u002F Participant turned off video - detach it\n    await stream.detachVideo(userId);\n  }\n});\n\n\u002F\u002F When participants join\u002Fleave\nclient.on('user-added', (payload) => {\n  \u002F\u002F New participant joined - check if their video is on\n  const users = client.getAllUser();\n  \u002F\u002F Render videos for users with bVideoOn === true\n});\n\nclient.on('user-removed', (payload) => {\n  \u002F\u002F Participant left - clean up their video element\n  stream.detachVideo(payload[0].userId);\n});\n```\n\n### Peer Video on Mid-Session Join\n\n**Existing participants' videos won't auto-render when you join mid-session.**\n\n```javascript\n\u002F\u002F After joining, render existing participants' videos\nconst renderExistingVideos = async () => {\n  await new Promise(resolve => setTimeout(resolve, 500));\n  \n  const users = client.getAllUser();\n  const currentUserId = client.getCurrentUserInfo().userId;\n  \n  for (const user of users) {\n    if (user.bVideoOn && user.userId !== currentUserId) {\n      const element = await stream.attachVideo(user.userId, VideoQuality.Video_360P);\n      document.getElementById(`video-${user.userId}`).appendChild(element);\n    }\n  }\n};\n```\n\n### CDN Race Condition with ES Modules\n\nWhen using `\u003Cscript type=\"module\">` with CDN, the SDK may not be loaded yet:\n\n```javascript\nfunction waitForSDK(timeout = 10000) {\n  return new Promise((resolve, reject) => {\n    if (typeof WebVideoSDK !== 'undefined') {\n      resolve();\n      return;\n    }\n    const start = Date.now();\n    const check = setInterval(() => {\n      if (typeof WebVideoSDK !== 'undefined') {\n        clearInterval(check);\n        resolve();\n      } else if (Date.now() - start > timeout) {\n        clearInterval(check);\n        reject(new Error('SDK failed to load'));\n      }\n    }, 100);\n  });\n}\n\nawait waitForSDK();\nconst ZoomVideo = WebVideoSDK.default;\n```\n\n### SharedArrayBuffer for HD Video\n\nFor optimal performance and HD video, configure these headers on your server:\n\n```\nCross-Origin-Opener-Policy: same-origin\nCross-Origin-Embedder-Policy: require-corp\n```\n\n**Note:** As of v1.11.2, SharedArrayBuffer is elective (not strictly required).\n\n### Check HD Capability Before Enabling\n\n```javascript\nconst stream = client.getMediaStream();\n\n\u002F\u002F Check if 720p is supported\nconst hdSupported = stream.isSupportHDVideo();\n\n\u002F\u002F Get maximum video quality\nconst maxQuality = stream.getVideoMaxQuality();\n\u002F\u002F 0=90P, 1=180P, 2=360P, 3=720P, 4=1080P\n\n\u002F\u002F Start video with HD\nif (hdSupported) {\n  await stream.startVideo({ hd: true });\n}\n```\n\n### Screen Share Rendering Mode Check\n\n```javascript\nconst stream = client.getMediaStream();\n\n\u002F\u002F Check which element type to use\nif (stream.isStartShareScreenWithVideoElement()) {\n  \u002F\u002F Use video element\n  const video = document.getElementById('share-video');\n  await stream.startShareScreen(video as unknown as HTMLCanvasElement);\n} else {\n  \u002F\u002F Use canvas element\n  const canvas = document.getElementById('share-canvas');\n  await stream.startShareScreen(canvas);\n}\n```\n\n## Key Features\n\n### Video Quality Enum\n\n```javascript\nimport { VideoQuality } from '@zoom\u002Fvideosdk';\n\nVideoQuality.Video_90P   \u002F\u002F 0\nVideoQuality.Video_180P  \u002F\u002F 1\nVideoQuality.Video_360P  \u002F\u002F 2 (recommended for most cases)\nVideoQuality.Video_720P  \u002F\u002F 3\nVideoQuality.Video_1080P \u002F\u002F 4\n```\n\n### Virtual Backgrounds\n\n```javascript\nconst stream = client.getMediaStream();\n\n\u002F\u002F Always check support first\nif (stream.isSupportVirtualBackground()) {\n  \u002F\u002F Blur background\n  await stream.updateVirtualBackgroundImage('blur');\n  \n  \u002F\u002F Custom image background\n  await stream.updateVirtualBackgroundImage('https:\u002F\u002Fexample.com\u002Fbg.jpg');\n  \n  \u002F\u002F Remove virtual background\n  await stream.updateVirtualBackgroundImage(undefined);\n}\n```\n\n### Video Processor (Custom Effects)\n\nThe `VideoProcessor` class allows you to intercept and modify video frames:\n\n```javascript\n\u002F\u002F video-processor-worker.js\nclass MyVideoProcessor extends VideoProcessor {\n  processFrame(input, output) {\n    const ctx = output.getContext('2d');\n    ctx.drawImage(input, 0, 0);\n    \n    \u002F\u002F Add overlay\n    ctx.fillStyle = 'white';\n    ctx.font = '24px Arial';\n    ctx.fillText('Live', 20, 40);\n    \n    return true;\n  }\n}\n```\n\n### WebRTC Mode\n\nEnable WebRTC mode for direct peer-to-peer streaming with HD video support:\n\n```javascript\nawait client.init('en-US', 'Global', {\n  patchJsMedia: true,\n  webrtc: true  \u002F\u002F Enable WebRTC mode\n});\n```\n\n## Feature Clients\n\nAccess specialized clients from the VideoClient:\n\n| Client | Access Method | Purpose |\n|--------|---------------|---------|\n| **Stream** | `client.getMediaStream()` | Video, audio, screen share, devices |\n| **Chat** | `client.getChatClient()` | Send\u002Freceive messages |\n| **Command** | `client.getCommandClient()` | Custom commands (reactions, etc.) |\n| **Recording** | `client.getRecordingClient()` | Cloud recording control |\n| **Transcription** | `client.getLiveTranscriptionClient()` | Live captions |\n| **LiveStream** | `client.getLiveStreamClient()` | RTMP streaming |\n| **Subsession** | `client.getSubsessionClient()` | Breakout rooms |\n| **Whiteboard** | `client.getWhiteboardClient()` | Collaborative whiteboard |\n\n## Common Tasks\n\n### Start\u002FStop Video\n\n```javascript\nawait stream.startVideo();\nawait stream.stopVideo();\n```\n\n### Start\u002FStop Audio\n\n```javascript\nawait stream.startAudio();\nawait stream.muteAudio();\nawait stream.unmuteAudio();\nawait stream.stopAudio();\n```\n\n### Switch Devices\n\n```javascript\n\u002F\u002F Get available devices\nconst cameras = stream.getCameraList();\nconst mics = stream.getMicList();\nconst speakers = stream.getSpeakerList();\n\n\u002F\u002F Switch devices\nawait stream.switchCamera(cameraId);\nawait stream.switchMicrophone(micId);\nawait stream.switchSpeaker(speakerId);\n```\n\n### Screen Sharing\n\n```javascript\n\u002F\u002F Start sharing\nawait stream.startShareScreen(canvas);\n\n\u002F\u002F Stop sharing\nawait stream.stopShareScreen();\n\n\u002F\u002F Receive share\nclient.on('active-share-change', async (payload) => {\n  if (payload.state === 'Active') {\n    await stream.startShareView(canvas, payload.userId);\n  } else {\n    await stream.stopShareView();\n  }\n});\n```\n\n### Chat\n\n```javascript\nconst chatClient = client.getChatClient();\n\n\u002F\u002F Send to everyone\nawait chatClient.send('Hello, everyone!');\n\n\u002F\u002F Send to specific user\nawait chatClient.sendToUser(userId, 'Private message');\n\n\u002F\u002F Receive messages\nclient.on('chat-on-message', (payload) => {\n  console.log(`${payload.sender.name}: ${payload.message}`);\n});\n```\n\n### Recording (Host Only)\n\n```javascript\nconst recordingClient = client.getRecordingClient();\n\nawait recordingClient.startCloudRecording();\nawait recordingClient.stopCloudRecording();\n\nclient.on('recording-change', (payload) => {\n  console.log('Recording status:', payload.state);\n});\n```\n\n### Leave\u002FEnd Session\n\n```javascript\n\u002F\u002F Leave session (others stay)\nawait client.leave();\n\n\u002F\u002F End session for ALL participants (host only)\nawait client.leave(true);\n```\n\n## Error Handling\n\n### Common Join Errors\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `Invalid signature` | JWT expired or malformed | Generate new signature |\n| `Session does not exist` | Host hasn't started yet | Show \"waiting\" message, retry |\n| `Permission denied` | User denied camera\u002Fmic | Request permission again |\n\n### Example Error Handler\n\n```javascript\ntry {\n  await client.join(topic, signature, userName, password);\n} catch (error) {\n  if (error.reason?.includes('signature')) {\n    \u002F\u002F Regenerate signature and retry\n  } else if (error.reason?.includes('Session')) {\n    \u002F\u002F Show \"Waiting for host...\" and poll\n  } else if (error.reason?.includes('Permission')) {\n    \u002F\u002F Guide user to enable permissions\n  }\n  console.error('Join failed:', error);\n}\n```\n\n## Browser Compatibility\n\n| Feature | Chrome | Firefox | Safari | Edge |\n|---------|--------|---------|--------|------|\n| Video | 80+ | 75+ | 14+ | 80+ |\n| Audio | 80+ | 75+ | 14+ | 80+ |\n| Screen Share | 80+ | 75+ | 15+ | 80+ |\n| Virtual BG | 80+ | 90+ | - | 80+ |\n\n**Safari Notes:**\n- Virtual background not supported\n- Screen sharing requires macOS 15+\n\n## CORS Errors (Telemetry)\n\n**CORS errors to `log-external-gateway.zoom.us` are harmless.**\n\nThese are caused by COOP\u002FCOEP headers blocking telemetry requests. They don't affect SDK functionality.\n\n## Complete Documentation Library\n\n### Core Concepts\n- **[SDK Architecture Pattern](concepts\u002Fsdk-architecture-pattern.md)** - Universal 3-step pattern for ANY feature\n- **[Singleton Hierarchy](concepts\u002Fsingleton-hierarchy.md)** - 4-level navigation guide\n\n### Complete Examples\n- **[Session Join Pattern](examples\u002Fsession-join-pattern.md)** - JWT auth + session join with full code\n- **[Video Rendering](examples\u002Fvideo-rendering.md)** - attachVideo() patterns\n- **[Screen Share](examples\u002Fscreen-share.md)** - Send and receive screen shares\n- **[Event Handling](examples\u002Fevent-handling.md)** - Required events\n- **[Chat](examples\u002Fchat.md)** - In-session messaging\n- **[Recording](examples\u002Frecording.md)** - Cloud recording control\n- **[Transcription](examples\u002Ftranscription.md)** - Live captions\n\n### Framework Integrations\n- **[React Hooks](examples\u002Freact-hooks.md)** - Official @zoom\u002Fvideosdk-react library\n- **[Framework Integrations](examples\u002Fframework-integrations.md)** - Next.js, Vue\u002FNuxt patterns\n\n### Troubleshooting\n- **[Common Issues](troubleshooting\u002Fcommon-issues.md)** - Quick diagnostics & error codes\n\n### References\n- **[API Reference](references\u002Fweb-reference.md)** - Complete method signatures\n- **[Events Reference](references\u002Fevents-reference.md)** - All event types\n- **[SKILL.md](SKILL.md)** - Complete navigation guide\n\n## Official Sample Repositories\n\n| Type | Repository |\n|------|------------|\n| Web Sample | [videosdk-web-sample](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-web-sample) |\n| React SDK | [videosdk-react](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-react) |\n| Next.js | [videosdk-nextjs-quickstart](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-nextjs-quickstart) |\n| Vue\u002FNuxt | [videosdk-vue-nuxt-quickstart](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-vue-nuxt-quickstart) |\n| Auth Endpoint | [videosdk-auth-endpoint-sample](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-auth-endpoint-sample) |\n| UI Toolkit | [videosdk-zoom-ui-toolkit-react-sample](https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-zoom-ui-toolkit-react-sample) |\n\n## Resources\n\n- **Official Docs**: https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fvideo-sdk\u002Fweb\u002F\n- **API Reference**: https:\u002F\u002Fmarketplacefront.zoom.us\u002Fsdk\u002Fcustom\u002Fweb\u002Fmodules.html\n- **Dev Forum**: https:\u002F\u002Fdevforum.zoom.us\u002F\n- **GitHub Samples**: https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-web-sample\n\n---\n\n**Need help?** Start with [SKILL.md](SKILL.md) for complete navigation.\n\n\n## Merged from video-sdk\u002Fweb\u002FSKILL.md\n\n# Zoom Video SDK Web - Complete Documentation Index\n\n## Quick Start Path\n\n**If you're new to the SDK, follow this order:**\n\n1. **Read the architecture pattern** → [concepts\u002Fsdk-architecture-pattern.md](concepts\u002Fsdk-architecture-pattern.md)\n   - Universal formula: Create Client → Init → Join → Get Stream → Use\n   - Once you understand this, you can implement any feature\n\n2. **Implement session join** → [examples\u002Fsession-join-pattern.md](examples\u002Fsession-join-pattern.md)\n   - Complete working JWT + session join code\n\n3. **Listen to events** → [examples\u002Fevent-handling.md](examples\u002Fevent-handling.md)\n   - **CRITICAL**: The SDK is event-driven, you must listen for events\n\n4. **Implement video** → [examples\u002Fvideo-rendering.md](examples\u002Fvideo-rendering.md)\n   - Use attachVideo(), NOT renderVideo()\n\n5. **Troubleshoot any issues** → [troubleshooting\u002Fcommon-issues.md](troubleshooting\u002Fcommon-issues.md)\n   - Quick diagnostic checklist\n   - Error code tables\n\n---\n\n## Documentation Structure\n\n```\nvideo-sdk\u002Fweb\u002F\n├── SKILL.md                           # Main skill overview\n├── SKILL.md                           # This file - navigation guide\n│\n├── concepts\u002F                          # Core architectural patterns\n│   ├── sdk-architecture-pattern.md   # Universal formula for ANY feature\n│   └── singleton-hierarchy.md        # 4-level navigation guide\n│\n├── examples\u002F                          # Complete working code\n│   ├── session-join-pattern.md       # JWT auth + session join\n│   ├── video-rendering.md            # attachVideo() patterns\n│   ├── screen-share.md               # Send and receive screen shares\n│   ├── event-handling.md             # Required events\n│   ├── chat.md                       # Chat implementation\n│   ├── command-channel.md            # Command channel messaging\n│   ├── recording.md                  # Cloud recording control\n│   ├── transcription.md              # Live transcription\u002Fcaptions\n│   ├── react-hooks.md                # Official @zoom\u002Fvideosdk-react library\n│   └── framework-integrations.md     # Next.js, Vue\u002FNuxt, ZFG patterns\n│\n├── troubleshooting\u002F                   # Problem solving guides\n│   └── common-issues.md              # Quick diagnostic workflow\n│\n└── references\u002F                        # Reference documentation\n    ├── web-reference.md              # API hierarchy, methods, error codes\n    └── events-reference.md           # All event types\n```\n\n---\n\n## By Use Case\n\n### I want to build a video app\n1. [SDK Architecture Pattern](concepts\u002Fsdk-architecture-pattern.md) - Understand the pattern\n2. [Session Join Pattern](examples\u002Fsession-join-pattern.md) - Join sessions\n3. [Video Rendering](examples\u002Fvideo-rendering.md) - Display video\n4. [Event Handling](examples\u002Fevent-handling.md) - Listen for video events\n\n### I'm getting runtime errors\n1. [Common Issues](troubleshooting\u002Fcommon-issues.md) - Error code tables\n2. \"getMediaStream() is undefined\" → Call AFTER join() completes\n\n### I want to receive screen shares\n1. [Screen Share](examples\u002Fscreen-share.md) - startShareView() patterns\n2. [Event Handling](examples\u002Fevent-handling.md) - active-share-change event\n\n### I want to send screen shares\n1. [Screen Share](examples\u002Fscreen-share.md) - startShareScreen() patterns\n2. Check isStartShareScreenWithVideoElement() for element type\n\n### I want to use chat\n1. [Chat](examples\u002Fchat.md) - Send\u002Freceive messages\n2. getChatClient() for ChatClient access\n\n### I want to record sessions\n1. [Recording](examples\u002Frecording.md) - Cloud recording (host only)\n2. getRecordingClient() for RecordingClient access\n\n### I want to use live transcription\n1. [Transcription](examples\u002Ftranscription.md) - Enable live captions\n2. getLiveTranscriptionClient() for LiveTranscriptionClient access\n\n### I want to use command channel\n1. [Command Channel](examples\u002Fcommand-channel.md) - Custom signaling between participants\n2. Must call getCommandClient() AFTER join()\n\n### I want to implement a specific feature\n1. [SDK Architecture Pattern](concepts\u002Fsdk-architecture-pattern.md) - **START HERE!**\n2. [Singleton Hierarchy](concepts\u002Fsingleton-hierarchy.md) - Navigate to the feature\n3. [API Reference](references\u002Fweb-reference.md) - Method signatures\n\n### I'm using React\n1. [React Hooks](examples\u002Freact-hooks.md) - Official @zoom\u002Fvideosdk-react library\n2. Provides hooks: useSession, useSessionUsers, useVideoState, useAudioState\n3. Pre-built components: VideoPlayerComponent, ScreenSharePlayerComponent\n\n### I'm using Next.js or Vue\u002FNuxt\n1. [Framework Integrations](examples\u002Fframework-integrations.md) - SSR considerations\n2. Server-side JWT generation patterns\n3. Client-side only SDK usage\n\n---\n\n## Most Critical Documents\n\n### 1. SDK Architecture Pattern (MASTER DOCUMENT)\n**[concepts\u002Fsdk-architecture-pattern.md](concepts\u002Fsdk-architecture-pattern.md)**\n\nThe universal 5-step pattern:\n1. Create client\n2. Initialize SDK\n3. Join session\n4. Get stream\n5. Use features + listen to events\n\n### 2. Common Issues (MOST COMMON PROBLEMS)\n**[troubleshooting\u002Fcommon-issues.md](troubleshooting\u002Fcommon-issues.md)**\n\nCommon issues:\n- getMediaStream() returns undefined\n- Video not displaying\n- renderVideo() deprecated\n\n### 3. Singleton Hierarchy (NAVIGATION MAP)\n**[concepts\u002Fsingleton-hierarchy.md](concepts\u002Fsingleton-hierarchy.md)**\n\n4-level deep navigation showing how to reach every feature.\n\n---\n\n## Key Learnings\n\n### Critical Discoveries:\n\n1. **getMediaStream() ONLY works after join()**\n   - The stream object is not available until session is joined\n   - See: [SDK Architecture Pattern](concepts\u002Fsdk-architecture-pattern.md)\n\n2. **Use attachVideo() NOT renderVideo()**\n   - renderVideo() is deprecated\n   - attachVideo() returns a VideoPlayer element to append to DOM\n   - See: [Video Rendering](examples\u002Fvideo-rendering.md)\n\n3. **The SDK is Event-Driven**\n   - You MUST listen for events to render participant videos\n   - key events: peer-video-state-change, user-added, user-removed\n   - See: [Event Handling](examples\u002Fevent-handling.md)\n\n4. **Peer Videos on Mid-Session Join**\n   - Existing participants' videos won't auto-render\n   - Must manually iterate getAllUser() and attachVideo()\n   - See: [Video Rendering](examples\u002Fvideo-rendering.md)\n\n5. **CDN vs NPM**\n   - CDN exports as `WebVideoSDK.default`, not `ZoomVideo`\n   - Some networks\u002Fad blockers may block `source.zoom.us` - allowlist or use a permitted fallback strategy\n   - See: [Session Join Pattern](examples\u002Fsession-join-pattern.md)\n\n6. **SharedArrayBuffer for HD**\n   - Required for 720p\u002F1080p video\n   - Need COOP\u002FCOEP headers on server\n   - Check with `stream.isSupportHDVideo()`\n\n7. **Screen Share Element Type**\n   - Check `isStartShareScreenWithVideoElement()` for correct element type\n   - See: [Screen Share](examples\u002Fscreen-share.md)\n\n8. **Command Channel Setup Order**\n   - Must call getCommandClient() AFTER client.join()\n   - Register listeners AFTER join, not before\n   - Web uses getCommandClient() not getCmdChannel()\n   - See: [Command Channel](examples\u002Fcommand-channel.md)\n\n9. **Command Channel is Session-Scoped**\n   - Does NOT span across different sessions\n   - Both sender and receiver must be in the same session\n\n---\n\n## Quick Reference\n\n### \"getMediaStream() returns undefined\"\n→ Call AFTER join() completes\n\n### \"Video not showing\"\n→ [Video Rendering](examples\u002Fvideo-rendering.md) - Use attachVideo(), check events\n\n### \"renderVideo() doesn't work\"\n→ [Video Rendering](examples\u002Fvideo-rendering.md) - Use attachVideo() instead\n\n### \"How do I implement [feature]?\"\n→ [SDK Architecture Pattern](concepts\u002Fsdk-architecture-pattern.md)\n\n### \"How do I navigate to [client]?\"\n→ [Singleton Hierarchy](concepts\u002Fsingleton-hierarchy.md)\n\n### \"What error code means what?\"\n→ [Common Issues](troubleshooting\u002Fcommon-issues.md)\n\n---\n\n## Document Version\n\nBased on **Zoom Video SDK for Web v2.3.x**\n\n---\n\n**Happy coding!**\n\nRemember: The [SDK Architecture Pattern](concepts\u002Fsdk-architecture-pattern.md) is your key to unlocking the entire SDK. Read it first!\n\n## Operations\n\n- [RUNBOOK.md](RUNBOOK.md) - 5-minute preflight and debugging checklist.\n",{"data":39,"body":47},{"name":5,"description":7,"user-invocable":40,"triggers":41},false,[42,43,44,45,46],"video sdk web","custom video web","attachvideo","peer-video-state-change","web videosdk",{"type":48,"children":49},"root",[50,59,65,86,127,134,142,203,211,268,276,306,312,317,430,436,443,483,489,895,901,914,960,970,976,982,1010,1054,1060,1082,1130,1197,1245,1251,1789,1795,1806,1816,1824,2006,2012,2018,2023,2203,2209,2235,2474,2480,2485,3175,3181,3189,3666,3672,3685,4264,4270,4275,4284,4294,4300,4546,4552,4876,4882,4888,5047,5053,5307,5313,5326,5692,5698,5703,5826,5832,5837,6068,6074,6080,6142,6148,6266,6272,6500,6505,6832,6837,7176,7182,7424,7430,7524,7530,7536,7629,7635,8012,8018,8156,8164,8177,8183,8199,8204,8210,8216,8242,8248,8339,8345,8375,8381,8396,8402,8443,8449,8578,8584,8643,8647,8663,8669,8675,8681,8689,8813,8816,8822,8831,8834,8840,8846,8885,8891,8908,8914,8935,8941,8958,8964,8981,8987,9004,9010,9027,9033,9051,9057,9092,9098,9119,9125,9147,9150,9156,9162,9172,9177,9205,9211,9221,9226,9244,9250,9260,9265,9268,9274,9280,9563,9566,9572,9578,9583,9589,9600,9606,9616,9629,9637,9648,9656,9662,9670,9673,9679,9689,9692,9700,9711,9717,9730],{"type":51,"tag":52,"props":53,"children":55},"element","h1",{"id":54},"zoom-video-sdk-web-development",[56],{"type":57,"value":58},"text","Zoom Video SDK - Web Development",{"type":51,"tag":60,"props":61,"children":62},"p",{},[63],{"type":57,"value":64},"Expert guidance for developing with the Zoom Video SDK on Web. This SDK enables custom video applications in the browser with real-time video\u002Faudio, screen sharing, cloud recording, live streaming, chat, and live transcription.",{"type":51,"tag":60,"props":66,"children":67},{},[68,70,76,78,84],{"type":57,"value":69},"This skill is for ",{"type":51,"tag":71,"props":72,"children":73},"strong",{},[74],{"type":57,"value":75},"custom video sessions",{"type":57,"value":77},", not embedded Zoom meetings.\nIf the user wants a custom UI for a real Zoom meeting, route to\n",{"type":51,"tag":79,"props":80,"children":82},"a",{"href":81},"..\u002F..\u002Fmeeting-sdk\u002Fweb\u002Fcomponent-view\u002FSKILL.md",[83],{"type":57,"value":81},{"type":57,"value":85},".",{"type":51,"tag":60,"props":87,"children":88},{},[89,94,96,103,108,109,115,120,121],{"type":51,"tag":71,"props":90,"children":91},{},[92],{"type":57,"value":93},"Official Documentation",{"type":57,"value":95},": ",{"type":51,"tag":79,"props":97,"children":101},{"href":98,"rel":99},"https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Fvideo-sdk\u002Fweb\u002F",[100],"nofollow",[102],{"type":57,"value":98},{"type":51,"tag":71,"props":104,"children":105},{},[106],{"type":57,"value":107},"API Reference",{"type":57,"value":95},{"type":51,"tag":79,"props":110,"children":113},{"href":111,"rel":112},"https:\u002F\u002Fmarketplacefront.zoom.us\u002Fsdk\u002Fcustom\u002Fweb\u002Fmodules.html",[100],[114],{"type":57,"value":111},{"type":51,"tag":71,"props":116,"children":117},{},[118],{"type":57,"value":119},"Sample Repository",{"type":57,"value":95},{"type":51,"tag":79,"props":122,"children":125},{"href":123,"rel":124},"https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-web-sample",[100],[126],{"type":57,"value":123},{"type":51,"tag":128,"props":129,"children":131},"h2",{"id":130},"quick-links",[132],{"type":57,"value":133},"Quick Links",{"type":51,"tag":60,"props":135,"children":136},{},[137],{"type":51,"tag":71,"props":138,"children":139},{},[140],{"type":57,"value":141},"New to Video SDK? Follow this path:",{"type":51,"tag":143,"props":144,"children":145},"ol",{},[146,161,175,189],{"type":51,"tag":147,"props":148,"children":149},"li",{},[150,159],{"type":51,"tag":71,"props":151,"children":152},{},[153],{"type":51,"tag":79,"props":154,"children":156},{"href":155},"concepts\u002Fsdk-architecture-pattern.md",[157],{"type":57,"value":158},"SDK Architecture Pattern",{"type":57,"value":160}," - Universal 3-step pattern for ANY feature",{"type":51,"tag":147,"props":162,"children":163},{},[164,173],{"type":51,"tag":71,"props":165,"children":166},{},[167],{"type":51,"tag":79,"props":168,"children":170},{"href":169},"examples\u002Fsession-join-pattern.md",[171],{"type":57,"value":172},"Session Join Pattern",{"type":57,"value":174}," - Complete working code to join a session",{"type":51,"tag":147,"props":176,"children":177},{},[178,187],{"type":51,"tag":71,"props":179,"children":180},{},[181],{"type":51,"tag":79,"props":182,"children":184},{"href":183},"examples\u002Fvideo-rendering.md",[185],{"type":57,"value":186},"Video Rendering",{"type":57,"value":188}," - Display video with attachVideo()",{"type":51,"tag":147,"props":190,"children":191},{},[192,201],{"type":51,"tag":71,"props":193,"children":194},{},[195],{"type":51,"tag":79,"props":196,"children":198},{"href":197},"examples\u002Fevent-handling.md",[199],{"type":57,"value":200},"Event Handling",{"type":57,"value":202}," - Required events for video\u002Faudio",{"type":51,"tag":60,"props":204,"children":205},{},[206],{"type":51,"tag":71,"props":207,"children":208},{},[209],{"type":57,"value":210},"Reference:",{"type":51,"tag":212,"props":213,"children":214},"ul",{},[215,229,242,255],{"type":51,"tag":147,"props":216,"children":217},{},[218,227],{"type":51,"tag":71,"props":219,"children":220},{},[221],{"type":51,"tag":79,"props":222,"children":224},{"href":223},"concepts\u002Fsingleton-hierarchy.md",[225],{"type":57,"value":226},"Singleton Hierarchy",{"type":57,"value":228}," - 4-level SDK navigation map",{"type":51,"tag":147,"props":230,"children":231},{},[232,240],{"type":51,"tag":71,"props":233,"children":234},{},[235],{"type":51,"tag":79,"props":236,"children":238},{"href":237},"references\u002Fweb-reference.md",[239],{"type":57,"value":107},{"type":57,"value":241}," - Methods, events, error codes",{"type":51,"tag":147,"props":243,"children":244},{},[245,253],{"type":51,"tag":71,"props":246,"children":247},{},[248],{"type":51,"tag":79,"props":249,"children":251},{"href":250},"SKILL.md",[252],{"type":57,"value":250},{"type":57,"value":254}," - Complete documentation navigation",{"type":51,"tag":147,"props":256,"children":257},{},[258,266],{"type":51,"tag":71,"props":259,"children":260},{},[261],{"type":51,"tag":79,"props":262,"children":264},{"href":263},"..\u002F..\u002Fprobe-sdk\u002FSKILL.md",[265],{"type":57,"value":263},{"type":57,"value":267}," - Optional browser\u002Fdevice\u002Fnetwork readiness diagnostics before join",{"type":51,"tag":60,"props":269,"children":270},{},[271],{"type":51,"tag":71,"props":272,"children":273},{},[274],{"type":57,"value":275},"Having issues?",{"type":51,"tag":212,"props":277,"children":278},{},[279,290,295],{"type":51,"tag":147,"props":280,"children":281},{},[282,284,288],{"type":57,"value":283},"Video not showing → ",{"type":51,"tag":79,"props":285,"children":286},{"href":183},[287],{"type":57,"value":186},{"type":57,"value":289}," (use attachVideo, not renderVideo)",{"type":51,"tag":147,"props":291,"children":292},{},[293],{"type":57,"value":294},"getMediaStream() returns undefined → Call AFTER join() completes",{"type":51,"tag":147,"props":296,"children":297},{},[298,300],{"type":57,"value":299},"Quick diagnostics → ",{"type":51,"tag":79,"props":301,"children":303},{"href":302},"troubleshooting\u002Fcommon-issues.md",[304],{"type":57,"value":305},"Common Issues",{"type":51,"tag":128,"props":307,"children":309},{"id":308},"sdk-overview",[310],{"type":57,"value":311},"SDK Overview",{"type":51,"tag":60,"props":313,"children":314},{},[315],{"type":57,"value":316},"The Zoom Video SDK for Web is a JavaScript library that provides:",{"type":51,"tag":212,"props":318,"children":319},{},[320,330,340,350,360,370,380,390,400,410,420],{"type":51,"tag":147,"props":321,"children":322},{},[323,328],{"type":51,"tag":71,"props":324,"children":325},{},[326],{"type":57,"value":327},"Session Management",{"type":57,"value":329},": Join\u002Fleave video SDK sessions",{"type":51,"tag":147,"props":331,"children":332},{},[333,338],{"type":51,"tag":71,"props":334,"children":335},{},[336],{"type":57,"value":337},"Video\u002FAudio",{"type":57,"value":339},": Start\u002Fstop camera and microphone",{"type":51,"tag":147,"props":341,"children":342},{},[343,348],{"type":51,"tag":71,"props":344,"children":345},{},[346],{"type":57,"value":347},"Screen Sharing",{"type":57,"value":349},": Share screens or browser tabs",{"type":51,"tag":147,"props":351,"children":352},{},[353,358],{"type":51,"tag":71,"props":354,"children":355},{},[356],{"type":57,"value":357},"Cloud Recording",{"type":57,"value":359},": Record sessions to Zoom cloud",{"type":51,"tag":147,"props":361,"children":362},{},[363,368],{"type":51,"tag":71,"props":364,"children":365},{},[366],{"type":57,"value":367},"Live Streaming",{"type":57,"value":369},": Stream to RTMP endpoints",{"type":51,"tag":147,"props":371,"children":372},{},[373,378],{"type":51,"tag":71,"props":374,"children":375},{},[376],{"type":57,"value":377},"Chat",{"type":57,"value":379},": In-session messaging",{"type":51,"tag":147,"props":381,"children":382},{},[383,388],{"type":51,"tag":71,"props":384,"children":385},{},[386],{"type":57,"value":387},"Command Channel",{"type":57,"value":389},": Custom command messaging",{"type":51,"tag":147,"props":391,"children":392},{},[393,398],{"type":51,"tag":71,"props":394,"children":395},{},[396],{"type":57,"value":397},"Live Transcription",{"type":57,"value":399},": Real-time speech-to-text",{"type":51,"tag":147,"props":401,"children":402},{},[403,408],{"type":51,"tag":71,"props":404,"children":405},{},[406],{"type":57,"value":407},"Subsessions",{"type":57,"value":409},": Breakout room support",{"type":51,"tag":147,"props":411,"children":412},{},[413,418],{"type":51,"tag":71,"props":414,"children":415},{},[416],{"type":57,"value":417},"Whiteboard",{"type":57,"value":419},": Collaborative whiteboard features",{"type":51,"tag":147,"props":421,"children":422},{},[423,428],{"type":51,"tag":71,"props":424,"children":425},{},[426],{"type":57,"value":427},"Virtual Background",{"type":57,"value":429},": Blur or custom image backgrounds",{"type":51,"tag":128,"props":431,"children":433},{"id":432},"prerequisites",[434],{"type":57,"value":435},"Prerequisites",{"type":51,"tag":437,"props":438,"children":440},"h3",{"id":439},"system-requirements",[441],{"type":57,"value":442},"System Requirements",{"type":51,"tag":212,"props":444,"children":445},{},[446,456,473],{"type":51,"tag":147,"props":447,"children":448},{},[449,454],{"type":51,"tag":71,"props":450,"children":451},{},[452],{"type":57,"value":453},"Modern Browser",{"type":57,"value":455},": Chrome 80+, Firefox 75+, Safari 14+, Edge 80+",{"type":51,"tag":147,"props":457,"children":458},{},[459,464,466],{"type":51,"tag":71,"props":460,"children":461},{},[462],{"type":57,"value":463},"Video SDK Credentials",{"type":57,"value":465},": SDK Key and Secret from ",{"type":51,"tag":79,"props":467,"children":470},{"href":468,"rel":469},"https:\u002F\u002Fmarketplace.zoom.us\u002F",[100],[471],{"type":57,"value":472},"Marketplace",{"type":51,"tag":147,"props":474,"children":475},{},[476,481],{"type":51,"tag":71,"props":477,"children":478},{},[479],{"type":57,"value":480},"JWT Token",{"type":57,"value":482},": Server-side generated signature",{"type":51,"tag":437,"props":484,"children":486},{"id":485},"browser-feature-requirements",[487],{"type":57,"value":488},"Browser Feature Requirements",{"type":51,"tag":490,"props":491,"children":496},"pre",{"className":492,"code":493,"language":494,"meta":495,"style":495},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Check browser compatibility before init\nconst compatibility = ZoomVideo.checkSystemRequirements();\nconsole.log('Audio:', compatibility.audio);\nconsole.log('Video:', compatibility.video);\nconsole.log('Screen:', compatibility.screen);\n\n\u002F\u002F Check feature support\nconst features = ZoomVideo.checkFeatureRequirements();\nconsole.log('Supported:', features.supportFeatures);\nconsole.log('Unsupported:', features.unSupportFeatures);\n","javascript","",[497],{"type":51,"tag":498,"props":499,"children":500},"code",{"__ignoreMap":495},[501,513,560,621,675,729,739,748,786,841],{"type":51,"tag":502,"props":503,"children":506},"span",{"class":504,"line":505},"line",1,[507],{"type":51,"tag":502,"props":508,"children":510},{"style":509},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[511],{"type":57,"value":512},"\u002F\u002F Check browser compatibility before init\n",{"type":51,"tag":502,"props":514,"children":516},{"class":504,"line":515},2,[517,523,529,535,540,544,550,555],{"type":51,"tag":502,"props":518,"children":520},{"style":519},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[521],{"type":57,"value":522},"const",{"type":51,"tag":502,"props":524,"children":526},{"style":525},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[527],{"type":57,"value":528}," compatibility ",{"type":51,"tag":502,"props":530,"children":532},{"style":531},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[533],{"type":57,"value":534},"=",{"type":51,"tag":502,"props":536,"children":537},{"style":525},[538],{"type":57,"value":539}," ZoomVideo",{"type":51,"tag":502,"props":541,"children":542},{"style":531},[543],{"type":57,"value":85},{"type":51,"tag":502,"props":545,"children":547},{"style":546},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[548],{"type":57,"value":549},"checkSystemRequirements",{"type":51,"tag":502,"props":551,"children":552},{"style":525},[553],{"type":57,"value":554},"()",{"type":51,"tag":502,"props":556,"children":557},{"style":531},[558],{"type":57,"value":559},";\n",{"type":51,"tag":502,"props":561,"children":563},{"class":504,"line":562},3,[564,569,573,578,583,588,594,598,603,608,612,617],{"type":51,"tag":502,"props":565,"children":566},{"style":525},[567],{"type":57,"value":568},"console",{"type":51,"tag":502,"props":570,"children":571},{"style":531},[572],{"type":57,"value":85},{"type":51,"tag":502,"props":574,"children":575},{"style":546},[576],{"type":57,"value":577},"log",{"type":51,"tag":502,"props":579,"children":580},{"style":525},[581],{"type":57,"value":582},"(",{"type":51,"tag":502,"props":584,"children":585},{"style":531},[586],{"type":57,"value":587},"'",{"type":51,"tag":502,"props":589,"children":591},{"style":590},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[592],{"type":57,"value":593},"Audio:",{"type":51,"tag":502,"props":595,"children":596},{"style":531},[597],{"type":57,"value":587},{"type":51,"tag":502,"props":599,"children":600},{"style":531},[601],{"type":57,"value":602},",",{"type":51,"tag":502,"props":604,"children":605},{"style":525},[606],{"type":57,"value":607}," compatibility",{"type":51,"tag":502,"props":609,"children":610},{"style":531},[611],{"type":57,"value":85},{"type":51,"tag":502,"props":613,"children":614},{"style":525},[615],{"type":57,"value":616},"audio)",{"type":51,"tag":502,"props":618,"children":619},{"style":531},[620],{"type":57,"value":559},{"type":51,"tag":502,"props":622,"children":624},{"class":504,"line":623},4,[625,629,633,637,641,645,650,654,658,662,666,671],{"type":51,"tag":502,"props":626,"children":627},{"style":525},[628],{"type":57,"value":568},{"type":51,"tag":502,"props":630,"children":631},{"style":531},[632],{"type":57,"value":85},{"type":51,"tag":502,"props":634,"children":635},{"style":546},[636],{"type":57,"value":577},{"type":51,"tag":502,"props":638,"children":639},{"style":525},[640],{"type":57,"value":582},{"type":51,"tag":502,"props":642,"children":643},{"style":531},[644],{"type":57,"value":587},{"type":51,"tag":502,"props":646,"children":647},{"style":590},[648],{"type":57,"value":649},"Video:",{"type":51,"tag":502,"props":651,"children":652},{"style":531},[653],{"type":57,"value":587},{"type":51,"tag":502,"props":655,"children":656},{"style":531},[657],{"type":57,"value":602},{"type":51,"tag":502,"props":659,"children":660},{"style":525},[661],{"type":57,"value":607},{"type":51,"tag":502,"props":663,"children":664},{"style":531},[665],{"type":57,"value":85},{"type":51,"tag":502,"props":667,"children":668},{"style":525},[669],{"type":57,"value":670},"video)",{"type":51,"tag":502,"props":672,"children":673},{"style":531},[674],{"type":57,"value":559},{"type":51,"tag":502,"props":676,"children":678},{"class":504,"line":677},5,[679,683,687,691,695,699,704,708,712,716,720,725],{"type":51,"tag":502,"props":680,"children":681},{"style":525},[682],{"type":57,"value":568},{"type":51,"tag":502,"props":684,"children":685},{"style":531},[686],{"type":57,"value":85},{"type":51,"tag":502,"props":688,"children":689},{"style":546},[690],{"type":57,"value":577},{"type":51,"tag":502,"props":692,"children":693},{"style":525},[694],{"type":57,"value":582},{"type":51,"tag":502,"props":696,"children":697},{"style":531},[698],{"type":57,"value":587},{"type":51,"tag":502,"props":700,"children":701},{"style":590},[702],{"type":57,"value":703},"Screen:",{"type":51,"tag":502,"props":705,"children":706},{"style":531},[707],{"type":57,"value":587},{"type":51,"tag":502,"props":709,"children":710},{"style":531},[711],{"type":57,"value":602},{"type":51,"tag":502,"props":713,"children":714},{"style":525},[715],{"type":57,"value":607},{"type":51,"tag":502,"props":717,"children":718},{"style":531},[719],{"type":57,"value":85},{"type":51,"tag":502,"props":721,"children":722},{"style":525},[723],{"type":57,"value":724},"screen)",{"type":51,"tag":502,"props":726,"children":727},{"style":531},[728],{"type":57,"value":559},{"type":51,"tag":502,"props":730,"children":732},{"class":504,"line":731},6,[733],{"type":51,"tag":502,"props":734,"children":736},{"emptyLinePlaceholder":735},true,[737],{"type":57,"value":738},"\n",{"type":51,"tag":502,"props":740,"children":742},{"class":504,"line":741},7,[743],{"type":51,"tag":502,"props":744,"children":745},{"style":509},[746],{"type":57,"value":747},"\u002F\u002F Check feature support\n",{"type":51,"tag":502,"props":749,"children":751},{"class":504,"line":750},8,[752,756,761,765,769,773,778,782],{"type":51,"tag":502,"props":753,"children":754},{"style":519},[755],{"type":57,"value":522},{"type":51,"tag":502,"props":757,"children":758},{"style":525},[759],{"type":57,"value":760}," features ",{"type":51,"tag":502,"props":762,"children":763},{"style":531},[764],{"type":57,"value":534},{"type":51,"tag":502,"props":766,"children":767},{"style":525},[768],{"type":57,"value":539},{"type":51,"tag":502,"props":770,"children":771},{"style":531},[772],{"type":57,"value":85},{"type":51,"tag":502,"props":774,"children":775},{"style":546},[776],{"type":57,"value":777},"checkFeatureRequirements",{"type":51,"tag":502,"props":779,"children":780},{"style":525},[781],{"type":57,"value":554},{"type":51,"tag":502,"props":783,"children":784},{"style":531},[785],{"type":57,"value":559},{"type":51,"tag":502,"props":787,"children":789},{"class":504,"line":788},9,[790,794,798,802,806,810,815,819,823,828,832,837],{"type":51,"tag":502,"props":791,"children":792},{"style":525},[793],{"type":57,"value":568},{"type":51,"tag":502,"props":795,"children":796},{"style":531},[797],{"type":57,"value":85},{"type":51,"tag":502,"props":799,"children":800},{"style":546},[801],{"type":57,"value":577},{"type":51,"tag":502,"props":803,"children":804},{"style":525},[805],{"type":57,"value":582},{"type":51,"tag":502,"props":807,"children":808},{"style":531},[809],{"type":57,"value":587},{"type":51,"tag":502,"props":811,"children":812},{"style":590},[813],{"type":57,"value":814},"Supported:",{"type":51,"tag":502,"props":816,"children":817},{"style":531},[818],{"type":57,"value":587},{"type":51,"tag":502,"props":820,"children":821},{"style":531},[822],{"type":57,"value":602},{"type":51,"tag":502,"props":824,"children":825},{"style":525},[826],{"type":57,"value":827}," features",{"type":51,"tag":502,"props":829,"children":830},{"style":531},[831],{"type":57,"value":85},{"type":51,"tag":502,"props":833,"children":834},{"style":525},[835],{"type":57,"value":836},"supportFeatures)",{"type":51,"tag":502,"props":838,"children":839},{"style":531},[840],{"type":57,"value":559},{"type":51,"tag":502,"props":842,"children":844},{"class":504,"line":843},10,[845,849,853,857,861,865,870,874,878,882,886,891],{"type":51,"tag":502,"props":846,"children":847},{"style":525},[848],{"type":57,"value":568},{"type":51,"tag":502,"props":850,"children":851},{"style":531},[852],{"type":57,"value":85},{"type":51,"tag":502,"props":854,"children":855},{"style":546},[856],{"type":57,"value":577},{"type":51,"tag":502,"props":858,"children":859},{"style":525},[860],{"type":57,"value":582},{"type":51,"tag":502,"props":862,"children":863},{"style":531},[864],{"type":57,"value":587},{"type":51,"tag":502,"props":866,"children":867},{"style":590},[868],{"type":57,"value":869},"Unsupported:",{"type":51,"tag":502,"props":871,"children":872},{"style":531},[873],{"type":57,"value":587},{"type":51,"tag":502,"props":875,"children":876},{"style":531},[877],{"type":57,"value":602},{"type":51,"tag":502,"props":879,"children":880},{"style":525},[881],{"type":57,"value":827},{"type":51,"tag":502,"props":883,"children":884},{"style":531},[885],{"type":57,"value":85},{"type":51,"tag":502,"props":887,"children":888},{"style":525},[889],{"type":57,"value":890},"unSupportFeatures)",{"type":51,"tag":502,"props":892,"children":893},{"style":531},[894],{"type":57,"value":559},{"type":51,"tag":437,"props":896,"children":898},{"id":897},"optional-pre-join-diagnostics-recommended-for-reliability",[899],{"type":57,"value":900},"Optional Pre-Join Diagnostics (Recommended for Reliability)",{"type":51,"tag":60,"props":902,"children":903},{},[904,906,912],{"type":57,"value":905},"Use Probe SDK as a readiness gate before ",{"type":51,"tag":498,"props":907,"children":909},{"className":908},[],[910],{"type":57,"value":911},"client.join(...)",{"type":57,"value":913}," when you need to reduce failed starts:",{"type":51,"tag":143,"props":915,"children":916},{},[917,927,955],{"type":51,"tag":147,"props":918,"children":919},{},[920,922,926],{"type":57,"value":921},"Run diagnostics with ",{"type":51,"tag":79,"props":923,"children":924},{"href":263},[925],{"type":57,"value":263},{"type":57,"value":85},{"type":51,"tag":147,"props":928,"children":929},{},[930,932,938,940,946,947,953],{"type":57,"value":931},"Evaluate policy (",{"type":51,"tag":498,"props":933,"children":935},{"className":934},[],[936],{"type":57,"value":937},"allow",{"type":57,"value":939},", ",{"type":51,"tag":498,"props":941,"children":943},{"className":942},[],[944],{"type":57,"value":945},"warn",{"type":57,"value":939},{"type":51,"tag":498,"props":948,"children":950},{"className":949},[],[951],{"type":57,"value":952},"block",{"type":57,"value":954},").",{"type":51,"tag":147,"props":956,"children":957},{},[958],{"type":57,"value":959},"Start Video SDK join only when policy allows.",{"type":51,"tag":60,"props":961,"children":962},{},[963,965],{"type":57,"value":964},"Cross-skill flow: ",{"type":51,"tag":79,"props":966,"children":968},{"href":967},"..\u002F..\u002Fgeneral\u002Fuse-cases\u002Fprobe-sdk-preflight-readiness-gate.md",[969],{"type":57,"value":967},{"type":51,"tag":128,"props":971,"children":973},{"id":972},"installation",[974],{"type":57,"value":975},"Installation",{"type":51,"tag":437,"props":977,"children":979},{"id":978},"npm-recommended",[980],{"type":57,"value":981},"NPM (Recommended)",{"type":51,"tag":490,"props":983,"children":987},{"className":984,"code":985,"language":986,"meta":495,"style":495},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install @zoom\u002Fvideosdk\n","bash",[988],{"type":51,"tag":498,"props":989,"children":990},{"__ignoreMap":495},[991],{"type":51,"tag":502,"props":992,"children":993},{"class":504,"line":505},[994,1000,1005],{"type":51,"tag":502,"props":995,"children":997},{"style":996},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[998],{"type":57,"value":999},"npm",{"type":51,"tag":502,"props":1001,"children":1002},{"style":590},[1003],{"type":57,"value":1004}," install",{"type":51,"tag":502,"props":1006,"children":1007},{"style":590},[1008],{"type":57,"value":1009}," @zoom\u002Fvideosdk\n",{"type":51,"tag":490,"props":1011,"children":1013},{"className":492,"code":1012,"language":494,"meta":495,"style":495},"import ZoomVideo from '@zoom\u002Fvideosdk';\n",[1014],{"type":51,"tag":498,"props":1015,"children":1016},{"__ignoreMap":495},[1017],{"type":51,"tag":502,"props":1018,"children":1019},{"class":504,"line":505},[1020,1026,1031,1036,1041,1046,1050],{"type":51,"tag":502,"props":1021,"children":1023},{"style":1022},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1024],{"type":57,"value":1025},"import",{"type":51,"tag":502,"props":1027,"children":1028},{"style":525},[1029],{"type":57,"value":1030}," ZoomVideo ",{"type":51,"tag":502,"props":1032,"children":1033},{"style":1022},[1034],{"type":57,"value":1035},"from",{"type":51,"tag":502,"props":1037,"children":1038},{"style":531},[1039],{"type":57,"value":1040}," '",{"type":51,"tag":502,"props":1042,"children":1043},{"style":590},[1044],{"type":57,"value":1045},"@zoom\u002Fvideosdk",{"type":51,"tag":502,"props":1047,"children":1048},{"style":531},[1049],{"type":57,"value":587},{"type":51,"tag":502,"props":1051,"children":1052},{"style":531},[1053],{"type":57,"value":559},{"type":51,"tag":437,"props":1055,"children":1057},{"id":1056},"cdn-fallback-strategy-recommended",[1058],{"type":57,"value":1059},"CDN (Fallback Strategy Recommended)",{"type":51,"tag":1061,"props":1062,"children":1063},"blockquote",{},[1064],{"type":51,"tag":60,"props":1065,"children":1066},{},[1067,1072,1074,1080],{"type":51,"tag":71,"props":1068,"children":1069},{},[1070],{"type":57,"value":1071},"Note",{"type":57,"value":1073},": Some networks\u002Fad blockers can block ",{"type":51,"tag":498,"props":1075,"children":1077},{"className":1076},[],[1078],{"type":57,"value":1079},"source.zoom.us",{"type":57,"value":1081},". If you see flaky loads, first try allowlisting the domain in your environment. If needed, consider a fallback (mirror\u002Fself-host) only if it's permitted for your use case and you can keep versions in sync.",{"type":51,"tag":490,"props":1083,"children":1085},{"className":984,"code":1084,"language":986,"meta":495,"style":495},"# Download SDK locally\ncurl \"https:\u002F\u002Fsource.zoom.us\u002Fvideosdk\u002Fzoom-video-2.3.12.min.js\" -o public\u002Fjs\u002Fzoom-video-sdk.min.js\n",[1086],{"type":51,"tag":498,"props":1087,"children":1088},{"__ignoreMap":495},[1089,1097],{"type":51,"tag":502,"props":1090,"children":1091},{"class":504,"line":505},[1092],{"type":51,"tag":502,"props":1093,"children":1094},{"style":509},[1095],{"type":57,"value":1096},"# Download SDK locally\n",{"type":51,"tag":502,"props":1098,"children":1099},{"class":504,"line":515},[1100,1105,1110,1115,1120,1125],{"type":51,"tag":502,"props":1101,"children":1102},{"style":996},[1103],{"type":57,"value":1104},"curl",{"type":51,"tag":502,"props":1106,"children":1107},{"style":531},[1108],{"type":57,"value":1109}," \"",{"type":51,"tag":502,"props":1111,"children":1112},{"style":590},[1113],{"type":57,"value":1114},"https:\u002F\u002Fsource.zoom.us\u002Fvideosdk\u002Fzoom-video-2.3.12.min.js",{"type":51,"tag":502,"props":1116,"children":1117},{"style":531},[1118],{"type":57,"value":1119},"\"",{"type":51,"tag":502,"props":1121,"children":1122},{"style":590},[1123],{"type":57,"value":1124}," -o",{"type":51,"tag":502,"props":1126,"children":1127},{"style":590},[1128],{"type":57,"value":1129}," public\u002Fjs\u002Fzoom-video-sdk.min.js\n",{"type":51,"tag":490,"props":1131,"children":1135},{"className":1132,"code":1133,"language":1134,"meta":495,"style":495},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003C!-- Use local copy instead of CDN -->\n\u003Cscript src=\"js\u002Fzoom-video-sdk.min.js\">\u003C\u002Fscript>\n","html",[1136],{"type":51,"tag":498,"props":1137,"children":1138},{"__ignoreMap":495},[1139,1147],{"type":51,"tag":502,"props":1140,"children":1141},{"class":504,"line":505},[1142],{"type":51,"tag":502,"props":1143,"children":1144},{"style":509},[1145],{"type":57,"value":1146},"\u003C!-- Use local copy instead of CDN -->\n",{"type":51,"tag":502,"props":1148,"children":1149},{"class":504,"line":515},[1150,1155,1161,1166,1170,1174,1179,1183,1188,1192],{"type":51,"tag":502,"props":1151,"children":1152},{"style":531},[1153],{"type":57,"value":1154},"\u003C",{"type":51,"tag":502,"props":1156,"children":1158},{"style":1157},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1159],{"type":57,"value":1160},"script",{"type":51,"tag":502,"props":1162,"children":1163},{"style":519},[1164],{"type":57,"value":1165}," src",{"type":51,"tag":502,"props":1167,"children":1168},{"style":531},[1169],{"type":57,"value":534},{"type":51,"tag":502,"props":1171,"children":1172},{"style":531},[1173],{"type":57,"value":1119},{"type":51,"tag":502,"props":1175,"children":1176},{"style":590},[1177],{"type":57,"value":1178},"js\u002Fzoom-video-sdk.min.js",{"type":51,"tag":502,"props":1180,"children":1181},{"style":531},[1182],{"type":57,"value":1119},{"type":51,"tag":502,"props":1184,"children":1185},{"style":531},[1186],{"type":57,"value":1187},">\u003C\u002F",{"type":51,"tag":502,"props":1189,"children":1190},{"style":1157},[1191],{"type":57,"value":1160},{"type":51,"tag":502,"props":1193,"children":1194},{"style":531},[1195],{"type":57,"value":1196},">\n",{"type":51,"tag":490,"props":1198,"children":1200},{"className":492,"code":1199,"language":494,"meta":495,"style":495},"\u002F\u002F CDN exports as WebVideoSDK, NOT ZoomVideo\nconst ZoomVideo = WebVideoSDK.default;\n",[1201],{"type":51,"tag":498,"props":1202,"children":1203},{"__ignoreMap":495},[1204,1212],{"type":51,"tag":502,"props":1205,"children":1206},{"class":504,"line":505},[1207],{"type":51,"tag":502,"props":1208,"children":1209},{"style":509},[1210],{"type":57,"value":1211},"\u002F\u002F CDN exports as WebVideoSDK, NOT ZoomVideo\n",{"type":51,"tag":502,"props":1213,"children":1214},{"class":504,"line":515},[1215,1219,1223,1227,1232,1236,1241],{"type":51,"tag":502,"props":1216,"children":1217},{"style":519},[1218],{"type":57,"value":522},{"type":51,"tag":502,"props":1220,"children":1221},{"style":525},[1222],{"type":57,"value":1030},{"type":51,"tag":502,"props":1224,"children":1225},{"style":531},[1226],{"type":57,"value":534},{"type":51,"tag":502,"props":1228,"children":1229},{"style":525},[1230],{"type":57,"value":1231}," WebVideoSDK",{"type":51,"tag":502,"props":1233,"children":1234},{"style":531},[1235],{"type":57,"value":85},{"type":51,"tag":502,"props":1237,"children":1238},{"style":525},[1239],{"type":57,"value":1240},"default",{"type":51,"tag":502,"props":1242,"children":1243},{"style":531},[1244],{"type":57,"value":559},{"type":51,"tag":128,"props":1246,"children":1248},{"id":1247},"quick-start",[1249],{"type":57,"value":1250},"Quick Start",{"type":51,"tag":490,"props":1252,"children":1254},{"className":492,"code":1253,"language":494,"meta":495,"style":495},"import ZoomVideo from '@zoom\u002Fvideosdk';\n\n\u002F\u002F 1. Create client (singleton - returns same instance)\nconst client = ZoomVideo.createClient();\n\n\u002F\u002F 2. Initialize SDK\nawait client.init('en-US', 'Global', { patchJsMedia: true });\n\n\u002F\u002F 3. Join session\nawait client.join(topic, signature, userName, password);\n\n\u002F\u002F 4. CRITICAL: Get stream AFTER join\nconst stream = client.getMediaStream();\n\n\u002F\u002F 5. Start media\nawait stream.startVideo();\nawait stream.startAudio();\n\n\u002F\u002F 6. Attach video to DOM\nconst videoElement = await stream.attachVideo(userId, VideoQuality.Video_360P);\ndocument.getElementById('video-container').appendChild(videoElement);\n",[1255],{"type":51,"tag":498,"props":1256,"children":1257},{"__ignoreMap":495},[1258,1289,1296,1304,1341,1348,1356,1451,1458,1466,1522,1530,1539,1577,1585,1594,1624,1653,1661,1670,1732],{"type":51,"tag":502,"props":1259,"children":1260},{"class":504,"line":505},[1261,1265,1269,1273,1277,1281,1285],{"type":51,"tag":502,"props":1262,"children":1263},{"style":1022},[1264],{"type":57,"value":1025},{"type":51,"tag":502,"props":1266,"children":1267},{"style":525},[1268],{"type":57,"value":1030},{"type":51,"tag":502,"props":1270,"children":1271},{"style":1022},[1272],{"type":57,"value":1035},{"type":51,"tag":502,"props":1274,"children":1275},{"style":531},[1276],{"type":57,"value":1040},{"type":51,"tag":502,"props":1278,"children":1279},{"style":590},[1280],{"type":57,"value":1045},{"type":51,"tag":502,"props":1282,"children":1283},{"style":531},[1284],{"type":57,"value":587},{"type":51,"tag":502,"props":1286,"children":1287},{"style":531},[1288],{"type":57,"value":559},{"type":51,"tag":502,"props":1290,"children":1291},{"class":504,"line":515},[1292],{"type":51,"tag":502,"props":1293,"children":1294},{"emptyLinePlaceholder":735},[1295],{"type":57,"value":738},{"type":51,"tag":502,"props":1297,"children":1298},{"class":504,"line":562},[1299],{"type":51,"tag":502,"props":1300,"children":1301},{"style":509},[1302],{"type":57,"value":1303},"\u002F\u002F 1. Create client (singleton - returns same instance)\n",{"type":51,"tag":502,"props":1305,"children":1306},{"class":504,"line":623},[1307,1311,1316,1320,1324,1328,1333,1337],{"type":51,"tag":502,"props":1308,"children":1309},{"style":519},[1310],{"type":57,"value":522},{"type":51,"tag":502,"props":1312,"children":1313},{"style":525},[1314],{"type":57,"value":1315}," client ",{"type":51,"tag":502,"props":1317,"children":1318},{"style":531},[1319],{"type":57,"value":534},{"type":51,"tag":502,"props":1321,"children":1322},{"style":525},[1323],{"type":57,"value":539},{"type":51,"tag":502,"props":1325,"children":1326},{"style":531},[1327],{"type":57,"value":85},{"type":51,"tag":502,"props":1329,"children":1330},{"style":546},[1331],{"type":57,"value":1332},"createClient",{"type":51,"tag":502,"props":1334,"children":1335},{"style":525},[1336],{"type":57,"value":554},{"type":51,"tag":502,"props":1338,"children":1339},{"style":531},[1340],{"type":57,"value":559},{"type":51,"tag":502,"props":1342,"children":1343},{"class":504,"line":677},[1344],{"type":51,"tag":502,"props":1345,"children":1346},{"emptyLinePlaceholder":735},[1347],{"type":57,"value":738},{"type":51,"tag":502,"props":1349,"children":1350},{"class":504,"line":731},[1351],{"type":51,"tag":502,"props":1352,"children":1353},{"style":509},[1354],{"type":57,"value":1355},"\u002F\u002F 2. Initialize SDK\n",{"type":51,"tag":502,"props":1357,"children":1358},{"class":504,"line":741},[1359,1364,1369,1373,1378,1382,1386,1391,1395,1399,1403,1408,1412,1416,1421,1426,1431,1437,1442,1447],{"type":51,"tag":502,"props":1360,"children":1361},{"style":1022},[1362],{"type":57,"value":1363},"await",{"type":51,"tag":502,"props":1365,"children":1366},{"style":525},[1367],{"type":57,"value":1368}," client",{"type":51,"tag":502,"props":1370,"children":1371},{"style":531},[1372],{"type":57,"value":85},{"type":51,"tag":502,"props":1374,"children":1375},{"style":546},[1376],{"type":57,"value":1377},"init",{"type":51,"tag":502,"props":1379,"children":1380},{"style":525},[1381],{"type":57,"value":582},{"type":51,"tag":502,"props":1383,"children":1384},{"style":531},[1385],{"type":57,"value":587},{"type":51,"tag":502,"props":1387,"children":1388},{"style":590},[1389],{"type":57,"value":1390},"en-US",{"type":51,"tag":502,"props":1392,"children":1393},{"style":531},[1394],{"type":57,"value":587},{"type":51,"tag":502,"props":1396,"children":1397},{"style":531},[1398],{"type":57,"value":602},{"type":51,"tag":502,"props":1400,"children":1401},{"style":531},[1402],{"type":57,"value":1040},{"type":51,"tag":502,"props":1404,"children":1405},{"style":590},[1406],{"type":57,"value":1407},"Global",{"type":51,"tag":502,"props":1409,"children":1410},{"style":531},[1411],{"type":57,"value":587},{"type":51,"tag":502,"props":1413,"children":1414},{"style":531},[1415],{"type":57,"value":602},{"type":51,"tag":502,"props":1417,"children":1418},{"style":531},[1419],{"type":57,"value":1420}," {",{"type":51,"tag":502,"props":1422,"children":1423},{"style":1157},[1424],{"type":57,"value":1425}," patchJsMedia",{"type":51,"tag":502,"props":1427,"children":1428},{"style":531},[1429],{"type":57,"value":1430},":",{"type":51,"tag":502,"props":1432,"children":1434},{"style":1433},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[1435],{"type":57,"value":1436}," true",{"type":51,"tag":502,"props":1438,"children":1439},{"style":531},[1440],{"type":57,"value":1441}," }",{"type":51,"tag":502,"props":1443,"children":1444},{"style":525},[1445],{"type":57,"value":1446},")",{"type":51,"tag":502,"props":1448,"children":1449},{"style":531},[1450],{"type":57,"value":559},{"type":51,"tag":502,"props":1452,"children":1453},{"class":504,"line":750},[1454],{"type":51,"tag":502,"props":1455,"children":1456},{"emptyLinePlaceholder":735},[1457],{"type":57,"value":738},{"type":51,"tag":502,"props":1459,"children":1460},{"class":504,"line":788},[1461],{"type":51,"tag":502,"props":1462,"children":1463},{"style":509},[1464],{"type":57,"value":1465},"\u002F\u002F 3. Join session\n",{"type":51,"tag":502,"props":1467,"children":1468},{"class":504,"line":843},[1469,1473,1477,1481,1486,1491,1495,1500,1504,1509,1513,1518],{"type":51,"tag":502,"props":1470,"children":1471},{"style":1022},[1472],{"type":57,"value":1363},{"type":51,"tag":502,"props":1474,"children":1475},{"style":525},[1476],{"type":57,"value":1368},{"type":51,"tag":502,"props":1478,"children":1479},{"style":531},[1480],{"type":57,"value":85},{"type":51,"tag":502,"props":1482,"children":1483},{"style":546},[1484],{"type":57,"value":1485},"join",{"type":51,"tag":502,"props":1487,"children":1488},{"style":525},[1489],{"type":57,"value":1490},"(topic",{"type":51,"tag":502,"props":1492,"children":1493},{"style":531},[1494],{"type":57,"value":602},{"type":51,"tag":502,"props":1496,"children":1497},{"style":525},[1498],{"type":57,"value":1499}," signature",{"type":51,"tag":502,"props":1501,"children":1502},{"style":531},[1503],{"type":57,"value":602},{"type":51,"tag":502,"props":1505,"children":1506},{"style":525},[1507],{"type":57,"value":1508}," userName",{"type":51,"tag":502,"props":1510,"children":1511},{"style":531},[1512],{"type":57,"value":602},{"type":51,"tag":502,"props":1514,"children":1515},{"style":525},[1516],{"type":57,"value":1517}," password)",{"type":51,"tag":502,"props":1519,"children":1520},{"style":531},[1521],{"type":57,"value":559},{"type":51,"tag":502,"props":1523,"children":1525},{"class":504,"line":1524},11,[1526],{"type":51,"tag":502,"props":1527,"children":1528},{"emptyLinePlaceholder":735},[1529],{"type":57,"value":738},{"type":51,"tag":502,"props":1531,"children":1533},{"class":504,"line":1532},12,[1534],{"type":51,"tag":502,"props":1535,"children":1536},{"style":509},[1537],{"type":57,"value":1538},"\u002F\u002F 4. CRITICAL: Get stream AFTER join\n",{"type":51,"tag":502,"props":1540,"children":1542},{"class":504,"line":1541},13,[1543,1547,1552,1556,1560,1564,1569,1573],{"type":51,"tag":502,"props":1544,"children":1545},{"style":519},[1546],{"type":57,"value":522},{"type":51,"tag":502,"props":1548,"children":1549},{"style":525},[1550],{"type":57,"value":1551}," stream ",{"type":51,"tag":502,"props":1553,"children":1554},{"style":531},[1555],{"type":57,"value":534},{"type":51,"tag":502,"props":1557,"children":1558},{"style":525},[1559],{"type":57,"value":1368},{"type":51,"tag":502,"props":1561,"children":1562},{"style":531},[1563],{"type":57,"value":85},{"type":51,"tag":502,"props":1565,"children":1566},{"style":546},[1567],{"type":57,"value":1568},"getMediaStream",{"type":51,"tag":502,"props":1570,"children":1571},{"style":525},[1572],{"type":57,"value":554},{"type":51,"tag":502,"props":1574,"children":1575},{"style":531},[1576],{"type":57,"value":559},{"type":51,"tag":502,"props":1578,"children":1580},{"class":504,"line":1579},14,[1581],{"type":51,"tag":502,"props":1582,"children":1583},{"emptyLinePlaceholder":735},[1584],{"type":57,"value":738},{"type":51,"tag":502,"props":1586,"children":1588},{"class":504,"line":1587},15,[1589],{"type":51,"tag":502,"props":1590,"children":1591},{"style":509},[1592],{"type":57,"value":1593},"\u002F\u002F 5. Start media\n",{"type":51,"tag":502,"props":1595,"children":1597},{"class":504,"line":1596},16,[1598,1602,1607,1611,1616,1620],{"type":51,"tag":502,"props":1599,"children":1600},{"style":1022},[1601],{"type":57,"value":1363},{"type":51,"tag":502,"props":1603,"children":1604},{"style":525},[1605],{"type":57,"value":1606}," stream",{"type":51,"tag":502,"props":1608,"children":1609},{"style":531},[1610],{"type":57,"value":85},{"type":51,"tag":502,"props":1612,"children":1613},{"style":546},[1614],{"type":57,"value":1615},"startVideo",{"type":51,"tag":502,"props":1617,"children":1618},{"style":525},[1619],{"type":57,"value":554},{"type":51,"tag":502,"props":1621,"children":1622},{"style":531},[1623],{"type":57,"value":559},{"type":51,"tag":502,"props":1625,"children":1627},{"class":504,"line":1626},17,[1628,1632,1636,1640,1645,1649],{"type":51,"tag":502,"props":1629,"children":1630},{"style":1022},[1631],{"type":57,"value":1363},{"type":51,"tag":502,"props":1633,"children":1634},{"style":525},[1635],{"type":57,"value":1606},{"type":51,"tag":502,"props":1637,"children":1638},{"style":531},[1639],{"type":57,"value":85},{"type":51,"tag":502,"props":1641,"children":1642},{"style":546},[1643],{"type":57,"value":1644},"startAudio",{"type":51,"tag":502,"props":1646,"children":1647},{"style":525},[1648],{"type":57,"value":554},{"type":51,"tag":502,"props":1650,"children":1651},{"style":531},[1652],{"type":57,"value":559},{"type":51,"tag":502,"props":1654,"children":1656},{"class":504,"line":1655},18,[1657],{"type":51,"tag":502,"props":1658,"children":1659},{"emptyLinePlaceholder":735},[1660],{"type":57,"value":738},{"type":51,"tag":502,"props":1662,"children":1664},{"class":504,"line":1663},19,[1665],{"type":51,"tag":502,"props":1666,"children":1667},{"style":509},[1668],{"type":57,"value":1669},"\u002F\u002F 6. Attach video to DOM\n",{"type":51,"tag":502,"props":1671,"children":1673},{"class":504,"line":1672},20,[1674,1678,1683,1687,1692,1696,1700,1705,1710,1714,1719,1723,1728],{"type":51,"tag":502,"props":1675,"children":1676},{"style":519},[1677],{"type":57,"value":522},{"type":51,"tag":502,"props":1679,"children":1680},{"style":525},[1681],{"type":57,"value":1682}," videoElement ",{"type":51,"tag":502,"props":1684,"children":1685},{"style":531},[1686],{"type":57,"value":534},{"type":51,"tag":502,"props":1688,"children":1689},{"style":1022},[1690],{"type":57,"value":1691}," await",{"type":51,"tag":502,"props":1693,"children":1694},{"style":525},[1695],{"type":57,"value":1606},{"type":51,"tag":502,"props":1697,"children":1698},{"style":531},[1699],{"type":57,"value":85},{"type":51,"tag":502,"props":1701,"children":1702},{"style":546},[1703],{"type":57,"value":1704},"attachVideo",{"type":51,"tag":502,"props":1706,"children":1707},{"style":525},[1708],{"type":57,"value":1709},"(userId",{"type":51,"tag":502,"props":1711,"children":1712},{"style":531},[1713],{"type":57,"value":602},{"type":51,"tag":502,"props":1715,"children":1716},{"style":525},[1717],{"type":57,"value":1718}," VideoQuality",{"type":51,"tag":502,"props":1720,"children":1721},{"style":531},[1722],{"type":57,"value":85},{"type":51,"tag":502,"props":1724,"children":1725},{"style":525},[1726],{"type":57,"value":1727},"Video_360P)",{"type":51,"tag":502,"props":1729,"children":1730},{"style":531},[1731],{"type":57,"value":559},{"type":51,"tag":502,"props":1733,"children":1735},{"class":504,"line":1734},21,[1736,1741,1745,1750,1754,1758,1763,1767,1771,1775,1780,1785],{"type":51,"tag":502,"props":1737,"children":1738},{"style":525},[1739],{"type":57,"value":1740},"document",{"type":51,"tag":502,"props":1742,"children":1743},{"style":531},[1744],{"type":57,"value":85},{"type":51,"tag":502,"props":1746,"children":1747},{"style":546},[1748],{"type":57,"value":1749},"getElementById",{"type":51,"tag":502,"props":1751,"children":1752},{"style":525},[1753],{"type":57,"value":582},{"type":51,"tag":502,"props":1755,"children":1756},{"style":531},[1757],{"type":57,"value":587},{"type":51,"tag":502,"props":1759,"children":1760},{"style":590},[1761],{"type":57,"value":1762},"video-container",{"type":51,"tag":502,"props":1764,"children":1765},{"style":531},[1766],{"type":57,"value":587},{"type":51,"tag":502,"props":1768,"children":1769},{"style":525},[1770],{"type":57,"value":1446},{"type":51,"tag":502,"props":1772,"children":1773},{"style":531},[1774],{"type":57,"value":85},{"type":51,"tag":502,"props":1776,"children":1777},{"style":546},[1778],{"type":57,"value":1779},"appendChild",{"type":51,"tag":502,"props":1781,"children":1782},{"style":525},[1783],{"type":57,"value":1784},"(videoElement)",{"type":51,"tag":502,"props":1786,"children":1787},{"style":531},[1788],{"type":57,"value":559},{"type":51,"tag":128,"props":1790,"children":1792},{"id":1791},"sdk-lifecycle-critical-order",[1793],{"type":57,"value":1794},"SDK Lifecycle (CRITICAL ORDER)",{"type":51,"tag":60,"props":1796,"children":1797},{},[1798,1800,1805],{"type":57,"value":1799},"The SDK has a strict lifecycle. Violating it causes ",{"type":51,"tag":71,"props":1801,"children":1802},{},[1803],{"type":57,"value":1804},"silent failures",{"type":57,"value":85},{"type":51,"tag":490,"props":1807,"children":1811},{"className":1808,"code":1810,"language":57},[1809],"language-text","1. Create client:     client = ZoomVideo.createClient()\n2. Initialize:        await client.init('en-US', 'Global', options)\n3. Join session:      await client.join(topic, signature, userName, password)\n4. Get stream:        stream = client.getMediaStream()  ← ONLY AFTER JOIN\n5. Start media:       await stream.startVideo() \u002F await stream.startAudio()\n",[1812],{"type":51,"tag":498,"props":1813,"children":1814},{"__ignoreMap":495},[1815],{"type":57,"value":1810},{"type":51,"tag":60,"props":1817,"children":1818},{},[1819],{"type":51,"tag":71,"props":1820,"children":1821},{},[1822],{"type":57,"value":1823},"Common Mistake:",{"type":51,"tag":490,"props":1825,"children":1827},{"className":492,"code":1826,"language":494,"meta":495,"style":495},"\u002F\u002F WRONG: Getting stream before joining\nconst stream = client.getMediaStream();  \u002F\u002F Returns undefined!\nawait client.join(...);\n\n\u002F\u002F CORRECT: Get stream after joining\nawait client.join(...);\nconst stream = client.getMediaStream();  \u002F\u002F Works!\n",[1828],{"type":51,"tag":498,"props":1829,"children":1830},{"__ignoreMap":495},[1831,1839,1880,1916,1923,1931,1966],{"type":51,"tag":502,"props":1832,"children":1833},{"class":504,"line":505},[1834],{"type":51,"tag":502,"props":1835,"children":1836},{"style":509},[1837],{"type":57,"value":1838},"\u002F\u002F WRONG: Getting stream before joining\n",{"type":51,"tag":502,"props":1840,"children":1841},{"class":504,"line":515},[1842,1846,1850,1854,1858,1862,1866,1870,1875],{"type":51,"tag":502,"props":1843,"children":1844},{"style":519},[1845],{"type":57,"value":522},{"type":51,"tag":502,"props":1847,"children":1848},{"style":525},[1849],{"type":57,"value":1551},{"type":51,"tag":502,"props":1851,"children":1852},{"style":531},[1853],{"type":57,"value":534},{"type":51,"tag":502,"props":1855,"children":1856},{"style":525},[1857],{"type":57,"value":1368},{"type":51,"tag":502,"props":1859,"children":1860},{"style":531},[1861],{"type":57,"value":85},{"type":51,"tag":502,"props":1863,"children":1864},{"style":546},[1865],{"type":57,"value":1568},{"type":51,"tag":502,"props":1867,"children":1868},{"style":525},[1869],{"type":57,"value":554},{"type":51,"tag":502,"props":1871,"children":1872},{"style":531},[1873],{"type":57,"value":1874},";",{"type":51,"tag":502,"props":1876,"children":1877},{"style":509},[1878],{"type":57,"value":1879},"  \u002F\u002F Returns undefined!\n",{"type":51,"tag":502,"props":1881,"children":1882},{"class":504,"line":562},[1883,1887,1891,1895,1899,1903,1908,1912],{"type":51,"tag":502,"props":1884,"children":1885},{"style":1022},[1886],{"type":57,"value":1363},{"type":51,"tag":502,"props":1888,"children":1889},{"style":525},[1890],{"type":57,"value":1368},{"type":51,"tag":502,"props":1892,"children":1893},{"style":531},[1894],{"type":57,"value":85},{"type":51,"tag":502,"props":1896,"children":1897},{"style":546},[1898],{"type":57,"value":1485},{"type":51,"tag":502,"props":1900,"children":1901},{"style":525},[1902],{"type":57,"value":582},{"type":51,"tag":502,"props":1904,"children":1905},{"style":531},[1906],{"type":57,"value":1907},"...",{"type":51,"tag":502,"props":1909,"children":1910},{"style":525},[1911],{"type":57,"value":1446},{"type":51,"tag":502,"props":1913,"children":1914},{"style":531},[1915],{"type":57,"value":559},{"type":51,"tag":502,"props":1917,"children":1918},{"class":504,"line":623},[1919],{"type":51,"tag":502,"props":1920,"children":1921},{"emptyLinePlaceholder":735},[1922],{"type":57,"value":738},{"type":51,"tag":502,"props":1924,"children":1925},{"class":504,"line":677},[1926],{"type":51,"tag":502,"props":1927,"children":1928},{"style":509},[1929],{"type":57,"value":1930},"\u002F\u002F CORRECT: Get stream after joining\n",{"type":51,"tag":502,"props":1932,"children":1933},{"class":504,"line":731},[1934,1938,1942,1946,1950,1954,1958,1962],{"type":51,"tag":502,"props":1935,"children":1936},{"style":1022},[1937],{"type":57,"value":1363},{"type":51,"tag":502,"props":1939,"children":1940},{"style":525},[1941],{"type":57,"value":1368},{"type":51,"tag":502,"props":1943,"children":1944},{"style":531},[1945],{"type":57,"value":85},{"type":51,"tag":502,"props":1947,"children":1948},{"style":546},[1949],{"type":57,"value":1485},{"type":51,"tag":502,"props":1951,"children":1952},{"style":525},[1953],{"type":57,"value":582},{"type":51,"tag":502,"props":1955,"children":1956},{"style":531},[1957],{"type":57,"value":1907},{"type":51,"tag":502,"props":1959,"children":1960},{"style":525},[1961],{"type":57,"value":1446},{"type":51,"tag":502,"props":1963,"children":1964},{"style":531},[1965],{"type":57,"value":559},{"type":51,"tag":502,"props":1967,"children":1968},{"class":504,"line":741},[1969,1973,1977,1981,1985,1989,1993,1997,2001],{"type":51,"tag":502,"props":1970,"children":1971},{"style":519},[1972],{"type":57,"value":522},{"type":51,"tag":502,"props":1974,"children":1975},{"style":525},[1976],{"type":57,"value":1551},{"type":51,"tag":502,"props":1978,"children":1979},{"style":531},[1980],{"type":57,"value":534},{"type":51,"tag":502,"props":1982,"children":1983},{"style":525},[1984],{"type":57,"value":1368},{"type":51,"tag":502,"props":1986,"children":1987},{"style":531},[1988],{"type":57,"value":85},{"type":51,"tag":502,"props":1990,"children":1991},{"style":546},[1992],{"type":57,"value":1568},{"type":51,"tag":502,"props":1994,"children":1995},{"style":525},[1996],{"type":57,"value":554},{"type":51,"tag":502,"props":1998,"children":1999},{"style":531},[2000],{"type":57,"value":1874},{"type":51,"tag":502,"props":2002,"children":2003},{"style":509},[2004],{"type":57,"value":2005},"  \u002F\u002F Works!\n",{"type":51,"tag":128,"props":2007,"children":2009},{"id":2008},"critical-gotchas-and-best-practices",[2010],{"type":57,"value":2011},"Critical Gotchas and Best Practices",{"type":51,"tag":437,"props":2013,"children":2015},{"id":2014},"getmediastream-only-works-after-join",[2016],{"type":57,"value":2017},"getMediaStream() ONLY Works After join()",{"type":51,"tag":60,"props":2019,"children":2020},{},[2021],{"type":57,"value":2022},"The #1 issue that causes video\u002Faudio to fail:",{"type":51,"tag":490,"props":2024,"children":2026},{"className":492,"code":2025,"language":494,"meta":495,"style":495},"\u002F\u002F WRONG\nconst stream = client.getMediaStream();  \u002F\u002F undefined!\nawait client.join(...);\n\n\u002F\u002F CORRECT\nawait client.join(...);\nconst stream = client.getMediaStream();  \u002F\u002F Works\n",[2027],{"type":51,"tag":498,"props":2028,"children":2029},{"__ignoreMap":495},[2030,2038,2078,2113,2120,2128,2163],{"type":51,"tag":502,"props":2031,"children":2032},{"class":504,"line":505},[2033],{"type":51,"tag":502,"props":2034,"children":2035},{"style":509},[2036],{"type":57,"value":2037},"\u002F\u002F WRONG\n",{"type":51,"tag":502,"props":2039,"children":2040},{"class":504,"line":515},[2041,2045,2049,2053,2057,2061,2065,2069,2073],{"type":51,"tag":502,"props":2042,"children":2043},{"style":519},[2044],{"type":57,"value":522},{"type":51,"tag":502,"props":2046,"children":2047},{"style":525},[2048],{"type":57,"value":1551},{"type":51,"tag":502,"props":2050,"children":2051},{"style":531},[2052],{"type":57,"value":534},{"type":51,"tag":502,"props":2054,"children":2055},{"style":525},[2056],{"type":57,"value":1368},{"type":51,"tag":502,"props":2058,"children":2059},{"style":531},[2060],{"type":57,"value":85},{"type":51,"tag":502,"props":2062,"children":2063},{"style":546},[2064],{"type":57,"value":1568},{"type":51,"tag":502,"props":2066,"children":2067},{"style":525},[2068],{"type":57,"value":554},{"type":51,"tag":502,"props":2070,"children":2071},{"style":531},[2072],{"type":57,"value":1874},{"type":51,"tag":502,"props":2074,"children":2075},{"style":509},[2076],{"type":57,"value":2077},"  \u002F\u002F undefined!\n",{"type":51,"tag":502,"props":2079,"children":2080},{"class":504,"line":562},[2081,2085,2089,2093,2097,2101,2105,2109],{"type":51,"tag":502,"props":2082,"children":2083},{"style":1022},[2084],{"type":57,"value":1363},{"type":51,"tag":502,"props":2086,"children":2087},{"style":525},[2088],{"type":57,"value":1368},{"type":51,"tag":502,"props":2090,"children":2091},{"style":531},[2092],{"type":57,"value":85},{"type":51,"tag":502,"props":2094,"children":2095},{"style":546},[2096],{"type":57,"value":1485},{"type":51,"tag":502,"props":2098,"children":2099},{"style":525},[2100],{"type":57,"value":582},{"type":51,"tag":502,"props":2102,"children":2103},{"style":531},[2104],{"type":57,"value":1907},{"type":51,"tag":502,"props":2106,"children":2107},{"style":525},[2108],{"type":57,"value":1446},{"type":51,"tag":502,"props":2110,"children":2111},{"style":531},[2112],{"type":57,"value":559},{"type":51,"tag":502,"props":2114,"children":2115},{"class":504,"line":623},[2116],{"type":51,"tag":502,"props":2117,"children":2118},{"emptyLinePlaceholder":735},[2119],{"type":57,"value":738},{"type":51,"tag":502,"props":2121,"children":2122},{"class":504,"line":677},[2123],{"type":51,"tag":502,"props":2124,"children":2125},{"style":509},[2126],{"type":57,"value":2127},"\u002F\u002F CORRECT\n",{"type":51,"tag":502,"props":2129,"children":2130},{"class":504,"line":731},[2131,2135,2139,2143,2147,2151,2155,2159],{"type":51,"tag":502,"props":2132,"children":2133},{"style":1022},[2134],{"type":57,"value":1363},{"type":51,"tag":502,"props":2136,"children":2137},{"style":525},[2138],{"type":57,"value":1368},{"type":51,"tag":502,"props":2140,"children":2141},{"style":531},[2142],{"type":57,"value":85},{"type":51,"tag":502,"props":2144,"children":2145},{"style":546},[2146],{"type":57,"value":1485},{"type":51,"tag":502,"props":2148,"children":2149},{"style":525},[2150],{"type":57,"value":582},{"type":51,"tag":502,"props":2152,"children":2153},{"style":531},[2154],{"type":57,"value":1907},{"type":51,"tag":502,"props":2156,"children":2157},{"style":525},[2158],{"type":57,"value":1446},{"type":51,"tag":502,"props":2160,"children":2161},{"style":531},[2162],{"type":57,"value":559},{"type":51,"tag":502,"props":2164,"children":2165},{"class":504,"line":741},[2166,2170,2174,2178,2182,2186,2190,2194,2198],{"type":51,"tag":502,"props":2167,"children":2168},{"style":519},[2169],{"type":57,"value":522},{"type":51,"tag":502,"props":2171,"children":2172},{"style":525},[2173],{"type":57,"value":1551},{"type":51,"tag":502,"props":2175,"children":2176},{"style":531},[2177],{"type":57,"value":534},{"type":51,"tag":502,"props":2179,"children":2180},{"style":525},[2181],{"type":57,"value":1368},{"type":51,"tag":502,"props":2183,"children":2184},{"style":531},[2185],{"type":57,"value":85},{"type":51,"tag":502,"props":2187,"children":2188},{"style":546},[2189],{"type":57,"value":1568},{"type":51,"tag":502,"props":2191,"children":2192},{"style":525},[2193],{"type":57,"value":554},{"type":51,"tag":502,"props":2195,"children":2196},{"style":531},[2197],{"type":57,"value":1874},{"type":51,"tag":502,"props":2199,"children":2200},{"style":509},[2201],{"type":57,"value":2202},"  \u002F\u002F Works\n",{"type":51,"tag":437,"props":2204,"children":2206},{"id":2205},"use-attachvideo-not-rendervideo",[2207],{"type":57,"value":2208},"Use attachVideo() NOT renderVideo()",{"type":51,"tag":60,"props":2210,"children":2211},{},[2212,2218,2220,2225,2227,2233],{"type":51,"tag":498,"props":2213,"children":2215},{"className":2214},[],[2216],{"type":57,"value":2217},"renderVideo()",{"type":57,"value":2219}," is ",{"type":51,"tag":71,"props":2221,"children":2222},{},[2223],{"type":57,"value":2224},"deprecated",{"type":57,"value":2226},". Use ",{"type":51,"tag":498,"props":2228,"children":2230},{"className":2229},[],[2231],{"type":57,"value":2232},"attachVideo()",{"type":57,"value":2234}," which returns a VideoPlayer element:",{"type":51,"tag":490,"props":2236,"children":2238},{"className":492,"code":2237,"language":494,"meta":495,"style":495},"import { VideoQuality } from '@zoom\u002Fvideosdk';\n\n\u002F\u002F CORRECT: attachVideo returns element to append\nconst videoElement = await stream.attachVideo(userId, VideoQuality.Video_360P);\ndocument.getElementById('video-container').appendChild(videoElement);\n\n\u002F\u002F WRONG: renderVideo is deprecated\nawait stream.renderVideo(canvas, userId, ...);  \u002F\u002F Don't use!\n",[2239],{"type":51,"tag":498,"props":2240,"children":2241},{"__ignoreMap":495},[2242,2282,2289,2297,2352,2403,2410,2418],{"type":51,"tag":502,"props":2243,"children":2244},{"class":504,"line":505},[2245,2249,2253,2257,2261,2266,2270,2274,2278],{"type":51,"tag":502,"props":2246,"children":2247},{"style":1022},[2248],{"type":57,"value":1025},{"type":51,"tag":502,"props":2250,"children":2251},{"style":531},[2252],{"type":57,"value":1420},{"type":51,"tag":502,"props":2254,"children":2255},{"style":525},[2256],{"type":57,"value":1718},{"type":51,"tag":502,"props":2258,"children":2259},{"style":531},[2260],{"type":57,"value":1441},{"type":51,"tag":502,"props":2262,"children":2263},{"style":1022},[2264],{"type":57,"value":2265}," from",{"type":51,"tag":502,"props":2267,"children":2268},{"style":531},[2269],{"type":57,"value":1040},{"type":51,"tag":502,"props":2271,"children":2272},{"style":590},[2273],{"type":57,"value":1045},{"type":51,"tag":502,"props":2275,"children":2276},{"style":531},[2277],{"type":57,"value":587},{"type":51,"tag":502,"props":2279,"children":2280},{"style":531},[2281],{"type":57,"value":559},{"type":51,"tag":502,"props":2283,"children":2284},{"class":504,"line":515},[2285],{"type":51,"tag":502,"props":2286,"children":2287},{"emptyLinePlaceholder":735},[2288],{"type":57,"value":738},{"type":51,"tag":502,"props":2290,"children":2291},{"class":504,"line":562},[2292],{"type":51,"tag":502,"props":2293,"children":2294},{"style":509},[2295],{"type":57,"value":2296},"\u002F\u002F CORRECT: attachVideo returns element to append\n",{"type":51,"tag":502,"props":2298,"children":2299},{"class":504,"line":623},[2300,2304,2308,2312,2316,2320,2324,2328,2332,2336,2340,2344,2348],{"type":51,"tag":502,"props":2301,"children":2302},{"style":519},[2303],{"type":57,"value":522},{"type":51,"tag":502,"props":2305,"children":2306},{"style":525},[2307],{"type":57,"value":1682},{"type":51,"tag":502,"props":2309,"children":2310},{"style":531},[2311],{"type":57,"value":534},{"type":51,"tag":502,"props":2313,"children":2314},{"style":1022},[2315],{"type":57,"value":1691},{"type":51,"tag":502,"props":2317,"children":2318},{"style":525},[2319],{"type":57,"value":1606},{"type":51,"tag":502,"props":2321,"children":2322},{"style":531},[2323],{"type":57,"value":85},{"type":51,"tag":502,"props":2325,"children":2326},{"style":546},[2327],{"type":57,"value":1704},{"type":51,"tag":502,"props":2329,"children":2330},{"style":525},[2331],{"type":57,"value":1709},{"type":51,"tag":502,"props":2333,"children":2334},{"style":531},[2335],{"type":57,"value":602},{"type":51,"tag":502,"props":2337,"children":2338},{"style":525},[2339],{"type":57,"value":1718},{"type":51,"tag":502,"props":2341,"children":2342},{"style":531},[2343],{"type":57,"value":85},{"type":51,"tag":502,"props":2345,"children":2346},{"style":525},[2347],{"type":57,"value":1727},{"type":51,"tag":502,"props":2349,"children":2350},{"style":531},[2351],{"type":57,"value":559},{"type":51,"tag":502,"props":2353,"children":2354},{"class":504,"line":677},[2355,2359,2363,2367,2371,2375,2379,2383,2387,2391,2395,2399],{"type":51,"tag":502,"props":2356,"children":2357},{"style":525},[2358],{"type":57,"value":1740},{"type":51,"tag":502,"props":2360,"children":2361},{"style":531},[2362],{"type":57,"value":85},{"type":51,"tag":502,"props":2364,"children":2365},{"style":546},[2366],{"type":57,"value":1749},{"type":51,"tag":502,"props":2368,"children":2369},{"style":525},[2370],{"type":57,"value":582},{"type":51,"tag":502,"props":2372,"children":2373},{"style":531},[2374],{"type":57,"value":587},{"type":51,"tag":502,"props":2376,"children":2377},{"style":590},[2378],{"type":57,"value":1762},{"type":51,"tag":502,"props":2380,"children":2381},{"style":531},[2382],{"type":57,"value":587},{"type":51,"tag":502,"props":2384,"children":2385},{"style":525},[2386],{"type":57,"value":1446},{"type":51,"tag":502,"props":2388,"children":2389},{"style":531},[2390],{"type":57,"value":85},{"type":51,"tag":502,"props":2392,"children":2393},{"style":546},[2394],{"type":57,"value":1779},{"type":51,"tag":502,"props":2396,"children":2397},{"style":525},[2398],{"type":57,"value":1784},{"type":51,"tag":502,"props":2400,"children":2401},{"style":531},[2402],{"type":57,"value":559},{"type":51,"tag":502,"props":2404,"children":2405},{"class":504,"line":731},[2406],{"type":51,"tag":502,"props":2407,"children":2408},{"emptyLinePlaceholder":735},[2409],{"type":57,"value":738},{"type":51,"tag":502,"props":2411,"children":2412},{"class":504,"line":741},[2413],{"type":51,"tag":502,"props":2414,"children":2415},{"style":509},[2416],{"type":57,"value":2417},"\u002F\u002F WRONG: renderVideo is deprecated\n",{"type":51,"tag":502,"props":2419,"children":2420},{"class":504,"line":750},[2421,2425,2429,2433,2438,2443,2447,2452,2456,2461,2465,2469],{"type":51,"tag":502,"props":2422,"children":2423},{"style":1022},[2424],{"type":57,"value":1363},{"type":51,"tag":502,"props":2426,"children":2427},{"style":525},[2428],{"type":57,"value":1606},{"type":51,"tag":502,"props":2430,"children":2431},{"style":531},[2432],{"type":57,"value":85},{"type":51,"tag":502,"props":2434,"children":2435},{"style":546},[2436],{"type":57,"value":2437},"renderVideo",{"type":51,"tag":502,"props":2439,"children":2440},{"style":525},[2441],{"type":57,"value":2442},"(canvas",{"type":51,"tag":502,"props":2444,"children":2445},{"style":531},[2446],{"type":57,"value":602},{"type":51,"tag":502,"props":2448,"children":2449},{"style":525},[2450],{"type":57,"value":2451}," userId",{"type":51,"tag":502,"props":2453,"children":2454},{"style":531},[2455],{"type":57,"value":602},{"type":51,"tag":502,"props":2457,"children":2458},{"style":531},[2459],{"type":57,"value":2460}," ...",{"type":51,"tag":502,"props":2462,"children":2463},{"style":525},[2464],{"type":57,"value":1446},{"type":51,"tag":502,"props":2466,"children":2467},{"style":531},[2468],{"type":57,"value":1874},{"type":51,"tag":502,"props":2470,"children":2471},{"style":509},[2472],{"type":57,"value":2473},"  \u002F\u002F Don't use!\n",{"type":51,"tag":437,"props":2475,"children":2477},{"id":2476},"video-rendering-is-event-driven-critical",[2478],{"type":57,"value":2479},"Video Rendering is Event-Driven (CRITICAL)",{"type":51,"tag":60,"props":2481,"children":2482},{},[2483],{"type":57,"value":2484},"You MUST listen for events to properly render participant videos:",{"type":51,"tag":490,"props":2486,"children":2488},{"className":492,"code":2487,"language":494,"meta":495,"style":495},"\u002F\u002F When another participant's video state changes\nclient.on('peer-video-state-change', async (payload) => {\n  const { action, userId } = payload;\n  \n  if (action === 'Start') {\n    \u002F\u002F Participant turned on video - attach it\n    const element = await stream.attachVideo(userId, VideoQuality.Video_360P);\n    container.appendChild(element);\n  } else if (action === 'Stop') {\n    \u002F\u002F Participant turned off video - detach it\n    await stream.detachVideo(userId);\n  }\n});\n\n\u002F\u002F When participants join\u002Fleave\nclient.on('user-added', (payload) => {\n  \u002F\u002F New participant joined - check if their video is on\n  const users = client.getAllUser();\n  \u002F\u002F Render videos for users with bVideoOn === true\n});\n\nclient.on('user-removed', (payload) => {\n  \u002F\u002F Participant left - clean up their video element\n  stream.detachVideo(payload[0].userId);\n});\n",[2489],{"type":51,"tag":498,"props":2490,"children":2491},{"__ignoreMap":495},[2492,2500,2567,2610,2618,2663,2671,2738,2770,2821,2829,2866,2874,2890,2897,2905,2961,2969,3006,3014,3029,3036,3093,3102,3159],{"type":51,"tag":502,"props":2493,"children":2494},{"class":504,"line":505},[2495],{"type":51,"tag":502,"props":2496,"children":2497},{"style":509},[2498],{"type":57,"value":2499},"\u002F\u002F When another participant's video state changes\n",{"type":51,"tag":502,"props":2501,"children":2502},{"class":504,"line":515},[2503,2508,2512,2517,2521,2525,2529,2533,2537,2542,2547,2553,2557,2562],{"type":51,"tag":502,"props":2504,"children":2505},{"style":525},[2506],{"type":57,"value":2507},"client",{"type":51,"tag":502,"props":2509,"children":2510},{"style":531},[2511],{"type":57,"value":85},{"type":51,"tag":502,"props":2513,"children":2514},{"style":546},[2515],{"type":57,"value":2516},"on",{"type":51,"tag":502,"props":2518,"children":2519},{"style":525},[2520],{"type":57,"value":582},{"type":51,"tag":502,"props":2522,"children":2523},{"style":531},[2524],{"type":57,"value":587},{"type":51,"tag":502,"props":2526,"children":2527},{"style":590},[2528],{"type":57,"value":45},{"type":51,"tag":502,"props":2530,"children":2531},{"style":531},[2532],{"type":57,"value":587},{"type":51,"tag":502,"props":2534,"children":2535},{"style":531},[2536],{"type":57,"value":602},{"type":51,"tag":502,"props":2538,"children":2539},{"style":519},[2540],{"type":57,"value":2541}," async",{"type":51,"tag":502,"props":2543,"children":2544},{"style":531},[2545],{"type":57,"value":2546}," (",{"type":51,"tag":502,"props":2548,"children":2550},{"style":2549},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[2551],{"type":57,"value":2552},"payload",{"type":51,"tag":502,"props":2554,"children":2555},{"style":531},[2556],{"type":57,"value":1446},{"type":51,"tag":502,"props":2558,"children":2559},{"style":519},[2560],{"type":57,"value":2561}," =>",{"type":51,"tag":502,"props":2563,"children":2564},{"style":531},[2565],{"type":57,"value":2566}," {\n",{"type":51,"tag":502,"props":2568,"children":2569},{"class":504,"line":562},[2570,2575,2579,2584,2588,2592,2596,2601,2606],{"type":51,"tag":502,"props":2571,"children":2572},{"style":519},[2573],{"type":57,"value":2574},"  const",{"type":51,"tag":502,"props":2576,"children":2577},{"style":531},[2578],{"type":57,"value":1420},{"type":51,"tag":502,"props":2580,"children":2581},{"style":525},[2582],{"type":57,"value":2583}," action",{"type":51,"tag":502,"props":2585,"children":2586},{"style":531},[2587],{"type":57,"value":602},{"type":51,"tag":502,"props":2589,"children":2590},{"style":525},[2591],{"type":57,"value":2451},{"type":51,"tag":502,"props":2593,"children":2594},{"style":531},[2595],{"type":57,"value":1441},{"type":51,"tag":502,"props":2597,"children":2598},{"style":531},[2599],{"type":57,"value":2600}," =",{"type":51,"tag":502,"props":2602,"children":2603},{"style":525},[2604],{"type":57,"value":2605}," payload",{"type":51,"tag":502,"props":2607,"children":2608},{"style":531},[2609],{"type":57,"value":559},{"type":51,"tag":502,"props":2611,"children":2612},{"class":504,"line":623},[2613],{"type":51,"tag":502,"props":2614,"children":2615},{"style":1157},[2616],{"type":57,"value":2617},"  \n",{"type":51,"tag":502,"props":2619,"children":2620},{"class":504,"line":677},[2621,2626,2630,2635,2640,2644,2649,2653,2658],{"type":51,"tag":502,"props":2622,"children":2623},{"style":1022},[2624],{"type":57,"value":2625},"  if",{"type":51,"tag":502,"props":2627,"children":2628},{"style":1157},[2629],{"type":57,"value":2546},{"type":51,"tag":502,"props":2631,"children":2632},{"style":525},[2633],{"type":57,"value":2634},"action",{"type":51,"tag":502,"props":2636,"children":2637},{"style":531},[2638],{"type":57,"value":2639}," ===",{"type":51,"tag":502,"props":2641,"children":2642},{"style":531},[2643],{"type":57,"value":1040},{"type":51,"tag":502,"props":2645,"children":2646},{"style":590},[2647],{"type":57,"value":2648},"Start",{"type":51,"tag":502,"props":2650,"children":2651},{"style":531},[2652],{"type":57,"value":587},{"type":51,"tag":502,"props":2654,"children":2655},{"style":1157},[2656],{"type":57,"value":2657},") ",{"type":51,"tag":502,"props":2659,"children":2660},{"style":531},[2661],{"type":57,"value":2662},"{\n",{"type":51,"tag":502,"props":2664,"children":2665},{"class":504,"line":731},[2666],{"type":51,"tag":502,"props":2667,"children":2668},{"style":509},[2669],{"type":57,"value":2670},"    \u002F\u002F Participant turned on video - attach it\n",{"type":51,"tag":502,"props":2672,"children":2673},{"class":504,"line":741},[2674,2679,2684,2688,2692,2696,2700,2704,2708,2713,2717,2721,2725,2730,2734],{"type":51,"tag":502,"props":2675,"children":2676},{"style":519},[2677],{"type":57,"value":2678},"    const",{"type":51,"tag":502,"props":2680,"children":2681},{"style":525},[2682],{"type":57,"value":2683}," element",{"type":51,"tag":502,"props":2685,"children":2686},{"style":531},[2687],{"type":57,"value":2600},{"type":51,"tag":502,"props":2689,"children":2690},{"style":1022},[2691],{"type":57,"value":1691},{"type":51,"tag":502,"props":2693,"children":2694},{"style":525},[2695],{"type":57,"value":1606},{"type":51,"tag":502,"props":2697,"children":2698},{"style":531},[2699],{"type":57,"value":85},{"type":51,"tag":502,"props":2701,"children":2702},{"style":546},[2703],{"type":57,"value":1704},{"type":51,"tag":502,"props":2705,"children":2706},{"style":1157},[2707],{"type":57,"value":582},{"type":51,"tag":502,"props":2709,"children":2710},{"style":525},[2711],{"type":57,"value":2712},"userId",{"type":51,"tag":502,"props":2714,"children":2715},{"style":531},[2716],{"type":57,"value":602},{"type":51,"tag":502,"props":2718,"children":2719},{"style":525},[2720],{"type":57,"value":1718},{"type":51,"tag":502,"props":2722,"children":2723},{"style":531},[2724],{"type":57,"value":85},{"type":51,"tag":502,"props":2726,"children":2727},{"style":525},[2728],{"type":57,"value":2729},"Video_360P",{"type":51,"tag":502,"props":2731,"children":2732},{"style":1157},[2733],{"type":57,"value":1446},{"type":51,"tag":502,"props":2735,"children":2736},{"style":531},[2737],{"type":57,"value":559},{"type":51,"tag":502,"props":2739,"children":2740},{"class":504,"line":750},[2741,2746,2750,2754,2758,2762,2766],{"type":51,"tag":502,"props":2742,"children":2743},{"style":525},[2744],{"type":57,"value":2745},"    container",{"type":51,"tag":502,"props":2747,"children":2748},{"style":531},[2749],{"type":57,"value":85},{"type":51,"tag":502,"props":2751,"children":2752},{"style":546},[2753],{"type":57,"value":1779},{"type":51,"tag":502,"props":2755,"children":2756},{"style":1157},[2757],{"type":57,"value":582},{"type":51,"tag":502,"props":2759,"children":2760},{"style":525},[2761],{"type":57,"value":51},{"type":51,"tag":502,"props":2763,"children":2764},{"style":1157},[2765],{"type":57,"value":1446},{"type":51,"tag":502,"props":2767,"children":2768},{"style":531},[2769],{"type":57,"value":559},{"type":51,"tag":502,"props":2771,"children":2772},{"class":504,"line":788},[2773,2778,2783,2788,2792,2796,2800,2804,2809,2813,2817],{"type":51,"tag":502,"props":2774,"children":2775},{"style":531},[2776],{"type":57,"value":2777},"  }",{"type":51,"tag":502,"props":2779,"children":2780},{"style":1022},[2781],{"type":57,"value":2782}," else",{"type":51,"tag":502,"props":2784,"children":2785},{"style":1022},[2786],{"type":57,"value":2787}," if",{"type":51,"tag":502,"props":2789,"children":2790},{"style":1157},[2791],{"type":57,"value":2546},{"type":51,"tag":502,"props":2793,"children":2794},{"style":525},[2795],{"type":57,"value":2634},{"type":51,"tag":502,"props":2797,"children":2798},{"style":531},[2799],{"type":57,"value":2639},{"type":51,"tag":502,"props":2801,"children":2802},{"style":531},[2803],{"type":57,"value":1040},{"type":51,"tag":502,"props":2805,"children":2806},{"style":590},[2807],{"type":57,"value":2808},"Stop",{"type":51,"tag":502,"props":2810,"children":2811},{"style":531},[2812],{"type":57,"value":587},{"type":51,"tag":502,"props":2814,"children":2815},{"style":1157},[2816],{"type":57,"value":2657},{"type":51,"tag":502,"props":2818,"children":2819},{"style":531},[2820],{"type":57,"value":2662},{"type":51,"tag":502,"props":2822,"children":2823},{"class":504,"line":843},[2824],{"type":51,"tag":502,"props":2825,"children":2826},{"style":509},[2827],{"type":57,"value":2828},"    \u002F\u002F Participant turned off video - detach it\n",{"type":51,"tag":502,"props":2830,"children":2831},{"class":504,"line":1524},[2832,2837,2841,2845,2850,2854,2858,2862],{"type":51,"tag":502,"props":2833,"children":2834},{"style":1022},[2835],{"type":57,"value":2836},"    await",{"type":51,"tag":502,"props":2838,"children":2839},{"style":525},[2840],{"type":57,"value":1606},{"type":51,"tag":502,"props":2842,"children":2843},{"style":531},[2844],{"type":57,"value":85},{"type":51,"tag":502,"props":2846,"children":2847},{"style":546},[2848],{"type":57,"value":2849},"detachVideo",{"type":51,"tag":502,"props":2851,"children":2852},{"style":1157},[2853],{"type":57,"value":582},{"type":51,"tag":502,"props":2855,"children":2856},{"style":525},[2857],{"type":57,"value":2712},{"type":51,"tag":502,"props":2859,"children":2860},{"style":1157},[2861],{"type":57,"value":1446},{"type":51,"tag":502,"props":2863,"children":2864},{"style":531},[2865],{"type":57,"value":559},{"type":51,"tag":502,"props":2867,"children":2868},{"class":504,"line":1532},[2869],{"type":51,"tag":502,"props":2870,"children":2871},{"style":531},[2872],{"type":57,"value":2873},"  }\n",{"type":51,"tag":502,"props":2875,"children":2876},{"class":504,"line":1541},[2877,2882,2886],{"type":51,"tag":502,"props":2878,"children":2879},{"style":531},[2880],{"type":57,"value":2881},"}",{"type":51,"tag":502,"props":2883,"children":2884},{"style":525},[2885],{"type":57,"value":1446},{"type":51,"tag":502,"props":2887,"children":2888},{"style":531},[2889],{"type":57,"value":559},{"type":51,"tag":502,"props":2891,"children":2892},{"class":504,"line":1579},[2893],{"type":51,"tag":502,"props":2894,"children":2895},{"emptyLinePlaceholder":735},[2896],{"type":57,"value":738},{"type":51,"tag":502,"props":2898,"children":2899},{"class":504,"line":1587},[2900],{"type":51,"tag":502,"props":2901,"children":2902},{"style":509},[2903],{"type":57,"value":2904},"\u002F\u002F When participants join\u002Fleave\n",{"type":51,"tag":502,"props":2906,"children":2907},{"class":504,"line":1596},[2908,2912,2916,2920,2924,2928,2933,2937,2941,2945,2949,2953,2957],{"type":51,"tag":502,"props":2909,"children":2910},{"style":525},[2911],{"type":57,"value":2507},{"type":51,"tag":502,"props":2913,"children":2914},{"style":531},[2915],{"type":57,"value":85},{"type":51,"tag":502,"props":2917,"children":2918},{"style":546},[2919],{"type":57,"value":2516},{"type":51,"tag":502,"props":2921,"children":2922},{"style":525},[2923],{"type":57,"value":582},{"type":51,"tag":502,"props":2925,"children":2926},{"style":531},[2927],{"type":57,"value":587},{"type":51,"tag":502,"props":2929,"children":2930},{"style":590},[2931],{"type":57,"value":2932},"user-added",{"type":51,"tag":502,"props":2934,"children":2935},{"style":531},[2936],{"type":57,"value":587},{"type":51,"tag":502,"props":2938,"children":2939},{"style":531},[2940],{"type":57,"value":602},{"type":51,"tag":502,"props":2942,"children":2943},{"style":531},[2944],{"type":57,"value":2546},{"type":51,"tag":502,"props":2946,"children":2947},{"style":2549},[2948],{"type":57,"value":2552},{"type":51,"tag":502,"props":2950,"children":2951},{"style":531},[2952],{"type":57,"value":1446},{"type":51,"tag":502,"props":2954,"children":2955},{"style":519},[2956],{"type":57,"value":2561},{"type":51,"tag":502,"props":2958,"children":2959},{"style":531},[2960],{"type":57,"value":2566},{"type":51,"tag":502,"props":2962,"children":2963},{"class":504,"line":1626},[2964],{"type":51,"tag":502,"props":2965,"children":2966},{"style":509},[2967],{"type":57,"value":2968},"  \u002F\u002F New participant joined - check if their video is on\n",{"type":51,"tag":502,"props":2970,"children":2971},{"class":504,"line":1655},[2972,2976,2981,2985,2989,2993,2998,3002],{"type":51,"tag":502,"props":2973,"children":2974},{"style":519},[2975],{"type":57,"value":2574},{"type":51,"tag":502,"props":2977,"children":2978},{"style":525},[2979],{"type":57,"value":2980}," users",{"type":51,"tag":502,"props":2982,"children":2983},{"style":531},[2984],{"type":57,"value":2600},{"type":51,"tag":502,"props":2986,"children":2987},{"style":525},[2988],{"type":57,"value":1368},{"type":51,"tag":502,"props":2990,"children":2991},{"style":531},[2992],{"type":57,"value":85},{"type":51,"tag":502,"props":2994,"children":2995},{"style":546},[2996],{"type":57,"value":2997},"getAllUser",{"type":51,"tag":502,"props":2999,"children":3000},{"style":1157},[3001],{"type":57,"value":554},{"type":51,"tag":502,"props":3003,"children":3004},{"style":531},[3005],{"type":57,"value":559},{"type":51,"tag":502,"props":3007,"children":3008},{"class":504,"line":1663},[3009],{"type":51,"tag":502,"props":3010,"children":3011},{"style":509},[3012],{"type":57,"value":3013},"  \u002F\u002F Render videos for users with bVideoOn === true\n",{"type":51,"tag":502,"props":3015,"children":3016},{"class":504,"line":1672},[3017,3021,3025],{"type":51,"tag":502,"props":3018,"children":3019},{"style":531},[3020],{"type":57,"value":2881},{"type":51,"tag":502,"props":3022,"children":3023},{"style":525},[3024],{"type":57,"value":1446},{"type":51,"tag":502,"props":3026,"children":3027},{"style":531},[3028],{"type":57,"value":559},{"type":51,"tag":502,"props":3030,"children":3031},{"class":504,"line":1734},[3032],{"type":51,"tag":502,"props":3033,"children":3034},{"emptyLinePlaceholder":735},[3035],{"type":57,"value":738},{"type":51,"tag":502,"props":3037,"children":3039},{"class":504,"line":3038},22,[3040,3044,3048,3052,3056,3060,3065,3069,3073,3077,3081,3085,3089],{"type":51,"tag":502,"props":3041,"children":3042},{"style":525},[3043],{"type":57,"value":2507},{"type":51,"tag":502,"props":3045,"children":3046},{"style":531},[3047],{"type":57,"value":85},{"type":51,"tag":502,"props":3049,"children":3050},{"style":546},[3051],{"type":57,"value":2516},{"type":51,"tag":502,"props":3053,"children":3054},{"style":525},[3055],{"type":57,"value":582},{"type":51,"tag":502,"props":3057,"children":3058},{"style":531},[3059],{"type":57,"value":587},{"type":51,"tag":502,"props":3061,"children":3062},{"style":590},[3063],{"type":57,"value":3064},"user-removed",{"type":51,"tag":502,"props":3066,"children":3067},{"style":531},[3068],{"type":57,"value":587},{"type":51,"tag":502,"props":3070,"children":3071},{"style":531},[3072],{"type":57,"value":602},{"type":51,"tag":502,"props":3074,"children":3075},{"style":531},[3076],{"type":57,"value":2546},{"type":51,"tag":502,"props":3078,"children":3079},{"style":2549},[3080],{"type":57,"value":2552},{"type":51,"tag":502,"props":3082,"children":3083},{"style":531},[3084],{"type":57,"value":1446},{"type":51,"tag":502,"props":3086,"children":3087},{"style":519},[3088],{"type":57,"value":2561},{"type":51,"tag":502,"props":3090,"children":3091},{"style":531},[3092],{"type":57,"value":2566},{"type":51,"tag":502,"props":3094,"children":3096},{"class":504,"line":3095},23,[3097],{"type":51,"tag":502,"props":3098,"children":3099},{"style":509},[3100],{"type":57,"value":3101},"  \u002F\u002F Participant left - clean up their video element\n",{"type":51,"tag":502,"props":3103,"children":3105},{"class":504,"line":3104},24,[3106,3111,3115,3119,3123,3127,3132,3138,3143,3147,3151,3155],{"type":51,"tag":502,"props":3107,"children":3108},{"style":525},[3109],{"type":57,"value":3110},"  stream",{"type":51,"tag":502,"props":3112,"children":3113},{"style":531},[3114],{"type":57,"value":85},{"type":51,"tag":502,"props":3116,"children":3117},{"style":546},[3118],{"type":57,"value":2849},{"type":51,"tag":502,"props":3120,"children":3121},{"style":1157},[3122],{"type":57,"value":582},{"type":51,"tag":502,"props":3124,"children":3125},{"style":525},[3126],{"type":57,"value":2552},{"type":51,"tag":502,"props":3128,"children":3129},{"style":1157},[3130],{"type":57,"value":3131},"[",{"type":51,"tag":502,"props":3133,"children":3135},{"style":3134},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[3136],{"type":57,"value":3137},"0",{"type":51,"tag":502,"props":3139,"children":3140},{"style":1157},[3141],{"type":57,"value":3142},"]",{"type":51,"tag":502,"props":3144,"children":3145},{"style":531},[3146],{"type":57,"value":85},{"type":51,"tag":502,"props":3148,"children":3149},{"style":525},[3150],{"type":57,"value":2712},{"type":51,"tag":502,"props":3152,"children":3153},{"style":1157},[3154],{"type":57,"value":1446},{"type":51,"tag":502,"props":3156,"children":3157},{"style":531},[3158],{"type":57,"value":559},{"type":51,"tag":502,"props":3160,"children":3162},{"class":504,"line":3161},25,[3163,3167,3171],{"type":51,"tag":502,"props":3164,"children":3165},{"style":531},[3166],{"type":57,"value":2881},{"type":51,"tag":502,"props":3168,"children":3169},{"style":525},[3170],{"type":57,"value":1446},{"type":51,"tag":502,"props":3172,"children":3173},{"style":531},[3174],{"type":57,"value":559},{"type":51,"tag":437,"props":3176,"children":3178},{"id":3177},"peer-video-on-mid-session-join",[3179],{"type":57,"value":3180},"Peer Video on Mid-Session Join",{"type":51,"tag":60,"props":3182,"children":3183},{},[3184],{"type":51,"tag":71,"props":3185,"children":3186},{},[3187],{"type":57,"value":3188},"Existing participants' videos won't auto-render when you join mid-session.",{"type":51,"tag":490,"props":3190,"children":3192},{"className":492,"code":3191,"language":494,"meta":495,"style":495},"\u002F\u002F After joining, render existing participants' videos\nconst renderExistingVideos = async () => {\n  await new Promise(resolve => setTimeout(resolve, 500));\n  \n  const users = client.getAllUser();\n  const currentUserId = client.getCurrentUserInfo().userId;\n  \n  for (const user of users) {\n    if (user.bVideoOn && user.userId !== currentUserId) {\n      const element = await stream.attachVideo(user.userId, VideoQuality.Video_360P);\n      document.getElementById(`video-${user.userId}`).appendChild(element);\n    }\n  }\n};\n",[3193],{"type":51,"tag":498,"props":3194,"children":3195},{"__ignoreMap":495},[3196,3204,3237,3299,3306,3341,3386,3393,3431,3491,3563,3643,3651,3658],{"type":51,"tag":502,"props":3197,"children":3198},{"class":504,"line":505},[3199],{"type":51,"tag":502,"props":3200,"children":3201},{"style":509},[3202],{"type":57,"value":3203},"\u002F\u002F After joining, render existing participants' videos\n",{"type":51,"tag":502,"props":3205,"children":3206},{"class":504,"line":515},[3207,3211,3216,3220,3224,3229,3233],{"type":51,"tag":502,"props":3208,"children":3209},{"style":519},[3210],{"type":57,"value":522},{"type":51,"tag":502,"props":3212,"children":3213},{"style":525},[3214],{"type":57,"value":3215}," renderExistingVideos ",{"type":51,"tag":502,"props":3217,"children":3218},{"style":531},[3219],{"type":57,"value":534},{"type":51,"tag":502,"props":3221,"children":3222},{"style":519},[3223],{"type":57,"value":2541},{"type":51,"tag":502,"props":3225,"children":3226},{"style":531},[3227],{"type":57,"value":3228}," ()",{"type":51,"tag":502,"props":3230,"children":3231},{"style":519},[3232],{"type":57,"value":2561},{"type":51,"tag":502,"props":3234,"children":3235},{"style":531},[3236],{"type":57,"value":2566},{"type":51,"tag":502,"props":3238,"children":3239},{"class":504,"line":562},[3240,3245,3250,3255,3259,3264,3268,3273,3277,3281,3285,3290,3295],{"type":51,"tag":502,"props":3241,"children":3242},{"style":1022},[3243],{"type":57,"value":3244},"  await",{"type":51,"tag":502,"props":3246,"children":3247},{"style":531},[3248],{"type":57,"value":3249}," new",{"type":51,"tag":502,"props":3251,"children":3252},{"style":996},[3253],{"type":57,"value":3254}," Promise",{"type":51,"tag":502,"props":3256,"children":3257},{"style":1157},[3258],{"type":57,"value":582},{"type":51,"tag":502,"props":3260,"children":3261},{"style":2549},[3262],{"type":57,"value":3263},"resolve",{"type":51,"tag":502,"props":3265,"children":3266},{"style":519},[3267],{"type":57,"value":2561},{"type":51,"tag":502,"props":3269,"children":3270},{"style":546},[3271],{"type":57,"value":3272}," setTimeout",{"type":51,"tag":502,"props":3274,"children":3275},{"style":1157},[3276],{"type":57,"value":582},{"type":51,"tag":502,"props":3278,"children":3279},{"style":525},[3280],{"type":57,"value":3263},{"type":51,"tag":502,"props":3282,"children":3283},{"style":531},[3284],{"type":57,"value":602},{"type":51,"tag":502,"props":3286,"children":3287},{"style":3134},[3288],{"type":57,"value":3289}," 500",{"type":51,"tag":502,"props":3291,"children":3292},{"style":1157},[3293],{"type":57,"value":3294},"))",{"type":51,"tag":502,"props":3296,"children":3297},{"style":531},[3298],{"type":57,"value":559},{"type":51,"tag":502,"props":3300,"children":3301},{"class":504,"line":623},[3302],{"type":51,"tag":502,"props":3303,"children":3304},{"style":1157},[3305],{"type":57,"value":2617},{"type":51,"tag":502,"props":3307,"children":3308},{"class":504,"line":677},[3309,3313,3317,3321,3325,3329,3333,3337],{"type":51,"tag":502,"props":3310,"children":3311},{"style":519},[3312],{"type":57,"value":2574},{"type":51,"tag":502,"props":3314,"children":3315},{"style":525},[3316],{"type":57,"value":2980},{"type":51,"tag":502,"props":3318,"children":3319},{"style":531},[3320],{"type":57,"value":2600},{"type":51,"tag":502,"props":3322,"children":3323},{"style":525},[3324],{"type":57,"value":1368},{"type":51,"tag":502,"props":3326,"children":3327},{"style":531},[3328],{"type":57,"value":85},{"type":51,"tag":502,"props":3330,"children":3331},{"style":546},[3332],{"type":57,"value":2997},{"type":51,"tag":502,"props":3334,"children":3335},{"style":1157},[3336],{"type":57,"value":554},{"type":51,"tag":502,"props":3338,"children":3339},{"style":531},[3340],{"type":57,"value":559},{"type":51,"tag":502,"props":3342,"children":3343},{"class":504,"line":731},[3344,3348,3353,3357,3361,3365,3370,3374,3378,3382],{"type":51,"tag":502,"props":3345,"children":3346},{"style":519},[3347],{"type":57,"value":2574},{"type":51,"tag":502,"props":3349,"children":3350},{"style":525},[3351],{"type":57,"value":3352}," currentUserId",{"type":51,"tag":502,"props":3354,"children":3355},{"style":531},[3356],{"type":57,"value":2600},{"type":51,"tag":502,"props":3358,"children":3359},{"style":525},[3360],{"type":57,"value":1368},{"type":51,"tag":502,"props":3362,"children":3363},{"style":531},[3364],{"type":57,"value":85},{"type":51,"tag":502,"props":3366,"children":3367},{"style":546},[3368],{"type":57,"value":3369},"getCurrentUserInfo",{"type":51,"tag":502,"props":3371,"children":3372},{"style":1157},[3373],{"type":57,"value":554},{"type":51,"tag":502,"props":3375,"children":3376},{"style":531},[3377],{"type":57,"value":85},{"type":51,"tag":502,"props":3379,"children":3380},{"style":525},[3381],{"type":57,"value":2712},{"type":51,"tag":502,"props":3383,"children":3384},{"style":531},[3385],{"type":57,"value":559},{"type":51,"tag":502,"props":3387,"children":3388},{"class":504,"line":741},[3389],{"type":51,"tag":502,"props":3390,"children":3391},{"style":1157},[3392],{"type":57,"value":2617},{"type":51,"tag":502,"props":3394,"children":3395},{"class":504,"line":750},[3396,3401,3405,3409,3414,3419,3423,3427],{"type":51,"tag":502,"props":3397,"children":3398},{"style":1022},[3399],{"type":57,"value":3400},"  for",{"type":51,"tag":502,"props":3402,"children":3403},{"style":1157},[3404],{"type":57,"value":2546},{"type":51,"tag":502,"props":3406,"children":3407},{"style":519},[3408],{"type":57,"value":522},{"type":51,"tag":502,"props":3410,"children":3411},{"style":525},[3412],{"type":57,"value":3413}," user",{"type":51,"tag":502,"props":3415,"children":3416},{"style":531},[3417],{"type":57,"value":3418}," of",{"type":51,"tag":502,"props":3420,"children":3421},{"style":525},[3422],{"type":57,"value":2980},{"type":51,"tag":502,"props":3424,"children":3425},{"style":1157},[3426],{"type":57,"value":2657},{"type":51,"tag":502,"props":3428,"children":3429},{"style":531},[3430],{"type":57,"value":2662},{"type":51,"tag":502,"props":3432,"children":3433},{"class":504,"line":788},[3434,3439,3443,3448,3452,3457,3462,3466,3470,3474,3479,3483,3487],{"type":51,"tag":502,"props":3435,"children":3436},{"style":1022},[3437],{"type":57,"value":3438},"    if",{"type":51,"tag":502,"props":3440,"children":3441},{"style":1157},[3442],{"type":57,"value":2546},{"type":51,"tag":502,"props":3444,"children":3445},{"style":525},[3446],{"type":57,"value":3447},"user",{"type":51,"tag":502,"props":3449,"children":3450},{"style":531},[3451],{"type":57,"value":85},{"type":51,"tag":502,"props":3453,"children":3454},{"style":525},[3455],{"type":57,"value":3456},"bVideoOn",{"type":51,"tag":502,"props":3458,"children":3459},{"style":531},[3460],{"type":57,"value":3461}," &&",{"type":51,"tag":502,"props":3463,"children":3464},{"style":525},[3465],{"type":57,"value":3413},{"type":51,"tag":502,"props":3467,"children":3468},{"style":531},[3469],{"type":57,"value":85},{"type":51,"tag":502,"props":3471,"children":3472},{"style":525},[3473],{"type":57,"value":2712},{"type":51,"tag":502,"props":3475,"children":3476},{"style":531},[3477],{"type":57,"value":3478}," !==",{"type":51,"tag":502,"props":3480,"children":3481},{"style":525},[3482],{"type":57,"value":3352},{"type":51,"tag":502,"props":3484,"children":3485},{"style":1157},[3486],{"type":57,"value":2657},{"type":51,"tag":502,"props":3488,"children":3489},{"style":531},[3490],{"type":57,"value":2662},{"type":51,"tag":502,"props":3492,"children":3493},{"class":504,"line":843},[3494,3499,3503,3507,3511,3515,3519,3523,3527,3531,3535,3539,3543,3547,3551,3555,3559],{"type":51,"tag":502,"props":3495,"children":3496},{"style":519},[3497],{"type":57,"value":3498},"      const",{"type":51,"tag":502,"props":3500,"children":3501},{"style":525},[3502],{"type":57,"value":2683},{"type":51,"tag":502,"props":3504,"children":3505},{"style":531},[3506],{"type":57,"value":2600},{"type":51,"tag":502,"props":3508,"children":3509},{"style":1022},[3510],{"type":57,"value":1691},{"type":51,"tag":502,"props":3512,"children":3513},{"style":525},[3514],{"type":57,"value":1606},{"type":51,"tag":502,"props":3516,"children":3517},{"style":531},[3518],{"type":57,"value":85},{"type":51,"tag":502,"props":3520,"children":3521},{"style":546},[3522],{"type":57,"value":1704},{"type":51,"tag":502,"props":3524,"children":3525},{"style":1157},[3526],{"type":57,"value":582},{"type":51,"tag":502,"props":3528,"children":3529},{"style":525},[3530],{"type":57,"value":3447},{"type":51,"tag":502,"props":3532,"children":3533},{"style":531},[3534],{"type":57,"value":85},{"type":51,"tag":502,"props":3536,"children":3537},{"style":525},[3538],{"type":57,"value":2712},{"type":51,"tag":502,"props":3540,"children":3541},{"style":531},[3542],{"type":57,"value":602},{"type":51,"tag":502,"props":3544,"children":3545},{"style":525},[3546],{"type":57,"value":1718},{"type":51,"tag":502,"props":3548,"children":3549},{"style":531},[3550],{"type":57,"value":85},{"type":51,"tag":502,"props":3552,"children":3553},{"style":525},[3554],{"type":57,"value":2729},{"type":51,"tag":502,"props":3556,"children":3557},{"style":1157},[3558],{"type":57,"value":1446},{"type":51,"tag":502,"props":3560,"children":3561},{"style":531},[3562],{"type":57,"value":559},{"type":51,"tag":502,"props":3564,"children":3565},{"class":504,"line":1524},[3566,3571,3575,3579,3583,3588,3593,3598,3602,3606,3610,3615,3619,3623,3627,3631,3635,3639],{"type":51,"tag":502,"props":3567,"children":3568},{"style":525},[3569],{"type":57,"value":3570},"      document",{"type":51,"tag":502,"props":3572,"children":3573},{"style":531},[3574],{"type":57,"value":85},{"type":51,"tag":502,"props":3576,"children":3577},{"style":546},[3578],{"type":57,"value":1749},{"type":51,"tag":502,"props":3580,"children":3581},{"style":1157},[3582],{"type":57,"value":582},{"type":51,"tag":502,"props":3584,"children":3585},{"style":531},[3586],{"type":57,"value":3587},"`",{"type":51,"tag":502,"props":3589,"children":3590},{"style":590},[3591],{"type":57,"value":3592},"video-",{"type":51,"tag":502,"props":3594,"children":3595},{"style":531},[3596],{"type":57,"value":3597},"${",{"type":51,"tag":502,"props":3599,"children":3600},{"style":525},[3601],{"type":57,"value":3447},{"type":51,"tag":502,"props":3603,"children":3604},{"style":531},[3605],{"type":57,"value":85},{"type":51,"tag":502,"props":3607,"children":3608},{"style":525},[3609],{"type":57,"value":2712},{"type":51,"tag":502,"props":3611,"children":3612},{"style":531},[3613],{"type":57,"value":3614},"}`",{"type":51,"tag":502,"props":3616,"children":3617},{"style":1157},[3618],{"type":57,"value":1446},{"type":51,"tag":502,"props":3620,"children":3621},{"style":531},[3622],{"type":57,"value":85},{"type":51,"tag":502,"props":3624,"children":3625},{"style":546},[3626],{"type":57,"value":1779},{"type":51,"tag":502,"props":3628,"children":3629},{"style":1157},[3630],{"type":57,"value":582},{"type":51,"tag":502,"props":3632,"children":3633},{"style":525},[3634],{"type":57,"value":51},{"type":51,"tag":502,"props":3636,"children":3637},{"style":1157},[3638],{"type":57,"value":1446},{"type":51,"tag":502,"props":3640,"children":3641},{"style":531},[3642],{"type":57,"value":559},{"type":51,"tag":502,"props":3644,"children":3645},{"class":504,"line":1532},[3646],{"type":51,"tag":502,"props":3647,"children":3648},{"style":531},[3649],{"type":57,"value":3650},"    }\n",{"type":51,"tag":502,"props":3652,"children":3653},{"class":504,"line":1541},[3654],{"type":51,"tag":502,"props":3655,"children":3656},{"style":531},[3657],{"type":57,"value":2873},{"type":51,"tag":502,"props":3659,"children":3660},{"class":504,"line":1579},[3661],{"type":51,"tag":502,"props":3662,"children":3663},{"style":531},[3664],{"type":57,"value":3665},"};\n",{"type":51,"tag":437,"props":3667,"children":3669},{"id":3668},"cdn-race-condition-with-es-modules",[3670],{"type":57,"value":3671},"CDN Race Condition with ES Modules",{"type":51,"tag":60,"props":3673,"children":3674},{},[3675,3677,3683],{"type":57,"value":3676},"When using ",{"type":51,"tag":498,"props":3678,"children":3680},{"className":3679},[],[3681],{"type":57,"value":3682},"\u003Cscript type=\"module\">",{"type":57,"value":3684}," with CDN, the SDK may not be loaded yet:",{"type":51,"tag":490,"props":3686,"children":3688},{"className":492,"code":3687,"language":494,"meta":495,"style":495},"function waitForSDK(timeout = 10000) {\n  return new Promise((resolve, reject) => {\n    if (typeof WebVideoSDK !== 'undefined') {\n      resolve();\n      return;\n    }\n    const start = Date.now();\n    const check = setInterval(() => {\n      if (typeof WebVideoSDK !== 'undefined') {\n        clearInterval(check);\n        resolve();\n      } else if (Date.now() - start > timeout) {\n        clearInterval(check);\n        reject(new Error('SDK failed to load'));\n      }\n    }, 100);\n  });\n}\n\nawait waitForSDK();\nconst ZoomVideo = WebVideoSDK.default;\n",[3689],{"type":51,"tag":498,"props":3690,"children":3691},{"__ignoreMap":495},[3692,3731,3780,3825,3841,3853,3860,3898,3935,3979,4004,4020,4085,4108,4155,4163,4184,4199,4207,4214,4233],{"type":51,"tag":502,"props":3693,"children":3694},{"class":504,"line":505},[3695,3700,3705,3709,3714,3718,3723,3727],{"type":51,"tag":502,"props":3696,"children":3697},{"style":519},[3698],{"type":57,"value":3699},"function",{"type":51,"tag":502,"props":3701,"children":3702},{"style":546},[3703],{"type":57,"value":3704}," waitForSDK",{"type":51,"tag":502,"props":3706,"children":3707},{"style":531},[3708],{"type":57,"value":582},{"type":51,"tag":502,"props":3710,"children":3711},{"style":2549},[3712],{"type":57,"value":3713},"timeout",{"type":51,"tag":502,"props":3715,"children":3716},{"style":531},[3717],{"type":57,"value":2600},{"type":51,"tag":502,"props":3719,"children":3720},{"style":3134},[3721],{"type":57,"value":3722}," 10000",{"type":51,"tag":502,"props":3724,"children":3725},{"style":531},[3726],{"type":57,"value":1446},{"type":51,"tag":502,"props":3728,"children":3729},{"style":531},[3730],{"type":57,"value":2566},{"type":51,"tag":502,"props":3732,"children":3733},{"class":504,"line":515},[3734,3739,3743,3747,3751,3755,3759,3763,3768,3772,3776],{"type":51,"tag":502,"props":3735,"children":3736},{"style":1022},[3737],{"type":57,"value":3738},"  return",{"type":51,"tag":502,"props":3740,"children":3741},{"style":531},[3742],{"type":57,"value":3249},{"type":51,"tag":502,"props":3744,"children":3745},{"style":996},[3746],{"type":57,"value":3254},{"type":51,"tag":502,"props":3748,"children":3749},{"style":1157},[3750],{"type":57,"value":582},{"type":51,"tag":502,"props":3752,"children":3753},{"style":531},[3754],{"type":57,"value":582},{"type":51,"tag":502,"props":3756,"children":3757},{"style":2549},[3758],{"type":57,"value":3263},{"type":51,"tag":502,"props":3760,"children":3761},{"style":531},[3762],{"type":57,"value":602},{"type":51,"tag":502,"props":3764,"children":3765},{"style":2549},[3766],{"type":57,"value":3767}," reject",{"type":51,"tag":502,"props":3769,"children":3770},{"style":531},[3771],{"type":57,"value":1446},{"type":51,"tag":502,"props":3773,"children":3774},{"style":519},[3775],{"type":57,"value":2561},{"type":51,"tag":502,"props":3777,"children":3778},{"style":531},[3779],{"type":57,"value":2566},{"type":51,"tag":502,"props":3781,"children":3782},{"class":504,"line":562},[3783,3787,3791,3796,3800,3804,3808,3813,3817,3821],{"type":51,"tag":502,"props":3784,"children":3785},{"style":1022},[3786],{"type":57,"value":3438},{"type":51,"tag":502,"props":3788,"children":3789},{"style":1157},[3790],{"type":57,"value":2546},{"type":51,"tag":502,"props":3792,"children":3793},{"style":531},[3794],{"type":57,"value":3795},"typeof",{"type":51,"tag":502,"props":3797,"children":3798},{"style":525},[3799],{"type":57,"value":1231},{"type":51,"tag":502,"props":3801,"children":3802},{"style":531},[3803],{"type":57,"value":3478},{"type":51,"tag":502,"props":3805,"children":3806},{"style":531},[3807],{"type":57,"value":1040},{"type":51,"tag":502,"props":3809,"children":3810},{"style":590},[3811],{"type":57,"value":3812},"undefined",{"type":51,"tag":502,"props":3814,"children":3815},{"style":531},[3816],{"type":57,"value":587},{"type":51,"tag":502,"props":3818,"children":3819},{"style":1157},[3820],{"type":57,"value":2657},{"type":51,"tag":502,"props":3822,"children":3823},{"style":531},[3824],{"type":57,"value":2662},{"type":51,"tag":502,"props":3826,"children":3827},{"class":504,"line":623},[3828,3833,3837],{"type":51,"tag":502,"props":3829,"children":3830},{"style":546},[3831],{"type":57,"value":3832},"      resolve",{"type":51,"tag":502,"props":3834,"children":3835},{"style":1157},[3836],{"type":57,"value":554},{"type":51,"tag":502,"props":3838,"children":3839},{"style":531},[3840],{"type":57,"value":559},{"type":51,"tag":502,"props":3842,"children":3843},{"class":504,"line":677},[3844,3849],{"type":51,"tag":502,"props":3845,"children":3846},{"style":1022},[3847],{"type":57,"value":3848},"      return",{"type":51,"tag":502,"props":3850,"children":3851},{"style":531},[3852],{"type":57,"value":559},{"type":51,"tag":502,"props":3854,"children":3855},{"class":504,"line":731},[3856],{"type":51,"tag":502,"props":3857,"children":3858},{"style":531},[3859],{"type":57,"value":3650},{"type":51,"tag":502,"props":3861,"children":3862},{"class":504,"line":741},[3863,3867,3872,3876,3881,3885,3890,3894],{"type":51,"tag":502,"props":3864,"children":3865},{"style":519},[3866],{"type":57,"value":2678},{"type":51,"tag":502,"props":3868,"children":3869},{"style":525},[3870],{"type":57,"value":3871}," start",{"type":51,"tag":502,"props":3873,"children":3874},{"style":531},[3875],{"type":57,"value":2600},{"type":51,"tag":502,"props":3877,"children":3878},{"style":525},[3879],{"type":57,"value":3880}," Date",{"type":51,"tag":502,"props":3882,"children":3883},{"style":531},[3884],{"type":57,"value":85},{"type":51,"tag":502,"props":3886,"children":3887},{"style":546},[3888],{"type":57,"value":3889},"now",{"type":51,"tag":502,"props":3891,"children":3892},{"style":1157},[3893],{"type":57,"value":554},{"type":51,"tag":502,"props":3895,"children":3896},{"style":531},[3897],{"type":57,"value":559},{"type":51,"tag":502,"props":3899,"children":3900},{"class":504,"line":750},[3901,3905,3910,3914,3919,3923,3927,3931],{"type":51,"tag":502,"props":3902,"children":3903},{"style":519},[3904],{"type":57,"value":2678},{"type":51,"tag":502,"props":3906,"children":3907},{"style":525},[3908],{"type":57,"value":3909}," check",{"type":51,"tag":502,"props":3911,"children":3912},{"style":531},[3913],{"type":57,"value":2600},{"type":51,"tag":502,"props":3915,"children":3916},{"style":546},[3917],{"type":57,"value":3918}," setInterval",{"type":51,"tag":502,"props":3920,"children":3921},{"style":1157},[3922],{"type":57,"value":582},{"type":51,"tag":502,"props":3924,"children":3925},{"style":531},[3926],{"type":57,"value":554},{"type":51,"tag":502,"props":3928,"children":3929},{"style":519},[3930],{"type":57,"value":2561},{"type":51,"tag":502,"props":3932,"children":3933},{"style":531},[3934],{"type":57,"value":2566},{"type":51,"tag":502,"props":3936,"children":3937},{"class":504,"line":788},[3938,3943,3947,3951,3955,3959,3963,3967,3971,3975],{"type":51,"tag":502,"props":3939,"children":3940},{"style":1022},[3941],{"type":57,"value":3942},"      if",{"type":51,"tag":502,"props":3944,"children":3945},{"style":1157},[3946],{"type":57,"value":2546},{"type":51,"tag":502,"props":3948,"children":3949},{"style":531},[3950],{"type":57,"value":3795},{"type":51,"tag":502,"props":3952,"children":3953},{"style":525},[3954],{"type":57,"value":1231},{"type":51,"tag":502,"props":3956,"children":3957},{"style":531},[3958],{"type":57,"value":3478},{"type":51,"tag":502,"props":3960,"children":3961},{"style":531},[3962],{"type":57,"value":1040},{"type":51,"tag":502,"props":3964,"children":3965},{"style":590},[3966],{"type":57,"value":3812},{"type":51,"tag":502,"props":3968,"children":3969},{"style":531},[3970],{"type":57,"value":587},{"type":51,"tag":502,"props":3972,"children":3973},{"style":1157},[3974],{"type":57,"value":2657},{"type":51,"tag":502,"props":3976,"children":3977},{"style":531},[3978],{"type":57,"value":2662},{"type":51,"tag":502,"props":3980,"children":3981},{"class":504,"line":843},[3982,3987,3991,3996,4000],{"type":51,"tag":502,"props":3983,"children":3984},{"style":546},[3985],{"type":57,"value":3986},"        clearInterval",{"type":51,"tag":502,"props":3988,"children":3989},{"style":1157},[3990],{"type":57,"value":582},{"type":51,"tag":502,"props":3992,"children":3993},{"style":525},[3994],{"type":57,"value":3995},"check",{"type":51,"tag":502,"props":3997,"children":3998},{"style":1157},[3999],{"type":57,"value":1446},{"type":51,"tag":502,"props":4001,"children":4002},{"style":531},[4003],{"type":57,"value":559},{"type":51,"tag":502,"props":4005,"children":4006},{"class":504,"line":1524},[4007,4012,4016],{"type":51,"tag":502,"props":4008,"children":4009},{"style":546},[4010],{"type":57,"value":4011},"        resolve",{"type":51,"tag":502,"props":4013,"children":4014},{"style":1157},[4015],{"type":57,"value":554},{"type":51,"tag":502,"props":4017,"children":4018},{"style":531},[4019],{"type":57,"value":559},{"type":51,"tag":502,"props":4021,"children":4022},{"class":504,"line":1532},[4023,4028,4032,4036,4040,4045,4049,4053,4058,4063,4067,4072,4077,4081],{"type":51,"tag":502,"props":4024,"children":4025},{"style":531},[4026],{"type":57,"value":4027},"      }",{"type":51,"tag":502,"props":4029,"children":4030},{"style":1022},[4031],{"type":57,"value":2782},{"type":51,"tag":502,"props":4033,"children":4034},{"style":1022},[4035],{"type":57,"value":2787},{"type":51,"tag":502,"props":4037,"children":4038},{"style":1157},[4039],{"type":57,"value":2546},{"type":51,"tag":502,"props":4041,"children":4042},{"style":525},[4043],{"type":57,"value":4044},"Date",{"type":51,"tag":502,"props":4046,"children":4047},{"style":531},[4048],{"type":57,"value":85},{"type":51,"tag":502,"props":4050,"children":4051},{"style":546},[4052],{"type":57,"value":3889},{"type":51,"tag":502,"props":4054,"children":4055},{"style":1157},[4056],{"type":57,"value":4057},"() ",{"type":51,"tag":502,"props":4059,"children":4060},{"style":531},[4061],{"type":57,"value":4062},"-",{"type":51,"tag":502,"props":4064,"children":4065},{"style":525},[4066],{"type":57,"value":3871},{"type":51,"tag":502,"props":4068,"children":4069},{"style":531},[4070],{"type":57,"value":4071}," >",{"type":51,"tag":502,"props":4073,"children":4074},{"style":525},[4075],{"type":57,"value":4076}," timeout",{"type":51,"tag":502,"props":4078,"children":4079},{"style":1157},[4080],{"type":57,"value":2657},{"type":51,"tag":502,"props":4082,"children":4083},{"style":531},[4084],{"type":57,"value":2662},{"type":51,"tag":502,"props":4086,"children":4087},{"class":504,"line":1541},[4088,4092,4096,4100,4104],{"type":51,"tag":502,"props":4089,"children":4090},{"style":546},[4091],{"type":57,"value":3986},{"type":51,"tag":502,"props":4093,"children":4094},{"style":1157},[4095],{"type":57,"value":582},{"type":51,"tag":502,"props":4097,"children":4098},{"style":525},[4099],{"type":57,"value":3995},{"type":51,"tag":502,"props":4101,"children":4102},{"style":1157},[4103],{"type":57,"value":1446},{"type":51,"tag":502,"props":4105,"children":4106},{"style":531},[4107],{"type":57,"value":559},{"type":51,"tag":502,"props":4109,"children":4110},{"class":504,"line":1579},[4111,4116,4120,4125,4130,4134,4138,4143,4147,4151],{"type":51,"tag":502,"props":4112,"children":4113},{"style":546},[4114],{"type":57,"value":4115},"        reject",{"type":51,"tag":502,"props":4117,"children":4118},{"style":1157},[4119],{"type":57,"value":582},{"type":51,"tag":502,"props":4121,"children":4122},{"style":531},[4123],{"type":57,"value":4124},"new",{"type":51,"tag":502,"props":4126,"children":4127},{"style":546},[4128],{"type":57,"value":4129}," Error",{"type":51,"tag":502,"props":4131,"children":4132},{"style":1157},[4133],{"type":57,"value":582},{"type":51,"tag":502,"props":4135,"children":4136},{"style":531},[4137],{"type":57,"value":587},{"type":51,"tag":502,"props":4139,"children":4140},{"style":590},[4141],{"type":57,"value":4142},"SDK failed to load",{"type":51,"tag":502,"props":4144,"children":4145},{"style":531},[4146],{"type":57,"value":587},{"type":51,"tag":502,"props":4148,"children":4149},{"style":1157},[4150],{"type":57,"value":3294},{"type":51,"tag":502,"props":4152,"children":4153},{"style":531},[4154],{"type":57,"value":559},{"type":51,"tag":502,"props":4156,"children":4157},{"class":504,"line":1587},[4158],{"type":51,"tag":502,"props":4159,"children":4160},{"style":531},[4161],{"type":57,"value":4162},"      }\n",{"type":51,"tag":502,"props":4164,"children":4165},{"class":504,"line":1596},[4166,4171,4176,4180],{"type":51,"tag":502,"props":4167,"children":4168},{"style":531},[4169],{"type":57,"value":4170},"    },",{"type":51,"tag":502,"props":4172,"children":4173},{"style":3134},[4174],{"type":57,"value":4175}," 100",{"type":51,"tag":502,"props":4177,"children":4178},{"style":1157},[4179],{"type":57,"value":1446},{"type":51,"tag":502,"props":4181,"children":4182},{"style":531},[4183],{"type":57,"value":559},{"type":51,"tag":502,"props":4185,"children":4186},{"class":504,"line":1626},[4187,4191,4195],{"type":51,"tag":502,"props":4188,"children":4189},{"style":531},[4190],{"type":57,"value":2777},{"type":51,"tag":502,"props":4192,"children":4193},{"style":1157},[4194],{"type":57,"value":1446},{"type":51,"tag":502,"props":4196,"children":4197},{"style":531},[4198],{"type":57,"value":559},{"type":51,"tag":502,"props":4200,"children":4201},{"class":504,"line":1655},[4202],{"type":51,"tag":502,"props":4203,"children":4204},{"style":531},[4205],{"type":57,"value":4206},"}\n",{"type":51,"tag":502,"props":4208,"children":4209},{"class":504,"line":1663},[4210],{"type":51,"tag":502,"props":4211,"children":4212},{"emptyLinePlaceholder":735},[4213],{"type":57,"value":738},{"type":51,"tag":502,"props":4215,"children":4216},{"class":504,"line":1672},[4217,4221,4225,4229],{"type":51,"tag":502,"props":4218,"children":4219},{"style":1022},[4220],{"type":57,"value":1363},{"type":51,"tag":502,"props":4222,"children":4223},{"style":546},[4224],{"type":57,"value":3704},{"type":51,"tag":502,"props":4226,"children":4227},{"style":525},[4228],{"type":57,"value":554},{"type":51,"tag":502,"props":4230,"children":4231},{"style":531},[4232],{"type":57,"value":559},{"type":51,"tag":502,"props":4234,"children":4235},{"class":504,"line":1734},[4236,4240,4244,4248,4252,4256,4260],{"type":51,"tag":502,"props":4237,"children":4238},{"style":519},[4239],{"type":57,"value":522},{"type":51,"tag":502,"props":4241,"children":4242},{"style":525},[4243],{"type":57,"value":1030},{"type":51,"tag":502,"props":4245,"children":4246},{"style":531},[4247],{"type":57,"value":534},{"type":51,"tag":502,"props":4249,"children":4250},{"style":525},[4251],{"type":57,"value":1231},{"type":51,"tag":502,"props":4253,"children":4254},{"style":531},[4255],{"type":57,"value":85},{"type":51,"tag":502,"props":4257,"children":4258},{"style":525},[4259],{"type":57,"value":1240},{"type":51,"tag":502,"props":4261,"children":4262},{"style":531},[4263],{"type":57,"value":559},{"type":51,"tag":437,"props":4265,"children":4267},{"id":4266},"sharedarraybuffer-for-hd-video",[4268],{"type":57,"value":4269},"SharedArrayBuffer for HD Video",{"type":51,"tag":60,"props":4271,"children":4272},{},[4273],{"type":57,"value":4274},"For optimal performance and HD video, configure these headers on your server:",{"type":51,"tag":490,"props":4276,"children":4279},{"className":4277,"code":4278,"language":57},[1809],"Cross-Origin-Opener-Policy: same-origin\nCross-Origin-Embedder-Policy: require-corp\n",[4280],{"type":51,"tag":498,"props":4281,"children":4282},{"__ignoreMap":495},[4283],{"type":57,"value":4278},{"type":51,"tag":60,"props":4285,"children":4286},{},[4287,4292],{"type":51,"tag":71,"props":4288,"children":4289},{},[4290],{"type":57,"value":4291},"Note:",{"type":57,"value":4293}," As of v1.11.2, SharedArrayBuffer is elective (not strictly required).",{"type":51,"tag":437,"props":4295,"children":4297},{"id":4296},"check-hd-capability-before-enabling",[4298],{"type":57,"value":4299},"Check HD Capability Before Enabling",{"type":51,"tag":490,"props":4301,"children":4303},{"className":492,"code":4302,"language":494,"meta":495,"style":495},"const stream = client.getMediaStream();\n\n\u002F\u002F Check if 720p is supported\nconst hdSupported = stream.isSupportHDVideo();\n\n\u002F\u002F Get maximum video quality\nconst maxQuality = stream.getVideoMaxQuality();\n\u002F\u002F 0=90P, 1=180P, 2=360P, 3=720P, 4=1080P\n\n\u002F\u002F Start video with HD\nif (hdSupported) {\n  await stream.startVideo({ hd: true });\n}\n",[4304],{"type":51,"tag":498,"props":4305,"children":4306},{"__ignoreMap":495},[4307,4342,4349,4357,4394,4401,4409,4446,4454,4461,4469,4486,4539],{"type":51,"tag":502,"props":4308,"children":4309},{"class":504,"line":505},[4310,4314,4318,4322,4326,4330,4334,4338],{"type":51,"tag":502,"props":4311,"children":4312},{"style":519},[4313],{"type":57,"value":522},{"type":51,"tag":502,"props":4315,"children":4316},{"style":525},[4317],{"type":57,"value":1551},{"type":51,"tag":502,"props":4319,"children":4320},{"style":531},[4321],{"type":57,"value":534},{"type":51,"tag":502,"props":4323,"children":4324},{"style":525},[4325],{"type":57,"value":1368},{"type":51,"tag":502,"props":4327,"children":4328},{"style":531},[4329],{"type":57,"value":85},{"type":51,"tag":502,"props":4331,"children":4332},{"style":546},[4333],{"type":57,"value":1568},{"type":51,"tag":502,"props":4335,"children":4336},{"style":525},[4337],{"type":57,"value":554},{"type":51,"tag":502,"props":4339,"children":4340},{"style":531},[4341],{"type":57,"value":559},{"type":51,"tag":502,"props":4343,"children":4344},{"class":504,"line":515},[4345],{"type":51,"tag":502,"props":4346,"children":4347},{"emptyLinePlaceholder":735},[4348],{"type":57,"value":738},{"type":51,"tag":502,"props":4350,"children":4351},{"class":504,"line":562},[4352],{"type":51,"tag":502,"props":4353,"children":4354},{"style":509},[4355],{"type":57,"value":4356},"\u002F\u002F Check if 720p is supported\n",{"type":51,"tag":502,"props":4358,"children":4359},{"class":504,"line":623},[4360,4364,4369,4373,4377,4381,4386,4390],{"type":51,"tag":502,"props":4361,"children":4362},{"style":519},[4363],{"type":57,"value":522},{"type":51,"tag":502,"props":4365,"children":4366},{"style":525},[4367],{"type":57,"value":4368}," hdSupported ",{"type":51,"tag":502,"props":4370,"children":4371},{"style":531},[4372],{"type":57,"value":534},{"type":51,"tag":502,"props":4374,"children":4375},{"style":525},[4376],{"type":57,"value":1606},{"type":51,"tag":502,"props":4378,"children":4379},{"style":531},[4380],{"type":57,"value":85},{"type":51,"tag":502,"props":4382,"children":4383},{"style":546},[4384],{"type":57,"value":4385},"isSupportHDVideo",{"type":51,"tag":502,"props":4387,"children":4388},{"style":525},[4389],{"type":57,"value":554},{"type":51,"tag":502,"props":4391,"children":4392},{"style":531},[4393],{"type":57,"value":559},{"type":51,"tag":502,"props":4395,"children":4396},{"class":504,"line":677},[4397],{"type":51,"tag":502,"props":4398,"children":4399},{"emptyLinePlaceholder":735},[4400],{"type":57,"value":738},{"type":51,"tag":502,"props":4402,"children":4403},{"class":504,"line":731},[4404],{"type":51,"tag":502,"props":4405,"children":4406},{"style":509},[4407],{"type":57,"value":4408},"\u002F\u002F Get maximum video quality\n",{"type":51,"tag":502,"props":4410,"children":4411},{"class":504,"line":741},[4412,4416,4421,4425,4429,4433,4438,4442],{"type":51,"tag":502,"props":4413,"children":4414},{"style":519},[4415],{"type":57,"value":522},{"type":51,"tag":502,"props":4417,"children":4418},{"style":525},[4419],{"type":57,"value":4420}," maxQuality ",{"type":51,"tag":502,"props":4422,"children":4423},{"style":531},[4424],{"type":57,"value":534},{"type":51,"tag":502,"props":4426,"children":4427},{"style":525},[4428],{"type":57,"value":1606},{"type":51,"tag":502,"props":4430,"children":4431},{"style":531},[4432],{"type":57,"value":85},{"type":51,"tag":502,"props":4434,"children":4435},{"style":546},[4436],{"type":57,"value":4437},"getVideoMaxQuality",{"type":51,"tag":502,"props":4439,"children":4440},{"style":525},[4441],{"type":57,"value":554},{"type":51,"tag":502,"props":4443,"children":4444},{"style":531},[4445],{"type":57,"value":559},{"type":51,"tag":502,"props":4447,"children":4448},{"class":504,"line":750},[4449],{"type":51,"tag":502,"props":4450,"children":4451},{"style":509},[4452],{"type":57,"value":4453},"\u002F\u002F 0=90P, 1=180P, 2=360P, 3=720P, 4=1080P\n",{"type":51,"tag":502,"props":4455,"children":4456},{"class":504,"line":788},[4457],{"type":51,"tag":502,"props":4458,"children":4459},{"emptyLinePlaceholder":735},[4460],{"type":57,"value":738},{"type":51,"tag":502,"props":4462,"children":4463},{"class":504,"line":843},[4464],{"type":51,"tag":502,"props":4465,"children":4466},{"style":509},[4467],{"type":57,"value":4468},"\u002F\u002F Start video with HD\n",{"type":51,"tag":502,"props":4470,"children":4471},{"class":504,"line":1524},[4472,4477,4482],{"type":51,"tag":502,"props":4473,"children":4474},{"style":1022},[4475],{"type":57,"value":4476},"if",{"type":51,"tag":502,"props":4478,"children":4479},{"style":525},[4480],{"type":57,"value":4481}," (hdSupported) ",{"type":51,"tag":502,"props":4483,"children":4484},{"style":531},[4485],{"type":57,"value":2662},{"type":51,"tag":502,"props":4487,"children":4488},{"class":504,"line":1532},[4489,4493,4497,4501,4505,4509,4514,4519,4523,4527,4531,4535],{"type":51,"tag":502,"props":4490,"children":4491},{"style":1022},[4492],{"type":57,"value":3244},{"type":51,"tag":502,"props":4494,"children":4495},{"style":525},[4496],{"type":57,"value":1606},{"type":51,"tag":502,"props":4498,"children":4499},{"style":531},[4500],{"type":57,"value":85},{"type":51,"tag":502,"props":4502,"children":4503},{"style":546},[4504],{"type":57,"value":1615},{"type":51,"tag":502,"props":4506,"children":4507},{"style":1157},[4508],{"type":57,"value":582},{"type":51,"tag":502,"props":4510,"children":4511},{"style":531},[4512],{"type":57,"value":4513},"{",{"type":51,"tag":502,"props":4515,"children":4516},{"style":1157},[4517],{"type":57,"value":4518}," hd",{"type":51,"tag":502,"props":4520,"children":4521},{"style":531},[4522],{"type":57,"value":1430},{"type":51,"tag":502,"props":4524,"children":4525},{"style":1433},[4526],{"type":57,"value":1436},{"type":51,"tag":502,"props":4528,"children":4529},{"style":531},[4530],{"type":57,"value":1441},{"type":51,"tag":502,"props":4532,"children":4533},{"style":1157},[4534],{"type":57,"value":1446},{"type":51,"tag":502,"props":4536,"children":4537},{"style":531},[4538],{"type":57,"value":559},{"type":51,"tag":502,"props":4540,"children":4541},{"class":504,"line":1541},[4542],{"type":51,"tag":502,"props":4543,"children":4544},{"style":531},[4545],{"type":57,"value":4206},{"type":51,"tag":437,"props":4547,"children":4549},{"id":4548},"screen-share-rendering-mode-check",[4550],{"type":57,"value":4551},"Screen Share Rendering Mode Check",{"type":51,"tag":490,"props":4553,"children":4555},{"className":492,"code":4554,"language":494,"meta":495,"style":495},"const stream = client.getMediaStream();\n\n\u002F\u002F Check which element type to use\nif (stream.isStartShareScreenWithVideoElement()) {\n  \u002F\u002F Use video element\n  const video = document.getElementById('share-video');\n  await stream.startShareScreen(video as unknown as HTMLCanvasElement);\n} else {\n  \u002F\u002F Use canvas element\n  const canvas = document.getElementById('share-canvas');\n  await stream.startShareScreen(canvas);\n}\n",[4556],{"type":51,"tag":498,"props":4557,"children":4558},{"__ignoreMap":495},[4559,4594,4601,4609,4639,4647,4701,4757,4772,4780,4833,4869],{"type":51,"tag":502,"props":4560,"children":4561},{"class":504,"line":505},[4562,4566,4570,4574,4578,4582,4586,4590],{"type":51,"tag":502,"props":4563,"children":4564},{"style":519},[4565],{"type":57,"value":522},{"type":51,"tag":502,"props":4567,"children":4568},{"style":525},[4569],{"type":57,"value":1551},{"type":51,"tag":502,"props":4571,"children":4572},{"style":531},[4573],{"type":57,"value":534},{"type":51,"tag":502,"props":4575,"children":4576},{"style":525},[4577],{"type":57,"value":1368},{"type":51,"tag":502,"props":4579,"children":4580},{"style":531},[4581],{"type":57,"value":85},{"type":51,"tag":502,"props":4583,"children":4584},{"style":546},[4585],{"type":57,"value":1568},{"type":51,"tag":502,"props":4587,"children":4588},{"style":525},[4589],{"type":57,"value":554},{"type":51,"tag":502,"props":4591,"children":4592},{"style":531},[4593],{"type":57,"value":559},{"type":51,"tag":502,"props":4595,"children":4596},{"class":504,"line":515},[4597],{"type":51,"tag":502,"props":4598,"children":4599},{"emptyLinePlaceholder":735},[4600],{"type":57,"value":738},{"type":51,"tag":502,"props":4602,"children":4603},{"class":504,"line":562},[4604],{"type":51,"tag":502,"props":4605,"children":4606},{"style":509},[4607],{"type":57,"value":4608},"\u002F\u002F Check which element type to use\n",{"type":51,"tag":502,"props":4610,"children":4611},{"class":504,"line":623},[4612,4616,4621,4625,4630,4635],{"type":51,"tag":502,"props":4613,"children":4614},{"style":1022},[4615],{"type":57,"value":4476},{"type":51,"tag":502,"props":4617,"children":4618},{"style":525},[4619],{"type":57,"value":4620}," (stream",{"type":51,"tag":502,"props":4622,"children":4623},{"style":531},[4624],{"type":57,"value":85},{"type":51,"tag":502,"props":4626,"children":4627},{"style":546},[4628],{"type":57,"value":4629},"isStartShareScreenWithVideoElement",{"type":51,"tag":502,"props":4631,"children":4632},{"style":525},[4633],{"type":57,"value":4634},"()) ",{"type":51,"tag":502,"props":4636,"children":4637},{"style":531},[4638],{"type":57,"value":2662},{"type":51,"tag":502,"props":4640,"children":4641},{"class":504,"line":677},[4642],{"type":51,"tag":502,"props":4643,"children":4644},{"style":509},[4645],{"type":57,"value":4646},"  \u002F\u002F Use video element\n",{"type":51,"tag":502,"props":4648,"children":4649},{"class":504,"line":731},[4650,4654,4659,4663,4668,4672,4676,4680,4684,4689,4693,4697],{"type":51,"tag":502,"props":4651,"children":4652},{"style":519},[4653],{"type":57,"value":2574},{"type":51,"tag":502,"props":4655,"children":4656},{"style":525},[4657],{"type":57,"value":4658}," video",{"type":51,"tag":502,"props":4660,"children":4661},{"style":531},[4662],{"type":57,"value":2600},{"type":51,"tag":502,"props":4664,"children":4665},{"style":525},[4666],{"type":57,"value":4667}," document",{"type":51,"tag":502,"props":4669,"children":4670},{"style":531},[4671],{"type":57,"value":85},{"type":51,"tag":502,"props":4673,"children":4674},{"style":546},[4675],{"type":57,"value":1749},{"type":51,"tag":502,"props":4677,"children":4678},{"style":1157},[4679],{"type":57,"value":582},{"type":51,"tag":502,"props":4681,"children":4682},{"style":531},[4683],{"type":57,"value":587},{"type":51,"tag":502,"props":4685,"children":4686},{"style":590},[4687],{"type":57,"value":4688},"share-video",{"type":51,"tag":502,"props":4690,"children":4691},{"style":531},[4692],{"type":57,"value":587},{"type":51,"tag":502,"props":4694,"children":4695},{"style":1157},[4696],{"type":57,"value":1446},{"type":51,"tag":502,"props":4698,"children":4699},{"style":531},[4700],{"type":57,"value":559},{"type":51,"tag":502,"props":4702,"children":4703},{"class":504,"line":741},[4704,4708,4712,4716,4721,4725,4730,4735,4740,4744,4749,4753],{"type":51,"tag":502,"props":4705,"children":4706},{"style":1022},[4707],{"type":57,"value":3244},{"type":51,"tag":502,"props":4709,"children":4710},{"style":525},[4711],{"type":57,"value":1606},{"type":51,"tag":502,"props":4713,"children":4714},{"style":531},[4715],{"type":57,"value":85},{"type":51,"tag":502,"props":4717,"children":4718},{"style":546},[4719],{"type":57,"value":4720},"startShareScreen",{"type":51,"tag":502,"props":4722,"children":4723},{"style":1157},[4724],{"type":57,"value":582},{"type":51,"tag":502,"props":4726,"children":4727},{"style":525},[4728],{"type":57,"value":4729},"video",{"type":51,"tag":502,"props":4731,"children":4732},{"style":1022},[4733],{"type":57,"value":4734}," as",{"type":51,"tag":502,"props":4736,"children":4737},{"style":996},[4738],{"type":57,"value":4739}," unknown",{"type":51,"tag":502,"props":4741,"children":4742},{"style":1022},[4743],{"type":57,"value":4734},{"type":51,"tag":502,"props":4745,"children":4746},{"style":996},[4747],{"type":57,"value":4748}," HTMLCanvasElement",{"type":51,"tag":502,"props":4750,"children":4751},{"style":1157},[4752],{"type":57,"value":1446},{"type":51,"tag":502,"props":4754,"children":4755},{"style":531},[4756],{"type":57,"value":559},{"type":51,"tag":502,"props":4758,"children":4759},{"class":504,"line":750},[4760,4764,4768],{"type":51,"tag":502,"props":4761,"children":4762},{"style":531},[4763],{"type":57,"value":2881},{"type":51,"tag":502,"props":4765,"children":4766},{"style":1022},[4767],{"type":57,"value":2782},{"type":51,"tag":502,"props":4769,"children":4770},{"style":531},[4771],{"type":57,"value":2566},{"type":51,"tag":502,"props":4773,"children":4774},{"class":504,"line":788},[4775],{"type":51,"tag":502,"props":4776,"children":4777},{"style":509},[4778],{"type":57,"value":4779},"  \u002F\u002F Use canvas element\n",{"type":51,"tag":502,"props":4781,"children":4782},{"class":504,"line":843},[4783,4787,4792,4796,4800,4804,4808,4812,4816,4821,4825,4829],{"type":51,"tag":502,"props":4784,"children":4785},{"style":519},[4786],{"type":57,"value":2574},{"type":51,"tag":502,"props":4788,"children":4789},{"style":525},[4790],{"type":57,"value":4791}," canvas",{"type":51,"tag":502,"props":4793,"children":4794},{"style":531},[4795],{"type":57,"value":2600},{"type":51,"tag":502,"props":4797,"children":4798},{"style":525},[4799],{"type":57,"value":4667},{"type":51,"tag":502,"props":4801,"children":4802},{"style":531},[4803],{"type":57,"value":85},{"type":51,"tag":502,"props":4805,"children":4806},{"style":546},[4807],{"type":57,"value":1749},{"type":51,"tag":502,"props":4809,"children":4810},{"style":1157},[4811],{"type":57,"value":582},{"type":51,"tag":502,"props":4813,"children":4814},{"style":531},[4815],{"type":57,"value":587},{"type":51,"tag":502,"props":4817,"children":4818},{"style":590},[4819],{"type":57,"value":4820},"share-canvas",{"type":51,"tag":502,"props":4822,"children":4823},{"style":531},[4824],{"type":57,"value":587},{"type":51,"tag":502,"props":4826,"children":4827},{"style":1157},[4828],{"type":57,"value":1446},{"type":51,"tag":502,"props":4830,"children":4831},{"style":531},[4832],{"type":57,"value":559},{"type":51,"tag":502,"props":4834,"children":4835},{"class":504,"line":1524},[4836,4840,4844,4848,4852,4856,4861,4865],{"type":51,"tag":502,"props":4837,"children":4838},{"style":1022},[4839],{"type":57,"value":3244},{"type":51,"tag":502,"props":4841,"children":4842},{"style":525},[4843],{"type":57,"value":1606},{"type":51,"tag":502,"props":4845,"children":4846},{"style":531},[4847],{"type":57,"value":85},{"type":51,"tag":502,"props":4849,"children":4850},{"style":546},[4851],{"type":57,"value":4720},{"type":51,"tag":502,"props":4853,"children":4854},{"style":1157},[4855],{"type":57,"value":582},{"type":51,"tag":502,"props":4857,"children":4858},{"style":525},[4859],{"type":57,"value":4860},"canvas",{"type":51,"tag":502,"props":4862,"children":4863},{"style":1157},[4864],{"type":57,"value":1446},{"type":51,"tag":502,"props":4866,"children":4867},{"style":531},[4868],{"type":57,"value":559},{"type":51,"tag":502,"props":4870,"children":4871},{"class":504,"line":1532},[4872],{"type":51,"tag":502,"props":4873,"children":4874},{"style":531},[4875],{"type":57,"value":4206},{"type":51,"tag":128,"props":4877,"children":4879},{"id":4878},"key-features",[4880],{"type":57,"value":4881},"Key Features",{"type":51,"tag":437,"props":4883,"children":4885},{"id":4884},"video-quality-enum",[4886],{"type":57,"value":4887},"Video Quality Enum",{"type":51,"tag":490,"props":4889,"children":4891},{"className":492,"code":4890,"language":494,"meta":495,"style":495},"import { VideoQuality } from '@zoom\u002Fvideosdk';\n\nVideoQuality.Video_90P   \u002F\u002F 0\nVideoQuality.Video_180P  \u002F\u002F 1\nVideoQuality.Video_360P  \u002F\u002F 2 (recommended for most cases)\nVideoQuality.Video_720P  \u002F\u002F 3\nVideoQuality.Video_1080P \u002F\u002F 4\n",[4892],{"type":51,"tag":498,"props":4893,"children":4894},{"__ignoreMap":495},[4895,4934,4941,4963,4984,5005,5026],{"type":51,"tag":502,"props":4896,"children":4897},{"class":504,"line":505},[4898,4902,4906,4910,4914,4918,4922,4926,4930],{"type":51,"tag":502,"props":4899,"children":4900},{"style":1022},[4901],{"type":57,"value":1025},{"type":51,"tag":502,"props":4903,"children":4904},{"style":531},[4905],{"type":57,"value":1420},{"type":51,"tag":502,"props":4907,"children":4908},{"style":525},[4909],{"type":57,"value":1718},{"type":51,"tag":502,"props":4911,"children":4912},{"style":531},[4913],{"type":57,"value":1441},{"type":51,"tag":502,"props":4915,"children":4916},{"style":1022},[4917],{"type":57,"value":2265},{"type":51,"tag":502,"props":4919,"children":4920},{"style":531},[4921],{"type":57,"value":1040},{"type":51,"tag":502,"props":4923,"children":4924},{"style":590},[4925],{"type":57,"value":1045},{"type":51,"tag":502,"props":4927,"children":4928},{"style":531},[4929],{"type":57,"value":587},{"type":51,"tag":502,"props":4931,"children":4932},{"style":531},[4933],{"type":57,"value":559},{"type":51,"tag":502,"props":4935,"children":4936},{"class":504,"line":515},[4937],{"type":51,"tag":502,"props":4938,"children":4939},{"emptyLinePlaceholder":735},[4940],{"type":57,"value":738},{"type":51,"tag":502,"props":4942,"children":4943},{"class":504,"line":562},[4944,4949,4953,4958],{"type":51,"tag":502,"props":4945,"children":4946},{"style":525},[4947],{"type":57,"value":4948},"VideoQuality",{"type":51,"tag":502,"props":4950,"children":4951},{"style":531},[4952],{"type":57,"value":85},{"type":51,"tag":502,"props":4954,"children":4955},{"style":525},[4956],{"type":57,"value":4957},"Video_90P   ",{"type":51,"tag":502,"props":4959,"children":4960},{"style":509},[4961],{"type":57,"value":4962},"\u002F\u002F 0\n",{"type":51,"tag":502,"props":4964,"children":4965},{"class":504,"line":623},[4966,4970,4974,4979],{"type":51,"tag":502,"props":4967,"children":4968},{"style":525},[4969],{"type":57,"value":4948},{"type":51,"tag":502,"props":4971,"children":4972},{"style":531},[4973],{"type":57,"value":85},{"type":51,"tag":502,"props":4975,"children":4976},{"style":525},[4977],{"type":57,"value":4978},"Video_180P  ",{"type":51,"tag":502,"props":4980,"children":4981},{"style":509},[4982],{"type":57,"value":4983},"\u002F\u002F 1\n",{"type":51,"tag":502,"props":4985,"children":4986},{"class":504,"line":677},[4987,4991,4995,5000],{"type":51,"tag":502,"props":4988,"children":4989},{"style":525},[4990],{"type":57,"value":4948},{"type":51,"tag":502,"props":4992,"children":4993},{"style":531},[4994],{"type":57,"value":85},{"type":51,"tag":502,"props":4996,"children":4997},{"style":525},[4998],{"type":57,"value":4999},"Video_360P  ",{"type":51,"tag":502,"props":5001,"children":5002},{"style":509},[5003],{"type":57,"value":5004},"\u002F\u002F 2 (recommended for most cases)\n",{"type":51,"tag":502,"props":5006,"children":5007},{"class":504,"line":731},[5008,5012,5016,5021],{"type":51,"tag":502,"props":5009,"children":5010},{"style":525},[5011],{"type":57,"value":4948},{"type":51,"tag":502,"props":5013,"children":5014},{"style":531},[5015],{"type":57,"value":85},{"type":51,"tag":502,"props":5017,"children":5018},{"style":525},[5019],{"type":57,"value":5020},"Video_720P  ",{"type":51,"tag":502,"props":5022,"children":5023},{"style":509},[5024],{"type":57,"value":5025},"\u002F\u002F 3\n",{"type":51,"tag":502,"props":5027,"children":5028},{"class":504,"line":741},[5029,5033,5037,5042],{"type":51,"tag":502,"props":5030,"children":5031},{"style":525},[5032],{"type":57,"value":4948},{"type":51,"tag":502,"props":5034,"children":5035},{"style":531},[5036],{"type":57,"value":85},{"type":51,"tag":502,"props":5038,"children":5039},{"style":525},[5040],{"type":57,"value":5041},"Video_1080P ",{"type":51,"tag":502,"props":5043,"children":5044},{"style":509},[5045],{"type":57,"value":5046},"\u002F\u002F 4\n",{"type":51,"tag":437,"props":5048,"children":5050},{"id":5049},"virtual-backgrounds",[5051],{"type":57,"value":5052},"Virtual Backgrounds",{"type":51,"tag":490,"props":5054,"children":5056},{"className":492,"code":5055,"language":494,"meta":495,"style":495},"const stream = client.getMediaStream();\n\n\u002F\u002F Always check support first\nif (stream.isSupportVirtualBackground()) {\n  \u002F\u002F Blur background\n  await stream.updateVirtualBackgroundImage('blur');\n  \n  \u002F\u002F Custom image background\n  await stream.updateVirtualBackgroundImage('https:\u002F\u002Fexample.com\u002Fbg.jpg');\n  \n  \u002F\u002F Remove virtual background\n  await stream.updateVirtualBackgroundImage(undefined);\n}\n",[5057],{"type":51,"tag":498,"props":5058,"children":5059},{"__ignoreMap":495},[5060,5095,5102,5110,5138,5146,5191,5198,5206,5250,5257,5265,5300],{"type":51,"tag":502,"props":5061,"children":5062},{"class":504,"line":505},[5063,5067,5071,5075,5079,5083,5087,5091],{"type":51,"tag":502,"props":5064,"children":5065},{"style":519},[5066],{"type":57,"value":522},{"type":51,"tag":502,"props":5068,"children":5069},{"style":525},[5070],{"type":57,"value":1551},{"type":51,"tag":502,"props":5072,"children":5073},{"style":531},[5074],{"type":57,"value":534},{"type":51,"tag":502,"props":5076,"children":5077},{"style":525},[5078],{"type":57,"value":1368},{"type":51,"tag":502,"props":5080,"children":5081},{"style":531},[5082],{"type":57,"value":85},{"type":51,"tag":502,"props":5084,"children":5085},{"style":546},[5086],{"type":57,"value":1568},{"type":51,"tag":502,"props":5088,"children":5089},{"style":525},[5090],{"type":57,"value":554},{"type":51,"tag":502,"props":5092,"children":5093},{"style":531},[5094],{"type":57,"value":559},{"type":51,"tag":502,"props":5096,"children":5097},{"class":504,"line":515},[5098],{"type":51,"tag":502,"props":5099,"children":5100},{"emptyLinePlaceholder":735},[5101],{"type":57,"value":738},{"type":51,"tag":502,"props":5103,"children":5104},{"class":504,"line":562},[5105],{"type":51,"tag":502,"props":5106,"children":5107},{"style":509},[5108],{"type":57,"value":5109},"\u002F\u002F Always check support first\n",{"type":51,"tag":502,"props":5111,"children":5112},{"class":504,"line":623},[5113,5117,5121,5125,5130,5134],{"type":51,"tag":502,"props":5114,"children":5115},{"style":1022},[5116],{"type":57,"value":4476},{"type":51,"tag":502,"props":5118,"children":5119},{"style":525},[5120],{"type":57,"value":4620},{"type":51,"tag":502,"props":5122,"children":5123},{"style":531},[5124],{"type":57,"value":85},{"type":51,"tag":502,"props":5126,"children":5127},{"style":546},[5128],{"type":57,"value":5129},"isSupportVirtualBackground",{"type":51,"tag":502,"props":5131,"children":5132},{"style":525},[5133],{"type":57,"value":4634},{"type":51,"tag":502,"props":5135,"children":5136},{"style":531},[5137],{"type":57,"value":2662},{"type":51,"tag":502,"props":5139,"children":5140},{"class":504,"line":677},[5141],{"type":51,"tag":502,"props":5142,"children":5143},{"style":509},[5144],{"type":57,"value":5145},"  \u002F\u002F Blur background\n",{"type":51,"tag":502,"props":5147,"children":5148},{"class":504,"line":731},[5149,5153,5157,5161,5166,5170,5174,5179,5183,5187],{"type":51,"tag":502,"props":5150,"children":5151},{"style":1022},[5152],{"type":57,"value":3244},{"type":51,"tag":502,"props":5154,"children":5155},{"style":525},[5156],{"type":57,"value":1606},{"type":51,"tag":502,"props":5158,"children":5159},{"style":531},[5160],{"type":57,"value":85},{"type":51,"tag":502,"props":5162,"children":5163},{"style":546},[5164],{"type":57,"value":5165},"updateVirtualBackgroundImage",{"type":51,"tag":502,"props":5167,"children":5168},{"style":1157},[5169],{"type":57,"value":582},{"type":51,"tag":502,"props":5171,"children":5172},{"style":531},[5173],{"type":57,"value":587},{"type":51,"tag":502,"props":5175,"children":5176},{"style":590},[5177],{"type":57,"value":5178},"blur",{"type":51,"tag":502,"props":5180,"children":5181},{"style":531},[5182],{"type":57,"value":587},{"type":51,"tag":502,"props":5184,"children":5185},{"style":1157},[5186],{"type":57,"value":1446},{"type":51,"tag":502,"props":5188,"children":5189},{"style":531},[5190],{"type":57,"value":559},{"type":51,"tag":502,"props":5192,"children":5193},{"class":504,"line":741},[5194],{"type":51,"tag":502,"props":5195,"children":5196},{"style":1157},[5197],{"type":57,"value":2617},{"type":51,"tag":502,"props":5199,"children":5200},{"class":504,"line":750},[5201],{"type":51,"tag":502,"props":5202,"children":5203},{"style":509},[5204],{"type":57,"value":5205},"  \u002F\u002F Custom image background\n",{"type":51,"tag":502,"props":5207,"children":5208},{"class":504,"line":788},[5209,5213,5217,5221,5225,5229,5233,5238,5242,5246],{"type":51,"tag":502,"props":5210,"children":5211},{"style":1022},[5212],{"type":57,"value":3244},{"type":51,"tag":502,"props":5214,"children":5215},{"style":525},[5216],{"type":57,"value":1606},{"type":51,"tag":502,"props":5218,"children":5219},{"style":531},[5220],{"type":57,"value":85},{"type":51,"tag":502,"props":5222,"children":5223},{"style":546},[5224],{"type":57,"value":5165},{"type":51,"tag":502,"props":5226,"children":5227},{"style":1157},[5228],{"type":57,"value":582},{"type":51,"tag":502,"props":5230,"children":5231},{"style":531},[5232],{"type":57,"value":587},{"type":51,"tag":502,"props":5234,"children":5235},{"style":590},[5236],{"type":57,"value":5237},"https:\u002F\u002Fexample.com\u002Fbg.jpg",{"type":51,"tag":502,"props":5239,"children":5240},{"style":531},[5241],{"type":57,"value":587},{"type":51,"tag":502,"props":5243,"children":5244},{"style":1157},[5245],{"type":57,"value":1446},{"type":51,"tag":502,"props":5247,"children":5248},{"style":531},[5249],{"type":57,"value":559},{"type":51,"tag":502,"props":5251,"children":5252},{"class":504,"line":843},[5253],{"type":51,"tag":502,"props":5254,"children":5255},{"style":1157},[5256],{"type":57,"value":2617},{"type":51,"tag":502,"props":5258,"children":5259},{"class":504,"line":1524},[5260],{"type":51,"tag":502,"props":5261,"children":5262},{"style":509},[5263],{"type":57,"value":5264},"  \u002F\u002F Remove virtual background\n",{"type":51,"tag":502,"props":5266,"children":5267},{"class":504,"line":1532},[5268,5272,5276,5280,5284,5288,5292,5296],{"type":51,"tag":502,"props":5269,"children":5270},{"style":1022},[5271],{"type":57,"value":3244},{"type":51,"tag":502,"props":5273,"children":5274},{"style":525},[5275],{"type":57,"value":1606},{"type":51,"tag":502,"props":5277,"children":5278},{"style":531},[5279],{"type":57,"value":85},{"type":51,"tag":502,"props":5281,"children":5282},{"style":546},[5283],{"type":57,"value":5165},{"type":51,"tag":502,"props":5285,"children":5286},{"style":1157},[5287],{"type":57,"value":582},{"type":51,"tag":502,"props":5289,"children":5290},{"style":531},[5291],{"type":57,"value":3812},{"type":51,"tag":502,"props":5293,"children":5294},{"style":1157},[5295],{"type":57,"value":1446},{"type":51,"tag":502,"props":5297,"children":5298},{"style":531},[5299],{"type":57,"value":559},{"type":51,"tag":502,"props":5301,"children":5302},{"class":504,"line":1541},[5303],{"type":51,"tag":502,"props":5304,"children":5305},{"style":531},[5306],{"type":57,"value":4206},{"type":51,"tag":437,"props":5308,"children":5310},{"id":5309},"video-processor-custom-effects",[5311],{"type":57,"value":5312},"Video Processor (Custom Effects)",{"type":51,"tag":60,"props":5314,"children":5315},{},[5316,5318,5324],{"type":57,"value":5317},"The ",{"type":51,"tag":498,"props":5319,"children":5321},{"className":5320},[],[5322],{"type":57,"value":5323},"VideoProcessor",{"type":57,"value":5325}," class allows you to intercept and modify video frames:",{"type":51,"tag":490,"props":5327,"children":5329},{"className":492,"code":5328,"language":494,"meta":495,"style":495},"\u002F\u002F video-processor-worker.js\nclass MyVideoProcessor extends VideoProcessor {\n  processFrame(input, output) {\n    const ctx = output.getContext('2d');\n    ctx.drawImage(input, 0, 0);\n    \n    \u002F\u002F Add overlay\n    ctx.fillStyle = 'white';\n    ctx.font = '24px Arial';\n    ctx.fillText('Live', 20, 40);\n    \n    return true;\n  }\n}\n",[5330],{"type":51,"tag":498,"props":5331,"children":5332},{"__ignoreMap":495},[5333,5341,5368,5402,5456,5506,5514,5522,5559,5596,5655,5662,5678,5685],{"type":51,"tag":502,"props":5334,"children":5335},{"class":504,"line":505},[5336],{"type":51,"tag":502,"props":5337,"children":5338},{"style":509},[5339],{"type":57,"value":5340},"\u002F\u002F video-processor-worker.js\n",{"type":51,"tag":502,"props":5342,"children":5343},{"class":504,"line":515},[5344,5349,5354,5359,5364],{"type":51,"tag":502,"props":5345,"children":5346},{"style":519},[5347],{"type":57,"value":5348},"class",{"type":51,"tag":502,"props":5350,"children":5351},{"style":996},[5352],{"type":57,"value":5353}," MyVideoProcessor",{"type":51,"tag":502,"props":5355,"children":5356},{"style":519},[5357],{"type":57,"value":5358}," extends",{"type":51,"tag":502,"props":5360,"children":5361},{"style":996},[5362],{"type":57,"value":5363}," VideoProcessor",{"type":51,"tag":502,"props":5365,"children":5366},{"style":531},[5367],{"type":57,"value":2566},{"type":51,"tag":502,"props":5369,"children":5370},{"class":504,"line":562},[5371,5376,5380,5385,5389,5394,5398],{"type":51,"tag":502,"props":5372,"children":5373},{"style":1157},[5374],{"type":57,"value":5375},"  processFrame",{"type":51,"tag":502,"props":5377,"children":5378},{"style":531},[5379],{"type":57,"value":582},{"type":51,"tag":502,"props":5381,"children":5382},{"style":2549},[5383],{"type":57,"value":5384},"input",{"type":51,"tag":502,"props":5386,"children":5387},{"style":531},[5388],{"type":57,"value":602},{"type":51,"tag":502,"props":5390,"children":5391},{"style":2549},[5392],{"type":57,"value":5393}," output",{"type":51,"tag":502,"props":5395,"children":5396},{"style":531},[5397],{"type":57,"value":1446},{"type":51,"tag":502,"props":5399,"children":5400},{"style":531},[5401],{"type":57,"value":2566},{"type":51,"tag":502,"props":5403,"children":5404},{"class":504,"line":623},[5405,5409,5414,5418,5422,5426,5431,5435,5439,5444,5448,5452],{"type":51,"tag":502,"props":5406,"children":5407},{"style":519},[5408],{"type":57,"value":2678},{"type":51,"tag":502,"props":5410,"children":5411},{"style":525},[5412],{"type":57,"value":5413}," ctx",{"type":51,"tag":502,"props":5415,"children":5416},{"style":531},[5417],{"type":57,"value":2600},{"type":51,"tag":502,"props":5419,"children":5420},{"style":525},[5421],{"type":57,"value":5393},{"type":51,"tag":502,"props":5423,"children":5424},{"style":531},[5425],{"type":57,"value":85},{"type":51,"tag":502,"props":5427,"children":5428},{"style":546},[5429],{"type":57,"value":5430},"getContext",{"type":51,"tag":502,"props":5432,"children":5433},{"style":1157},[5434],{"type":57,"value":582},{"type":51,"tag":502,"props":5436,"children":5437},{"style":531},[5438],{"type":57,"value":587},{"type":51,"tag":502,"props":5440,"children":5441},{"style":590},[5442],{"type":57,"value":5443},"2d",{"type":51,"tag":502,"props":5445,"children":5446},{"style":531},[5447],{"type":57,"value":587},{"type":51,"tag":502,"props":5449,"children":5450},{"style":1157},[5451],{"type":57,"value":1446},{"type":51,"tag":502,"props":5453,"children":5454},{"style":531},[5455],{"type":57,"value":559},{"type":51,"tag":502,"props":5457,"children":5458},{"class":504,"line":677},[5459,5464,5468,5473,5477,5481,5485,5490,5494,5498,5502],{"type":51,"tag":502,"props":5460,"children":5461},{"style":525},[5462],{"type":57,"value":5463},"    ctx",{"type":51,"tag":502,"props":5465,"children":5466},{"style":531},[5467],{"type":57,"value":85},{"type":51,"tag":502,"props":5469,"children":5470},{"style":546},[5471],{"type":57,"value":5472},"drawImage",{"type":51,"tag":502,"props":5474,"children":5475},{"style":1157},[5476],{"type":57,"value":582},{"type":51,"tag":502,"props":5478,"children":5479},{"style":525},[5480],{"type":57,"value":5384},{"type":51,"tag":502,"props":5482,"children":5483},{"style":531},[5484],{"type":57,"value":602},{"type":51,"tag":502,"props":5486,"children":5487},{"style":3134},[5488],{"type":57,"value":5489}," 0",{"type":51,"tag":502,"props":5491,"children":5492},{"style":531},[5493],{"type":57,"value":602},{"type":51,"tag":502,"props":5495,"children":5496},{"style":3134},[5497],{"type":57,"value":5489},{"type":51,"tag":502,"props":5499,"children":5500},{"style":1157},[5501],{"type":57,"value":1446},{"type":51,"tag":502,"props":5503,"children":5504},{"style":531},[5505],{"type":57,"value":559},{"type":51,"tag":502,"props":5507,"children":5508},{"class":504,"line":731},[5509],{"type":51,"tag":502,"props":5510,"children":5511},{"style":1157},[5512],{"type":57,"value":5513},"    \n",{"type":51,"tag":502,"props":5515,"children":5516},{"class":504,"line":741},[5517],{"type":51,"tag":502,"props":5518,"children":5519},{"style":509},[5520],{"type":57,"value":5521},"    \u002F\u002F Add overlay\n",{"type":51,"tag":502,"props":5523,"children":5524},{"class":504,"line":750},[5525,5529,5533,5538,5542,5546,5551,5555],{"type":51,"tag":502,"props":5526,"children":5527},{"style":525},[5528],{"type":57,"value":5463},{"type":51,"tag":502,"props":5530,"children":5531},{"style":531},[5532],{"type":57,"value":85},{"type":51,"tag":502,"props":5534,"children":5535},{"style":525},[5536],{"type":57,"value":5537},"fillStyle",{"type":51,"tag":502,"props":5539,"children":5540},{"style":531},[5541],{"type":57,"value":2600},{"type":51,"tag":502,"props":5543,"children":5544},{"style":531},[5545],{"type":57,"value":1040},{"type":51,"tag":502,"props":5547,"children":5548},{"style":590},[5549],{"type":57,"value":5550},"white",{"type":51,"tag":502,"props":5552,"children":5553},{"style":531},[5554],{"type":57,"value":587},{"type":51,"tag":502,"props":5556,"children":5557},{"style":531},[5558],{"type":57,"value":559},{"type":51,"tag":502,"props":5560,"children":5561},{"class":504,"line":788},[5562,5566,5570,5575,5579,5583,5588,5592],{"type":51,"tag":502,"props":5563,"children":5564},{"style":525},[5565],{"type":57,"value":5463},{"type":51,"tag":502,"props":5567,"children":5568},{"style":531},[5569],{"type":57,"value":85},{"type":51,"tag":502,"props":5571,"children":5572},{"style":525},[5573],{"type":57,"value":5574},"font",{"type":51,"tag":502,"props":5576,"children":5577},{"style":531},[5578],{"type":57,"value":2600},{"type":51,"tag":502,"props":5580,"children":5581},{"style":531},[5582],{"type":57,"value":1040},{"type":51,"tag":502,"props":5584,"children":5585},{"style":590},[5586],{"type":57,"value":5587},"24px Arial",{"type":51,"tag":502,"props":5589,"children":5590},{"style":531},[5591],{"type":57,"value":587},{"type":51,"tag":502,"props":5593,"children":5594},{"style":531},[5595],{"type":57,"value":559},{"type":51,"tag":502,"props":5597,"children":5598},{"class":504,"line":843},[5599,5603,5607,5612,5616,5620,5625,5629,5633,5638,5642,5647,5651],{"type":51,"tag":502,"props":5600,"children":5601},{"style":525},[5602],{"type":57,"value":5463},{"type":51,"tag":502,"props":5604,"children":5605},{"style":531},[5606],{"type":57,"value":85},{"type":51,"tag":502,"props":5608,"children":5609},{"style":546},[5610],{"type":57,"value":5611},"fillText",{"type":51,"tag":502,"props":5613,"children":5614},{"style":1157},[5615],{"type":57,"value":582},{"type":51,"tag":502,"props":5617,"children":5618},{"style":531},[5619],{"type":57,"value":587},{"type":51,"tag":502,"props":5621,"children":5622},{"style":590},[5623],{"type":57,"value":5624},"Live",{"type":51,"tag":502,"props":5626,"children":5627},{"style":531},[5628],{"type":57,"value":587},{"type":51,"tag":502,"props":5630,"children":5631},{"style":531},[5632],{"type":57,"value":602},{"type":51,"tag":502,"props":5634,"children":5635},{"style":3134},[5636],{"type":57,"value":5637}," 20",{"type":51,"tag":502,"props":5639,"children":5640},{"style":531},[5641],{"type":57,"value":602},{"type":51,"tag":502,"props":5643,"children":5644},{"style":3134},[5645],{"type":57,"value":5646}," 40",{"type":51,"tag":502,"props":5648,"children":5649},{"style":1157},[5650],{"type":57,"value":1446},{"type":51,"tag":502,"props":5652,"children":5653},{"style":531},[5654],{"type":57,"value":559},{"type":51,"tag":502,"props":5656,"children":5657},{"class":504,"line":1524},[5658],{"type":51,"tag":502,"props":5659,"children":5660},{"style":1157},[5661],{"type":57,"value":5513},{"type":51,"tag":502,"props":5663,"children":5664},{"class":504,"line":1532},[5665,5670,5674],{"type":51,"tag":502,"props":5666,"children":5667},{"style":1022},[5668],{"type":57,"value":5669},"    return",{"type":51,"tag":502,"props":5671,"children":5672},{"style":1433},[5673],{"type":57,"value":1436},{"type":51,"tag":502,"props":5675,"children":5676},{"style":531},[5677],{"type":57,"value":559},{"type":51,"tag":502,"props":5679,"children":5680},{"class":504,"line":1541},[5681],{"type":51,"tag":502,"props":5682,"children":5683},{"style":531},[5684],{"type":57,"value":2873},{"type":51,"tag":502,"props":5686,"children":5687},{"class":504,"line":1579},[5688],{"type":51,"tag":502,"props":5689,"children":5690},{"style":531},[5691],{"type":57,"value":4206},{"type":51,"tag":437,"props":5693,"children":5695},{"id":5694},"webrtc-mode",[5696],{"type":57,"value":5697},"WebRTC Mode",{"type":51,"tag":60,"props":5699,"children":5700},{},[5701],{"type":57,"value":5702},"Enable WebRTC mode for direct peer-to-peer streaming with HD video support:",{"type":51,"tag":490,"props":5704,"children":5706},{"className":492,"code":5705,"language":494,"meta":495,"style":495},"await client.init('en-US', 'Global', {\n  patchJsMedia: true,\n  webrtc: true  \u002F\u002F Enable WebRTC mode\n});\n",[5707],{"type":51,"tag":498,"props":5708,"children":5709},{"__ignoreMap":495},[5710,5769,5790,5811],{"type":51,"tag":502,"props":5711,"children":5712},{"class":504,"line":505},[5713,5717,5721,5725,5729,5733,5737,5741,5745,5749,5753,5757,5761,5765],{"type":51,"tag":502,"props":5714,"children":5715},{"style":1022},[5716],{"type":57,"value":1363},{"type":51,"tag":502,"props":5718,"children":5719},{"style":525},[5720],{"type":57,"value":1368},{"type":51,"tag":502,"props":5722,"children":5723},{"style":531},[5724],{"type":57,"value":85},{"type":51,"tag":502,"props":5726,"children":5727},{"style":546},[5728],{"type":57,"value":1377},{"type":51,"tag":502,"props":5730,"children":5731},{"style":525},[5732],{"type":57,"value":582},{"type":51,"tag":502,"props":5734,"children":5735},{"style":531},[5736],{"type":57,"value":587},{"type":51,"tag":502,"props":5738,"children":5739},{"style":590},[5740],{"type":57,"value":1390},{"type":51,"tag":502,"props":5742,"children":5743},{"style":531},[5744],{"type":57,"value":587},{"type":51,"tag":502,"props":5746,"children":5747},{"style":531},[5748],{"type":57,"value":602},{"type":51,"tag":502,"props":5750,"children":5751},{"style":531},[5752],{"type":57,"value":1040},{"type":51,"tag":502,"props":5754,"children":5755},{"style":590},[5756],{"type":57,"value":1407},{"type":51,"tag":502,"props":5758,"children":5759},{"style":531},[5760],{"type":57,"value":587},{"type":51,"tag":502,"props":5762,"children":5763},{"style":531},[5764],{"type":57,"value":602},{"type":51,"tag":502,"props":5766,"children":5767},{"style":531},[5768],{"type":57,"value":2566},{"type":51,"tag":502,"props":5770,"children":5771},{"class":504,"line":515},[5772,5777,5781,5785],{"type":51,"tag":502,"props":5773,"children":5774},{"style":1157},[5775],{"type":57,"value":5776},"  patchJsMedia",{"type":51,"tag":502,"props":5778,"children":5779},{"style":531},[5780],{"type":57,"value":1430},{"type":51,"tag":502,"props":5782,"children":5783},{"style":1433},[5784],{"type":57,"value":1436},{"type":51,"tag":502,"props":5786,"children":5787},{"style":531},[5788],{"type":57,"value":5789},",\n",{"type":51,"tag":502,"props":5791,"children":5792},{"class":504,"line":562},[5793,5798,5802,5806],{"type":51,"tag":502,"props":5794,"children":5795},{"style":1157},[5796],{"type":57,"value":5797},"  webrtc",{"type":51,"tag":502,"props":5799,"children":5800},{"style":531},[5801],{"type":57,"value":1430},{"type":51,"tag":502,"props":5803,"children":5804},{"style":1433},[5805],{"type":57,"value":1436},{"type":51,"tag":502,"props":5807,"children":5808},{"style":509},[5809],{"type":57,"value":5810},"  \u002F\u002F Enable WebRTC mode\n",{"type":51,"tag":502,"props":5812,"children":5813},{"class":504,"line":623},[5814,5818,5822],{"type":51,"tag":502,"props":5815,"children":5816},{"style":531},[5817],{"type":57,"value":2881},{"type":51,"tag":502,"props":5819,"children":5820},{"style":525},[5821],{"type":57,"value":1446},{"type":51,"tag":502,"props":5823,"children":5824},{"style":531},[5825],{"type":57,"value":559},{"type":51,"tag":128,"props":5827,"children":5829},{"id":5828},"feature-clients",[5830],{"type":57,"value":5831},"Feature Clients",{"type":51,"tag":60,"props":5833,"children":5834},{},[5835],{"type":57,"value":5836},"Access specialized clients from the VideoClient:",{"type":51,"tag":5838,"props":5839,"children":5840},"table",{},[5841,5865],{"type":51,"tag":5842,"props":5843,"children":5844},"thead",{},[5845],{"type":51,"tag":5846,"props":5847,"children":5848},"tr",{},[5849,5855,5860],{"type":51,"tag":5850,"props":5851,"children":5852},"th",{},[5853],{"type":57,"value":5854},"Client",{"type":51,"tag":5850,"props":5856,"children":5857},{},[5858],{"type":57,"value":5859},"Access Method",{"type":51,"tag":5850,"props":5861,"children":5862},{},[5863],{"type":57,"value":5864},"Purpose",{"type":51,"tag":5866,"props":5867,"children":5868},"tbody",{},[5869,5895,5919,5944,5969,5994,6019,6044],{"type":51,"tag":5846,"props":5870,"children":5871},{},[5872,5881,5890],{"type":51,"tag":5873,"props":5874,"children":5875},"td",{},[5876],{"type":51,"tag":71,"props":5877,"children":5878},{},[5879],{"type":57,"value":5880},"Stream",{"type":51,"tag":5873,"props":5882,"children":5883},{},[5884],{"type":51,"tag":498,"props":5885,"children":5887},{"className":5886},[],[5888],{"type":57,"value":5889},"client.getMediaStream()",{"type":51,"tag":5873,"props":5891,"children":5892},{},[5893],{"type":57,"value":5894},"Video, audio, screen share, devices",{"type":51,"tag":5846,"props":5896,"children":5897},{},[5898,5905,5914],{"type":51,"tag":5873,"props":5899,"children":5900},{},[5901],{"type":51,"tag":71,"props":5902,"children":5903},{},[5904],{"type":57,"value":377},{"type":51,"tag":5873,"props":5906,"children":5907},{},[5908],{"type":51,"tag":498,"props":5909,"children":5911},{"className":5910},[],[5912],{"type":57,"value":5913},"client.getChatClient()",{"type":51,"tag":5873,"props":5915,"children":5916},{},[5917],{"type":57,"value":5918},"Send\u002Freceive messages",{"type":51,"tag":5846,"props":5920,"children":5921},{},[5922,5930,5939],{"type":51,"tag":5873,"props":5923,"children":5924},{},[5925],{"type":51,"tag":71,"props":5926,"children":5927},{},[5928],{"type":57,"value":5929},"Command",{"type":51,"tag":5873,"props":5931,"children":5932},{},[5933],{"type":51,"tag":498,"props":5934,"children":5936},{"className":5935},[],[5937],{"type":57,"value":5938},"client.getCommandClient()",{"type":51,"tag":5873,"props":5940,"children":5941},{},[5942],{"type":57,"value":5943},"Custom commands (reactions, etc.)",{"type":51,"tag":5846,"props":5945,"children":5946},{},[5947,5955,5964],{"type":51,"tag":5873,"props":5948,"children":5949},{},[5950],{"type":51,"tag":71,"props":5951,"children":5952},{},[5953],{"type":57,"value":5954},"Recording",{"type":51,"tag":5873,"props":5956,"children":5957},{},[5958],{"type":51,"tag":498,"props":5959,"children":5961},{"className":5960},[],[5962],{"type":57,"value":5963},"client.getRecordingClient()",{"type":51,"tag":5873,"props":5965,"children":5966},{},[5967],{"type":57,"value":5968},"Cloud recording control",{"type":51,"tag":5846,"props":5970,"children":5971},{},[5972,5980,5989],{"type":51,"tag":5873,"props":5973,"children":5974},{},[5975],{"type":51,"tag":71,"props":5976,"children":5977},{},[5978],{"type":57,"value":5979},"Transcription",{"type":51,"tag":5873,"props":5981,"children":5982},{},[5983],{"type":51,"tag":498,"props":5984,"children":5986},{"className":5985},[],[5987],{"type":57,"value":5988},"client.getLiveTranscriptionClient()",{"type":51,"tag":5873,"props":5990,"children":5991},{},[5992],{"type":57,"value":5993},"Live captions",{"type":51,"tag":5846,"props":5995,"children":5996},{},[5997,6005,6014],{"type":51,"tag":5873,"props":5998,"children":5999},{},[6000],{"type":51,"tag":71,"props":6001,"children":6002},{},[6003],{"type":57,"value":6004},"LiveStream",{"type":51,"tag":5873,"props":6006,"children":6007},{},[6008],{"type":51,"tag":498,"props":6009,"children":6011},{"className":6010},[],[6012],{"type":57,"value":6013},"client.getLiveStreamClient()",{"type":51,"tag":5873,"props":6015,"children":6016},{},[6017],{"type":57,"value":6018},"RTMP streaming",{"type":51,"tag":5846,"props":6020,"children":6021},{},[6022,6030,6039],{"type":51,"tag":5873,"props":6023,"children":6024},{},[6025],{"type":51,"tag":71,"props":6026,"children":6027},{},[6028],{"type":57,"value":6029},"Subsession",{"type":51,"tag":5873,"props":6031,"children":6032},{},[6033],{"type":51,"tag":498,"props":6034,"children":6036},{"className":6035},[],[6037],{"type":57,"value":6038},"client.getSubsessionClient()",{"type":51,"tag":5873,"props":6040,"children":6041},{},[6042],{"type":57,"value":6043},"Breakout rooms",{"type":51,"tag":5846,"props":6045,"children":6046},{},[6047,6054,6063],{"type":51,"tag":5873,"props":6048,"children":6049},{},[6050],{"type":51,"tag":71,"props":6051,"children":6052},{},[6053],{"type":57,"value":417},{"type":51,"tag":5873,"props":6055,"children":6056},{},[6057],{"type":51,"tag":498,"props":6058,"children":6060},{"className":6059},[],[6061],{"type":57,"value":6062},"client.getWhiteboardClient()",{"type":51,"tag":5873,"props":6064,"children":6065},{},[6066],{"type":57,"value":6067},"Collaborative whiteboard",{"type":51,"tag":128,"props":6069,"children":6071},{"id":6070},"common-tasks",[6072],{"type":57,"value":6073},"Common Tasks",{"type":51,"tag":437,"props":6075,"children":6077},{"id":6076},"startstop-video",[6078],{"type":57,"value":6079},"Start\u002FStop Video",{"type":51,"tag":490,"props":6081,"children":6083},{"className":492,"code":6082,"language":494,"meta":495,"style":495},"await stream.startVideo();\nawait stream.stopVideo();\n",[6084],{"type":51,"tag":498,"props":6085,"children":6086},{"__ignoreMap":495},[6087,6114],{"type":51,"tag":502,"props":6088,"children":6089},{"class":504,"line":505},[6090,6094,6098,6102,6106,6110],{"type":51,"tag":502,"props":6091,"children":6092},{"style":1022},[6093],{"type":57,"value":1363},{"type":51,"tag":502,"props":6095,"children":6096},{"style":525},[6097],{"type":57,"value":1606},{"type":51,"tag":502,"props":6099,"children":6100},{"style":531},[6101],{"type":57,"value":85},{"type":51,"tag":502,"props":6103,"children":6104},{"style":546},[6105],{"type":57,"value":1615},{"type":51,"tag":502,"props":6107,"children":6108},{"style":525},[6109],{"type":57,"value":554},{"type":51,"tag":502,"props":6111,"children":6112},{"style":531},[6113],{"type":57,"value":559},{"type":51,"tag":502,"props":6115,"children":6116},{"class":504,"line":515},[6117,6121,6125,6129,6134,6138],{"type":51,"tag":502,"props":6118,"children":6119},{"style":1022},[6120],{"type":57,"value":1363},{"type":51,"tag":502,"props":6122,"children":6123},{"style":525},[6124],{"type":57,"value":1606},{"type":51,"tag":502,"props":6126,"children":6127},{"style":531},[6128],{"type":57,"value":85},{"type":51,"tag":502,"props":6130,"children":6131},{"style":546},[6132],{"type":57,"value":6133},"stopVideo",{"type":51,"tag":502,"props":6135,"children":6136},{"style":525},[6137],{"type":57,"value":554},{"type":51,"tag":502,"props":6139,"children":6140},{"style":531},[6141],{"type":57,"value":559},{"type":51,"tag":437,"props":6143,"children":6145},{"id":6144},"startstop-audio",[6146],{"type":57,"value":6147},"Start\u002FStop Audio",{"type":51,"tag":490,"props":6149,"children":6151},{"className":492,"code":6150,"language":494,"meta":495,"style":495},"await stream.startAudio();\nawait stream.muteAudio();\nawait stream.unmuteAudio();\nawait stream.stopAudio();\n",[6152],{"type":51,"tag":498,"props":6153,"children":6154},{"__ignoreMap":495},[6155,6182,6210,6238],{"type":51,"tag":502,"props":6156,"children":6157},{"class":504,"line":505},[6158,6162,6166,6170,6174,6178],{"type":51,"tag":502,"props":6159,"children":6160},{"style":1022},[6161],{"type":57,"value":1363},{"type":51,"tag":502,"props":6163,"children":6164},{"style":525},[6165],{"type":57,"value":1606},{"type":51,"tag":502,"props":6167,"children":6168},{"style":531},[6169],{"type":57,"value":85},{"type":51,"tag":502,"props":6171,"children":6172},{"style":546},[6173],{"type":57,"value":1644},{"type":51,"tag":502,"props":6175,"children":6176},{"style":525},[6177],{"type":57,"value":554},{"type":51,"tag":502,"props":6179,"children":6180},{"style":531},[6181],{"type":57,"value":559},{"type":51,"tag":502,"props":6183,"children":6184},{"class":504,"line":515},[6185,6189,6193,6197,6202,6206],{"type":51,"tag":502,"props":6186,"children":6187},{"style":1022},[6188],{"type":57,"value":1363},{"type":51,"tag":502,"props":6190,"children":6191},{"style":525},[6192],{"type":57,"value":1606},{"type":51,"tag":502,"props":6194,"children":6195},{"style":531},[6196],{"type":57,"value":85},{"type":51,"tag":502,"props":6198,"children":6199},{"style":546},[6200],{"type":57,"value":6201},"muteAudio",{"type":51,"tag":502,"props":6203,"children":6204},{"style":525},[6205],{"type":57,"value":554},{"type":51,"tag":502,"props":6207,"children":6208},{"style":531},[6209],{"type":57,"value":559},{"type":51,"tag":502,"props":6211,"children":6212},{"class":504,"line":562},[6213,6217,6221,6225,6230,6234],{"type":51,"tag":502,"props":6214,"children":6215},{"style":1022},[6216],{"type":57,"value":1363},{"type":51,"tag":502,"props":6218,"children":6219},{"style":525},[6220],{"type":57,"value":1606},{"type":51,"tag":502,"props":6222,"children":6223},{"style":531},[6224],{"type":57,"value":85},{"type":51,"tag":502,"props":6226,"children":6227},{"style":546},[6228],{"type":57,"value":6229},"unmuteAudio",{"type":51,"tag":502,"props":6231,"children":6232},{"style":525},[6233],{"type":57,"value":554},{"type":51,"tag":502,"props":6235,"children":6236},{"style":531},[6237],{"type":57,"value":559},{"type":51,"tag":502,"props":6239,"children":6240},{"class":504,"line":623},[6241,6245,6249,6253,6258,6262],{"type":51,"tag":502,"props":6242,"children":6243},{"style":1022},[6244],{"type":57,"value":1363},{"type":51,"tag":502,"props":6246,"children":6247},{"style":525},[6248],{"type":57,"value":1606},{"type":51,"tag":502,"props":6250,"children":6251},{"style":531},[6252],{"type":57,"value":85},{"type":51,"tag":502,"props":6254,"children":6255},{"style":546},[6256],{"type":57,"value":6257},"stopAudio",{"type":51,"tag":502,"props":6259,"children":6260},{"style":525},[6261],{"type":57,"value":554},{"type":51,"tag":502,"props":6263,"children":6264},{"style":531},[6265],{"type":57,"value":559},{"type":51,"tag":437,"props":6267,"children":6269},{"id":6268},"switch-devices",[6270],{"type":57,"value":6271},"Switch Devices",{"type":51,"tag":490,"props":6273,"children":6275},{"className":492,"code":6274,"language":494,"meta":495,"style":495},"\u002F\u002F Get available devices\nconst cameras = stream.getCameraList();\nconst mics = stream.getMicList();\nconst speakers = stream.getSpeakerList();\n\n\u002F\u002F Switch devices\nawait stream.switchCamera(cameraId);\nawait stream.switchMicrophone(micId);\nawait stream.switchSpeaker(speakerId);\n",[6276],{"type":51,"tag":498,"props":6277,"children":6278},{"__ignoreMap":495},[6279,6287,6324,6361,6398,6405,6413,6442,6471],{"type":51,"tag":502,"props":6280,"children":6281},{"class":504,"line":505},[6282],{"type":51,"tag":502,"props":6283,"children":6284},{"style":509},[6285],{"type":57,"value":6286},"\u002F\u002F Get available devices\n",{"type":51,"tag":502,"props":6288,"children":6289},{"class":504,"line":515},[6290,6294,6299,6303,6307,6311,6316,6320],{"type":51,"tag":502,"props":6291,"children":6292},{"style":519},[6293],{"type":57,"value":522},{"type":51,"tag":502,"props":6295,"children":6296},{"style":525},[6297],{"type":57,"value":6298}," cameras ",{"type":51,"tag":502,"props":6300,"children":6301},{"style":531},[6302],{"type":57,"value":534},{"type":51,"tag":502,"props":6304,"children":6305},{"style":525},[6306],{"type":57,"value":1606},{"type":51,"tag":502,"props":6308,"children":6309},{"style":531},[6310],{"type":57,"value":85},{"type":51,"tag":502,"props":6312,"children":6313},{"style":546},[6314],{"type":57,"value":6315},"getCameraList",{"type":51,"tag":502,"props":6317,"children":6318},{"style":525},[6319],{"type":57,"value":554},{"type":51,"tag":502,"props":6321,"children":6322},{"style":531},[6323],{"type":57,"value":559},{"type":51,"tag":502,"props":6325,"children":6326},{"class":504,"line":562},[6327,6331,6336,6340,6344,6348,6353,6357],{"type":51,"tag":502,"props":6328,"children":6329},{"style":519},[6330],{"type":57,"value":522},{"type":51,"tag":502,"props":6332,"children":6333},{"style":525},[6334],{"type":57,"value":6335}," mics ",{"type":51,"tag":502,"props":6337,"children":6338},{"style":531},[6339],{"type":57,"value":534},{"type":51,"tag":502,"props":6341,"children":6342},{"style":525},[6343],{"type":57,"value":1606},{"type":51,"tag":502,"props":6345,"children":6346},{"style":531},[6347],{"type":57,"value":85},{"type":51,"tag":502,"props":6349,"children":6350},{"style":546},[6351],{"type":57,"value":6352},"getMicList",{"type":51,"tag":502,"props":6354,"children":6355},{"style":525},[6356],{"type":57,"value":554},{"type":51,"tag":502,"props":6358,"children":6359},{"style":531},[6360],{"type":57,"value":559},{"type":51,"tag":502,"props":6362,"children":6363},{"class":504,"line":623},[6364,6368,6373,6377,6381,6385,6390,6394],{"type":51,"tag":502,"props":6365,"children":6366},{"style":519},[6367],{"type":57,"value":522},{"type":51,"tag":502,"props":6369,"children":6370},{"style":525},[6371],{"type":57,"value":6372}," speakers ",{"type":51,"tag":502,"props":6374,"children":6375},{"style":531},[6376],{"type":57,"value":534},{"type":51,"tag":502,"props":6378,"children":6379},{"style":525},[6380],{"type":57,"value":1606},{"type":51,"tag":502,"props":6382,"children":6383},{"style":531},[6384],{"type":57,"value":85},{"type":51,"tag":502,"props":6386,"children":6387},{"style":546},[6388],{"type":57,"value":6389},"getSpeakerList",{"type":51,"tag":502,"props":6391,"children":6392},{"style":525},[6393],{"type":57,"value":554},{"type":51,"tag":502,"props":6395,"children":6396},{"style":531},[6397],{"type":57,"value":559},{"type":51,"tag":502,"props":6399,"children":6400},{"class":504,"line":677},[6401],{"type":51,"tag":502,"props":6402,"children":6403},{"emptyLinePlaceholder":735},[6404],{"type":57,"value":738},{"type":51,"tag":502,"props":6406,"children":6407},{"class":504,"line":731},[6408],{"type":51,"tag":502,"props":6409,"children":6410},{"style":509},[6411],{"type":57,"value":6412},"\u002F\u002F Switch devices\n",{"type":51,"tag":502,"props":6414,"children":6415},{"class":504,"line":741},[6416,6420,6424,6428,6433,6438],{"type":51,"tag":502,"props":6417,"children":6418},{"style":1022},[6419],{"type":57,"value":1363},{"type":51,"tag":502,"props":6421,"children":6422},{"style":525},[6423],{"type":57,"value":1606},{"type":51,"tag":502,"props":6425,"children":6426},{"style":531},[6427],{"type":57,"value":85},{"type":51,"tag":502,"props":6429,"children":6430},{"style":546},[6431],{"type":57,"value":6432},"switchCamera",{"type":51,"tag":502,"props":6434,"children":6435},{"style":525},[6436],{"type":57,"value":6437},"(cameraId)",{"type":51,"tag":502,"props":6439,"children":6440},{"style":531},[6441],{"type":57,"value":559},{"type":51,"tag":502,"props":6443,"children":6444},{"class":504,"line":750},[6445,6449,6453,6457,6462,6467],{"type":51,"tag":502,"props":6446,"children":6447},{"style":1022},[6448],{"type":57,"value":1363},{"type":51,"tag":502,"props":6450,"children":6451},{"style":525},[6452],{"type":57,"value":1606},{"type":51,"tag":502,"props":6454,"children":6455},{"style":531},[6456],{"type":57,"value":85},{"type":51,"tag":502,"props":6458,"children":6459},{"style":546},[6460],{"type":57,"value":6461},"switchMicrophone",{"type":51,"tag":502,"props":6463,"children":6464},{"style":525},[6465],{"type":57,"value":6466},"(micId)",{"type":51,"tag":502,"props":6468,"children":6469},{"style":531},[6470],{"type":57,"value":559},{"type":51,"tag":502,"props":6472,"children":6473},{"class":504,"line":788},[6474,6478,6482,6486,6491,6496],{"type":51,"tag":502,"props":6475,"children":6476},{"style":1022},[6477],{"type":57,"value":1363},{"type":51,"tag":502,"props":6479,"children":6480},{"style":525},[6481],{"type":57,"value":1606},{"type":51,"tag":502,"props":6483,"children":6484},{"style":531},[6485],{"type":57,"value":85},{"type":51,"tag":502,"props":6487,"children":6488},{"style":546},[6489],{"type":57,"value":6490},"switchSpeaker",{"type":51,"tag":502,"props":6492,"children":6493},{"style":525},[6494],{"type":57,"value":6495},"(speakerId)",{"type":51,"tag":502,"props":6497,"children":6498},{"style":531},[6499],{"type":57,"value":559},{"type":51,"tag":437,"props":6501,"children":6503},{"id":6502},"screen-sharing",[6504],{"type":57,"value":347},{"type":51,"tag":490,"props":6506,"children":6508},{"className":492,"code":6507,"language":494,"meta":495,"style":495},"\u002F\u002F Start sharing\nawait stream.startShareScreen(canvas);\n\n\u002F\u002F Stop sharing\nawait stream.stopShareScreen();\n\n\u002F\u002F Receive share\nclient.on('active-share-change', async (payload) => {\n  if (payload.state === 'Active') {\n    await stream.startShareView(canvas, payload.userId);\n  } else {\n    await stream.stopShareView();\n  }\n});\n",[6509],{"type":51,"tag":498,"props":6510,"children":6511},{"__ignoreMap":495},[6512,6520,6548,6555,6563,6591,6598,6606,6666,6715,6767,6782,6810,6817],{"type":51,"tag":502,"props":6513,"children":6514},{"class":504,"line":505},[6515],{"type":51,"tag":502,"props":6516,"children":6517},{"style":509},[6518],{"type":57,"value":6519},"\u002F\u002F Start sharing\n",{"type":51,"tag":502,"props":6521,"children":6522},{"class":504,"line":515},[6523,6527,6531,6535,6539,6544],{"type":51,"tag":502,"props":6524,"children":6525},{"style":1022},[6526],{"type":57,"value":1363},{"type":51,"tag":502,"props":6528,"children":6529},{"style":525},[6530],{"type":57,"value":1606},{"type":51,"tag":502,"props":6532,"children":6533},{"style":531},[6534],{"type":57,"value":85},{"type":51,"tag":502,"props":6536,"children":6537},{"style":546},[6538],{"type":57,"value":4720},{"type":51,"tag":502,"props":6540,"children":6541},{"style":525},[6542],{"type":57,"value":6543},"(canvas)",{"type":51,"tag":502,"props":6545,"children":6546},{"style":531},[6547],{"type":57,"value":559},{"type":51,"tag":502,"props":6549,"children":6550},{"class":504,"line":562},[6551],{"type":51,"tag":502,"props":6552,"children":6553},{"emptyLinePlaceholder":735},[6554],{"type":57,"value":738},{"type":51,"tag":502,"props":6556,"children":6557},{"class":504,"line":623},[6558],{"type":51,"tag":502,"props":6559,"children":6560},{"style":509},[6561],{"type":57,"value":6562},"\u002F\u002F Stop sharing\n",{"type":51,"tag":502,"props":6564,"children":6565},{"class":504,"line":677},[6566,6570,6574,6578,6583,6587],{"type":51,"tag":502,"props":6567,"children":6568},{"style":1022},[6569],{"type":57,"value":1363},{"type":51,"tag":502,"props":6571,"children":6572},{"style":525},[6573],{"type":57,"value":1606},{"type":51,"tag":502,"props":6575,"children":6576},{"style":531},[6577],{"type":57,"value":85},{"type":51,"tag":502,"props":6579,"children":6580},{"style":546},[6581],{"type":57,"value":6582},"stopShareScreen",{"type":51,"tag":502,"props":6584,"children":6585},{"style":525},[6586],{"type":57,"value":554},{"type":51,"tag":502,"props":6588,"children":6589},{"style":531},[6590],{"type":57,"value":559},{"type":51,"tag":502,"props":6592,"children":6593},{"class":504,"line":731},[6594],{"type":51,"tag":502,"props":6595,"children":6596},{"emptyLinePlaceholder":735},[6597],{"type":57,"value":738},{"type":51,"tag":502,"props":6599,"children":6600},{"class":504,"line":741},[6601],{"type":51,"tag":502,"props":6602,"children":6603},{"style":509},[6604],{"type":57,"value":6605},"\u002F\u002F Receive share\n",{"type":51,"tag":502,"props":6607,"children":6608},{"class":504,"line":750},[6609,6613,6617,6621,6625,6629,6634,6638,6642,6646,6650,6654,6658,6662],{"type":51,"tag":502,"props":6610,"children":6611},{"style":525},[6612],{"type":57,"value":2507},{"type":51,"tag":502,"props":6614,"children":6615},{"style":531},[6616],{"type":57,"value":85},{"type":51,"tag":502,"props":6618,"children":6619},{"style":546},[6620],{"type":57,"value":2516},{"type":51,"tag":502,"props":6622,"children":6623},{"style":525},[6624],{"type":57,"value":582},{"type":51,"tag":502,"props":6626,"children":6627},{"style":531},[6628],{"type":57,"value":587},{"type":51,"tag":502,"props":6630,"children":6631},{"style":590},[6632],{"type":57,"value":6633},"active-share-change",{"type":51,"tag":502,"props":6635,"children":6636},{"style":531},[6637],{"type":57,"value":587},{"type":51,"tag":502,"props":6639,"children":6640},{"style":531},[6641],{"type":57,"value":602},{"type":51,"tag":502,"props":6643,"children":6644},{"style":519},[6645],{"type":57,"value":2541},{"type":51,"tag":502,"props":6647,"children":6648},{"style":531},[6649],{"type":57,"value":2546},{"type":51,"tag":502,"props":6651,"children":6652},{"style":2549},[6653],{"type":57,"value":2552},{"type":51,"tag":502,"props":6655,"children":6656},{"style":531},[6657],{"type":57,"value":1446},{"type":51,"tag":502,"props":6659,"children":6660},{"style":519},[6661],{"type":57,"value":2561},{"type":51,"tag":502,"props":6663,"children":6664},{"style":531},[6665],{"type":57,"value":2566},{"type":51,"tag":502,"props":6667,"children":6668},{"class":504,"line":788},[6669,6673,6677,6681,6685,6690,6694,6698,6703,6707,6711],{"type":51,"tag":502,"props":6670,"children":6671},{"style":1022},[6672],{"type":57,"value":2625},{"type":51,"tag":502,"props":6674,"children":6675},{"style":1157},[6676],{"type":57,"value":2546},{"type":51,"tag":502,"props":6678,"children":6679},{"style":525},[6680],{"type":57,"value":2552},{"type":51,"tag":502,"props":6682,"children":6683},{"style":531},[6684],{"type":57,"value":85},{"type":51,"tag":502,"props":6686,"children":6687},{"style":525},[6688],{"type":57,"value":6689},"state",{"type":51,"tag":502,"props":6691,"children":6692},{"style":531},[6693],{"type":57,"value":2639},{"type":51,"tag":502,"props":6695,"children":6696},{"style":531},[6697],{"type":57,"value":1040},{"type":51,"tag":502,"props":6699,"children":6700},{"style":590},[6701],{"type":57,"value":6702},"Active",{"type":51,"tag":502,"props":6704,"children":6705},{"style":531},[6706],{"type":57,"value":587},{"type":51,"tag":502,"props":6708,"children":6709},{"style":1157},[6710],{"type":57,"value":2657},{"type":51,"tag":502,"props":6712,"children":6713},{"style":531},[6714],{"type":57,"value":2662},{"type":51,"tag":502,"props":6716,"children":6717},{"class":504,"line":843},[6718,6722,6726,6730,6735,6739,6743,6747,6751,6755,6759,6763],{"type":51,"tag":502,"props":6719,"children":6720},{"style":1022},[6721],{"type":57,"value":2836},{"type":51,"tag":502,"props":6723,"children":6724},{"style":525},[6725],{"type":57,"value":1606},{"type":51,"tag":502,"props":6727,"children":6728},{"style":531},[6729],{"type":57,"value":85},{"type":51,"tag":502,"props":6731,"children":6732},{"style":546},[6733],{"type":57,"value":6734},"startShareView",{"type":51,"tag":502,"props":6736,"children":6737},{"style":1157},[6738],{"type":57,"value":582},{"type":51,"tag":502,"props":6740,"children":6741},{"style":525},[6742],{"type":57,"value":4860},{"type":51,"tag":502,"props":6744,"children":6745},{"style":531},[6746],{"type":57,"value":602},{"type":51,"tag":502,"props":6748,"children":6749},{"style":525},[6750],{"type":57,"value":2605},{"type":51,"tag":502,"props":6752,"children":6753},{"style":531},[6754],{"type":57,"value":85},{"type":51,"tag":502,"props":6756,"children":6757},{"style":525},[6758],{"type":57,"value":2712},{"type":51,"tag":502,"props":6760,"children":6761},{"style":1157},[6762],{"type":57,"value":1446},{"type":51,"tag":502,"props":6764,"children":6765},{"style":531},[6766],{"type":57,"value":559},{"type":51,"tag":502,"props":6768,"children":6769},{"class":504,"line":1524},[6770,6774,6778],{"type":51,"tag":502,"props":6771,"children":6772},{"style":531},[6773],{"type":57,"value":2777},{"type":51,"tag":502,"props":6775,"children":6776},{"style":1022},[6777],{"type":57,"value":2782},{"type":51,"tag":502,"props":6779,"children":6780},{"style":531},[6781],{"type":57,"value":2566},{"type":51,"tag":502,"props":6783,"children":6784},{"class":504,"line":1532},[6785,6789,6793,6797,6802,6806],{"type":51,"tag":502,"props":6786,"children":6787},{"style":1022},[6788],{"type":57,"value":2836},{"type":51,"tag":502,"props":6790,"children":6791},{"style":525},[6792],{"type":57,"value":1606},{"type":51,"tag":502,"props":6794,"children":6795},{"style":531},[6796],{"type":57,"value":85},{"type":51,"tag":502,"props":6798,"children":6799},{"style":546},[6800],{"type":57,"value":6801},"stopShareView",{"type":51,"tag":502,"props":6803,"children":6804},{"style":1157},[6805],{"type":57,"value":554},{"type":51,"tag":502,"props":6807,"children":6808},{"style":531},[6809],{"type":57,"value":559},{"type":51,"tag":502,"props":6811,"children":6812},{"class":504,"line":1541},[6813],{"type":51,"tag":502,"props":6814,"children":6815},{"style":531},[6816],{"type":57,"value":2873},{"type":51,"tag":502,"props":6818,"children":6819},{"class":504,"line":1579},[6820,6824,6828],{"type":51,"tag":502,"props":6821,"children":6822},{"style":531},[6823],{"type":57,"value":2881},{"type":51,"tag":502,"props":6825,"children":6826},{"style":525},[6827],{"type":57,"value":1446},{"type":51,"tag":502,"props":6829,"children":6830},{"style":531},[6831],{"type":57,"value":559},{"type":51,"tag":437,"props":6833,"children":6835},{"id":6834},"chat",[6836],{"type":57,"value":377},{"type":51,"tag":490,"props":6838,"children":6840},{"className":492,"code":6839,"language":494,"meta":495,"style":495},"const chatClient = client.getChatClient();\n\n\u002F\u002F Send to everyone\nawait chatClient.send('Hello, everyone!');\n\n\u002F\u002F Send to specific user\nawait chatClient.sendToUser(userId, 'Private message');\n\n\u002F\u002F Receive messages\nclient.on('chat-on-message', (payload) => {\n  console.log(`${payload.sender.name}: ${payload.message}`);\n});\n",[6841],{"type":51,"tag":498,"props":6842,"children":6843},{"__ignoreMap":495},[6844,6881,6888,6896,6942,6949,6957,7006,7013,7021,7077,7161],{"type":51,"tag":502,"props":6845,"children":6846},{"class":504,"line":505},[6847,6851,6856,6860,6864,6868,6873,6877],{"type":51,"tag":502,"props":6848,"children":6849},{"style":519},[6850],{"type":57,"value":522},{"type":51,"tag":502,"props":6852,"children":6853},{"style":525},[6854],{"type":57,"value":6855}," chatClient ",{"type":51,"tag":502,"props":6857,"children":6858},{"style":531},[6859],{"type":57,"value":534},{"type":51,"tag":502,"props":6861,"children":6862},{"style":525},[6863],{"type":57,"value":1368},{"type":51,"tag":502,"props":6865,"children":6866},{"style":531},[6867],{"type":57,"value":85},{"type":51,"tag":502,"props":6869,"children":6870},{"style":546},[6871],{"type":57,"value":6872},"getChatClient",{"type":51,"tag":502,"props":6874,"children":6875},{"style":525},[6876],{"type":57,"value":554},{"type":51,"tag":502,"props":6878,"children":6879},{"style":531},[6880],{"type":57,"value":559},{"type":51,"tag":502,"props":6882,"children":6883},{"class":504,"line":515},[6884],{"type":51,"tag":502,"props":6885,"children":6886},{"emptyLinePlaceholder":735},[6887],{"type":57,"value":738},{"type":51,"tag":502,"props":6889,"children":6890},{"class":504,"line":562},[6891],{"type":51,"tag":502,"props":6892,"children":6893},{"style":509},[6894],{"type":57,"value":6895},"\u002F\u002F Send to everyone\n",{"type":51,"tag":502,"props":6897,"children":6898},{"class":504,"line":623},[6899,6903,6908,6912,6917,6921,6925,6930,6934,6938],{"type":51,"tag":502,"props":6900,"children":6901},{"style":1022},[6902],{"type":57,"value":1363},{"type":51,"tag":502,"props":6904,"children":6905},{"style":525},[6906],{"type":57,"value":6907}," chatClient",{"type":51,"tag":502,"props":6909,"children":6910},{"style":531},[6911],{"type":57,"value":85},{"type":51,"tag":502,"props":6913,"children":6914},{"style":546},[6915],{"type":57,"value":6916},"send",{"type":51,"tag":502,"props":6918,"children":6919},{"style":525},[6920],{"type":57,"value":582},{"type":51,"tag":502,"props":6922,"children":6923},{"style":531},[6924],{"type":57,"value":587},{"type":51,"tag":502,"props":6926,"children":6927},{"style":590},[6928],{"type":57,"value":6929},"Hello, everyone!",{"type":51,"tag":502,"props":6931,"children":6932},{"style":531},[6933],{"type":57,"value":587},{"type":51,"tag":502,"props":6935,"children":6936},{"style":525},[6937],{"type":57,"value":1446},{"type":51,"tag":502,"props":6939,"children":6940},{"style":531},[6941],{"type":57,"value":559},{"type":51,"tag":502,"props":6943,"children":6944},{"class":504,"line":677},[6945],{"type":51,"tag":502,"props":6946,"children":6947},{"emptyLinePlaceholder":735},[6948],{"type":57,"value":738},{"type":51,"tag":502,"props":6950,"children":6951},{"class":504,"line":731},[6952],{"type":51,"tag":502,"props":6953,"children":6954},{"style":509},[6955],{"type":57,"value":6956},"\u002F\u002F Send to specific user\n",{"type":51,"tag":502,"props":6958,"children":6959},{"class":504,"line":741},[6960,6964,6968,6972,6977,6981,6985,6989,6994,6998,7002],{"type":51,"tag":502,"props":6961,"children":6962},{"style":1022},[6963],{"type":57,"value":1363},{"type":51,"tag":502,"props":6965,"children":6966},{"style":525},[6967],{"type":57,"value":6907},{"type":51,"tag":502,"props":6969,"children":6970},{"style":531},[6971],{"type":57,"value":85},{"type":51,"tag":502,"props":6973,"children":6974},{"style":546},[6975],{"type":57,"value":6976},"sendToUser",{"type":51,"tag":502,"props":6978,"children":6979},{"style":525},[6980],{"type":57,"value":1709},{"type":51,"tag":502,"props":6982,"children":6983},{"style":531},[6984],{"type":57,"value":602},{"type":51,"tag":502,"props":6986,"children":6987},{"style":531},[6988],{"type":57,"value":1040},{"type":51,"tag":502,"props":6990,"children":6991},{"style":590},[6992],{"type":57,"value":6993},"Private message",{"type":51,"tag":502,"props":6995,"children":6996},{"style":531},[6997],{"type":57,"value":587},{"type":51,"tag":502,"props":6999,"children":7000},{"style":525},[7001],{"type":57,"value":1446},{"type":51,"tag":502,"props":7003,"children":7004},{"style":531},[7005],{"type":57,"value":559},{"type":51,"tag":502,"props":7007,"children":7008},{"class":504,"line":750},[7009],{"type":51,"tag":502,"props":7010,"children":7011},{"emptyLinePlaceholder":735},[7012],{"type":57,"value":738},{"type":51,"tag":502,"props":7014,"children":7015},{"class":504,"line":788},[7016],{"type":51,"tag":502,"props":7017,"children":7018},{"style":509},[7019],{"type":57,"value":7020},"\u002F\u002F Receive messages\n",{"type":51,"tag":502,"props":7022,"children":7023},{"class":504,"line":843},[7024,7028,7032,7036,7040,7044,7049,7053,7057,7061,7065,7069,7073],{"type":51,"tag":502,"props":7025,"children":7026},{"style":525},[7027],{"type":57,"value":2507},{"type":51,"tag":502,"props":7029,"children":7030},{"style":531},[7031],{"type":57,"value":85},{"type":51,"tag":502,"props":7033,"children":7034},{"style":546},[7035],{"type":57,"value":2516},{"type":51,"tag":502,"props":7037,"children":7038},{"style":525},[7039],{"type":57,"value":582},{"type":51,"tag":502,"props":7041,"children":7042},{"style":531},[7043],{"type":57,"value":587},{"type":51,"tag":502,"props":7045,"children":7046},{"style":590},[7047],{"type":57,"value":7048},"chat-on-message",{"type":51,"tag":502,"props":7050,"children":7051},{"style":531},[7052],{"type":57,"value":587},{"type":51,"tag":502,"props":7054,"children":7055},{"style":531},[7056],{"type":57,"value":602},{"type":51,"tag":502,"props":7058,"children":7059},{"style":531},[7060],{"type":57,"value":2546},{"type":51,"tag":502,"props":7062,"children":7063},{"style":2549},[7064],{"type":57,"value":2552},{"type":51,"tag":502,"props":7066,"children":7067},{"style":531},[7068],{"type":57,"value":1446},{"type":51,"tag":502,"props":7070,"children":7071},{"style":519},[7072],{"type":57,"value":2561},{"type":51,"tag":502,"props":7074,"children":7075},{"style":531},[7076],{"type":57,"value":2566},{"type":51,"tag":502,"props":7078,"children":7079},{"class":504,"line":1524},[7080,7085,7089,7093,7097,7102,7106,7110,7115,7119,7124,7128,7132,7136,7140,7144,7149,7153,7157],{"type":51,"tag":502,"props":7081,"children":7082},{"style":525},[7083],{"type":57,"value":7084},"  console",{"type":51,"tag":502,"props":7086,"children":7087},{"style":531},[7088],{"type":57,"value":85},{"type":51,"tag":502,"props":7090,"children":7091},{"style":546},[7092],{"type":57,"value":577},{"type":51,"tag":502,"props":7094,"children":7095},{"style":1157},[7096],{"type":57,"value":582},{"type":51,"tag":502,"props":7098,"children":7099},{"style":531},[7100],{"type":57,"value":7101},"`${",{"type":51,"tag":502,"props":7103,"children":7104},{"style":525},[7105],{"type":57,"value":2552},{"type":51,"tag":502,"props":7107,"children":7108},{"style":531},[7109],{"type":57,"value":85},{"type":51,"tag":502,"props":7111,"children":7112},{"style":525},[7113],{"type":57,"value":7114},"sender",{"type":51,"tag":502,"props":7116,"children":7117},{"style":531},[7118],{"type":57,"value":85},{"type":51,"tag":502,"props":7120,"children":7121},{"style":525},[7122],{"type":57,"value":7123},"name",{"type":51,"tag":502,"props":7125,"children":7126},{"style":531},[7127],{"type":57,"value":2881},{"type":51,"tag":502,"props":7129,"children":7130},{"style":590},[7131],{"type":57,"value":95},{"type":51,"tag":502,"props":7133,"children":7134},{"style":531},[7135],{"type":57,"value":3597},{"type":51,"tag":502,"props":7137,"children":7138},{"style":525},[7139],{"type":57,"value":2552},{"type":51,"tag":502,"props":7141,"children":7142},{"style":531},[7143],{"type":57,"value":85},{"type":51,"tag":502,"props":7145,"children":7146},{"style":525},[7147],{"type":57,"value":7148},"message",{"type":51,"tag":502,"props":7150,"children":7151},{"style":531},[7152],{"type":57,"value":3614},{"type":51,"tag":502,"props":7154,"children":7155},{"style":1157},[7156],{"type":57,"value":1446},{"type":51,"tag":502,"props":7158,"children":7159},{"style":531},[7160],{"type":57,"value":559},{"type":51,"tag":502,"props":7162,"children":7163},{"class":504,"line":1532},[7164,7168,7172],{"type":51,"tag":502,"props":7165,"children":7166},{"style":531},[7167],{"type":57,"value":2881},{"type":51,"tag":502,"props":7169,"children":7170},{"style":525},[7171],{"type":57,"value":1446},{"type":51,"tag":502,"props":7173,"children":7174},{"style":531},[7175],{"type":57,"value":559},{"type":51,"tag":437,"props":7177,"children":7179},{"id":7178},"recording-host-only",[7180],{"type":57,"value":7181},"Recording (Host Only)",{"type":51,"tag":490,"props":7183,"children":7185},{"className":492,"code":7184,"language":494,"meta":495,"style":495},"const recordingClient = client.getRecordingClient();\n\nawait recordingClient.startCloudRecording();\nawait recordingClient.stopCloudRecording();\n\nclient.on('recording-change', (payload) => {\n  console.log('Recording status:', payload.state);\n});\n",[7186],{"type":51,"tag":498,"props":7187,"children":7188},{"__ignoreMap":495},[7189,7226,7233,7262,7290,7297,7353,7409],{"type":51,"tag":502,"props":7190,"children":7191},{"class":504,"line":505},[7192,7196,7201,7205,7209,7213,7218,7222],{"type":51,"tag":502,"props":7193,"children":7194},{"style":519},[7195],{"type":57,"value":522},{"type":51,"tag":502,"props":7197,"children":7198},{"style":525},[7199],{"type":57,"value":7200}," recordingClient ",{"type":51,"tag":502,"props":7202,"children":7203},{"style":531},[7204],{"type":57,"value":534},{"type":51,"tag":502,"props":7206,"children":7207},{"style":525},[7208],{"type":57,"value":1368},{"type":51,"tag":502,"props":7210,"children":7211},{"style":531},[7212],{"type":57,"value":85},{"type":51,"tag":502,"props":7214,"children":7215},{"style":546},[7216],{"type":57,"value":7217},"getRecordingClient",{"type":51,"tag":502,"props":7219,"children":7220},{"style":525},[7221],{"type":57,"value":554},{"type":51,"tag":502,"props":7223,"children":7224},{"style":531},[7225],{"type":57,"value":559},{"type":51,"tag":502,"props":7227,"children":7228},{"class":504,"line":515},[7229],{"type":51,"tag":502,"props":7230,"children":7231},{"emptyLinePlaceholder":735},[7232],{"type":57,"value":738},{"type":51,"tag":502,"props":7234,"children":7235},{"class":504,"line":562},[7236,7240,7245,7249,7254,7258],{"type":51,"tag":502,"props":7237,"children":7238},{"style":1022},[7239],{"type":57,"value":1363},{"type":51,"tag":502,"props":7241,"children":7242},{"style":525},[7243],{"type":57,"value":7244}," recordingClient",{"type":51,"tag":502,"props":7246,"children":7247},{"style":531},[7248],{"type":57,"value":85},{"type":51,"tag":502,"props":7250,"children":7251},{"style":546},[7252],{"type":57,"value":7253},"startCloudRecording",{"type":51,"tag":502,"props":7255,"children":7256},{"style":525},[7257],{"type":57,"value":554},{"type":51,"tag":502,"props":7259,"children":7260},{"style":531},[7261],{"type":57,"value":559},{"type":51,"tag":502,"props":7263,"children":7264},{"class":504,"line":623},[7265,7269,7273,7277,7282,7286],{"type":51,"tag":502,"props":7266,"children":7267},{"style":1022},[7268],{"type":57,"value":1363},{"type":51,"tag":502,"props":7270,"children":7271},{"style":525},[7272],{"type":57,"value":7244},{"type":51,"tag":502,"props":7274,"children":7275},{"style":531},[7276],{"type":57,"value":85},{"type":51,"tag":502,"props":7278,"children":7279},{"style":546},[7280],{"type":57,"value":7281},"stopCloudRecording",{"type":51,"tag":502,"props":7283,"children":7284},{"style":525},[7285],{"type":57,"value":554},{"type":51,"tag":502,"props":7287,"children":7288},{"style":531},[7289],{"type":57,"value":559},{"type":51,"tag":502,"props":7291,"children":7292},{"class":504,"line":677},[7293],{"type":51,"tag":502,"props":7294,"children":7295},{"emptyLinePlaceholder":735},[7296],{"type":57,"value":738},{"type":51,"tag":502,"props":7298,"children":7299},{"class":504,"line":731},[7300,7304,7308,7312,7316,7320,7325,7329,7333,7337,7341,7345,7349],{"type":51,"tag":502,"props":7301,"children":7302},{"style":525},[7303],{"type":57,"value":2507},{"type":51,"tag":502,"props":7305,"children":7306},{"style":531},[7307],{"type":57,"value":85},{"type":51,"tag":502,"props":7309,"children":7310},{"style":546},[7311],{"type":57,"value":2516},{"type":51,"tag":502,"props":7313,"children":7314},{"style":525},[7315],{"type":57,"value":582},{"type":51,"tag":502,"props":7317,"children":7318},{"style":531},[7319],{"type":57,"value":587},{"type":51,"tag":502,"props":7321,"children":7322},{"style":590},[7323],{"type":57,"value":7324},"recording-change",{"type":51,"tag":502,"props":7326,"children":7327},{"style":531},[7328],{"type":57,"value":587},{"type":51,"tag":502,"props":7330,"children":7331},{"style":531},[7332],{"type":57,"value":602},{"type":51,"tag":502,"props":7334,"children":7335},{"style":531},[7336],{"type":57,"value":2546},{"type":51,"tag":502,"props":7338,"children":7339},{"style":2549},[7340],{"type":57,"value":2552},{"type":51,"tag":502,"props":7342,"children":7343},{"style":531},[7344],{"type":57,"value":1446},{"type":51,"tag":502,"props":7346,"children":7347},{"style":519},[7348],{"type":57,"value":2561},{"type":51,"tag":502,"props":7350,"children":7351},{"style":531},[7352],{"type":57,"value":2566},{"type":51,"tag":502,"props":7354,"children":7355},{"class":504,"line":741},[7356,7360,7364,7368,7372,7376,7381,7385,7389,7393,7397,7401,7405],{"type":51,"tag":502,"props":7357,"children":7358},{"style":525},[7359],{"type":57,"value":7084},{"type":51,"tag":502,"props":7361,"children":7362},{"style":531},[7363],{"type":57,"value":85},{"type":51,"tag":502,"props":7365,"children":7366},{"style":546},[7367],{"type":57,"value":577},{"type":51,"tag":502,"props":7369,"children":7370},{"style":1157},[7371],{"type":57,"value":582},{"type":51,"tag":502,"props":7373,"children":7374},{"style":531},[7375],{"type":57,"value":587},{"type":51,"tag":502,"props":7377,"children":7378},{"style":590},[7379],{"type":57,"value":7380},"Recording status:",{"type":51,"tag":502,"props":7382,"children":7383},{"style":531},[7384],{"type":57,"value":587},{"type":51,"tag":502,"props":7386,"children":7387},{"style":531},[7388],{"type":57,"value":602},{"type":51,"tag":502,"props":7390,"children":7391},{"style":525},[7392],{"type":57,"value":2605},{"type":51,"tag":502,"props":7394,"children":7395},{"style":531},[7396],{"type":57,"value":85},{"type":51,"tag":502,"props":7398,"children":7399},{"style":525},[7400],{"type":57,"value":6689},{"type":51,"tag":502,"props":7402,"children":7403},{"style":1157},[7404],{"type":57,"value":1446},{"type":51,"tag":502,"props":7406,"children":7407},{"style":531},[7408],{"type":57,"value":559},{"type":51,"tag":502,"props":7410,"children":7411},{"class":504,"line":750},[7412,7416,7420],{"type":51,"tag":502,"props":7413,"children":7414},{"style":531},[7415],{"type":57,"value":2881},{"type":51,"tag":502,"props":7417,"children":7418},{"style":525},[7419],{"type":57,"value":1446},{"type":51,"tag":502,"props":7421,"children":7422},{"style":531},[7423],{"type":57,"value":559},{"type":51,"tag":437,"props":7425,"children":7427},{"id":7426},"leaveend-session",[7428],{"type":57,"value":7429},"Leave\u002FEnd Session",{"type":51,"tag":490,"props":7431,"children":7433},{"className":492,"code":7432,"language":494,"meta":495,"style":495},"\u002F\u002F Leave session (others stay)\nawait client.leave();\n\n\u002F\u002F End session for ALL participants (host only)\nawait client.leave(true);\n",[7434],{"type":51,"tag":498,"props":7435,"children":7436},{"__ignoreMap":495},[7437,7445,7473,7480,7488],{"type":51,"tag":502,"props":7438,"children":7439},{"class":504,"line":505},[7440],{"type":51,"tag":502,"props":7441,"children":7442},{"style":509},[7443],{"type":57,"value":7444},"\u002F\u002F Leave session (others stay)\n",{"type":51,"tag":502,"props":7446,"children":7447},{"class":504,"line":515},[7448,7452,7456,7460,7465,7469],{"type":51,"tag":502,"props":7449,"children":7450},{"style":1022},[7451],{"type":57,"value":1363},{"type":51,"tag":502,"props":7453,"children":7454},{"style":525},[7455],{"type":57,"value":1368},{"type":51,"tag":502,"props":7457,"children":7458},{"style":531},[7459],{"type":57,"value":85},{"type":51,"tag":502,"props":7461,"children":7462},{"style":546},[7463],{"type":57,"value":7464},"leave",{"type":51,"tag":502,"props":7466,"children":7467},{"style":525},[7468],{"type":57,"value":554},{"type":51,"tag":502,"props":7470,"children":7471},{"style":531},[7472],{"type":57,"value":559},{"type":51,"tag":502,"props":7474,"children":7475},{"class":504,"line":562},[7476],{"type":51,"tag":502,"props":7477,"children":7478},{"emptyLinePlaceholder":735},[7479],{"type":57,"value":738},{"type":51,"tag":502,"props":7481,"children":7482},{"class":504,"line":623},[7483],{"type":51,"tag":502,"props":7484,"children":7485},{"style":509},[7486],{"type":57,"value":7487},"\u002F\u002F End session for ALL participants (host only)\n",{"type":51,"tag":502,"props":7489,"children":7490},{"class":504,"line":677},[7491,7495,7499,7503,7507,7511,7516,7520],{"type":51,"tag":502,"props":7492,"children":7493},{"style":1022},[7494],{"type":57,"value":1363},{"type":51,"tag":502,"props":7496,"children":7497},{"style":525},[7498],{"type":57,"value":1368},{"type":51,"tag":502,"props":7500,"children":7501},{"style":531},[7502],{"type":57,"value":85},{"type":51,"tag":502,"props":7504,"children":7505},{"style":546},[7506],{"type":57,"value":7464},{"type":51,"tag":502,"props":7508,"children":7509},{"style":525},[7510],{"type":57,"value":582},{"type":51,"tag":502,"props":7512,"children":7513},{"style":1433},[7514],{"type":57,"value":7515},"true",{"type":51,"tag":502,"props":7517,"children":7518},{"style":525},[7519],{"type":57,"value":1446},{"type":51,"tag":502,"props":7521,"children":7522},{"style":531},[7523],{"type":57,"value":559},{"type":51,"tag":128,"props":7525,"children":7527},{"id":7526},"error-handling",[7528],{"type":57,"value":7529},"Error Handling",{"type":51,"tag":437,"props":7531,"children":7533},{"id":7532},"common-join-errors",[7534],{"type":57,"value":7535},"Common Join Errors",{"type":51,"tag":5838,"props":7537,"children":7538},{},[7539,7560],{"type":51,"tag":5842,"props":7540,"children":7541},{},[7542],{"type":51,"tag":5846,"props":7543,"children":7544},{},[7545,7550,7555],{"type":51,"tag":5850,"props":7546,"children":7547},{},[7548],{"type":57,"value":7549},"Error",{"type":51,"tag":5850,"props":7551,"children":7552},{},[7553],{"type":57,"value":7554},"Cause",{"type":51,"tag":5850,"props":7556,"children":7557},{},[7558],{"type":57,"value":7559},"Solution",{"type":51,"tag":5866,"props":7561,"children":7562},{},[7563,7585,7607],{"type":51,"tag":5846,"props":7564,"children":7565},{},[7566,7575,7580],{"type":51,"tag":5873,"props":7567,"children":7568},{},[7569],{"type":51,"tag":498,"props":7570,"children":7572},{"className":7571},[],[7573],{"type":57,"value":7574},"Invalid signature",{"type":51,"tag":5873,"props":7576,"children":7577},{},[7578],{"type":57,"value":7579},"JWT expired or malformed",{"type":51,"tag":5873,"props":7581,"children":7582},{},[7583],{"type":57,"value":7584},"Generate new signature",{"type":51,"tag":5846,"props":7586,"children":7587},{},[7588,7597,7602],{"type":51,"tag":5873,"props":7589,"children":7590},{},[7591],{"type":51,"tag":498,"props":7592,"children":7594},{"className":7593},[],[7595],{"type":57,"value":7596},"Session does not exist",{"type":51,"tag":5873,"props":7598,"children":7599},{},[7600],{"type":57,"value":7601},"Host hasn't started yet",{"type":51,"tag":5873,"props":7603,"children":7604},{},[7605],{"type":57,"value":7606},"Show \"waiting\" message, retry",{"type":51,"tag":5846,"props":7608,"children":7609},{},[7610,7619,7624],{"type":51,"tag":5873,"props":7611,"children":7612},{},[7613],{"type":51,"tag":498,"props":7614,"children":7616},{"className":7615},[],[7617],{"type":57,"value":7618},"Permission denied",{"type":51,"tag":5873,"props":7620,"children":7621},{},[7622],{"type":57,"value":7623},"User denied camera\u002Fmic",{"type":51,"tag":5873,"props":7625,"children":7626},{},[7627],{"type":57,"value":7628},"Request permission again",{"type":51,"tag":437,"props":7630,"children":7632},{"id":7631},"example-error-handler",[7633],{"type":57,"value":7634},"Example Error Handler",{"type":51,"tag":490,"props":7636,"children":7638},{"className":492,"code":7637,"language":494,"meta":495,"style":495},"try {\n  await client.join(topic, signature, userName, password);\n} catch (error) {\n  if (error.reason?.includes('signature')) {\n    \u002F\u002F Regenerate signature and retry\n  } else if (error.reason?.includes('Session')) {\n    \u002F\u002F Show \"Waiting for host...\" and poll\n  } else if (error.reason?.includes('Permission')) {\n    \u002F\u002F Guide user to enable permissions\n  }\n  console.error('Join failed:', error);\n}\n",[7639],{"type":51,"tag":498,"props":7640,"children":7641},{"__ignoreMap":495},[7642,7654,7715,7736,7797,7805,7869,7877,7941,7949,7956,8005],{"type":51,"tag":502,"props":7643,"children":7644},{"class":504,"line":505},[7645,7650],{"type":51,"tag":502,"props":7646,"children":7647},{"style":1022},[7648],{"type":57,"value":7649},"try",{"type":51,"tag":502,"props":7651,"children":7652},{"style":531},[7653],{"type":57,"value":2566},{"type":51,"tag":502,"props":7655,"children":7656},{"class":504,"line":515},[7657,7661,7665,7669,7673,7677,7682,7686,7690,7694,7698,7702,7707,7711],{"type":51,"tag":502,"props":7658,"children":7659},{"style":1022},[7660],{"type":57,"value":3244},{"type":51,"tag":502,"props":7662,"children":7663},{"style":525},[7664],{"type":57,"value":1368},{"type":51,"tag":502,"props":7666,"children":7667},{"style":531},[7668],{"type":57,"value":85},{"type":51,"tag":502,"props":7670,"children":7671},{"style":546},[7672],{"type":57,"value":1485},{"type":51,"tag":502,"props":7674,"children":7675},{"style":1157},[7676],{"type":57,"value":582},{"type":51,"tag":502,"props":7678,"children":7679},{"style":525},[7680],{"type":57,"value":7681},"topic",{"type":51,"tag":502,"props":7683,"children":7684},{"style":531},[7685],{"type":57,"value":602},{"type":51,"tag":502,"props":7687,"children":7688},{"style":525},[7689],{"type":57,"value":1499},{"type":51,"tag":502,"props":7691,"children":7692},{"style":531},[7693],{"type":57,"value":602},{"type":51,"tag":502,"props":7695,"children":7696},{"style":525},[7697],{"type":57,"value":1508},{"type":51,"tag":502,"props":7699,"children":7700},{"style":531},[7701],{"type":57,"value":602},{"type":51,"tag":502,"props":7703,"children":7704},{"style":525},[7705],{"type":57,"value":7706}," password",{"type":51,"tag":502,"props":7708,"children":7709},{"style":1157},[7710],{"type":57,"value":1446},{"type":51,"tag":502,"props":7712,"children":7713},{"style":531},[7714],{"type":57,"value":559},{"type":51,"tag":502,"props":7716,"children":7717},{"class":504,"line":562},[7718,7722,7727,7732],{"type":51,"tag":502,"props":7719,"children":7720},{"style":531},[7721],{"type":57,"value":2881},{"type":51,"tag":502,"props":7723,"children":7724},{"style":1022},[7725],{"type":57,"value":7726}," catch",{"type":51,"tag":502,"props":7728,"children":7729},{"style":525},[7730],{"type":57,"value":7731}," (error) ",{"type":51,"tag":502,"props":7733,"children":7734},{"style":531},[7735],{"type":57,"value":2662},{"type":51,"tag":502,"props":7737,"children":7738},{"class":504,"line":623},[7739,7743,7747,7752,7756,7761,7766,7771,7775,7779,7784,7788,7793],{"type":51,"tag":502,"props":7740,"children":7741},{"style":1022},[7742],{"type":57,"value":2625},{"type":51,"tag":502,"props":7744,"children":7745},{"style":1157},[7746],{"type":57,"value":2546},{"type":51,"tag":502,"props":7748,"children":7749},{"style":525},[7750],{"type":57,"value":7751},"error",{"type":51,"tag":502,"props":7753,"children":7754},{"style":531},[7755],{"type":57,"value":85},{"type":51,"tag":502,"props":7757,"children":7758},{"style":525},[7759],{"type":57,"value":7760},"reason",{"type":51,"tag":502,"props":7762,"children":7763},{"style":531},[7764],{"type":57,"value":7765},"?.",{"type":51,"tag":502,"props":7767,"children":7768},{"style":546},[7769],{"type":57,"value":7770},"includes",{"type":51,"tag":502,"props":7772,"children":7773},{"style":1157},[7774],{"type":57,"value":582},{"type":51,"tag":502,"props":7776,"children":7777},{"style":531},[7778],{"type":57,"value":587},{"type":51,"tag":502,"props":7780,"children":7781},{"style":590},[7782],{"type":57,"value":7783},"signature",{"type":51,"tag":502,"props":7785,"children":7786},{"style":531},[7787],{"type":57,"value":587},{"type":51,"tag":502,"props":7789,"children":7790},{"style":1157},[7791],{"type":57,"value":7792},")) ",{"type":51,"tag":502,"props":7794,"children":7795},{"style":531},[7796],{"type":57,"value":2662},{"type":51,"tag":502,"props":7798,"children":7799},{"class":504,"line":677},[7800],{"type":51,"tag":502,"props":7801,"children":7802},{"style":509},[7803],{"type":57,"value":7804},"    \u002F\u002F Regenerate signature and retry\n",{"type":51,"tag":502,"props":7806,"children":7807},{"class":504,"line":731},[7808,7812,7816,7820,7824,7828,7832,7836,7840,7844,7848,7852,7857,7861,7865],{"type":51,"tag":502,"props":7809,"children":7810},{"style":531},[7811],{"type":57,"value":2777},{"type":51,"tag":502,"props":7813,"children":7814},{"style":1022},[7815],{"type":57,"value":2782},{"type":51,"tag":502,"props":7817,"children":7818},{"style":1022},[7819],{"type":57,"value":2787},{"type":51,"tag":502,"props":7821,"children":7822},{"style":1157},[7823],{"type":57,"value":2546},{"type":51,"tag":502,"props":7825,"children":7826},{"style":525},[7827],{"type":57,"value":7751},{"type":51,"tag":502,"props":7829,"children":7830},{"style":531},[7831],{"type":57,"value":85},{"type":51,"tag":502,"props":7833,"children":7834},{"style":525},[7835],{"type":57,"value":7760},{"type":51,"tag":502,"props":7837,"children":7838},{"style":531},[7839],{"type":57,"value":7765},{"type":51,"tag":502,"props":7841,"children":7842},{"style":546},[7843],{"type":57,"value":7770},{"type":51,"tag":502,"props":7845,"children":7846},{"style":1157},[7847],{"type":57,"value":582},{"type":51,"tag":502,"props":7849,"children":7850},{"style":531},[7851],{"type":57,"value":587},{"type":51,"tag":502,"props":7853,"children":7854},{"style":590},[7855],{"type":57,"value":7856},"Session",{"type":51,"tag":502,"props":7858,"children":7859},{"style":531},[7860],{"type":57,"value":587},{"type":51,"tag":502,"props":7862,"children":7863},{"style":1157},[7864],{"type":57,"value":7792},{"type":51,"tag":502,"props":7866,"children":7867},{"style":531},[7868],{"type":57,"value":2662},{"type":51,"tag":502,"props":7870,"children":7871},{"class":504,"line":741},[7872],{"type":51,"tag":502,"props":7873,"children":7874},{"style":509},[7875],{"type":57,"value":7876},"    \u002F\u002F Show \"Waiting for host...\" and poll\n",{"type":51,"tag":502,"props":7878,"children":7879},{"class":504,"line":750},[7880,7884,7888,7892,7896,7900,7904,7908,7912,7916,7920,7924,7929,7933,7937],{"type":51,"tag":502,"props":7881,"children":7882},{"style":531},[7883],{"type":57,"value":2777},{"type":51,"tag":502,"props":7885,"children":7886},{"style":1022},[7887],{"type":57,"value":2782},{"type":51,"tag":502,"props":7889,"children":7890},{"style":1022},[7891],{"type":57,"value":2787},{"type":51,"tag":502,"props":7893,"children":7894},{"style":1157},[7895],{"type":57,"value":2546},{"type":51,"tag":502,"props":7897,"children":7898},{"style":525},[7899],{"type":57,"value":7751},{"type":51,"tag":502,"props":7901,"children":7902},{"style":531},[7903],{"type":57,"value":85},{"type":51,"tag":502,"props":7905,"children":7906},{"style":525},[7907],{"type":57,"value":7760},{"type":51,"tag":502,"props":7909,"children":7910},{"style":531},[7911],{"type":57,"value":7765},{"type":51,"tag":502,"props":7913,"children":7914},{"style":546},[7915],{"type":57,"value":7770},{"type":51,"tag":502,"props":7917,"children":7918},{"style":1157},[7919],{"type":57,"value":582},{"type":51,"tag":502,"props":7921,"children":7922},{"style":531},[7923],{"type":57,"value":587},{"type":51,"tag":502,"props":7925,"children":7926},{"style":590},[7927],{"type":57,"value":7928},"Permission",{"type":51,"tag":502,"props":7930,"children":7931},{"style":531},[7932],{"type":57,"value":587},{"type":51,"tag":502,"props":7934,"children":7935},{"style":1157},[7936],{"type":57,"value":7792},{"type":51,"tag":502,"props":7938,"children":7939},{"style":531},[7940],{"type":57,"value":2662},{"type":51,"tag":502,"props":7942,"children":7943},{"class":504,"line":788},[7944],{"type":51,"tag":502,"props":7945,"children":7946},{"style":509},[7947],{"type":57,"value":7948},"    \u002F\u002F Guide user to enable permissions\n",{"type":51,"tag":502,"props":7950,"children":7951},{"class":504,"line":843},[7952],{"type":51,"tag":502,"props":7953,"children":7954},{"style":531},[7955],{"type":57,"value":2873},{"type":51,"tag":502,"props":7957,"children":7958},{"class":504,"line":1524},[7959,7963,7967,7971,7975,7979,7984,7988,7992,7997,8001],{"type":51,"tag":502,"props":7960,"children":7961},{"style":525},[7962],{"type":57,"value":7084},{"type":51,"tag":502,"props":7964,"children":7965},{"style":531},[7966],{"type":57,"value":85},{"type":51,"tag":502,"props":7968,"children":7969},{"style":546},[7970],{"type":57,"value":7751},{"type":51,"tag":502,"props":7972,"children":7973},{"style":1157},[7974],{"type":57,"value":582},{"type":51,"tag":502,"props":7976,"children":7977},{"style":531},[7978],{"type":57,"value":587},{"type":51,"tag":502,"props":7980,"children":7981},{"style":590},[7982],{"type":57,"value":7983},"Join failed:",{"type":51,"tag":502,"props":7985,"children":7986},{"style":531},[7987],{"type":57,"value":587},{"type":51,"tag":502,"props":7989,"children":7990},{"style":531},[7991],{"type":57,"value":602},{"type":51,"tag":502,"props":7993,"children":7994},{"style":525},[7995],{"type":57,"value":7996}," error",{"type":51,"tag":502,"props":7998,"children":7999},{"style":1157},[8000],{"type":57,"value":1446},{"type":51,"tag":502,"props":8002,"children":8003},{"style":531},[8004],{"type":57,"value":559},{"type":51,"tag":502,"props":8006,"children":8007},{"class":504,"line":1532},[8008],{"type":51,"tag":502,"props":8009,"children":8010},{"style":531},[8011],{"type":57,"value":4206},{"type":51,"tag":128,"props":8013,"children":8015},{"id":8014},"browser-compatibility",[8016],{"type":57,"value":8017},"Browser Compatibility",{"type":51,"tag":5838,"props":8019,"children":8020},{},[8021,8052],{"type":51,"tag":5842,"props":8022,"children":8023},{},[8024],{"type":51,"tag":5846,"props":8025,"children":8026},{},[8027,8032,8037,8042,8047],{"type":51,"tag":5850,"props":8028,"children":8029},{},[8030],{"type":57,"value":8031},"Feature",{"type":51,"tag":5850,"props":8033,"children":8034},{},[8035],{"type":57,"value":8036},"Chrome",{"type":51,"tag":5850,"props":8038,"children":8039},{},[8040],{"type":57,"value":8041},"Firefox",{"type":51,"tag":5850,"props":8043,"children":8044},{},[8045],{"type":57,"value":8046},"Safari",{"type":51,"tag":5850,"props":8048,"children":8049},{},[8050],{"type":57,"value":8051},"Edge",{"type":51,"tag":5866,"props":8053,"children":8054},{},[8055,8082,8106,8131],{"type":51,"tag":5846,"props":8056,"children":8057},{},[8058,8063,8068,8073,8078],{"type":51,"tag":5873,"props":8059,"children":8060},{},[8061],{"type":57,"value":8062},"Video",{"type":51,"tag":5873,"props":8064,"children":8065},{},[8066],{"type":57,"value":8067},"80+",{"type":51,"tag":5873,"props":8069,"children":8070},{},[8071],{"type":57,"value":8072},"75+",{"type":51,"tag":5873,"props":8074,"children":8075},{},[8076],{"type":57,"value":8077},"14+",{"type":51,"tag":5873,"props":8079,"children":8080},{},[8081],{"type":57,"value":8067},{"type":51,"tag":5846,"props":8083,"children":8084},{},[8085,8090,8094,8098,8102],{"type":51,"tag":5873,"props":8086,"children":8087},{},[8088],{"type":57,"value":8089},"Audio",{"type":51,"tag":5873,"props":8091,"children":8092},{},[8093],{"type":57,"value":8067},{"type":51,"tag":5873,"props":8095,"children":8096},{},[8097],{"type":57,"value":8072},{"type":51,"tag":5873,"props":8099,"children":8100},{},[8101],{"type":57,"value":8077},{"type":51,"tag":5873,"props":8103,"children":8104},{},[8105],{"type":57,"value":8067},{"type":51,"tag":5846,"props":8107,"children":8108},{},[8109,8114,8118,8122,8127],{"type":51,"tag":5873,"props":8110,"children":8111},{},[8112],{"type":57,"value":8113},"Screen Share",{"type":51,"tag":5873,"props":8115,"children":8116},{},[8117],{"type":57,"value":8067},{"type":51,"tag":5873,"props":8119,"children":8120},{},[8121],{"type":57,"value":8072},{"type":51,"tag":5873,"props":8123,"children":8124},{},[8125],{"type":57,"value":8126},"15+",{"type":51,"tag":5873,"props":8128,"children":8129},{},[8130],{"type":57,"value":8067},{"type":51,"tag":5846,"props":8132,"children":8133},{},[8134,8139,8143,8148,8152],{"type":51,"tag":5873,"props":8135,"children":8136},{},[8137],{"type":57,"value":8138},"Virtual BG",{"type":51,"tag":5873,"props":8140,"children":8141},{},[8142],{"type":57,"value":8067},{"type":51,"tag":5873,"props":8144,"children":8145},{},[8146],{"type":57,"value":8147},"90+",{"type":51,"tag":5873,"props":8149,"children":8150},{},[8151],{"type":57,"value":4062},{"type":51,"tag":5873,"props":8153,"children":8154},{},[8155],{"type":57,"value":8067},{"type":51,"tag":60,"props":8157,"children":8158},{},[8159],{"type":51,"tag":71,"props":8160,"children":8161},{},[8162],{"type":57,"value":8163},"Safari Notes:",{"type":51,"tag":212,"props":8165,"children":8166},{},[8167,8172],{"type":51,"tag":147,"props":8168,"children":8169},{},[8170],{"type":57,"value":8171},"Virtual background not supported",{"type":51,"tag":147,"props":8173,"children":8174},{},[8175],{"type":57,"value":8176},"Screen sharing requires macOS 15+",{"type":51,"tag":128,"props":8178,"children":8180},{"id":8179},"cors-errors-telemetry",[8181],{"type":57,"value":8182},"CORS Errors (Telemetry)",{"type":51,"tag":60,"props":8184,"children":8185},{},[8186],{"type":51,"tag":71,"props":8187,"children":8188},{},[8189,8191,8197],{"type":57,"value":8190},"CORS errors to ",{"type":51,"tag":498,"props":8192,"children":8194},{"className":8193},[],[8195],{"type":57,"value":8196},"log-external-gateway.zoom.us",{"type":57,"value":8198}," are harmless.",{"type":51,"tag":60,"props":8200,"children":8201},{},[8202],{"type":57,"value":8203},"These are caused by COOP\u002FCOEP headers blocking telemetry requests. They don't affect SDK functionality.",{"type":51,"tag":128,"props":8205,"children":8207},{"id":8206},"complete-documentation-library",[8208],{"type":57,"value":8209},"Complete Documentation Library",{"type":51,"tag":437,"props":8211,"children":8213},{"id":8212},"core-concepts",[8214],{"type":57,"value":8215},"Core Concepts",{"type":51,"tag":212,"props":8217,"children":8218},{},[8219,8230],{"type":51,"tag":147,"props":8220,"children":8221},{},[8222,8229],{"type":51,"tag":71,"props":8223,"children":8224},{},[8225],{"type":51,"tag":79,"props":8226,"children":8227},{"href":155},[8228],{"type":57,"value":158},{"type":57,"value":160},{"type":51,"tag":147,"props":8231,"children":8232},{},[8233,8240],{"type":51,"tag":71,"props":8234,"children":8235},{},[8236],{"type":51,"tag":79,"props":8237,"children":8238},{"href":223},[8239],{"type":57,"value":226},{"type":57,"value":8241}," - 4-level navigation guide",{"type":51,"tag":437,"props":8243,"children":8245},{"id":8244},"complete-examples",[8246],{"type":57,"value":8247},"Complete Examples",{"type":51,"tag":212,"props":8249,"children":8250},{},[8251,8263,8275,8288,8300,8313,8326],{"type":51,"tag":147,"props":8252,"children":8253},{},[8254,8261],{"type":51,"tag":71,"props":8255,"children":8256},{},[8257],{"type":51,"tag":79,"props":8258,"children":8259},{"href":169},[8260],{"type":57,"value":172},{"type":57,"value":8262}," - JWT auth + session join with full code",{"type":51,"tag":147,"props":8264,"children":8265},{},[8266,8273],{"type":51,"tag":71,"props":8267,"children":8268},{},[8269],{"type":51,"tag":79,"props":8270,"children":8271},{"href":183},[8272],{"type":57,"value":186},{"type":57,"value":8274}," - attachVideo() patterns",{"type":51,"tag":147,"props":8276,"children":8277},{},[8278,8286],{"type":51,"tag":71,"props":8279,"children":8280},{},[8281],{"type":51,"tag":79,"props":8282,"children":8284},{"href":8283},"examples\u002Fscreen-share.md",[8285],{"type":57,"value":8113},{"type":57,"value":8287}," - Send and receive screen shares",{"type":51,"tag":147,"props":8289,"children":8290},{},[8291,8298],{"type":51,"tag":71,"props":8292,"children":8293},{},[8294],{"type":51,"tag":79,"props":8295,"children":8296},{"href":197},[8297],{"type":57,"value":200},{"type":57,"value":8299}," - Required events",{"type":51,"tag":147,"props":8301,"children":8302},{},[8303,8311],{"type":51,"tag":71,"props":8304,"children":8305},{},[8306],{"type":51,"tag":79,"props":8307,"children":8309},{"href":8308},"examples\u002Fchat.md",[8310],{"type":57,"value":377},{"type":57,"value":8312}," - In-session messaging",{"type":51,"tag":147,"props":8314,"children":8315},{},[8316,8324],{"type":51,"tag":71,"props":8317,"children":8318},{},[8319],{"type":51,"tag":79,"props":8320,"children":8322},{"href":8321},"examples\u002Frecording.md",[8323],{"type":57,"value":5954},{"type":57,"value":8325}," - Cloud recording control",{"type":51,"tag":147,"props":8327,"children":8328},{},[8329,8337],{"type":51,"tag":71,"props":8330,"children":8331},{},[8332],{"type":51,"tag":79,"props":8333,"children":8335},{"href":8334},"examples\u002Ftranscription.md",[8336],{"type":57,"value":5979},{"type":57,"value":8338}," - Live captions",{"type":51,"tag":437,"props":8340,"children":8342},{"id":8341},"framework-integrations",[8343],{"type":57,"value":8344},"Framework Integrations",{"type":51,"tag":212,"props":8346,"children":8347},{},[8348,8362],{"type":51,"tag":147,"props":8349,"children":8350},{},[8351,8360],{"type":51,"tag":71,"props":8352,"children":8353},{},[8354],{"type":51,"tag":79,"props":8355,"children":8357},{"href":8356},"examples\u002Freact-hooks.md",[8358],{"type":57,"value":8359},"React Hooks",{"type":57,"value":8361}," - Official @zoom\u002Fvideosdk-react library",{"type":51,"tag":147,"props":8363,"children":8364},{},[8365,8373],{"type":51,"tag":71,"props":8366,"children":8367},{},[8368],{"type":51,"tag":79,"props":8369,"children":8371},{"href":8370},"examples\u002Fframework-integrations.md",[8372],{"type":57,"value":8344},{"type":57,"value":8374}," - Next.js, Vue\u002FNuxt patterns",{"type":51,"tag":437,"props":8376,"children":8378},{"id":8377},"troubleshooting",[8379],{"type":57,"value":8380},"Troubleshooting",{"type":51,"tag":212,"props":8382,"children":8383},{},[8384],{"type":51,"tag":147,"props":8385,"children":8386},{},[8387,8394],{"type":51,"tag":71,"props":8388,"children":8389},{},[8390],{"type":51,"tag":79,"props":8391,"children":8392},{"href":302},[8393],{"type":57,"value":305},{"type":57,"value":8395}," - Quick diagnostics & error codes",{"type":51,"tag":437,"props":8397,"children":8399},{"id":8398},"references",[8400],{"type":57,"value":8401},"References",{"type":51,"tag":212,"props":8403,"children":8404},{},[8405,8417,8431],{"type":51,"tag":147,"props":8406,"children":8407},{},[8408,8415],{"type":51,"tag":71,"props":8409,"children":8410},{},[8411],{"type":51,"tag":79,"props":8412,"children":8413},{"href":237},[8414],{"type":57,"value":107},{"type":57,"value":8416}," - Complete method signatures",{"type":51,"tag":147,"props":8418,"children":8419},{},[8420,8429],{"type":51,"tag":71,"props":8421,"children":8422},{},[8423],{"type":51,"tag":79,"props":8424,"children":8426},{"href":8425},"references\u002Fevents-reference.md",[8427],{"type":57,"value":8428},"Events Reference",{"type":57,"value":8430}," - All event types",{"type":51,"tag":147,"props":8432,"children":8433},{},[8434,8441],{"type":51,"tag":71,"props":8435,"children":8436},{},[8437],{"type":51,"tag":79,"props":8438,"children":8439},{"href":250},[8440],{"type":57,"value":250},{"type":57,"value":8442}," - Complete navigation guide",{"type":51,"tag":128,"props":8444,"children":8446},{"id":8445},"official-sample-repositories",[8447],{"type":57,"value":8448},"Official Sample Repositories",{"type":51,"tag":5838,"props":8450,"children":8451},{},[8452,8468],{"type":51,"tag":5842,"props":8453,"children":8454},{},[8455],{"type":51,"tag":5846,"props":8456,"children":8457},{},[8458,8463],{"type":51,"tag":5850,"props":8459,"children":8460},{},[8461],{"type":57,"value":8462},"Type",{"type":51,"tag":5850,"props":8464,"children":8465},{},[8466],{"type":57,"value":8467},"Repository",{"type":51,"tag":5866,"props":8469,"children":8470},{},[8471,8488,8506,8524,8542,8560],{"type":51,"tag":5846,"props":8472,"children":8473},{},[8474,8479],{"type":51,"tag":5873,"props":8475,"children":8476},{},[8477],{"type":57,"value":8478},"Web Sample",{"type":51,"tag":5873,"props":8480,"children":8481},{},[8482],{"type":51,"tag":79,"props":8483,"children":8485},{"href":123,"rel":8484},[100],[8486],{"type":57,"value":8487},"videosdk-web-sample",{"type":51,"tag":5846,"props":8489,"children":8490},{},[8491,8496],{"type":51,"tag":5873,"props":8492,"children":8493},{},[8494],{"type":57,"value":8495},"React SDK",{"type":51,"tag":5873,"props":8497,"children":8498},{},[8499],{"type":51,"tag":79,"props":8500,"children":8503},{"href":8501,"rel":8502},"https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-react",[100],[8504],{"type":57,"value":8505},"videosdk-react",{"type":51,"tag":5846,"props":8507,"children":8508},{},[8509,8514],{"type":51,"tag":5873,"props":8510,"children":8511},{},[8512],{"type":57,"value":8513},"Next.js",{"type":51,"tag":5873,"props":8515,"children":8516},{},[8517],{"type":51,"tag":79,"props":8518,"children":8521},{"href":8519,"rel":8520},"https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-nextjs-quickstart",[100],[8522],{"type":57,"value":8523},"videosdk-nextjs-quickstart",{"type":51,"tag":5846,"props":8525,"children":8526},{},[8527,8532],{"type":51,"tag":5873,"props":8528,"children":8529},{},[8530],{"type":57,"value":8531},"Vue\u002FNuxt",{"type":51,"tag":5873,"props":8533,"children":8534},{},[8535],{"type":51,"tag":79,"props":8536,"children":8539},{"href":8537,"rel":8538},"https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-vue-nuxt-quickstart",[100],[8540],{"type":57,"value":8541},"videosdk-vue-nuxt-quickstart",{"type":51,"tag":5846,"props":8543,"children":8544},{},[8545,8550],{"type":51,"tag":5873,"props":8546,"children":8547},{},[8548],{"type":57,"value":8549},"Auth Endpoint",{"type":51,"tag":5873,"props":8551,"children":8552},{},[8553],{"type":51,"tag":79,"props":8554,"children":8557},{"href":8555,"rel":8556},"https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-auth-endpoint-sample",[100],[8558],{"type":57,"value":8559},"videosdk-auth-endpoint-sample",{"type":51,"tag":5846,"props":8561,"children":8562},{},[8563,8568],{"type":51,"tag":5873,"props":8564,"children":8565},{},[8566],{"type":57,"value":8567},"UI Toolkit",{"type":51,"tag":5873,"props":8569,"children":8570},{},[8571],{"type":51,"tag":79,"props":8572,"children":8575},{"href":8573,"rel":8574},"https:\u002F\u002Fgithub.com\u002Fzoom\u002Fvideosdk-zoom-ui-toolkit-react-sample",[100],[8576],{"type":57,"value":8577},"videosdk-zoom-ui-toolkit-react-sample",{"type":51,"tag":128,"props":8579,"children":8581},{"id":8580},"resources",[8582],{"type":57,"value":8583},"Resources",{"type":51,"tag":212,"props":8585,"children":8586},{},[8587,8601,8614,8629],{"type":51,"tag":147,"props":8588,"children":8589},{},[8590,8595,8596],{"type":51,"tag":71,"props":8591,"children":8592},{},[8593],{"type":57,"value":8594},"Official Docs",{"type":57,"value":95},{"type":51,"tag":79,"props":8597,"children":8599},{"href":98,"rel":8598},[100],[8600],{"type":57,"value":98},{"type":51,"tag":147,"props":8602,"children":8603},{},[8604,8608,8609],{"type":51,"tag":71,"props":8605,"children":8606},{},[8607],{"type":57,"value":107},{"type":57,"value":95},{"type":51,"tag":79,"props":8610,"children":8612},{"href":111,"rel":8611},[100],[8613],{"type":57,"value":111},{"type":51,"tag":147,"props":8615,"children":8616},{},[8617,8622,8623],{"type":51,"tag":71,"props":8618,"children":8619},{},[8620],{"type":57,"value":8621},"Dev Forum",{"type":57,"value":95},{"type":51,"tag":79,"props":8624,"children":8627},{"href":8625,"rel":8626},"https:\u002F\u002Fdevforum.zoom.us\u002F",[100],[8628],{"type":57,"value":8625},{"type":51,"tag":147,"props":8630,"children":8631},{},[8632,8637,8638],{"type":51,"tag":71,"props":8633,"children":8634},{},[8635],{"type":57,"value":8636},"GitHub Samples",{"type":57,"value":95},{"type":51,"tag":79,"props":8639,"children":8641},{"href":123,"rel":8640},[100],[8642],{"type":57,"value":123},{"type":51,"tag":8644,"props":8645,"children":8646},"hr",{},[],{"type":51,"tag":60,"props":8648,"children":8649},{},[8650,8655,8657,8661],{"type":51,"tag":71,"props":8651,"children":8652},{},[8653],{"type":57,"value":8654},"Need help?",{"type":57,"value":8656}," Start with ",{"type":51,"tag":79,"props":8658,"children":8659},{"href":250},[8660],{"type":57,"value":250},{"type":57,"value":8662}," for complete navigation.",{"type":51,"tag":128,"props":8664,"children":8666},{"id":8665},"merged-from-video-sdkwebskillmd",[8667],{"type":57,"value":8668},"Merged from video-sdk\u002Fweb\u002FSKILL.md",{"type":51,"tag":52,"props":8670,"children":8672},{"id":8671},"zoom-video-sdk-web-complete-documentation-index",[8673],{"type":57,"value":8674},"Zoom Video SDK Web - Complete Documentation Index",{"type":51,"tag":128,"props":8676,"children":8678},{"id":8677},"quick-start-path",[8679],{"type":57,"value":8680},"Quick Start Path",{"type":51,"tag":60,"props":8682,"children":8683},{},[8684],{"type":51,"tag":71,"props":8685,"children":8686},{},[8687],{"type":57,"value":8688},"If you're new to the SDK, follow this order:",{"type":51,"tag":143,"props":8690,"children":8691},{},[8692,8719,8740,8766,8787],{"type":51,"tag":147,"props":8693,"children":8694},{},[8695,8700,8702,8706],{"type":51,"tag":71,"props":8696,"children":8697},{},[8698],{"type":57,"value":8699},"Read the architecture pattern",{"type":57,"value":8701}," → ",{"type":51,"tag":79,"props":8703,"children":8704},{"href":155},[8705],{"type":57,"value":155},{"type":51,"tag":212,"props":8707,"children":8708},{},[8709,8714],{"type":51,"tag":147,"props":8710,"children":8711},{},[8712],{"type":57,"value":8713},"Universal formula: Create Client → Init → Join → Get Stream → Use",{"type":51,"tag":147,"props":8715,"children":8716},{},[8717],{"type":57,"value":8718},"Once you understand this, you can implement any feature",{"type":51,"tag":147,"props":8720,"children":8721},{},[8722,8727,8728,8732],{"type":51,"tag":71,"props":8723,"children":8724},{},[8725],{"type":57,"value":8726},"Implement session join",{"type":57,"value":8701},{"type":51,"tag":79,"props":8729,"children":8730},{"href":169},[8731],{"type":57,"value":169},{"type":51,"tag":212,"props":8733,"children":8734},{},[8735],{"type":51,"tag":147,"props":8736,"children":8737},{},[8738],{"type":57,"value":8739},"Complete working JWT + session join code",{"type":51,"tag":147,"props":8741,"children":8742},{},[8743,8748,8749,8753],{"type":51,"tag":71,"props":8744,"children":8745},{},[8746],{"type":57,"value":8747},"Listen to events",{"type":57,"value":8701},{"type":51,"tag":79,"props":8750,"children":8751},{"href":197},[8752],{"type":57,"value":197},{"type":51,"tag":212,"props":8754,"children":8755},{},[8756],{"type":51,"tag":147,"props":8757,"children":8758},{},[8759,8764],{"type":51,"tag":71,"props":8760,"children":8761},{},[8762],{"type":57,"value":8763},"CRITICAL",{"type":57,"value":8765},": The SDK is event-driven, you must listen for events",{"type":51,"tag":147,"props":8767,"children":8768},{},[8769,8774,8775,8779],{"type":51,"tag":71,"props":8770,"children":8771},{},[8772],{"type":57,"value":8773},"Implement video",{"type":57,"value":8701},{"type":51,"tag":79,"props":8776,"children":8777},{"href":183},[8778],{"type":57,"value":183},{"type":51,"tag":212,"props":8780,"children":8781},{},[8782],{"type":51,"tag":147,"props":8783,"children":8784},{},[8785],{"type":57,"value":8786},"Use attachVideo(), NOT renderVideo()",{"type":51,"tag":147,"props":8788,"children":8789},{},[8790,8795,8796,8800],{"type":51,"tag":71,"props":8791,"children":8792},{},[8793],{"type":57,"value":8794},"Troubleshoot any issues",{"type":57,"value":8701},{"type":51,"tag":79,"props":8797,"children":8798},{"href":302},[8799],{"type":57,"value":302},{"type":51,"tag":212,"props":8801,"children":8802},{},[8803,8808],{"type":51,"tag":147,"props":8804,"children":8805},{},[8806],{"type":57,"value":8807},"Quick diagnostic checklist",{"type":51,"tag":147,"props":8809,"children":8810},{},[8811],{"type":57,"value":8812},"Error code tables",{"type":51,"tag":8644,"props":8814,"children":8815},{},[],{"type":51,"tag":128,"props":8817,"children":8819},{"id":8818},"documentation-structure",[8820],{"type":57,"value":8821},"Documentation Structure",{"type":51,"tag":490,"props":8823,"children":8826},{"className":8824,"code":8825,"language":57},[1809],"video-sdk\u002Fweb\u002F\n├── SKILL.md                           # Main skill overview\n├── SKILL.md                           # This file - navigation guide\n│\n├── concepts\u002F                          # Core architectural patterns\n│   ├── sdk-architecture-pattern.md   # Universal formula for ANY feature\n│   └── singleton-hierarchy.md        # 4-level navigation guide\n│\n├── examples\u002F                          # Complete working code\n│   ├── session-join-pattern.md       # JWT auth + session join\n│   ├── video-rendering.md            # attachVideo() patterns\n│   ├── screen-share.md               # Send and receive screen shares\n│   ├── event-handling.md             # Required events\n│   ├── chat.md                       # Chat implementation\n│   ├── command-channel.md            # Command channel messaging\n│   ├── recording.md                  # Cloud recording control\n│   ├── transcription.md              # Live transcription\u002Fcaptions\n│   ├── react-hooks.md                # Official @zoom\u002Fvideosdk-react library\n│   └── framework-integrations.md     # Next.js, Vue\u002FNuxt, ZFG patterns\n│\n├── troubleshooting\u002F                   # Problem solving guides\n│   └── common-issues.md              # Quick diagnostic workflow\n│\n└── references\u002F                        # Reference documentation\n    ├── web-reference.md              # API hierarchy, methods, error codes\n    └── events-reference.md           # All event types\n",[8827],{"type":51,"tag":498,"props":8828,"children":8829},{"__ignoreMap":495},[8830],{"type":57,"value":8825},{"type":51,"tag":8644,"props":8832,"children":8833},{},[],{"type":51,"tag":128,"props":8835,"children":8837},{"id":8836},"by-use-case",[8838],{"type":57,"value":8839},"By Use Case",{"type":51,"tag":437,"props":8841,"children":8843},{"id":8842},"i-want-to-build-a-video-app",[8844],{"type":57,"value":8845},"I want to build a video app",{"type":51,"tag":143,"props":8847,"children":8848},{},[8849,8858,8867,8876],{"type":51,"tag":147,"props":8850,"children":8851},{},[8852,8856],{"type":51,"tag":79,"props":8853,"children":8854},{"href":155},[8855],{"type":57,"value":158},{"type":57,"value":8857}," - Understand the pattern",{"type":51,"tag":147,"props":8859,"children":8860},{},[8861,8865],{"type":51,"tag":79,"props":8862,"children":8863},{"href":169},[8864],{"type":57,"value":172},{"type":57,"value":8866}," - Join sessions",{"type":51,"tag":147,"props":8868,"children":8869},{},[8870,8874],{"type":51,"tag":79,"props":8871,"children":8872},{"href":183},[8873],{"type":57,"value":186},{"type":57,"value":8875}," - Display video",{"type":51,"tag":147,"props":8877,"children":8878},{},[8879,8883],{"type":51,"tag":79,"props":8880,"children":8881},{"href":197},[8882],{"type":57,"value":200},{"type":57,"value":8884}," - Listen for video events",{"type":51,"tag":437,"props":8886,"children":8888},{"id":8887},"im-getting-runtime-errors",[8889],{"type":57,"value":8890},"I'm getting runtime errors",{"type":51,"tag":143,"props":8892,"children":8893},{},[8894,8903],{"type":51,"tag":147,"props":8895,"children":8896},{},[8897,8901],{"type":51,"tag":79,"props":8898,"children":8899},{"href":302},[8900],{"type":57,"value":305},{"type":57,"value":8902}," - Error code tables",{"type":51,"tag":147,"props":8904,"children":8905},{},[8906],{"type":57,"value":8907},"\"getMediaStream() is undefined\" → Call AFTER join() completes",{"type":51,"tag":437,"props":8909,"children":8911},{"id":8910},"i-want-to-receive-screen-shares",[8912],{"type":57,"value":8913},"I want to receive screen shares",{"type":51,"tag":143,"props":8915,"children":8916},{},[8917,8926],{"type":51,"tag":147,"props":8918,"children":8919},{},[8920,8924],{"type":51,"tag":79,"props":8921,"children":8922},{"href":8283},[8923],{"type":57,"value":8113},{"type":57,"value":8925}," - startShareView() patterns",{"type":51,"tag":147,"props":8927,"children":8928},{},[8929,8933],{"type":51,"tag":79,"props":8930,"children":8931},{"href":197},[8932],{"type":57,"value":200},{"type":57,"value":8934}," - active-share-change event",{"type":51,"tag":437,"props":8936,"children":8938},{"id":8937},"i-want-to-send-screen-shares",[8939],{"type":57,"value":8940},"I want to send screen shares",{"type":51,"tag":143,"props":8942,"children":8943},{},[8944,8953],{"type":51,"tag":147,"props":8945,"children":8946},{},[8947,8951],{"type":51,"tag":79,"props":8948,"children":8949},{"href":8283},[8950],{"type":57,"value":8113},{"type":57,"value":8952}," - startShareScreen() patterns",{"type":51,"tag":147,"props":8954,"children":8955},{},[8956],{"type":57,"value":8957},"Check isStartShareScreenWithVideoElement() for element type",{"type":51,"tag":437,"props":8959,"children":8961},{"id":8960},"i-want-to-use-chat",[8962],{"type":57,"value":8963},"I want to use chat",{"type":51,"tag":143,"props":8965,"children":8966},{},[8967,8976],{"type":51,"tag":147,"props":8968,"children":8969},{},[8970,8974],{"type":51,"tag":79,"props":8971,"children":8972},{"href":8308},[8973],{"type":57,"value":377},{"type":57,"value":8975}," - Send\u002Freceive messages",{"type":51,"tag":147,"props":8977,"children":8978},{},[8979],{"type":57,"value":8980},"getChatClient() for ChatClient access",{"type":51,"tag":437,"props":8982,"children":8984},{"id":8983},"i-want-to-record-sessions",[8985],{"type":57,"value":8986},"I want to record sessions",{"type":51,"tag":143,"props":8988,"children":8989},{},[8990,8999],{"type":51,"tag":147,"props":8991,"children":8992},{},[8993,8997],{"type":51,"tag":79,"props":8994,"children":8995},{"href":8321},[8996],{"type":57,"value":5954},{"type":57,"value":8998}," - Cloud recording (host only)",{"type":51,"tag":147,"props":9000,"children":9001},{},[9002],{"type":57,"value":9003},"getRecordingClient() for RecordingClient access",{"type":51,"tag":437,"props":9005,"children":9007},{"id":9006},"i-want-to-use-live-transcription",[9008],{"type":57,"value":9009},"I want to use live transcription",{"type":51,"tag":143,"props":9011,"children":9012},{},[9013,9022],{"type":51,"tag":147,"props":9014,"children":9015},{},[9016,9020],{"type":51,"tag":79,"props":9017,"children":9018},{"href":8334},[9019],{"type":57,"value":5979},{"type":57,"value":9021}," - Enable live captions",{"type":51,"tag":147,"props":9023,"children":9024},{},[9025],{"type":57,"value":9026},"getLiveTranscriptionClient() for LiveTranscriptionClient access",{"type":51,"tag":437,"props":9028,"children":9030},{"id":9029},"i-want-to-use-command-channel",[9031],{"type":57,"value":9032},"I want to use command channel",{"type":51,"tag":143,"props":9034,"children":9035},{},[9036,9046],{"type":51,"tag":147,"props":9037,"children":9038},{},[9039,9044],{"type":51,"tag":79,"props":9040,"children":9042},{"href":9041},"examples\u002Fcommand-channel.md",[9043],{"type":57,"value":387},{"type":57,"value":9045}," - Custom signaling between participants",{"type":51,"tag":147,"props":9047,"children":9048},{},[9049],{"type":57,"value":9050},"Must call getCommandClient() AFTER join()",{"type":51,"tag":437,"props":9052,"children":9054},{"id":9053},"i-want-to-implement-a-specific-feature",[9055],{"type":57,"value":9056},"I want to implement a specific feature",{"type":51,"tag":143,"props":9058,"children":9059},{},[9060,9074,9083],{"type":51,"tag":147,"props":9061,"children":9062},{},[9063,9067,9069],{"type":51,"tag":79,"props":9064,"children":9065},{"href":155},[9066],{"type":57,"value":158},{"type":57,"value":9068}," - ",{"type":51,"tag":71,"props":9070,"children":9071},{},[9072],{"type":57,"value":9073},"START HERE!",{"type":51,"tag":147,"props":9075,"children":9076},{},[9077,9081],{"type":51,"tag":79,"props":9078,"children":9079},{"href":223},[9080],{"type":57,"value":226},{"type":57,"value":9082}," - Navigate to the feature",{"type":51,"tag":147,"props":9084,"children":9085},{},[9086,9090],{"type":51,"tag":79,"props":9087,"children":9088},{"href":237},[9089],{"type":57,"value":107},{"type":57,"value":9091}," - Method signatures",{"type":51,"tag":437,"props":9093,"children":9095},{"id":9094},"im-using-react",[9096],{"type":57,"value":9097},"I'm using React",{"type":51,"tag":143,"props":9099,"children":9100},{},[9101,9109,9114],{"type":51,"tag":147,"props":9102,"children":9103},{},[9104,9108],{"type":51,"tag":79,"props":9105,"children":9106},{"href":8356},[9107],{"type":57,"value":8359},{"type":57,"value":8361},{"type":51,"tag":147,"props":9110,"children":9111},{},[9112],{"type":57,"value":9113},"Provides hooks: useSession, useSessionUsers, useVideoState, useAudioState",{"type":51,"tag":147,"props":9115,"children":9116},{},[9117],{"type":57,"value":9118},"Pre-built components: VideoPlayerComponent, ScreenSharePlayerComponent",{"type":51,"tag":437,"props":9120,"children":9122},{"id":9121},"im-using-nextjs-or-vuenuxt",[9123],{"type":57,"value":9124},"I'm using Next.js or Vue\u002FNuxt",{"type":51,"tag":143,"props":9126,"children":9127},{},[9128,9137,9142],{"type":51,"tag":147,"props":9129,"children":9130},{},[9131,9135],{"type":51,"tag":79,"props":9132,"children":9133},{"href":8370},[9134],{"type":57,"value":8344},{"type":57,"value":9136}," - SSR considerations",{"type":51,"tag":147,"props":9138,"children":9139},{},[9140],{"type":57,"value":9141},"Server-side JWT generation patterns",{"type":51,"tag":147,"props":9143,"children":9144},{},[9145],{"type":57,"value":9146},"Client-side only SDK usage",{"type":51,"tag":8644,"props":9148,"children":9149},{},[],{"type":51,"tag":128,"props":9151,"children":9153},{"id":9152},"most-critical-documents",[9154],{"type":57,"value":9155},"Most Critical Documents",{"type":51,"tag":437,"props":9157,"children":9159},{"id":9158},"_1-sdk-architecture-pattern-master-document",[9160],{"type":57,"value":9161},"1. SDK Architecture Pattern (MASTER DOCUMENT)",{"type":51,"tag":60,"props":9163,"children":9164},{},[9165],{"type":51,"tag":71,"props":9166,"children":9167},{},[9168],{"type":51,"tag":79,"props":9169,"children":9170},{"href":155},[9171],{"type":57,"value":155},{"type":51,"tag":60,"props":9173,"children":9174},{},[9175],{"type":57,"value":9176},"The universal 5-step pattern:",{"type":51,"tag":143,"props":9178,"children":9179},{},[9180,9185,9190,9195,9200],{"type":51,"tag":147,"props":9181,"children":9182},{},[9183],{"type":57,"value":9184},"Create client",{"type":51,"tag":147,"props":9186,"children":9187},{},[9188],{"type":57,"value":9189},"Initialize SDK",{"type":51,"tag":147,"props":9191,"children":9192},{},[9193],{"type":57,"value":9194},"Join session",{"type":51,"tag":147,"props":9196,"children":9197},{},[9198],{"type":57,"value":9199},"Get stream",{"type":51,"tag":147,"props":9201,"children":9202},{},[9203],{"type":57,"value":9204},"Use features + listen to events",{"type":51,"tag":437,"props":9206,"children":9208},{"id":9207},"_2-common-issues-most-common-problems",[9209],{"type":57,"value":9210},"2. Common Issues (MOST COMMON PROBLEMS)",{"type":51,"tag":60,"props":9212,"children":9213},{},[9214],{"type":51,"tag":71,"props":9215,"children":9216},{},[9217],{"type":51,"tag":79,"props":9218,"children":9219},{"href":302},[9220],{"type":57,"value":302},{"type":51,"tag":60,"props":9222,"children":9223},{},[9224],{"type":57,"value":9225},"Common issues:",{"type":51,"tag":212,"props":9227,"children":9228},{},[9229,9234,9239],{"type":51,"tag":147,"props":9230,"children":9231},{},[9232],{"type":57,"value":9233},"getMediaStream() returns undefined",{"type":51,"tag":147,"props":9235,"children":9236},{},[9237],{"type":57,"value":9238},"Video not displaying",{"type":51,"tag":147,"props":9240,"children":9241},{},[9242],{"type":57,"value":9243},"renderVideo() deprecated",{"type":51,"tag":437,"props":9245,"children":9247},{"id":9246},"_3-singleton-hierarchy-navigation-map",[9248],{"type":57,"value":9249},"3. Singleton Hierarchy (NAVIGATION MAP)",{"type":51,"tag":60,"props":9251,"children":9252},{},[9253],{"type":51,"tag":71,"props":9254,"children":9255},{},[9256],{"type":51,"tag":79,"props":9257,"children":9258},{"href":223},[9259],{"type":57,"value":223},{"type":51,"tag":60,"props":9261,"children":9262},{},[9263],{"type":57,"value":9264},"4-level deep navigation showing how to reach every feature.",{"type":51,"tag":8644,"props":9266,"children":9267},{},[],{"type":51,"tag":128,"props":9269,"children":9271},{"id":9270},"key-learnings",[9272],{"type":57,"value":9273},"Key Learnings",{"type":51,"tag":437,"props":9275,"children":9277},{"id":9276},"critical-discoveries",[9278],{"type":57,"value":9279},"Critical Discoveries:",{"type":51,"tag":143,"props":9281,"children":9282},{},[9283,9308,9336,9365,9394,9444,9476,9508,9542],{"type":51,"tag":147,"props":9284,"children":9285},{},[9286,9291],{"type":51,"tag":71,"props":9287,"children":9288},{},[9289],{"type":57,"value":9290},"getMediaStream() ONLY works after join()",{"type":51,"tag":212,"props":9292,"children":9293},{},[9294,9299],{"type":51,"tag":147,"props":9295,"children":9296},{},[9297],{"type":57,"value":9298},"The stream object is not available until session is joined",{"type":51,"tag":147,"props":9300,"children":9301},{},[9302,9304],{"type":57,"value":9303},"See: ",{"type":51,"tag":79,"props":9305,"children":9306},{"href":155},[9307],{"type":57,"value":158},{"type":51,"tag":147,"props":9309,"children":9310},{},[9311,9315],{"type":51,"tag":71,"props":9312,"children":9313},{},[9314],{"type":57,"value":2208},{"type":51,"tag":212,"props":9316,"children":9317},{},[9318,9323,9328],{"type":51,"tag":147,"props":9319,"children":9320},{},[9321],{"type":57,"value":9322},"renderVideo() is deprecated",{"type":51,"tag":147,"props":9324,"children":9325},{},[9326],{"type":57,"value":9327},"attachVideo() returns a VideoPlayer element to append to DOM",{"type":51,"tag":147,"props":9329,"children":9330},{},[9331,9332],{"type":57,"value":9303},{"type":51,"tag":79,"props":9333,"children":9334},{"href":183},[9335],{"type":57,"value":186},{"type":51,"tag":147,"props":9337,"children":9338},{},[9339,9344],{"type":51,"tag":71,"props":9340,"children":9341},{},[9342],{"type":57,"value":9343},"The SDK is Event-Driven",{"type":51,"tag":212,"props":9345,"children":9346},{},[9347,9352,9357],{"type":51,"tag":147,"props":9348,"children":9349},{},[9350],{"type":57,"value":9351},"You MUST listen for events to render participant videos",{"type":51,"tag":147,"props":9353,"children":9354},{},[9355],{"type":57,"value":9356},"key events: peer-video-state-change, user-added, user-removed",{"type":51,"tag":147,"props":9358,"children":9359},{},[9360,9361],{"type":57,"value":9303},{"type":51,"tag":79,"props":9362,"children":9363},{"href":197},[9364],{"type":57,"value":200},{"type":51,"tag":147,"props":9366,"children":9367},{},[9368,9373],{"type":51,"tag":71,"props":9369,"children":9370},{},[9371],{"type":57,"value":9372},"Peer Videos on Mid-Session Join",{"type":51,"tag":212,"props":9374,"children":9375},{},[9376,9381,9386],{"type":51,"tag":147,"props":9377,"children":9378},{},[9379],{"type":57,"value":9380},"Existing participants' videos won't auto-render",{"type":51,"tag":147,"props":9382,"children":9383},{},[9384],{"type":57,"value":9385},"Must manually iterate getAllUser() and attachVideo()",{"type":51,"tag":147,"props":9387,"children":9388},{},[9389,9390],{"type":57,"value":9303},{"type":51,"tag":79,"props":9391,"children":9392},{"href":183},[9393],{"type":57,"value":186},{"type":51,"tag":147,"props":9395,"children":9396},{},[9397,9402],{"type":51,"tag":71,"props":9398,"children":9399},{},[9400],{"type":57,"value":9401},"CDN vs NPM",{"type":51,"tag":212,"props":9403,"children":9404},{},[9405,9424,9436],{"type":51,"tag":147,"props":9406,"children":9407},{},[9408,9410,9416,9418],{"type":57,"value":9409},"CDN exports as ",{"type":51,"tag":498,"props":9411,"children":9413},{"className":9412},[],[9414],{"type":57,"value":9415},"WebVideoSDK.default",{"type":57,"value":9417},", not ",{"type":51,"tag":498,"props":9419,"children":9421},{"className":9420},[],[9422],{"type":57,"value":9423},"ZoomVideo",{"type":51,"tag":147,"props":9425,"children":9426},{},[9427,9429,9434],{"type":57,"value":9428},"Some networks\u002Fad blockers may block ",{"type":51,"tag":498,"props":9430,"children":9432},{"className":9431},[],[9433],{"type":57,"value":1079},{"type":57,"value":9435}," - allowlist or use a permitted fallback strategy",{"type":51,"tag":147,"props":9437,"children":9438},{},[9439,9440],{"type":57,"value":9303},{"type":51,"tag":79,"props":9441,"children":9442},{"href":169},[9443],{"type":57,"value":172},{"type":51,"tag":147,"props":9445,"children":9446},{},[9447,9452],{"type":51,"tag":71,"props":9448,"children":9449},{},[9450],{"type":57,"value":9451},"SharedArrayBuffer for HD",{"type":51,"tag":212,"props":9453,"children":9454},{},[9455,9460,9465],{"type":51,"tag":147,"props":9456,"children":9457},{},[9458],{"type":57,"value":9459},"Required for 720p\u002F1080p video",{"type":51,"tag":147,"props":9461,"children":9462},{},[9463],{"type":57,"value":9464},"Need COOP\u002FCOEP headers on server",{"type":51,"tag":147,"props":9466,"children":9467},{},[9468,9470],{"type":57,"value":9469},"Check with ",{"type":51,"tag":498,"props":9471,"children":9473},{"className":9472},[],[9474],{"type":57,"value":9475},"stream.isSupportHDVideo()",{"type":51,"tag":147,"props":9477,"children":9478},{},[9479,9484],{"type":51,"tag":71,"props":9480,"children":9481},{},[9482],{"type":57,"value":9483},"Screen Share Element Type",{"type":51,"tag":212,"props":9485,"children":9486},{},[9487,9500],{"type":51,"tag":147,"props":9488,"children":9489},{},[9490,9492,9498],{"type":57,"value":9491},"Check ",{"type":51,"tag":498,"props":9493,"children":9495},{"className":9494},[],[9496],{"type":57,"value":9497},"isStartShareScreenWithVideoElement()",{"type":57,"value":9499}," for correct element type",{"type":51,"tag":147,"props":9501,"children":9502},{},[9503,9504],{"type":57,"value":9303},{"type":51,"tag":79,"props":9505,"children":9506},{"href":8283},[9507],{"type":57,"value":8113},{"type":51,"tag":147,"props":9509,"children":9510},{},[9511,9516],{"type":51,"tag":71,"props":9512,"children":9513},{},[9514],{"type":57,"value":9515},"Command Channel Setup Order",{"type":51,"tag":212,"props":9517,"children":9518},{},[9519,9524,9529,9534],{"type":51,"tag":147,"props":9520,"children":9521},{},[9522],{"type":57,"value":9523},"Must call getCommandClient() AFTER client.join()",{"type":51,"tag":147,"props":9525,"children":9526},{},[9527],{"type":57,"value":9528},"Register listeners AFTER join, not before",{"type":51,"tag":147,"props":9530,"children":9531},{},[9532],{"type":57,"value":9533},"Web uses getCommandClient() not getCmdChannel()",{"type":51,"tag":147,"props":9535,"children":9536},{},[9537,9538],{"type":57,"value":9303},{"type":51,"tag":79,"props":9539,"children":9540},{"href":9041},[9541],{"type":57,"value":387},{"type":51,"tag":147,"props":9543,"children":9544},{},[9545,9550],{"type":51,"tag":71,"props":9546,"children":9547},{},[9548],{"type":57,"value":9549},"Command Channel is Session-Scoped",{"type":51,"tag":212,"props":9551,"children":9552},{},[9553,9558],{"type":51,"tag":147,"props":9554,"children":9555},{},[9556],{"type":57,"value":9557},"Does NOT span across different sessions",{"type":51,"tag":147,"props":9559,"children":9560},{},[9561],{"type":57,"value":9562},"Both sender and receiver must be in the same session",{"type":51,"tag":8644,"props":9564,"children":9565},{},[],{"type":51,"tag":128,"props":9567,"children":9569},{"id":9568},"quick-reference",[9570],{"type":57,"value":9571},"Quick Reference",{"type":51,"tag":437,"props":9573,"children":9575},{"id":9574},"getmediastream-returns-undefined",[9576],{"type":57,"value":9577},"\"getMediaStream() returns undefined\"",{"type":51,"tag":60,"props":9579,"children":9580},{},[9581],{"type":57,"value":9582},"→ Call AFTER join() completes",{"type":51,"tag":437,"props":9584,"children":9586},{"id":9585},"video-not-showing",[9587],{"type":57,"value":9588},"\"Video not showing\"",{"type":51,"tag":60,"props":9590,"children":9591},{},[9592,9594,9598],{"type":57,"value":9593},"→ ",{"type":51,"tag":79,"props":9595,"children":9596},{"href":183},[9597],{"type":57,"value":186},{"type":57,"value":9599}," - Use attachVideo(), check events",{"type":51,"tag":437,"props":9601,"children":9603},{"id":9602},"rendervideo-doesnt-work",[9604],{"type":57,"value":9605},"\"renderVideo() doesn't work\"",{"type":51,"tag":60,"props":9607,"children":9608},{},[9609,9610,9614],{"type":57,"value":9593},{"type":51,"tag":79,"props":9611,"children":9612},{"href":183},[9613],{"type":57,"value":186},{"type":57,"value":9615}," - Use attachVideo() instead",{"type":51,"tag":437,"props":9617,"children":9619},{"id":9618},"how-do-i-implement-feature",[9620,9622,9627],{"type":57,"value":9621},"\"How do I implement ",{"type":51,"tag":502,"props":9623,"children":9624},{},[9625],{"type":57,"value":9626},"feature",{"type":57,"value":9628},"?\"",{"type":51,"tag":60,"props":9630,"children":9631},{},[9632,9633],{"type":57,"value":9593},{"type":51,"tag":79,"props":9634,"children":9635},{"href":155},[9636],{"type":57,"value":158},{"type":51,"tag":437,"props":9638,"children":9640},{"id":9639},"how-do-i-navigate-to-client",[9641,9643,9647],{"type":57,"value":9642},"\"How do I navigate to ",{"type":51,"tag":502,"props":9644,"children":9645},{},[9646],{"type":57,"value":2507},{"type":57,"value":9628},{"type":51,"tag":60,"props":9649,"children":9650},{},[9651,9652],{"type":57,"value":9593},{"type":51,"tag":79,"props":9653,"children":9654},{"href":223},[9655],{"type":57,"value":226},{"type":51,"tag":437,"props":9657,"children":9659},{"id":9658},"what-error-code-means-what",[9660],{"type":57,"value":9661},"\"What error code means what?\"",{"type":51,"tag":60,"props":9663,"children":9664},{},[9665,9666],{"type":57,"value":9593},{"type":51,"tag":79,"props":9667,"children":9668},{"href":302},[9669],{"type":57,"value":305},{"type":51,"tag":8644,"props":9671,"children":9672},{},[],{"type":51,"tag":128,"props":9674,"children":9676},{"id":9675},"document-version",[9677],{"type":57,"value":9678},"Document Version",{"type":51,"tag":60,"props":9680,"children":9681},{},[9682,9684],{"type":57,"value":9683},"Based on ",{"type":51,"tag":71,"props":9685,"children":9686},{},[9687],{"type":57,"value":9688},"Zoom Video SDK for Web v2.3.x",{"type":51,"tag":8644,"props":9690,"children":9691},{},[],{"type":51,"tag":60,"props":9693,"children":9694},{},[9695],{"type":51,"tag":71,"props":9696,"children":9697},{},[9698],{"type":57,"value":9699},"Happy coding!",{"type":51,"tag":60,"props":9701,"children":9702},{},[9703,9705,9709],{"type":57,"value":9704},"Remember: The ",{"type":51,"tag":79,"props":9706,"children":9707},{"href":155},[9708],{"type":57,"value":158},{"type":57,"value":9710}," is your key to unlocking the entire SDK. Read it first!",{"type":51,"tag":128,"props":9712,"children":9714},{"id":9713},"operations",[9715],{"type":57,"value":9716},"Operations",{"type":51,"tag":212,"props":9718,"children":9719},{},[9720],{"type":51,"tag":147,"props":9721,"children":9722},{},[9723,9728],{"type":51,"tag":79,"props":9724,"children":9726},{"href":9725},"RUNBOOK.md",[9727],{"type":57,"value":9725},{"type":57,"value":9729}," - 5-minute preflight and debugging checklist.",{"type":51,"tag":9731,"props":9732,"children":9733},"style",{},[9734],{"type":57,"value":9735},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":9737,"total":9854},[9738,9754,9770,9786,9804,9823,9839],{"slug":9739,"name":9739,"fn":9740,"description":9741,"org":9742,"tags":9743,"stars":27,"repoUrl":28,"updatedAt":9753},"accessibility-review","run WCAG accessibility audits","Run a WCAG 2.1 AA accessibility audit on a design or page. Trigger with \"audit accessibility\", \"check a11y\", \"is this accessible?\", or when reviewing a design for color contrast, keyboard navigation, touch target size, or screen reader behavior before handoff.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9744,9747,9750],{"name":9745,"slug":9746,"type":17},"Accessibility","accessibility",{"name":9748,"slug":9749,"type":17},"Design","design",{"name":9751,"slug":9752,"type":17},"WCAG","wcag","2026-04-06T17:58:05.682394",{"slug":9755,"name":9755,"fn":9756,"description":9757,"org":9758,"tags":9759,"stars":27,"repoUrl":28,"updatedAt":9769},"account-research","research accounts for sales intel","Research a company or person and get actionable sales intel. Works standalone with web search, supercharged when you connect enrichment tools or your CRM. Trigger with \"research [company]\", \"look up [person]\", \"intel on [prospect]\", \"who is [name] at [company]\", or \"tell me about [company]\".",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9760,9763,9766],{"name":9761,"slug":9762,"type":17},"CRM","crm",{"name":9764,"slug":9765,"type":17},"Research","research",{"name":9767,"slug":9768,"type":17},"Sales","sales","2026-04-06T17:56:41.410418",{"slug":9771,"name":9771,"fn":9772,"description":9773,"org":9774,"tags":9775,"stars":27,"repoUrl":28,"updatedAt":9785},"analyze","answer data questions and run analyses","Answer data questions -- from quick lookups to full analyses. Use when looking up a single metric, investigating what's driving a trend or drop, comparing segments over time, or preparing a formal data report for stakeholders.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9776,9779,9782],{"name":9777,"slug":9778,"type":17},"Analytics","analytics",{"name":9780,"slug":9781,"type":17},"Data Analysis","data-analysis",{"name":9783,"slug":9784,"type":17},"SQL","sql","2026-04-06T17:57:21.593647",{"slug":9787,"name":9787,"fn":9788,"description":9789,"org":9790,"tags":9791,"stars":27,"repoUrl":28,"updatedAt":9803},"architecture","create and evaluate architecture decision records","Create or evaluate an architecture decision record (ADR). Use when choosing between technologies (e.g., Kafka vs SQS), documenting a design decision with trade-offs and consequences, reviewing a system design proposal, or designing a new component from requirements and constraints.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9792,9795,9797,9800],{"name":9793,"slug":9794,"type":17},"ADR","adr",{"name":9796,"slug":9787,"type":17},"Architecture",{"name":9798,"slug":9799,"type":17},"Documentation","documentation",{"name":9801,"slug":9802,"type":17},"Engineering","engineering","2026-04-06T17:57:49.26444",{"slug":9805,"name":9805,"fn":9806,"description":9807,"org":9808,"tags":9809,"stars":27,"repoUrl":28,"updatedAt":9822},"audit-support","support SOX 404 control testing","Support SOX 404 compliance with control testing methodology, sample selection, and documentation standards. Use when generating testing workpapers, selecting audit samples, classifying control deficiencies, or preparing for internal or external audits.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9810,9813,9816,9819],{"name":9811,"slug":9812,"type":17},"Audit","audit",{"name":9814,"slug":9815,"type":17},"Finance","finance",{"name":9817,"slug":9818,"type":17},"Regulatory Compliance","regulatory-compliance",{"name":9820,"slug":9821,"type":17},"SOX","sox","2026-04-06T17:57:36.714815",{"slug":9824,"name":9824,"fn":9825,"description":9826,"org":9827,"tags":9828,"stars":27,"repoUrl":28,"updatedAt":9838},"brand-review","review content against brand voice","Review content against your brand voice, style guide, and messaging pillars, flagging deviations by severity with specific before\u002Fafter fixes. Use when checking a draft before it ships, when auditing copy for voice consistency and terminology, or when screening for unsubstantiated claims, missing disclaimers, and other legal flags.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9829,9832,9835],{"name":9830,"slug":9831,"type":17},"Branding","branding",{"name":9833,"slug":9834,"type":17},"Marketing","marketing",{"name":9836,"slug":9837,"type":17},"Writing","writing","2026-04-06T17:58:19.548331",{"slug":9840,"name":9840,"fn":9841,"description":9842,"org":9843,"tags":9844,"stars":27,"repoUrl":28,"updatedAt":9853},"brand-voice-enforcement","enforce brand voice in content","This skill applies brand guidelines to content creation. It should be used when the user asks to \"write an email\", \"draft a proposal\", \"create a pitch deck\", \"write a LinkedIn post\", \"draft a presentation\", \"write a Slack message\", \"draft sales content\", or any content creation request where brand voice should be applied. Also triggers on \"on-brand\", \"brand voice\", \"enforce voice\", \"apply brand guidelines\", \"brand-aligned content\", \"write in our voice\", \"use our brand tone\", \"make this sound like us\", \"rewrite this in our tone\", or \"this doesn't sound on-brand\". Not for generating guidelines from scratch (use guideline-generation) or discovering brand materials (use discover-brand).\n",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9845,9846,9849,9852],{"name":9830,"slug":9831,"type":17},{"name":9847,"slug":9848,"type":17},"Communications","communications",{"name":9850,"slug":9851,"type":17},"Content Creation","content-creation",{"name":9836,"slug":9837,"type":17},"2026-04-06T18:00:23.528956",200,{"items":9856,"total":10032},[9857,9875,9887,9899,9918,9929,9950,9970,9980,9995,10003,10016],{"slug":9858,"name":9858,"fn":9859,"description":9860,"org":9861,"tags":9862,"stars":9872,"repoUrl":9873,"updatedAt":9874},"algorithmic-art","create algorithmic art with p5.js","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9863,9866,9867,9870],{"name":9864,"slug":9865,"type":17},"Creative","creative",{"name":9748,"slug":9749,"type":17},{"name":9868,"slug":9869,"type":17},"Generative Art","generative-art",{"name":9871,"slug":494,"type":17},"JavaScript",161831,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","2026-04-06T17:56:15.455818",{"slug":9876,"name":9876,"fn":9877,"description":9878,"org":9879,"tags":9880,"stars":9872,"repoUrl":9873,"updatedAt":9886},"brand-guidelines","apply Anthropic brand colors and typography","Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9881,9882,9883],{"name":9830,"slug":9831,"type":17},{"name":9748,"slug":9749,"type":17},{"name":9884,"slug":9885,"type":17},"Typography","typography","2026-04-06T17:56:05.042852",{"slug":9888,"name":9888,"fn":9889,"description":9890,"org":9891,"tags":9892,"stars":9872,"repoUrl":9873,"updatedAt":9898},"canvas-design","create posters and visual art as PNG or PDF","Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9893,9894,9895],{"name":9864,"slug":9865,"type":17},{"name":9748,"slug":9749,"type":17},{"name":9896,"slug":9897,"type":17},"PDF","pdf","2026-04-06T17:56:03.794732",{"slug":9900,"name":9900,"fn":9901,"description":9902,"org":9903,"tags":9904,"stars":9872,"repoUrl":9873,"updatedAt":9917},"claude-api","build apps with the Claude API","Reference for the Claude API \u002F Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration.\nTRIGGER — read BEFORE opening the target file; don't skip because it \"looks like a one-liner\" — whenever: the prompt names Claude\u002FAnthropic in any form (Claude, Anthropic, Fable, Opus, Sonnet, Haiku, `anthropic`, `@anthropic-ai`, `claude-*`, `us.anthropic.*`, `[1m]`); the user asks about an LLM (pricing\u002Fmodel choice\u002Flimits\u002Fcaching) — never answer from memory; OR the task is LLM-shaped with provider unstated (agent\u002FMCP\u002Ftool-definition\u002Fmulti-agent\u002FRAG\u002FLLM-judge\u002Fcomputer-use; generate\u002Fsummarize\u002Fextract\u002Fclassify\u002Frewrite\u002Fconverse over NL; debugging refusals\u002Fcutoffs\u002Fstreaming\u002Ftool-calls\u002Ftokens).\nSKIP only when another provider is being worked on (overrides all triggers): OpenAI\u002FGPT\u002FGemini\u002FLlama\u002FMistral\u002FCohere\u002FOllama named in the query; OR `grep -rE 'openai|langchain_openai|google.generativeai|genai|mistralai|cohere|ollama'` over the project hits (run this grep FIRST if no provider named — don't Read the file).",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9905,9908,9909,9912,9914],{"name":9906,"slug":9907,"type":17},"Agents","agents",{"name":10,"slug":9,"type":17},{"name":9910,"slug":9911,"type":17},"Anthropic SDK","anthropic-sdk",{"name":9913,"slug":9900,"type":17},"Claude API",{"name":9915,"slug":9916,"type":17},"LLM","llm","2026-07-28T05:36:08.213335",{"slug":9919,"name":9919,"fn":9920,"description":9921,"org":9922,"tags":9923,"stars":9872,"repoUrl":9873,"updatedAt":9928},"doc-coauthoring","co-author documentation and technical specs","Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9924,9925],{"name":9798,"slug":9799,"type":17},{"name":9926,"slug":9927,"type":17},"Technical Writing","technical-writing","2026-04-06T17:56:14.18897",{"slug":9930,"name":9930,"fn":9931,"description":9932,"org":9933,"tags":9934,"stars":9872,"repoUrl":9873,"updatedAt":9949},"docx","create and edit Word documents","Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9935,9938,9940,9943,9946],{"name":9936,"slug":9937,"type":17},"Documents","documents",{"name":9939,"slug":9930,"type":17},"DOCX",{"name":9941,"slug":9942,"type":17},"Office","office",{"name":9944,"slug":9945,"type":17},"Templates","templates",{"name":9947,"slug":9948,"type":17},"Word","word","2026-07-18T05:16:23.136271",{"slug":9951,"name":9951,"fn":9952,"description":9953,"org":9954,"tags":9955,"stars":9872,"repoUrl":9873,"updatedAt":9969},"frontend-design","design production-grade frontend interfaces","Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9956,9957,9960,9963,9966],{"name":9748,"slug":9749,"type":17},{"name":9958,"slug":9959,"type":17},"Frontend","frontend",{"name":9961,"slug":9962,"type":17},"React","react",{"name":9964,"slug":9965,"type":17},"Tailwind CSS","tailwind-css",{"name":9967,"slug":9968,"type":17},"UI Components","ui-components","2026-04-06T17:56:16.723469",{"slug":9971,"name":9971,"fn":9972,"description":9973,"org":9974,"tags":9975,"stars":9872,"repoUrl":9873,"updatedAt":9979},"internal-comms","write internal company communications","A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9976,9977,9978],{"name":9847,"slug":9848,"type":17},{"name":9944,"slug":9945,"type":17},{"name":9836,"slug":9837,"type":17},"2026-04-06T17:56:20.695522",{"slug":9981,"name":9981,"fn":9982,"description":9983,"org":9984,"tags":9985,"stars":9872,"repoUrl":9873,"updatedAt":9994},"mcp-builder","build MCP servers","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node\u002FTypeScript (MCP SDK).",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[9986,9987,9990,9991],{"name":9906,"slug":9907,"type":17},{"name":9988,"slug":9989,"type":17},"API Development","api-development",{"name":9915,"slug":9916,"type":17},{"name":9992,"slug":9993,"type":17},"MCP","mcp","2026-04-06T17:56:10.357665",{"slug":9897,"name":9897,"fn":9996,"description":9997,"org":9998,"tags":9999,"stars":9872,"repoUrl":9873,"updatedAt":10002},"read edit and manipulate PDF files","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[10000,10001],{"name":9936,"slug":9937,"type":17},{"name":9896,"slug":9897,"type":17},"2026-04-06T17:56:02.483316",{"slug":10004,"name":10004,"fn":10005,"description":10006,"org":10007,"tags":10008,"stars":9872,"repoUrl":9873,"updatedAt":10015},"pptx","create and edit PowerPoint presentations","Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[10009,10012],{"name":10010,"slug":10011,"type":17},"PowerPoint","powerpoint",{"name":10013,"slug":10014,"type":17},"Presentations","presentations","2026-07-18T05:16:24.1471",{"slug":10017,"name":10017,"fn":10018,"description":10019,"org":10020,"tags":10021,"stars":9872,"repoUrl":9873,"updatedAt":10031},"skill-creator","create and optimize agent skills","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.",{"slug":9,"name":10,"logoUrl":11,"githubOrg":12},[10022,10023,10024,10027,10030],{"name":9906,"slug":9907,"type":17},{"name":9798,"slug":9799,"type":17},{"name":10025,"slug":10026,"type":17},"Evals","evals",{"name":10028,"slug":10029,"type":17},"Performance","performance",{"name":9926,"slug":9927,"type":17},"2026-04-19T06:45:40.804",490]