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
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
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
"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
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
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
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
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
Pending resolution of Axinom/public-test-vectors#17 (HTTP 403 on both
streams), these live streams must be disabled.
Bug: 28087927
Change-Id: I266b95328ea23f9bdc3a51aeb298bd314a844504
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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