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
- 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.
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.
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.
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.
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`.
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.
- 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>
Features for LCEVC Decoder integration into Shaka player:
Initially in this PR we had changes to shaka player to accommodate
changes for iOS fullscreen functionality. But now we have a way to do
that inside the scope of lcevc decoder. So the only change in this PR is
the version bump of the lcevc decoder library.
The issue we had in less.js v4 has since been resolved. This updates to
less.js v4.2.0, which includes the underlying fix from its dependency,
needle v3.1.0.
Unforking also resolves CI issues where gitpkg.now.sh temporarily fails
to load, causing the whole test run to fail before it can start.
This updated version of karma-local-wd-launcher incorporates
https://github.com/shaka-project/karma-local-wd-launcher/pull/65 to
supply a path to the Edge binary on all platforms. This fixes local
testing and GitHub CI testing of Edge.
Though the tests run once more, there are still some test failures that
need to be dealt with.