StreamTest

Audio adaptation set declares no language

Without @lang, players cannot honour the viewer’s language preference.

What it means

An audio <AdaptationSet> omits the @lang attribute, so the track exists but is unidentified. A <Role> element says what a track is for; @lang says what language it is in, and only the latter drives automatic selection.

Why it matters

Players and platforms select audio by language tag. Without one, a multi-language stream presents unlabelled options and automatic selection cannot work, so viewers get whichever track happens to be first.

How to fix it

  1. Add lang to each audio <AdaptationSet> using an RFC 5646 tag such as "en" or "pt-BR".
  2. Add a <Role> with value "main" to mark the primary track, and "alternate" or "commentary" for others.

Check your own stream

The free DASH validator runs this check on every analysis and links each finding straight back here.

Open the DASH validator

Frequently asked questions

What does "Audio adaptation set declares no language" mean?
An audio <AdaptationSet> omits the @lang attribute, so the track exists but is unidentified. A <Role> element says what a track is for; @lang says what language it is in, and only the latter drives automatic selection.
Why does it matter?
Players and platforms select audio by language tag. Without one, a multi-language stream presents unlabelled options and automatic selection cannot work, so viewers get whichever track happens to be first.
How do I fix it?
1. Add lang to each audio <AdaptationSet> using an RFC 5646 tag such as "en" or "pt-BR". 2. Add a <Role> with value "main" to mark the primary track, and "alternate" or "commentary" for others.
How can I detect this automatically?
Paste your MPEG-DASH streaming URL into StreamTest's free DASH validator. It runs this check on every analysis, flags the finding, and links straight back to this page — no sign-up required.

Related DASH checks