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

7.5.5 update #3

Open
wants to merge 374 commits into
base: master
Choose a base branch
from
Open

7.5.5 update #3

wants to merge 374 commits into from

Conversation

jasiekmiko
Copy link

@jasiekmiko jasiekmiko commented Jul 10, 2019

This upgrades videojs library to 7.5.5

THIS SHOULD NOT BE MERGED, as using it directly by current C5Player will break.
PR raised to review code changes and agree direction only.

TODO:

  • review todos marked MIGRATION TODO left after merge
  • agree strategy to update C5Player in tandem
  • test on non-youview devices

Related core player review: https://jira.softwire.com/fisheye/cru/CR-C5VIDEOJS-121


This change is Reviewable

DoomTay and others added 30 commits July 5, 2018 16:28
Our setTimeout and requestAnimationFrame methods added dispose handlers so that they get cancelled if the component is disposed before they get a chance to run. However, we were only clearing out these dispose handlers if we cleared the timeout or the rAF manually. Instead make sure that we remove the dispose handler when it is no longer needed.

Fixes videojs#5199.
…to listen to the window object in addition to DOM objects. (videojs#5255)" (videojs#5301)

This reverts commit 7fd29b4.

With this change, playing back HLS content via VHS caused an infinite
event loop to be printed out. See issue videojs#5281
setSource is useful if you care to be fiddling with the source or doing some work depending on what source is set. However, sometimes, you don't need a setSource and want the middleware to always be selected.
Now, if setSource is missing, it will implicitly be included in the middleware chain.
Upgrade to VHS 1.1.0 to pick up the easier overrideNative option.
This exposes `deregisterPlugin` on the videojs alongside `registerPlugin`.
…igger (videojs#5332)

Trigger the change event on the next tick. This means that multiple changes to a track's mode will only result in a single change event on its associated TextTrackList rather than 3 events as it may be currently.

Fixes videojs#5159
Angular CLI, and potentially other projects, may use the "pure_getters" compression option of uglify which will end up removing the getter line we use for side-effects to update the active cues. This update makes sure that the line doesn't get removed.

Fixes videojs#5131
…5371)

It's possible for us to get a blob url for sourceset, but when we do, we
shouldn't update the source caches with that information.

blob urls can arise when playback is done via Media Source Extension (MSE) such as m3u8 sources with @videojs/http-streaming (VHS).
Because we add Touch Activity in the parent class and those don't actually get removed in Resize Manager we leak on every dispose. Calling super.dispose() cleans them up because we remove our list of handlers via a call to DomData.removeData

Fixes videojs#5339
If Promise is available or if Promise is polyfilled, then we'll return a new Promise from `play()` that will get fulfilled with the value returned from the `play()` method. This means that on IE11, this promise will get resolved when we call `play()` even if play doesn't succeed. We will have a follow-on PR to polyfill this behavior and resolve or reject the promise for browsers like IE11 that don't return a promise from `play()`.
mister-ben and others added 18 commits April 3, 2019 11:46
…lay promise to resolve (videojs#5876)

Calling video.load while the video is trying to play (that is between play and playing event) throws an error. Instead, just wait for playback to happen before resetting.

Fixes videojs#5875
For non-prefixed APIs, check directly against the fullscreen element
rather than using the cached value.

Fixes videojs#5814.
Change comprises of commenting out event.stopPropagation calls added in
a recent bug fix. The following comment was added in affected places:

Videojs 7.5.5 has added event stopPropagation throughout its components to fix some hotkeys behaviour, such as reacting to hotkeys insie of forms inside the player.
This broke our keyhandling implemenation, preventing any remote key presses from being handled. See more here:
- videojs@79eadac
- videojs#5969
The reasons to stop propagation don't seem to apply to our usecase, so it should be safe to leave this commented out.
If this causes problems in the future, the alternative solution would perhaps be to use rewrite our key handling to go through the hotkeys system:
https://github.com/videojs/video.js/blob/cf6e0e824814f3ccb061b057a9aa5eff3b54ba6e/docs/guides/options.md#useractionshotkeys
@jasiekmiko
Copy link
Author

@catalin-ursachi, this commit fixes the remote control issues: 933eb38
Any thoughts?

Jan Mikolajczak and others added 11 commits July 10, 2019 14:24
When resolving merge conflicts from 7.5.5 update, some changes from our
fork got surpressed. Upon revisting, they look like up-to-date and
shoudl be left in, as based on commit #52424c92b21d9bf40c95b361fd134fbe3c7ad2b0
Currently calls undefined methods on the techs which causes crashes.
If they are not defined it is because they are not supported, this will
help to reduce the number of stub methods and improve stability.
VCP-1155: Add check for existence on tech call
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.