| name | diagnose-playback |
| description | Diagnoses JioTV Go live, catch-up, HLS, DASH/Widevine DRM, browser, and IPTV playback failures end to end. Use when playback fails, stalls, returns upstream 400/401/403, reports decoder or demuxer errors, or differs by channel, programme, browser, or IPTV client. |
Diagnose Playback
Find the first failing hop. Player errors are downstream symptoms, not root causes.
Establish the case
Record channel ID, live/catch-up/premium mode, programme srno and timestamps when applicable, requested quality, client, and whether DRM is enabled. Do not compare cases until these inputs match.
Run with JIOTV_DEBUG=true JIOTV_LOG_TO_STDOUT=true. Reproduce one failing request and retain status, redirect location, content type, and relevant server log lines for each hop. Never publish credentials, encrypted auth values, SSO tokens, license challenges, or HDNEA values.
Trace the chain
- HLS live:
/live/... -> /render.m3u8 master -> rewritten /render.m3u8 variant -> /render.ts, /render.aac, or /render.key.
- HLS catch-up:
/catchup/stream/... -> same render chain, with programme time query parameters preserved.
- Web DRM:
/play/... -> /render.mpd -> /render.dash/...; license requests go through /drm.
- IPTV DRM:
/live/mpd/:channelID plus /live/key/:channelID.
For browser-only failures, inspect Network and Console in a real browser. For IPTV-only failures, inspect generated #KODIPROP manifest and license URLs. A successful page or master manifest is insufficient: continue through one variant and one media segment, or through MPD, media segment, and license response for DRM.