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

4080 Commits

Author SHA1 Message Date
Essk
eebcc07dac
chore: update to http-streaming v3.10.0 (#8558) 2024-01-17 12:40:55 +00:00
mister-ben
46c9907a9b
fix: Fixes form markup in text track settings (#8557) 2024-01-16 17:43:39 +01:00
Carlos Javier Villaseñor Castillo
7345768575
feat(error): remove confusing decorative X from error display modal (#8553)
Modify _error:
-Remove the ‘x’ decorative element from the error display modal.
2024-01-10 14:32:27 -06:00
Peter Petraník
abdfaacd90
feat: expose version from player.version() (#8543)
Add a `Player#version()` method which returns an object with the Video.js version under the `video.js` property name, to match the package name.

This could then be extended to support adding plugin, tech, and source handler versions as part of the version call.

Fixes #8538
2024-01-04 09:35:23 -05:00
Dzianis Dashkevich
09c9bfba05 8.9.0 2024-01-02 13:25:50 -05:00
Dzianis Dashkevich
17506b1316
chore: update vhs to 3.9.1 (#8539)
Co-authored-by: Dzianis Dashkevich <ddashkevich@brightcove.com>
2024-01-02 13:24:27 -05:00
André
608a585dcb
feat: Seek bar smooth seeking (#8287)
* refactor(player): decrease the indentation level in the currentTime method

* fix(player): cache_.currentTime is not updated when the current time is set

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

* feat: add an option to handle smooth seeking

Adds a player option called enableSmoothSeeking, which is false by default,
to provide a smoother seeking experience on mobile and desktop devices.

Usage:
```javascript
// Enables the smooth seeking
const player = videojs('player', {enableSmoothSeeking: true});

// Disable the smooth seeking
player.options({enableSmoothSeeking: false});
```

- **player.js** add an `option` called `enableSmoothSeeking`
- **time-display.js** add a listener to the `seeking` event if `enableSmoothSeeking` is `true` allowing to update the `CurrentTimeDisplay` and `RemainingTimeDisplay` in real time
- **seek-bar.js** `update` the seek bar on `mousemove` event  if `enableSmoothSeeking` is `true`
- add test cases
2024-01-02 13:11:55 -05:00
Tsachi Shlidor
af0fca3623
fix(skip-forward): a11y (#8532) 2023-12-21 17:12:59 +01:00
Adam Waldron
d2dc5b9056 8.8.0 2023-12-14 14:05:24 -08:00
Adam Waldron
fe7cf98745
feat: update VHS to v3.9.0 (#8526) 2023-12-14 13:59:38 -08:00
Dzianis Dashkevich
1fff5c0698
chore: update player public interface for types visibility (#8525)
Co-authored-by: Dzianis Dashkevich <ddashkevich@brightcove.com>
2023-12-14 13:07:17 -05:00
Dzianis Dashkevich
6a5e1ee4fe 8.7.0 2023-12-04 14:31:37 -05:00
André
1866118e6c
fix(loading-spinner): border size costumization (#8369)
Allows to change the border size of the `loading-spinner` component without having to reflect the border size in the pseudo-element margin.

- uses display `flex` to facilitate centering of pseudo-elements
- deletes the pseudo-elements `margin`
2023-12-04 14:26:55 -05:00
Andrea Stagi
824042715a
fix(i18n): new italian labels (#8495)
* fix(i18n): new italian labels

Fix Italian labels according to ones used by Bootstrap Italia (Italian government official library)

* fix(i18n): replace "filmato" with "contenuto multimediale"
2023-12-04 14:24:35 -05:00
Ish
4af7461b9d
feat: Support for nepali language and a small typo fix for hindi language (#8323)
* Create np.json

Language support for Nepali language

* Updated half of the fields

* Final changes for nepali language

* uniform is literllay translated to cloth, rather is should be Consistent

* typo

* final typo fix

---------

Co-authored-by: Dzianis Dashkevich <98566601+dzianis-dashkevich@users.noreply.github.com>
2023-12-04 14:22:20 -05:00
André
849098f6c0
fix(player): reset CSS classes at player.reset (#8487)
Allows CSS classes to be reset when `player.reset` is called,
so that the player is close to its initial state.

- remove `vjs-playing`
- add `vjs-paused`
2023-12-04 14:18:11 -05:00
Dzianis Dashkevich
5f4aa91ef9
feat: bump VHS 3.8.0 (#8506)
Co-authored-by: Dzianis Dashkevich <ddashkevich@brightcove.com>
2023-12-04 14:11:27 -05:00
Andrei Filip
a6a0f577e1
fix(types): Minor fix for types (#8466)
* fix 2 minor types

* Update component.js

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

---------

Co-authored-by: mister-ben <git@misterben.me>
2023-12-04 14:10:27 -05:00
Aydin Najafov
8cdb228654
chore: Added Azerbaijani language (#8472)
Co-authored-by: Aydin Najafov <anacafov@pa.gov.az>
2023-12-04 14:08:19 -05:00
André
3c110f0fb1
chore: update mpd-parser & m3u8-parser dependencies (#8494)
update m3u8-parser to version 7.1.0
update mpd-parser to version 1.2.2

refers https://github.com/videojs/video.js/issues/8491
2023-11-30 09:59:58 +01:00
André
161a09cae6
fix(title-bar): component remains displayed after player reset (#8481)
When `player.reset` is called the `titleBar` component is not reset.

- Sets the properties `title` and `description` to `undefined` when `player.titleBar.update` is called so that the component is properly reset.
2023-11-29 10:36:56 +01:00
André
6d8af0c892
fix(big-play-button): component remains displayed after an error (#8483)
This issue occurs when the `player` has the class `vjs-show-big-play-button-on-pause`
and playback has started and then been set to `pause` and an `error` occurs.

- Avoids displaying `big-play-button` on error
2023-11-29 10:29:22 +01:00
André
7972c23a55
fix(error-display): component remains displayed after player reset (#8482)
When `player.reset` is called, the `errorDisplay` component is not reset, and neither is `player.error`.

- Sets `player.error` to `null`, so that the `player.errorDisplay` and `player.error` are correctly reset.
- Adds an `error` function to the `testPlayer` stub to prevent tests from failing.
2023-11-28 23:38:41 +01:00
André
92b5e79ba9
fix(big-play-button): component remains displayed when seeking (#8484)
This issue happen when the `player` has the class `vjs-show-big-play-button-on-pause` and a `seek` occurs,
resulting in the `loadingSpinner` being hidden behind the `bigPlayButton`.

- Avoids displaying `bigPlayButton` while `seeking`
2023-11-28 23:22:39 +01:00
André
78310464d5
fix(error-display): update display on consecutive errors (#8485)
When consecutive errors occur, the `ErrorDisplay` component is not updated with the new error message.
This results in an inconsistent state between the `player.error` and `player.errorDisplay.contentEl().textContent`.

|                         | player.error() | player.errorDisplay.content() | player.errorDisplay.contentEl().textContent |
| ----------------------- | -------------- | ----------------------------- | ------------------------------------------- |
| player.error('Error 1') | Error 1 ✔️      | Error 1 ✔️                     | Error 1 ✔️                                   |
| player.error('Error 2') | Error 2 ✔️      | Error 2 ✔️                     | Error 1                                   |

An example of a use case where updating the error message is useful is :
- user tries to play media 1 but the media doestn't exist
- user tries to play media 2 but the media is not compatible

- call the `close` function before each call to the `open` function.
  - if errorDisplay is not **open**, the `close` function does nothing
  - if errorDisplay is **open**, the `close` function executes and triggers the close events, then the open function executes and triggers the open events, ensuring that the content is updated.
2023-11-28 23:11:15 +01:00
JJ
d535e163da
bugfix: fix window.navigator.userAgentData may be '{}' (#8474) 2023-10-24 10:03:50 +02:00
James Blankenship
f7b1e3d03d
chore: Fixed an incomplete sentence in contributing guide (#8471)
* Fixed an incomplete sentence.

* Update CONTRIBUTING.md

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

---------

Co-authored-by: mister-ben <git@misterben.me>
2023-10-24 09:56:03 +02:00
wseymour15
cd2dac4b82 8.6.1 2023-10-12 13:00:18 -05:00
Walter Seymour
9701de9684
chore: update VHS and mux.js versions (#8462) 2023-10-12 12:56:46 -05:00
mister-ben
2c36d2542a
fix(types): use typeof for registerComponent and registerPlugin (#8451)
* use typeof for registerComponent|Plugin

* separate out addChild changes
2023-10-03 10:19:05 +02:00
Aniol Pagès
d1c3bd32b6
Improved and complete Catalan translation (#8434) 2023-09-29 12:31:13 +02:00
Ruslan Norberg
7883d0a745
Fix broken documentation links (#8422) 2023-09-28 22:21:38 +02:00
Boris Petrov
bad086dad6
chore(types): fix issues in exported types (#8333) 2023-09-28 11:45:04 -04:00
André
473176f268
fix(control-bar): incorrect display when control bar display is locked (#8435)
The control bar is not displayed correctly when the display is locked because `.vjs-lock-showing` uses `display` `block` instead of `flex`.

- use `display` `flex` instead of `display` `block` when the control bar has `.vjs-lock-showing` class
- ensure that the control bar is not displayed if the `player` has classes:
  - `.vjs-controls-disabled`
  - `.vjs-using-native-controls`
  - `.vjs-error`
2023-09-27 10:25:52 +02:00
André
68f1429d9b
fix(error): chromium reset mediaError when the poster is invalid (#8410)
When both the media URL and the poster return a response other than 200.
The media error is overwritten by an empty error, leaving the player in an inconsistent state.

- add a condition to `handleTechError_` to ensure that the `error` is truthy
- add a test case

Fixes #8409
2023-09-27 10:18:58 +02:00
Grzegorz Blaszczyk
781eb436e3
fix(types): improves quality of typescript definitions (#8218)
* feat(types): improves quality of typescript definitions

* fix: reverts back access modifier for controlText_

* empty commit to force retest

* fix(doc): add missing keyboard event type

---------

Co-authored-by: mister-ben <git@misterben.me>
2023-09-27 10:00:49 +02:00
mister-ben
9267c46576
fix: Resolves captions sizing issue when minified (#8442)
* fix: Resolves captions sizing issue when minified

* Change test for minification
2023-09-27 09:54:29 +02:00
Dzianis Dashkevich
4f9e108fe6 8.6.0 2023-09-25 15:10:44 -04:00
Dzianis Dashkevich
372b816779
chore(package): Update VHS version (#8447)
* chore(package): Update VHS version

* get rid of kaios 2 from browserlist

* get rid of kaios 2

* get rid of op_mob 64

---------

Co-authored-by: Dzianis Dashkevich <ddashkevich@brightcove.com>
2023-09-25 15:09:36 -04:00
Dzianis Dashkevich
cf681e0e76
feat: enhanced logger (#8444)
* Added the createNewLogger method, to create a logger without a naming chain.

* Added optional custom delimiter and custom styles.

* Several improvements in jsDoc for proper types(d.ts) generation.

---------

Co-authored-by: Dzianis Dashkevich <ddashkevich@brightcove.com>
2023-09-25 12:50:01 -04:00
usmanonazim
38b165d4d7 8.5.3 2023-08-23 12:50:46 -04:00
André
b95cd7a6eb
fix(svg-icons): default icons color (#8382)
Uses the same color as defined by the `color` property of the `video-js` class to apply to `svg icons` for easy customization

- set `fill` property to `currentColor`

Co-authored-by: mister-ben <git@misterben.me>
2023-08-17 21:48:43 +02:00
André
d0408812df
fix(svg-icons): icon size consistency (#8380)
* fix(svg-icons): icon size consistency

The icons have been regenerated from the svg files in `videojs/font` to ensure consistency in size.

- update icons.svg file

* fix(svg-icons): default height and width in css

Uses the same reference value from the font size of `font icons` to define the default height and width of `svg icons`

* fix(big-play-button): default height and width of svg icon

Uses the same size as the big-play-button font size and centers the svg icon

* fix(volume-control): default height and width of svg icon

Uses the same size as the `volume-level` font size and
centers the svg icon for both horizontal and vertical display

* fix(volume-control): mouse-display overlaps the volume-level svg icon

* fix(play-progress): default height and width of svg icon

Uses the same size as the `play-progress` font size and removes the hover effect

* fix(subtitles-button): default height and width of svg icon

Uses the same size as the `subtitles button` font size
2023-08-17 21:30:23 +02:00
André
42e17b23da
fix(error-display): avoids displaying visual components when an error occurs (#8389)
When an error occurs, only the error screen should be displayed to maintain visual consistency.

- Hides the Title Bar
- Hides the Loading Spinner
- Hides the Captions Settings
- Hides the Text Track Display
2023-08-17 21:25:16 +02:00
Pavel Chuchuva
80ae35b6e3
Fix typo (#8399) 2023-08-15 10:37:09 +02:00
Dzianis Dashkevich
ca31cd3b63 8.5.2 2023-08-14 14:41:53 -04:00
Dzianis Dashkevich
9aff3de582
chore(package): bump VHS version from 3.3.1 to 3.5.3 (#8400)
Co-authored-by: Dzianis Dashkevich <ddashkevich@brightcove.com>
2023-08-14 14:40:13 -04:00
Usman Omar
560b81a6d9
fix(text): caption settings typo 2023-08-14 15:13:02 +01:00
wseymour
3e9ef0ace2 8.5.1 2023-07-21 14:08:31 -05:00
mister-ben
6fc1fd4aaf
fix(tests): Fixes for old Safari (#8368) 2023-07-21 19:12:48 +02:00