Commit Graph

104 Commits

Author SHA1 Message Date
Álvaro Velad Galván 943bdb2b35 Use Network Information API to react to network changes (#2663)
Resolves #1067
2020-07-09 09:46:24 -07:00
Theodore Abshire aa9fe1d049 fix(demo): Fix behavior when UI fails to load
This modifies the demo to load localizations even when the UI fails
to load, so that the footer links will still be visible.
This also makes the footer links work in that situation, and modifies
the shaka-ui-load-failed event to return a failure reason code, so
that we can display a contextual error message in event of a failure.

Closes #2669

Change-Id: I0cf38f7e39558f1977eee490131378c32105437f
2020-06-23 23:29:37 +00:00
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 6d373eb631 Add config for low latency mode
Issue #1525

Change-Id: I561ac50b4681036b7675efdceae70937c4b9244d
2020-06-09 17:29:54 +00: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
Álvaro Velad Galván 8648a3e0fc Add option to customize the polling of expiration time (#2579)
A large value effectively disables use of the expiration time

Closes #2252
2020-05-20 14:58:35 -07:00
Sergei Gridasov 2fdbd5b676 Add new option manifest.hls.useFullSegmentsForStartTime (#2575)
If true, forces HlsParser to use a full segment request for determining
start time, in case the server does not support partial requests.

Closes #2556
2020-05-19 08:24:04 -07: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
michellezhuo 3b52166f56 Remove support for custom DASH ContentProtection schemas
Remove manifest.dash.customScheme callback function since it's no longer used.

Closes #2356

Change-Id: I6d08fcf97cff1bf2985e7c660d74efcd767eaed9
2020-04-09 09:11:20 -07: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 192cb9d1f7 Replaced "Undefined" with "---" in demo.
"Undefined" was a bit confusing as a search term... does it mean
that you aren't searching for anything, or that you are searching for
things with "Undefined" as a value?
Hyphens are a clearer non-search value.

Change-Id: Ie2a542620265ae1f1ca167f18ca311d15d76acf7
2020-02-27 15:22:52 -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
Álvaro Velad Galván 111ba958e6 Add set custom asset with Ad Tag URL (#2393) 2020-02-20 11:13:34 -08:00
Jacob Trimble c8043f3916 Allow configuring when to fetch prev segment.
We fetch the previous segment in Live streams to combat differences
between the manfiest times and the segment times.  Now this can be
configured so apps with correct manifests can avoid the extra segment
request.

Also, we'll update the buffering state when a segment appends so we
leave the buffering state sooner.

Issue #2291

Change-Id: Id12c8132dc11739e4c8d42cb1f08e6ae7da1a966
2020-02-15 01:52:05 +00:00
Jacob Trimble 072ce2b356 Sort locale files.
This also fixes a bug where the UI source.json file was invalid since
it had a trailing comma.

The JSON files were sorted with this Python:

  with open(path, 'r') as f:
    obj = json.load(f)
  with open(path, 'w') as f:
    f.write(json.dumps(obj, indent=2, sort_keys=True,
                       ensure_ascii=False).replace(' \n', '\n'))

Change-Id: I846dfbbc88254030147193fad057bed024997bcd
2020-02-13 19:52:13 +00:00
Theodore Abshire 9cbbc40aaf Added trick play controls option to the demo.
Change-Id: Iaca03a5f4c917ee8d60224ba2c6fc65ccef130a1
2020-02-11 19:56:42 +00:00
Jacob Trimble f7be614c42 Add option to log license exchange.
It is common when debugging protected content to want to see the
license request/response data.  This adds a configuration to easily log
the license request/response data so we can see this without modifying
the code or adding breakpoints.

Change-Id: Ib5db3eaa1447ae8714da935ee459fc7f9ba1e937
2020-02-07 22:22:11 +00: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
Joey Parrish cc640eb51c Drop references to CDNJS
CDNJS isn't updating correctly and maintenance of that mirror's config
is nearly impossible.

Also adds a reference to jsDelivr in the README, matching what's in
the demo app.

Closes #2343

Change-Id: I3a337ccd55ebc4c193ab205a7f8c8a77c33a4b4b
2020-01-16 22:36:32 +00: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
Álvaro Velad Galván 6e8ab0132f Add framerate restriction to the config (#2332)
Closes #2068
2020-01-08 11:33:58 -08:00
Leon Chen c6f0a86d73 add manifest.dash.ignoreEmptyAdaptationSet config option (#2330)
Closes #2023
2020-01-08 11:33:22 -08:00
Álvaro Velad Galván 8cbe54575a Allow disabling the text parsing, decoding, etc in DASH/HLS with a config (#2278) 2019-12-04 13:50:56 -08:00
Álvaro Velad Galván f6da953112 Allow ignoreSuggestedPresentationDelay in DASH (#2260)
* Add ignoreSuggestedPresentationDelay configuration

* Add test

* Change test name

* Add missing locale
2019-12-03 11:22:40 -08:00
Álvaro Velad Galván 05c03fcf64 Allow disable the video parsing/decoding/.. in DASH/HLS with a config (#2259)
* Add disableVideo configuration

* Add missing locale
2019-12-03 11:11:06 -08: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
Joey Parrish 124ab33727 Fix custom asset test
This is not run regularly or by default, and many things about it were
broken since the last time we paid attention to it.

The DRM checks were broken in the demo app refactor for v2.5, and
other parts were broken for even longer.

Change-Id: I053f2615a749e7e7d6252f689d16c50b99cf94ff
2019-07-19 15:59:13 -07:00
Jacob Trimble d771aaef0f Remove some eslint-disable lines.
Issue #1692

Change-Id: I9db8e43e2159d28e1fd7ebf30933d32a8741e6b7
2019-07-15 14:54:11 -07:00
Theodore Abshire 0fa00ddf62 Remove assert on demo assets.
There was a fairly unimportant assert on demo assets that was, for
whatever reason, causing problems on Chromecast.
Specifically, assets are created very early in the load process, early
enough that the asserts module might not have been loaded yet.
Normally goog.require would ensure that is not a problem, but it does
not seem to be helping.
In any case, this just removes that assert.

Change-Id: I9d3bfcdb4fc87df0dec2b167eaef768df6f81d89
2019-06-13 22:07:46 +00: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
Jacob Trimble 0dd64074b9 Only allow one statement per line.
With the new style rule, we cannot have two statements on the same line.
So we can no longer have an "if" on a single line and we cannot have
an arrow function with a body on the same line as when it is used.
This is mostly a manual change.

Change-Id: I2285202dd5ecbad764308bc725e6d317ff2ee7f0
2019-05-13 22:11:50 +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
Jacob Trimble c81389741f Prefer const over let.
A coming update to the Google eslint config will require using "const"
over "let".  This makes that one change to isolate the big changes.

Change-Id: I7d0974c3ae15c53cc45a6b07bf9f6586e2d34aca
2019-05-08 09:22:10 -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