HLS troubleshooting

Check whether a playlist is a list of HLS variants

A master playlist can point to a media playlist for each rendition.

A master playlist can point to a media playlist for each rendition.

Reproduce the condition

The HLS sample below is a small synthetic file. It carries no active media source or account data.

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=900000,RESOLUTION=640x360
variant-360.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=1280x720
variant-720.m3u8

What the local check found

Reproducible check against the packaged fixture and parser.
Expected signalObserved signal
Playlist sample passed this structural checkPlaylist sample passed this structural check

What to do next

Check the variant the player selected and inspect that media playlist for segments. A readable master list alone cannot verify playback.

What to share if the problem continues

  • The exact parser result and version of the importer or player.
  • A minimal redacted sample with dates, IDs or segment names retained as needed.
  • The output after checking the source export separately from the viewer app.

Follow the selected variant before diagnosing a stall

A master playlist describes alternative renditions. In the small example above, each EXT-X-STREAM-INF entry is followed by the location of a media playlist. A relative location is resolved from the master playlist’s URL. The media playlist then describes its own segments and can use separate audio or subtitle rendition groups.

If the player opens the programme at a lower quality and stops when it switches to a higher rendition, the master playlist did its initial job. Check the media playlist the player chose at the time of the failure. On an authorised test stream, compare its resolution, declared codecs, current segment availability and whether the device can decode that combination.

Use the failing rendition to write a short report

The fixture above shows a 640×360 rendition at 900,000 bits per second and a 1280×720 rendition at 2,500,000 bits per second. If the second media playlist loads but its first segment is unavailable, ask the operator to check availability at the time of the switch and include the affected resolution.

If every rendition plays independently but the transition stalls at the same programme boundary, the operator can compare timestamp and audio alignment across the renditions. A viewer should record the failure and try an official quality control if the app offers one. Keep a working playback path while the operator inspects the source.

Sources and further reading