-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Document Vue best practices #3155
Comments
Can you try with the uncompiled or debug versions of the library? You can follow our debugging tutorial to see how. That will give us a usable stack trace to see where the problem is. Also I don't know if we'd detect this as DASH and parse it. We support data URLs, but we need to detect which parser to use. Try passing some extra arguments: this.player.load(uri, null, 'application/dash+xml'); |
Hi @FireMasterK When you're creating a player ( What do you get if you look at |
The data URI parser supports the MIME type parameter in the URI, so that should still work without needing to also specify it in the load() call. If it doesn't, let us know. But I am betting that @ismena is right about the source of your exception. That part of your code doesn't look right to me. |
Any help on why this could be happening? |
@FireMasterK, I'm sorry, but the symptoms don't look familiar to me. Are you willing to share your application source with us, either publicly or privately ([email protected])? We might be able to help you debug the issue if we could see it ourselves. If not, I don't think there will be much more we can do to help from here. |
Sure, I will try to create a replicable example for this :D |
Thanks! If you use the private email alias, please also ping the issue back so we know to look for the email. |
Here's my demo code: https://github.com/StuffNoOneCaresAbout/bugreport-shaka-player You have to run these:
And then you can open http://localhost:8080/watch to reproduce the bug :D |
Were you able to replicate the issue on your end? I also tried creating a fresh Vue app and it works there, I suspect this has something related to the |
@joeyparrish were you able to reproduce this? Do I need to do anything else to help? |
Hi @FireMasterK sorry for the delay, let me take this over.
@FireMasterK Could you help me out a bit, I haven't worked with Vue before and am not sure how to do something. Thanks! |
Hi @ismena, I was unable to load the uncompiled library, unfortunately, it kept giving errors related to I've used the debug version in the app, is that of any help? Most of the player logic for loading the library and the manifest is in |
I did some more debugging, the issue only occurs when shaka-player is initialized from To further test, I initialized the player from I tried putting the shaka-player initialization code in a Would this be of any help to you? |
Nice! I'm glad to hear it's working. I'm gonna close the issue as it sounds like you were able to resolve the problem and it seems to be a Vue.js integration issue rather than a player one. If you ever feel like writing a tutorial for integrating Shaka with Vue, we'll be happy to link to it from the README! :) |
So, I ended up looking into this again (because of #3622), and found the root cause of that It appears that Shaka Player cannot handle being made into a reactive object, which is what happens if you put it into a Vue data object. I found, in your demo code, that if you define Shaka Player outside of a data object (or prefix the variable name with This is a problem because, if Vue converts an object to one of its special Proxy objects, it also converts nested objects within that object into Proxy objects. This leads to some of our internal workings being converted into proxies, which causes some object equality checks to fail when they should be succeeding (because proxies are not equal to the object they are wrapping). In your demo code, this line in particular is the one that is affected. I'll update our documentation to mention that Shaka Player should not be converted into a Vue reactive object. |
Closes #3155 Change-Id: Ia8340796507ce4db37e29bd0d7c729cbb26b1325
Closes #3155 Change-Id: Ia8340796507ce4db37e29bd0d7c729cbb26b1325
Closes #3155 Change-Id: Ia8340796507ce4db37e29bd0d7c729cbb26b1325
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
3.0.8, tried 2.5.20 aswell
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from
master
?I have not tried,
Are you using the demo app or your own custom app?
Custom app
If custom app, can you reproduce the issue using our demo app?
No, I feel this is an issue in my code
What browser and OS are you using?
Brave, Windows 10
What are the manifest and license server URIs?
What did you do?
So, I have a vuejs 3 application where I want to load a dash manifest. Here is my code:
What did you expect to happen?
Load the playlist correctly.
What actually happened?
The text was updated successfully, but these errors were encountered: