Commit Graph

34 Commits

Author SHA1 Message Date
theodab 4eb63edbcb docs: Write up-to-date tutorial for Preload (#6555)
This also deletes the old preload design doc, which was confusing users.

Closes #6551
2024-05-08 11:01:34 +02: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
fabio-murra 284ea63a60 feat: LCEVC Integration (#4050)
Integration of MPEG-5 Part-2 LCEVC into Shaka Player.

A config must be enabled and a canvas element must be provided.

The Shaka Player UI will automatically provide an appropriate canvas.

Co-authored-by: Vinod Balakrishnan <vinod.balakrishnan@v-nova.com>
Co-authored-by: Vinod <36663769+vinod-balakrishnan@users.noreply.github.com>
Co-authored-by: Vinod <vinod.balakrishnan111@gmail.com>
2022-10-03 11:32:27 -07:00
Álvaro Velad Galván dbba571c6b feat(cast): Add Android receiver support (#4183)
Closes https://github.com/shaka-project/shaka-player/pull/3773 
Closes https://github.com/shaka-project/shaka-player/issues/3772
2022-05-05 09:18:47 -07:00
Joey Parrish 1507b1e844 chore: Update URLs after moving projects (#4008) 2022-03-03 14:34:40 -08:00
Theodore Abshire aded252e40 feat(offline): Make segment storage stateless.
This refactors the storage mechanism so that the method that
attaches a segment to the manifest is be a stateless async method,
and no longer needs to be in the same session as the method that
stored the manifest.
This is the end of phase one of the work towards allowing Shaka
Player to use background fetch to store assets offline.
This change will allow a service worker to store the segments as
they are downloaded, without having to keep the Shaka Player
instance alive.

Issue #879

Change-Id: I6a3545c57bacaf7229fe8c32669e88c6cc4e4138
2021-09-07 17:05:46 +00:00
Michelle Zhuo 8f8575ce1f doc: Codec preferences design doc
Issue #1391

Change-Id: I35edc4ce5b84777687f0e1a91c4be1710a85c07a
2021-03-12 18:13:47 +00:00
Michelle Zhuo cb5873515e doc: Preload API design
Change-Id: Ibe42128e446e1e934605baf54975d95923ea3517
2021-03-11 01:43:08 +00:00
Joey Parrish 2634bc92c4 chore: Remove the term "blacklist"
The term "blacklist" violates new Google guidelines about respectful
language.  This removes all instances of this term in our repo and
replaces them with "denylist".

Bug: 178203011

Change-Id: I90b19a2a8c5382bb36855c8f310b64e85c48c562
2021-02-01 23:36:12 +00:00
Theodore Abshire efc2ed3df1 Added new demo page.
This is a complete replacement for the old demo page, made to be more
modern-looking and easier to maintain. It contains new features such as
remembering the URIs you provide for custom assets, and searching through
the default assets by feature.
This demo page is not quite ready for release yet, but it's getting close.

Change-Id: Iad01d1fc02c3cd238d73b9b9e02dbb4301cb6f2a
2019-05-01 19:58:18 +00:00
Aaron Vaage ad4e0993fb Add Localization Design Principles Doc
This document goes over the core design principles behind the
localization system. This document is meant to give context on
why decisions were made the way they were and to help guide future
changes.

Bug: b/117679670
Change-Id: I01c3b749f1f9d3707e817f18760e106d22f13b21
2018-11-26 22:36:52 +00:00
Aaron Vaage bea82bf6ae Fix Image Links in "Talking About Languages"
In the "Talking About Languages" doc, the links to the images
were broken. It appears that there were minor typos in the paths
that caused images to not be found. The change updates the links
rather than the file names to avoid breaking other documents that
may reference these same images.

Issue #1691

Change-Id: I2874c8e920b1dd66f8d3a276f19953f17a999c5b
2018-11-20 23:15:08 +00:00
Sandra Lokshina 6b1ca2d229 Initial release of Shaka Player UI
Other contributors:
 - @joeyparrish
 - @michellezhuogg
 - @TheModMaker
 - @theodab
 - @vaage

Change-Id: If6df33d9ab5035d1ead4402004f7de37ee8470f4
2018-11-16 14:40:37 -08:00
Joey Parrish 99f8b46b3d Fix formatting in offline design doc
Some automated process seems to have broken lines in ways that don't
make sense.

Change-Id: I5d840acc819b0e52b950b4f16dbf3d51428e07cd
2018-05-09 10:01:29 -07:00
Michelle Zhuo 535de4db84 Refactor: Remove underscore from parameter names
Change-Id: Ie9e6fb59763f454f245175f23c6444f919ba8135
2018-05-08 19:21:51 +00:00
Sandra Lokshina 8065bd54a8 Change namespace from shakaExterns to shaka.externs
Change-Id: I16432351e2a266aa8fd175669aa27c44bfdffeae
2018-04-11 17:26:26 +00:00
Joey Parrish 66abf9cb27 Remove all protocol-relative URIs
According to @beaufortfrancois, we should no longer be using protocol-
relative URIs.  He quotes this passage from Paul Irish:

> Now that SSL is encouraged for everyone and doesn’t have performance
> concerns, this technique is now an anti-pattern. If the asset you
> need is available on SSL, then always use the https:// asset.

> Allowing the snippet to request over HTTP opens the door for attacks
> like the recent Github Man-on-the-side attack. It’s always safe to
> request HTTPS assets even if your site is on HTTP, however the
> reverse is not true.

Source: https://www.paulirish.com/2010/the-protocol-relative-url/

This change was begun with the following command:
  git grep -l "'//" | xargs sed -i "s@'//@'https://@g"

Some changes made by that command were false-positives, which I then
reverted manually.  Others required additional cleanup to meet style
rules.

I've also just discovered that the "max-len" rule in eslint's Google
style config exempts URIs, so there's no need to disable the max-len
rule on URIs in the assets list.  These have been removed in the asset
list where unnecessary.

Finally, testing these updated URIs led to the discovery that two of
our third-party demo assets are no longer available.  One URI needed
to be updated.  The other had no obvious replacement, so it was
removed.

Closes #1390

Change-Id: I2fe23faec04f1904c1741236b364d5089900092a
2018-04-09 18:06:18 +00:00
Joey Parrish f0a3dbe1e2 Update architecture diagrams
This updates the existing diagrams and adds new ones for cast and
offline.  The offline diagrams will need to be updated again after
we resolve #1248.

Closes #1197

Change-Id: I6b6b1fac732b4997c579f58c7f12f0f84f202380
2018-03-15 08:07:22 +00:00
Jacob Trimble 62a4735343 Add document describing DASH manifests.
Closes #1233
Issue #1265

Change-Id: I3f207bedd4a943ca49ddc580f152e92e33d7e89a
2018-03-01 17:23:58 +00:00
Joey Parrish 1f58664d6b Update architecture diagrams
Issue #1183

Change-Id: If68b6aca71cb09756af2bbb0836c381397741508
2017-12-18 22:14:42 +00:00
Tim Plummer 775d755259 Remove deprecated @expose annotations.
Added externs for error.js and removed the @expose declarations from the
actual error.js file. Updated the jscompiler flags and docs.

Change-Id: I2aa95ef1c82fc7bd349c637cca3141d5a003b646
2017-09-26 13:51:36 -07:00
Joey Parrish d8ad38b36f Document design for DASH audio channel parsing
Issue #424

Change-Id: Ibd771b7426bc822aeb236415c2ca5bccacb05497
2017-07-25 02:34:50 -07:00
Jacob Trimble 0ca0cb9aba Add design doc for gap jumping.
Issue #555

Change-Id: Ifb8525ad8924f2581f1aa72bc2278b8bc9d857f3
2017-04-03 13:33:56 -07:00
Jacob Trimble cbbc61ec4c Add a diagram for the PresentationTimeline
Change-Id: I6ca8dcd88e56daaf99820816ca9f3c9f02a2076f
2017-02-27 17:06:30 -08:00
Joey Parrish 8ba088a38f Generate externs automatically
We were not able to get our externs generated by the Closure compiler.
There were many issues with the Closure-generated externs, including
the order of the externs and the replacement of record types and enums
with their underlying types.

We made a few attempts to patch the compiler, but could not get our
patches accepted upstream.

This change introduces a new script to generate our externs from
scratch.  It uses a JavaScript parser called 'esprima'.

Some interfaces need to be exported to the generated externs, but are
not actually attached to the namespace by the compiler.  For this, we
introduce a new annotation.  These are the currently-supported export
annotations:

 - @export: truly exported (attached to namespace) by the compiler
 - @expose: truly exposed (not renamed) by the compiler
 - @exportDoc: considered part of the exports in the docs
 - @exportInterface: considered part of the exports in generated externs

These annotations are now documented in docs/design/export.md

Change-Id: I33bf7384889c14c9edb0fa5f11caa7c4f4d79af6
2017-02-01 11:42:16 -08:00
Joey Parrish 0c8f74493c v2 Chromecast support
This introduces Chromecast support directly in the v2 library, as well
as in the demo app.

See the included design doc for details.

Issue #261

Change-Id: I26a707e7fa6bd829c3ebc70e4c9345ec25eed000
2016-07-06 11:47:04 -07:00
Joey Parrish 63e793bdad Design doc for offline
Issue #343

Change-Id: I8c2ff4b2dd1777f28b1dd427527c83576ca8fcbc
2016-06-10 17:13:22 +00:00
Joey Parrish c29fdf401b Shaka v2 Upgrade Guide
Also fixes docs export on some of our external structures.

Change-Id: Ia31f2ad46c6f07845c289c6ca2f206a6fd6cf341
2016-04-13 21:15:40 +00:00
Joey Parrish 1208ab58f0 Update design docs for v2
Change-Id: I3d3fe5c86d6223a10fc69f8e3cd3692b00967ea4
2016-04-07 14:02:47 -07:00
Timothy Drews 415414154d Remove the receipt buffer from StreamingEngine.
The receipt buffer mechanism allowed us use byte-based
eviction; however, it increased the complexity of StreamingEngine
and required us to make strict assumptions about the manifest.

With the receipt buffer gone, we will now do time-based eviction.
Applications can specify a maximum "buffer tail" length instead of a
maximum byte limit.

Change-Id: Iafdbe2e71516ea0ae18254b9767ecfc1d6813644
2016-03-17 22:33:24 +00:00
Joey Parrish acad020d77 Sketch the rest of Player APIs
Lots of TODOs to be filled in.

Change-Id: I571bba91526f334d4bbd89a71974e74f5e499592
2016-03-11 20:04:26 +00:00
Joey Parrish cd2d25cbb2 Convert TextSourceBuffer to TextEngine
This changes the text APIs to correctly handle buffered ranges of
segmented text.

b/25517444

Related to issue #150

Change-Id: I3a11b87e8d93376a5012566deb3bf0d015f52391
2016-02-17 00:19:49 +00:00
Joey Parrish 1a8f873f27 Update design docs
Change-Id: I787b418f203fbbc3279b4a6584673b8181e5a898
2016-01-16 00:50:53 +00:00
Joey Parrish 58003ff9d6 Overhaul build and docs layout
* Move redesign docs to docs/design/
* Put all build output (including closure deps) in dist/
* Restore doc-building scripts
* Fix small doc error in MPD utils

Change-Id: I930f4f976370885b3c3c37c59f1ae7fcc5522413
2016-01-04 12:33:10 -08:00