Commit Graph

64 Commits

Author SHA1 Message Date
Joey Parrish c9bd9a5dc9 fix: Correct license headers in demo app
Though not part of the library, this corrects/normalizes the license
headers in the demo app to be consistent with those in the library.

Issue #2638

Change-Id: I4546c4c6970d72ff71a37489fd582623bd6e2ca3
2020-06-09 16:07:06 -07:00
michellezhuo 7cd12770a2 Add low latency DASH and HLS Live manifest to demo assets
Issue #1525

Change-Id: Ife9855b36436d58e0f1943265c5246b661fb4e32
2020-05-26 17:28:53 +00:00
Sandra Lokshina 370de78b2c Add DAI SS stream to the demo page.
Closes #1169.

Change-Id: I85413d2197f96ba9a4bafc1ef668cf7a64ca26f6
2020-04-17 20:03:23 +00:00
Joey Parrish 09147b1273 Update references to "search" tab to "all content"
Change-Id: I77dcc3055b58216db26de7a003b0fd980c779e76
2020-03-10 17:14:51 +00:00
Joey Parrish 95a2814e75 Re-enable DASH live sim streams
Now that Dash-Industry-Forum/dash-live-source-simulator#91 is
resolved, we can re-enable these streams.

Change-Id: I958ccdbf48741703d46d00c4e69a0fc3916249b7
2020-03-04 12:04:25 -08:00
Theodore Abshire 277dd859b4 Replace Live search boolean with a drop-down.
This adds an option for searching for VOD. It also changes the Live
search option to be a drop-down instead of a toggle, so as to prevent
users from trying to search for assets that are both Live and VOD.

Change-Id: Ib03a64128aea6d06baff23fc1d909090fdf7ef79
2020-02-27 21:34:51 -08:00
Theodore Abshire 7a0c41a1d7 Remove the "Unknown" source.
No asset was using "Unknown" as a source, and it was taking up
space in the search drop-downs and being confusing. It was only used
when loading unknown assets from the URL... but then, the source of
an asset loaded from the URL is more or less irrelevant, so that
doesn't really matter.

Change-Id: I1e20c717351aaf66f8a2b3fa25422ed884c7fd80
2020-02-27 14:42:59 -08:00
Joey Parrish 5a032ac268 Disable unavailable Axinom live streams
Pending resolution of Axinom/public-test-vectors#17 (HTTP 403 on both
streams), these live streams must be disabled.

Bug: 28087927

Change-Id: I266b95328ea23f9bdc3a51aeb298bd314a844504
2020-02-05 20:45:45 +00:00
Joey Parrish d8178cd56c Remove unavailable Wowza test asset
This asset is unavailable and I can find no replacement test content
from Wowza.  The link we had to the origin of the old test content now
forwards to a Bitmovin demo.

Bug: 28087927

Change-Id: I15b39eb022a6b31c7556f6f40268e95acfdc8092
2020-02-05 20:45:43 +00:00
Sandra Lokshina a38f61b1b6 Integrate ad experience into the demo page.
Different ads have been added to three assets.
Demo search CSS has been adjusted a bit for better
experience.
Feature name has been changed from "AD" to "ADS" to
reflect the fact that a single asset can have more
than one ad.

Issue #2222:

Change-Id: I12a63b813fb4bac79362f1689b485a824f5a9682
2020-01-29 18:21:16 +00:00
Joey Parrish 1ee32849e4 Fix skipping of raw format streams in HLS
Raw, containerless streams can't be played yet (#2337), but our logic
for skipping or rejecting them was broken.  This broken logic affected
the whole v2.5.x series of releases up to and including v2.5.8.

This fixes the logic and improves it in several ways:
 - Skip streams that can't be played, instead of rejecting the whole
   master playlist
 - Handle raw AC3 and EC3, in addition to MP3 and AAC
 - Handle and skip WebM+HLS in the same way
 - Add the playlist and segment URLs to
   HLS_COULD_NOT_PARSE_SEGMENT_START_TIME errors

This allows us to re-enable the Apple HLS+TS asset as video-only.

