shaka-player 4.6.4 → 4.7.0
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/README.md +1 -0
- package/dist/controls.css +1 -1
- package/dist/controls.css.map +1 -1
- package/dist/deps.js +9 -5
- package/dist/locales.js +29 -29
- package/dist/shaka-player.compiled.d.ts +46 -3
- package/dist/shaka-player.compiled.debug.d.ts +46 -3
- package/dist/shaka-player.compiled.debug.externs.js +45 -0
- package/dist/shaka-player.compiled.debug.js +382 -351
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +45 -0
- package/dist/shaka-player.compiled.js +1135 -1121
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +68 -4
- package/dist/shaka-player.ui.debug.d.ts +68 -4
- package/dist/shaka-player.ui.debug.externs.js +77 -0
- package/dist/shaka-player.ui.debug.js +428 -392
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +77 -0
- package/dist/shaka-player.ui.js +1304 -1290
- package/dist/shaka-player.ui.map +4 -4
- package/externs/mediasession.js +7 -0
- package/externs/shaka/abr_manager.js +8 -0
- package/externs/shaka/manifest.js +3 -3
- package/externs/shaka/player.js +59 -4
- package/lib/abr/simple_abr_manager.js +41 -15
- package/lib/cea/cea708_service.js +1 -1
- package/lib/cea/cea708_window.js +95 -7
- package/lib/dash/dash_parser.js +55 -11
- package/lib/media/adaptation_set_criteria.js +76 -10
- package/lib/media/media_source_engine.js +42 -18
- package/lib/media/segment_reference.js +12 -0
- package/lib/media/streaming_engine.js +55 -3
- package/lib/player.js +92 -6
- package/lib/util/cmsd_manager.js +269 -0
- package/lib/util/content_steering_manager.js +5 -1
- package/lib/util/mime_utils.js +6 -2
- package/lib/util/periods.js +108 -39
- package/lib/util/player_configuration.js +19 -5
- package/lib/util/stream_utils.js +82 -13
- package/package.json +1 -1
- package/ui/audio_language_selection.js +3 -0
- package/ui/controls.js +60 -0
- package/ui/externs/ui.js +12 -1
- package/ui/hidden_fast_forward_button.js +32 -0
- package/ui/hidden_rewind_button.js +32 -0
- package/ui/hidden_seek_button.js +121 -0
- package/ui/less/buttons.less +50 -0
- package/ui/less/containers.less +18 -0
- package/ui/resolution_selection.js +2 -0
- package/ui/ui.js +2 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -75
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -26
- package/.github/ISSUE_TEMPLATE/question.md +0 -26
- package/.github/config.yml +0 -1
- package/.github/workflows/appspot.yaml +0 -39
- package/.github/workflows/build-and-test.yaml +0 -222
- package/.github/workflows/compute-incremental-coverage.py +0 -265
- package/.github/workflows/custom-actions/prep-for-appspot/action.yaml +0 -56
- package/.github/workflows/custom-actions/set-commit-status/action.yaml +0 -37
- package/.github/workflows/deflake.yaml +0 -31
- package/.github/workflows/demo-version-index.yaml +0 -43
- package/.github/workflows/nightly-demo.yaml +0 -42
- package/.github/workflows/release-please.yaml +0 -193
- package/.github/workflows/report-incremental-coverage.yaml +0 -39
- package/.github/workflows/safari-homedir-launcher.sh +0 -18
- package/.github/workflows/selenium-lab-tests.yaml +0 -370
- package/.github/workflows/shaka-bot-commands/command-help.sh +0 -27
- package/.github/workflows/shaka-bot-commands/command-test.sh +0 -56
- package/.github/workflows/shaka-bot-commands/lib.sh +0 -83
- package/.github/workflows/shaka-bot-commands/main.sh +0 -51
- package/.github/workflows/sync-labels.yaml +0 -33
- package/.github/workflows/talk-to-shaka-bot.yaml +0 -29
- package/.github/workflows/update-issues.yaml +0 -31
- package/.github/workflows/update-screenshots.yaml +0 -142
- package/.github/workflows/validate-pr-title.yaml +0 -27
- package/CHANGELOG.md +0 -5774
- package/CODE_OF_CONDUCT.md +0 -93
- package/CONTRIBUTING.md +0 -76
- package/demo/TengwarTelcontar.woff2 +0 -0
- package/demo/app_logo_144.png +0 -0
- package/demo/app_logo_192.png +0 -0
- package/demo/app_logo_256.png +0 -0
- package/demo/app_logo_384.png +0 -0
- package/demo/app_logo_512.png +0 -0
- package/demo/app_manifest.json +0 -29
- package/demo/asset_card.js +0 -410
- package/demo/autoTemplate.txt +0 -61
- package/demo/cast_receiver/idle1.jpg +0 -0
- package/demo/cast_receiver/idle2.jpg +0 -0
- package/demo/cast_receiver/idle3.jpg +0 -0
- package/demo/cast_receiver/index.html +0 -75
- package/demo/cast_receiver/receiver_app.css +0 -111
- package/demo/cast_receiver/receiver_app.js +0 -158
- package/demo/close_button.js +0 -60
- package/demo/common/asset.js +0 -510
- package/demo/common/assets.js +0 -1634
- package/demo/config.js +0 -859
- package/demo/custom.js +0 -907
- package/demo/customWarning.txt +0 -8
- package/demo/demo.less +0 -591
- package/demo/demo_uncompiled.js +0 -11
- package/demo/demo_utils.js +0 -113
- package/demo/favicon.ico +0 -0
- package/demo/front.js +0 -156
- package/demo/icons/README.md +0 -4
- package/demo/icons/baseline-audiotrack-24px.svg +0 -1
- package/demo/icons/baseline-closed_caption-24px.svg +0 -1
- package/demo/icons/baseline-fast_forward-24px.svg +0 -1
- package/demo/icons/baseline-language-24px.svg +0 -1
- package/demo/icons/baseline-live_tv-24px.svg +0 -1
- package/demo/icons/baseline-subtitles-24px.svg +0 -1
- package/demo/icons/baseline-surround_sound-24px.svg +0 -1
- package/demo/icons/custom_ad.svg +0 -1
- package/demo/icons/custom_box_with_text.svg +0 -1
- package/demo/icons/custom_clear_key.svg +0 -1
- package/demo/icons/custom_high_definition.svg +0 -1
- package/demo/icons/custom_playready.svg +0 -1
- package/demo/icons/custom_ultra_high_definition.svg +0 -1
- package/demo/icons/custom_widevine.svg +0 -1
- package/demo/index.html +0 -173
- package/demo/input.js +0 -270
- package/demo/input_container.js +0 -218
- package/demo/load.js +0 -156
- package/demo/main.js +0 -1854
- package/demo/search.js +0 -452
- package/demo/service_worker.js +0 -355
- package/demo/shaka_logo_trans.png +0 -0
- package/demo/tooltip.js +0 -29
- package/demo/visualizer.js +0 -335
- package/demo/visualizer_button.js +0 -84
- package/dist/demo.compiled.debug.js +0 -340
- package/dist/demo.compiled.debug.map +0 -8
- package/dist/demo.compiled.js +0 -340
- package/dist/demo.compiled.map +0 -8
- package/dist/demo.css +0 -6
- package/dist/demo.css.map +0 -1
- package/dist/receiver.compiled.debug.js +0 -187
- package/dist/receiver.compiled.debug.map +0 -8
- package/dist/receiver.compiled.js +0 -187
- package/dist/receiver.compiled.map +0 -8
- package/docs/announcement-list-join-group.png +0 -0
- package/docs/api-mainpage.md +0 -28
- package/docs/design/REDESIGN.md +0 -283
- package/docs/design/architecture.md +0 -13
- package/docs/design/bg-fetch-after.gv +0 -29
- package/docs/design/bg-fetch-after.gv.png +0 -0
- package/docs/design/bg-fetch-before.gv +0 -18
- package/docs/design/bg-fetch-before.gv.png +0 -0
- package/docs/design/bg-fetch.md +0 -134
- package/docs/design/cast.gv +0 -35
- package/docs/design/cast.gv.png +0 -0
- package/docs/design/chromecast.md +0 -151
- package/docs/design/codec_preferences.md +0 -158
- package/docs/design/dash-audio-channels.md +0 -123
- package/docs/design/dash-manifests.md +0 -248
- package/docs/design/dash-timeline.svg +0 -4
- package/docs/design/dataflow.gv +0 -66
- package/docs/design/dataflow.gv.png +0 -0
- package/docs/design/export.md +0 -70
- package/docs/design/fuzzy-locale-matching.md +0 -40
- package/docs/design/gap-jumping.md +0 -151
- package/docs/design/lcevc-architecture.png +0 -0
- package/docs/design/lcevc-demo.png +0 -0
- package/docs/design/lcevc-integration.md +0 -72
- package/docs/design/locale_compatibility.svg +0 -1
- package/docs/design/locales_tree.svg +0 -1
- package/docs/design/localization-design-principles.md +0 -158
- package/docs/design/newdemo.gv +0 -83
- package/docs/design/newdemo.gv.png +0 -0
- package/docs/design/offline.gv +0 -43
- package/docs/design/offline.gv.png +0 -0
- package/docs/design/offline.md +0 -153
- package/docs/design/ownership.gv +0 -76
- package/docs/design/ownership.gv.png +0 -0
- package/docs/design/preload.md +0 -299
- package/docs/design/preload.png +0 -0
- package/docs/design/talking-about-languages.md +0 -46
- package/docs/design/timeline.svg +0 -152
- package/docs/design/ui.md +0 -31
- package/docs/design/ui_player_relationships.svg +0 -1
- package/docs/jsdoc-plugin.js +0 -74
- package/docs/jsdoc-template/README.md +0 -1
- package/docs/jsdoc-template/publish.js +0 -879
- package/docs/jsdoc-template/static/fonts/OpenSans-Bold-webfont.eot +0 -0
- package/docs/jsdoc-template/static/fonts/OpenSans-Bold-webfont.svg +0 -1830
- package/docs/jsdoc-template/static/fonts/OpenSans-Bold-webfont.woff +0 -0
- package/docs/jsdoc-template/static/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- package/docs/jsdoc-template/static/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
- package/docs/jsdoc-template/static/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- package/docs/jsdoc-template/static/fonts/OpenSans-Italic-webfont.eot +0 -0
- package/docs/jsdoc-template/static/fonts/OpenSans-Italic-webfont.svg +0 -1830
- package/docs/jsdoc-template/static/fonts/OpenSans-Italic-webfont.woff +0 -0
- package/docs/jsdoc-template/static/fonts/OpenSans-Light-webfont.eot +0 -0
- package/docs/jsdoc-template/static/fonts/OpenSans-Light-webfont.svg +0 -1831
- package/docs/jsdoc-template/static/fonts/OpenSans-Light-webfont.woff +0 -0
- package/docs/jsdoc-template/static/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- package/docs/jsdoc-template/static/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
- package/docs/jsdoc-template/static/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- package/docs/jsdoc-template/static/fonts/OpenSans-Regular-webfont.eot +0 -0
- package/docs/jsdoc-template/static/fonts/OpenSans-Regular-webfont.svg +0 -1831
- package/docs/jsdoc-template/static/fonts/OpenSans-Regular-webfont.woff +0 -0
- package/docs/jsdoc-template/static/scripts/linenumber.js +0 -44
- package/docs/jsdoc-template/static/scripts/show-widget.js +0 -55
- package/docs/jsdoc-template/static/styles/jsdoc-default.css +0 -438
- package/docs/jsdoc-template/tmpl/augments.tmpl +0 -10
- package/docs/jsdoc-template/tmpl/container.tmpl +0 -205
- package/docs/jsdoc-template/tmpl/details.tmpl +0 -152
- package/docs/jsdoc-template/tmpl/example.tmpl +0 -2
- package/docs/jsdoc-template/tmpl/examples.tmpl +0 -13
- package/docs/jsdoc-template/tmpl/exceptions.tmpl +0 -32
- package/docs/jsdoc-template/tmpl/layout.tmpl +0 -50
- package/docs/jsdoc-template/tmpl/mainpage.tmpl +0 -14
- package/docs/jsdoc-template/tmpl/members.tmpl +0 -47
- package/docs/jsdoc-template/tmpl/method.tmpl +0 -140
- package/docs/jsdoc-template/tmpl/modifies.tmpl +0 -14
- package/docs/jsdoc-template/tmpl/params.tmpl +0 -131
- package/docs/jsdoc-template/tmpl/properties.tmpl +0 -125
- package/docs/jsdoc-template/tmpl/returns.tmpl +0 -19
- package/docs/jsdoc-template/tmpl/source.tmpl +0 -8
- package/docs/jsdoc-template/tmpl/tutorial.tmpl +0 -21
- package/docs/jsdoc-template/tmpl/type.tmpl +0 -7
- package/docs/jsdoc.conf.json +0 -38
- package/docs/shaka-player-logo.png +0 -0
- package/docs/style.md +0 -174
- package/docs/tutorials/a11y.md +0 -64
- package/docs/tutorials/ad_monetization.md +0 -292
- package/docs/tutorials/application-level-redirects.md +0 -94
- package/docs/tutorials/architecture.md +0 -32
- package/docs/tutorials/basic-usage.md +0 -89
- package/docs/tutorials/blob-url.md +0 -15
- package/docs/tutorials/config.md +0 -148
- package/docs/tutorials/debugging.md +0 -189
- package/docs/tutorials/drm-config.md +0 -274
- package/docs/tutorials/errors.md +0 -95
- package/docs/tutorials/fairplay.md +0 -242
- package/docs/tutorials/faq.md +0 -252
- package/docs/tutorials/index.json +0 -29
- package/docs/tutorials/lcevc.md +0 -118
- package/docs/tutorials/license-server-auth.md +0 -248
- package/docs/tutorials/license-wrapping.md +0 -168
- package/docs/tutorials/manifest-parser.md +0 -365
- package/docs/tutorials/network-and-buffering-config.md +0 -119
- package/docs/tutorials/offline.md +0 -683
- package/docs/tutorials/plugins.md +0 -184
- package/docs/tutorials/selenium-grid-config.md +0 -174
- package/docs/tutorials/service-worker.md +0 -106
- package/docs/tutorials/ui-customization.md +0 -288
- package/docs/tutorials/ui.md +0 -232
- package/docs/tutorials/upgrade-manifest.md +0 -281
- package/docs/tutorials/upgrade.md +0 -104
- package/docs/tutorials/welcome.md +0 -108
- package/docs/tutorials/widevine-service-certs.md +0 -45
- package/karma.conf.js +0 -879
- package/maintained-branches.md +0 -15
- package/roadmap.md +0 -186
- package/test/abr/simple_abr_manager_unit.js +0 -398
- package/test/ads/ad_manager_unit.js +0 -260
- package/test/assumptions/uint8_array_unit.js +0 -22
- package/test/cast/cast_proxy_unit.js +0 -736
- package/test/cast/cast_receiver_integration.js +0 -488
- package/test/cast/cast_receiver_unit.js +0 -1183
- package/test/cast/cast_sender_unit.js +0 -973
- package/test/cast/cast_utils_unit.js +0 -311
- package/test/cea/cea608_memory_unit.js +0 -411
- package/test/cea/cea708_service_unit.js +0 -674
- package/test/cea/cea708_window_unit.js +0 -373
- package/test/cea/cea_decoder_unit.js +0 -615
- package/test/cea/dtvcc_packet_builder_unit.js +0 -158
- package/test/cea/dtvcc_packet_unit.js +0 -60
- package/test/cea/mp4_cea_parser_unit.js +0 -127
- package/test/codec_switching/codec_switching_integration.js +0 -182
- package/test/dash/dash_parser_content_protection_unit.js +0 -998
- package/test/dash/dash_parser_integration.js +0 -74
- package/test/dash/dash_parser_live_unit.js +0 -1542
- package/test/dash/dash_parser_manifest_unit.js +0 -3121
- package/test/dash/dash_parser_segment_base_unit.js +0 -421
- package/test/dash/dash_parser_segment_list_unit.js +0 -380
- package/test/dash/dash_parser_segment_template_unit.js +0 -910
- package/test/dash/mpd_utils_unit.js +0 -794
- package/test/demo/demo_unit.js +0 -108
- package/test/deprecate/enforcer_unit.js +0 -74
- package/test/deprecate/version_unit.js +0 -57
- package/test/hls/hls_live_unit.js +0 -1330
- package/test/hls/hls_parser_unit.js +0 -5276
- package/test/hls/manifest_text_parser_unit.js +0 -545
- package/test/media/adaptation_set_criteria_unit.js +0 -806
- package/test/media/adaptation_set_unit.js +0 -229
- package/test/media/buffering_observer_unit.js +0 -143
- package/test/media/closed_caption_parser_unit.js +0 -18
- package/test/media/content_workarounds_unit.js +0 -43
- package/test/media/drm_engine_integration.js +0 -356
- package/test/media/drm_engine_unit.js +0 -2805
- package/test/media/media_source_engine_integration.js +0 -691
- package/test/media/media_source_engine_unit.js +0 -1512
- package/test/media/mp4_segment_index_parser_unit.js +0 -80
- package/test/media/play_rate_controller_unit.js +0 -69
- package/test/media/playhead_unit.js +0 -1394
- package/test/media/presentation_timeline_unit.js +0 -477
- package/test/media/quality_observer_unit.js +0 -138
- package/test/media/region_observer_unit.js +0 -374
- package/test/media/region_timeline_unit.js +0 -139
- package/test/media/segment_index_unit.js +0 -1080
- package/test/media/segment_prefetch_unit.js +0 -243
- package/test/media/segment_reference_unit.js +0 -63
- package/test/media/stall_detector_unit.js +0 -184
- package/test/media/streaming_engine_integration.js +0 -632
- package/test/media/streaming_engine_unit.js +0 -4211
- package/test/media/time_ranges_utils_unit.js +0 -123
- package/test/media/webm_segment_index_parser_unit.js +0 -90
- package/test/mss/mss_parser_content_protection_unit.js +0 -49
- package/test/mss/mss_parser_unit.js +0 -474
- package/test/mss/mss_player_integration.js +0 -124
- package/test/net/data_uri_plugin_unit.js +0 -105
- package/test/net/http_plugin_unit.js +0 -439
- package/test/net/networking_engine_unit.js +0 -1236
- package/test/net/networking_utils_unit.js +0 -37
- package/test/offline/download_progress_estimator_unit.js +0 -90
- package/test/offline/indexeddb_storage_unit.js +0 -192
- package/test/offline/manifest_convert_unit.js +0 -622
- package/test/offline/offline_integration.js +0 -168
- package/test/offline/offline_manifest_parser_unit.js +0 -231
- package/test/offline/offline_scheme_unit.js +0 -154
- package/test/offline/offline_uri_unit.js +0 -59
- package/test/offline/storage_compatibility_unit.js +0 -344
- package/test/offline/storage_integration.js +0 -1858
- package/test/player_external.js +0 -237
- package/test/player_integration.js +0 -1371
- package/test/player_load_graph_integration.js +0 -865
- package/test/player_src_equals_external.js +0 -154
- package/test/player_src_equals_integration.js +0 -527
- package/test/player_unit.js +0 -4434
- package/test/polyfill/media_capabilities_unit.js +0 -277
- package/test/polyfill/patchedmediakeys_apple_unit.js +0 -130
- package/test/test/assets/3675/chunk-stream0-00001.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00002.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00003.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00004.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00005.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00006.m4s +0 -0
- package/test/test/assets/3675/chunk-stream0-00007.m4s +0 -0
- package/test/test/assets/3675/dash_0.mpd +0 -30
- package/test/test/assets/3675/dash_1.mpd +0 -30
- package/test/test/assets/3675/dash_2.mpd +0 -30
- package/test/test/assets/3675/dash_3.mpd +0 -30
- package/test/test/assets/3675/dash_4.mpd +0 -30
- package/test/test/assets/3675/dash_5.mpd +0 -26
- package/test/test/assets/3675/init-stream0.m4s +0 -0
- package/test/test/assets/audio-xhe-aac.mp4 +0 -0
- package/test/test/assets/audio.ts +0 -0
- package/test/test/assets/captions-test.ts +0 -0
- package/test/test/assets/cea-init.mp4 +0 -0
- package/test/test/assets/cea-segment.mp4 +0 -0
- package/test/test/assets/chapters.srt +0 -11
- package/test/test/assets/chapters.vtt +0 -10
- package/test/test/assets/chapters2.vtt +0 -10
- package/test/test/assets/dash-aes-128/Fragments(video=0,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=20000000,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=40000000,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=60000000,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=i,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/dash.mpd +0 -18
- package/test/test/assets/dash-aes-128/license +0 -1
- package/test/test/assets/dash-multi-codec/audio_en_2c_128k_aac.mp4 +0 -0
- package/test/test/assets/dash-multi-codec/audio_es_2c_64k_opus.webm +0 -0
- package/test/test/assets/dash-multi-codec/dash.mpd +0 -32
- package/test/test/assets/dash-multi-codec/video_144p_108k_h264.mp4 +0 -0
- package/test/test/assets/db-dump-v1.json +0 -1
- package/test/test/assets/db-dump-v2-broken.json +0 -1
- package/test/test/assets/db-dump-v2-clean.json +0 -1
- package/test/test/assets/db-dump-v3.json +0 -1
- package/test/test/assets/db-dump-v4-broken.json +0 -1
- package/test/test/assets/db-dump-v5.json +0 -1
- package/test/test/assets/empty_caption_video_init.mp4 +0 -0
- package/test/test/assets/empty_caption_video_segment.mp4 +0 -0
- package/test/test/assets/encrypted-sintel-audio-init.mp4 +0 -0
- package/test/test/assets/encrypted-sintel-audio-segment.mp4 +0 -0
- package/test/test/assets/encrypted-sintel-video-init.mp4 +0 -0
- package/test/test/assets/encrypted-sintel-video-segment.mp4 +0 -0
- package/test/test/assets/green-pixel.mp4 +0 -0
- package/test/test/assets/green-pixel.txt +0 -15
- package/test/test/assets/h265-cea-init.mp4 +0 -0
- package/test/test/assets/h265-cea-segment.mp4 +0 -0
- package/test/test/assets/hls-raw-aac/fileSequence0.aac +0 -0
- package/test/test/assets/hls-raw-aac/fileSequence1.aac +0 -0
- package/test/test/assets/hls-raw-aac/fileSequence2.aac +0 -0
- package/test/test/assets/hls-raw-aac/fileSequence3.aac +0 -0
- package/test/test/assets/hls-raw-aac/manifest.m3u8 +0 -4
- package/test/test/assets/hls-raw-aac/stream.m4a.m3u8 +0 -14
- package/test/test/assets/hls-raw-ac3/fileSequence0.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence1.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence2.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence3.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence4.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence5.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence6.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence7.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/prog_index.m3u8 +0 -31
- package/test/test/assets/hls-raw-ec3/fileSequence0.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence1.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence2.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence3.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence4.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence5.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence6.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence7.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/prog_index.m3u8 +0 -31
- package/test/test/assets/hls-raw-mp3/chunklist_w905519204.m3u8 +0 -13
- package/test/test/assets/hls-raw-mp3/media_w905519204_0.mp3 +0 -0
- package/test/test/assets/hls-raw-mp3/media_w905519204_1.mp3 +0 -0
- package/test/test/assets/hls-raw-mp3/media_w905519204_2.mp3 +0 -0
- package/test/test/assets/hls-raw-mp3/media_w905519204_3.mp3 +0 -0
- package/test/test/assets/hls-raw-mp3/playlist.m3u8 +0 -4
- package/test/test/assets/hls-ts-aac/playlist.m3u8 +0 -23
- package/test/test/assets/hls-ts-aac/segment_0.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_1.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_2.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_3.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_4.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_5.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_6.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_7.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0000.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0001.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0002.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0003.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0004.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0005.ts +0 -0
- package/test/test/assets/hls-ts-ac3/prog_index.m3u8 +0 -19
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0000.ts +0 -0
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0001.ts +0 -0
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0002.ts +0 -0
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0003.ts +0 -0
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0004.ts +0 -0
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0005.ts +0 -0
- package/test/test/assets/hls-ts-ec3/prog_index.m3u8 +0 -19
- package/test/test/assets/hls-ts-h264/fileSequence0.ts +0 -0
- package/test/test/assets/hls-ts-h264/fileSequence1.ts +0 -0
- package/test/test/assets/hls-ts-h264/fileSequence2.ts +0 -0
- package/test/test/assets/hls-ts-h264/fileSequence3.ts +0 -0
- package/test/test/assets/hls-ts-h264/fileSequence4.ts +0 -0
- package/test/test/assets/hls-ts-h264/fileSequence5.ts +0 -0
- package/test/test/assets/hls-ts-h264/prog_index.m3u8 +0 -25
- package/test/test/assets/hls-ts-h265/0.ts +0 -0
- package/test/test/assets/hls-ts-h265/hevc.m3u8 +0 -6
- package/test/test/assets/hls-ts-h265/index.m3u8 +0 -7
- package/test/test/assets/hls-ts-mp3/manifest.m3u8 +0 -13
- package/test/test/assets/hls-ts-mp3/media_w239891843_0.ts +0 -0
- package/test/test/assets/hls-ts-mp3/media_w239891843_1.ts +0 -0
- package/test/test/assets/hls-ts-mp3/media_w239891843_2.ts +0 -0
- package/test/test/assets/hls-ts-mp3/media_w239891843_3.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/chunk.m3u8 +0 -17
- package/test/test/assets/hls-ts-muxed-aac-h264/n_0_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/n_1_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/n_2_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/n_3_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/n_4_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/n_5_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/playlist.m3u8 +0 -4
- package/test/test/assets/hls-ts-muxed-aac-h265/0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h265/1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h265/media.m3u8 +0 -9
- package/test/test/assets/hls-ts-muxed-ac3-h264/media.m3u8 +0 -24
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00000.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00001.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00002.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00003.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00004.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00005.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0000.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0001.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0002.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0003.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/prog_index.m3u8 +0 -14
- package/test/test/assets/hls-ts-muxed-mp3-h264/index.m3u8 +0 -23
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-1-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-2-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-3-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-4-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-5-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-6-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-7-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-8-v1-a1.ts +0 -0
- package/test/test/assets/id3-metadata.aac +0 -0
- package/test/test/assets/id3-metadata.ts +0 -0
- package/test/test/assets/index-segment.mp4 +0 -0
- package/test/test/assets/index-segment.webm +0 -0
- package/test/test/assets/init-segment.webm +0 -0
- package/test/test/assets/large_file.mpd +0 -4930
- package/test/test/assets/multidrm-audio-init.mp4 +0 -0
- package/test/test/assets/multidrm-audio-segment.mp4 +0 -0
- package/test/test/assets/multidrm-video-init.mp4 +0 -0
- package/test/test/assets/multidrm-video-segment.mp4 +0 -0
- package/test/test/assets/multiple-trun-init.mp4 +0 -0
- package/test/test/assets/multiple-trun-segment.mp4 +0 -0
- package/test/test/assets/sintel-audio-init.mp4 +0 -0
- package/test/test/assets/sintel-audio-segment.mp4 +0 -0
- package/test/test/assets/sintel-video-init.mp4 +0 -0
- package/test/test/assets/sintel-video-segment.mp4 +0 -0
- package/test/test/assets/small.mp4 +0 -0
- package/test/test/assets/text-clip-alt.vtt +0 -63
- package/test/test/assets/text-clip.vtt +0 -63
- package/test/test/assets/thumbnails-sprites.vtt +0 -10
- package/test/test/assets/thumbnails.vtt +0 -10
- package/test/test/assets/ttml-init.mp4 +0 -0
- package/test/test/assets/ttml-segment-multiplemdat.mp4 +0 -0
- package/test/test/assets/ttml-segment.mp4 +0 -0
- package/test/test/assets/video.ts +0 -0
- package/test/test/assets/vtt-init.mp4 +0 -0
- package/test/test/assets/vtt-segment-multi-payload.mp4 +0 -0
- package/test/test/assets/vtt-segment-no-duration.mp4 +0 -0
- package/test/test/assets/vtt-segment-settings.mp4 +0 -0
- package/test/test/assets/vtt-segment.mp4 +0 -0
- package/test/test/boot.js +0 -495
- package/test/test/externs/filters.js +0 -44
- package/test/test/externs/fontfaceonload.js +0 -29
- package/test/test/externs/jasmine.js +0 -670
- package/test/test/externs/karma.js +0 -26
- package/test/test/externs/require.js +0 -21
- package/test/test/externs/sprintf.js +0 -18
- package/test/test/namespace.js +0 -10
- package/test/test/util/canned_idb.js +0 -379
- package/test/test/util/cea_utils.js +0 -60
- package/test/test/util/dash_parser_util.js +0 -329
- package/test/test/util/fake_ad.js +0 -321
- package/test/test/util/fake_ad_manager.js +0 -122
- package/test/test/util/fake_demo_main.js +0 -144
- package/test/test/util/fake_drm_engine.js +0 -103
- package/test/test/util/fake_media_source_engine.js +0 -464
- package/test/test/util/fake_networking_engine.js +0 -381
- package/test/test/util/fake_segment_prefetch.js +0 -84
- package/test/test/util/fake_text_displayer.js +0 -60
- package/test/test/util/id3_generator.js +0 -100
- package/test/test/util/indexeddb_utils.js +0 -124
- package/test/test/util/jasmine_fetch.js +0 -382
- package/test/test/util/layout_tests.js +0 -435
- package/test/test/util/loader.js +0 -88
- package/test/test/util/manifest_generator.js +0 -705
- package/test/test/util/manifest_parser_util.js +0 -101
- package/test/test/util/mss_parser_util.js +0 -119
- package/test/test/util/offline_utils.js +0 -105
- package/test/test/util/simple_fakes.js +0 -535
- package/test/test/util/stream_generator.js +0 -676
- package/test/test/util/streaming_engine_util.js +0 -506
- package/test/test/util/test_scheme.js +0 -778
- package/test/test/util/ttml_utils.js +0 -77
- package/test/test/util/ui_utils.js +0 -183
- package/test/test/util/util.js +0 -374
- package/test/test/util/waiter.js +0 -406
- package/test/text/cue_integration.js +0 -51
- package/test/text/lrc_text_parser_unit.js +0 -98
- package/test/text/mp4_ttml_parser_unit.js +0 -171
- package/test/text/mp4_vtt_parser_unit.js +0 -195
- package/test/text/sbv_text_parser_unit.js +0 -81
- package/test/text/simple_text_displayer_unit.js +0 -468
- package/test/text/srt_text_parser_unit.js +0 -163
- package/test/text/ssa_text_parser_unit.js +0 -382
- package/test/text/text_displayer_layout_unit.js +0 -323
- package/test/text/text_engine_unit.js +0 -500
- package/test/text/text_track_integration.js +0 -186
- package/test/text/ttml_text_parser_unit.js +0 -2176
- package/test/text/ui_text_displayer_unit.js +0 -608
- package/test/text/vtt_text_parser_unit.js +0 -1363
- package/test/text/web_vtt_generator_unit.js +0 -144
- package/test/text/web_vtt_layout_integration.js +0 -524
- package/test/transmuxer/transmuxer_engine_integration.js +0 -69
- package/test/transmuxer/transmuxer_integration.js +0 -443
- package/test/ui/ad_ui_unit.js +0 -369
- package/test/ui/localization_unit.js +0 -508
- package/test/ui/ui_customization_unit.js +0 -208
- package/test/ui/ui_integration.js +0 -669
- package/test/ui/ui_unit.js +0 -902
- package/test/util/abortable_operation_unit.js +0 -624
- package/test/util/array_utils_unit.js +0 -58
- package/test/util/buffer_utils_unit.js +0 -185
- package/test/util/cmcd_manager_unit.js +0 -440
- package/test/util/content_steering_manager_unit.js +0 -427
- package/test/util/data_view_reader_unit.js +0 -254
- package/test/util/ebml_parser_unit.js +0 -297
- package/test/util/event_manager_unit.js +0 -185
- package/test/util/fake_event_target_unit.js +0 -123
- package/test/util/id3_utils_unit.js +0 -168
- package/test/util/iterables_unit.js +0 -68
- package/test/util/language_utils_unit.js +0 -240
- package/test/util/manifest_parser_utils_unit.js +0 -55
- package/test/util/mime_utils_unit.js +0 -64
- package/test/util/mp4_box_parsers_unit.js +0 -246
- package/test/util/mp4_parser_unit.js +0 -373
- package/test/util/multi_map_unit.js +0 -94
- package/test/util/object_utils_unit.js +0 -79
- package/test/util/periods_unit.js +0 -1623
- package/test/util/pssh_unit.js +0 -226
- package/test/util/state_history_unit.js +0 -101
- package/test/util/stream_utils_unit.js +0 -1068
- package/test/util/string_utils_unit.js +0 -166
- package/test/util/text_parser_unit.js +0 -165
- package/test/util/ts_parser_unit.js +0 -77
- package/test/util/xml_utils_unit.js +0 -444
package/CODE_OF_CONDUCT.md
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
# Code of Conduct
|
|
2
|
-
|
|
3
|
-
## Our Pledge
|
|
4
|
-
|
|
5
|
-
In the interest of fostering an open and welcoming environment, we as
|
|
6
|
-
contributors and maintainers pledge to making participation in our project and
|
|
7
|
-
our community a harassment-free experience for everyone, regardless of age, body
|
|
8
|
-
size, disability, ethnicity, gender identity and expression, level of
|
|
9
|
-
experience, education, socio-economic status, nationality, personal appearance,
|
|
10
|
-
race, religion, or sexual identity and orientation.
|
|
11
|
-
|
|
12
|
-
## Our Standards
|
|
13
|
-
|
|
14
|
-
Examples of behavior that contributes to creating a positive environment
|
|
15
|
-
include:
|
|
16
|
-
|
|
17
|
-
* Using welcoming and inclusive language
|
|
18
|
-
* Being respectful of differing viewpoints and experiences
|
|
19
|
-
* Gracefully accepting constructive criticism
|
|
20
|
-
* Focusing on what is best for the community
|
|
21
|
-
* Showing empathy towards other community members
|
|
22
|
-
|
|
23
|
-
Examples of unacceptable behavior by participants include:
|
|
24
|
-
|
|
25
|
-
* The use of sexualized language or imagery and unwelcome sexual attention or
|
|
26
|
-
advances
|
|
27
|
-
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
28
|
-
* Public or private harassment
|
|
29
|
-
* Publishing others' private information, such as a physical or electronic
|
|
30
|
-
address, without explicit permission
|
|
31
|
-
* Other conduct which could reasonably be considered inappropriate in a
|
|
32
|
-
professional setting
|
|
33
|
-
|
|
34
|
-
## Our Responsibilities
|
|
35
|
-
|
|
36
|
-
Project maintainers are responsible for clarifying the standards of acceptable
|
|
37
|
-
behavior and are expected to take appropriate and fair corrective action in
|
|
38
|
-
response to any instances of unacceptable behavior.
|
|
39
|
-
|
|
40
|
-
Project maintainers have the right and responsibility to remove, edit, or reject
|
|
41
|
-
comments, commits, code, wiki edits, issues, and other contributions that are
|
|
42
|
-
not aligned to this Code of Conduct, or to ban temporarily or permanently any
|
|
43
|
-
contributor for other behaviors that they deem inappropriate, threatening,
|
|
44
|
-
offensive, or harmful.
|
|
45
|
-
|
|
46
|
-
## Scope
|
|
47
|
-
|
|
48
|
-
This Code of Conduct applies both within project spaces and in public spaces
|
|
49
|
-
when an individual is representing the project or its community. Examples of
|
|
50
|
-
representing a project or community include using an official project e-mail
|
|
51
|
-
address, posting via an official social media account, or acting as an appointed
|
|
52
|
-
representative at an online or offline event. Representation of a project may be
|
|
53
|
-
further defined and clarified by project maintainers.
|
|
54
|
-
|
|
55
|
-
This Code of Conduct also applies outside the project spaces when the Project
|
|
56
|
-
Steward has a reasonable belief that an individual's behavior may have a
|
|
57
|
-
negative impact on the project or its community.
|
|
58
|
-
|
|
59
|
-
## Conflict Resolution
|
|
60
|
-
|
|
61
|
-
We do not believe that all conflict is bad; healthy debate and disagreement
|
|
62
|
-
often yield positive results. However, it is never okay to be disrespectful or
|
|
63
|
-
to engage in behavior that violates the project’s code of conduct.
|
|
64
|
-
|
|
65
|
-
If you see someone violating the code of conduct, you are encouraged to address
|
|
66
|
-
the behavior directly with those involved. Many issues can be resolved quickly
|
|
67
|
-
and easily, and this gives people more control over the outcome of their
|
|
68
|
-
dispute. If you are unable to resolve the matter for any reason, or if the
|
|
69
|
-
behavior is threatening or harassing, report it. We are dedicated to providing
|
|
70
|
-
an environment where participants feel welcome and safe.
|
|
71
|
-
|
|
72
|
-
Reports should be directed to *shaka-player-maintainers@googlegroups.com*, the
|
|
73
|
-
Project Steward(s) for *Shaka Player*. It is the Project Steward’s duty to
|
|
74
|
-
receive and address reported violations of the code of conduct. They will then
|
|
75
|
-
work with a committee consisting of representatives from the Open Source
|
|
76
|
-
Programs Office and the Google Open Source Strategy team. If for any reason you
|
|
77
|
-
are uncomfortable reaching out to the Project Steward, please email
|
|
78
|
-
opensource@google.com.
|
|
79
|
-
|
|
80
|
-
We will investigate every complaint, but you may not receive a direct response.
|
|
81
|
-
We will use our discretion in determining when and how to follow up on reported
|
|
82
|
-
incidents, which may range from not taking action to permanent expulsion from
|
|
83
|
-
the project and project-sponsored spaces. We will notify the accused of the
|
|
84
|
-
report and provide them an opportunity to discuss it before any action is taken.
|
|
85
|
-
The identity of the reporter will be omitted from the details of the report
|
|
86
|
-
supplied to the accused. In potentially harmful situations, such as ongoing
|
|
87
|
-
harassment or threats to anyone's safety, we may take action without notice.
|
|
88
|
-
|
|
89
|
-
## Attribution
|
|
90
|
-
|
|
91
|
-
This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
|
|
92
|
-
available at
|
|
93
|
-
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# How to contribute #
|
|
2
|
-
|
|
3
|
-
We'd love to accept your patches and contributions to this project. There are
|
|
4
|
-
just a few small guidelines you need to follow.
|
|
5
|
-
|
|
6
|
-
1. File a bug at https://github.com/shaka-project/shaka-player/issues (if there
|
|
7
|
-
isn't one already). If your patch is going to be large, you should start a
|
|
8
|
-
discussion on GitHub first.
|
|
9
|
-
|
|
10
|
-
Leave a comment to let us know that you are working on a PR for the issue.
|
|
11
|
-
We'll assign the issue to you.
|
|
12
|
-
|
|
13
|
-
2. For legal reasons, all contributors must sign a Contributor License
|
|
14
|
-
Agreement, either for an individual or corporation, before a patch can be
|
|
15
|
-
accepted. (See below.)
|
|
16
|
-
|
|
17
|
-
3. Follow the normal process of [forking][] the project, and setup a new
|
|
18
|
-
branch to work in. It's important that each group of changes be done in
|
|
19
|
-
separate branches in order to ensure that a pull request only includes the
|
|
20
|
-
commits related to that bug or feature.
|
|
21
|
-
|
|
22
|
-
4. Add an entry to the [AUTHORS][] and [CONTRIBUTORS][] files with your name
|
|
23
|
-
and email. For corporate contributions, AUTHORS should contain an entry
|
|
24
|
-
for your company.
|
|
25
|
-
|
|
26
|
-
5. Do your best to have [well-formed commit messages][] for each change.
|
|
27
|
-
This provides consistency throughout the project, and ensures that commit
|
|
28
|
-
messages are able to be formatted properly by various git tools.
|
|
29
|
-
|
|
30
|
-
6. Add or modify unit or integration tests for any new or modified
|
|
31
|
-
functionality in your patch. For bug fixes, try to write a regression test
|
|
32
|
-
that fails without your patch and passes with it. Our tests are written with
|
|
33
|
-
[Jasmine](https://jasmine.github.io/).
|
|
34
|
-
|
|
35
|
-
7. Test all changes in both the compiler and linter with:
|
|
36
|
-
```sh
|
|
37
|
-
python build/all.py
|
|
38
|
-
```
|
|
39
|
-
Patches that do not compile or pass linter checks will not be accepted.
|
|
40
|
-
|
|
41
|
-
8. Test all changes in the unit and integration tests with:
|
|
42
|
-
```sh
|
|
43
|
-
python build/test.py
|
|
44
|
-
```
|
|
45
|
-
Patches that do not pass unit and integration tests will not be accepted.
|
|
46
|
-
|
|
47
|
-
9. Finally, push the commits to your fork and submit a [pull request][].
|
|
48
|
-
|
|
49
|
-
[forking]: https://help.github.com/articles/fork-a-repo
|
|
50
|
-
[AUTHORS]: AUTHORS
|
|
51
|
-
[CONTRIBUTORS]: CONTRIBUTORS
|
|
52
|
-
[well-formed commit messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
|
53
|
-
[pull request]: https://help.github.com/articles/creating-a-pull-request
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
## Contributor License Agreement ##
|
|
57
|
-
|
|
58
|
-
Contributions to any Google project must be accompanied by a Contributor
|
|
59
|
-
License Agreement. This is not a copyright **assignment**, it simply gives
|
|
60
|
-
Google permission to use and redistribute your contributions as part of the
|
|
61
|
-
project.
|
|
62
|
-
|
|
63
|
-
* If you are an individual writing original source code and you're sure you
|
|
64
|
-
own the intellectual property, then you'll need to sign an [individual
|
|
65
|
-
CLA][].
|
|
66
|
-
|
|
67
|
-
* If you work for a company that wants to allow you to contribute your work,
|
|
68
|
-
then you'll need to sign a [corporate CLA][].
|
|
69
|
-
|
|
70
|
-
You generally only need to submit a CLA once, so if you've already submitted
|
|
71
|
-
one (even if it was for a different project), you probably don't need to do it
|
|
72
|
-
again.
|
|
73
|
-
|
|
74
|
-
[individual CLA]: https://developers.google.com/open-source/cla/individual
|
|
75
|
-
[corporate CLA]: https://developers.google.com/open-source/cla/corporate
|
|
76
|
-
|
|
Binary file
|
package/demo/app_logo_144.png
DELETED
|
Binary file
|
package/demo/app_logo_192.png
DELETED
|
Binary file
|
package/demo/app_logo_256.png
DELETED
|
Binary file
|
package/demo/app_logo_384.png
DELETED
|
Binary file
|
package/demo/app_logo_512.png
DELETED
|
Binary file
|
package/demo/app_manifest.json
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "Shaka Player Demo",
|
|
3
|
-
"short_name": "Shaka Player",
|
|
4
|
-
"icons": [{
|
|
5
|
-
"src": "app_logo_144.png",
|
|
6
|
-
"sizes": "144x144",
|
|
7
|
-
"type": "image/png"
|
|
8
|
-
}, {
|
|
9
|
-
"src": "app_logo_192.png",
|
|
10
|
-
"sizes": "192x192",
|
|
11
|
-
"type": "image/png"
|
|
12
|
-
}, {
|
|
13
|
-
"src": "app_logo_256.png",
|
|
14
|
-
"sizes": "256x256",
|
|
15
|
-
"type": "image/png"
|
|
16
|
-
}, {
|
|
17
|
-
"src": "app_logo_384.png",
|
|
18
|
-
"sizes": "384x384",
|
|
19
|
-
"type": "image/png"
|
|
20
|
-
}, {
|
|
21
|
-
"src": "app_logo_512.png",
|
|
22
|
-
"sizes": "512x512",
|
|
23
|
-
"type": "image/png"
|
|
24
|
-
}],
|
|
25
|
-
"start_url": "./#build=compiled",
|
|
26
|
-
"display": "standalone",
|
|
27
|
-
"background_color": "#FFFFFF",
|
|
28
|
-
"theme_color": "#2F3BA2"
|
|
29
|
-
}
|
package/demo/asset_card.js
DELETED
|
@@ -1,410 +0,0 @@
|
|
|
1
|
-
/*! @license
|
|
2
|
-
* Shaka Player
|
|
3
|
-
* Copyright 2016 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
goog.provide('shakaDemo.AssetCard');
|
|
8
|
-
|
|
9
|
-
goog.require('goog.asserts');
|
|
10
|
-
goog.require('shakaAssets');
|
|
11
|
-
goog.require('shakaDemo.Tooltips');
|
|
12
|
-
goog.requireType('ShakaDemoAssetInfo');
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Creates and contains an MDL card that presents info about the given asset.
|
|
16
|
-
* @final
|
|
17
|
-
*/
|
|
18
|
-
shakaDemo.AssetCard = class {
|
|
19
|
-
/**
|
|
20
|
-
* @param {!Element} parentDiv
|
|
21
|
-
* @param {!ShakaDemoAssetInfo} asset
|
|
22
|
-
* @param {boolean} isFeatured True if this card should use the "featured"
|
|
23
|
-
* style, which use the asset's short name and have descriptions.
|
|
24
|
-
* @param {function(!shakaDemo.AssetCard)} remakeButtonsFn
|
|
25
|
-
*/
|
|
26
|
-
constructor(parentDiv, asset, isFeatured, remakeButtonsFn) {
|
|
27
|
-
/** @private {!Element} */
|
|
28
|
-
this.card_ = document.createElement('div');
|
|
29
|
-
/** @private {!ShakaDemoAssetInfo} */
|
|
30
|
-
this.asset_ = asset;
|
|
31
|
-
/** @private {!Element} */
|
|
32
|
-
this.actions_ = document.createElement('div');
|
|
33
|
-
/** @private {!Element} */
|
|
34
|
-
this.featureIconsContainer_ = document.createElement('div');
|
|
35
|
-
/** @private {!Element} */
|
|
36
|
-
this.progressCircle_ = document.createElement('div');
|
|
37
|
-
const svgns = 'http://www.w3.org/2000/svg';
|
|
38
|
-
/** @private {!Element} */
|
|
39
|
-
this.progressCircleSvg_ = document.createElementNS(svgns, 'svg');
|
|
40
|
-
/** @private {!Element} */
|
|
41
|
-
this.progressCircleBack_ = document.createElementNS(svgns, 'circle');
|
|
42
|
-
/** @private {!Element} */
|
|
43
|
-
this.progressCircleBar_ = document.createElementNS(svgns, 'circle');
|
|
44
|
-
/** @private {function(!shakaDemo.AssetCard)} */
|
|
45
|
-
this.remakeButtonsFn_ = remakeButtonsFn;
|
|
46
|
-
|
|
47
|
-
// Lay out the card.
|
|
48
|
-
this.card_.classList.add('mdl-card-wide');
|
|
49
|
-
this.card_.classList.add('mdl-card');
|
|
50
|
-
this.card_.classList.add('mdl-shadow--2dp');
|
|
51
|
-
this.card_.classList.add('asset-card');
|
|
52
|
-
|
|
53
|
-
const titleDiv = document.createElement('div');
|
|
54
|
-
titleDiv.classList.add('mdl-card__title');
|
|
55
|
-
this.card_.appendChild(titleDiv);
|
|
56
|
-
const titleText = document.createElement('h2');
|
|
57
|
-
titleText.classList.add('mdl-card__title-text');
|
|
58
|
-
titleText.textContent =
|
|
59
|
-
isFeatured ? (asset.shortName || asset.name) : asset.name;
|
|
60
|
-
titleDiv.appendChild(titleText);
|
|
61
|
-
|
|
62
|
-
if (asset.iconUri) {
|
|
63
|
-
const picture = document.createElement('picture');
|
|
64
|
-
|
|
65
|
-
const webpSource =
|
|
66
|
-
/** @type {!HTMLSourceElement} */(document.createElement('source'));
|
|
67
|
-
webpSource.srcset = asset.iconUri.replace(/.png$/, '.webp');
|
|
68
|
-
webpSource.type = 'image/webp';
|
|
69
|
-
|
|
70
|
-
const pngSource =
|
|
71
|
-
/** @type {!HTMLSourceElement} */(document.createElement('source'));
|
|
72
|
-
pngSource.srcset = asset.iconUri;
|
|
73
|
-
pngSource.type = 'image/png';
|
|
74
|
-
|
|
75
|
-
const img =
|
|
76
|
-
/** @type {!HTMLImageElement} */(document.createElement('img'));
|
|
77
|
-
img.src = asset.iconUri;
|
|
78
|
-
img.alt = ''; // Not necessary to understand the page
|
|
79
|
-
|
|
80
|
-
picture.appendChild(webpSource);
|
|
81
|
-
picture.appendChild(pngSource);
|
|
82
|
-
picture.appendChild(img);
|
|
83
|
-
|
|
84
|
-
this.card_.appendChild(picture);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (asset.description && isFeatured) {
|
|
88
|
-
const supportingText = document.createElement('div');
|
|
89
|
-
supportingText.classList.add('mdl-card__supporting-text');
|
|
90
|
-
supportingText.textContent = asset.description;
|
|
91
|
-
this.card_.appendChild(supportingText);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
this.card_.appendChild(this.featureIconsContainer_);
|
|
95
|
-
this.addFeatureIcons_(asset);
|
|
96
|
-
|
|
97
|
-
this.actions_.classList.add('mdl-card__actions');
|
|
98
|
-
this.actions_.classList.add('mdl-card--border');
|
|
99
|
-
this.card_.appendChild(this.actions_);
|
|
100
|
-
|
|
101
|
-
this.progressCircle_.classList.add('hidden');
|
|
102
|
-
this.progressCircle_.classList.add('progress-circle');
|
|
103
|
-
this.card_.appendChild(this.progressCircle_);
|
|
104
|
-
this.progressCircleSvg_.appendChild(this.progressCircleBack_);
|
|
105
|
-
this.progressCircleSvg_.appendChild(this.progressCircleBar_);
|
|
106
|
-
this.progressCircle_.appendChild(this.progressCircleSvg_);
|
|
107
|
-
this.progressCircleSvg_.classList.add('progress-circle-svg');
|
|
108
|
-
this.progressCircleBack_.classList.add('progress-circle-back');
|
|
109
|
-
this.progressCircleBar_.classList.add('progress-circle-bar');
|
|
110
|
-
|
|
111
|
-
parentDiv.appendChild(this.card_);
|
|
112
|
-
// Remake buttons AFTER appending to parent div, so that any tooltips can
|
|
113
|
-
// be placed.
|
|
114
|
-
this.remakeButtons();
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* @param {number} progress
|
|
119
|
-
* @private
|
|
120
|
-
*/
|
|
121
|
-
styleProgressCircle_(progress) {
|
|
122
|
-
const svg = this.progressCircleSvg_;
|
|
123
|
-
const bar = this.progressCircleBar_;
|
|
124
|
-
const circleSize = 45;
|
|
125
|
-
const circleThickness = 5;
|
|
126
|
-
const circleRadius = (circleSize - circleThickness) / 2;
|
|
127
|
-
const circumference = 2 * Math.PI * circleRadius;
|
|
128
|
-
|
|
129
|
-
svg.setAttribute('viewBox', '0 0 ' + circleSize + ' ' + circleSize);
|
|
130
|
-
bar.setAttribute('stroke-dasharray', circumference);
|
|
131
|
-
bar.setAttribute('stroke-dashoffset', (circumference * (1 - progress)));
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* @param {string} icon
|
|
136
|
-
* @param {string} title
|
|
137
|
-
* @private
|
|
138
|
-
*/
|
|
139
|
-
addFeatureIcon_(icon, title) {
|
|
140
|
-
const iconDiv = document.createElement('div');
|
|
141
|
-
iconDiv.classList.add('feature-icon');
|
|
142
|
-
iconDiv.setAttribute('icon', icon);
|
|
143
|
-
this.featureIconsContainer_.appendChild(iconDiv);
|
|
144
|
-
|
|
145
|
-
shakaDemo.Tooltips.make(iconDiv, title);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* @param {!ShakaDemoAssetInfo} asset
|
|
150
|
-
* @private
|
|
151
|
-
*/
|
|
152
|
-
addFeatureIcons_(asset) {
|
|
153
|
-
const Feature = shakaAssets.Feature;
|
|
154
|
-
const KeySystem = shakaAssets.KeySystem;
|
|
155
|
-
|
|
156
|
-
const icons = new Map()
|
|
157
|
-
.set(Feature.SUBTITLES, 'subtitles')
|
|
158
|
-
.set(Feature.CAPTIONS, 'closed_caption')
|
|
159
|
-
.set(Feature.LIVE, 'live')
|
|
160
|
-
.set(Feature.TRICK_MODE, 'trick_mode')
|
|
161
|
-
.set(Feature.HIGH_DEFINITION, 'high_definition')
|
|
162
|
-
.set(Feature.ULTRA_HIGH_DEFINITION, 'ultra_high_definition')
|
|
163
|
-
.set(Feature.SURROUND, 'surround_sound')
|
|
164
|
-
.set(Feature.MULTIPLE_LANGUAGES, 'multiple_languages')
|
|
165
|
-
.set(Feature.ADS, 'ad')
|
|
166
|
-
.set(Feature.AUDIO_ONLY, 'audio_only');
|
|
167
|
-
|
|
168
|
-
for (const feature of asset.features) {
|
|
169
|
-
const icon = icons.get(feature);
|
|
170
|
-
if (icon) {
|
|
171
|
-
this.addFeatureIcon_(icon, feature);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
for (const drm of asset.drm) {
|
|
176
|
-
switch (drm) {
|
|
177
|
-
case KeySystem.WIDEVINE:
|
|
178
|
-
this.addFeatureIcon_('widevine', drm);
|
|
179
|
-
break;
|
|
180
|
-
case KeySystem.CLEAR_KEY:
|
|
181
|
-
this.addFeatureIcon_('clear_key', drm);
|
|
182
|
-
break;
|
|
183
|
-
case KeySystem.PLAYREADY:
|
|
184
|
-
this.addFeatureIcon_('playready', drm);
|
|
185
|
-
break;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Modify an asset to make it clear that it is unsupported.
|
|
192
|
-
* @param {string} unsupportedReason
|
|
193
|
-
*/
|
|
194
|
-
markAsUnsupported(unsupportedReason) {
|
|
195
|
-
this.card_.classList.add('asset-card-unsupported');
|
|
196
|
-
this.makeUnsupportedButton_('Not Available', unsupportedReason);
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Make a button that represents the lack of a working button.
|
|
201
|
-
* @param {?string} buttonName
|
|
202
|
-
* @param {string} unsupportedReason
|
|
203
|
-
* @return {!Element}
|
|
204
|
-
* @private
|
|
205
|
-
*/
|
|
206
|
-
makeUnsupportedButton_(buttonName, unsupportedReason) {
|
|
207
|
-
const button = this.addButton(buttonName, () => {});
|
|
208
|
-
button.setAttribute('disabled', '');
|
|
209
|
-
|
|
210
|
-
// Tooltips don't work on disabled buttons (on some platforms), so
|
|
211
|
-
// the button itself has to be "uprooted" and placed in a synthetic div
|
|
212
|
-
// specifically to attach the tooltip to.
|
|
213
|
-
const attachPoint = document.createElement('div');
|
|
214
|
-
if (button.parentElement) {
|
|
215
|
-
button.parentElement.removeChild(button);
|
|
216
|
-
}
|
|
217
|
-
attachPoint.classList.add('tooltip-attach-point');
|
|
218
|
-
attachPoint.appendChild(button);
|
|
219
|
-
this.actions_.appendChild(attachPoint);
|
|
220
|
-
shakaDemo.Tooltips.make(attachPoint, unsupportedReason);
|
|
221
|
-
|
|
222
|
-
return button;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
/**
|
|
226
|
-
* Select this card if the card's asset matches |asset|.
|
|
227
|
-
* Used to simplify the implementation of "shaka-main-selected-asset-changed"
|
|
228
|
-
* handlers.
|
|
229
|
-
* @param {ShakaDemoAssetInfo} asset
|
|
230
|
-
*/
|
|
231
|
-
selectByAsset(asset) {
|
|
232
|
-
this.card_.classList.remove('selected');
|
|
233
|
-
if (this.asset_ == asset) {
|
|
234
|
-
this.card_.classList.add('selected');
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/** Remake the buttons of the card. */
|
|
239
|
-
remakeButtons() {
|
|
240
|
-
shaka.util.Dom.removeAllChildren(this.actions_);
|
|
241
|
-
this.remakeButtonsFn_(this);
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Adds a button to the bottom of the card that controls storage behavior.
|
|
246
|
-
* This is a separate function because it involves a significant amount of
|
|
247
|
-
* custom behavior, such as the download bar.
|
|
248
|
-
*/
|
|
249
|
-
addStoreButton() {
|
|
250
|
-
/**
|
|
251
|
-
* Makes the contents of the button into an MDL icon, and moves it into the
|
|
252
|
-
* upper-righthand corner with CSS styles.
|
|
253
|
-
* @param {!Element} button
|
|
254
|
-
* @param {!Element} attachPoint If there is no attach point, just pass the
|
|
255
|
-
* button in here.
|
|
256
|
-
* @param {string} iconText
|
|
257
|
-
*/
|
|
258
|
-
const styleAsDownloadButton = (button, attachPoint, iconText) => {
|
|
259
|
-
attachPoint.classList.add('asset-card-corner-button');
|
|
260
|
-
const icon = document.createElement('i');
|
|
261
|
-
icon.textContent = iconText;
|
|
262
|
-
icon.classList.add('material-icons-round');
|
|
263
|
-
button.appendChild(icon);
|
|
264
|
-
};
|
|
265
|
-
|
|
266
|
-
const unsupportedReason = shakaDemoMain.getAssetUnsupportedReason(
|
|
267
|
-
this.asset_, /* needOffline= */ true);
|
|
268
|
-
if (!unsupportedReason) {
|
|
269
|
-
goog.asserts.assert(this.asset_.storeCallback,
|
|
270
|
-
'A storage callback is expected for all supported assets!');
|
|
271
|
-
}
|
|
272
|
-
if (unsupportedReason) {
|
|
273
|
-
// This can't be stored.
|
|
274
|
-
const button = this.makeUnsupportedButton_(null, unsupportedReason);
|
|
275
|
-
// As this is a unsupported button, it is wrapped in an "attach point";
|
|
276
|
-
// that is the element this has to move with CSS, otherwise the tooltip
|
|
277
|
-
// will end up coming out of the wrong place.
|
|
278
|
-
const attachPoint = button.parentElement || button;
|
|
279
|
-
styleAsDownloadButton(button, attachPoint, 'get_app');
|
|
280
|
-
return;
|
|
281
|
-
}
|
|
282
|
-
if (this.asset_.isStored()) {
|
|
283
|
-
const deleteButton = this.addButton(null, () => {
|
|
284
|
-
this.attachDeleteDialog_(deleteButton);
|
|
285
|
-
});
|
|
286
|
-
styleAsDownloadButton(deleteButton, deleteButton, 'offline_pin');
|
|
287
|
-
} else {
|
|
288
|
-
const downloadButton = this.addButton(null, async () => {
|
|
289
|
-
downloadButton.disabled = true;
|
|
290
|
-
await this.asset_.storeCallback();
|
|
291
|
-
this.remakeButtons();
|
|
292
|
-
});
|
|
293
|
-
styleAsDownloadButton(downloadButton, downloadButton, 'get_app');
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* @param {!HTMLButtonElement} deleteButton
|
|
299
|
-
* @private
|
|
300
|
-
*/
|
|
301
|
-
attachDeleteDialog_(deleteButton) {
|
|
302
|
-
const parentDiv = this.card_.parentElement;
|
|
303
|
-
if (!parentDiv) {
|
|
304
|
-
return;
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
this.makeYesNoDialogue_(parentDiv, 'Delete the offline copy?', async () => {
|
|
308
|
-
deleteButton.disabled = true;
|
|
309
|
-
await this.asset_.unstoreCallback();
|
|
310
|
-
});
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* @param {!Element} parentDiv
|
|
315
|
-
* @param {string} text
|
|
316
|
-
* @param {function():Promise} callback
|
|
317
|
-
* @private
|
|
318
|
-
*/
|
|
319
|
-
makeYesNoDialogue_(parentDiv, text, callback) {
|
|
320
|
-
const dialog =
|
|
321
|
-
/** @type {!HTMLDialogElement} */(document.createElement('dialog'));
|
|
322
|
-
dialog.classList.add('mdl-dialog');
|
|
323
|
-
parentDiv.appendChild(dialog);
|
|
324
|
-
if (!dialog.showModal) {
|
|
325
|
-
dialogPolyfill.registerDialog(dialog);
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
const textElement = document.createElement('h2');
|
|
329
|
-
textElement.classList.add('mdl-typography--title');
|
|
330
|
-
textElement.textContent = text;
|
|
331
|
-
dialog.appendChild(textElement);
|
|
332
|
-
|
|
333
|
-
const buttonsDiv = document.createElement('div');
|
|
334
|
-
dialog.appendChild(buttonsDiv);
|
|
335
|
-
const makeButton = (text, fn) => {
|
|
336
|
-
const button = document.createElement('button');
|
|
337
|
-
button.textContent = text;
|
|
338
|
-
button.classList.add('mdl-button');
|
|
339
|
-
button.classList.add('mdl-button--colored');
|
|
340
|
-
button.classList.add('mdl-js-button');
|
|
341
|
-
button.classList.add('mdl-js-ripple-effect');
|
|
342
|
-
button.addEventListener('click', () => {
|
|
343
|
-
fn();
|
|
344
|
-
});
|
|
345
|
-
buttonsDiv.appendChild(button);
|
|
346
|
-
button.blur();
|
|
347
|
-
};
|
|
348
|
-
makeButton('Yes', async () => {
|
|
349
|
-
dialog.close();
|
|
350
|
-
await callback();
|
|
351
|
-
this.remakeButtons();
|
|
352
|
-
});
|
|
353
|
-
makeButton('No', () => {
|
|
354
|
-
dialog.close();
|
|
355
|
-
});
|
|
356
|
-
|
|
357
|
-
dialog.showModal();
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
/**
|
|
361
|
-
* Updates the progress bar on the card.
|
|
362
|
-
*/
|
|
363
|
-
updateProgress() {
|
|
364
|
-
if (this.asset_.storedProgress < 1) {
|
|
365
|
-
this.progressCircle_.classList.remove('hidden');
|
|
366
|
-
for (const button of this.actions_.childNodes) {
|
|
367
|
-
if (button instanceof HTMLButtonElement) {
|
|
368
|
-
button.disabled = true;
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
} else {
|
|
372
|
-
this.progressCircle_.classList.add('hidden');
|
|
373
|
-
for (const button of this.actions_.childNodes) {
|
|
374
|
-
if (button instanceof HTMLButtonElement) {
|
|
375
|
-
button.disabled = false;
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
this.styleProgressCircle_(this.asset_.storedProgress);
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
/**
|
|
383
|
-
* Adds a button to the bottom of the card that will call |onClick| when
|
|
384
|
-
* clicked. For example, a play or delete button.
|
|
385
|
-
* @param {?string} name
|
|
386
|
-
* @param {function()} onclick
|
|
387
|
-
* @param {string=} yesNoDialogText
|
|
388
|
-
* @return {!HTMLButtonElement}
|
|
389
|
-
*/
|
|
390
|
-
addButton(name, onclick, yesNoDialogText) {
|
|
391
|
-
const button =
|
|
392
|
-
/** @type {!HTMLButtonElement} */(document.createElement('button'));
|
|
393
|
-
button.classList.add('mdl-button');
|
|
394
|
-
button.classList.add('mdl-button--colored');
|
|
395
|
-
button.classList.add('mdl-js-button');
|
|
396
|
-
button.classList.add('mdl-js-ripple-effect');
|
|
397
|
-
button.textContent = name || '';
|
|
398
|
-
button.addEventListener('click', () => {
|
|
399
|
-
if (!button.hasAttribute('disabled')) {
|
|
400
|
-
if (yesNoDialogText) {
|
|
401
|
-
this.makeYesNoDialogue_(this.actions_, yesNoDialogText, onclick);
|
|
402
|
-
} else {
|
|
403
|
-
onclick();
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
});
|
|
407
|
-
this.actions_.appendChild(button);
|
|
408
|
-
return button;
|
|
409
|
-
}
|
|
410
|
-
};
|
package/demo/autoTemplate.txt
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
**Have you read the [FAQ](https://bit.ly/ShakaFAQ) and checked for duplicate open issues?**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
**If the problem is related to FairPlay, have you read the tutorial?**
|
|
5
|
-
<!-- NOTE: https://shaka-player-demo.appspot.com/docs/api/tutorial-fairplay.html -->
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
**What version of Shaka Player are you using?**
|
|
9
|
-
`RE:player`
|
|
10
|
-
<!-- NOTE:
|
|
11
|
-
Only some versions of the application are maintained, if your version
|
|
12
|
-
is older, first update to a newer one. See:
|
|
13
|
-
https://github.com/shaka-project/shaka-player/blob/main/maintained-branches.md
|
|
14
|
-
--->
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
**Can you reproduce the issue with our latest release version?**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
**Can you reproduce the issue with the latest code from `main`?**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
**Are you using the demo app or your own custom app?**
|
|
24
|
-
The demo
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
**If custom app, can you reproduce the issue using our demo app?**
|
|
28
|
-
N/A
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
**What browser and OS are you using?**
|
|
32
|
-
`RE:browser`
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
**For embedded devices (smart TVs, etc.), what model and firmware version are you using?**
|
|
36
|
-
N/A
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
**What are the manifest and license server URIs?**
|
|
40
|
-
RE:customwarning
|
|
41
|
-
RE:uris
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
**What configuration are you using? What is the output of `player.getConfiguration()`?**
|
|
45
|
-
<!-- NOTE:
|
|
46
|
-
You can censor URLs to keep them private, but include them in the email. You
|
|
47
|
-
can also use JSON.stringify(obj, null, 2) to print nicely on platforms that
|
|
48
|
-
don't print objects well in the console. DON'T SEND '[object Object]'!
|
|
49
|
-
-->
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
**What did you do?**
|
|
53
|
-
<!-- Steps to reproduce the bug -->
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
**What did you expect to happen?**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
**What actually happened?**
|
|
60
|
-
<!-- A clear and concise description of what the bug is -->
|
|
61
|
-
<!-- If applicable, you may add screenshots to help explain your problem. -->
|
|
Binary file
|
|
Binary file
|
|
Binary file
|