Commit Graph

3950 Commits

Author SHA1 Message Date
Álvaro Velad Galván 9e2b15ead4 fix(HLS): Fix subtitle timing (#7625)
Simplifies subtitle management for sequence mode and segments mode 
Runs subtitle tests in segments mode as well (Tizen 3.0)

Fixes: https://github.com/shaka-project/shaka-player/issues/7447
2024-11-19 18:36:49 +01:00
Álvaro Velad Galván 67cbe9915d chore: Test Widevine Experiment (#7627)
Related to https://github.com/shaka-project/shaka-player/issues/7613
2024-11-19 18:36:35 +01:00
Wojciech Tyczyński d407d159c6 fix: Abort operations only once (#7624) 2024-11-19 14:43:32 +01:00
Álvaro Velad Galván 7401adf912 fix(Ads): Disable interstitials when playing an interstitials (#7621) 2024-11-19 11:17:13 +01:00
Álvaro Velad Galván 2260aa9cf6 feat: Update usage of minBufferTime according to the DASH spec (#7616)
Related to
https://github.com/shaka-project/shaka-player/issues/7602#issuecomment-2479518970

From 23009-1:

The value of the minimum buffer time does not provide any instructions
to the client on how long
to buffer the media. The value however describes how much buffer a
client should have under
ideal network conditions. As such, MBT is not describing the burstiness
or jitter in the network,
it is describing the burstiness or jitter in the content encoding.
Together with the BW value, it is
a property of the content. Using the "leaky bucket" model, it is the
size of the bucket that makes
    BW true, given the way the content is encoded
2024-11-19 10:47:18 +01:00
theodab f277f2c8af fix: Silence aborted errors from PreloadManager. (#7619)
Closes #7618
2024-11-19 01:15:23 -08:00
Wojciech Tyczyński 0db5813bbe feat: Add downloadcompleted event description (#7615)
Missing piece of #7609
2024-11-18 11:36:46 +01:00
Wojciech Tyczyński cd6aae745f fix: Disable smooth codec switch on Tizen 8 (#7614)
It seems all Tizen versions do not support smooth codec switch for now.

Additionally I removed webOS versions listed here, as they don't have
`SourceBuffer.changeType()` API anyway. They're available since Chrome
70, but webOS 5 uses Chrome 68.
And rephrased docs a bit.
2024-11-18 10:48:45 +01:00
vlazh 13186bd403 feat: Add 'downloadcompleted' event (#7609)
Closes #7608
2024-11-18 08:41:24 +01:00
vlazh 0fc5316c5a fix: Calculate timeToFirstByte before fire the event 'downloadheadersreceived' (#7605)
Fixes #7604
2024-11-15 15:43:37 +01:00
Álvaro Velad Galván d8a14b0a45 fix(DASH): Fix playback after DASH period eviction (#7603)
Fixes https://github.com/shaka-project/shaka-player/issues/7516 in a
simpler way

Reverts
https://github.com/shaka-project/shaka-player/commit/5eff0384d04e22a971336c90aae0a83db2a451d5
Reverts
https://github.com/shaka-project/shaka-player/commit/037193c2d601e02c8611a4527dcb04d32adbbd27
2024-11-15 13:23:40 +01:00
Álvaro Velad Galván 3a83e7693f feat: Add new error code for missing EME support (#7596)
Close https://github.com/shaka-project/shaka-player/issues/4495
2024-11-14 18:41:08 +01:00
Álvaro Velad Galván c1e26eafe6 fix(Ads): Fix VAST_INVALID_XML error code (#7593) 2024-11-14 12:57:36 +01:00
ncocaign 5eff0384d0 fix(DASH): Fix playback after DASH period eviction (#7519)
With this change, closeSegmentIndex() of all streams of a removed period
are defered in StreamingEngine.onUpdate_()

Fixes #7516
2024-11-13 19:14:15 +01:00
Álvaro Velad Galván 10659c5db8 fix(Ads): Prevent playing the same ad twice (#7585) 2024-11-13 18:12:30 +01:00
Álvaro Velad Galván a4d0fc8a57 fix(Ads): Always fire CUEPOINTS_CHANGED when not using multi video elements (#7584)
This is necessary because in our UI when reusing the same video element
the unloading event is launched and we clear the cuepoints with that
event.
2024-11-13 18:12:01 +01:00
Álvaro Velad Galván 16580ea6f8 fix(Ads): Always set endTime for MPD Alternate (#7583) 2024-11-13 18:11:39 +01:00
Álvaro Velad Galván 89267cc2c2 fix: Disable live sync when the stream is paused (#7579)
Fixes https://github.com/shaka-project/shaka-player/issues/7577
2024-11-13 18:01:27 +01:00
Álvaro Velad Galván f41c65d830 fix: Allow the user to disable subtitles while paused (#7578)
Fixes https://github.com/shaka-project/shaka-player/issues/7576
2024-11-13 17:55:44 +01:00
Álvaro Velad Galván bd2c9a7f4b fix: Prefer SimpleTextDisplayer on iOS (#7569)
Fixes https://github.com/shaka-project/shaka-player/issues/7568
2024-11-13 17:54:38 +01:00
Shaka Bot c0d473fae3 chore(main): release 4.12.0 (#7257) 2024-11-13 10:51:57 +01:00
Joey Parrish 11a7b926e8 feat: Add config to ignore hardware resolution (#7572)
For some niche cases where content is only available at resolutions
beyond the device's native resolution, and you are confident it can be
decoded and downscaled, this flag can allow playback when it would
otherwise fail.
2024-11-12 14:25:32 -08:00
Álvaro Velad Galván cb66f471a2 perf: Improve performance when parsing EMSG (#7557)
With the change, we reuse MediaSource's MP4 parsing code to avoid
parsing everything twice.
It will also help with the implementation of
https://github.com/shaka-project/shaka-player/issues/7556 in the future.
2024-11-12 09:59:50 +01:00
has992 3f9dec2342 fix(DASH): Exclude text segments when calculating max segment size (#7564)
This PR excludes the use of text segments when calculating the max
segment size.
This is due to Shaka using the max value between the buffer behind and
max segment size.
The max segment size of text segments can be a lot larger than video
segments.
This can cause the buffer behind to be extremely large and is a
particular problem for low
powered devices, which have memory constraints.

---------

Co-authored-by: Joey Parrish <joeyparrish@users.noreply.github.com>
2024-11-12 09:43:28 +01:00
Álvaro Velad Galván a020b1982b fix: Do not reuse the same tsParser for different contentType (#7563)
Fixes https://github.com/shaka-project/shaka-player/issues/7399

This PR resolves issue
https://github.com/shaka-project/shaka-player/issues/7399 which has the
same pid for audio and video, but they are different segments.
2024-11-11 15:55:45 +01:00
Álvaro Velad Galván 781a27df80 fix(WebVTT): Fix display italic subtitles with end align (#7559)
Fixes https://github.com/shaka-project/shaka-player/issues/7553
2024-11-07 19:35:33 +01:00
Álvaro Velad Galván fd6c322320 fix(Ads): Allow play interstitials using single video element when use native HLS (#7550) 2024-11-06 15:06:12 +01:00
Álvaro Velad Galván 5024184363 feat: Enable audio groups by default (#7549)
This fixes the audio selection in Shaka Player History live stream

Related to https://github.com/shaka-project/shaka-player/pull/5620
2024-11-06 13:20:30 +01:00
Álvaro Velad Galván 5c2b83277a chore: Simplify and remove optional parameters in AdaptationSetCriteria to avoid future problems (#7548) 2024-11-06 11:09:29 +01:00
Álvaro Velad Galván 3bd0978da0 feat(UI): Allow configure the fullscreen mode in VisionOS (#7540)
With this config we will use the fullscreen API of the video element
itself if it is available in Vision OS. This is useful to be able to
access 3D experiences that are only allowed with the fullscreen of the
video element itself.
2024-11-06 11:06:29 +01:00
Álvaro Velad Galván 84ae80675a fix(Ads): Allow play interstitials on iOS fullscreen (#7538) 2024-11-06 10:28:20 +01:00
theodab 2ad1eff39e feat(preload): Wait for prefetches when preloading (#7533)
Previously, the PreloadManager would consider a preload "finished" after a few major files like the manifest had been preloaded. It would start prefetching some segments, but wouldn't wait on it to notify the developer.
This PR changes the PreloadManager so that
PreloadManager.waitForFinish won't return until the prefetched segments have finished loading.
Because of that, this also better surfaces errors thrown during segment prefetching, when preloading.

Issue #7520
2024-11-05 04:13:02 -08:00
Álvaro Velad Galván 6ab6a8f0cf fix: Allow show subtitles using webkit Fullscreen API when playing native HLS (#7539) 2024-11-05 12:30:00 +01:00
Gary Katsevman abfc0b2ac2 fix: only use lastSegmentReference for knowing if variant changed (#7537)
Instead of checking for both lastSegmentReference and
lastInitSegmentReference, we shoould only check lastSegmentReference.

As of shaka-project/shaka-player#6929, init segment references aren't
cleared on clearBuffer, this onInitSegmentAppended not account for the
safe margin properly.
2024-11-04 15:23:04 -08:00
Iragne 2b2df4b2e2 fix: Install polyfills for Comcast X1 devices (#7529)
Close https://github.com/shaka-project/shaka-player/issues/7522
2024-11-04 15:11:50 +01:00
Álvaro Velad Galván 1497148eee fix(UI): Disable fullscreen button conditionally when playing ads (#7534)
Only disable fullscreen button when the devices doesn't support the
standard Fullscreen API and playing an ad that use another media element

Fixes https://github.com/shaka-project/shaka-player/issues/6133
2024-11-04 12:54:35 +01:00
Iragne 73524d0217 feat: Add safeSeekEndOffset feature for live reposition (#7532)
Close https://github.com/shaka-project/shaka-player/issues/7531
2024-11-04 12:37:16 +01:00
Álvaro Velad Galván 6303924dca perf(Ads): Reduce latency for interstitial to start playing (#7528)
Use requestVideoFrameCallback the achieve better performance
2024-10-31 16:02:24 +01:00
Álvaro Velad Galván 075713f0e0 fix(Ads): Fix duplicate Ads when playing interstitials through native HLS player (#7527) 2024-10-31 13:18:42 +01:00
Álvaro Velad Galván 597e129bd6 feat: Add preferredTextFormats config (#7523)
Close https://github.com/shaka-project/shaka-player/issues/4650
2024-10-31 08:53:55 +01:00
Wojciech Tyczyński a6cf9cbfd3 feat: Enable AirPlay in MSE (#7431)
Fixes #5022

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2024-10-31 08:40:23 +01:00
Álvaro Velad Galván 5ee6a4d2f5 perf(Ads): Reduce latency for interstitial to start playing (#7525)
Previously we relied on an event triggered by the video itself which was
launched 4 to 60 times per second, which meant that we had an update (in
the worst case) of 250ms. Now we use a timer that is triggered every
25ms, which considerably reduces the delay.

This is important so as not to show anything from the original ad's
live.
2024-10-31 08:32:00 +01:00
Álvaro Velad Galván 20ab35afb3 chore(Ads): Add starting interstitials log (#7524) 2024-10-30 16:48:03 +01:00
Álvaro Velad Galván 7c6dac55b6 fix(AirPlay): Don't show subtitles on the player when using AirPlay (#7514)
This only happens when using src= mode
2024-10-29 10:38:09 +01:00
Álvaro Velad Galván 6d0ee517a5 fix(MSS): Fix playback of some MSS streams (#7517)
With this change, no default flags are used. It seems that when a sample
has to use the default flags, in Safari, it can cause problems with MSS.
With HLS this does not happen.

Fixes https://github.com/shaka-project/shaka-player/issues/7509
2024-10-29 09:25:19 +01:00
Iragne 7b38ca8b49 feat(HLS): Add the update period for HLS manifest (#7498)
Create the update period for hls parse

Close https://github.com/shaka-project/shaka-player/issues/7505
2024-10-25 08:55:09 -07:00
Álvaro Velad Galván b980f6785c fix(UI): Remove buffering spinner when playing a client side ad (#7507) 2024-10-25 08:40:06 -07:00
Álvaro Velad Galván cf2204200e fix: Reset MSE when we disconnect from Remote Playback (#7506) 2024-10-25 08:39:46 -07:00
Álvaro Velad Galván 0ff61a52b7 fix: Fix support of getAllThumbnails when using shaka.dash.TimelineSegmentIndex (#7508) 2024-10-25 08:38:29 -07:00
Álvaro Velad Galván b04caa3b74 fix: Do not allow MSE operations when using Remote Playback (#7503)
Related to https://github.com/shaka-project/shaka-player/issues/5022
2024-10-25 15:21:15 +02:00