Populate AudioTrack#label with DASH manifest AdaptationSet label

Currently the Android SDK populates the AudioTrack#language and AudioTrack#label with the same language value. If an AdaptationSet label is present in the manifest, this value is not used.

Example snippet:

<AdaptationSet id="1" group="1" contentType="audio" lang="nl" segmentAlignment="true" audioSamplingRate="48000" mimeType="audio/mp4" codecs="mp4a.40.2" startWithSAP="1"> 
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" /> 
...
<Label>Stereo</Label>
...
</AdaptationSet>

Current behaviour:

AudioTrack#language: nl
AudioTrack#label: nl

Expected behaviour:

AudioTrack#language: nl
AudioTrack#label: Stereo

Otherwise, it’s fine to use language as a fallback value for label if it’s not present in the manifest.

1 Like

Upvote! Doesn’t make sense to have a second property that embodies the same value. How do we know whether to choose the right audio track for the user?

Hi, thanks for letting us know about this. We are already aware of the behaviour and track this internally.
We will notify you here, once we have updates.

Hey, we also need this feature. We’re using the JS version with the same current and expected behaviour.

Appears this was solved in 3.52.0.

  • SubtitleTrack.label and AudioTrack.label incorrectly returning language instead of label for DASH streams with Label element present

Will check it out soon.

Hey there,

As @k.volkers already noticed, the observed behavior was fixed with 3.52.0.
The label is now correctly used.