Change-Id: Ia00857d87b085aa7e2b810b0b949993cebabe4ba
2020-01-17 12:28:08 -08:00
Theodore Abshire c702ce18a8 Added asset feature for "AD".
Change-Id: I16a90c0b9846c4e90df7be53fecc1aeddd0a22e4
2020-01-15 13:21:05 -08:00
Joey Parrish d2ccc62ab8 Recognize and reject raw AAC in HLS
This makes the HLS parser recognize raw AAC, but refuse to play it.
It will not play correctly until we have full support for
containerless formats at the MediaSource level.

Closes #1083 (raw AAC, can't do anything more for this right now)
Issue #2337 (full support for containerless formats in general)

Change-Id: I50c7f06a1aa08d515f4d9f74603954a6d015dc29
2020-01-13 22:01:59 +00:00
Joey Parrish 9909c2be42 Disable broken Bitcodin HLS asset
The audio from this clip ends about 9 seconds early and so can't be
played to the end.  This asset was previously disabled without a
comment about why.  This now has a clear comment.

Change-Id: I63607837aa8a18928a778ccf4301c1b0510da376
2020-01-11 14:48:55 -08:00
Joey Parrish 36331f950d Update asset list and metadata
Several disabled assets can now be played, and so are re-enabled.
Some others are buggy and had to be newly disabled.

This also adds a new Nimble Streamer asset, updates comments around
disabling, and corrects one title.

See also Dash-Industry-Forum/dash-live-source-simulator#91 and
Axinom/public-test-vectors#16.

Change-Id: I3a112d37eb1b3a79fc8849c5480bc38b7a433022
2020-01-10 23:35:15 +00:00
Joey Parrish 64896d70b0 Use shorter license header
This reflects changes in Google's policy on JavaScript license
headers, which should be smaller to avoid increasing the size of the
binary unnecessarily.

This also updates the company name from "Google, Inc" to "Google LLC".

Change-Id: I3f8b9ed3700b6351f43173d50c94d35c333e82b4
2019-11-22 18:18:36 +00:00
Theodore Abshire 4c6325de08 Added localization system to demo.
No localizations exist currently, but this adds the framework for them.

Change-Id: I81a8cab128884753c765a192181d5d88f0ed13f1
2019-11-18 19:41:58 +00:00
Jacob Trimble 2984fa21f0 Update HIGH_DEFINITION tag on some assets.
Change-Id: Ic8ede9dccd57c8d597bfcea6392f9cad06985a5e
2019-11-12 10:31:54 -08:00
Sandra Lokshina a62bd79a33 Add 'audio only' to the search terms on the demo page.
This also centers the search options a bit to accommodate
an additional field.

Change-Id: Ic05a4faa7b820d69e03e16a9e526c39e8cde58c0
2019-08-23 22:15:45 +00:00
Theodore Abshire 1ea3ca49dc Added more HLS demo assets.
Note that the captions on some of these assets do not display properly
at the moment, due to bugs on our part.

Issue #2035

Change-Id: I5cc8893b824af6ac27f8895565ed1dfbb970b039
2019-08-18 08:51:21 +00:00
Jacob Trimble d771aaef0f Remove some eslint-disable lines.
Issue #1692

Change-Id: I9db8e43e2159d28e1fd7ebf30933d32a8741e6b7
2019-07-15 14:54:11 -07:00
Joey Parrish f8cab5df55 Clean up code-folding comments in assets.js
One of the ending comments seems to have gone away during a refactor.
This adds it back, and cleans up all the blocks with useful comments.

Change-Id: I29d093255805d806bb9957896ed348b0fdf8649e
2019-06-11 20:01:43 +00:00
Joey Parrish 4a37c62205 Fix minor ES6 style issues with demo assets
Issue #1157

Change-Id: Ic073abcf673aeda05484939e87ce3dfcac37dbcd
2019-05-15 16:33:26 +00:00
Jacob Trimble f130dffcef Enable eslint indentation rule.
This is a fully automated change.  The linter will fail because the
extra indentation caused line-length errors.  These won't be fixed
automatically.  They are fixed in a follow-up to make this one fully
automated.

Change-Id: I4d8cf9c998985add2bcd24a81c8d65495668c4f3
2019-05-13 22:31:09 +00:00
Theodore Abshire 4583402735 Re-load current asset if page reloads.
This changes the demo to store the currently-playing asset inside
the hash, and reload that asset if it's in the hash parameters at
page load time.

