Operator verification
/integrations/cmcd/player

Verify the CMCD loop — in the browser, end-to-end.

A minimal hls.js player with CMCD enabled loads a public HLS test asset, parses the CTA-5004 envelope on every segment request, and POSTs it to /api/cmcd/inbound?token=<routerToken> (throttled to 1 push / 2s). The feed mirror below polls /api/cmcd/feed every 5s so you watch the row land on the same surface the public /integrations/cmcd page renders.

Back to /integrations/cmcd
Loading CMCD player…
What this verifies

The loop the player page exercises is the same loop your production player SDK runs: enable CMCD in full mode, point the reporting URL at /api/cmcd/inbound?token=<routerToken>, and the typed ingest classifies the row into one of the four CMCD families the investigation timeline reads. The correlations panel on /app/incidents/[id] surfaces the viewerRecoveryStatusbadge the moment a post-incident bucket shows buffer > 4s AND bitrate > 800kbps — never claiming viewer recovery on infrastructure-only signals.