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

Can't change audio language when DASH content has short periods #797

Closed
tdaines opened this issue May 12, 2017 · 3 comments
Closed

Can't change audio language when DASH content has short periods #797

tdaines opened this issue May 12, 2017 · 3 comments
Assignees
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@tdaines
Copy link

tdaines commented May 12, 2017

  • What version of Shaka Player are you using? 2.1.1

    • Can you reproduce the issue with our latest release version? Yes

    • Can you reproduce the issue with the latest code from master? Yes

  • Are you using the demo app or your own custom app? Custom

  • What browser and OS are you using? Chrome on Win10

  • What did you do?

  • What did you expect to happen? After calling shakaPlayer.selectAudioLanguage('sp') I expected the audio language to change.

  • What actually happened? Nothing.

I believe this is cause by the playhead being in a different period than the period the StreamingEngine is downloading from. Stepping through the code, inside Player.chooseStreams_() StreamingEngine.getActiveStreams() returns streams with a presentationTimeOffset different from those in the currentPeriod.variants objects. This prevents the activeVariant from changing to the new language.

@joeyparrish
Copy link
Member

@tdaines, can you please email us a link to the content? We need to be able to reproduce the issue before we can work on a fix. You can find my email address in the CONTRIBUTORS file. Thanks!

@joeyparrish joeyparrish self-assigned this May 22, 2017
@joeyparrish joeyparrish added the type: bug Something isn't working correctly label May 22, 2017
@joeyparrish joeyparrish added this to the v2.2.0 milestone May 22, 2017
@joeyparrish
Copy link
Member

There is definitely a bug here. I was able to reproduce your issue, but the fix led me to uncover some related issues which are more complicated. I'm still working through them.

At the top-most layer, you are right. We are effectively ignoring this request to change language, and this is caused by the fact that we choose streams for the period we are playing, then compare these to the period we are streaming. This comparison was easy to fix, but it uncovered issues with StreamingEngine which I don't fully understand yet.

Thanks for your patience.

@tdaines
Copy link
Author

tdaines commented May 22, 2017

Great, thanks for the update @joeyparrish

@joeyparrish joeyparrish removed their assignment Jun 15, 2017
joeyparrish pushed a commit that referenced this issue Jun 15, 2017
Trying to switch to a stream from a previous Period while we are
buffering a later Period can cause problems.  This is caused by
different media states "needing" different Periods.

So if we try to switch to a stream from a different Period, we should
handle the Period transition then to ensure all the streams are needing
the correct Periods.

Closes #797

Change-Id: I3d93d93bf141901fe8f8f62fd0ca9fa96a07c268
@shaka-project shaka-project locked and limited conversation to collaborators Mar 22, 2018
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
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: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

4 participants