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

Understand Shaka Player documentation #7601

Open
ycharbi opened this issue Nov 15, 2024 · 3 comments
Open

Understand Shaka Player documentation #7601

ycharbi opened this issue Nov 15, 2024 · 3 comments
Labels
type: question A question from the community

Comments

@ycharbi
Copy link

ycharbi commented Nov 15, 2024

Have you read the Tutorials?
Yes

Have you read the FAQ and checked for duplicate open issues?
Yes

If the question is related to FairPlay, have you read the tutorial?

What version of Shaka Player are you using?
v4.11.7

What browser and OS are you using?
Firefox on Debian 12

Please ask your question
I don't understand how the parameters in your documentation are reflected in the configuration of Shaka Player.

For example, I'm trying (but this is not the only case I've encountered) to correct the streaming.liveSync has been deprecated and will be removed in v5.0 . We are currently at version v4.11 . Additional information: Please Use streaming.liveSync.enabled instead. warning message linked to the liveSync: true parameter. I've found the documentation page on the subject, but I can't integrate it into my configuration (copied from the Internet):

player.configure({
        preferredTextLanguage: 'fr',
        streaming: {
            lowLatencyMode: true,
            liveSync: true,
            inaccurateManifestTolerance: 0,
            rebufferingGoal: 0.01,
            segmentPrefetchLimit: 2,
            updateIntervalSeconds: 0.1,
            maxDisabledTime: 1,
            retryParameters: {
              baseDelay: 100,
            },  
        },
...

How do you get from your table to a Json structure understood by the software? All my attempts have failed. I don't understand how we're supposed to interpret your documentation to configure the software.

Parameters seem to be able to be passed as player.configure('streaming.liveSync.enabled', true); but this is not practical with many parameters. I'd like to pass everything as a Json tree.

If you can tell me how to convert the documentation into a usable configuration, that would be great.

Thank you.

@ycharbi ycharbi added the type: question A question from the community label Nov 15, 2024
@tykus160
Copy link
Member

Hi! Here you can find that one of properties is liveSync which should be LiveSyncConfiguration object you've linked before.
So, in your example, you should call configure() method like that (replace liveSync from boolean to object):

player.configure({
  preferredTextLanguage: 'fr',
  streaming: {
    lowLatencyMode: true,
    liveSync: {
      enabled: true,
    },
    inaccurateManifestTolerance: 0,
    rebufferingGoal: 0.01,
    segmentPrefetchLimit: 2,
    updateIntervalSeconds: 0.1,
    maxDisabledTime: 1,
    retryParameters: {
      baseDelay: 100,
    },  
  },
});

You can find more info how shaka configuration works here.

@avelad avelad added the status: waiting on response Waiting on a response from the reporter(s) of the issue label Nov 15, 2024
@joeyparrish
Copy link
Member

In general, the string syntax is just a path through the object syntax. So, for example:

player.configure('streaming.liveSync.enabled', true);

Is equivalent to:

player.configure({
  streaming: {
    liveSync: {
      enabled: true,
    },
  },
});

Does this help?

I would appreciate a docs PR if you want to suggest a better way to explain it in the docs. Whatever would have helped you understand the first time is a welcome improvement!

@ycharbi
Copy link
Author

ycharbi commented Nov 17, 2024

Hello,

Thank you both for your answers, it was helpful!
I'll see if I understand the logic when I get back on this subject.

I would appreciate a docs PR if you want to suggest a better way to explain it in the docs. Whatever would have helped you understand the first time is a welcome improvement!

I'm not promising anything, but I'll see what I can do, because it's not easy to understand, and I'd be happy to help make it more accessible.

Documentation is no mean feat...

Best regards.

@shaka-bot shaka-bot removed the status: waiting on response Waiting on a response from the reporter(s) of the issue label Nov 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: question A question from the community
Projects
None yet
Development

No branches or pull requests

5 participants