shaka-player 3.2.3 → 3.2.4
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 +30 -30
- 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 +95 -93
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +17 -12
- package/dist/shaka-player.compiled.js +610 -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 +109 -108
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +19 -23
- package/dist/shaka-player.ui.js +774 -773
- package/dist/shaka-player.ui.map +3 -3
- 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 +8 -9
- 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.2.4](https://github.com/google/shaka-player/compare/v3.2.3...v3.2.4) (2022-02-17)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Add explicit release() for FakeEventTarget ([#3950](https://github.com/google/shaka-player/issues/3950)) ([6242622](https://github.com/google/shaka-player/commit/62426223272d0955e130e6f67145e3203504379c))
|
|
9
|
+
* Fix download of some HLS assets ([#3934](https://github.com/google/shaka-player/issues/3934)) ([61c0c09](https://github.com/google/shaka-player/commit/61c0c09de96a50133d28a22df632b48b89eb1d13))
|
|
10
|
+
* Fix exception in StreamingEngine for EMSG with HLS ([#3887](https://github.com/google/shaka-player/issues/3887)) ([0c4a79f](https://github.com/google/shaka-player/commit/0c4a79f4354f38dc09957fa89a80a11ec0abc88e)), 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)) ([7891a85](https://github.com/google/shaka-player/commit/7891a85485ab05d5de72a496637f3b91653b2c60))
|
|
12
|
+
* **HLS:** skip whitespace in attributes ([#3884](https://github.com/google/shaka-player/issues/3884)) ([4bfc92e](https://github.com/google/shaka-player/commit/4bfc92ee536a57ea2a1e2aa1addfe1d9a1731c88))
|
|
13
|
+
|
|
1
14
|
## 3.2.3 (2022-01-28)
|
|
2
15
|
|
|
3
16
|
Bugfixes:
|
|
@@ -4621,4 +4634,3 @@ Broken Compatibility:
|
|
|
4621
4634
|
## 0.1b (2014-11-21)
|
|
4622
4635
|
|
|
4623
4636
|
Private beta release.
|
|
4624
|
-
|
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'], {});
|
|
@@ -150,7 +150,7 @@ goog.addDependency('../../../../lib/util/error.js', ['shaka.util.Error'], [], {}
|
|
|
150
150
|
goog.addDependency('../../../../lib/util/event_manager.js', ['shaka.util.EventManager'], ['goog.asserts', 'shaka.util.IReleasable', 'shaka.util.MultiMap'], {});
|
|
151
151
|
goog.addDependency('../../../../lib/util/fairplay_utils.js', ['shaka.util.FairPlayUtils'], ['goog.Uri', 'goog.asserts', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.StringUtils'], {});
|
|
152
152
|
goog.addDependency('../../../../lib/util/fake_event.js', ['shaka.util.FakeEvent'], ['goog.asserts'], {});
|
|
153
|
-
goog.addDependency('../../../../lib/util/fake_event_target.js', ['shaka.util.FakeEventTarget'], ['goog.asserts', 'shaka.log', 'shaka.util.FakeEvent', 'shaka.util.MultiMap'], {});
|
|
153
|
+
goog.addDependency('../../../../lib/util/fake_event_target.js', ['shaka.util.FakeEventTarget'], ['goog.asserts', 'shaka.log', 'shaka.util.FakeEvent', 'shaka.util.IReleasable', 'shaka.util.MultiMap'], {});
|
|
154
154
|
goog.addDependency('../../../../lib/util/functional.js', ['shaka.util.Functional'], ['shaka.Deprecate'], {});
|
|
155
155
|
goog.addDependency('../../../../lib/util/i_destroyable.js', ['shaka.util.IDestroyable'], [], {});
|
|
156
156
|
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
|
-
|
|
723
|
-
MUTE: 'MUTE',
|
|
724
|
-
PLAY: 'PLAY',
|
|
725
|
-
REWIND: 'REWIND',
|
|
726
|
-
FAST_FORWARD: 'FAST_FORWARD',
|
|
727
|
-
UNMUTE: 'UNMUTE',
|
|
728
|
-
VOLUME: 'VOLUME',
|
|
729
|
-
CAST: 'CAST',
|
|
730
|
-
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
731
|
-
LOOP: 'LOOP',
|
|
732
|
-
LANGUAGE: 'LANGUAGE',
|
|
722
|
+
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
733
723
|
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
724
|
+
LANGUAGE: 'LANGUAGE',
|
|
725
|
+
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
726
|
+
PAUSE: 'PAUSE',
|
|
727
|
+
PLAYBACK_RATE: 'PLAYBACK_RATE',
|
|
728
|
+
VOLUME: 'VOLUME',
|
|
738
729
|
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
|
|
739
730
|
AD_TIME: 'AD_TIME',
|
|
731
|
+
UNMUTE: 'UNMUTE',
|
|
732
|
+
CAPTIONS: 'CAPTIONS',
|
|
733
|
+
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
734
|
+
BACK: 'BACK',
|
|
735
|
+
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
736
|
+
AD_DURATION: 'AD_DURATION',
|
|
737
|
+
FULL_SCREEN: 'FULL_SCREEN',
|
|
738
|
+
AD_PROGRESS: 'AD_PROGRESS',
|
|
739
|
+
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
740
|
+
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
741
|
+
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
740
742
|
LIVE: 'LIVE',
|
|
741
|
-
|
|
743
|
+
LOOP: 'LOOP',
|
|
744
|
+
OFF: 'OFF',
|
|
745
|
+
REPLAY: 'REPLAY',
|
|
742
746
|
SEEK: 'SEEK',
|
|
743
|
-
AIRPLAY: 'AIRPLAY',
|
|
744
|
-
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
745
|
-
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
746
|
-
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
747
|
-
AD_DURATION: 'AD_DURATION',
|
|
748
747
|
ON: 'ON',
|
|
749
|
-
|
|
748
|
+
AIRPLAY: 'AIRPLAY',
|
|
750
749
|
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
751
|
-
|
|
752
|
-
RESOLUTION: 'RESOLUTION',
|
|
753
|
-
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
754
|
-
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
755
|
-
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
756
|
-
FULL_SCREEN: 'FULL_SCREEN',
|
|
757
|
-
PAUSE: 'PAUSE',
|
|
750
|
+
AUTO_QUALITY: 'AUTO_QUALITY',
|
|
758
751
|
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
|
|
759
|
-
BACK: 'BACK',
|
|
760
752
|
SKIP_AD: 'SKIP_AD',
|
|
753
|
+
FAST_FORWARD: 'FAST_FORWARD',
|
|
754
|
+
PLAY: 'PLAY',
|
|
755
|
+
RESOLUTION: 'RESOLUTION',
|
|
756
|
+
CAST: 'CAST',
|
|
757
|
+
REWIND: 'REWIND',
|
|
758
|
+
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
759
|
+
MUTE: 'MUTE',
|
|
760
|
+
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
761
761
|
};
|
|
@@ -2348,7 +2348,7 @@ declare namespace shaka.util {
|
|
|
2348
2348
|
}
|
|
2349
2349
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/dist/shaka-player.compiled.externs.js
|
|
2350
2350
|
declare namespace shaka.util {
|
|
2351
|
-
class FakeEventTarget implements EventTarget {
|
|
2351
|
+
class FakeEventTarget implements EventTarget , shaka.util.IReleasable {
|
|
2352
2352
|
private noStructuralTyping_shaka_util_FakeEventTarget : any;
|
|
2353
2353
|
/**
|
|
2354
2354
|
* Add an event listener to this object.
|
|
@@ -2368,6 +2368,7 @@ declare namespace shaka.util {
|
|
|
2368
2368
|
* @param listener The callback or listener object to invoke.
|
|
2369
2369
|
*/
|
|
2370
2370
|
listenToAllEvents (listener : EventListener | null | ( (a : Event ) => any ) ) : any ;
|
|
2371
|
+
release ( ) : any ;
|
|
2371
2372
|
/**
|
|
2372
2373
|
* Remove an event listener from this object.
|
|
2373
2374
|
* @param type The event type for which you wish to remove a listener.
|
|
@@ -2348,7 +2348,7 @@ declare namespace shaka.util {
|
|
|
2348
2348
|
}
|
|
2349
2349
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/dist/shaka-player.compiled.debug.externs.js
|
|
2350
2350
|
declare namespace shaka.util {
|
|
2351
|
-
class FakeEventTarget implements EventTarget {
|
|
2351
|
+
class FakeEventTarget implements EventTarget , shaka.util.IReleasable {
|
|
2352
2352
|
private noStructuralTyping_shaka_util_FakeEventTarget : any;
|
|
2353
2353
|
/**
|
|
2354
2354
|
* Add an event listener to this object.
|
|
@@ -2368,6 +2368,7 @@ declare namespace shaka.util {
|
|
|
2368
2368
|
* @param listener The callback or listener object to invoke.
|
|
2369
2369
|
*/
|
|
2370
2370
|
listenToAllEvents (listener : EventListener | null | ( (a : Event ) => any ) ) : any ;
|
|
2371
|
+
release ( ) : any ;
|
|
2371
2372
|
/**
|
|
2372
2373
|
* Remove an event listener from this object.
|
|
2373
2374
|
* @param type The event type for which you wish to remove a listener.
|
|
@@ -966,11 +966,24 @@ shaka.util.FakeEvent = class {
|
|
|
966
966
|
*/
|
|
967
967
|
constructor(type, dict) {}
|
|
968
968
|
};
|
|
969
|
+
/**
|
|
970
|
+
* An interface to standardize how objects release internal references
|
|
971
|
+
* synchronously. If an object needs to asynchronously release references, then
|
|
972
|
+
* it should use 'shaka.util.IDestroyable'.
|
|
973
|
+
* @interface
|
|
974
|
+
*/
|
|
975
|
+
shaka.util.IReleasable = class {
|
|
976
|
+
/**
|
|
977
|
+
* Request that this object release all internal references.
|
|
978
|
+
*/
|
|
979
|
+
release() {}
|
|
980
|
+
};
|
|
969
981
|
/**
|
|
970
982
|
* @summary A work-alike for EventTarget. Only DOM elements may be true
|
|
971
983
|
* EventTargets, but this can be used as a base class to provide event dispatch
|
|
972
984
|
* to non-DOM classes. Only FakeEvents should be dispatched.
|
|
973
985
|
* @implements {EventTarget}
|
|
986
|
+
* @implements {shaka.util.IReleasable}
|
|
974
987
|
*/
|
|
975
988
|
shaka.util.FakeEventTarget = class {
|
|
976
989
|
/** */
|
|
@@ -1008,6 +1021,10 @@ shaka.util.FakeEventTarget = class {
|
|
|
1008
1021
|
* @override
|
|
1009
1022
|
*/
|
|
1010
1023
|
dispatchEvent(event) {}
|
|
1024
|
+
/**
|
|
1025
|
+
* @override
|
|
1026
|
+
*/
|
|
1027
|
+
release() {}
|
|
1011
1028
|
};
|
|
1012
1029
|
/**
|
|
1013
1030
|
* These are the listener types defined in the closure extern for EventTarget.
|
|
@@ -1165,18 +1182,6 @@ shaka.net.NetworkingEngine.PluginPriority = {
|
|
|
1165
1182
|
'PREFERRED': 2,
|
|
1166
1183
|
'APPLICATION': 3
|
|
1167
1184
|
};
|
|
1168
|
-
/**
|
|
1169
|
-
* An interface to standardize how objects release internal references
|
|
1170
|
-
* synchronously. If an object needs to asynchronously release references, then
|
|
1171
|
-
* it should use 'shaka.util.IDestroyable'.
|
|
1172
|
-
* @interface
|
|
1173
|
-
*/
|
|
1174
|
-
shaka.util.IReleasable = class {
|
|
1175
|
-
/**
|
|
1176
|
-
* Request that this object release all internal references.
|
|
1177
|
-
*/
|
|
1178
|
-
release() {}
|
|
1179
|
-
};
|
|
1180
1185
|
/**
|
|
1181
1186
|
* @summary
|
|
1182
1187
|
* An EventManager maintains a collection of "event
|