Synchronized Playback
The SyncTV server owns room playback state. A client fetches the current state and playback info, then receives changes through Realtime.
What Happens in a Room
Section titled “What Happens in a Room”| Behavior | Meaning |
|---|---|
| Play or pause | A permitted user changes state for room members |
| Seek | The room jumps to a new playback time |
| Switch media | Clients fetch a new playback info |
| Change speed | A permitted user changes shared playback speed |
| Reconnect | The client should refresh key state after network loss |
Users without playback permissions follow the room state. If controls are missing, check the room role and member permissions.
Playback Failure
Section titled “Playback Failure”| Symptom | Try first | If it continues, collect |
|---|---|---|
| Playback drift | Refresh or re-enter the room | Room ID, time, whether only you are affected |
| Media switch fails | Retry or refresh playlist | Media ID, error text, HTTP status |
| Playback URL expired | Fetch fresh playback info or re-enter | Provider name, expiry message, requestId |
| Seek hangs | Wait for buffering, check Range/proxy | Upstream status and proxy mode |
| Multiple users fail | Ask an admin to inspect WebSocket, Ingress, or Provider | Time range, room ID, affected users |
Direct or Proxy
Section titled “Direct or Proxy”Browsers cannot set some upstream headers. If a Provider requires headers the client cannot set, use SyncTV proxy playback. Proxy playback uses SyncTV egress bandwidth but can normalize headers and hide upstream credentials.
For the full model, see Playback Model. Client implementers should read Client Integration Guide.