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

Dash JS player x Cloudflare displaying adaptation ID for CC options #4316

Closed
3 tasks done
robmaurizi opened this issue Nov 16, 2023 · 6 comments
Closed
3 tasks done
Assignees
Milestone

Comments

@robmaurizi
Copy link

robmaurizi commented Nov 16, 2023

Not sure if this is an issue with dash, or the manifest, but posting here just in case.

Environment
  • Link to playable MPD file: https://customer-do46zy3q1cub6422.cloudflarestream.com/93173be3c20171b532c79cdc0129cc5c/manifest/video.mpd
  • Dash.js version: 4.7.2
  • Browser name/version: all
  • OS name/version: MacOS (probably also Windows)
Steps to reproduce
  1. Using the manifest linked above, notice the native player CC options being displayed. Note, this manifest is generated by Cloudflare Stream, so not sure how much control we have over it, but it's what I'm dealing with.
Observed behavior

When using a native player only, the CC options are displaying a numeric value (the Adaptation ID for the captions)
When using the custom controller on the Reference Client 3.1.3 (https://reference.dashif.org/dash.js/v3.1.3/samples/dash-if-reference-player/index.html) with the aforementioned manifest file, the custom controller displays captions options correctly. When view all controls is enabled, the captions in the native controls display the ID.

Expected behavior

I expect the native player to display the same captions values as a custom player, namely something from the lang attribute of the manifest's caption nodes.

@robmaurizi robmaurizi added the Bug label Nov 16, 2023
@dsilhavy
Copy link
Collaborator

What do you mean by "native player" and "custom player"? The controlbar? We dont' have control over the native video controls. That is why we implemented our own controlbar and use it on the reference client: https://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html. Also you are linking to dash.js 3.1.3 which is an outdated version. The most recent version is 4.7.2

@dsilhavy
Copy link
Collaborator

dsilhavy commented Nov 16, 2023

Do you mean the label in the controlbar which is working in dash.js 3.1.3 but shows a blank line in 4.7.2?

@robmaurizi
Copy link
Author

@dsilhavy Thanks for getting back. Yes, in the both ref players, there's a non-standard controlbar with the play button, scrubber, volume, captions, etc. Right-clicking on the video exposes the native controls. I get you can't style the native controls, but that's not what I'm after. What I want to see is the language show up in the captions list.

Using my manifest file in the current reference player, the custom controlbar shows an empty string for captions, and the native player captions list shows the number.

Using the Dash captions example, both the controlbar and native captions menu show "en".

I'm trying to get it so at least the native one shows the language name. If I can make that happen, I don't need to customize the controlbar :-)

@robmaurizi
Copy link
Author

Do you mean the label in the controlbar which is working in dash.js 3.1.3 but shows a blank line in 4.7.2?

Yes! in the old ref player, the controlbar shows the correct string and the native controls shows the number. In the current ref player, the controlbar shows a blank string and the native controls show the number.

@dsilhavy dsilhavy added this to the 4.7.3 milestone Nov 21, 2023
@dsilhavy dsilhavy self-assigned this Nov 21, 2023
@stschr
Copy link
Contributor

stschr commented Nov 28, 2023

Hi @robmaurizi ,
I provided a fix for this with #4320 .
After this got merged, you should see this soon in the nightly builds.

However, be reminded that your setting in the @lang attribute is not conformant to the DASH specification, which requires this tag to conform to IETF RFC 5646 (and BCP-47). Instead let us point your attention to the <Label> element which exactly serves your use case of an indication e.g. via a control bar. Maybe you can configure this with your content creation workflow?

@dsilhavy
Copy link
Collaborator

Fixed in #4320 thank you @stschr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants