Commit Graph

108 Commits

Author SHA1 Message Date
Shaka Bot 12aeb5b35a chore(main): release 5.0.0 (#9028) 2026-02-06 13:05:17 +01:00
Álvaro Velad Galván 12b9a9ff60 feat!: Remove codem-isoboxer dependency (#9608)
This was only used in MSS, and support for it has been discontinued.
2026-01-27 06:52:45 +01:00
Álvaro Velad Galván 1c696e40ac build: Replace esprima by @babel/parser (#9493)
Close https://github.com/shaka-project/shaka-player/issues/8056
2025-12-11 14:59:58 +01:00
dependabot[bot] 5a7cd5b450 build(deps-dev): Bump js-yaml from 4.1.0 to 4.1.1 (#9391)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md">js-yaml's
changelog</a>.</em></p>
<blockquote>
<h2>[4.1.1] - 2025-11-12</h2>
<h3>Security</h3>
<ul>
<li>Fix prototype pollution issue in yaml merge (&lt;&lt;)
operator.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nodeca/js-yaml/commit/cc482e775913e6625137572a3712d2826170e53a"><code>cc482e7</code></a>
4.1.1 released</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/50968b862e75866ef90e626572fe0b2f97b55f9f"><code>50968b8</code></a>
dist rebuild</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/d092d866031751cb27c12d93f3e2470ad74d678b"><code>d092d86</code></a>
lint fix</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/383665ff4248ec2192d1274e934462bb30426879"><code>383665f</code></a>
fix prototype pollution in merge (&lt;&lt;)</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/0d3ca7a27b03a6c974790a30a89e456007d62976"><code>0d3ca7a</code></a>
README.md: HTTP =&gt; HTTPS (<a
href="https://redirect.github.com/nodeca/js-yaml/issues/678">#678</a>)</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/49baadd52af887d2991e2c39a6639baa56d6c71b"><code>49baadd</code></a>
doc: 'empty' style option for !!null</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/ba3460eb9d3e4478edcbc29edabe17c2157fc9ce"><code>ba3460e</code></a>
Fix demo link (<a
href="https://redirect.github.com/nodeca/js-yaml/issues/618">#618</a>)</li>
<li>See full diff in <a
href="https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=js-yaml&package-manager=npm_and_yarn&previous-version=4.1.0&new-version=4.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/shaka-project/shaka-player/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-14 17:34:37 +01:00
dependabot[bot] 814f0accfa build(deps-dev): Bump min-document from 2.19.0 to 2.19.1 (#9381)
Bumps [min-document](https://github.com/Raynos/min-document) from 2.19.0
to 2.19.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Raynos/min-document/commit/4490b40cbb19feb26b09f217690a0969d1a89d51"><code>4490b40</code></a>
2.19.1</li>
<li><a
href="https://github.com/Raynos/min-document/commit/2cd587153733d3346365df6033067f64f07690f5"><code>2cd5871</code></a>
update ignore</li>
<li><a
href="https://github.com/Raynos/min-document/commit/fe32e8da464cef622528725f647029a8fd7d95a6"><code>fe32e8d</code></a>
Merge pull request <a
href="https://redirect.github.com/Raynos/min-document/issues/55">#55</a>
from jameswassink/fix/prototype-pollution-removeAttrib...</li>
<li><a
href="https://github.com/Raynos/min-document/commit/6c5f31aa57e2122fcedd4c7eae58b82f477e09f5"><code>6c5f31a</code></a>
Better prototype pollution fix</li>
<li><a
href="https://github.com/Raynos/min-document/commit/0d4e8192ef723fb869645256102a56ed922efd68"><code>0d4e819</code></a>
Fix prototype pollution in removeAttributeNS</li>
<li><a
href="https://github.com/Raynos/min-document/commit/bf7b69130a364b5c6fcb8e623bffe43054994c65"><code>bf7b691</code></a>
Update package.json</li>
<li><a
href="https://github.com/Raynos/min-document/commit/1b5402dcd5df3bf2575e71d463baa44dc2c05571"><code>1b5402d</code></a>
Merge pull request <a
href="https://redirect.github.com/Raynos/min-document/issues/49">#49</a>
from PixnBits/patch-1</li>
<li><a
href="https://github.com/Raynos/min-document/commit/1db88fb7bd1e8d4787ddc032349e389bf2679dcf"><code>1db88fb</code></a>
Update license metadata</li>
<li>See full diff in <a
href="https://github.com/Raynos/min-document/compare/v2.19.0...v2.19.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=min-document&package-manager=npm_and_yarn&previous-version=2.19.0&new-version=2.19.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/shaka-project/shaka-player/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-14 17:34:07 +01:00
Álvaro Velad Galván 8baedf20bb chore: Update google-closure-compiler-java (#9312) 2025-10-30 10:58:49 +01:00
Shaka Bot 7bd1d5daf3 chore(main): release 4.16.0 (#8685) 2025-08-26 14:40:11 +02:00
Álvaro Velad Galván 84f9f2bfd5 chore: Update lcevc_dec.js to 1.3.0 (#9003)
Changelog:
https://github.com/v-novaltd/LCEVCdecJS/commit/50e4f35c7d82b1b1a9cca434ccca544622f38e11
2025-08-21 08:52:34 +02:00
dependabot[bot] ada14d6f76 build(deps): bump tmp from 0.2.1 to 0.2.4 (#8959) 2025-08-07 10:59:32 -07:00
Joey Parrish 2c8ecb7423 chore: Update Closure Library to latest + patches (#8931)
Two patches:
 - Fix warning in base.js triggered by the latest compiler update
- Revert default setting of ENABLE_DEBUG_LOADER to previous value to fix
uncompiled mode
2025-07-29 13:30:07 -07: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 68134340f3 test: Fix msedgedriver install (#8881)
Update msedgedriver CDN URL, which recently changed
2025-07-16 12:47:09 -07:00
Álvaro Velad Galván 83604c3037 chore: Move eme-encryption-scheme-polyfill to the Shaka Player repo (#8818)
We want to apply several optimizations to MCap and Shaka management,
which makes everything easier if the code is in this repo.
2025-07-01 13:24:28 +02:00
Joey Parrish 4623009f5d chore: Update jsdoc to tolerate trailing commas (#8819)
jsdoc doesn't tolerate trailing commas in record types. This is
frustrating because:

- It creates larger diffs to skip trailing commas when you add new fields
- It requires a style in typedefs that is the opposite of the style rules in actual code

This updates our jsdoc fork
(https://github.com/joeyparrish/jsdoc/commit/a1e61a4e53564ddf173767a33f6c57c681fde79a)
and its parser dependency "catharsis"
(https://github.com/joeyparrish/catharsis/commit/afcfb1c1dbbc582e2f129b5f1edeb6bd34c324d7)
to tolerate trailing commas when parsing record types.

Closes #1236
2025-06-30 12:43:14 -07:00
Shaka Bot 13abbab7dc chore(main): release 4.15.0 (#8260) 2025-06-03 16:00:19 +02:00
Álvaro Velad Galván e3a438baa0 fix: Fixes eme-encryption-scheme-polyfill, null encryptionScheme is valid (#8599)
Fixes #8596
2025-05-12 20:42:22 +02:00
Álvaro Velad Galván e54d2dc5ad fix: Update eme-encryption-scheme-polyfill (#8546)
Fixes https://github.com/shaka-project/shaka-player/issues/8538
2025-05-05 17:50:34 +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
Wojciech Tyczyński 51ff82f204 build: Migrate to stylistic eslint plugin (#8298)
Fixes #8278
Migrates deprecated rules from `eslint-config-google` and our rules as
well to stylistic.
Additionally removes broken `eslint-disable` python check and replaces
with eslint `reportUnusedDisableDirectives` option.
2025-03-19 16:18:30 +01:00
Álvaro Velad Galván 8d6ae344f8 ci: Fix Firefox macOS hang (#8263)
To fix this, update to a newer version of karma-local-wd-launcher which
fixes it.
2025-03-13 12:16:33 +01:00
Shaka Bot 0361cee2e5 chore(main): release 4.14.0 (#7962) 2025-03-12 15:00:57 +01:00
Álvaro Velad Galván bfc4c49ba0 chore: Update karma-local-wd-launcher (#8171) 2025-02-26 14:31:12 +01:00
Wojciech Tyczyński 828079db52 chore: Improve karma launcher error resiliency (#8127) 2025-02-20 11:20:38 +01:00
Álvaro Velad Galván 046e4aabc0 chore: Update LCEVC decoder to latest version 1.2.0 (#8047) 2025-02-10 13:31:17 +01:00
Álvaro Velad Galván 45c37d37c9 chore: Update eme-encryption-scheme-polyfill to v2.2.1 (#7975) 2025-01-29 13:30:50 +01:00
Shaka Bot 34395b912c chore(main): release 4.13.0 (#7597) 2025-01-23 13:50:18 +01:00
Wojciech Tyczyński 82f7eafdc5 build: Add new JSDoc rules to ESLint (#7897)
Adds a replacement for removed JSDoc checks from ESLint v9.
Additionally fixes lots of issues found in the JSDoc, such as:
- missing `@param`/`@return` annotations
- bad formatting
- params order
- param name in the same line as type definition (tried to disable it,
but it was causing other issues and we didn't have lots of places with
such formatting)

Minor fixes in code found by Closure Compiler after fixing JSDoc are
also included.
2025-01-17 09:28:19 +01:00
Wojciech Tyczyński 510962fc38 build: Upgrade ESLint to v9 and migrate config (#7887)
Migrates old config file to new flat config recommended by ESLint now.
Removes jsdoc rules, as they are not available anymore in ESLint.
Instead, if we want to have them, we should use `eslint-jsdoc-plugin`.
2025-01-16 10:58:03 +01:00
vlazh 7ef0f924c3 feat: Add support for WisePlay DRM (#7854)
Some info:
https://drmnow.pro/wiseplay/

https://developer.huawei.com/consumer/en/doc/Media-Guides/client-dev-0000001050040000

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2025-01-09 16:18:23 +01:00
Wojciech Tyczyński 51765e9693 build: Change spellchecking tool and fix spelling mistakes (#7765)
Fixes #7693
2024-12-20 12:27:05 +01:00
Álvaro Velad Galván 137f2562f0 fix: Fix CBCS support in recent WebOS (#7647)
Fixes https://github.com/shaka-project/shaka-player/issues/7477
2024-11-22 09:35:53 +01:00
Joey Parrish f9647083ad fix: Fix cast support for HLG HDR (#7632)
Also document what is recognized, how, and why those strings are used.
2024-11-19 15:13:11 -08:00
Shaka Bot c0d473fae3 chore(main): release 4.12.0 (#7257) 2024-11-13 10:51:57 +01:00
dependabot[bot] 6dc0e6f6bb build(deps): bump cookie and socket.io (#7411) 2024-10-10 07:59:48 -07:00
dependabot[bot] d6cd65f18a build(deps): bump body-parser from 1.19.2 to 1.20.3 (#7288) 2024-09-12 09:35:18 +02:00
Shaka Bot 3dcff750e5 chore(main): release 4.11.0 (#6950) 2024-09-04 10:35:54 +02:00
Joey Parrish c97e689043 chore: Update AbortSignal polyfill for new compiler (#7176)
This upgrades the compiler and reworks the AbortSignal polyfill to match
the new compiler externs for that class. This is important to make Shaka
Player compatible with the latest compilers in use inside Google.

Note that the Closure compiler is deprecated, so this should be our
final upgrade. We will some day move to TypeScript.

This does _not_ update the Closure library, because the latest version
causes failures we don't understand in the loading mechanism in
test/test/boot.js.
2024-08-20 11:19:46 -07:00
dependabot[bot] 780a3d856e build(deps): bump phin and jimp (#7126) 2024-08-01 10:43:11 -07:00
Joey Parrish 39a566d0a5 chore: Upgrade/unfork less-plugin-clean-css (#7125)
This was forked in 2022 to fix a vulnerability, and the fix was only
just merged.
2024-08-01 10:38:31 -07:00
Shaka Bot 4c167e9093 chore(main): release 4.10.0 (#6724) 2024-07-01 12:24:12 +02:00
dependabot[bot] 6cd17d2163 chore(deps): bump ws, engine.io and socket.io-adapter (#6856) 2024-06-18 14:09:48 -07:00
dependabot[bot] 1f579bb2cc chore(deps-dev): bump braces from 3.0.2 to 3.0.3 (#6809) 2024-06-12 22:13:23 -07:00
Shaka Bot 30ac8c0025 chore(main): release 4.9.0 (#6498) 2024-05-30 13:57:46 +02:00
Joey Parrish c48e4351e7 test: Flatten test environment for Chromecast (#6640)
Chromecast WebDriver Server and Karma both used iframes, which caused
complications when testing on Chromecast. The test environment couldn't
directly access `cast.__platform__` APIs, and more recently stopped
being able to access EME due to presumed mistakes in the platform's
implementation of iframe permission policies.

This resolves the issue by removing iframes at both levels.

- Flatten Karma's environment using "useIframe: false" and "runInParent: true"
- Remove test flag --single-run; not supported in combination with Karma's "useIframe: false" option
- Add a test boot file to force closure to use dynamic script tags instead of document.write; required with Karma's "useIframe: false" option
 - Adjust screenshot tests not to assume an iframe host
 - Fix compatibilty between Tizen and Karma's useIframe:false
- https://github.com/joeyparrish/karma/commit/32e87357a0ca4bf5d3de6d78d80dae2d065fd407
- https://github.com/joeyparrish/karma/commit/f2132cc2cf72f9408fbce2a20b5a21999f1e9416
2024-05-22 16:59:56 -07:00
Joey Parrish bbf54d27de test: Fix encryption scheme checks in tests (#6619)
- Upgrade the encryption scheme polyfill to a version that is resilient
against multiple copies (one in compiled shaka library, one in source
form).

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2024-05-21 12:32:22 +02:00
Joey Parrish ec4bc1ddeb test: Fix Chromecast testing in lab (#6643)
These changes are necessary for compatibility with Chromecast WebDriver Server v2.

 - Fix a bug in Karma's flat environment support (joeyparrish/karma@9875e98)
 - Add a test boot file to load CAF on Chromecast devices; required by Chromecast WebDriver Server v2's redirect mode (flat environment at that level)
 - Also load this cast-boot file in support.html
 - Rename/reorganize Cast-related externs, which were messy even before the addition of CAF
 - Remove proxy-cast-platform.js; no longer needed as we move to flatten the test environment
 - Ignore error events with "null" error; these appear on Linux Chromecasts, only since including CAF
 - Ignore error events that are actually strings; these appear on Linux Chromecasts, only since including CAF
 - Disable Fuchsia in the lab until autoplay issues can be resolved
2024-05-20 15:14:49 -07:00
Joey Parrish 3c2fd55b8f test: Upgrade Karma to fork with additional fixes (#6639)
The only fix right now is a minor one:

  https://github.com/joeyparrish/karma/commit/d98765e43fe801b35452fdb6cab3d1d0bac519a2

With the message:

> fix: Fix message event exception
>
> Message events may not have an origin, and they may not have an
> originalEvent field.  This happens in particular when loading Karma
> and the Chromecast SDK on a Chromecast.  An event arrives from the
> platform with neither of these properties.
>
> This fixes the error by checking for originalEvent before accessing
> a property of it.

To see a diff of all current fixes at any time, see:

  https://github.com/karma-runner/karma/compare/master...joeyparrish:karma:shaka-fixes
2024-05-18 01:27:37 -07:00
Joey Parrish 7fc6ad227b test: Upgrade Karma to latest (#6636)
Karma is no longer being bug-fixed or maintained. This upgrades to the
latest version as a prelude to moving to a fork with additional
bugfixes.
2024-05-17 22:25:12 -07:00
Joey Parrish 8a237abe05 test: Upgrade UA parser to differentiate Chromecasts (#6568)
This uses a preview of https://github.com/faisalman/ua-parser-js/pull/724 to differentiate between Chromecast models in Karma.
2024-05-09 11:21:48 -07:00
Álvaro Velad Galván ec29f82592 feat: Check encryptionScheme against MCap (#6484)
Closes https://github.com/shaka-project/shaka-player/issues/1419
2024-05-08 11:10:56 +02:00