1
0
mirror of https://github.com/videojs/video.js.git synced 2024-12-23 02:04:34 +02:00
Commit Graph

1777 Commits

Author SHA1 Message Date
Walter Seymour
da15810355
fix: Check for VTTCue (#8370) 2023-07-20 11:38:15 -05:00
mister-ben
c66bf4023f
fix: make compatible with chrome 53 (#8354) 2023-07-12 19:43:17 +02:00
François Beaufort
8dd98f602b
fix: Don't use copyStyleSheets with documentPIP (#8314)
* Don't use copyStyleSheets

* Move to dom.js

* Add tests

* Address feedback
2023-07-07 15:56:54 +02:00
mister-ben
c11d213453
fix: Fullscreen styles for older Safari (#8346) 2023-07-06 22:55:29 +02:00
François Beaufort
146008f610
Use pagehide instead of unload for PiP (#8321) 2023-07-04 13:43:09 +02:00
André
b34cb2c207
fix(play-toggle): missing svg play icon (#8337)
Svg play icon is missing when player is initialized with class `vjs-has-started`.

- add `setIcon` to the `play-toggle` component constructor

Fixes #8336
2023-07-04 13:03:33 +02:00
André
e06465f9cb
fix(progress): mouse-time-display overlaps the play-progress svg icon (#8338)
When the mouse hovers over the `play-progress` svg icon,
the `mouse-time-display` bar appears above it.

- adds `z-index` to avoid overlap
2023-07-04 12:27:06 +02:00
Walter Seymour
6fc0dc783a
feat: Add useSVGIcons option (#8260) 2023-06-12 13:31:06 -05:00
BrainCrumbz
dc1e2bb42a
fix(shadow-dom): prevent warning 'element supplied is not included' (#8192)
Co-authored-by: Giuseppe Piscopo <g.piscopo@braincrumbz.com>
2023-06-06 17:24:30 -04:00
André
3dece507bc
fix(text-track-settings): fix text track settings responsiveness when default font size is modified (#8294) 2023-06-06 17:24:00 -04:00
André
f0751777a1
fix(loading-spinner): fix loading spinner responsiveness when default font size is modified (#8295) 2023-06-06 17:22:27 -04:00
Pat O'Neill
9e5dd81057
test: fix Safari test failures (#8300) 2023-06-01 15:28:19 -07:00
André
b782cb09f4
fix(player): cache_.currentTime is not updated when the current time is set (#8285)
Updating cache_.currentTime as soon as the currentTime is set avoids having to wait for the timeupdate event, which results in:

- making cache_.currentTime more reliable
- updating the progress bar on mouse up after dragging when the media is paused.

See also: #6232, #6234, #6370, #6372
2023-06-01 08:50:29 -04:00
mister-ben
3af36383ca
fix(jsdoc): corrections to jsdoc (#8277) 2023-05-31 11:12:57 -04:00
André
d524e5755d
fix(picture-in-picture-control): hide the component in non-compatible browsers (#7899) 2023-05-31 10:54:51 -04:00
André
35fad1d454
fix(player): load method fails to reset the media element to its initial state when the VHS is used (#8274) 2023-05-31 10:41:44 -04:00
mister-ben
665154fa41
chore: remove legacy prefixes (#8276) 2023-05-31 10:34:01 -04:00
François Beaufort
9e1e29ddfd
fix: Document Picture-in-Picture: Use width/height instead of initialAspectRatio (#8270) 2023-05-31 10:31:24 -04:00
André
07effdf244
fix(skip-forward): error when clicking after player reset (#8258) 2023-05-31 10:30:49 -04:00
André
e73e05db8f
fix(seek-bar): error when scrubbing after player reset (#8257) 2023-05-31 10:30:13 -04:00
André
5151bc5970
fix(player): techGet is undefined (#8256)
Fixes #8255
2023-05-31 10:29:35 -04:00
Grzegorz Blaszczyk
52bad2b784
fix: ad icon is not visible on audio description track list element on Safari (#8232) 2023-05-31 10:28:50 -04:00
André
1a1adf3275
fix(player): address loss of crossOrigin value when loadMedia is called (#8085) 2023-05-31 10:25:34 -04:00
André
f1558c660b
fix(videojs): missing return in registerComponent (#8247) 2023-05-12 12:23:27 -04:00
Dzianis Dashkevich
866ef24b79
fix: Replace Object.values with ponyfill (#8267)
Unpin Firefox in BrowserStack tests, which fixes test failures as well.

Fixes #8266.
2023-05-11 18:57:13 -04:00
Grzegorz Blaszczyk
1491d71b26
feat: text track display overlays a video (#8009) 2023-04-11 21:30:18 +02:00
mister-ben
61bd74de8d
fix(types): Add jsdoc plugin to handle ts-style imports (#8225) 2023-04-05 10:10:13 -04:00
André
71343d1996
fix: reset progress bar fully when player is reset (#8160) 2023-04-04 16:58:57 -04:00
mister-ben
b489bc5c7d
fix: Ensure additional components update on languagechange (#8175) 2023-04-04 16:54:36 -04:00
mister-ben
0c72805500
feat: Add document picture-in-picture support (#8113)
Co-authored-by: François Beaufort <beaufort.francois@gmail.com>
2023-04-04 16:44:16 -04:00
Jon Dufresne
423f7ebd67
Fix several typos in docs and comments (#8110) 2023-03-22 15:00:01 +01:00
brayden-wood
c35c45b03a
fix: improved accessibility for time display (#8182)
This change is to remove the aria-live attribute from time display elements. The aria-live attribute is no longer needed since the presentation role was added. Both attributes being present can lead to unexpected screen reader behavior.
Fixes issue #8143
2023-03-21 17:55:11 -04:00
Adam Waldron
b7116be725
fix: replay button broken for native playback (#8142)
* fix: replay button broken for native playback

* remove debug logging

* move fix to player

* comment

* add unit test

* add native browser stubs

* reset stubs and test currentTime
2023-03-06 10:32:14 -08:00
Usman Omar
8f3f32cb2b
feat: add skip forward/backward buttons (#8147)
* remove duplicate icons from icon example

* create initial forward and back button classes

* add logic for back/forward buttons on click

* change icon used based on option passed into player

* move logic from forward and back buttons into one component

* add jsdoc comments for clarity

* create initial test file

* refactor button logic into separate files

* update skip button example and add test files

* test both the forward and backward buttons

* test handleClick fns for both forward and backward btns

* update skip buttons example

* update jsdocs for skip backward and forward buttons

* make control text accessible and use seekableEnd/Start when skipping forward/back

* update font version to use updated icons

* set control text only if config is valid

* add link to sandbox page & use localization

* update translations needed
2023-03-06 09:51:59 +00:00
mister-ben
0022867a2a
fix(types): Improve Typescript coverage (#8148) 2023-03-02 06:41:57 +01:00
mister-ben
a27ee053bb
fix: Remove img el when there's no poster source (#8130)
* fix: No invalid img el with no poster source

* move dom changes into setSrc
2023-02-20 10:04:39 +01:00
Usman Omar
2c7eea889a
chore: upgrade videojs-font to 4.0.0 (#8117)
* upgrade videojs-font to 4.0 & update icons example

* update css content to use font 4.0 unicodes
2023-02-10 17:41:49 +00:00
Walter Seymour
b306ce614e
feat: improved text tracks settings labels (#8101) 2023-02-06 13:44:24 -06:00
mister-ben
db882cd49d
fix: remove unnecessary handling of invalid cues (#7956) 2023-02-01 18:08:30 +01:00
Grzegorz Blaszczyk
33b476d7cc
fix: use Screen Orientation API where supported (#8031)
* feat:  introduces Screen Orientation API for detecting orientation change

* feat:  add missing unit tests
2023-02-01 18:05:41 +01:00
Jacob Hamblin
267b5c6bff
fix: Exit PIP if entering fullscreen (#8082)
* exit PIP if entering fullscreen

* assert that entering full screen leaves PiP
2023-02-01 18:03:36 +01:00
Grzegorz Blaszczyk
2e96253632
fix: Improves types for registerPlugin and getPlugin (#8058)
* fix: improves types for registerPlugin and getPlugin

* fix: corrects parameter type for registerPlugin

* docs(fix): add support for {typeof class} expression

* chore: move js-doc-typeof-plugin to build dir
2023-01-24 22:07:30 +01:00
mister-ben
509b3d0757
fix: Ensures iOS can use native fullscreen (#8071) 2023-01-24 11:45:49 +01:00
mister-ben
3accbc7c73
fix: Set alt attr on poster img (#8043)
* fix: Set alt attr on poster img

* use null alt instead

* remove debug text
2023-01-24 09:59:27 +01:00
mister-ben
dff3dd4155
fix: Add poster size styles (#8022) 2022-11-24 17:11:40 +01:00
mister-ben
2d96c9d780 feat: Use userAgentData in favour of userAgent (#7979) 2022-11-23 09:49:37 -05:00
Grzegorz Blaszczyk
0545df5289 feat: generate Typescript definitions (#7954) 2022-11-23 09:49:35 -05:00
KangXinzhi
b7080f7d8a fix(control-bar): make vertical alignment of slider handles more consistent (#7990)
Fixes #7989

BREAKING CHANGE: This changes how slider handles are styled, so custom skins that are targeting them may need to change.
2022-11-23 09:49:34 -05:00
Grzegorz Blaszczyk
dec7075386 fix(jsdoc): controlText_ should have a protected access modifier. (#7972) 2022-11-23 09:49:33 -05:00
Pat O'Neill
b8ee8858f8 refactor: rename fn.bind to fn.bind_ to strongly indicate it should not be used externally (#7940) 2022-11-23 09:49:32 -05:00
Grzegorz Blaszczyk
54195f0b28 feat: add support for a list of quality levels (#7897)
This brings the videojs-contrib-quality-levels plugin into Video.js as a feature.
2022-11-23 09:49:32 -05:00
Alex Barstow
1299daf16c refactor: remove extend() and tests (#7950)
BREAKING CHANGE: This removes the videojs.extend() method, please use ES6 classes instead.
2022-11-23 09:49:30 -05:00
mister-ben
f2aa0d7d13 feat: Use picture el for poster (#7865)
BREAKING CHANGE: This changes the DOM structure used for the video poster.
2022-11-23 09:49:29 -05:00
Gary Katsevman
b0101a6b9b feat: Enable sourceset by default (#7879)
Can still be disabled with enableSourceset: false
2022-11-23 09:49:29 -05:00
Gary Katsevman
d4559b1ebe feat: make retryOnError be the default (#7868)
This means that a retryOnError is removed and is no longer needed for
this behavior, which means that during source selection, if a source
fails, it'll try the next source that's available, to match the video
element.

BREAKING CHANGE: remove retryOnError option, turn it on by default
2022-11-23 09:49:28 -05:00
Gary Katsevman
bd54b4112e fix: update icons import path for sass (#7867)
This updates the path to remove node_modules as some tools expect the
module name to be first. This is particularly important for PnP tools as
local node_modules may not have the module.

Fixes #7208, fixes #7863

BREAKING CHANGE: update icons path in sass to remove node_modules
2022-11-23 09:49:28 -05:00
Grzegorz Blaszczyk
9b3d9415aa feat: addClass and removeClass method supports adding/removing multiple classes (#7798) 2022-11-23 09:49:27 -05:00
mister-ben
63a2d027f4 feat: remove closest fallback (#7853) 2022-11-23 09:49:27 -05:00
Roman Pougatchev
f46b83002e feature: Remove support for setting nonstandard attributes as props (#7857)
* remove statement that handles attributes in props argument

* clean up function

* add unit test

* add unit test

* remove duplicate set attr

* revert function cleanup
2022-11-23 09:49:26 -05:00
Roman Pougatchev
706983caa3 feat: Remove references and logic related to Flash and SWF (#7852)
* remove flash references, update comments & tests

* remove references to swf & stageclick listener
2022-11-23 09:49:26 -05:00
Pat O'Neill
a5e7222353 feat(lang): use less ambiguous text for the fullscreen button when in fullscreen mode (#7856) 2022-11-23 09:49:25 -05:00
Pat O'Neill
5d165dc33c feat: add a new title bar component (#7788) 2022-11-23 09:49:25 -05:00
Roman Pougatchev
e4945cb78c refactor: Remove logic and style that accommodates non-flex fallbacks (#7820) 2022-11-23 09:49:24 -05:00
Pat O'Neill
a0fd14894c feat: playback rate button now opens the menu rather than changing the playback rate (#7779)
BREAKING CHANGE: This changes the behavior of the playback rate button.
2022-11-23 09:49:24 -05:00
Pat O'Neill
cc84ff4f80 refactor: remove internal Map, Set, and WeakMap shams, assume window.performance and requestAnimationFrame support (#7775) 2022-11-23 09:49:24 -05:00
Pat O'Neill
28029d93f4 feat: update exposed utility functions and deprecate several top-level methods of the videojs global (#7761) 2022-11-23 09:49:23 -05:00
Alex Barstow
bd8aebb827 refactor: remove ie-specific code (#7701)
BREAKING CHANGE: This will cause Video.js to fail in many cases in all versions of Internet Explorer.
2022-11-23 09:48:13 -05:00
Alex Barstow
dd1b478e4d feat: assume native promises, remove promise option and workarounds (#7715)
BREAKING CHANGE: Removes support for Promise class option and assumes native Promise is available. Will break in older browsers or devices.
2022-11-23 09:48:13 -05:00
Alex Barstow
f99ace0fba revert: revert #7067 so we throw an error for invalid event types (#7719)
BREAKING CHANGE: Instead of logging an error message, invalid events will now trigger an `Error` which will terminate the call stack.
2022-11-23 09:48:13 -05:00
hugorogz
c190b21de7 feat: remove the firstplay event (#7707)
Co-authored-by: Hugo Rodriguez <hrodriguez@brightcove.com>

BREAKING CHANGE: Removes the firstplay event. Use one('play') instead.
2022-11-23 09:48:12 -05:00
hugorogz
9d832eca5f feat: export more helpers in videojs object (#7717)
Co-authored-by: Hugo Rodriguez <hrodriguez@brightcove.com>
Co-authored-by: Pat O'Neill <pgoneill@gmail.com>
2022-11-23 09:48:12 -05:00
Alex Barstow
1281d68d78 chore: Update preset env, drop IE11 and older browser support (#7708) 2022-11-23 09:48:11 -05:00
Alex Barstow
3faa866834 feat: Change addRemoteTextTrack's manualCleanup option default value to false (#7588) 2022-11-23 09:48:11 -05:00
Grzegorz Blaszczyk
e49286a81c
fix: last timeout in queueTrigger() never clears map (#7964) 2022-10-20 18:10:50 -04:00
Pat O'Neill
b58a2201c4
fix: deprecate the extend() function (#7944)
This function will be removed in Video.js 8.0
2022-10-03 17:22:01 -04:00
mister-ben
d736541ba6
fix: allow for techs that init slowly in rvfc (#7864)
Don't call tech.paused() in the requestVideoFrameCallback fallback if the tech is not ready. I've seen this is an issue in the Flash tech, as its methods are set up after the swf loads. Yes, Flash, it's 2022, but in theory another tech could be impacted if it's also async.
2022-09-09 13:52:34 -04:00
mister-ben
9b81afee80
fix: Use timeupdate as well as rvfc/raf for cues (#7918)
Use the timeupdate event as well as the rvfc and raf callbacks to check cues. This is a bit overkill for "usual" playback but avoids edge cases. If the more preceise callback trigger first the cue will update but the timeupdate event should catch any that were missed, notwithstanding that timeupdate was always somewhat unpredictable.

Fixes #7910 (audio in video els and Samsung being weird) and fixes #7902 (no updates off screen).
2022-09-09 13:50:21 -04:00
Ikko Ashimine
9ca2e8764a
refactor: fix typo in player.js (#7805)
langauge -> language
2022-08-02 12:31:22 -04:00
mister-ben
d178d9ae3c
fix: Conditional requestVideoFrameCallback on Safari (#7854)
Safari's requestVideoFrameCallback is (intentionally?) broken when DRM is playing, so in that case use the fallback with requestAnimationFrame instead.
2022-07-28 14:20:46 -04:00
André
1445f87800
fix(control-bar): audio player no longer responds to touch events (#7825) 2022-07-01 15:17:43 -04:00
Joe Flateau
b22a08aad0
fix: need to determine featuresVideoFrameCallback before setting source (#7812)
the tech needs to know whether or not the underlying element supports requestVideoFrameCallback before calling setSource

Fixes #7807
2022-06-28 16:01:00 -04:00
mister-ben
27f22efe6b
fix: Don't copy deprecated Event.path (#7782) 2022-05-31 15:51:12 -04:00
mister-ben
a14ace202b
fix: HTML5 tech with audio tag shouldn't use requestVideoFrameCallback (#7778) 2022-05-31 15:50:51 -04:00
Grzegorz Blaszczyk
75ea699273
fix: error message should not be localized in the player class (#7776) 2022-05-31 15:50:27 -04:00
Grzegorz Blaszczyk
05d52783e6 fix(accessibility): frame must have a title attribute (#7754) 2022-05-20 09:54:45 -04:00
mister-ben
3ec2ac7f99
feat: Player can be replaced with original el after dispose() (#7722) 2022-05-18 10:59:17 -04:00
try2beth3b3st
7e2b9ec411
fix: reset() should null check the controlBar (#7692)
Fixes #7689

Co-authored-by: alex <try2betheb3st@gmail.com>
Co-authored-by: Pat O'Neill <pgoneill@gmail.com>
2022-05-04 11:43:52 -04:00
Noemite
b7cb9d06d6
fix(accessibility): fix broken aria menu (#7699)
* fix(accessibility): fix broken aria menu

* Update src/js/menu/menu-button.js

Co-authored-by: mister-ben <git@misterben.me>

* add tests

Co-authored-by: Noémie Macault <noemie.macault@capgemini.com>
Co-authored-by: mister-ben <git@misterben.me>
2022-04-15 12:56:29 -04:00
Alex Barstow
145aba6aea
fix: Audio only mode styling conflicts with fluid mode (#7724)
* css changes

* make audio only mode player responsive in fluid mode
2022-04-15 12:55:27 -04:00
mister-ben
5af81cad2e
fix: generate chapters menu only when needed and don't create orphaned event listeners (#7604) 2022-03-21 13:05:50 -04:00
mister-ben
28bdc7d590
feat: easier configuration of buttons and components via options (#7611) 2022-03-21 12:21:26 -04:00
Wayne-Morgan
337ff2fed3
fix: text-track-display position with no ui (#7682)
Fixes #7681
2022-03-21 10:00:41 -04:00
Harisha Rajam Swaminathan
eeff79c5e8
refactor: Unify audioOnly mode and audioPoster mode (#7678)
Co-authored-by: Alex Barstow <alexander.barstow@gmail.com>
2022-03-17 17:10:33 -04:00
Alex Barstow
762e7bc751
feat: Audio Only Mode (#7647)
* audioOnlyMode wip

* fix incorrect logs

* add tests

* minor code changes and add another test

* update docs

* fix formatting

* fix typo

* Consolidate conditions

Co-authored-by: Pat O'Neill <pgoneill@gmail.com>

* Compare objects instead of name string

Co-authored-by: Pat O'Neill <pgoneill@gmail.com>

* code review changes

* remove unnecessary equivalence check

Co-authored-by: Gary Katsevman <git@gkatsev.com>

* replace height() with currentHeight()

Co-authored-by: Gary Katsevman <git@gkatsev.com>

* rewrite for async pip and fs handling

* asyncify tests

* update doc

* add test

Co-authored-by: Pat O'Neill <pgoneill@gmail.com>
Co-authored-by: Gary Katsevman <git@gkatsev.com>
2022-03-10 13:13:49 -05:00
André
a0bb5264c7
feat: Assume DASH MIME type when an MPD source URL is given (#7602) 2022-03-02 10:36:25 -05:00
mister-ben
1179826cbc
feat: Greater text track precision using requestVideoFrameCallback (#7633) 2022-03-02 10:34:13 -05:00
Harisha Rajam Swaminathan
64e55f5492
feat: Add audioPosterMode option (#7629) 2022-03-01 15:50:46 -05:00
Bruce Rodrigues
50fe5f659b
fix: Fix playback rate iteration if rates are not in the ascending order (#7618) 2022-02-23 12:28:14 -05:00
mister-ben
f16d73b528
fix: Guard against Safari adding native controls after fullscreen (#7634) 2022-02-23 12:17:49 -05:00
Pat O'Neill
c44057d217
fix(accessibility): By default, show track selection buttons at all responsive breakpoints (#7603) 2022-02-23 12:17:27 -05:00