File: C:/Users/fred/.codex/.tmp/plugins/plugins/zoom/skills/general/references/known-limitations.md
# Known Limitations & Quirks
Common gotchas and limitations developers encounter.
## Recording Limitations
### Minimum Recording Duration
**Recordings shorter than 3-5 seconds will NOT be saved.**
This applies to:
- Cloud recordings
- Local recordings via SDK
If you need to capture very short sessions, ensure the recording runs for at least 5 seconds.
## API Limitations
### Rate Limits
See [Rate Limits](../../rest-api/references/rate-limits.md) for detailed information.
Key points:
- Create/update meeting endpoints are **Heavy** (stricter limits)
- Response headers show remaining quota
- Implement exponential backoff for 429 errors
### Error Code 0
**The enum value 0 often represents SUCCESS, not failure.**
Always check the SDK enum values:
```cpp
// Example: Meeting SDK
SDKERR_SUCCESS = 0 // This is success!
SDKERR_UNKNOWN = 1 // This is an error
```
Don't assume 0 = error in your error handling.
## Video SDK Web Limitations
### Video Rendering Performance
**Use ONE rendering control for all videos, not one per participant.**
Multiple rendering controls severely degrade performance. See [Video SDK Web](../../video-sdk/web/references/web.md#video-rendering-best-practices).
### SharedArrayBuffer
Some features require SharedArrayBuffer headers:
```
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
```
As of v1.11.2, this is elective for basic functionality.
## SDK Signature Limitations
### Minimum Token Validity
Zoom may require `exp - iat >= 2 hours`.
**Workaround:** Set `iat` in the past:
```javascript
const iat = Math.floor(Date.now() / 1000) - 7200; // 2 hours ago
const exp = Math.floor(Date.now() / 1000) + 10; // 10 seconds from now
```
This gives you a short-lived token while satisfying the validity requirement.
## SDK Download
### Marketplace Sign-in Required
Meeting SDK and Video SDK (except Web npm packages) must be downloaded from [Marketplace](https://marketplace.zoom.us/) after signing in.
They are not available on public package managers for native platforms.
## Platform-Specific
### iOS
- Requires camera/microphone entitlements
- Background audio requires special configuration
### Android
- Requires runtime permissions for camera/mic
- ProGuard rules may be needed
### Linux
- Headless operation requires X virtual framebuffer (Xvfb) for some features
- Limited UI customization compared to other platforms
## Resources
- **Developer forum**: https://devforum.zoom.us/ (search for known issues)
- **Support**: https://devsupport.zoom.us/