-
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
Move manual events into tech controller #1415
Conversation
Migrate the timers that manage creating timeupdate and progress events when the tech doesn't support them natively. Now, techs that extend MediaTechController will continue to automatically pick up synthetic playback and buffering events but they're scoped much more closely to the entity that needs them. In addition, time and progress tracking have been moved much earlier into the component initialization which fixes videojs#1414.
vjs.Component.prototype.dispose.call(this); | ||
}; | ||
|
||
vjs.MediaTechController.prototype.setCurrentTime = function() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if we added a listener to the seeking event instead of having this in the setCurrentTime function? That would avoid needing this include in the sub-techs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good thinking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not seeing seeking
or seeked
events coming from the Flash player so this won't work. Defer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seeking should be in there.
2f5c9b6f1d919220201f0c1f0bc113a2271a/src/com/videojs/providers/HTTPVideoProvider.as#L522
But I believe we're currently trigger it directly on the player in the case of flash, in case you were listening for it on the tech or the object itself.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In practice, doesn't seem to be working. Filed videojs/video-js-swf#114 to track it.
We're gonna have a few conflicts in this with #1412. This doesn't break any use cases I know of and could be considered a bug, and maybe urgent? I'm ok making it a patch if you want to rebase it on stable. In that case we update the in-production copy on the CDN, so you gotta make sure it's good and tested, including IE8. Other than the inline suggestions, lgtm. |
The major browsers that support HTML video now reliably support progress events, so don't worry about synthesizing them for HTML anymore.
Ran the automated test on the latest desktop browsers, IE8, an iPhone, an iPad, and an Android phone and tablet. Did sandbox testing against the latest desktop browsers, IE8, an iPhone, an iPad, and an Android phone and tablet. |
Pick up updated flash compiler settings.
replaced by #1417 |
Due to videojs#1415, various usage of features moved around. This makes sure that features are now called directly on the tech everywhere.
Migrate the timers that manage creating timeupdate and progress events when the tech doesn't support them natively. Now, techs that extend MediaTechController will continue to automatically pick up synthetic playback and buffering events but they're scoped much more closely to the entity that needs them. In addition, time and progress tracking have been moved much earlier into the component initialization which fixes #1414.
I can rebase this PR off of stable if it should be part of a patch release.