Commit Graph

382 Commits

Author SHA1 Message Date
Álvaro Velad Galván 514246c8de feat(UI)!: Remove airplay button (#9654)
`airplay` button uses WebKit's proprietary API. In newer versions, this
has been replaced by the RemotePlayback API, which is available in
`remote` button.

More info: https://caniuse.com/mdn-api_remoteplayback

---------

Co-authored-by: Theodore Abshire <TheodoreAbshire@Gmail.com>
2026-02-04 11:28:17 +01:00
Álvaro Velad Galván 3fd73ce941 feat(UI)!: Add bigButtons config and remove addBigPlayButton config (#9636)
- The following buttons are registered: play_pause, mute, fullscreen,
rewind, fast_forward, picture_in_picture, remote, loop, skip_next,
skip_previous
- SmallPlayButton and BigPlayButton are removed
- The following buttons are used by default on mobile: skip_previous,
play_pause, skip_next
2026-02-02 09:56:43 +01:00
Álvaro Velad Galván 0c0c2ffe29 feat(UI)!: Enable customContextMenu by default on desktop browsers (#9635)
statistics and ad_statistics are added by default to context menu only
on debug builds
2026-01-30 12:03:26 +01:00
Álvaro Velad Galván 023111f6e3 feat(UI)!: Add documentPictureInPicture config (#9634)
- Remove preferDocumentPictureInPicture config
- Add two new configs: disallowReturnToOpener and
preferInitialWindowPlacement
2026-01-29 20:38:36 +01:00
Wojciech Tyczyński 5c05132772 feat!: Use shared logic for MediaError details (#9594) 2026-01-22 20:50:32 +01:00
Satoshi 989392fb4c docs: align description with README (DASH and HLS support) (#9574)
The previous description suggested that Shaka Player was a DASH-only
player.

In reality, Shaka Player supports multiple adaptive streaming formats,
including DASH and HLS.
This change updates the documentation to accurately reflect the player's
capabilities and align it with the README.
2026-01-20 12:38:50 +01:00
Álvaro Velad Galván 6e23b401ed feat(UI): Enable doubleClickForFullscreen for mobile (#9566)
Close https://github.com/shaka-project/shaka-player/issues/9555
2026-01-16 12:00:42 +01:00
Álvaro Velad Galván 6ba19b2af4 feat(UI): Add subtitle size button (#9530) 2025-12-19 14:09:20 +01:00
Álvaro Velad Galván c6e6082bc2 feat: Allow override subtitle position (#9522)
Close https://github.com/shaka-project/shaka-player/issues/9521

---------

Co-authored-by: Wojciech Tyczyński <tykus160@gmail.com>
2025-12-19 13:38:33 +01:00
Tobias Taschner 7e316bc8b2 docs: Update offline.md with persistent license details (#9528)
Clarified the support for persistent licenses with the recent removal of
persistent licenses with Chrome v143 on desktop.
2025-12-18 17:56:17 -08:00
Álvaro Velad Galván d5be5d6f45 feat!: Text displayers should receive a shaka.Player pointer (#9515)
Related to https://github.com/shaka-project/shaka-player/issues/9301
2025-12-17 10:11:00 +01:00
Álvaro Velad Galván 86bfea08aa feat!: Move speech to text to the accessibility section in config (#9507) 2025-12-16 12:37:44 +01:00
Álvaro Velad Galván 1ace441355 feat: Handle forced subtitles automatically by default (configurable) (#9497)
Close https://github.com/shaka-project/shaka-player/issues/9489

---------

Co-authored-by: Wojciech Tyczyński <tykus160@gmail.com>
2025-12-16 09:40:58 +01:00
Álvaro Velad Galván 687f0ee26e feat(ABR): Remove abr.removeLatencyFromFirstPacketTime config (#9496)
Close https://github.com/shaka-project/shaka-player/issues/9475
2025-12-12 10:30:17 +01:00
Matthias Van Parijs 73ee27bf17 feat!: Remove autoShowText and simplify initial text track selection (#9435)
This is the first step in a series of efforts to simplify how we handle
text tracks internally.

The purpose of `autoShowText` has always felt a bit unclear. It was
originally added because Shaka wasn't flexible enough when choosing an
initial text track. I don't think we should try to handle every possible
scenario for initial text track selection. Instead, we should respect
`config.preferredTextLanguage` and let the application decide if it
needs more granular control. Apps can already do this easily with
`getTextTracks()` and `selectTextTrack(track)`.

Ultimately, I'd like to move toward a simpler API where either a text
track is selected or none is. If nothing is selected, we shouldn't
stream any text at all.

See https://github.com/shaka-project/shaka-player/issues/9301 for extra
context.
2025-12-12 09:41:15 +01:00
Mudit Jain 49a4d56267 feat(FairPlay): Add support for Gumlet (#9396) 2025-11-26 12:39:20 +01:00
Wojciech Tyczyński b0c77a2adc docs: Remove obsolete message from monetization document (#9403) 2025-11-19 11:55:20 +01:00
Álvaro Velad Galván 643e2c8b62 feat!: Simplify shaka.ads.AdManager interface (#9357) 2025-11-06 13:29:42 +01:00
Álvaro Velad Galván 4bc2518e29 feat!: Remove LRC, SBV, SSA support (#9330)
Related to https://github.com/shaka-project/shaka-player/issues/9321
2025-11-04 20:07:02 +01:00
Álvaro Velad Galván e85b648ef0 feat!: Remove MSS support (#9329)
Related to https://github.com/shaka-project/shaka-player/issues/9321
2025-11-04 20:06:44 +01:00
Álvaro Velad Galván 8e0e0d85c1 feat!: Remove setSequenceMode from TextParser plugins (#9326) 2025-10-31 16:14:52 +01:00
Álvaro Velad Galván 75abdc9749 docs(UI): Add info about title and poster (#9317) 2025-10-30 12:28:33 +01:00
Álvaro Velad Galván 7f662a15b9 feat!: Remove enableTextDisplayer from TextDisplayer plugins (#9311)
This is no longer necessary since we have removed
shaka.text.SimpleTextDisplayer
2025-10-29 16:43:06 +01:00
Wojciech Tyczyński 9b430512a5 docs: Update version mentioned (#9305) 2025-10-28 12:07:46 +01:00
Wojciech Tyczyński b2f6b88fe3 ci: Use python3 explicitly (#9288)
As python v3 is now necessary in our build pipeline, use python3
explicitly in CI and tutorials, as not all OSes symlink `python` to
`python3`.
2025-10-27 13:34:51 +01:00
Álvaro Velad Galván 945c57ab77 feat!: Remove all deprecated things (#9162) 2025-10-07 10:52:13 +02:00
Álvaro Velad Galván e6dfa903ef feat(Ads): Add support for tracking urls (#9144) 2025-09-29 21:27:41 +02:00
Álvaro Velad Galván 61d80f6e59 feat: Add automatic subtitles (#9123)
Internally this uses Web Speech API
https://webaudio.github.io/web-speech-api/ and Translator APIs
https://webmachinelearning.github.io/translation-api/

The feature is experimental and disabled by default since Chrome is the
only browser that currently supports it.

Closes https://github.com/shaka-project/shaka-player/issues/9110

---------

Co-authored-by: Wojciech Tyczyński <tykus160@gmail.com>
Co-authored-by: Joey Parrish <joeyparrish@google.com>
Co-authored-by: Theodore Abshire <TheodoreAbshire@Gmail.com>
Co-authored-by: Joey Parrish <joeyparrish@users.noreply.github.com>
2025-09-26 13:18:44 +02:00
Wojciech Tyczyński 6d04f7f225 feat(net): Allow request filters to be called multiple times (#9129)
This change allows to execute request filter on every request attempt.
It can be useful i.e. to update credentials when first request fails.

New field `attempt` has been added to `shaka.extern.Request` which
informs which attempt is currently ongoing. This is needed to not do the
unnecessary work multiple times.

HTTP 401 Unauthorized and 403 Forbidden are no longer treated as
immediate critical errors, as tokens can be updated during retry
process.
2025-09-24 11:55:47 +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 dc235fc501 feat: Remove alwaysStreamText config (#9053)
It is no longer necessary since we included NativeTextDisplayer

Original issue:
https://github.com/shaka-project/shaka-player/issues/1332
2025-09-04 14:51:21 +02:00
Álvaro Velad Galván 570fec9d31 feat: Support videoRole in AdaptationSetCriteria (#8945)
Add preferredVideoRole config
`preferredVariantRole` has been renamed to `preferredAudioRole`

Related to https://github.com/shaka-project/shaka-player/issues/8943
2025-07-31 14:38:09 +02:00
Joey Parrish ddda658d39 chore: Update to the latest Closure Compiler (#8925)
- Bump to Java 21 to support the new compiler.
 - Removes externs now included in the compiler.
 - Removes compiler flag no longer supported.
- Adds onkeystatuseschange to MediaKeySession polyfills (now in compiler
externs).
- This new compiler now triggers a warning in the Closure Library, which
will get fixed in a follow-up to update the library.
2025-07-29 10:36:40 -07:00
Joey Parrish 8320fb6937 docs: Update docs and scripts on dependencies (#8924)
- Make Java version explicit (11) in workflows
 - Update/sync required Java version (11) in all docs and scripts
 - Update/sync required Node version (18) in all docs and scripts
 - Update/sync required Python version (3.5) in all docs and scripts
2025-07-28 23:13:53 -07:00
Álvaro Velad Galván 6a1f793715 feat(Ads): Support clickThroughUrl on interstitials ad manager (#8903) 2025-07-22 18:57:43 +02:00
Álvaro Velad Galván 93117d2ace feat: Add enableAudioGroups config (#8792)
Close https://github.com/shaka-project/shaka-player/issues/8684
2025-06-25 12:46:38 +02:00
Álvaro Velad Galván 03686ac58b docs(UI): Add supported shortcuts (#8768)
Co-authored-by: Theodore Abshire <TheodoreAbshire@Gmail.com>
2025-06-19 21:52:43 +02:00
Álvaro Velad Galván a1cb769aa7 feat: Allow switch between UITextDisplayer and NativeTextDisplayer on runtime (#8736)
We prefer NativeTextDisplayer when using PiP and Fullscreen API of the
video element itself. Otherwise we prefer UITextDisplayer
2025-06-12 12:09:05 +02:00
Joey Parrish 7efd589378 docs: Fix typo (#8598) 2025-05-12 09:35:53 -07:00
xiao 724b0b2a71 feat: new TextDisplayer implementation to allow selecting subtitles via native API and controls (#8520)
Close https://github.com/shaka-project/shaka-player/issues/8519
Fixes https://github.com/shaka-project/shaka-player/issues/8475

Introduce `NativeTextDisplayer` as a replacement of
`SimpleTextDisplayer`. But keep them both work.
Is MSE mode, `NativeTextDisplayer` creates `<track>` elements for text
streams. And listens to change events on both ends to keep them in sync.
In SRC mode, `NativeTextDisplayer` would do nothing, the player uses
original TextTracks instead.

Advantages of `NativeTextDisplayer`:
- Allow text track selection using the browser built-in UI
- Allow text track manipulation using native APIs
- Avoid transferring and processing cues in SRC mode

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2025-05-07 12:58:29 +02:00
Álvaro Velad Galván ba56bae473 feat: Add getChaptersAsync method (#8541)
This allows the segmentIndex to be created if it is not already created
and also allows operation with CastProxy.
2025-05-06 07:55:53 +02:00
v-nova-romas 0692ec1d5c test: Add LCEVC SEI tests (#8209)
This PR adds LCEVC SEI tests to Shaka Player. It plays an LCEVC SEI
content for 6 seconds and checks LCEVCdec public APIs to verify that
LCEVC is enabled and LCEVC data was found in SEI.
2025-04-09 11:50:20 +02:00
loicraux 8cd2c019b8 feat(Offline): Allow no timeout when opening IndexedDB database (#8372)
This is the followup to the previous PR #8366 , to allow to disable the
timeout, as per @avelad
[suggestion](https://github.com/shaka-project/shaka-player/pull/8366#issuecomment-2766660785)
to add this in another PR...

---------

Co-authored-by: Loïc Raux <loicraux@gmail.com>
Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
Co-authored-by: Wojciech Tyczyński <tykus160@gmail.com>
2025-04-01 16:01:24 +02:00
Álvaro Velad Galván 5752a21b0f feat(Offline): Make timeout for opening IndexedDB configurable (#8366)
Close https://github.com/shaka-project/shaka-player/issues/8355
2025-04-01 11:47:33 +02:00
Álvaro Velad Galván 09bf1cf3d7 chore(docs): Update screen resolution detection for Tizen (#8360)
Related to https://github.com/shaka-project/shaka-player/issues/8356
2025-03-31 11:52:53 +02:00
Álvaro Velad Galván 36db472d93 feat(net): Add networking config (#8306) 2025-03-21 10:20:38 +01:00
Álvaro Velad Galván c8747ab0b8 feat: Move caption scaling from css to new textDisplayer.fontScaleFactor config (#8242)
Fixes
https://github.com/shaka-project/shaka-player/pull/8215#issuecomment-2711266477
2025-03-12 13:16:48 +01:00
Gary Katsevman 3c789eca42 docs: update drm robustness docs (#8247)
This change was prompted by #8239 as it was missed during the original
PR https://github.com/shaka-project/shaka-player/pull/7753
2025-03-12 08:35:51 +01:00
David HM Morgan 18695c6c23 feat: Text font scaling customisation ability (#8215)
With reference to #8025, this is a partial proposal to see if this style
of extensible customisation could be favourable to the shaka-player
community:

Proposal for some accessibility options whereby an App builder can
customise subtitle/caption size, with the potential of an App offering
accessibility options for text size.

This style could be used for other text styling attributes in a similar
way, but this is just the first step.

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2025-03-06 13:44:49 +01:00
Álvaro Velad Galván c2ce68fba8 feat: Move shaka.util.FairPlayUtils to shaka.drm.FairPlay (#8217) 2025-03-06 12:43:49 +01:00