Commit Graph

76 Commits

Author SHA1 Message Date
Álvaro Velad Galván bd167c3744 feat: Add listenMulti and listenOnceMulti to shaka.util.EventManager (#9652)
Co-authored-by: Wojciech Tyczyński <tykus160@gmail.com>
2026-02-03 21:49:35 +01:00
Álvaro Velad Galván 2d02ae3f6d feat(UI): Allow all items registered in overflow to be in the context menu (#9527) 2025-12-19 09:23:07 +01:00
Álvaro Velad Galván 0f4e849acf fix(UI): Fix position of sub menus (#9485)
Now the submenus are rendered within the overflow menu
2025-12-10 13:28:40 +01:00
Álvaro Velad Galván 38054c9968 fix(UI): Show Dolby Vision text for any DV codec (#9487) 2025-12-10 09:57:52 +01:00
Romualdas Paskevicius 3143505f1d fix(UI): Support non-square pixels in getResolutionLabel_ (#9300)
The changes in this PR add support for non-square pixels, e.g. SAR value
of 2:1 (or any other) to the Resolution Selection Menu.

Currently, some contents can be falsely detected as portrait video by
getResolutionLabel_, e.g. a 960x1080p content with a SAR value of 2:1
would be detected as portrait and have its width and height swapped by
getResolutionLabel_. However it is a landscape content: the horizontal
pixels would be stretched to display a horizontal video.
2025-10-29 12:04:02 +01:00
Álvaro Velad Galván 87b44accbd fix(UI): Fix error showing resolution list (#9219) 2025-10-15 16:07:15 +02:00
Romualdas Paskevicius f7c7d2a178 fix(UI): Add LCEVC label in resolution menu (#9186)
This PR adds `isLCEVC` check to the `basicResolutionComparison` and
appends `'LCEVC'` to the label text in `getResolutionLabel_` if the
track is LCEVC. This makes it easier to tell LCEVC profiles apart and
fixes an issue we were seeing when many different Dual-Track profiles
are contained in the manifest, it might be hard to differentiate them
(e.g. base and LCEVC profile with the same 1080p resolution).
2025-10-09 16:37:59 +02:00
Phyo Wai Lin e7b1e5a0f6 feat(UI): Ability to change UI icons (#9115)
## How to register a custom icon?

**Icons need to be registered before initializing the player.**

Register a custom icon from  Material Symbols:

```js
shaka.ui.IconRegistry.register('<PATH_VALUE>');
```

Register a custom Icon from any icon set:

```js
shaka.ui.IconRegistry.register('<NAME>', {
  path: '<PATH_VALUE>',
  viewBox: '<VIEW_BOX>',
  size:  24, // optional
});
```

Register a custom Icon (that contains multiple paths) from any icon set:

```js
shaka.ui.IconRegistry.register('<NAME>', {
  path: ['<PATH_VALUE_1>', '<PATH_VALUE_2>'],
  viewBox: '<VIEW_BOX>',
  size:  24, // optional
});
```

Register a custom Icon using URL of the icon:

```js
shaka.ui.IconRegistry.register('<NAME>', {
  url: '<URL>',
  size:  24, // optional
});
```

Closes: #9045

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2025-09-19 11:59:17 +02:00
Álvaro Velad Galván c0b85c7efb feat(UI): Add video type button (#9107)
This button will appear when the loaded stream has two or more video
roles. E.g.: main and sign.
2025-09-18 13:57:21 +02:00
Álvaro Velad Galván 681e85ac29 feat(UI): Only show resolutions with the same video role (#9000)
Related to https://github.com/shaka-project/shaka-player/issues/8943
2025-08-20 16:55:01 +02:00
Phyo Wai Lin 7d61334759 feat(UI): Replace icon font with SVG icons (#8986)
* Update all UI components to use SVG icons instead of icon fonts
* Adjust some icon sizes to 32px

Replacing icon fonts with inline SVGs removes the loading delay caused
by font fetching. Icons now appear immediately with zero delay.

Close https://github.com/shaka-project/shaka-player/issues/2467
2025-08-19 12:40:53 +02:00
Álvaro Velad Galván 2dc7a400af fix(UI): Don't show improper bandwidths in the resolution selector (#8928)
15.0 Mbps vs 15 Mbps
2025-07-29 13:37:10 +02:00
Álvaro Velad Galván f2d2ed7268 feat(UI): Use Dolby Vision as the name instead of HDR in the resolution menu (#8926) 2025-07-29 12:16:59 +02:00
Álvaro Velad Galván becf5d329f feat(UI): Use Mbps notation in resolution selector (#8779) 2025-06-23 09:22:15 +02:00
Álvaro Velad Galván ee5de11251 fix(UI): Fix 3D detection (#8725) 2025-06-10 15:20:50 +02:00
Álvaro Velad Galván 370b04260e fix(UI): Filter audio qualities when bandwidth is missing (#8650)
Note: This only applies to audio-only streams.
2025-05-27 19:09:35 +02:00
Álvaro Velad Galván d60dbf3e6f fix(UI): Avoid show resolution selector when using remote playback (#8628) 2025-05-21 12:24:27 +02:00
Álvaro Velad Galván 1d04801ef1 fix(UI): Reset quality mark when switching from video stream to audio only stream (#8605) 2025-05-14 21:02:43 +02:00
Álvaro Velad Galván 0aa886d940 feat(UI): Show the quality mark when using src= (#8511) 2025-04-24 17:30:15 +02:00
Álvaro Velad Galván 94bdb7c089 feat(UI): Resolution selector should display width for vertical videos (#8502)
Close https://github.com/shaka-project/shaka-player/issues/8501
2025-04-23 11:39:23 +02:00
Álvaro Velad Galván 20659db055 feat(UI): Update some selectors after loading content always (#8465) 2025-04-15 15:48:13 +02:00
Álvaro Velad Galván 99a6f25bc7 feat: Create a new simple API for Video (#8454)
Co-authored-by: Wojciech Tyczyński <tykus160@gmail.com>
2025-04-15 12:08:25 +02:00
Álvaro Velad Galván 9112ca1b27 fix(UI): Fix some bugs when joining an existing cast session (#8452)
Sometimes getAudioTracks, getTextTracks and getVariantTracks returns
null when joining to existing session
2025-04-14 11:04:59 +02:00
Álvaro Velad Galván bb1fdb45c6 fix(UI): Avoid show resolution bandwidth when it's not necessary (#8440) 2025-04-10 18:14:34 +02:00
Álvaro Velad Galván 9992d670e1 feat(UI): Show current playback rate and quality without hover (#8437)
Close https://github.com/shaka-project/shaka-player/issues/7444
2025-04-10 16:11:00 +02:00
Álvaro Velad Galván 1c8539698c feat(UI): Modernization of the UI (#8409)
Changes:
- The look has been changed to make it more similar to YouTube:
  - The main background color is now black, and the font is white.
  - Presentation time has been moved to the bottom.
  - Cast and airplay buttons are now more accessible.
  - Tooltips have been enabled except on mobile platforms.
- The ad information has been moved to appear in the same position as
the presentation time when the ad is present.
- A mark indicating the current quality has been added (e.g.: HD, 2K,
4K, 8K)
- The spinner has been replaced with one that works well on Smart TVs
and is very similar to the current one. The animation is included in the
SVG element itself rather than through CSS.
- More LESS variables have been added to make customization easier in
forks.
- The maximum size of the menus is dynamically calculated so that they
never extend outside the video container.
- The size of the subtitle container when the UI appears is now
calculated dynamically.
- The Demo has been updated to show the seekbar when trickplays are
enabled.
- UI performance on Smart TVs has been improved (Tested on Tizen 5.0)
- Many offsets that were hardcoded have been removed, but not all (in
CSS).

Close https://github.com/shaka-project/shaka-player/issues/8406
2025-04-08 13:46:23 +02:00
Álvaro Velad Galván b93303cc0f fix(UI): Show the video codec only when there are two codecs for the same resolution (#8407) 2025-04-07 11:58:00 +02:00
Álvaro Velad Galván 00ae29185e fix(UI): Make UI display 4096x2160 (DCI 4k) video as also being "4k" (#8359)
Fixes https://github.com/shaka-project/shaka-player/issues/8357
2025-03-31 11:28:44 +02:00
Wojciech Tyczyński 6e55a3b21b build: Forbid using dot in generic types (#7904)
Fixes #2643

Happy reviewing!
2025-01-20 09:39:51 +01:00
Álvaro Velad Galván 075c3fdbe2 feat(UI): Add option to show the video codec name (#7747) 2024-12-12 09:42:21 +01:00
Álvaro Velad Galván 131437734c fix(UI): Fix missing tracks in resolution selector (#7352) 2024-09-23 14:30:44 +02:00
Álvaro Velad Galván d4249b1b9c fix(UI): Only show frame rate if there are several frame rates (#7190)
Fixes https://github.com/shaka-project/shaka-player/issues/7187
2024-08-21 18:08:09 +02:00
Álvaro Velad Galván 089518c0e1 fix(UI): Fix resolution label when the stream has not resolution (#7043) 2024-07-16 08:17:01 +02:00
Álvaro Velad Galván 2a2c9cd92d fix(UI): Show all resolutions when there are only one audio. (#7017) 2024-07-11 09:14:02 +02:00
Álvaro Velad Galván aaf4b63399 fix(UI): Fix resolution sorting (#6742) 2024-06-04 09:28:55 +02:00
Álvaro Velad Galván d9242cd09c fix(UI): UI does not update after loading a new stream (#6721)
Fixes https://github.com/shaka-project/shaka-player/issues/6720
2024-05-31 19:14:58 +02:00
theodab a9d5dc3991 feat(UI): List bandwidth for duplicate resolutions (#6548)
We recently added the ability for the UI to display multiple variants of
the same resolution, if they had different video bandwidths.
This changes the UI to also list the video bandwidth in the menu itself,
in that case.

Closes #6494
2024-05-07 10:10:11 +02:00
Álvaro Velad Galván 9fb9b26b94 fix(UI): Allow show same resolution with different video bandwidth (#6536)
Fixes https://github.com/shaka-project/shaka-player/issues/6494
2024-05-06 10:40:27 +02:00
Álvaro Velad Galván c596677e4a feat(UI): Use the same logic to group variants into audio and quality selectors (#6096)
Closes https://github.com/shaka-project/shaka-player/issues/6039
2024-01-16 09:29:26 +01:00
Álvaro Velad Galván eabfc472ae feat(UI): Use the same logic to group variants into audio and quality selectors (#6069)
Related to https://github.com/shaka-project/shaka-player/issues/6039
2024-01-10 10:26:10 +01:00
Álvaro Velad Galván 8649e7ebbd feat(UI): Hide resolution overflow menu button if there's only one choice (#6004)
Fixes https://github.com/shaka-project/shaka-player/commit/628bb63c4c082b44f749876cf1cb8b3f06887d0b
2023-12-11 17:10:05 -08:00
Álvaro Velad Galván 628bb63c4c feat(UI): Hide language and resolution overflow menu button if there's only one choice (#5928)
Closes https://github.com/shaka-project/shaka-player/issues/4720
2023-11-27 08:59:29 +01:00
Álvaro Velad Galván b56b9df602 feat(UI): Bucketize resolution names in the UI (#5816)
Closes https://github.com/shaka-project/shaka-player/issues/2090
2023-10-30 07:36:24 +01:00
Álvaro Velad Galván 81fc82b6b2 feat(HLS): Add support for REQ-VIDEO-LAYOUT (#5809)
Also add preferredVideoLayout config
2023-10-26 09:25:45 +02:00
Álvaro Velad Galván 30963788be feat(UI): Display frame rates in the quality selector (#5753)
Closes https://github.com/shaka-project/shaka-player/issues/5749
2023-10-09 11:03:10 +02:00
Álvaro Velad Galván 3f9eadeaaf feat(UI): Add HDR label to resolution when the track is HDR (#5373) 2023-06-29 12:29:22 +02:00
Álvaro Velad Galván 3863c73a15 fix(UI): Fix resolution selection on src= (#5367)
With this change, when we are in src= mode we only leave the automatic
mode in the resolution selector, since we will not be able to change the
resolution.

Fixes https://github.com/shaka-project/shaka-player/issues/5330
2023-06-28 12:56:08 +02:00
Joey Parrish 5082fa6636 chore: Fix typo in comment (#4192) 2022-05-05 10:34:01 +02:00
Nbcl adc3502d55 feat(ui): Add quality selection for audio-only content (#3649)
Replaces resolution menu with audio quality menu when content is audio-only.

Fixes: #2071
2022-04-21 15:43:51 -07:00
Nico d5769eeda4 feat(ui): Add tooltips to control panel buttons (#3572)
Adds configurable tooltips that display the function of buttons in the control panel.
Closes: #3269
2021-08-23 10:00:43 -07:00