Change-Id: I6cce6ad8cfd9e941965446ee027435d47b9f479f
2019-05-08 12:13:55 -07:00
Joey Parrish 7bfb00dd78 Feature "Dark Truths" in HLS
This puts HLS content front and center for a better demo on iOS.

Change-Id: I8e058bbddb82e8c50e2521f7619a89be9bc91f56
2019-05-07 20:17:10 -07:00
Theodore Abshire 875f07b595 Swap formats of front-page assets.
There is currently a bug with VTT subtitles in HLS. We plan on fixing
this bug in the future, but for v2.5, we need to switch out the
front-page assets to put our best foot forward.
Thus, this is switching out the HLS version of Angel One to the DASH
version, and the DASH version of the Shaka Player History livestream to
the HLS version. Thus, the asset with a lot of subtitles can be DASH,
while the asset with no subtitles can be HLS.
The other versions of the assets still exist; they are merely now
relegated to the search page.

google/shaka-packager#573

Change-Id: Icd2518b7caa1fe91d279e279a881c985b4acbc39
2019-05-07 20:05:27 -07:00
Theodore Abshire d57c5e95d8 Fix capitalization of some search filters.
Change-Id: I2574db970e5dc201678ebec2e3180a2e18cf6e7b
2019-05-06 21:59:12 +00:00
Joey Parrish 9d1861599d Fix test failures on IE 11 and Tizen
In these two environments, we must convert ES6 code to ES5.  Rather
than work around specific cases, we should let babel convert all test
code into ES5.

This fixes new problems on IE and Tizen introduced with the new demo,
and reverses some work-arounds that were used before.

Change-Id: I6be5ed2cd271e88bc7ebc1e878acbec6bbc21a2e
2019-05-03 17:11:40 +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
Joey Parrish a121733a11 Add FairPlay EME polyfill and DrmEngine support
This adds a polyfill for Apple's prefixed EME implementation.  This
will be used on all macOS versions prior to 10.14 (Mojave) and on
Safari versions prior to 12.1.

This also adds support for FairPlay license protocol eccentricities
in DrmEngine, so that the proper formatting is used for requests and
responses.

Issue #382

Change-Id: If1274d2f018a475f56c09df97645694f13acbde9
2019-04-30 21:15:11 +00:00
Joey Parrish ad66a018be Demo: disable unsupported manifest types
Now that our demo might be running on iOS, where only HLS will be
supported, we need to filter out unsupported manifest types in the
demo app based on the results of probeSupport().

Note that disabled options in a select element are still selectable
on some iOS versions on iphone.  This is certainly a browser bug
outside of my control, and may be obsoleted by design choices in the
upcoming replacement of our demo app.

Closes #997

