shaka-player 3.1.5 → 3.1.6
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 +3 -3
- 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 +5 -0
- package/dist/shaka-player.compiled.debug.js +200 -198
- package/dist/shaka-player.compiled.debug.map +3 -3
- package/dist/shaka-player.compiled.externs.js +5 -0
- package/dist/shaka-player.compiled.js +609 -608
- 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 +77 -76
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +19 -23
- package/dist/shaka-player.ui.js +901 -901
- 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/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 +10 -11
- package/lib/player.js +25 -9
- 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/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.1.6](https://github.com/google/shaka-player/compare/v3.1.5...v3.1.6) (2022-02-17)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Add explicit release() for FakeEventTarget ([#3950](https://github.com/google/shaka-player/issues/3950)) ([9119535](https://github.com/google/shaka-player/commit/9119535fb37fd888f07ae24e4848c5f4262b2e6f))
|
|
9
|
+
* Fix download of some HLS assets ([#3934](https://github.com/google/shaka-player/issues/3934)) ([b20dadb](https://github.com/google/shaka-player/commit/b20dadb7f367f0dc446094b23870d44a3ddb2416))
|
|
10
|
+
* Fix exception in StreamingEngine for EMSG with HLS ([#3887](https://github.com/google/shaka-player/issues/3887)) ([02030bf](https://github.com/google/shaka-player/commit/02030bf4ba7e2b14bf61bbc8d1f79f4751d69551)), 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)) ([4389aeb](https://github.com/google/shaka-player/commit/4389aeb5212a621651741629df6d457d37dbf075))
|
|
12
|
+
* **HLS:** skip whitespace in attributes ([#3884](https://github.com/google/shaka-player/issues/3884)) ([fda4b80](https://github.com/google/shaka-player/commit/fda4b8046e6ce5081c58c1be8150f095010df54c))
|
|
13
|
+
|
|
1
14
|
## 3.1.5 (2022-01-28)
|
|
2
15
|
|
|
3
16
|
Bugfixes:
|
|
@@ -4498,4 +4511,3 @@ Broken Compatibility:
|
|
|
4498
4511
|
## 0.1b (2014-11-21)
|
|
4499
4512
|
|
|
4500
4513
|
Private beta release.
|
|
4501
|
-
|
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(), re.MULTILINE)
|
|
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
|
@@ -27,4 +27,4 @@
|
|
|
27
27
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
28
28
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
29
29
|
* SOFTWARE.
|
|
30
|
-
*/.shaka-spinner-svg{position:absolute;top:0;left:0;right:0;bottom:0;animation:rotate 2s linear infinite;transform-origin:center center;width:100%;height:100%;margin:0;padding:0}.shaka-spinner-path{stroke:#202124;stroke-dasharray:20,200;stroke-dashoffset:0;animation:dash 1s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.shaka-spacer{cursor:default;flex-shrink:1;flex-grow:1;margin:0}.shaka-overflow-menu,.shaka-settings-menu{overflow-x:hidden;overflow-y:auto;white-space:nowrap;background:#fff;box-shadow:0 1px 9px 0 rgba(0,0,0,.4);border-radius:2px;max-height:250px;min-width:180px;opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s;display:flex;flex-direction:column;position:absolute;z-index:2;right:15px;bottom:30px}.shaka-controls-container[casting=true] .shaka-overflow-menu,.shaka-controls-container[casting=true] .shaka-settings-menu,.shaka-controls-container[shown=true] .shaka-overflow-menu,.shaka-controls-container[shown=true] .shaka-settings-menu{opacity:1}.shaka-overflow-menu button,.shaka-settings-menu button{font-size:14px;background:0 0;color:#000;border:none;min-height:30px;padding:3.5px 6px;display:flex;align-items:center;cursor:pointer}.shaka-overflow-menu button:hover,.shaka-settings-menu button:hover{background:#e0e0e0}.shaka-overflow-menu button label,.shaka-settings-menu button label{cursor:pointer}.shaka-keyboard-navigation .shaka-overflow-menu button:focus,.shaka-keyboard-navigation .shaka-settings-menu button:focus{background:#e0e0e0}.shaka-overflow-menu i,.shaka-settings-menu i{padding-left:10px;padding-right:10px}.shaka-overflow-menu.shaka-low-position,.shaka-settings-menu.shaka-low-position{bottom:15px}.shaka-overflow-menu span{text-align:left}.shaka-overflow-button-label{position:relative;display:flex;flex-direction:column}.shaka-current-selection-span{color:rgba(0,0,0,.54)}.shaka-settings-menu span{margin-left:54px}.shaka-back-to-overflow-button span{margin-left:0}.shaka-back-to-overflow-button i{padding-right:20px}.shaka-auto-span{left:17px}.shaka-captions-on{color:#000}.shaka-captions-off{color:grey}.shaka-controls-container[ad-active=true]{pointer-events:none}.shaka-controls-container[ad-active=true] .shaka-bottom-controls{pointer-events:auto}.shaka-client-side-ad-container,.shaka-server-side-ad-container{position:absolute;left:0;right:0;top:0;bottom:0}.shaka-video-container[shaka-controls=true] .shaka-client-side-ad-container iframe,.shaka-video-container[shaka-controls=true] .shaka-server-side-ad-container iframe{height:90%}.shaka-server-side-ad-container{width:100%;height:100%;flex-shrink:1}.shaka-server-side-ad-container:not([ad-active=true]){pointer-events:none}.shaka-ad-controls{display:flex;flex-direction:row;z-index:1;padding-bottom:1%}.shaka-video-container:not([shaka-controls=true]) .shaka-ad-controls{display:none}.shaka-ad-controls button,.shaka-ad-controls div{color:#fff;font-size:initial}.shaka-ad-controls div:not(.shaka-skip-ad-counter){margin:1px 6px}.shaka-ad-counter,.shaka-ad-position{display:flex;justify-content:flex-end;flex-direction:column;text-shadow:1px 1px 4px #000}.shaka-skip-ad-container{position:relative;right:-2%;display:flex;flex-direction:row;margin:0}.shaka-skip-ad-button{padding:5px 15px;background:rgba(0,0,0,.7);border:none;cursor:pointer}.shaka-skip-ad-button:disabled{background:rgba(0,0,0,.3)}.shaka-skip-ad-counter{padding:5px 5px;background:rgba(0,0,0,.7);margin:0}@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/
|
|
30
|
+
*/.shaka-spinner-svg{position:absolute;top:0;left:0;right:0;bottom:0;animation:rotate 2s linear infinite;transform-origin:center center;width:100%;height:100%;margin:0;padding:0}.shaka-spinner-path{stroke:#202124;stroke-dasharray:20,200;stroke-dashoffset:0;animation:dash 1s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.shaka-spacer{cursor:default;flex-shrink:1;flex-grow:1;margin:0}.shaka-overflow-menu,.shaka-settings-menu{overflow-x:hidden;overflow-y:auto;white-space:nowrap;background:#fff;box-shadow:0 1px 9px 0 rgba(0,0,0,.4);border-radius:2px;max-height:250px;min-width:180px;opacity:0;transition:opacity cubic-bezier(.4,0,.6,1) .6s;display:flex;flex-direction:column;position:absolute;z-index:2;right:15px;bottom:30px}.shaka-controls-container[casting=true] .shaka-overflow-menu,.shaka-controls-container[casting=true] .shaka-settings-menu,.shaka-controls-container[shown=true] .shaka-overflow-menu,.shaka-controls-container[shown=true] .shaka-settings-menu{opacity:1}.shaka-overflow-menu button,.shaka-settings-menu button{font-size:14px;background:0 0;color:#000;border:none;min-height:30px;padding:3.5px 6px;display:flex;align-items:center;cursor:pointer}.shaka-overflow-menu button:hover,.shaka-settings-menu button:hover{background:#e0e0e0}.shaka-overflow-menu button label,.shaka-settings-menu button label{cursor:pointer}.shaka-keyboard-navigation .shaka-overflow-menu button:focus,.shaka-keyboard-navigation .shaka-settings-menu button:focus{background:#e0e0e0}.shaka-overflow-menu i,.shaka-settings-menu i{padding-left:10px;padding-right:10px}.shaka-overflow-menu.shaka-low-position,.shaka-settings-menu.shaka-low-position{bottom:15px}.shaka-overflow-menu span{text-align:left}.shaka-overflow-button-label{position:relative;display:flex;flex-direction:column}.shaka-current-selection-span{color:rgba(0,0,0,.54)}.shaka-settings-menu span{margin-left:54px}.shaka-back-to-overflow-button span{margin-left:0}.shaka-back-to-overflow-button i{padding-right:20px}.shaka-auto-span{left:17px}.shaka-captions-on{color:#000}.shaka-captions-off{color:grey}.shaka-controls-container[ad-active=true]{pointer-events:none}.shaka-controls-container[ad-active=true] .shaka-bottom-controls{pointer-events:auto}.shaka-client-side-ad-container,.shaka-server-side-ad-container{position:absolute;left:0;right:0;top:0;bottom:0}.shaka-video-container[shaka-controls=true] .shaka-client-side-ad-container iframe,.shaka-video-container[shaka-controls=true] .shaka-server-side-ad-container iframe{height:90%}.shaka-server-side-ad-container{width:100%;height:100%;flex-shrink:1}.shaka-server-side-ad-container:not([ad-active=true]){pointer-events:none}.shaka-ad-controls{display:flex;flex-direction:row;z-index:1;padding-bottom:1%}.shaka-video-container:not([shaka-controls=true]) .shaka-ad-controls{display:none}.shaka-ad-controls button,.shaka-ad-controls div{color:#fff;font-size:initial}.shaka-ad-controls div:not(.shaka-skip-ad-counter){margin:1px 6px}.shaka-ad-counter,.shaka-ad-position{display:flex;justify-content:flex-end;flex-direction:column;text-shadow:1px 1px 4px #000}.shaka-skip-ad-container{position:relative;right:-2%;display:flex;flex-direction:row;margin:0}.shaka-skip-ad-button{padding:5px 15px;background:rgba(0,0,0,.7);border:none;cursor:pointer}.shaka-skip-ad-button:disabled{background:rgba(0,0,0,.3)}.shaka-skip-ad-counter{padding:5px 5px;background:rgba(0,0,0,.7);margin:0}@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,8 +68,8 @@ 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/region_observer.js', ['shaka.media.RegionObserver'], ['shaka.media.IPlayheadObserver', 'shaka.media.RegionTimeline'], {});
|
|
72
|
-
goog.addDependency('../../../../lib/media/region_timeline.js', ['shaka.media.RegionTimeline'], ['shaka.util.IReleasable', 'shaka.util.Timer'], {});
|
|
71
|
+
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'], {});
|
|
72
|
+
goog.addDependency('../../../../lib/media/region_timeline.js', ['shaka.media.RegionTimeline'], ['shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.IReleasable', 'shaka.util.Timer'], {});
|
|
73
73
|
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'], {});
|
|
74
74
|
goog.addDependency('../../../../lib/media/segment_reference.js', ['shaka.media.InitSegmentReference', 'shaka.media.SegmentReference'], ['goog.asserts', 'shaka.util.ArrayUtils'], {});
|
|
75
75
|
goog.addDependency('../../../../lib/media/stall_detector.js', ['shaka.media.StallDetector', 'shaka.media.StallDetector.Implementation', 'shaka.media.StallDetector.MediaElementImplementation'], ['shaka.media.TimeRangesUtils', 'shaka.util.IReleasable'], {});
|
|
@@ -149,7 +149,7 @@ goog.addDependency('../../../../lib/util/error.js', ['shaka.util.Error'], [], {}
|
|
|
149
149
|
goog.addDependency('../../../../lib/util/event_manager.js', ['shaka.util.EventManager'], ['goog.asserts', 'shaka.util.IReleasable', 'shaka.util.MultiMap'], {});
|
|
150
150
|
goog.addDependency('../../../../lib/util/fairplay_utils.js', ['shaka.util.FairPlayUtils'], ['goog.Uri', 'goog.asserts', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.StringUtils'], {});
|
|
151
151
|
goog.addDependency('../../../../lib/util/fake_event.js', ['shaka.util.FakeEvent'], ['goog.asserts'], {});
|
|
152
|
-
goog.addDependency('../../../../lib/util/fake_event_target.js', ['shaka.util.FakeEventTarget'], ['goog.asserts', 'shaka.log', 'shaka.util.FakeEvent', 'shaka.util.MultiMap'], {});
|
|
152
|
+
goog.addDependency('../../../../lib/util/fake_event_target.js', ['shaka.util.FakeEventTarget'], ['goog.asserts', 'shaka.log', 'shaka.util.FakeEvent', 'shaka.util.IReleasable', 'shaka.util.MultiMap'], {});
|
|
153
153
|
goog.addDependency('../../../../lib/util/functional.js', ['shaka.util.Functional'], ['shaka.Deprecate'], {});
|
|
154
154
|
goog.addDependency('../../../../lib/util/i_destroyable.js', ['shaka.util.IDestroyable'], [], {});
|
|
155
155
|
goog.addDependency('../../../../lib/util/i_releasable.js', ['shaka.util.IReleasable'], [], {});
|
package/dist/locales.js
CHANGED
|
@@ -719,43 +719,43 @@ shaka.ui.Locales.addTo = function(localization) {
|
|
|
719
719
|
* @const
|
|
720
720
|
*/
|
|
721
721
|
shaka.ui.Locales.Ids = {
|
|
722
|
-
ON: 'ON',
|
|
723
|
-
FULL_SCREEN: 'FULL_SCREEN',
|
|
724
|
-
LANGUAGE: 'LANGUAGE',
|
|
725
|
-
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
726
|
-
AD_DURATION: 'AD_DURATION',
|
|
727
|
-
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
728
|
-
PLAYBACK_RATE: 'PLAYBACK_RATE',
|
|
729
|
-
SEEK: 'SEEK',
|
|
730
722
|
LIVE: 'LIVE',
|
|
731
|
-
PAUSE: 'PAUSE',
|
|
732
|
-
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
733
723
|
BACK: 'BACK',
|
|
724
|
+
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
725
|
+
MUTE: 'MUTE',
|
|
726
|
+
REPLAY: 'REPLAY',
|
|
727
|
+
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
728
|
+
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
729
|
+
OFF: 'OFF',
|
|
734
730
|
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
|
|
735
|
-
REWIND: 'REWIND',
|
|
736
731
|
UNMUTE: 'UNMUTE',
|
|
737
|
-
FAST_FORWARD: 'FAST_FORWARD',
|
|
738
|
-
CAPTIONS: 'CAPTIONS',
|
|
739
|
-
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
740
|
-
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
741
|
-
AIRPLAY: 'AIRPLAY',
|
|
742
732
|
CAST: 'CAST',
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
733
|
+
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
734
|
+
FULL_SCREEN: 'FULL_SCREEN',
|
|
735
|
+
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
736
|
+
ON: 'ON',
|
|
737
|
+
CAPTIONS: 'CAPTIONS',
|
|
738
|
+
SEEK: 'SEEK',
|
|
739
|
+
AD_DURATION: 'AD_DURATION',
|
|
740
|
+
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
741
|
+
PLAYBACK_RATE: 'PLAYBACK_RATE',
|
|
750
742
|
AD_TIME: 'AD_TIME',
|
|
751
|
-
|
|
752
|
-
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
743
|
+
AUTO_QUALITY: 'AUTO_QUALITY',
|
|
753
744
|
AD_PROGRESS: 'AD_PROGRESS',
|
|
754
745
|
PLAY: 'PLAY',
|
|
755
|
-
|
|
746
|
+
RESOLUTION: 'RESOLUTION',
|
|
747
|
+
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
748
|
+
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
756
749
|
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
750
|
+
AIRPLAY: 'AIRPLAY',
|
|
751
|
+
LANGUAGE: 'LANGUAGE',
|
|
760
752
|
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
|
|
753
|
+
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
754
|
+
REWIND: 'REWIND',
|
|
755
|
+
SKIP_AD: 'SKIP_AD',
|
|
756
|
+
VOLUME: 'VOLUME',
|
|
757
|
+
FAST_FORWARD: 'FAST_FORWARD',
|
|
758
|
+
PAUSE: 'PAUSE',
|
|
759
|
+
LOOP: 'LOOP',
|
|
760
|
+
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
761
761
|
};
|
|
@@ -2304,7 +2304,7 @@ declare namespace shaka.util {
|
|
|
2304
2304
|
}
|
|
2305
2305
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/dist/shaka-player.compiled.externs.js
|
|
2306
2306
|
declare namespace shaka.util {
|
|
2307
|
-
class FakeEventTarget implements EventTarget {
|
|
2307
|
+
class FakeEventTarget implements EventTarget , shaka.util.IReleasable {
|
|
2308
2308
|
private noStructuralTyping_shaka_util_FakeEventTarget : any;
|
|
2309
2309
|
/**
|
|
2310
2310
|
* Add an event listener to this object.
|
|
@@ -2324,6 +2324,7 @@ declare namespace shaka.util {
|
|
|
2324
2324
|
* @param listener The callback or listener object to invoke.
|
|
2325
2325
|
*/
|
|
2326
2326
|
listenToAllEvents (listener : EventListener | null | ( (a : Event ) => any ) ) : any ;
|
|
2327
|
+
release ( ) : any ;
|
|
2327
2328
|
/**
|
|
2328
2329
|
* Remove an event listener from this object.
|
|
2329
2330
|
* @param type The event type for which you wish to remove a listener.
|
|
@@ -2304,7 +2304,7 @@ declare namespace shaka.util {
|
|
|
2304
2304
|
}
|
|
2305
2305
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/dist/shaka-player.compiled.debug.externs.js
|
|
2306
2306
|
declare namespace shaka.util {
|
|
2307
|
-
class FakeEventTarget implements EventTarget {
|
|
2307
|
+
class FakeEventTarget implements EventTarget , shaka.util.IReleasable {
|
|
2308
2308
|
private noStructuralTyping_shaka_util_FakeEventTarget : any;
|
|
2309
2309
|
/**
|
|
2310
2310
|
* Add an event listener to this object.
|
|
@@ -2324,6 +2324,7 @@ declare namespace shaka.util {
|
|
|
2324
2324
|
* @param listener The callback or listener object to invoke.
|
|
2325
2325
|
*/
|
|
2326
2326
|
listenToAllEvents (listener : EventListener | null | ( (a : Event ) => any ) ) : any ;
|
|
2327
|
+
release ( ) : any ;
|
|
2327
2328
|
/**
|
|
2328
2329
|
* Remove an event listener from this object.
|
|
2329
2330
|
* @param type The event type for which you wish to remove a listener.
|
|
@@ -1205,6 +1205,7 @@ shaka.util.FakeEvent = class {
|
|
|
1205
1205
|
* EventTargets, but this can be used as a base class to provide event dispatch
|
|
1206
1206
|
* to non-DOM classes. Only FakeEvents should be dispatched.
|
|
1207
1207
|
* @implements {EventTarget}
|
|
1208
|
+
* @implements {shaka.util.IReleasable}
|
|
1208
1209
|
*/
|
|
1209
1210
|
shaka.util.FakeEventTarget = class {
|
|
1210
1211
|
/** */
|
|
@@ -1242,6 +1243,10 @@ shaka.util.FakeEventTarget = class {
|
|
|
1242
1243
|
* @override
|
|
1243
1244
|
*/
|
|
1244
1245
|
dispatchEvent(event) {}
|
|
1246
|
+
/**
|
|
1247
|
+
* @override
|
|
1248
|
+
*/
|
|
1249
|
+
release() {}
|
|
1245
1250
|
};
|
|
1246
1251
|
/**
|
|
1247
1252
|
* These are the listener types defined in the closure extern for EventTarget.
|