Commit Graph

1060 Commits

Author SHA1 Message Date
Álvaro Velad Galván 7bea10c18d fix(CMCD): Fix reset CMCD on unload (#6821)
Fixes https://github.com/shaka-project/shaka-player/issues/6819
2024-06-13 22:35:53 +02:00
Álvaro Velad Galván bf15b24fc2 fix(HLS): Fix AC-4 codec selection in HLS (#6818)
See:
https://ott.dolby.com/OnDelKits/AC-4/Dolby_AC-4_Online_Delivery_Kit_1.5/Documentation/Specs/AC4_HLS/help_files/topics/hls_playlist_c_codec_indication.html
2024-06-13 22:22:34 +02:00
Wojciech Tyczyński 8a678f374d feat(Stats): Add manifestGapCount to stats (#6804)
Resolves #6789
2024-06-13 09:41:57 +02:00
Wojciech Tyczyński 65b0b8dd21 feat(Stats): Add manifestPeriodCount to stats (#6798)
Resolves #6788
2024-06-12 08:37:01 +02:00
Wojciech Tyczyński 309bd72046 fix(DRM): close properly webkit media key sessions (#6775)
On WebOS 3.0 we've noticed an issue in production, where TVs are slowly
starting to throw the following error after a user has watched at least
30+ episodes: `Code: 6006 Category: 6 Severity: 2 ["EME v0.1b key
error",{"errorCode":{"code":1,"systemCode":65535}},"0xffff"]` and can
only be resolved by clearing the app cache, or unplugging the TV.
Further investigation revealed that current workflow, where MSE is
destroyed before DRM Engine causes that old EME implementation is not
able to close session properly.
2024-06-11 08:22:14 +02:00
Wojciech Tyczyński d0d5843d8c feat(Stats): add size of the manifest to player stats (#6783) 2024-06-10 17:26:44 +02:00
Wojciech Tyczyński 081afde932 feat(Stats): count non fatal errors (#6781)
Add `nonFatalErrorCount` to shaka stats.
2024-06-10 13:46:12 +02:00
Wojciech Tyczyński d5b1863157 fix: Fix green screen issue on Edge with mixed content (#6719)
On Edge, to properly play mixed content, we need to insert init segment twice for clear part - once as encrypted, and immediately again as clear. Otherwise we may encounter green screen and errors from video decoder.

Co-authored-by: Joey Parrish <joeyparrish@users.noreply.github.com>
Co-authored-by: Nick Michael <nick-michael@users.noreply.github.com>
Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
Co-authored-by: Casey Occhialini <1508707+littlespex@users.noreply.github.com>
2024-06-07 13:06:13 -07:00
Álvaro Velad Galván 5067d5cf5f feat: Add dontChooseCodecs config (#6759) 2024-06-05 22:04:35 +02:00
Álvaro Velad Galván 93c612392c fix: Do not export functions in getNonDefaultConfiguration (#6739) 2024-06-04 08:11:39 +02:00
Wojciech Tyczyński 97910dc8a9 fix: Support for Zenterio (#6717)
Few bugfixes to support DT Zenterio platform:
- Zenterio seems to have a problem with the EME onKeyStatus event payload (the key statuses map), where the map key ID comes in as empty. This is not correct based on the EME spec:
https://w3c.github.io/encrypted-media/#dom-mediakeysession-keystatuses
- Add polyfills that are used to fix issues with older webkits, same as for older safari browsers
2024-06-03 10:07:04 -07:00
Wojciech Tyczyński 6f84e411ed fix(PS4): Fix serverCertificate defaulted to null (#6716)
For some reason on PS4, the check `val.buffer.constructor == ArrayBuffer` returns `false` when it should be `true` which causes the object cloning to return `null` instead of the array buffer.

Modifying this to `val.buffer instanceof ArrayBuffer` now returns true which fixes the issue. This should work across devices.
Original author: @nick-michael

Co-authored-by: Nick Michael <nick-michael@users.noreply.github.com>
2024-05-31 09:44:04 -07:00
Joey Parrish 8d680e56b4 feat: Add segment URIs to segment-related errors (#6714)
This makes it more feasible to debug and fix transmuxer bugs or other segment append failures.

Closes #6712
2024-05-31 09:41:45 -07:00
Álvaro Velad Galván 082f897701 feat(HLS): Build closed captions metadata on-the-fly (#6700)
Closes https://github.com/shaka-project/shaka-player/issues/1826

Also fixes variable substitution when using `getMediaPlaylistBasicInfo_`
2024-05-30 11:02:01 +02:00
Álvaro Velad Galván 2b358c5c8e fix: Fix COLR box parsing (#6699) 2024-05-30 08:21:34 +02:00
Roger Pales b3cacadd16 fix(DASH): Firefox multi-period/multi-codec bug (#6691)
Fixes #6690
2024-05-29 11:45:47 +02:00
Wojciech Tyczyński 9e26166c40 fix: patch setServerCertificate() on older Tizens & webOS (#6696)
We've tried to enable setting server certificates to optimize playback
start, but turned out that with our widevine certificate shaka was
throwing 6004 error. The issue is not reproducible starting from Tizen
5.5. The same certificate was working properly also on Chrome.
2024-05-29 11:07:17 +02:00
Álvaro Velad Galván 9060ab0a34 feat(DASH): Parse and use target latency (#6683)
Related to https://github.com/shaka-project/shaka-player/pull/6193
Thanks to @gkatsev
2024-05-29 09:45:09 +02:00
Dave Nicholas d38aabf04d feat(DASH): Add MPD Patch support (#5247)
Closes https://github.com/shaka-project/shaka-player/issues/2228

---------

Co-authored-by: Wojciech Tyczyński <wojciech.tyczynski@sky.uk>
2024-05-29 08:11:28 +02:00
Wojciech Tyczyński c541515995 fix: Ban smooth codec switching on Tizen 5 & 6 (#6686)
My recent tests on using smooth codec switch on Tizen 6.0 unfortunately
failed. Ban this platform together with Tizen 5.
2024-05-28 12:34:37 +02:00
Álvaro Velad Galván a219e2f337 fix: Fix default value of liveSyncMinPlaybackRate (#6685)
The previous default value served no purpose and was a mistake in the PR
that added the functionality.
2024-05-28 12:33:54 +02:00
Álvaro Velad Galván 64e4fd8e92 fix: Add timeout to fullyLoaded in src= (#6676)
Fixes https://github.com/shaka-project/shaka-player/issues/6664
2024-05-28 09:35:46 +02:00
Wojciech Tyczyński e0eeb5b77d feat: add config to clear decodingInfo cache on unload (#6678)
On PlayStation, cached `MediaKeySystemAccess` objects may corrupt after
several playbacks, and they are not able anymore to properly create
`MediaKeys` objects. To prevent it, clear the cache after each playback.
Make it configurable via `streaming.clearDecodingCache`.
2024-05-27 14:10:33 +02:00
Álvaro Velad Galván 329d42ad56 feat: Parse colorGamut and use it in MCap (#6663) 2024-05-24 08:59:06 +02:00
Álvaro Velad Galván f3741737ac feat(ABR): Add cacheLoadThreshold config (#6657)
Close https://github.com/shaka-project/shaka-player/issues/6623
2024-05-23 18:28:55 +02:00
Álvaro Velad Galván e7b893b74e feat: Add config for add headers to license requests (#6650)
Co-authored-by: Joey Parrish <joeyparrish@google.com>
2024-05-23 09:45:25 +02:00
Álvaro Velad Galván 520930c665 feat(Ads): Support CS on devices that don't support multiple media elements (#6575)
Closes https://github.com/shaka-project/shaka-player/issues/2792
2024-05-23 09:25:33 +02:00
Álvaro Velad Galván dda713aa71 feat: Optionally force HTTP content URIs (#6649)
This may be necessary on older devices where not all certificates are
present.
2024-05-23 04:16:18 +02:00
Álvaro Velad Galván 82c5149375 feat(DASH): Add MPD Chaining support (#6641)
Close https://github.com/shaka-project/shaka-player/issues/3926
2024-05-21 09:57:16 +02:00
Álvaro Velad Galván 11272a3fee fix: Disallow Object.fromEntries in Tizen (#6634) 2024-05-17 16:18:03 -07:00
Álvaro Velad Galván 907e6bab28 feat: Add getNonDefaultConfiguration (#6620) 2024-05-17 09:25:49 +02:00
Álvaro Velad Galván 0a4c9d1973 fix: Fix Opus support in Safari (#6607)
In Safari:

```
> MediaSource.isTypeSupported('audio/mp4;codecs=Opus')
< true
> MediaSource.isTypeSupported('audio/mp4;codecs=opus')
< false
> MediaSource.isTypeSupported('audio/webm; codecs="Opus"')
< false
> MediaSource.isTypeSupported('audio/webm; codecs="opus"')
< true
```
2024-05-14 17:46:39 +02:00
Álvaro Velad Galván f1d620cb23 fix: Enable SMOOTH codec switching on Fuchsia cast devices (#6609) 2024-05-14 17:44:36 +02:00
Álvaro Velad Galván 0206e5af8e feat: Add a new setting to allow remove based on channels count (#6600)
Close https://github.com/shaka-project/shaka-player/issues/6491
2024-05-14 10:28:06 +02:00
Joey Parrish ddabe93eaf test: Fix Fuchsia background-video errors (#6579)
In some cases, Fuchsia Chromecast tests will fail with the error: "The
play() request was interrupted because video-only background media was
paused to save power."

This resolves the issue by ensuring tests run un-muted on that platform,
based on this Chrome code, which indicates the "paused to save power"
logic does not activate when sound is playing:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/platform/media/web_media_player_impl.cc;l=3535;drc=d23075f3

This also fixes two places in our tests where the `createVideoElement()`
was bypassed. This should always be used, because it is a central place
to apply workarounds such as this.
2024-05-10 23:21:37 -07:00
Joey Parrish 5da5de2800 feat: Expose the maximum hardware resolution through probeSupport() (#6569)
This makes it easier to debug hardware resolution issues through the
support page, which can now show hardware resolution. To show the
support page on Chromecast devices, use chromecast-webdriver-cli.
2024-05-09 10:43:37 -07:00
Joey Parrish 4498dcde28 fix: Do not assume 1080p Cast devices, some are 720p (#6562) 2024-05-08 18:44:34 -07:00
Joey Parrish 9c1e621c7a test: Fix test environment access to cast.__platform__ (#6553)
This shim requires the latest version of the Chromecast WebDriver Server's receiver app, which can receive messages and proxy async access to `cast.__platform__`.
2024-05-08 14:15:09 -07:00
Álvaro Velad Galván ed939872e1 feat: Add response URI to BAD_HTTP_STATUS error (#6561)
Closes https://github.com/shaka-project/shaka-player/issues/2969
2024-05-08 20:17:36 +02:00
Álvaro Velad Galván 61ce88b2f5 fix: Issue with compiler minifying webOS device properties (#6558)
Fixes https://github.com/shaka-project/shaka-player/issues/6533

The original author is: @stuartflanagan 
The original PR is:
https://github.com/shaka-project/shaka-player/pull/6554
2024-05-08 16:09:49 +02: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
Álvaro Velad Galván d4940681dd fix: Fix tXml conversion to DOMElement (#6538)
Fixes https://github.com/shaka-project/shaka-player/issues/6524
2024-05-06 20:02:50 +02:00
Wojciech Tyczyński ab26de4a60 test: Add error listener & ec3 test in codec switching integration test (#6486)
Adding EC-3 test case for codec switching integration suite, as some
platforms, i.e. Tizen 3 do not support Opus

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2024-05-06 16:40:55 +02:00
MichaelSweden f337e06bda fix: Handle non existing navigator.platform string (#6517) (#6518)
This fix will make it possible to use v4.8 in Cobalt browser. The
problem is that navigator.platform doesn't exist in Cobalt browser.

Fixes https://github.com/shaka-project/shaka-player/issues/6517

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2024-04-30 16:39:38 +02:00
Álvaro Velad Galván 2fc0c935c4 feat(DASH): Add manifest.dash.enableFastSwitching config (#6500) 2024-04-29 21:22:29 +02:00
Álvaro Velad Galván a57002b486 fix: Fix inefficient buffering behavior with negative trick play rate (#6489)
Fixes https://github.com/shaka-project/shaka-player/issues/1958
2024-04-29 11:56:47 -07:00
Álvaro Velad Galván 0e00d6551f fix: Fix flac detection in Safari (#6497) 2024-04-29 11:54:52 -07:00
Álvaro Velad Galván 0873d1ecdd fix: Fix deprecation warning for manifestPreprocessor that is always logged (#6496)
Fixes https://github.com/shaka-project/shaka-player/issues/6488
2024-04-29 12:40:31 +02:00
Álvaro Velad Galván c6c39dfafc feat: Add encryptionScheme to shaka.extern.DrmInfo (#6480)
Related to https://github.com/shaka-project/shaka-player/issues/1419
2024-04-26 06:49:15 +02:00
Álvaro Velad Galván 95c6a7dda3 feat(UI): UI support for VR content (#6450)
Co-authored-by: Joey Parrish <joeyparrish@google.com>
2024-04-25 13:43:32 +02:00