Change-Id: I466e67729111bf7f3d70324e593d53e3456147a3
2019-04-16 23:00:54 +00:00
Álvaro Velad Galván 6f3241e696 Add SMPTE-TT Subtitle Images (#1859)
This change adds support for images via SMPTE-TT by adding background image support to the TTML text parser. This required changing region parsing to respect global extends.

Issue #840
2019-04-04 15:19:08 -07:00
Theodore Abshire 5d04243c9a Sync demo assets with info from other branch.
Change-Id: Idf845a2e34e4d50f06740ecdffdbd638918a0d38
2019-02-15 21:55:30 +00:00
Theodore Abshire 08332b9cb1 Disable offline storage on some assets.
Not all of our assets support offline storage. For example, livestreams
inherently cannot be stored. In addition, some DRM assets do not have
the right policy settings to be stored offline.
This change marks some assets as being offline-compatible, and disables
the button if the asset is not.
It also removes some obsolete code that somehow ended up getting into
the asset structure.

Issue #1768

Change-Id: I22671bd82e9c5e4645158a6e0a2f8f91893082c7
2019-01-15 22:10:54 +00:00
Torbjörn Einarsson e0f101d244 Update DASH-IF livesim URLs (#1736)
- Changed livesim assets to new host URLs https://livesim.dashif.org.
 - Added SegmentTimeline with $Number$ in addition to SegmentTimeline with $Time$.
 - Added startOver URLS: interval [-20s, 20s] compared to wall-clock. These turn into static at interval end.
 - Corrected some information.
2019-01-10 12:54:50 -08:00
Joey Parrish de909aaf7c Add Sintel w/ 44 subtitle languages
This is another version of Sintel with many more subtitle languages.
This should stress out the UI a bit.  :-)

Change-Id: I675b5a729dc7174b3237b2c2ff397240be623e40
2018-12-04 17:29:42 +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 2c3a448a09 Re-enable an asset that has come back to life
This asset had failing license servers last time we checked (2 years
ago).  It is working now.

Change-Id: I2b11ade8a1cda1782519708c5f7f6ee398c4bd06
2018-11-15 21:14:00 +00:00
Joey Parrish 7091275cbf Replace indexOf with includes, startsWith
This replaces almost every instance of indexOf on both String and
Array.  There are very few places where we really wanted an index.
Mostly, indexOf was used to check for inclusion.

Change-Id: I08e299768b6ffdb4bfc30b39b5d82a058c6d1b56
2018-09-14 19:10:56 +00:00
Joey Parrish fd0449d8f7 Re-enable some disabled style rules
This re-enables the following style rules:
  - "block-spacing"
  - "brace-style"
  - "comma-dangle"
  - "comma-spacing"
  - "new-cap"
  - "no-multi-spaces"
  - "no-multiple-empty-lines"
  - "one-var"
  - "padded-blocks"
  - "prefer-rest-params"

Change-Id: I15d616e8d5b88b273ded6128b4f9ad86bdb26bd1
2018-07-09 19:44:56 +00:00
Theodore Abshire d88af85cbe Re-add DASH-IF asset.
Previously, we have removed the Big Buck Bunny DASH-IF from our
demo assets. It was not loading properly, due to header issues.
Just today, the DASH-IF people moved those test assets to a new domain
with working headers, so this re-adds the asset with the new domain.

Change-Id: I089a781d8525a47dfcadcae2feccacbbdc81f848
2018-05-15 08:29:55 -07:00
Sander Saares 1229f8490c Added Axinom Live test video (#1409) 2018-04-13 09:37:05 -07:00
Sandra Lokshina 8065bd54a8 Change namespace from shakaExterns to shaka.externs
Change-Id: I16432351e2a266aa8fd175669aa27c44bfdffeae
2018-04-11 17:26:26 +00:00
Joey Parrish df3106d6e4 Add a surround-sound TOS clip for testing
Issue #1013

Change-Id: I428192b300f8d7d6175ad02bae0f01eb70d8e195
2018-04-10 14:37:42 +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
TheJohnBowers 7935be5cfc VDMS manifest servers no longer set cookies, and so players (#1388)
We should no longer set "include credentials" on VDMS license
requests.  Doing so results in a CORS error. This change fixes
playback of a couple assets in the demo player.
2018-04-02 23:32:02 +01:00
Theodore Abshire 987dc9e77c Typo fixes and rewording in comments, part Final
This makes a large number of small typo fixes. It also rewords a
number of comments and JSDoc descriptions, and does some
formatting standardization.

This doesn't fix every single issue, but it fixes a lot. Notably,
there were some formatting issues I declined to standardize due to
ambivalence on what the proper standardization would be; for example,
when and where empty lines should show up in JSDoc.

Change-Id: I93d0f3faedb8a42423b6971f6499d651b20492d1
2018-03-21 19:45:22 +00:00
Joey Parrish 230cbc14a0 Fix execution of tests on Tizen 2017
Tizen 2017 will not accept "let" at a global scope, and fails with:
  Block-scoped declarations (let, const, function, class) not yet
  supported outside strict mode

Until we are ready to run in strict mode, we simply override the style
policy and use "var" instead of "let" at this one spot.

Bug: 73781672

Change-Id: I304f81971442534cdac6f6d48c76b68a73cdccb1
2018-02-22 23:38:33 +00:00
Jacob Trimble 2a130473dc Convert 'var' to 'let'/'const' (9 of 9).
This is part of a change to convert all usages of 'var' with either
'let' or 'const'.  This takes a conservative approach for 'const' where
it will only be used for aliases and storing the "original" values in
tests.

Change-Id: I270c70f6cda733ca6121d0761b4c1c162104d379
2018-02-20 11:30:04 -08:00