-
Notifications
You must be signed in to change notification settings - Fork 7.5k
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
In Chrome, setting up a video using flash tech too early with another video, will cause the flash player's control bar to fail #1407
Comments
@gkatsev i was able to confirm that this doesn't work, although in both of the examples you gave me i can't get past the big play button that loads the video. HTML5 video worked for both examples, and adding a larger threshold did not get the flash video to work. I'm on Chrome Version 36.0.1985.125 |
@gkatsev Flash doesn't work in jsbin except in the fullscreen version, so that's part of the confusion. And you can't open the fullscreen version of those examples without cloning them first. I did that, and the Flash version is actually working for me in Chrome. Does it work for you here? |
It's broken for me: http://cl.ly/image/472z2j2y3B3l |
Ah, I had another copy of the mp4 open in another tab, which was breaking the html5 version. Thanks Chrome! But that was letting the Flash version work. So there's definitely some interaction between the two. |
Yep, chrome 36 on osx. |
Looks like this is the problem. Calling |
Seems like |
Seems like the html tech is overwriting |
I don't understand why here this.features === vjs.MediaTechController.prototype.features The above statement is true. |
Ah, so this line actually refers to the MediaTech prototype.features, not HTML5's own copy of features. Line 434 in 7f4e6eb
The |
Yeah, basically. I'm not sure why though, since it seems like the whole prototype stuff should be taking care that it isn't the same. |
The prototype stuff would work if we were overwriting the object, like this.features = {}, but until we do that the getter would always return the object instance from the media tech prototype. |
Yeah, I guess I was misremembering how the prototype stuff worked. |
Yeah, exactly. |
I guess in the MediaTechController we want to do something like |
Yeah, or just merge like options does. In fact one option would be to move features into options. Not sure if that would be overloading options. |
Yep, doing that fixed it and because we're using |
The fix for this (#1470) has been merged into master. |
If you have two videos on a page that aren't auto-setup but rather setup manually by calling videojs, if you setup the flash player and then setup another player within a certain threshold (I've found it to be about 250ms on chrome), the flash player's control bar will fail and not report any progress or duration while the html player will work fine.
This actually seems to be a problem if you just try to setup both videos within the threshold previous, it also breaks, but outside of that period it works.
Here's a test case for the former case making the control bar not work: http://jsbin.com/cupeyevi/1
And there's a test case for the latter case making it work with a long timeout: http://jsbin.com/vewipexi/1
The text was updated successfully, but these errors were encountered: