HLS rendition is missing LANGUAGE
Without a language tag, players cannot honour the viewer’s language preference.
What it means
An audio or subtitle EXT-X-MEDIA entry omits the LANGUAGE attribute, so the rendition is declared but not identified. The NAME attribute is for humans to read; LANGUAGE is the machine-readable tag players actually select on.
Why it matters
Players and platforms use LANGUAGE to pick a track matching the device or account language, and accessibility tooling relies on it. Without it a multi-language stream is a list of unlabelled options, and automatic selection cannot work at all.
How to fix it
- Add LANGUAGE with an RFC 5646 tag: "en", "es", "pt-BR".
- Set NAME to something human-readable as well — LANGUAGE drives selection, NAME is what the viewer reads.
- Use ASSOC-LANGUAGE for a track whose language differs from its associated content, such as commentary.
Check your own stream
The free HLS analyzer runs this check on every analysis and links each finding straight back here.
Open the HLS analyzer →Frequently asked questions
- What does "HLS rendition is missing LANGUAGE" mean?
- An audio or subtitle EXT-X-MEDIA entry omits the LANGUAGE attribute, so the rendition is declared but not identified. The NAME attribute is for humans to read; LANGUAGE is the machine-readable tag players actually select on.
- Why does it matter?
- Players and platforms use LANGUAGE to pick a track matching the device or account language, and accessibility tooling relies on it. Without it a multi-language stream is a list of unlabelled options, and automatic selection cannot work at all.
- How do I fix it?
- 1. Add LANGUAGE with an RFC 5646 tag: "en", "es", "pt-BR". 2. Set NAME to something human-readable as well — LANGUAGE drives selection, NAME is what the viewer reads. 3. Use ASSOC-LANGUAGE for a track whose language differs from its associated content, such as commentary.
- How can I detect this automatically?
- Paste your HLS streaming URL into StreamTest's free HLS analyzer. It runs this check on every analysis, flags the finding, and links straight back to this page — no sign-up required.
Related HLS checks
- HLS ladder has a bitrate inversionA lower-resolution variant is allocated more bandwidth than a higher-resolution one, so adaptive switching picks the wrong rendition.
- HLS variant is missing the CODECS attributeWithout CODECS, players must download a segment before they can tell whether they can play the rendition at all.
- HLS variant references an undeclared rendition groupA variant points at an AUDIO or SUBTITLES group that has no matching EXT-X-MEDIA entry, which breaks playback on strict players.
- HLS segment is longer than EXT-X-TARGETDURATIONA segment rounds to more than the declared target duration, which violates the HLS specification.
- HLS live window is shorter than three target durationsThe playlist holds too little content, so any player that falls slightly behind runs off the end of the window.
- HLS playlist has no EXT-X-PROGRAM-DATE-TIMEWithout program date-time the stream cannot be mapped to wall-clock time, which breaks DVR seeking and multi-stream alignment.