Applies to: Protocol and format interpretation for developers inspecting authorized media delivery.
The useful distinctions
- EXT-X-MEDIA describes an alternative rendition.
- GROUP-ID groups renditions of a given type.
- STREAM-INF AUDIO and SUBTITLES refer to the corresponding group IDs.
Read the playlist as linked records
The invented playlist defines two audio choices under a single group identifier and one subtitle choice under another. The variant links to both groups by name. Draw those links on paper before following any file references: main video to audio group, audio group to two rendition URIs, and main video to subtitle group. This reveals a broken group reference even when every individual URI looks plausible.
Check identity and selection hints separately
A rendition's display name, language tag, default flag, and file reference answer different questions. A display name should not be used as the join key, and a language tag does not locate a file. In the example, only one audio rendition is designated as the default, making the intended baseline explicit. The technical review still requires the referenced playlists and matching media timelines before confirming the whole presentation is coherent. A valid group graph alone cannot establish synchronization, track availability, or decoder support. Keep the graph check as one bounded validation stage so a later media-level finding is not hidden behind the general statement that the playlist looked correct. A missing group reference and a missing rendition URI are different findings. The first breaks a manifest relationship; the second concerns the resource reached after that relationship has already been resolved.
Worked example · synthetic
The variant refers to a1 and s1; the actual resources are the rendition URIs. The example is a manifest-only association graph and does not supply synchronized media.
Synthetic text example; no network operation has been performed.
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="a1",NAME="English",LANGUAGE="en",DEFAULT=YES,AUTOSELECT=YES,URI="audio/en.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="a1",NAME="Urdu",LANGUAGE="ur",DEFAULT=NO,AUTOSELECT=YES,URI="audio/ur.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="s1",NAME="English text",LANGUAGE="en",DEFAULT=NO,AUTOSELECT=YES,URI="text/en.m3u8"
#EXT-X-STREAM-INF:BANDWIDTH=1800000,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="a1",SUBTITLES="s1"
video/main.m3u8
Check the interpretation
- Match group IDs exactly and by type.
- Check default and autoselect constraints.
- Validate rendition timelines independently of the group graph.