Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ChannelsCount filtering when Selecting Audio Tracks #4550

Closed
jlnabais opened this issue Oct 6, 2022 · 0 comments · Fixed by #4424
Closed

Add ChannelsCount filtering when Selecting Audio Tracks #4550

jlnabais opened this issue Oct 6, 2022 · 0 comments · Fixed by #4424
Labels
status: archived Archived and locked; will not be updated type: enhancement New feature or request
Milestone

Comments

@jlnabais
Copy link
Contributor

jlnabais commented Oct 6, 2022

Have you read the FAQ and checked for duplicate open issues?
Yes I've checked the FAQ for anything related with this change and I've checked open issues for duplicates.

Is your feature request related to a problem? Please describe.

Currently if we have a DASH Manifest with 2 Languages and one of the languages has EAC-3 audio tracks both stereo and surround and another only with stereo we want to specify the channel count when swapping so we can select 6 channels (surround).

Partial example of Audio AdaptaionSets of a DASH Manifest:

<AdaptationSet Label="English" contentType="audio" group="2" lang="en-US" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
  (...)
  <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
  <Representation audioSamplingRate="48000" bandwidth="102626" codecs="mp4a.40.2" id="audio_0_en-US_102626">
    <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
    <SegmentTemplate timescale="48000" (...) startNumber="0">
      <SegmentTimeline>
        (...)
      </SegmentTimeline>
    </SegmentTemplate>
  </Representation>
</AdaptationSet>
(...)
<AdaptationSet Label="English" contentType="audio" group="2" lang="en-US" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
  (...)
  <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
  <Representation audioSamplingRate="48000" bandwidth="100268" codecs="ec-3" id="audio_0_en-US_100268">
    <AudioChannelConfiguration schemeIdUri="tag:dolby.com,2014:dash:audio_channel_configuration:2011" value="A000"/>
    <SegmentTemplate timescale="48000" (...) startNumber="0">
      <SegmentTimeline>
        (...)
      </SegmentTimeline>
    </SegmentTemplate>
  </Representation>
</AdaptationSet>
(...)
<AdaptationSet Label="Spanish" contentType="audio" group="2" lang="es-ES" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
  (...)
  <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
  <Representation audioSamplingRate="48000" bandwidth="100268" codecs="ec-3" id="audio_0_es-ES_100268">
    <AudioChannelConfiguration schemeIdUri="tag:dolby.com,2014:dash:audio_channel_configuration:2011" value="A000"/>
    <SegmentTemplate timescale="48000" (...) startNumber="0">
      (...)
    </SegmentTemplate>
  </Representation>
</AdaptationSet>
(...)
<AdaptationSet Label="English" contentType="audio" group="2" lang="en-US" mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
  (...)
  <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
  <Representation audioSamplingRate="48000" bandwidth="196268" codecs="ec-3" id="audio_0_en-US_196268">
    <AudioChannelConfiguration schemeIdUri="tag:dolby.com,2014:dash:audio_channel_configuration:2011" value="F801"/>
    <SegmentTemplate timescale="48000" (...) startNumber="0">
      <SegmentTimeline>
        (...)
      </SegmentTimeline>
    </SegmentTemplate>
  </Representation>
</AdaptationSet>

Describe the solution you'd like

We need to activate the support for channelCount on the lib/player.js selectAudioLanguage so we can select a given audio track with the same language/codec/role but different channelCount.

Describe alternatives you've considered

None, this was pretty straightforward, we already have a method to select the audio track so it felt like the right place to do so.

Additional context

PR raised: #4552

Regarding unit tests: It seems that the test/media/adaptation_set_criteria_unit.js file already has the relevant use cases to filter out the proper variant based on channelsCount.

@jlnabais jlnabais added the type: enhancement New feature or request label Oct 6, 2022
@github-actions github-actions bot added this to the Backlog milestone Oct 6, 2022
@theodab theodab closed this as completed in 9dd945c Oct 7, 2022
@avelad avelad modified the milestones: Backlog, v4.3 Oct 7, 2022
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Dec 6, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 6, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated type: enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants