Commit Graph

278 Commits

Author SHA1 Message Date
theodab d01bef3acb docs: Add FAQ entry about new versions. (#6425)
Issue #6424
2024-04-09 22:56:16 -07:00
Álvaro Velad Galván 9838622259 feat: Set updateIntervalSeconds to 0.1 by default for low latency streaming (#6403) 2024-04-05 07:24:07 +02:00
Wojciech Tyczyński d0aa69724b feat: add mediaSource.addExtraFeaturesToSourceBuffer (#6362)
Closes #6358
2024-03-26 07:28:14 +01:00
Álvaro Velad Galván 73d888e880 docs: Add FAQ documentation for minimum recommended chunks (#6366)
Closes https://github.com/shaka-project/shaka-player/issues/6231
2024-03-26 07:26:36 +01:00
Dave Nicholas 67cd2dd29d fix(tXml): html unescape node attributes with urls (#6267)
To provide feature parity with the `DOMParser.getAttribute` API which
would unescape html entities for free this PR unescapes url strings
which come from node attributes.

In a similar vain to
https://github.com/shaka-project/shaka-player/pull/6198 which unescapes
child strings.
2024-02-23 08:55:07 -08:00
Álvaro Velad Galván 67164483f3 docs: Add specific doc on UI localization strategies (#6203)
Closes https://github.com/shaka-project/shaka-player/issues/3464
2024-02-01 17:49:51 +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
Álvaro Velad Galván 32f8dc5cf4 revert: Add chapter titles and dividers on the seek bar (#6208)
re-open: https://github.com/shaka-project/shaka-player/issues/3597
2024-02-01 08:36:53 +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 a9cbb2f746 docs: Add tutorial for text displayer (#6087)
Closes https://github.com/shaka-project/shaka-player/issues/4862
2024-01-12 11:21:27 +01:00
pseidemann 7bda349a3f docs: fix use of encodeURIComponent() in fairplay tutorial (#6018) 2024-01-08 09:26:18 +01:00
theodab 1263fca03f chore: Fix code in UI tutorial (#5980)
Closes #5974
2023-12-04 01:29:39 -08:00
Koen Romers 503327a0e3 feat: add preferred video label (#5948)
Closes https://github.com/shaka-project/shaka-player/issues/5947
2023-11-29 11:37:57 +01:00
Álvaro Velad Galván 515a4ab02b feat: Set baseDelay to 100 by default for low latency streaming (#5926) 2023-11-27 08:59:03 +01:00
Álvaro Velad Galván b75d9be5f5 chore(LCEVC): Update lcevc_dec.js dependency (#5922)
This update adds support for Managed Media Source in LCEVC
2023-11-22 23:02:56 +01:00
Álvaro Velad Galván 9bb2a214b1 docs: Update docs for v4.6 release (#5885) 2023-11-16 09:58:00 +01:00
Álvaro Velad Galván c1198df82f feat(UI): Add chapter titles and dividers on the seek bar (#5863)
Closes https://github.com/shaka-project/shaka-player/issues/3597
2023-11-08 10:20:59 +01:00
Albin Larsson 2e7766893f docs: fix await keyword for attach method (#5841)
Looks like this was just introduced in #5752
2023-10-31 17:15:17 +01:00
theodab 4425dca283 chore: Remove state engine (#5752)
The state engine mechanism, designed for the player class, was
over-engineered. The structure of the class makes debugging player
errors unnecessarily annoying, by obfuscating the code-path the error
followed, and in general
has created a significant amount of technical debt.
This changes the player to use an async-await setup for the top-level
operations, laying things out much more cleanly
and linearly.

---------

Co-authored-by: Álvaro Velad Galván <ladvan91@hotmail.com>
2023-10-30 23:59:08 -07:00
Álvaro Velad Galván 04fce27779 docs(Ads): Add AWS Elemental MediaTailor tutorial (#5803) 2023-10-25 10:06:30 +02:00
Álvaro Velad Galván de17603974 docs: Add missing text and manifest parsers (#5750)
Closes https://github.com/shaka-project/shaka-player/issues/5741
2023-10-09 09:59:20 +02:00
Joey Parrish b8b53992df docs: Update FAQ for v4.5 release (#5725) 2023-10-04 13:48:07 -07:00
Vinod Balakrishnan c1e18d3583 feat: Migration of LCEVC DIL (Decoder Integration Layer) to LCEVC Dec (Decoder) (#5459) 2023-10-03 09:00:26 +02:00
Álvaro Velad Galván 985e57cfd9 docs: Fix offline tutorial (#5706)
Fixes https://github.com/shaka-project/shaka-player/issues/5703
2023-10-02 10:09:44 +02:00
Álvaro Velad Galván 1ef5ae0615 feat(UI): Add remote button with RemotePlayback API (#5650)
API: https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback

Chrome Status: https://chromestatus.com/feature/5778318691401728

Examples: https://avayvod.github.io/remote-playback/test.html and
https://beaufortfrancois.github.io/sandbox/media/remote-playback.html

Tested in Safari (iOS and macOS) and Chrome in Android

About desktop support:
https://bugs.chromium.org/p/chromium/issues/detail?id=728609
2023-09-14 18:17:32 +02:00
Álvaro Velad Galván cabb1398b1 docs: Add Nagra to FairPlay tutorial (#5647) 2023-09-13 09:07:23 +02:00
loicraux df2739ea1d docs: Fix registerScheme snippet (#5635)
Fixes #5634

Co-authored-by: Loïc Raux <loicraux@gmail.com>
2023-09-11 11:24:28 -07:00
Álvaro Velad Galván 7df3321272 feat: Add TS transmuxer for muxed content (#5571) 2023-09-07 18:20:03 +02:00
Álvaro Velad Galván d37143e060 feat(Ads): Add control AdsRenderingSettings (#5536)
Closes https://github.com/shaka-project/shaka-player/issues/5011
2023-08-25 12:40:58 +02:00
Joey Parrish ace3e37241 ci: Refactor and update Shaka lab definitions (#5449)
- In karma.conf.js, give ourselves the ability to merge Selenium configs together without clobbering argument lists, for better deduplication in shaka-lab.yaml.  This is based on https://github.com/shaka-project/karma-local-wd-launcher/pull/50
 - Refactor shaka-lab.yaml to take advantage of this new ability.  This removes a bunch of duplicate command line arguments for various versions of Chrome.
 - Remove a TODO about a bug that Chrome decided they would never fix.
 - Sort the list of devices and platforms, with comments to mark out the sections.
 - Remove IE11, which we are well past supporting or testing.

This should be cherry-picked to all active branches.
2023-07-31 11:02:23 -07:00
Ivan 5487236668 fix(docs): fix player configuration code in drm config tutorial (#5359)
This PR updates the DRM configuration tutorial.

The configuration code example is incorrect, and also it suggests you
can change the mapping, which is not true, you are only able to
overwrite parts of it.

Co-authored-by: Ivan Kohut <ivan.kohut@lamin.ar>
2023-06-26 12:04:24 -07:00
Álvaro Velad Galván 62f24d2249 feat: Set segmentPrefetchLimit to 2 by default for low latency streaming (#5275) 2023-06-12 18:13:30 +02:00
Álvaro Velad Galván 82e905b540 feat: Add MP3 transmuxer (#5208)
This transmuxer is used in Firefox due the lack of support for
`audio/mpeg`
2023-05-12 21:36:58 +02:00
Joey Parrish 18f5809e01 docs: Update Java download link (#5207)
Closes #5077
2023-05-02 12:35:27 -07:00
/zɒ̃ge/ 19b7f9310c docs: update config.drm.initDataTransform documentation (#5170) 2023-04-25 15:30:33 -07:00
Vincent Valot cc97da167f feat: allow reuse of persistent license sessions (#4461)
Add capability to re-use persistent license sessions across sessions.

DrmEngine will now always:
- try to start stored persistent sessions before trying to fetch a
license, as-to be able to check if all needed keys are already loaded.
- ask for a new license when the persistent session doesn't have the
needed keys for playback,

Given the flag `persistentSessionOnlinePlayback` is true, DrmEngine:
- won't remove the persistent session from the device at the end of the
playback,
- won't throw an error when the persistent session isn't found on the
device,

For now, it needs Shaka's users to persist session information by
themselves (localStorage, IndexDB, ...) before giving it back for the
next session. Still, it lays foundation to develop the feature to fully
handling it on Shaka's side.

Related to #1956
2023-04-19 15:18:34 -07:00
Álvaro Velad Galván f80bf208b1 feat(MSS): Add support for Microsoft Smooth Streaming (VOD only) (#5002)
Closes https://github.com/shaka-project/shaka-player/issues/703

---------

Co-authored-by: Joey Parrish <joeyparrish@google.com>
2023-03-24 07:47:33 +01:00
Casey Occhialini fe38e45f4d fix: Adds missing CMCD params to some http requests (#5072)
Fixes #5067
Fixes #5094

Co-authored-by: Dan Sparacio <daniel.sparacio@cbsinteractive.com>
2023-03-15 02:13:16 -07:00
theodab d0bb1babaa docs: Remove next links from tutorials (#5082)
The links to the next tutorial were out of date, and they no longer prescribed the actual order of tutorials. This just removes those links entirely.

Fixes #5078
2023-03-10 00:58:11 -08:00
Joey Parrish 472bcbbcff docs: Add Widevine Service Certificate tutorial (#5018)
Also fixes a related typo in the FairPlay tutorial and adds a missing
entry to the tutorial index.
2023-02-23 11:56:39 -08:00
theodab fbce38af1c feat(net): Added advanced type to filters (#5006)
This adds an optional parameter to request and response filters, of a
new enum called AdvancedRequestType.
This enum describes request types that are subtypes of the basic types.
For example, INIT_SEGMENT is a type of SEGMENT.
This gives users more information about the type of the request, while
maintaining backwards compatibility.

Closes #4966
2023-02-23 11:56:23 -08:00
Martin Stark ac963a9d1a docs: Add error handling tutorial (#4983)
Shaka error handling is getting increasingly more complex in order to "catch them all".
This new tutorial describes both the basic method of error handling, as well as showing a few
more advanced ways to handle specific errors.

Closes #4484
2023-02-14 00:30:36 -08:00
François Beaufort 3828fd6849 feat: Add support for Document Picture-in-Picture (#4969)
This PR adds _experimental_ support for the Document Picture-in-Picture
API in the Shaka Player.

Closes https://github.com/shaka-project/shaka-player/issues/4964

Co-authored-by: Alvaro Velad Galvan <ladvan91@hotmail.com>
Co-authored-by: Joey Parrish <joeyparrish@google.com>
2023-02-10 08:39:57 -08:00
Tian Shao de6abde06f feat: Support Parallel Segment Fetching (#4784)
closes https://github.com/shaka-project/shaka-player/issues/4658.

This solution is inspired by abandoned PR
https://github.com/shaka-project/shaka-player/pull/2809, which
implements segment prefetching ahead of current play head.


![image](https://user-images.githubusercontent.com/3315733/205465795-75c605d2-c2e3-4d03-90f5-46a72a7189d2.png)
2023-01-31 20:08:29 +01:00
Álvaro Velad Galván 7fa40fdb48 feat: Add ExpressPlay FairPlay util (#4926) 2023-01-24 07:11:43 +01:00
Joey Parrish 68f10a1969 docs: Update docs about dev dependencies (#4794)
We require node v14+ and Java v11+ now.

Closes #4721 
Closes #4737
2022-12-06 09:31:22 -08:00
Tian Shao aadecd6401 feat: Add preferredAudioLabel to PlayerConfiguration (#4763)
Closes
[#4762](https://github.com/shaka-project/shaka-player/issues/4762).

The change is to add PreferredAudioLabel to player configuration so that
host apps can decide the default variant label to choose at very
beginning.
2022-11-29 10:30:40 +01:00
Joey Parrish 0db6070dcd chore: Set receiver app ID for main (#4675) (#4686)
This reverts commit ea2eaaf210.

Now that v4.3 is out, this sets the receiver app ID for main to refer to
the nightly version of the receiver app again.
2022-11-11 07:08:08 -08:00
Joey Parrish ea2eaaf210 chore: Set receiver app ID for v4.3 (#4675)
This will be reverted in the main branch after the launch/branch of
v4.3, so that main continues refers to the nightly version of the
receiver app.
2022-11-09 16:17:58 -08:00
Joey Parrish 5a76a8351d docs: Update roadmap, maintained branches, and upgrade guide for v4.3 (#4674) 2022-11-09 16:07:40 -08:00