Commit Graph

4406 Commits

Author SHA1 Message Date
Wojciech Tyczyński b752f779cf chore: Reduce same conditions in StreamingEngine (#8709) 2025-06-06 16:20:03 +02:00
Wojciech Tyczyński e8a8ad9fab perf(net): Do not parse headers twice in XHR plugin (#8710)
Continuation of #8618
2025-06-06 16:19:54 +02:00
Álvaro Velad Galván c15e524705 fix: Don't sort TS samples (#8708)
Fixes https://github.com/shaka-project/shaka-player/issues/8707
2025-06-06 12:14:33 +02:00
Álvaro Velad Galván 53db6554f3 perf: Simplify getAudioTracks internally when using src= (#8703) 2025-06-06 09:34:14 +02:00
Álvaro Velad Galván 1c4a20681c fix: Fix bad assert on DeviceFactory (#8705) 2025-06-05 21:34:46 +02:00
Álvaro Velad Galván 79f9960374 docs: Fix texttrackvisibility and trackschanged documentation (#8704) 2025-06-05 21:34:29 +02:00
Álvaro Velad Galván cc98d405af fix: Fix ts parser when using B-frames (#8696)
Fixes https://github.com/shaka-project/shaka-player/issues/8691
2025-06-05 13:48:29 +02:00
Álvaro Velad Galván aab4c27a51 perf: Simplify selectAudioTrack internally (#8687)
The number of internal operations has been reduced and the function is
now much faster.
2025-06-05 10:21:59 +02:00
Álvaro Velad Galván 863aa073a4 fix(Ads): Fix interstitials when not using multiple media elements (#8681) 2025-06-04 15:49:36 +02:00
Álvaro Velad Galván ff1ef7c262 feat: Add HDR detection in Tizen and WebOS (#8680)
Close #8441

---------

Co-authored-by: Wojciech Tyczyński <tykus160@gmail.com>
2025-06-04 12:34:59 +02:00
Álvaro Velad Galván 642cecfc0e fix: Fix PlayReady support on Chromium Windows (#8683)
Related to https://github.com/shaka-project/shaka-player/pull/8682
2025-06-04 12:34:07 +02:00
Shaka Bot 13abbab7dc chore(main): release 4.15.0 (#8260) 2025-06-03 16:00:19 +02:00
Wojciech Tyczyński 6b976dbcb9 fix(DASH): Fix infinite buffering on end of content (#8677)
Fixes #8672
2025-06-03 11:36:31 +02:00
David Pfister b8ff4e9412 fix: Remove active audio channel count from default pref based criteria (#8674)
Closes https://github.com/shaka-project/shaka-player/issues/8633

Active audio channel count will no longer dictate which variant is
selected in the default preference based criteria implementation
2025-06-02 17:29:08 +02:00
Wojciech Tyczyński 970d7756ea feat: Add Device API (#8210)
The goal is to simplify and abstract feature logic detection. Currently
lots of places depend on various calls to `shaka.util.Platform` and
mainteinance of this is hard & not easy to read.

By introducing device API ideally rest of the player logic would look
into device features instead of directly checking platform. Additionally
we can more easily cache needed values, so we won't have to parse user
agent several times anymore.

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2025-06-02 13:46:40 +02:00
Álvaro Velad Galván 3daeac65cd feat: Add queue manager (#8649)
Close #8508

---------

Co-authored-by: Wojciech Tyczyński <tykus160@gmail.com>
2025-05-29 12:41:30 +02:00
Álvaro Velad Galván 0feee21e05 chore(CMCD): Preparation for CMCDv2 response mode (#8659) 2025-05-29 11:39:58 +02:00
Wojciech Tyczyński 03fd8f9368 chore(DRM): Remove getMediaKeySessions() (#8661) 2025-05-28 18:09:38 +02:00
Álvaro Velad Galván 73843fb7fc chore(CMCD): Preparation for CMCDv2 response mode (#8657) 2025-05-28 16:08:18 +02:00
Wojciech Tyczyński 784246b76f perf: Optimize DRM compatibility check across streams (#8652)
Do not create new DRM Info objects just for compatibility checks.
2025-05-28 12:57:34 +02:00
Álvaro Velad Galván 602515c6f7 fix: Fix metadata timestamp when using raw segments (#8654)
Related to https://github.com/shaka-project/shaka-player/issues/8653
2025-05-28 10:53:10 +02:00
Álvaro Velad Galván c19cbafc10 fix(net): Fix "Payload length does not match range requested bytes" when using open end (#8651) 2025-05-27 18:16:56 +02:00
Álvaro Velad Galván 6efaf5310b feat(Preload): Allow use custom config when creating a PreloadManager (#8647) 2025-05-27 09:29:35 +02:00
Wojciech Tyczyński 769ced524d fix: Use proper method for checking is object an array (#8644) 2025-05-26 17:03:44 +02:00
Wojciech Tyczyński 34827b4cb2 perf: Init source buffers synchronously (#8646) 2025-05-26 16:26:11 +02:00
Wojciech Tyczyński c81e9a8c12 perf: Remove redundant collection in Streaming Engine (#8645) 2025-05-26 16:23:18 +02:00
Álvaro Velad Galván 81b2ff5390 fix: Fix dispatch complete event when the percentage is greater than 100 (#8643) 2025-05-26 12:58:37 +02:00
Álvaro Velad Galván ccd31aa9d9 fix(HLS): Fix disableAudio and disableVideo when loading a media playlist (#8642) 2025-05-22 16:57:50 +02:00
Álvaro Velad Galván f86245c9cc feat: Add isVideoOnly method (#8641)
This new method is used in the UI to remove audio-related components
when they are not needed.
2025-05-22 16:42:21 +02:00
Wojciech Tyczyński c6b53b38dc fix(HLS): Do not skip DateRanges based on ID (#8638)
According to HLS spec, there might be few date ranges with the same ID,
which complement each other (i.e. SCTE35-IN / SCTE35-OUT).

If date ranges are true duplicates (i.e. due to live update) it will be
filter out anyway by `RegionTimeline` logic.
2025-05-22 13:07:44 +02:00
Álvaro Velad Galván 712738df81 chore: Useless warning on UITextDisplayer (#8637)
Eg: fullscreen is not supported on Tizen, but we want use
UITextDisplayer
2025-05-22 12:42:43 +02:00
Álvaro Velad Galván b9876625d3 fix: Disable translate of cues when using UITextDisplayer (#8636) 2025-05-22 12:04:41 +02:00
Wojciech Tyczyński 9f82d4f6bf chore: Simplify metadata event handling (#8632) 2025-05-21 16:46:43 +02:00
Álvaro Velad Galván 952590e780 fix: Fix getAudioTracks when using remote playback (#8630) 2025-05-21 13:24:15 +02:00
Álvaro Velad Galván dabb562ad7 fix: Allow use isLive, seekRange and isAudioOnly when using remote playback (#8629) 2025-05-21 12:40:42 +02:00
Álvaro Velad Galván 79e62bca03 fix: Don't return video tracks when using remote playback (#8627) 2025-05-21 11:57:55 +02:00
Álvaro Velad Galván ce9db86da4 fix: Avoid reset MSE engine when using remote playback (#8626) 2025-05-21 11:57:23 +02:00
Álvaro Velad Galván e1673cd63a fix: Try to reset MSE on STREAMING_NOT_ALLOWED error (#8625) 2025-05-21 11:36:38 +02:00
Wojciech Tyczyński b2595ced9e fix(WebOS): Do not throw error during parsing ID3 (#8623)
`TypedArray.prototype.indexOf` is available since Chrome 45, which means
it's not implemented on WebOS 3 (using Chromium 38). As we extensively
use this method in `Id3Utils` it leads to fatal errors on this platform
whenever we encounter ID3 tags.
For completeness and to prevent errors in the future, I also added
implementations of connected methods: `lastIndexOf` & `includes`.
2025-05-21 10:55:51 +02:00
David Pfister ce830d71fa feat: Add additional codec & channel count configs to Adaptation Set Criteria (#8597)
Close https://github.com/shaka-project/shaka-player/issues/8587
2025-05-21 10:13:47 +02:00
Álvaro Velad Galván edf5bdcb79 chore(net): Add log about "Payload length does not match range requested bytes" (#8620) 2025-05-20 13:56:49 +02:00
Álvaro Velad Galván cd9c8504a9 perf(net): Avoid parsing headers twice (#8618) 2025-05-20 13:56:39 +02:00
Wojciech Tyczyński ffd048c98d fix: Do not fire metadataadded event for duplicated cues (#8617) 2025-05-20 11:22:15 +02:00
Álvaro Velad Galván a53f82b07a fix(HLS): Fix MP4 data segment being parsed as MPEG2-TS (#8612)
Fixes https://github.com/shaka-project/shaka-player/issues/8610
2025-05-19 13:34:41 +02:00
Vincent Derks 394ed7bed7 fix: Fix garbage-collection issue in safari on mediaCapabilities polyfill (#8613)
Fixes https://github.com/shaka-project/shaka-player/issues/8607
Fixes https://github.com/shaka-project/shaka-player/issues/8590
2025-05-19 13:30:06 +02:00
Álvaro Velad Galván 5413b5fc4b fix: Detect screen change to update ABR according HDR vs SDR (#8606) 2025-05-15 08:01:05 +02:00
Álvaro Velad Galván e4fcc943c0 feat: Add canupdatestarttime to allow update the startTime safely (#8604)
Close https://github.com/shaka-project/shaka-player/issues/8506

Example of use:

```
this.player_.addEventListener('canupdatestarttime', () => {
  this.player_.updateStartTime(this.player_.seekRange().start + 300);
});
```
2025-05-14 07:28:05 +02:00
Wojciech Tyczyński 2a063ffad3 chore: Move isBufferedToEnd to Playhead (#8603) 2025-05-13 14:48:22 +02:00
Álvaro Velad Galván 3c32f7a049 fix(DASH): Inconsistent DRM across periods when using clearkeys (#8602)
Fixes #8559
2025-05-13 13:50:08 +02:00
Álvaro Velad Galván 892be53759 fix: Only check key status changes when drm engine is available (#8589) 2025-05-13 09:09:40 +02:00