theodab
03633e47bb
feat(text): Add time context to modifyCueCallback ( #6252 )
2024-02-20 00:37:33 -08:00
Justin Swaney
bb712c0283
fix: Fix detection of flac support on Safari ( #6250 )
...
When constructing the MediaDecodingConfigurations to query media capabilities in `stream_utils.js`, the spelling of "fLaC" should not change to "flac" on Safari. This is because on Safari the query will return `supported: false` for "flac" but `supported: true` for "fLaC".
This change allows manifests with "fLaC" codecs to work properly on Safari when using MSE / Managed Media Source.
Fixes #6249
2024-02-15 17:17:07 -08:00
Casey Occhialini
5a025fbccd
feat: add includeKeys to CMCD config to allow filtering of CMCD data ( #6248 )
...
This PR adds the ability to filter/limit the amount of data transmitted
when CMCD is enabled. It matches the functionality provided in
[`dash.js`](https://github.com/Dash-Industry-Forum/dash.js/blob/9e3da3cb35da71d339444158db359bfec63035a0/src/core/Settings.js#L712-L713 )
and
[`hls.js`](https://github.com/video-dev/hls.js/blob/dfb384dc765f400ea3d401b790cfc4d53a44410f/src/config.ts#L70-L75 )
and addresses concernes raised by video providers: https://github.com/cta-wave/common-media-client-data/issues/122
2024-02-15 13:54:25 -08:00
Álvaro Velad Galván
948660b359
fix: don't double wrap URIs for HLS key requests ( #6246 )
...
The `constructSegmentUris` util already returns an array, so the call to `makeRequest` was being made with an array of arrays. This wasn't causing errors for requests that use the `fetch` plugin, since `fetch` will stringify the first argument if it's an array. But the data URI plugin expects to receive a string and calls `.split()` on it, so keys using data URIs throw an error if the URI is wrapped in an array.
Thanks to https://github.com/shaka-project/shaka-player/pull/6243 and @andrew0
2024-02-14 09:06:57 -08:00
theodab
fd57e7f48a
fix(preload): Fix timing of call to stopQueuingLatePhaseQueuedOperations ( #6238 )
...
This method should be called after the load is successful, not if the
load fails.
This also adds a new test that ensures that onKeyStatus_ messages work
correctly, as a regression test.
This was exposed by the test failures, but was not the cause of them.
Issue #6225
2024-02-12 11:56:09 -08:00
Julian Domingo
93d616e954
feat: add an option specifying when source buffer removals happen ( #6242 )
...
Increases the default required removal duration from `0.01` => `1.0`.
Closes #6240 .
2024-02-12 10:00:44 -08:00
theodab
36b7367ebd
fix(preload): Only start preload if manager exists ( #6222 )
...
Also fixes how demo cards handle src= preloads.
2024-02-06 12:27:11 -08:00
theodab
489b11a959
feat: Add preload system to player ( #5897 )
...
Adds a new player method, preload. This asynchronous method creates a PreloadManager object, which
will preload data for the given manifest, and which can be passed to the load method (in place of an asset URI)
in order to apply that preloaded data. This will allow for lower load latency; if you can predict what asset will
be loaded ahead of time (say, by preloading things the user is hovering their mouse over in a menu),
you can load the manifest before the user presses the load button.
Note that PreloadManagers are only meant to be used by the player instance that created them.
Closes #880
Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com >
2024-02-02 00:27:29 -08:00
Gary Katsevman
8fc292bc28
feat: vod dynamic playback rate buffer control ( #6172 )
...
Dynamically update playback rate to keep the buffer full.
Related to https://github.com/shaka-project/shaka-player/issues/6131
2024-02-02 08:53:21 +01:00
Álvaro Velad Galván
278c7bc8cf
feat: Detect maximum HW resolution automatically on some platforms ( #6180 )
2024-02-01 19:47:53 +01:00
Álvaro Velad Galván
fc38aeebe3
feat!: Prefer MSE HLS over native HLS in Apple platform when not encrypted ( #6188 )
...
Our HLS implementation is stable and robust enough that we can enable it
by default.
2024-02-01 09:45:16 +01:00
Joey Parrish
62be6da72b
docs: Add missing license details after tXml import ( #6206 )
2024-01-31 13:22:40 -08:00
Álvaro Velad Galván
202f3082fd
feat: Add disableTextPrefetch config ( #6197 )
2024-01-31 19:35:48 +01:00
Álvaro Velad Galván
d9388378e7
fix: Fix DRM workaround for Xbox with Dolby Vision boxes ( #6201 )
2024-01-31 19:35:35 +01:00
Álvaro Velad Galván
cac1fd0f7f
fix: Prevent license requests for unplayable variants ( #6204 )
...
Fixes https://github.com/shaka-project/shaka-player/issues/3429
2024-01-31 19:35:22 +01:00
Álvaro Velad Galván
b508d482c6
fix: Fix SegmentPrefetch in some cases ( #6199 )
2024-01-31 19:34:52 +01:00
Dave Nicholas
a1c1620f09
feat: Escape html codes when getting node contents ( #6198 )
...
It would appear that the previous `textContent` api transformed html
entities. This PR provides feature parity with the DOMParser approach.
2024-01-31 15:12:16 +01:00
Casey Occhialini
78c12a6265
fix(CMCD): allow session id to be configured ( #6192 )
2024-01-31 10:21:01 +01:00
Álvaro Velad Galván
47602c6f5e
feat!: Remove com.adobe.primetime keysystem ( #6189 )
...
`com.adobe.primetime` is not implemented in any browser and no one has
reported any problems in the 8 years of Shaka Player.
2024-01-30 20:02:44 +01:00
Álvaro Velad Galván
038e894e82
feat(CMCD): Add support to rtp parameter ( #6184 )
2024-01-30 20:02:30 +01:00
Iragne
a3320707b9
fix(DASH): Update dash manifest when minimumUpdatePeriod = 0 ( #6187 )
...
Fixes https://github.com/shaka-project/shaka-player/issues/6185
2024-01-30 15:57:02 +01:00
Álvaro Velad Galván
3537dc0a68
fix(CMCD): Allow reconfigure session ID ( #6177 )
2024-01-30 08:53:46 +01:00
Álvaro Velad Galván
8a9f17d48b
feat(CMCD): Add support to dl, nrr and nor parameters ( #6171 )
2024-01-29 18:57:26 +01:00
Álvaro Velad Galván
5b141eb76a
fix(Ads): Fix initial ads configuration ( #6176 )
...
Related to https://github.com/shaka-project/shaka-player/issues/6169
2024-01-29 18:39:34 +01:00
Álvaro Velad Galván
33b40cfcce
fix(CMCD): Fix CMCD for some mimetypes in src= ( #6178 )
2024-01-29 18:09:52 +01:00
Gary Katsevman
a8ab0c824b
feat: prefetch audio languages. ( #6139 )
...
Closes #6128
2024-01-29 08:35:17 +01:00
Álvaro Velad Galván
eb1fef888b
fix: Fix wrong aspect ratio in transmuxed videos ( #6170 )
...
Fixes https://github.com/shaka-project/shaka-player/issues/6168
2024-01-26 18:39:10 +01:00
Mathieu Côté
08cc34a532
fix: AC-3 audio codec support on Tizen ( #6166 )
...
Fixes https://github.com/shaka-project/shaka-player/issues/6160
2024-01-26 15:29:25 +01:00
Dave Nicholas
335eab08ba
feat(WebVTT): Handle badly formed VTT ( #6147 )
...
Handle remove chevrons that appear as part of the inner text of the
element to avoid parse failure.
2024-01-26 13:01:51 +01:00
theodab
bd944d15db
feat(text): Add MediaSource.modifyCueCallback ( #6167 )
...
This callback gives developers a chance to modify cues after they are
parsed but before they are appended.
2024-01-25 23:36:48 -08:00
Álvaro Velad Galván
658386bf93
fix(HLS): Set the bandwidth correctly for audio/video-only variants ( #6165 )
2024-01-25 18:41:23 +01:00
Álvaro Velad Galván
07ebdb1d2c
fix: player Dropping Variant (better codec available) when it should not ( #6163 )
...
Fixes https://github.com/shaka-project/shaka-player/issues/6162
2024-01-25 18:41:08 +01:00
Gary Katsevman
65981e2aae
feat: add a live sync panic mode ( #6149 )
...
This PR introduces a live sync panic mode
(`streaming.liveSyncPanicMode`) which sets the player into the
`streaming.liveSyncMinPlaybackRate` while we're within the
`streaming.liveSyncPanicThreshold`. This should help reduce the change
of subsequent rebuffering events by moving further away from the live
edge.
Related to #6131 .
2024-01-25 10:33:57 +01:00
Álvaro Velad Galván
701ec9bece
fix(HLS): Fix VVC codec selection in HLS ( #6156 )
2024-01-24 20:15:14 +01:00
Álvaro Velad Galván
151b29c3c7
feat: Parse vpcC and av1C boxes ( #6157 )
2024-01-24 18:26:01 +01:00
Álvaro Velad Galván
8d6ad7ed64
feat(HLS): Add support for SUPPLEMENTAL-CODECS ( #6155 )
2024-01-24 18:25:44 +01:00
Álvaro Velad Galván
c100053532
feat: Add support for Dolby Vision based on AVC and AV1 ( #6154 )
2024-01-24 18:15:18 +01:00
Álvaro Velad Galván
4e47acda0c
fix: Fix detection of spatial rendering support in Cast ( #6138 )
...
See https://developers.google.com/cast/docs/media#audio_passthrough
2024-01-24 07:39:34 +01:00
Álvaro Velad Galván
5acc773364
fix(offline): Fix store persistent licenses with drm info in the pssh ( #6143 )
...
Fixes https://github.com/shaka-project/shaka-player/issues/6141
2024-01-24 07:38:50 +01:00
Álvaro Velad Galván
b8520ed977
feat: Parse avcC, hvcC and dvcC boxes ( #6146 )
2024-01-23 19:49:51 +01:00
Álvaro Velad Galván
e1cd031625
fix: Allow by default variants without pssh in the manifest ( #6144 )
...
Fixes https://github.com/shaka-project/shaka-player/issues/5176
2024-01-23 19:49:38 +01:00
Dave Nicholas
ee600c4fd5
feat(WebVTT): Remove un-needed VTT payload normalisation ( #6145 )
...
The tXml parser gracefully handles this now, so it is no longer needed.
2024-01-23 16:53:50 +01:00
Álvaro Velad Galván
df8dbb9caa
fix: Fix nalu parsing in TS ( #6137 )
...
Fixes https://github.com/shaka-project/shaka-player/issues/6136
2024-01-22 18:03:36 +01:00
Dave Nicholas
7116a34ec2
feat!: Remove DOM Parser ( #6063 )
...
## Background:
The native DOM Parser can perform poorly on some older devices, this
approach is faster on newer devices but is considerably better on older
devices.
This PR replaces the usage of the DOM Parser for DASH, MSS, VTT and
TTML.
The draw back of this approach that it does not include any validation
at the cost of better performance.
2024-01-22 08:39:06 +01:00
Álvaro Velad Galván
938de98f84
chore: Add warning on unsupported kind in addTextTrackAsync ( #6126 )
2024-01-19 07:25:24 +01:00
Álvaro Velad Galván
48626f2ae0
fix: Change quality only when adding the last partial segment and it is fast switching ( #6114 )
2024-01-18 08:31:06 +01:00
Álvaro Velad Galván
e692d68ecf
fix: Reject Opus encrypted on Firefox Android ( #6115 )
...
Fixes https://github.com/shaka-project/shaka-player/issues/6111
2024-01-18 08:10:34 +01:00
Álvaro Velad Galván
4823dfefea
fix: Include text bandwidth in stats ( #6109 )
2024-01-18 07:28:06 +01:00
Álvaro Velad Galván
1671a3e98c
fix(HLS): Avoid duplicate AES request when using the same info ( #6118 )
2024-01-17 18:21:40 +01:00
Álvaro Velad Galván
af12b0b3f0
fix(DASH): Fix PERIOD_FLATTENING_FAILED on fastswitching streams ( #6113 )
2024-01-17 09:01:39 +01:00