shaka-player 3.3.1 → 3.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/build_and_test.yaml +73 -0
- package/.github/workflows/release.yaml +53 -0
- package/CHANGELOG.md +13 -1
- package/build/checkversion.py +1 -1
- package/build/test.py +6 -0
- package/dist/controls.css +1 -1
- package/dist/deps.js +4 -4
- package/dist/locales.js +29 -29
- package/dist/shaka-player.compiled.d.ts +2 -1
- package/dist/shaka-player.compiled.debug.d.ts +2 -1
- package/dist/shaka-player.compiled.debug.externs.js +17 -12
- package/dist/shaka-player.compiled.debug.js +93 -90
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +17 -12
- package/dist/shaka-player.compiled.js +687 -686
- package/dist/shaka-player.compiled.map +3 -3
- package/dist/shaka-player.ui.d.ts +4 -12
- package/dist/shaka-player.ui.debug.d.ts +4 -12
- package/dist/shaka-player.ui.debug.externs.js +19 -23
- package/dist/shaka-player.ui.debug.js +107 -105
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +19 -23
- package/dist/shaka-player.ui.js +952 -952
- package/dist/shaka-player.ui.map +2 -2
- package/karma.conf.js +19 -15
- package/lib/ads/ad_manager.js +1 -0
- package/lib/cast/cast_proxy.js +3 -0
- package/lib/cast/cast_receiver.js +3 -0
- package/lib/dash/dash_parser.js +31 -19
- package/lib/hls/manifest_text_parser.js +1 -0
- package/lib/media/quality_observer.js +17 -34
- package/lib/media/region_observer.js +39 -33
- package/lib/media/region_timeline.js +17 -19
- package/lib/media/streaming_engine.js +1 -1
- package/lib/net/networking_engine.js +4 -0
- package/lib/offline/storage.js +8 -9
- package/lib/player.js +32 -10
- package/lib/util/fake_event_target.js +21 -1
- package/package.json +3 -6
- package/test/dash/dash_parser_live_unit.js +43 -0
- package/test/dash/dash_parser_manifest_unit.js +2 -1
- package/test/hls/hls_parser_unit.js +74 -0
- package/test/media/quality_observer_unit.js +4 -1
- package/test/media/region_observer_unit.js +40 -5
- package/test/media/region_timeline_unit.js +40 -22
- package/test/test/util/util.js +10 -7
- package/test/ui/text_displayer_layout_unit.js +8 -7
- package/ui/controls.js +3 -0
- package/ui/localization.js +12 -36
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
name: Build and Test PR
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request: # Trigger for pull requests.
|
|
5
|
+
types: [opened, synchronize, reopened, edited, ready_for_review]
|
|
6
|
+
branches:
|
|
7
|
+
- master
|
|
8
|
+
- v[0-9]*
|
|
9
|
+
workflow_dispatch: # Allows for manual triggering.
|
|
10
|
+
inputs:
|
|
11
|
+
ref:
|
|
12
|
+
description: "The ref to build and test."
|
|
13
|
+
required: False
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
lint:
|
|
17
|
+
name: Lint
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout code
|
|
21
|
+
uses: actions/checkout@v2
|
|
22
|
+
with:
|
|
23
|
+
ref: ${{ github.event.inputs.ref || github.ref }}
|
|
24
|
+
|
|
25
|
+
- name: Lint
|
|
26
|
+
run: python build/check.py
|
|
27
|
+
|
|
28
|
+
build_and_test:
|
|
29
|
+
# Don't waste time doing a full matrix of test runs when there was an
|
|
30
|
+
# obvious linter error.
|
|
31
|
+
needs: lint
|
|
32
|
+
strategy:
|
|
33
|
+
matrix:
|
|
34
|
+
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
|
|
35
|
+
browser: ["Chrome", "Firefox", "Edge", "Safari"]
|
|
36
|
+
exclude:
|
|
37
|
+
- os: ubuntu-latest
|
|
38
|
+
browser: Edge
|
|
39
|
+
- os: windows-latest
|
|
40
|
+
browser: Safari
|
|
41
|
+
- os: ubuntu-latest
|
|
42
|
+
browser: Safari
|
|
43
|
+
include:
|
|
44
|
+
# Run Linux browsers with xvfb, so they're in a headless X session.
|
|
45
|
+
- os: ubuntu-latest
|
|
46
|
+
extra_flags: "--use-xvfb"
|
|
47
|
+
# Disable fail-fast so that one matrix-job failing doesn't make the other
|
|
48
|
+
# ones end early.
|
|
49
|
+
fail-fast: false
|
|
50
|
+
|
|
51
|
+
name: Build and test ${{ matrix.os }} ${{ matrix.browser }}
|
|
52
|
+
runs-on: ${{ matrix.os }}
|
|
53
|
+
|
|
54
|
+
steps:
|
|
55
|
+
# Firefox on Ubuntu appears to not have the right things installed in
|
|
56
|
+
# the environment used by GitHub actions, so make sure that ffmpeg is
|
|
57
|
+
# installed. Otherwise, the browser might not support some codecs that the
|
|
58
|
+
# tests assume will be supported.
|
|
59
|
+
- name: Install FFmpeg
|
|
60
|
+
if: matrix.os == 'ubuntu-latest' && matrix.browser == 'Firefox'
|
|
61
|
+
run: sudo apt -y update && sudo apt -y install ffmpeg
|
|
62
|
+
|
|
63
|
+
- name: Checkout code
|
|
64
|
+
uses: actions/checkout@v2
|
|
65
|
+
with:
|
|
66
|
+
ref: ${{ github.event.inputs.ref || github.ref }}
|
|
67
|
+
|
|
68
|
+
- name: Build Player
|
|
69
|
+
run: python build/all.py
|
|
70
|
+
|
|
71
|
+
- name: Test Player
|
|
72
|
+
run: |
|
|
73
|
+
python build/test.py --browsers ${{ matrix.browser }} --reporters spec --spec-hide-passed --drm ${{ matrix.extra_flags }}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
on:
|
|
2
|
+
push:
|
|
3
|
+
branches:
|
|
4
|
+
- master
|
|
5
|
+
- v[0-9]*
|
|
6
|
+
|
|
7
|
+
name: Release
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
release:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
outputs:
|
|
13
|
+
release_created: ${{ steps.release.outputs.release_created }}
|
|
14
|
+
tag_name: ${{ steps.release.outputs.tag_name }}
|
|
15
|
+
steps:
|
|
16
|
+
# Create/update release PR
|
|
17
|
+
- uses: google-github-actions/release-please-action@v3
|
|
18
|
+
id: release
|
|
19
|
+
with:
|
|
20
|
+
# Required input to specify the release type (node package).
|
|
21
|
+
release-type: node
|
|
22
|
+
# Make sure the player version gets updated.
|
|
23
|
+
extra-files: lib/player.js
|
|
24
|
+
# Make sure we create the PR against the correct branch.
|
|
25
|
+
default-branch: ${{ github.ref_name }}
|
|
26
|
+
|
|
27
|
+
# The jobs below are all conditional on a release having been created by
|
|
28
|
+
# someone merging the release PR. They all run in parallel.
|
|
29
|
+
|
|
30
|
+
npm:
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
needs: release
|
|
33
|
+
if: ${{ needs.release.outputs.release_created }}
|
|
34
|
+
steps:
|
|
35
|
+
- uses: actions/checkout@v2
|
|
36
|
+
- uses: actions/setup-node@v1
|
|
37
|
+
with:
|
|
38
|
+
node-version: 12
|
|
39
|
+
registry-url: 'https://registry.npmjs.org'
|
|
40
|
+
- run: npm ci
|
|
41
|
+
- run: npm publish
|
|
42
|
+
env:
|
|
43
|
+
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
|
44
|
+
- run: npm pack
|
|
45
|
+
- uses: svenstaro/upload-release-action@483c1e56f95e88835747b1c7c60581215016cbf2
|
|
46
|
+
with:
|
|
47
|
+
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
48
|
+
tag: ${{ needs.release.outputs.tag_name }}
|
|
49
|
+
file: shaka-player-*.tgz
|
|
50
|
+
file_glob: true
|
|
51
|
+
overwrite: true
|
|
52
|
+
|
|
53
|
+
# TODO: Publish to appspot
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
### [3.3.2](https://github.com/google/shaka-player/compare/v3.3.1...v3.3.2) (2022-02-16)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Add explicit release() for FakeEventTarget ([#3950](https://github.com/google/shaka-player/issues/3950)) ([1f9dd98](https://github.com/google/shaka-player/commit/1f9dd9856eb21079ca789b2c8f7e461438cb13de))
|
|
9
|
+
* Fix download of some HLS assets ([#3934](https://github.com/google/shaka-player/issues/3934)) ([449065c](https://github.com/google/shaka-player/commit/449065c84c5b6e4bbceba03c2345a3330ac2d1a7))
|
|
10
|
+
* Fix exception in StreamingEngine for EMSG with HLS ([#3887](https://github.com/google/shaka-player/issues/3887)) ([ca1ca33](https://github.com/google/shaka-player/commit/ca1ca33c3caf1787c52713ccb151ea59a9285649)), closes [#3886](https://github.com/google/shaka-player/issues/3886)
|
|
11
|
+
* Fix memory leak in DASH live streams with inband EventStream ([#3957](https://github.com/google/shaka-player/issues/3957)) ([6eb81da](https://github.com/google/shaka-player/commit/6eb81dae36a9cced95bd99f5356b69205c264ee0))
|
|
12
|
+
* **HLS:** skip whitespace in attributes ([#3884](https://github.com/google/shaka-player/issues/3884)) ([6305555](https://github.com/google/shaka-player/commit/6305555d40ca0e8be1604fc1f07dd34112b62530))
|
|
13
|
+
|
|
1
14
|
## 3.3.1 (2022-01-28)
|
|
2
15
|
|
|
3
16
|
Bugfixes:
|
|
@@ -4876,4 +4889,3 @@ Broken Compatibility:
|
|
|
4876
4889
|
## 0.1b (2014-11-21)
|
|
4877
4890
|
|
|
4878
4891
|
Private beta release.
|
|
4879
|
-
|
package/build/checkversion.py
CHANGED
|
@@ -37,7 +37,7 @@ def changelog_version():
|
|
|
37
37
|
"""Gets the version of the library from the CHANGELOG."""
|
|
38
38
|
path = os.path.join(shakaBuildHelpers.get_source_base(), 'CHANGELOG.md')
|
|
39
39
|
with shakaBuildHelpers.open_file(path, 'r') as f:
|
|
40
|
-
match = re.search(r'
|
|
40
|
+
match = re.search(r'### \[(.*?)\]\(', f.read())
|
|
41
41
|
return match.group(1) if match else ''
|
|
42
42
|
|
|
43
43
|
|
package/build/test.py
CHANGED
|
@@ -229,6 +229,11 @@ class Launcher:
|
|
|
229
229
|
default=None,
|
|
230
230
|
const=2,
|
|
231
231
|
nargs='?')
|
|
232
|
+
running_commands.add_argument(
|
|
233
|
+
'--spec-hide-passed',
|
|
234
|
+
help='If provided, configure the spec reporter to hide passing tests.',
|
|
235
|
+
action='store_true',
|
|
236
|
+
default=False)
|
|
232
237
|
running_commands.add_argument(
|
|
233
238
|
'--test-custom-asset',
|
|
234
239
|
help='Run asset playback tests on a custom manifest URI.',
|
|
@@ -358,6 +363,7 @@ class Launcher:
|
|
|
358
363
|
'single_run',
|
|
359
364
|
'uncompiled',
|
|
360
365
|
'delay_tests',
|
|
366
|
+
'spec_hide_passed',
|
|
361
367
|
'test_custom_asset',
|
|
362
368
|
'test_custom_license_server',
|
|
363
369
|
'test_timeout',
|
package/dist/controls.css
CHANGED
|
@@ -51,4 +51,4 @@
|
|
|
51
51
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
52
52
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
53
53
|
* SOFTWARE.
|
|
54
|
-
*/.shaka-tooltips-on{overflow:visible}.shaka-tooltips-on>[class*=shaka-tooltip]{position:relative}.shaka-tooltips-on>[class*=shaka-tooltip]:active:after,.shaka-tooltips-on>[class*=shaka-tooltip]:focus-visible:after,.shaka-tooltips-on>[class*=shaka-tooltip]:hover:after{content:attr(aria-label);font-family:Roboto-Regular,Roboto,sans-serif;line-height:16px;white-space:nowrap;font-size:13px;background:rgba(35,35,35,.9);color:#fff;border-radius:3px;padding:5px 10px;position:absolute;bottom:37px;left:16px;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.shaka-tooltips-on>.shaka-tooltip-status:active:after,.shaka-tooltips-on>.shaka-tooltip-status:focus-visible:after,.shaka-tooltips-on>.shaka-tooltip-status:hover:after{content:attr(aria-label) " (" attr(shaka-status) ")"}.shaka-tooltips-on button:first-child:active:after,.shaka-tooltips-on button:first-child:focus-visible:after,.shaka-tooltips-on button:first-child:hover:after{left:0;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}.shaka-tooltips-on button:last-child:active:after,.shaka-tooltips-on button:last-child:focus-visible:after,.shaka-tooltips-on button:last-child:hover:after{left:32px;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);-o-transform:translateX(-100%);transform:translateX(-100%)}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/roboto/v29/KFOmCnqEu92Fr1Mu4mxP.ttf) format('truetype')}@font-face{font-family:'Material Icons Round';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsround/
|
|
54
|
+
*/.shaka-tooltips-on{overflow:visible}.shaka-tooltips-on>[class*=shaka-tooltip]{position:relative}.shaka-tooltips-on>[class*=shaka-tooltip]:active:after,.shaka-tooltips-on>[class*=shaka-tooltip]:focus-visible:after,.shaka-tooltips-on>[class*=shaka-tooltip]:hover:after{content:attr(aria-label);font-family:Roboto-Regular,Roboto,sans-serif;line-height:16px;white-space:nowrap;font-size:13px;background:rgba(35,35,35,.9);color:#fff;border-radius:3px;padding:5px 10px;position:absolute;bottom:37px;left:16px;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.shaka-tooltips-on>.shaka-tooltip-status:active:after,.shaka-tooltips-on>.shaka-tooltip-status:focus-visible:after,.shaka-tooltips-on>.shaka-tooltip-status:hover:after{content:attr(aria-label) " (" attr(shaka-status) ")"}.shaka-tooltips-on button:first-child:active:after,.shaka-tooltips-on button:first-child:focus-visible:after,.shaka-tooltips-on button:first-child:hover:after{left:0;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}.shaka-tooltips-on button:last-child:active:after,.shaka-tooltips-on button:last-child:focus-visible:after,.shaka-tooltips-on button:last-child:hover:after{left:32px;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);-o-transform:translateX(-100%);transform:translateX(-100%)}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/roboto/v29/KFOmCnqEu92Fr1Mu4mxP.ttf) format('truetype')}@font-face{font-family:'Material Icons Round';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsround/v99/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmM.otf) format('opentype')}.material-icons-round{font-family:'Material Icons Round';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}/*# sourceMappingURL=controls.css.map */
|
package/dist/deps.js
CHANGED
|
@@ -68,9 +68,9 @@ goog.addDependency('../../../../lib/media/play_rate_controller.js', ['shaka.medi
|
|
|
68
68
|
goog.addDependency('../../../../lib/media/playhead.js', ['shaka.media.MediaSourcePlayhead', 'shaka.media.Playhead', 'shaka.media.SrcEqualsPlayhead'], ['goog.asserts', 'shaka.log', 'shaka.media.GapJumpingController', 'shaka.media.StallDetector', 'shaka.media.StallDetector.MediaElementImplementation', 'shaka.media.TimeRangesUtils', 'shaka.media.VideoWrapper', 'shaka.util.EventManager', 'shaka.util.IReleasable', 'shaka.util.MediaReadyState', 'shaka.util.Timer'], {});
|
|
69
69
|
goog.addDependency('../../../../lib/media/playhead_observer.js', ['shaka.media.IPlayheadObserver', 'shaka.media.PlayheadObserverManager'], ['shaka.util.IReleasable', 'shaka.util.Timer'], {});
|
|
70
70
|
goog.addDependency('../../../../lib/media/presentation_timeline.js', ['shaka.media.PresentationTimeline'], ['goog.asserts', 'shaka.log', 'shaka.media.SegmentReference'], {});
|
|
71
|
-
goog.addDependency('../../../../lib/media/quality_observer.js', ['shaka.media.QualityObserver'], ['shaka.log', 'shaka.media.IPlayheadObserver'], {});
|
|
72
|
-
goog.addDependency('../../../../lib/media/region_observer.js', ['shaka.media.RegionObserver'], ['shaka.media.IPlayheadObserver', 'shaka.media.RegionTimeline'], {});
|
|
73
|
-
goog.addDependency('../../../../lib/media/region_timeline.js', ['shaka.media.RegionTimeline'], ['shaka.util.IReleasable', 'shaka.util.Timer'], {});
|
|
71
|
+
goog.addDependency('../../../../lib/media/quality_observer.js', ['shaka.media.QualityObserver'], ['shaka.log', 'shaka.media.IPlayheadObserver', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {});
|
|
72
|
+
goog.addDependency('../../../../lib/media/region_observer.js', ['shaka.media.RegionObserver'], ['shaka.media.IPlayheadObserver', 'shaka.media.RegionTimeline', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {});
|
|
73
|
+
goog.addDependency('../../../../lib/media/region_timeline.js', ['shaka.media.RegionTimeline'], ['shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IReleasable', 'shaka.util.Timer'], {});
|
|
74
74
|
goog.addDependency('../../../../lib/media/segment_index.js', ['shaka.media.MetaSegmentIndex', 'shaka.media.SegmentIndex', 'shaka.media.SegmentIterator'], ['goog.asserts', 'shaka.Deprecate', 'shaka.media.SegmentReference', 'shaka.util.IReleasable', 'shaka.util.Timer'], {});
|
|
75
75
|
goog.addDependency('../../../../lib/media/segment_reference.js', ['shaka.media.InitSegmentReference', 'shaka.media.SegmentReference'], ['goog.asserts', 'shaka.util.ArrayUtils'], {});
|
|
76
76
|
goog.addDependency('../../../../lib/media/stall_detector.js', ['shaka.media.StallDetector', 'shaka.media.StallDetector.Implementation', 'shaka.media.StallDetector.MediaElementImplementation'], ['shaka.media.TimeRangesUtils', 'shaka.util.IReleasable'], {});
|
|
@@ -154,7 +154,7 @@ goog.addDependency('../../../../lib/util/error.js', ['shaka.util.Error'], [], {}
|
|
|
154
154
|
goog.addDependency('../../../../lib/util/event_manager.js', ['shaka.util.EventManager'], ['goog.asserts', 'shaka.util.IReleasable', 'shaka.util.MultiMap'], {});
|
|
155
155
|
goog.addDependency('../../../../lib/util/fairplay_utils.js', ['shaka.util.FairPlayUtils'], ['goog.Uri', 'goog.asserts', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.StringUtils'], {});
|
|
156
156
|
goog.addDependency('../../../../lib/util/fake_event.js', ['shaka.util.FakeEvent'], ['goog.asserts'], {});
|
|
157
|
-
goog.addDependency('../../../../lib/util/fake_event_target.js', ['shaka.util.FakeEventTarget'], ['goog.asserts', 'shaka.log', 'shaka.util.FakeEvent', 'shaka.util.MultiMap'], {});
|
|
157
|
+
goog.addDependency('../../../../lib/util/fake_event_target.js', ['shaka.util.FakeEventTarget'], ['goog.asserts', 'shaka.log', 'shaka.util.FakeEvent', 'shaka.util.IReleasable', 'shaka.util.MultiMap'], {});
|
|
158
158
|
goog.addDependency('../../../../lib/util/functional.js', ['shaka.util.Functional'], ['shaka.Deprecate'], {});
|
|
159
159
|
goog.addDependency('../../../../lib/util/i_destroyable.js', ['shaka.util.IDestroyable'], [], {});
|
|
160
160
|
goog.addDependency('../../../../lib/util/i_releasable.js', ['shaka.util.IReleasable'], [], {});
|
package/dist/locales.js
CHANGED
|
@@ -720,44 +720,44 @@ shaka.ui.Locales.addTo = function(localization) {
|
|
|
720
720
|
* @const
|
|
721
721
|
*/
|
|
722
722
|
shaka.ui.Locales.Ids = {
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
AD_DURATION: 'AD_DURATION',
|
|
726
|
-
SEEK: 'SEEK',
|
|
727
|
-
AIRPLAY: 'AIRPLAY',
|
|
728
|
-
REPLAY: 'REPLAY',
|
|
723
|
+
MUTE: 'MUTE',
|
|
724
|
+
VOLUME: 'VOLUME',
|
|
729
725
|
LOOP: 'LOOP',
|
|
730
726
|
RESOLUTION: 'RESOLUTION',
|
|
731
|
-
|
|
732
|
-
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
733
|
-
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
|
|
734
|
-
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
735
|
-
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
727
|
+
STATISTICS: 'STATISTICS',
|
|
736
728
|
AD_TIME: 'AD_TIME',
|
|
737
|
-
|
|
738
|
-
|
|
729
|
+
UNMUTE: 'UNMUTE',
|
|
730
|
+
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
739
731
|
FULL_SCREEN: 'FULL_SCREEN',
|
|
740
|
-
|
|
741
|
-
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
|
|
742
|
-
VOLUME: 'VOLUME',
|
|
732
|
+
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
|
|
743
733
|
CAPTIONS: 'CAPTIONS',
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
748
|
-
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
734
|
+
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
735
|
+
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
736
|
+
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
749
737
|
PAUSE: 'PAUSE',
|
|
750
|
-
|
|
738
|
+
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
739
|
+
REPLAY: 'REPLAY',
|
|
740
|
+
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
741
|
+
LANGUAGE: 'LANGUAGE',
|
|
742
|
+
OFF: 'OFF',
|
|
751
743
|
BACK: 'BACK',
|
|
752
744
|
PLAY: 'PLAY',
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
745
|
+
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
746
|
+
AD_PROGRESS: 'AD_PROGRESS',
|
|
747
|
+
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
748
|
+
AD_DURATION: 'AD_DURATION',
|
|
749
|
+
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
750
|
+
SKIP_AD: 'SKIP_AD',
|
|
751
|
+
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
|
|
752
|
+
LIVE: 'LIVE',
|
|
756
753
|
REWIND: 'REWIND',
|
|
757
754
|
PLAYBACK_RATE: 'PLAYBACK_RATE',
|
|
758
|
-
|
|
755
|
+
CAST: 'CAST',
|
|
756
|
+
SEEK: 'SEEK',
|
|
757
|
+
ON: 'ON',
|
|
759
758
|
AUTO_QUALITY: 'AUTO_QUALITY',
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
759
|
+
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
760
|
+
AIRPLAY: 'AIRPLAY',
|
|
761
|
+
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
762
|
+
FAST_FORWARD: 'FAST_FORWARD',
|
|
763
763
|
};
|
|
@@ -2395,7 +2395,7 @@ declare namespace shaka.util {
|
|
|
2395
2395
|
}
|
|
2396
2396
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/dist/shaka-player.compiled.externs.js
|
|
2397
2397
|
declare namespace shaka.util {
|
|
2398
|
-
class FakeEventTarget implements EventTarget {
|
|
2398
|
+
class FakeEventTarget implements EventTarget , shaka.util.IReleasable {
|
|
2399
2399
|
private noStructuralTyping_shaka_util_FakeEventTarget : any;
|
|
2400
2400
|
/**
|
|
2401
2401
|
* Add an event listener to this object.
|
|
@@ -2415,6 +2415,7 @@ declare namespace shaka.util {
|
|
|
2415
2415
|
* @param listener The callback or listener object to invoke.
|
|
2416
2416
|
*/
|
|
2417
2417
|
listenToAllEvents (listener : EventListener | null | ( (a : Event ) => any ) ) : any ;
|
|
2418
|
+
release ( ) : any ;
|
|
2418
2419
|
/**
|
|
2419
2420
|
* Remove an event listener from this object.
|
|
2420
2421
|
* @param type The event type for which you wish to remove a listener.
|
|
@@ -2395,7 +2395,7 @@ declare namespace shaka.util {
|
|
|
2395
2395
|
}
|
|
2396
2396
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/dist/shaka-player.compiled.debug.externs.js
|
|
2397
2397
|
declare namespace shaka.util {
|
|
2398
|
-
class FakeEventTarget implements EventTarget {
|
|
2398
|
+
class FakeEventTarget implements EventTarget , shaka.util.IReleasable {
|
|
2399
2399
|
private noStructuralTyping_shaka_util_FakeEventTarget : any;
|
|
2400
2400
|
/**
|
|
2401
2401
|
* Add an event listener to this object.
|
|
@@ -2415,6 +2415,7 @@ declare namespace shaka.util {
|
|
|
2415
2415
|
* @param listener The callback or listener object to invoke.
|
|
2416
2416
|
*/
|
|
2417
2417
|
listenToAllEvents (listener : EventListener | null | ( (a : Event ) => any ) ) : any ;
|
|
2418
|
+
release ( ) : any ;
|
|
2418
2419
|
/**
|
|
2419
2420
|
* Remove an event listener from this object.
|
|
2420
2421
|
* @param type The event type for which you wish to remove a listener.
|
|
@@ -1120,11 +1120,24 @@ shaka.util.FakeEvent = class {
|
|
|
1120
1120
|
*/
|
|
1121
1121
|
constructor(type, dict) {}
|
|
1122
1122
|
};
|
|
1123
|
+
/**
|
|
1124
|
+
* An interface to standardize how objects release internal references
|
|
1125
|
+
* synchronously. If an object needs to asynchronously release references, then
|
|
1126
|
+
* it should use 'shaka.util.IDestroyable'.
|
|
1127
|
+
* @interface
|
|
1128
|
+
*/
|
|
1129
|
+
shaka.util.IReleasable = class {
|
|
1130
|
+
/**
|
|
1131
|
+
* Request that this object release all internal references.
|
|
1132
|
+
*/
|
|
1133
|
+
release() {}
|
|
1134
|
+
};
|
|
1123
1135
|
/**
|
|
1124
1136
|
* @summary A work-alike for EventTarget. Only DOM elements may be true
|
|
1125
1137
|
* EventTargets, but this can be used as a base class to provide event dispatch
|
|
1126
1138
|
* to non-DOM classes. Only FakeEvents should be dispatched.
|
|
1127
1139
|
* @implements {EventTarget}
|
|
1140
|
+
* @implements {shaka.util.IReleasable}
|
|
1128
1141
|
*/
|
|
1129
1142
|
shaka.util.FakeEventTarget = class {
|
|
1130
1143
|
/** */
|
|
@@ -1162,6 +1175,10 @@ shaka.util.FakeEventTarget = class {
|
|
|
1162
1175
|
* @override
|
|
1163
1176
|
*/
|
|
1164
1177
|
dispatchEvent(event) {}
|
|
1178
|
+
/**
|
|
1179
|
+
* @override
|
|
1180
|
+
*/
|
|
1181
|
+
release() {}
|
|
1165
1182
|
};
|
|
1166
1183
|
/**
|
|
1167
1184
|
* These are the listener types defined in the closure extern for EventTarget.
|
|
@@ -1344,18 +1361,6 @@ shaka.net.NetworkingEngine.OnHeadersReceived;
|
|
|
1344
1361
|
* reason (e.g. even if the download was aborted).
|
|
1345
1362
|
*/
|
|
1346
1363
|
shaka.net.NetworkingEngine.OnDownloadFailed;
|
|
1347
|
-
/**
|
|
1348
|
-
* An interface to standardize how objects release internal references
|
|
1349
|
-
* synchronously. If an object needs to asynchronously release references, then
|
|
1350
|
-
* it should use 'shaka.util.IDestroyable'.
|
|
1351
|
-
* @interface
|
|
1352
|
-
*/
|
|
1353
|
-
shaka.util.IReleasable = class {
|
|
1354
|
-
/**
|
|
1355
|
-
* Request that this object release all internal references.
|
|
1356
|
-
*/
|
|
1357
|
-
release() {}
|
|
1358
|
-
};
|
|
1359
1364
|
/**
|
|
1360
1365
|
* @summary
|
|
1361
1366
|
* An EventManager maintains a collection of "event
|