shaka-player 4.5.0 → 4.6.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/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
- package/AUTHORS +2 -0
- package/CHANGELOG.md +98 -0
- package/CODE_OF_CONDUCT.md +1 -1
- package/CONTRIBUTORS +2 -0
- package/README.md +38 -32
- package/demo/common/asset.js +11 -17
- package/demo/common/assets.js +117 -11
- package/demo/config.js +28 -1
- package/demo/custom.js +52 -38
- package/demo/main.js +11 -3
- package/demo/search.js +7 -0
- package/dist/controls.css +1 -1
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +133 -124
- package/dist/demo.compiled.debug.map +3 -3
- package/dist/demo.compiled.js +133 -124
- package/dist/demo.compiled.map +3 -3
- package/dist/deps.js +20 -18
- package/dist/locales.js +35 -31
- package/dist/receiver.compiled.debug.js +58 -50
- package/dist/receiver.compiled.debug.map +3 -3
- package/dist/receiver.compiled.js +58 -50
- package/dist/receiver.compiled.map +3 -3
- package/dist/shaka-player.compiled.d.ts +440 -390
- package/dist/shaka-player.compiled.debug.d.ts +440 -390
- package/dist/shaka-player.compiled.debug.externs.js +162 -77
- package/dist/shaka-player.compiled.debug.js +786 -736
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +162 -77
- package/dist/shaka-player.compiled.js +1154 -1121
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +491 -437
- package/dist/shaka-player.ui.debug.d.ts +491 -437
- package/dist/shaka-player.ui.debug.externs.js +167 -77
- package/dist/shaka-player.ui.debug.js +877 -811
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +167 -77
- package/dist/shaka-player.ui.js +1362 -1318
- package/dist/shaka-player.ui.map +4 -4
- package/docs/tutorials/ad_monetization.md +54 -0
- package/docs/tutorials/basic-usage.md +2 -1
- package/docs/tutorials/errors.md +2 -1
- package/docs/tutorials/offline.md +10 -8
- package/docs/tutorials/plugins.md +5 -0
- package/docs/tutorials/ui-customization.md +13 -0
- package/docs/tutorials/ui.md +2 -1
- package/docs/tutorials/upgrade.md +3 -0
- package/externs/managedmediasource.js +24 -0
- package/externs/shaka/abr_manager.js +6 -2
- package/externs/shaka/cea.js +7 -0
- package/externs/shaka/codecs.js +5 -3
- package/externs/shaka/manifest.js +21 -5
- package/externs/shaka/manifest_parser.js +17 -0
- package/externs/shaka/net.js +2 -2
- package/externs/shaka/offline.js +9 -2
- package/externs/shaka/player.js +53 -7
- package/externs/shaka/text.js +3 -1
- package/externs/shaka/transmuxer.js +1 -1
- package/lib/abr/simple_abr_manager.js +25 -8
- package/lib/ads/media_tailor_ad_manager.js +14 -3
- package/lib/cast/cast_receiver.js +1 -1
- package/lib/cea/cea_decoder.js +28 -0
- package/lib/cea/dummy_caption_decoder.js +5 -0
- package/lib/dash/dash_parser.js +249 -83
- package/lib/dash/mpd_utils.js +52 -31
- package/lib/dash/segment_base.js +4 -5
- package/lib/dash/segment_list.js +5 -4
- package/lib/dash/segment_template.js +83 -26
- package/lib/hls/hls_classes.js +28 -43
- package/lib/hls/hls_parser.js +761 -649
- package/lib/hls/hls_utils.js +64 -5
- package/lib/hls/manifest_text_parser.js +7 -11
- package/lib/media/adaptation_set.js +20 -13
- package/lib/media/adaptation_set_criteria.js +70 -18
- package/lib/media/closed_caption_parser.js +13 -0
- package/lib/media/content_workarounds.js +6 -0
- package/lib/media/drm_engine.js +8 -13
- package/lib/media/manifest_parser.js +8 -113
- package/lib/media/media_source_capabilities.js +10 -3
- package/lib/media/media_source_engine.js +75 -21
- package/lib/media/play_rate_controller.js +8 -38
- package/lib/media/presentation_timeline.js +7 -1
- package/lib/media/quality_observer.js +1 -1
- package/lib/media/segment_index.js +5 -5
- package/lib/media/segment_prefetch.js +92 -24
- package/lib/media/segment_reference.js +67 -1
- package/lib/media/segment_utils.js +343 -0
- package/lib/media/stall_detector.js +0 -3
- package/lib/media/streaming_engine.js +41 -21
- package/lib/mss/mss_parser.js +18 -2
- package/lib/net/networking_engine.js +66 -12
- package/lib/net/networking_utils.js +95 -0
- package/lib/offline/indexeddb/v1_storage_cell.js +2 -0
- package/lib/offline/indexeddb/v2_storage_cell.js +2 -0
- package/lib/offline/manifest_converter.js +2 -0
- package/lib/offline/offline_manifest_parser.js +10 -0
- package/lib/offline/storage.js +11 -7
- package/lib/player.js +993 -1502
- package/lib/polyfill/mediasource.js +22 -1
- package/lib/text/mp4_ttml_parser.js +2 -2
- package/lib/text/srt_text_parser.js +2 -2
- package/lib/text/stub_text_displayer.js +51 -0
- package/lib/text/text_engine.js +3 -2
- package/lib/text/ttml_text_parser.js +28 -5
- package/lib/text/ui_text_displayer.js +4 -0
- package/lib/text/vtt_text_parser.js +7 -2
- package/lib/transmuxer/aac_transmuxer.js +1 -1
- package/lib/transmuxer/ac3_transmuxer.js +1 -1
- package/lib/transmuxer/ec3_transmuxer.js +1 -1
- package/lib/transmuxer/h264.js +5 -4
- package/lib/transmuxer/h265.js +5 -4
- package/lib/transmuxer/mp3_transmuxer.js +1 -1
- package/lib/transmuxer/mpeg_ts_transmuxer.js +1 -1
- package/lib/transmuxer/mss_transmuxer.js +1 -1
- package/lib/transmuxer/ts_transmuxer.js +33 -13
- package/lib/util/buffer_utils.js +26 -4
- package/lib/util/content_steering_manager.js +358 -0
- package/lib/util/error.js +2 -6
- package/lib/util/fairplay_utils.js +1 -1
- package/lib/util/fake_event.js +5 -1
- package/lib/util/id3_utils.js +50 -1
- package/lib/util/manifest_parser_utils.js +12 -8
- package/lib/util/mp4_generator.js +2 -4
- package/lib/util/mutex.js +59 -0
- package/lib/util/object_utils.js +1 -1
- package/lib/util/periods.js +154 -179
- package/lib/util/platform.js +4 -3
- package/lib/util/player_configuration.js +35 -6
- package/lib/util/stream_utils.js +105 -98
- package/lib/util/ts_parser.js +124 -73
- package/lib/util/uint8array_utils.js +5 -1
- package/lib/util/xml_utils.js +5 -0
- package/maintained-branches.md +2 -2
- package/package.json +1 -1
- package/roadmap.md +15 -5
- package/shaka-player.uncompiled.js +0 -1
- package/test/abr/simple_abr_manager_unit.js +33 -33
- package/test/ads/ad_manager_unit.js +3 -2
- package/test/cast/cast_receiver_integration.js +3 -4
- package/test/cast/cast_utils_unit.js +2 -0
- package/test/cea/cea_decoder_unit.js +7 -0
- package/test/codec_switching/codec_switching_integration.js +2 -1
- package/test/dash/dash_parser_integration.js +2 -1
- package/test/dash/dash_parser_live_unit.js +0 -19
- package/test/dash/dash_parser_manifest_unit.js +494 -2
- package/test/dash/mpd_utils_unit.js +61 -30
- package/test/hls/hls_live_unit.js +12 -3
- package/test/hls/hls_parser_unit.js +377 -27
- package/test/hls/manifest_text_parser_unit.js +32 -99
- package/test/media/adaptation_set_criteria_unit.js +172 -21
- package/test/media/adaptation_set_unit.js +1 -0
- package/test/media/content_workarounds_unit.js +1 -1
- package/test/media/drm_engine_unit.js +3 -3
- package/test/media/media_source_engine_unit.js +1 -1
- package/test/media/play_rate_controller_unit.js +0 -48
- package/test/media/segment_index_unit.js +2 -1
- package/test/mss/mss_player_integration.js +3 -2
- package/test/net/networking_engine_unit.js +3 -3
- package/test/{media/manifest_parser_unit.js → net/networking_utils_unit.js} +2 -2
- package/test/offline/manifest_convert_unit.js +9 -0
- package/test/offline/offline_integration.js +2 -1
- package/test/offline/storage_integration.js +21 -9
- package/test/player_external.js +4 -2
- package/test/player_integration.js +15 -4
- package/test/player_load_graph_integration.js +47 -151
- package/test/player_src_equals_external.js +1 -0
- package/test/player_src_equals_integration.js +71 -4
- package/test/player_unit.js +80 -27
- package/test/test/util/fake_media_source_engine.js +5 -0
- package/test/test/util/fake_networking_engine.js +9 -1
- package/test/test/util/fake_segment_prefetch.js +3 -0
- package/test/test/util/manifest_generator.js +4 -0
- package/test/test/util/manifest_parser_util.js +14 -2
- package/test/test/util/offline_utils.js +1 -0
- package/test/test/util/simple_fakes.js +2 -2
- package/test/test/util/streaming_engine_util.js +3 -0
- package/test/test/util/test_scheme.js +6 -0
- package/test/test/util/ui_utils.js +4 -3
- package/test/text/mp4_ttml_parser_unit.js +4 -4
- package/test/text/srt_text_parser_unit.js +1 -1
- package/test/text/text_displayer_layout_unit.js +1 -1
- package/test/text/text_engine_unit.js +6 -0
- package/test/text/ttml_text_parser_unit.js +33 -2
- package/test/transmuxer/transmuxer_engine_integration.js +9 -0
- package/test/transmuxer/transmuxer_integration.js +33 -3
- package/test/ui/ad_ui_unit.js +2 -2
- package/test/ui/ui_customization_unit.js +17 -16
- package/test/ui/ui_integration.js +30 -20
- package/test/ui/ui_unit.js +25 -19
- package/test/util/buffer_utils_unit.js +1 -1
- package/test/util/content_steering_manager_unit.js +427 -0
- package/test/util/id3_utils_unit.js +52 -0
- package/test/util/stream_utils_unit.js +17 -113
- package/test/util/ts_parser_unit.js +3 -3
- package/third_party/closure-uri/uri.js +13 -1
- package/ui/audio_language_selection.js +9 -2
- package/ui/externs/ui.js +17 -2
- package/ui/language_utils.js +43 -8
- package/ui/less/range_elements.less +33 -0
- package/ui/locales/en.json +1 -0
- package/ui/locales/es-419.json +1 -0
- package/ui/locales/es.json +1 -0
- package/ui/locales/source.json +4 -0
- package/ui/localization.js +10 -0
- package/ui/remote_button.js +3 -1
- package/ui/resolution_selection.js +47 -10
- package/ui/seek_bar.js +296 -3
- package/ui/text_selection.js +2 -1
- package/ui/ui.js +6 -2
- package/lib/routing/node.js +0 -23
- package/lib/routing/payload.js +0 -47
- package/lib/routing/walker.js +0 -587
- package/test/routing/walker_unit.js +0 -505
|
@@ -44,7 +44,7 @@ assignees: ''
|
|
|
44
44
|
|
|
45
45
|
**What are the manifest and license server URIs?**
|
|
46
46
|
<!-- NOTE:
|
|
47
|
-
You can send the URIs to <shaka-player-
|
|
47
|
+
You can send the URIs to <shaka-player-maintainers@googlegroups.com> instead,
|
|
48
48
|
but please use GitHub and the template for the rest.
|
|
49
49
|
A copy of the manifest text or an attached manifest will **not** be
|
|
50
50
|
enough to reproduce your issue, and we **will** ask you to send a
|
package/AUTHORS
CHANGED
|
@@ -21,6 +21,7 @@ Alugha GmbH <*@alugha.com>
|
|
|
21
21
|
Alvaro Velad Galvan <ladvan91@hotmail.com>
|
|
22
22
|
Amila Sampath <lucksy@gmail.com>
|
|
23
23
|
Anthony Stansbridge <github@anthonystansbridge.co.uk>
|
|
24
|
+
Armand Zangue <armand.zangue@gmail.com>
|
|
24
25
|
Benjamin Wallberg <me@bwallberg.com>
|
|
25
26
|
Bonnier Broadcasting <*@bonnierbroadcasting.com>
|
|
26
27
|
Bryan Huh <bhh1988@gmail.com>
|
|
@@ -41,6 +42,7 @@ Gil Gonen <gil.gonen@gmail.com>
|
|
|
41
42
|
Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
|
|
42
43
|
Giuseppe Samela <giuseppe.samela@gmail.com>
|
|
43
44
|
Google Inc. <*@google.com>
|
|
45
|
+
Ivan Kohut <i.kohut@yahoo.com>
|
|
44
46
|
Itay Kinnrot <Itay.Kinnrot@Kaltura.com>
|
|
45
47
|
Jaeseok Lee <devsunb@gmail.com>
|
|
46
48
|
Jason Palmer <jason@jason-palmer.com>
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,103 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.6.0](https://github.com/shaka-project/shaka-player/compare/v4.5.0...v4.6.0) (2023-11-16)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* Add a stub text display class ([#5804](https://github.com/shaka-project/shaka-player/issues/5804)) ([#5806](https://github.com/shaka-project/shaka-player/issues/5806)) ([700d181](https://github.com/shaka-project/shaka-player/commit/700d181a576982617b211c948d990099306e1df5))
|
|
9
|
+
* Add config to ignore duplicate init data ([#5853](https://github.com/shaka-project/shaka-player/issues/5853)) ([acf23f8](https://github.com/shaka-project/shaka-player/commit/acf23f86af9691932f56e126bc9bf9d25ac19ec3))
|
|
10
|
+
* Add partial info to shaka.media.SegmentReference ([#5822](https://github.com/shaka-project/shaka-player/issues/5822)) ([766b0a1](https://github.com/shaka-project/shaka-player/commit/766b0a139e869a01a0170260e3f87a1378ca4860))
|
|
11
|
+
* Add support for WPE based browsers in RDK set-top boxes ([#5852](https://github.com/shaka-project/shaka-player/issues/5852)) ([2eedb12](https://github.com/shaka-project/shaka-player/commit/2eedb12a1e76044a410e5fd97ff5bda0a5c07db0))
|
|
12
|
+
* Add thumbnails support in src= ([#5802](https://github.com/shaka-project/shaka-player/issues/5802)) ([88e4cd4](https://github.com/shaka-project/shaka-player/commit/88e4cd41164c75dce44745c2fe89615b5d8c50a8))
|
|
13
|
+
* Add video progress events ([#5850](https://github.com/shaka-project/shaka-player/issues/5850)) ([c3beee6](https://github.com/shaka-project/shaka-player/commit/c3beee6f2a5dd929da2549ebeef1ee5018beafad))
|
|
14
|
+
* Allow prefetch init segments ([#5825](https://github.com/shaka-project/shaka-player/issues/5825)) ([3f392c0](https://github.com/shaka-project/shaka-player/commit/3f392c00dce6c8dcd57432c16aa683936bcf16df))
|
|
15
|
+
* **DASH:** Add initial support for "urn:mpeg:dash:ssr:2023" ([#5762](https://github.com/shaka-project/shaka-player/issues/5762)) ([508e5cf](https://github.com/shaka-project/shaka-player/commit/508e5cfbbaa36112d1f57841d83b232d2367e5dc))
|
|
16
|
+
* **DASH:** Add support for Content Steering ([#5710](https://github.com/shaka-project/shaka-player/issues/5710)) ([42f491f](https://github.com/shaka-project/shaka-player/commit/42f491f782f5c2c011fd8cd5b468d627529914f2))
|
|
17
|
+
* **DASH:** Add support for Content Steering in AdaptationSet BaseURL ([#5884](https://github.com/shaka-project/shaka-player/issues/5884)) ([1c6f1fa](https://github.com/shaka-project/shaka-player/commit/1c6f1fa7b32d32ab71e2420ec0f57b69cdbfb82a))
|
|
18
|
+
* **DASH:** Add support for minimum values in service descriptions ([#5844](https://github.com/shaka-project/shaka-player/issues/5844)) ([5f94a62](https://github.com/shaka-project/shaka-player/commit/5f94a6253ba3a598fdc086a11cedd1f061c7c291))
|
|
19
|
+
* **Demo:** Add CBCS content to demo ([#5862](https://github.com/shaka-project/shaka-player/issues/5862)) ([9777c52](https://github.com/shaka-project/shaka-player/commit/9777c524b6d7ea8a3cf8779affb01b887b048d09))
|
|
20
|
+
* **Demo:** Add Content Steering assets ([#5888](https://github.com/shaka-project/shaka-player/issues/5888)) ([8e0ee8a](https://github.com/shaka-project/shaka-player/commit/8e0ee8a8a783d1b881928d96f0cb8ab96f6d2621))
|
|
21
|
+
* **demo:** Add icon for new demo asset ([#5866](https://github.com/shaka-project/shaka-player/issues/5866)) ([f7448b7](https://github.com/shaka-project/shaka-player/commit/f7448b7bdb19f575c92854af3f90686890ee2761))
|
|
22
|
+
* **Demo:** Add new 3D movie stream from Apple ([#5872](https://github.com/shaka-project/shaka-player/issues/5872)) ([a5adf31](https://github.com/shaka-project/shaka-player/commit/a5adf3176fa1b74b2d3ccda10e9144ebd6bb627c))
|
|
23
|
+
* **HLS:** Add new config for allow LL-HLS byterange optimization ([#5877](https://github.com/shaka-project/shaka-player/issues/5877)) ([3e91e8e](https://github.com/shaka-project/shaka-player/commit/3e91e8eb0c584b3817421a8846bceba149ffd0dd))
|
|
24
|
+
* **HLS:** Add new config to get codecs from media segment for playlists without CODECS attribute ([#5772](https://github.com/shaka-project/shaka-player/issues/5772)) ([80630bb](https://github.com/shaka-project/shaka-player/commit/80630bb49581b056fb84afded0ac90a53fe54c36)), closes [#5769](https://github.com/shaka-project/shaka-player/issues/5769)
|
|
25
|
+
* **HLS:** Add support for Content Steering ([#5881](https://github.com/shaka-project/shaka-player/issues/5881)) ([b75ca1d](https://github.com/shaka-project/shaka-player/commit/b75ca1df63181976e1a39977360d25fc9a2e43e9))
|
|
26
|
+
* **HLS:** Add support for mjpg I-Frames playlist ([#5856](https://github.com/shaka-project/shaka-player/issues/5856)) ([801131f](https://github.com/shaka-project/shaka-player/commit/801131f84cf0cfadf79c4d069f82e1ff4c463a00))
|
|
27
|
+
* **HLS:** Add support for QUERYPARAM variable type in #EXT-X-DEFINE ([#5801](https://github.com/shaka-project/shaka-player/issues/5801)) ([fda3189](https://github.com/shaka-project/shaka-player/commit/fda3189fd2fb8a89946cdb2d8fd0c57bcbed3ab6))
|
|
28
|
+
* **HLS:** Add support for REQ-VIDEO-LAYOUT ([#5809](https://github.com/shaka-project/shaka-player/issues/5809)) ([81fc82b](https://github.com/shaka-project/shaka-player/commit/81fc82b6b24c2f17e60e6bfe89ee6870972efd72))
|
|
29
|
+
* **HLS:** Build closed captions metadata for media playlist on-the-fly. ([#5811](https://github.com/shaka-project/shaka-player/issues/5811)) ([754bfac](https://github.com/shaka-project/shaka-player/commit/754bfacf077226173eb46c3938696110bcbbfc55))
|
|
30
|
+
* **HLS:** Improve the stream info when EXT-X-MEDIA has not uri ([#5886](https://github.com/shaka-project/shaka-player/issues/5886)) ([b5b6a0f](https://github.com/shaka-project/shaka-player/commit/b5b6a0fd8455efbc635f75dd8c477c6c59474ee3))
|
|
31
|
+
* **ID3:** decode APIC frames ([#5857](https://github.com/shaka-project/shaka-player/issues/5857)) ([6a862d2](https://github.com/shaka-project/shaka-player/commit/6a862d265ac3b8e713e8f86bee3c641a1f0f38e5))
|
|
32
|
+
* Improve latency in LL DASH streams ([#5820](https://github.com/shaka-project/shaka-player/issues/5820)) ([20b4abf](https://github.com/shaka-project/shaka-player/commit/20b4abf81674e17fe5557d2cce58611faff7094c))
|
|
33
|
+
* **net:** Add shaka.net.NetworkingUtils ([#5756](https://github.com/shaka-project/shaka-player/issues/5756)) ([be96fd0](https://github.com/shaka-project/shaka-player/commit/be96fd0a2b0092efaecd1a09699ce78785266f52))
|
|
34
|
+
* Stop setting playbackRate to 0 to control buffering state ([#5696](https://github.com/shaka-project/shaka-player/issues/5696)) ([6156dce](https://github.com/shaka-project/shaka-player/commit/6156dced6bddc5e2cd0cc52071295cff63cadfcd))
|
|
35
|
+
* **thumbnails:** Add Player.getAllThumbnails ([#5783](https://github.com/shaka-project/shaka-player/issues/5783)) ([9f7576b](https://github.com/shaka-project/shaka-player/commit/9f7576be32c1c5292620ca1dc36325adde493626)), closes [#5781](https://github.com/shaka-project/shaka-player/issues/5781)
|
|
36
|
+
* **UI:** Add chapter titles and dividers on the seek bar ([#5863](https://github.com/shaka-project/shaka-player/issues/5863)) ([c1198df](https://github.com/shaka-project/shaka-player/commit/c1198df82f44f2fa402a5ff8d933219820ac9e8e))
|
|
37
|
+
* **UI:** Bucketize resolution names in the UI ([#5816](https://github.com/shaka-project/shaka-player/issues/5816)) ([b56b9df](https://github.com/shaka-project/shaka-player/commit/b56b9df602dfaff5012f95acfeea329f86dde618))
|
|
38
|
+
* **UI:** Display frame rates in the quality selector ([#5753](https://github.com/shaka-project/shaka-player/issues/5753)) ([3096378](https://github.com/shaka-project/shaka-player/commit/30963788be1d1840f9d8671cf8e91cbeaa721f10))
|
|
39
|
+
* **UI:** Show the channel count in the audio selector ([#5868](https://github.com/shaka-project/shaka-player/issues/5868)) ([1681acd](https://github.com/shaka-project/shaka-player/commit/1681acdd2439a542a976abc1aa252e377e4411d6))
|
|
40
|
+
* Use ManagedMediaSource when available ([#5683](https://github.com/shaka-project/shaka-player/issues/5683)) ([01da5fa](https://github.com/shaka-project/shaka-player/commit/01da5fa8a4b32c14582bd3cb865b5d5eca591d7f))
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Bug Fixes
|
|
44
|
+
|
|
45
|
+
* **ABR:** Fix HLS playback after internet connection is restored ([#5879](https://github.com/shaka-project/shaka-player/issues/5879)) ([f5777e5](https://github.com/shaka-project/shaka-player/commit/f5777e5625994a6c5483a33f68d5af9dec1e1335))
|
|
46
|
+
* AD_STARTED fires before ad started with AWS Media Tailor ([#5855](https://github.com/shaka-project/shaka-player/issues/5855)) ([b39f334](https://github.com/shaka-project/shaka-player/commit/b39f33466ebdeb8aba2df2edd1cf16bbccbd46dd))
|
|
47
|
+
* Add Orange platform to requiresEncryptionInfoInAllInitSegments ([#5895](https://github.com/shaka-project/shaka-player/issues/5895)) ([9d23a87](https://github.com/shaka-project/shaka-player/commit/9d23a87f859f1bed1a2e10c2f32f18de8ce0a579))
|
|
48
|
+
* Allow get seekRange on manifestparsed event in some cases ([#5892](https://github.com/shaka-project/shaka-player/issues/5892)) ([606d693](https://github.com/shaka-project/shaka-player/commit/606d693900a653fcc84dac64abeb7dda974101ca))
|
|
49
|
+
* Allow parseXmlString when createNodeIterator is not available ([#5805](https://github.com/shaka-project/shaka-player/issues/5805)) ([ea7764d](https://github.com/shaka-project/shaka-player/commit/ea7764d0a772bca59ad78f1e3bbc9a7e2734f456))
|
|
50
|
+
* ban new Uint16Array(buffer) ([#5838](https://github.com/shaka-project/shaka-player/issues/5838)) ([155befb](https://github.com/shaka-project/shaka-player/commit/155befb0a0e240adc331fe4b8b1967e344e5b0df))
|
|
51
|
+
* CEA decoder should return early if packet is not large enough ([#5893](https://github.com/shaka-project/shaka-player/issues/5893)) ([9a694b5](https://github.com/shaka-project/shaka-player/commit/9a694b59f824f7d3bf9d7ca64364abf6e60b0de4))
|
|
52
|
+
* **DASH:** Fix bad url when specify MPD BaseURL and AdaptationSet BaseURL ([#5883](https://github.com/shaka-project/shaka-player/issues/5883)) ([5f891d9](https://github.com/shaka-project/shaka-player/commit/5f891d98d65805f40c9ecab7fcc60a5b1cd00c3b))
|
|
53
|
+
* **DASH:** Fix manifest update time for Live manifests ([#5763](https://github.com/shaka-project/shaka-player/issues/5763)) ([65449d1](https://github.com/shaka-project/shaka-player/commit/65449d1a1c43c2f0741a3e8eed620fb5a374da84))
|
|
54
|
+
* **DASH:** Fix manifest update time for LL-DASH ([#5736](https://github.com/shaka-project/shaka-player/issues/5736)) ([8b7141f](https://github.com/shaka-project/shaka-player/commit/8b7141f92342044c8515679f6532efe635e205dc))
|
|
55
|
+
* **dash:** fix race condition in segment template ([#5842](https://github.com/shaka-project/shaka-player/issues/5842)) ([8d2b657](https://github.com/shaka-project/shaka-player/commit/8d2b6574de6d0510ae752637c3507df93fbf3591))
|
|
56
|
+
* **DASH:** Handle minimumUpdatePeriod=0 with urn:mpeg:dash:event:2012 (EMSG) ([#5823](https://github.com/shaka-project/shaka-player/issues/5823)) ([f8438df](https://github.com/shaka-project/shaka-player/commit/f8438df7b0f2834e77685eadc6d206f251730510))
|
|
57
|
+
* **DASH:** Segments being fetched out of the range of the timeline ([#5889](https://github.com/shaka-project/shaka-player/issues/5889)) ([d8aa24f](https://github.com/shaka-project/shaka-player/commit/d8aa24f41d79c9efb58014c3069c5183738f26d4))
|
|
58
|
+
* Dispatch streamDataCallback correctly in SegmentPrefetchOperation ([#5764](https://github.com/shaka-project/shaka-player/issues/5764)) ([bab8153](https://github.com/shaka-project/shaka-player/commit/bab81537626a0662ee291e4f5bccf488fd2c1870))
|
|
59
|
+
* Fix bug with live start time ([#5835](https://github.com/shaka-project/shaka-player/issues/5835)) ([577d141](https://github.com/shaka-project/shaka-player/commit/577d141f42b316a6a3708e9455453b49a6386be7))
|
|
60
|
+
* Fix chooseCodecsAndFilterManifest for similar frameRate ([#5817](https://github.com/shaka-project/shaka-player/issues/5817)) ([8ff204d](https://github.com/shaka-project/shaka-player/commit/8ff204d49dbf5f99189cb92f4a8d3ae4dd5494d4))
|
|
61
|
+
* Fix chooseCodecsAndFilterManifest for some HLS manifest ([#5800](https://github.com/shaka-project/shaka-player/issues/5800)) ([51870e9](https://github.com/shaka-project/shaka-player/commit/51870e9d7cced20ee98783184b69584bea90446e))
|
|
62
|
+
* Fix converts legacy avc1 codec strings on transmuxer ([#5790](https://github.com/shaka-project/shaka-player/issues/5790)) ([8944ca9](https://github.com/shaka-project/shaka-player/commit/8944ca9b0ff7731889c35dbd62d6a57bd9f2060c))
|
|
63
|
+
* Fix crash while playing HLS AES 128 streams ([#5830](https://github.com/shaka-project/shaka-player/issues/5830)) ([64b12c1](https://github.com/shaka-project/shaka-player/commit/64b12c15792be2aa8e7f79b57f4231dfcb549fbd))
|
|
64
|
+
* Fix DRM workaround for Tizen and Xbox with ac-4 boxes ([#5812](https://github.com/shaka-project/shaka-player/issues/5812)) ([72a5de3](https://github.com/shaka-project/shaka-player/commit/72a5de337357fa9808509efc0e63a6b1ba4f4077))
|
|
65
|
+
* Fix incompatible codec is selected in Windows Edge for Widevine ([#5831](https://github.com/shaka-project/shaka-player/issues/5831)) ([5aa3597](https://github.com/shaka-project/shaka-player/commit/5aa359707469cca3cac3efdc7e7efcff1a180216))
|
|
66
|
+
* Fix mangled property in compiled mode in Content Steering ([#5887](https://github.com/shaka-project/shaka-player/issues/5887)) ([0e62b8e](https://github.com/shaka-project/shaka-player/commit/0e62b8e00713a0b56a5d81b9758b3b4e1d98dfcf))
|
|
67
|
+
* Fix missing audio streams ([#5869](https://github.com/shaka-project/shaka-player/issues/5869)) ([d6aab6b](https://github.com/shaka-project/shaka-player/commit/d6aab6befaf72eb87e431f5b27cb6c6bc368b56d))
|
|
68
|
+
* Fix nalu parsing and improve performance in the transmuxer ([#5846](https://github.com/shaka-project/shaka-player/issues/5846)) ([ae423b4](https://github.com/shaka-project/shaka-player/commit/ae423b4239141a62cf9d8acea622398048a60936))
|
|
69
|
+
* Fix selectAudioLanguage using channelsCount param ([#5875](https://github.com/shaka-project/shaka-player/issues/5875)) ([c830a99](https://github.com/shaka-project/shaka-player/commit/c830a99041e2d8d2f105ab569485c959fc8c5530))
|
|
70
|
+
* Fix variant filtering by preferredAudioChannelCount ([#5859](https://github.com/shaka-project/shaka-player/issues/5859)) ([51edeae](https://github.com/shaka-project/shaka-player/commit/51edeaefa02a0d01706bf2d18d601ad8d2763202))
|
|
71
|
+
* For text content is not necessary codec switching ([#5731](https://github.com/shaka-project/shaka-player/issues/5731)) ([bdbaae5](https://github.com/shaka-project/shaka-player/commit/bdbaae5182c1f4f650822edb2a95246a918ad5df))
|
|
72
|
+
* **hisense:** set stallSkip to 0 for HiSense devices ([#5833](https://github.com/shaka-project/shaka-player/issues/5833)) ([c457db8](https://github.com/shaka-project/shaka-player/commit/c457db835fee8292b840dc27451424706f238d78))
|
|
73
|
+
* **HLS:** Fix accessibilityPurpose detection ([#5840](https://github.com/shaka-project/shaka-player/issues/5840)) ([ceaa9fa](https://github.com/shaka-project/shaka-player/commit/ceaa9faba92465bf58cd9ea78ddac77158eabac1))
|
|
74
|
+
* **HLS:** Fix bad detection in some MediaPlaylist ([#5878](https://github.com/shaka-project/shaka-player/issues/5878)) ([5e797bd](https://github.com/shaka-project/shaka-player/commit/5e797bd734ca95be0cf68f59022645fad8dc9077))
|
|
75
|
+
* **HLS:** Fix decryption of AES-128 ([#5871](https://github.com/shaka-project/shaka-player/issues/5871)) ([da38b36](https://github.com/shaka-project/shaka-player/commit/da38b362e8146521e509599f4f2cbdef41a077d8))
|
|
76
|
+
* **HLS:** Fix init segment when EXT-X-MAP is preceded by EXT-X-BYTERANGE ([#5732](https://github.com/shaka-project/shaka-player/issues/5732)) ([24e5de3](https://github.com/shaka-project/shaka-player/commit/24e5de34ba2bd8a1e03204a1e8b96436c6aed296))
|
|
77
|
+
* **HLS:** Fix kind detection for 'captions' text tracks ([#5819](https://github.com/shaka-project/shaka-player/issues/5819)) ([8e442b3](https://github.com/shaka-project/shaka-player/commit/8e442b3884cb308df69e5327d06c773c2baeff04))
|
|
78
|
+
* **HLS:** Fix LL-HLS with byterange optimization using segments mode ([#5876](https://github.com/shaka-project/shaka-player/issues/5876)) ([c79e5a5](https://github.com/shaka-project/shaka-player/commit/c79e5a505878084c8691d28eae0813bb1755c927))
|
|
79
|
+
* **HLS:** Fix url management in HLS ([#5722](https://github.com/shaka-project/shaka-player/issues/5722)) ([8deab71](https://github.com/shaka-project/shaka-player/commit/8deab717f358502b9c79a0fbd504531cc3173ddd))
|
|
80
|
+
* **Offline:** Fix download of some HLS manifests ([#5861](https://github.com/shaka-project/shaka-player/issues/5861)) ([c2c8320](https://github.com/shaka-project/shaka-player/commit/c2c8320251526a0e755debf5448913a2fa896371))
|
|
81
|
+
* **offline:** Fix server certificate error when trying to store content ([#5848](https://github.com/shaka-project/shaka-player/issues/5848)) ([f4a35f2](https://github.com/shaka-project/shaka-player/commit/f4a35f2c3fa55449c6a12dd45f207893bc9eabca))
|
|
82
|
+
* **TTML:** Fix support of urls in smpte:backgroundImage ([#5851](https://github.com/shaka-project/shaka-player/issues/5851)) ([fa93d53](https://github.com/shaka-project/shaka-player/commit/fa93d5353acf785e450c8e7e664f7012e0d99bdc))
|
|
83
|
+
* **UI:** Console error on remote.cancelwatchavailability() method in remote playback feature ([#5793](https://github.com/shaka-project/shaka-player/issues/5793)) ([b66a8e8](https://github.com/shaka-project/shaka-player/commit/b66a8e871b3d541890f1fe431eb1c4c294c26a6e))
|
|
84
|
+
* **UI:** Fix text selector when the trackLabelFormat is set to LABEL ([#5751](https://github.com/shaka-project/shaka-player/issues/5751)) ([bba0651](https://github.com/shaka-project/shaka-player/commit/bba0651e23bdebc5ba12dc17f7d6d2a33c0bb51a))
|
|
85
|
+
* UITextDisplayer font-family is overridden by UI's Roboto font ([#5829](https://github.com/shaka-project/shaka-player/issues/5829)) ([cb8a5ed](https://github.com/shaka-project/shaka-player/commit/cb8a5edd7071a504d2d0f654944d86436d2632a8))
|
|
86
|
+
* **WebVTT:** Fix wrong writing-mode in nested cues ([#5807](https://github.com/shaka-project/shaka-player/issues/5807)) ([ea7d83e](https://github.com/shaka-project/shaka-player/commit/ea7d83ed8760d98119e771ea0b48baa1ba4eb4ea))
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
### Performance Improvements
|
|
90
|
+
|
|
91
|
+
* **dash:** improve readability and reduce number of loops in dash parser ([#5768](https://github.com/shaka-project/shaka-player/issues/5768)) ([17a4363](https://github.com/shaka-project/shaka-player/commit/17a4363e331fab3c4674504e54100b354fa0f0b8))
|
|
92
|
+
* **DASH:** PeriodCombiner optimisations ([#5837](https://github.com/shaka-project/shaka-player/issues/5837)) ([ade93b0](https://github.com/shaka-project/shaka-player/commit/ade93b0d004b379841dfaf0bcf7e2f04b8f14345))
|
|
93
|
+
* **DASH:** reduce looping and remove chaining awaits in period ([#5774](https://github.com/shaka-project/shaka-player/issues/5774)) ([be755e8](https://github.com/shaka-project/shaka-player/commit/be755e899536e169a8ef524e52f384e7a6abd001))
|
|
94
|
+
* **HLS:** Improve detection of all partial segments ([#5761](https://github.com/shaka-project/shaka-player/issues/5761)) ([2a35579](https://github.com/shaka-project/shaka-player/commit/2a3557915f05f72cb44406eb1497a386c8fecbab))
|
|
95
|
+
* Improve transmuxer performance ([#5789](https://github.com/shaka-project/shaka-player/issues/5789)) ([aa41e87](https://github.com/shaka-project/shaka-player/commit/aa41e8733f04948d6370dc066a96a2d7e394bc59))
|
|
96
|
+
* **manifest:** avoid unnecessary looping in uri resolver ([#5773](https://github.com/shaka-project/shaka-player/issues/5773)) ([4d5caee](https://github.com/shaka-project/shaka-player/commit/4d5caee6615c04acf591d0bd04ae6ca4a1ffbdb0))
|
|
97
|
+
* simplify and improve performance of parsing initData when deduping ([#5775](https://github.com/shaka-project/shaka-player/issues/5775)) ([041a08f](https://github.com/shaka-project/shaka-player/commit/041a08f88d2855e9457e7853014ee10b23a7612b))
|
|
98
|
+
* **utils:** use WeakSet to track object references ([#5791](https://github.com/shaka-project/shaka-player/issues/5791)) ([daa9d1f](https://github.com/shaka-project/shaka-player/commit/daa9d1f206652b775c406ecb4887e0f2bc7c533f))
|
|
99
|
+
* **Xbox:** drop incompatible variants for XBOX early ([#5777](https://github.com/shaka-project/shaka-player/issues/5777)) ([170a40c](https://github.com/shaka-project/shaka-player/commit/170a40c3083a8e4a0c6fabcf96439c2008ffcb63))
|
|
100
|
+
|
|
3
101
|
## [4.5.0](https://github.com/shaka-project/shaka-player/compare/v4.4.0...v4.5.0) (2023-10-04)
|
|
4
102
|
|
|
5
103
|
|
package/CODE_OF_CONDUCT.md
CHANGED
|
@@ -69,7 +69,7 @@ dispute. If you are unable to resolve the matter for any reason, or if the
|
|
|
69
69
|
behavior is threatening or harassing, report it. We are dedicated to providing
|
|
70
70
|
an environment where participants feel welcome and safe.
|
|
71
71
|
|
|
72
|
-
Reports should be directed to *shaka-player-
|
|
72
|
+
Reports should be directed to *shaka-player-maintainers@googlegroups.com*, the
|
|
73
73
|
Project Steward(s) for *Shaka Player*. It is the Project Steward’s duty to
|
|
74
74
|
receive and address reported violations of the code of conduct. They will then
|
|
75
75
|
work with a committee consisting of representatives from the Open Source
|
package/CONTRIBUTORS
CHANGED
|
@@ -32,6 +32,7 @@ Alvaro Velad Galvan <ladvan91@hotmail.com>
|
|
|
32
32
|
Amila Sampath <lucksy@gmail.com>
|
|
33
33
|
Andy Hochhaus <ahochhaus@samegoal.com>
|
|
34
34
|
Anthony Stansbridge <github@anthonystansbridge.co.uk>
|
|
35
|
+
Armand Zangue <armand.zangue@gmail.com>
|
|
35
36
|
Ashutosh Kumar Mukhiya <ashukm4@gmail.com>
|
|
36
37
|
Benjamin Wallberg <benjamin.wallberg@bonnierbroadcasting.com>
|
|
37
38
|
Benjamin Wallberg <me@bwallberg.com>
|
|
@@ -59,6 +60,7 @@ Gil Gonen <gil.gonen@gmail.com>
|
|
|
59
60
|
Giorgio Gamberoni <giorgio.gamberoni@gmail.com>
|
|
60
61
|
Giuseppe Samela <giuseppe.samela@gmail.com>
|
|
61
62
|
Hichem Taoufik <hichem@code-it.fr>
|
|
63
|
+
Ivan Kohut <i.kohut@yahoo.com>
|
|
62
64
|
Itay Kinnrot <itay.kinnrot@kaltura.com>
|
|
63
65
|
Isaac Ramirez <isaac.ramirez.herrera@gmail.com>
|
|
64
66
|
Jacob Trimble <modmaker@google.com>
|
package/README.md
CHANGED
|
@@ -33,24 +33,24 @@ for the up-to-date list of maintained branches of Shaka Player.
|
|
|
33
33
|
|
|
34
34
|
## Platform and browser support matrix
|
|
35
35
|
|
|
36
|
-
|Browser
|
|
37
|
-
|
|
38
|
-
|Chrome¹
|
|
39
|
-
|Firefox¹
|
|
40
|
-
|Edge¹
|
|
41
|
-
|Edge Chromium|**Y** |**Y** |**Y**
|
|
42
|
-
|IE
|
|
43
|
-
|Safari¹
|
|
44
|
-
|Opera¹
|
|
45
|
-
|Chromecast
|
|
46
|
-
|Tizen TV³
|
|
47
|
-
|WebOS⁶
|
|
48
|
-
|Xbox One
|
|
49
|
-
|Playstation 4⁷| - | - | - | - | - | - |**Y**|
|
|
50
|
-
|Playstation 5⁷| - | - | - | - | - | - |**Y**|
|
|
36
|
+
|Browser |Windows |Mac |Linux |Android |iOS >= 9 |iOS >= 17.1|iPadOS >= 13|ChromeOS|Other|
|
|
37
|
+
|:------------:|:--------:|:-------:|:-------:|:-------:|:--------:|:---------:|:----------:|:------:|:---:|
|
|
38
|
+
|Chrome¹ |**Y** |**Y** |**Y** |**Y** |**Native**|**Native** |**Native** |**Y** | - |
|
|
39
|
+
|Firefox¹ |**Y** |**Y** |**Y** |untested⁵|**Native**|**Native** |**Native** | - | - |
|
|
40
|
+
|Edge¹ |**Y** | - | - | - | - | - | - | - | - |
|
|
41
|
+
|Edge Chromium |**Y** |**Y** |**Y** |untested⁵|**Native**|**Native** |**Native** | - | - |
|
|
42
|
+
|IE | N | - | - | - | - | - | - | - | - |
|
|
43
|
+
|Safari¹ | - |**Y** | - | - |**Native**|**Y** |**Y** | - | - |
|
|
44
|
+
|Opera¹ |untested⁵ |untested⁵|untested⁵|untested⁵|**Native**| - | - | - | - |
|
|
45
|
+
|Chromecast². | - | - | - | - | - | - | - | - |**Y**|
|
|
46
|
+
|Tizen TV³ | - | - | - | - | - | - | - | - |**Y**|
|
|
47
|
+
|WebOS⁶ | - | - | - | - | - | - | - | - |**Y**|
|
|
48
|
+
|Xbox One | - | - | - | - | - | - | - | - |**Y**|
|
|
49
|
+
|Playstation 4⁷| - | - | - | - | - | - | - | - |**Y**|
|
|
50
|
+
|Playstation 5⁷| - | - | - | - | - | - | - | - |**Y**|
|
|
51
51
|
|
|
52
52
|
NOTES:
|
|
53
|
-
- ¹: On macOS, only Safari
|
|
53
|
+
- ¹: On macOS, only Safari 9+ is supported. On iOS, only iOS 9+ is
|
|
54
54
|
supported. Older versions will be rejected.
|
|
55
55
|
- ²: The latest stable Chromecast firmware is tested. Both sender and receiver
|
|
56
56
|
can be implemented with Shaka Player.
|
|
@@ -65,18 +65,12 @@ NOTES:
|
|
|
65
65
|
- ⁷: These are expected to work, but are community-supported and untested by
|
|
66
66
|
us.
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
We have another project called [Shaka Player Embedded][] which offers the same
|
|
75
|
-
features and similar APIs for native apps on iOS. This project uses its own
|
|
76
|
-
media stack, which allows it to play content that would otherwise not be
|
|
77
|
-
supported. This supports both DASH and HLS manifests.
|
|
78
|
-
|
|
79
|
-
[Shaka Player Embedded]: https://github.com/shaka-project/shaka-player-embedded
|
|
68
|
+
NOTES for iOS and iPadOS:
|
|
69
|
+
- We support iOS 9+ through Apple's native HLS player. We provide the same
|
|
70
|
+
top-level API, but we just set the video's `src` element to the manifest/media.
|
|
71
|
+
So we are dependent on the browser supporting the manifests.
|
|
72
|
+
- Since iPadOS 13 [MediaSource Extensions][] is supported
|
|
73
|
+
- Since iPadOS 17 and iOS 17.1 [ManagedMediaSource Extensions][] is supported
|
|
80
74
|
|
|
81
75
|
|
|
82
76
|
## Manifest format support matrix
|
|
@@ -135,12 +129,11 @@ HLS features supported:
|
|
|
135
129
|
- WebVTT and TTML
|
|
136
130
|
- CEA-608/708 captions
|
|
137
131
|
- Encrypted content with PlayReady and Widevine
|
|
138
|
-
- Encrypted content with FairPlay (Safari on macOS and iOS
|
|
132
|
+
- Encrypted content with FairPlay (Safari on macOS and iOS 9+ only)
|
|
139
133
|
- Key rotation
|
|
140
134
|
- Raw AAC, MP3, AC-3 and EC-3 (without an MP4 container)
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
- I-frame-only playlists: https://github.com/shaka-project/shaka-player/issues/742
|
|
135
|
+
- I-frame-only playlists with mjpg codec for thumbnails
|
|
136
|
+
- #EXT-X-IMAGE-STREAM-INF for thumbnails
|
|
144
137
|
|
|
145
138
|
|
|
146
139
|
## MPEG-5 Part2 LCEVC Support
|
|
@@ -294,6 +287,7 @@ Shaka Player supports:
|
|
|
294
287
|
Shaka Player supports:
|
|
295
288
|
- Internal DASH thumbnails. Using DASH-IF IOP Image Adaptation Set
|
|
296
289
|
- Internal HLS thumbnails. Using HLS Image Media Playlist
|
|
290
|
+
- Internal HLS thumbnails. Using I-frame-only playlists with mjpg codec
|
|
297
291
|
- External WebVTT with images/sprites (only for VoD)
|
|
298
292
|
|
|
299
293
|
|
|
@@ -307,6 +301,18 @@ Shaka Player supports:
|
|
|
307
301
|
- AWS MediaTailor overlays
|
|
308
302
|
|
|
309
303
|
|
|
304
|
+
## Content Steering support
|
|
305
|
+
Shaka Player supports Content Steering (v1) in DASH.
|
|
306
|
+
|
|
307
|
+
Content Steering features supported:
|
|
308
|
+
- TTL, if missing, the default value is 300 seconds.
|
|
309
|
+
- RELOAD-URI, if missing we use the url provided in the manifest as fallback.
|
|
310
|
+
- PATHWAY-PRIORITY only HOST replacement
|
|
311
|
+
|
|
312
|
+
Content Steering features **not** supported:
|
|
313
|
+
- PATHWAY-CLONES other replacements than HOST.
|
|
314
|
+
|
|
315
|
+
|
|
310
316
|
## Documentation & Important Links ##
|
|
311
317
|
|
|
312
318
|
* [Demo](https://shaka-player-demo.appspot.com)([sources](demo/))
|
package/demo/common/asset.js
CHANGED
|
@@ -45,6 +45,8 @@ const ShakaDemoAssetInfo = class {
|
|
|
45
45
|
this.extraText = [];
|
|
46
46
|
/** @type {!Array.<string>} */
|
|
47
47
|
this.extraThumbnail = [];
|
|
48
|
+
/** @type {!Array.<!shakaAssets.ExtraChapter>} */
|
|
49
|
+
this.extraChapter = [];
|
|
48
50
|
/** @type {?string} */
|
|
49
51
|
this.certificateUri = null;
|
|
50
52
|
/** @type {?string} */
|
|
@@ -83,8 +85,6 @@ const ShakaDemoAssetInfo = class {
|
|
|
83
85
|
this.mediaTailorAdsParams = null;
|
|
84
86
|
/** @type {?string} */
|
|
85
87
|
this.mimeType = null;
|
|
86
|
-
/** @type {?string} */
|
|
87
|
-
this.mediaPlaylistFullMimeType = null;
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
// Offline storage values.
|
|
@@ -174,15 +174,6 @@ const ShakaDemoAssetInfo = class {
|
|
|
174
174
|
return this.drm.length == 1 && this.drm[0] == shakaAssets.KeySystem.AES128;
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
-
/**
|
|
178
|
-
* @param {string} mediaPlaylistFullMimeType
|
|
179
|
-
* @return {!ShakaDemoAssetInfo}
|
|
180
|
-
*/
|
|
181
|
-
setMediaPlaylistFullMimeType(mediaPlaylistFullMimeType) {
|
|
182
|
-
this.mediaPlaylistFullMimeType = mediaPlaylistFullMimeType;
|
|
183
|
-
return this;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
177
|
/**
|
|
187
178
|
* @param {!Object} extraConfig
|
|
188
179
|
* @return {!ShakaDemoAssetInfo}
|
|
@@ -321,7 +312,6 @@ const ShakaDemoAssetInfo = class {
|
|
|
321
312
|
* @return {!ShakaDemoAssetInfo}
|
|
322
313
|
*/
|
|
323
314
|
addExtraText(extraText) {
|
|
324
|
-
// TODO: At no point do we actually use the extraText... why does it exist?
|
|
325
315
|
this.extraText.push(extraText);
|
|
326
316
|
return this;
|
|
327
317
|
}
|
|
@@ -335,6 +325,15 @@ const ShakaDemoAssetInfo = class {
|
|
|
335
325
|
return this;
|
|
336
326
|
}
|
|
337
327
|
|
|
328
|
+
/**
|
|
329
|
+
* @param {shakaAssets.ExtraChapter} extraChapter
|
|
330
|
+
* @return {!ShakaDemoAssetInfo}
|
|
331
|
+
*/
|
|
332
|
+
addExtraChapter(extraChapter) {
|
|
333
|
+
this.extraChapter.push(extraChapter);
|
|
334
|
+
return this;
|
|
335
|
+
}
|
|
336
|
+
|
|
338
337
|
/**
|
|
339
338
|
* If this is called, the asset will be focused on by the integration tests.
|
|
340
339
|
* @return {!ShakaDemoAssetInfo}
|
|
@@ -436,11 +435,6 @@ const ShakaDemoAssetInfo = class {
|
|
|
436
435
|
}
|
|
437
436
|
}
|
|
438
437
|
|
|
439
|
-
if (this.mediaPlaylistFullMimeType) {
|
|
440
|
-
config.manifest.hls.mediaPlaylistFullMimeType =
|
|
441
|
-
this.mediaPlaylistFullMimeType;
|
|
442
|
-
}
|
|
443
|
-
|
|
444
438
|
if (this.licenseServers.size) {
|
|
445
439
|
config.drm.servers = config.drm.servers || {};
|
|
446
440
|
this.licenseServers.forEach((value, key) => {
|
package/demo/common/assets.js
CHANGED
|
@@ -41,6 +41,7 @@ shakaAssets.Source = {
|
|
|
41
41
|
MICROSOFT: 'Microsoft',
|
|
42
42
|
VNOVA: 'V-Nova',
|
|
43
43
|
AWS: 'AWS',
|
|
44
|
+
BRIGHTCOVE: 'Brightcove',
|
|
44
45
|
};
|
|
45
46
|
|
|
46
47
|
|
|
@@ -131,6 +132,9 @@ shakaAssets.Feature = {
|
|
|
131
132
|
// Set if the asset has at least one containerless stream (AAC, etc).
|
|
132
133
|
CONTAINERLESS: 'Containerless',
|
|
133
134
|
|
|
135
|
+
// Set if the asset requires Dolby Vision with MV-HEVC (for 3D) support.
|
|
136
|
+
DOLBY_VISION_3D: 'Dolby Vision 3D',
|
|
137
|
+
|
|
134
138
|
// Set if the asset has at least one stream that is at least 720p.
|
|
135
139
|
HIGH_DEFINITION: 'High definition',
|
|
136
140
|
// Set if the asset has at least one stream that is at least 4k.
|
|
@@ -149,11 +153,17 @@ shakaAssets.Feature = {
|
|
|
149
153
|
// Set if the asset has at least one image stream.
|
|
150
154
|
THUMBNAILS: 'Thumbnails',
|
|
151
155
|
|
|
156
|
+
// Set if the asset has at least one chapter stream.
|
|
157
|
+
CHAPTERS: 'Chapters',
|
|
158
|
+
|
|
152
159
|
// Set if the asset has LCEVC.
|
|
153
160
|
LCEVC: 'LCEVC',
|
|
154
161
|
|
|
155
162
|
// Set if the asset has Low Latency mode.
|
|
156
163
|
LOW_LATENCY: 'Low Latency',
|
|
164
|
+
|
|
165
|
+
// Set if the asset has Content Steering.
|
|
166
|
+
CONTENT_STEERING: 'Content Steering',
|
|
157
167
|
};
|
|
158
168
|
|
|
159
169
|
|
|
@@ -178,6 +188,23 @@ shakaAssets.Feature = {
|
|
|
178
188
|
* (optional) The codecs string, if needed to refine the MIME type.
|
|
179
189
|
*/
|
|
180
190
|
shakaAssets.ExtraText;
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* @typedef {{
|
|
195
|
+
* uri: string,
|
|
196
|
+
* language: string,
|
|
197
|
+
* mime: string
|
|
198
|
+
* }}
|
|
199
|
+
*
|
|
200
|
+
* @property {string} uri
|
|
201
|
+
* The URI of the chapter.
|
|
202
|
+
* @property {string} language
|
|
203
|
+
* The language of the chapter (e.g. 'en').
|
|
204
|
+
* @property {string} mime
|
|
205
|
+
* The MIME type of the chapter (e.g. 'text/vtt')
|
|
206
|
+
*/
|
|
207
|
+
shakaAssets.ExtraChapter;
|
|
181
208
|
// End types and enums }}}
|
|
182
209
|
|
|
183
210
|
|
|
@@ -314,8 +341,7 @@ shakaAssets.testAssets = [
|
|
|
314
341
|
/* source= */ shakaAssets.Source.SHAKA)
|
|
315
342
|
.addFeature(shakaAssets.Feature.HLS)
|
|
316
343
|
.addFeature(shakaAssets.Feature.MP4)
|
|
317
|
-
.addFeature(shakaAssets.Feature.OFFLINE)
|
|
318
|
-
.setMediaPlaylistFullMimeType('video/mp4; codecs="avc1.4d401f"'),
|
|
344
|
+
.addFeature(shakaAssets.Feature.OFFLINE),
|
|
319
345
|
new ShakaDemoAssetInfo(
|
|
320
346
|
/* name= */ 'Angel One (HLS, MP4, multilingual, Widevine)',
|
|
321
347
|
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/angel_one.png',
|
|
@@ -381,11 +407,17 @@ shakaAssets.testAssets = [
|
|
|
381
407
|
/* manifestUri= */ 'https://storage.googleapis.com/shaka-demo-assets/sintel/dash.mpd',
|
|
382
408
|
/* source= */ shakaAssets.Source.SHAKA)
|
|
383
409
|
.addFeature(shakaAssets.Feature.DASH)
|
|
384
|
-
.addFeature(shakaAssets.Feature.
|
|
410
|
+
.addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION)
|
|
385
411
|
.addFeature(shakaAssets.Feature.MP4)
|
|
386
412
|
.addFeature(shakaAssets.Feature.SUBTITLES)
|
|
387
413
|
.addFeature(shakaAssets.Feature.WEBM)
|
|
388
|
-
.addFeature(shakaAssets.Feature.OFFLINE)
|
|
414
|
+
.addFeature(shakaAssets.Feature.OFFLINE)
|
|
415
|
+
.addFeature(shakaAssets.Feature.CHAPTERS)
|
|
416
|
+
.addExtraChapter({
|
|
417
|
+
uri: 'https://storage.googleapis.com/shaka-demo-assets/sintel-chapters.vtt',
|
|
418
|
+
language: 'en',
|
|
419
|
+
mime: 'text/vtt',
|
|
420
|
+
}),
|
|
389
421
|
new ShakaDemoAssetInfo(
|
|
390
422
|
/* name= */ 'Sintel w/ trick mode (MP4 only, 720p)',
|
|
391
423
|
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/sintel.png',
|
|
@@ -404,7 +436,7 @@ shakaAssets.testAssets = [
|
|
|
404
436
|
/* manifestUri= */ 'https://storage.googleapis.com/shaka-demo-assets/sintel-webm-only/dash.mpd',
|
|
405
437
|
/* source= */ shakaAssets.Source.SHAKA)
|
|
406
438
|
.addFeature(shakaAssets.Feature.DASH)
|
|
407
|
-
.addFeature(shakaAssets.Feature.
|
|
439
|
+
.addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION)
|
|
408
440
|
.addFeature(shakaAssets.Feature.SUBTITLES)
|
|
409
441
|
.addFeature(shakaAssets.Feature.WEBM)
|
|
410
442
|
.addFeature(shakaAssets.Feature.OFFLINE),
|
|
@@ -414,7 +446,7 @@ shakaAssets.testAssets = [
|
|
|
414
446
|
/* manifestUri= */ 'https://storage.googleapis.com/shaka-demo-assets/sintel-mp4-only/dash.mpd',
|
|
415
447
|
/* source= */ shakaAssets.Source.SHAKA)
|
|
416
448
|
.addFeature(shakaAssets.Feature.DASH)
|
|
417
|
-
.addFeature(shakaAssets.Feature.
|
|
449
|
+
.addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION)
|
|
418
450
|
.addFeature(shakaAssets.Feature.MP4)
|
|
419
451
|
.addFeature(shakaAssets.Feature.SUBTITLES)
|
|
420
452
|
.addFeature(shakaAssets.Feature.OFFLINE),
|
|
@@ -425,7 +457,7 @@ shakaAssets.testAssets = [
|
|
|
425
457
|
/* source= */ shakaAssets.Source.SHAKA)
|
|
426
458
|
.addKeySystem(shakaAssets.KeySystem.WIDEVINE)
|
|
427
459
|
.addFeature(shakaAssets.Feature.DASH)
|
|
428
|
-
.addFeature(shakaAssets.Feature.
|
|
460
|
+
.addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION)
|
|
429
461
|
.addFeature(shakaAssets.Feature.MP4)
|
|
430
462
|
.addFeature(shakaAssets.Feature.SUBTITLES)
|
|
431
463
|
.addFeature(shakaAssets.Feature.WEBM)
|
|
@@ -451,7 +483,7 @@ shakaAssets.testAssets = [
|
|
|
451
483
|
.setAdTagUri(shakaAssets.AdTag.AD_POD_PREROLL_MIDROLL_POSTROLL)
|
|
452
484
|
.addKeySystem(shakaAssets.KeySystem.WIDEVINE)
|
|
453
485
|
.addFeature(shakaAssets.Feature.DASH)
|
|
454
|
-
.addFeature(shakaAssets.Feature.
|
|
486
|
+
.addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION)
|
|
455
487
|
.addFeature(shakaAssets.Feature.MP4)
|
|
456
488
|
.addFeature(shakaAssets.Feature.SUBTITLES)
|
|
457
489
|
.addFeature(shakaAssets.Feature.WEBM)
|
|
@@ -463,7 +495,7 @@ shakaAssets.testAssets = [
|
|
|
463
495
|
/* manifestUri= */ 'https://storage.googleapis.com/shaka-demo-assets/sintel-mp4-wvtt/dash.mpd',
|
|
464
496
|
/* source= */ shakaAssets.Source.SHAKA)
|
|
465
497
|
.addFeature(shakaAssets.Feature.DASH)
|
|
466
|
-
.addFeature(shakaAssets.Feature.
|
|
498
|
+
.addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION)
|
|
467
499
|
.addFeature(shakaAssets.Feature.MP4)
|
|
468
500
|
.addFeature(shakaAssets.Feature.SUBTITLES)
|
|
469
501
|
.addFeature(shakaAssets.Feature.OFFLINE),
|
|
@@ -696,6 +728,21 @@ shakaAssets.testAssets = [
|
|
|
696
728
|
.addFeature(shakaAssets.Feature.HLS)
|
|
697
729
|
.addFeature(shakaAssets.Feature.LIVE)
|
|
698
730
|
.addFeature(shakaAssets.Feature.MP4),
|
|
731
|
+
new ShakaDemoAssetInfo(
|
|
732
|
+
/* name= */ 'Multi-DRM (CBCS), multi-key',
|
|
733
|
+
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png',
|
|
734
|
+
/* manifestUri= */ 'https://media.axprod.net/TestVectors/MultiKey/Cmaf_h264_1080p_cbcs/manifest.mpd',
|
|
735
|
+
/* source= */ shakaAssets.Source.AXINOM)
|
|
736
|
+
.addKeySystem(shakaAssets.KeySystem.PLAYREADY)
|
|
737
|
+
.addKeySystem(shakaAssets.KeySystem.WIDEVINE)
|
|
738
|
+
.addFeature(shakaAssets.Feature.DASH)
|
|
739
|
+
.addFeature(shakaAssets.Feature.HIGH_DEFINITION)
|
|
740
|
+
.addFeature(shakaAssets.Feature.MP4)
|
|
741
|
+
.addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES)
|
|
742
|
+
.addFeature(shakaAssets.Feature.SUBTITLES)
|
|
743
|
+
.addLicenseServer('com.widevine.alpha', 'https://drm-widevine-licensing.axprod.net/AcquireLicense')
|
|
744
|
+
.addLicenseServer('com.microsoft.playready', 'https://drm-playready-licensing.axtest.net/AcquireLicense')
|
|
745
|
+
.addLicenseRequestHeader('X-AxDRM-Message', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJ2ZXJzaW9uIjogMSwKICAiY29tX2tleV9pZCI6ICI2OWU1NDA4OC1lOWUwLTQ1MzAtOGMxYS0xZWI2ZGNkMGQxNGUiLAogICJtZXNzYWdlIjogewogICAgInR5cGUiOiAiZW50aXRsZW1lbnRfbWVzc2FnZSIsCiAgICAidmVyc2lvbiI6IDIsCiAgICAibGljZW5zZSI6IHsKICAgICAgImFsbG93X3BlcnNpc3RlbmNlIjogdHJ1ZQogICAgfSwKICAgICJjb250ZW50X2tleXNfc291cmNlIjogewogICAgICAiaW5saW5lIjogWwogICAgICAgIHsKICAgICAgICAgICJpZCI6ICJiNTRlYzkxNC0xOTJkLTRlYTEtYWMxOS1mNDI5ZWI0OTgyNjgiLAogICAgICAgICAgImVuY3J5cHRlZF9rZXkiOiAiR1ZERnJZUU9Bb1kzZmpxVVVtamswQT09IiwKICAgICAgICAgICJ1c2FnZV9wb2xpY3kiOiAiUG9saWN5IEEiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiaWQiOiAiYzgzYzRlYTgtMGYyYS00NTIzLTg1MWMtZmJlY2NkYzBmMjAyIiwKICAgICAgICAgICJlbmNyeXB0ZWRfa2V5IjogIlRKZGZsWmJLYmZXQXl5K1dta21UUEE9PSIsCiAgICAgICAgICAidXNhZ2VfcG9saWN5IjogIlBvbGljeSBBIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImlkIjogImM4NjhjNzAyLWM3MWItNDA2NC1hZTJiLWMyNGY3Y2MxMDc5MiIsCiAgICAgICAgICAiZW5jcnlwdGVkX2tleSI6ICJ4QXJpUkpOcUFTdXp6RExDRzNXSjdnPT0iLAogICAgICAgICAgInVzYWdlX3BvbGljeSI6ICJQb2xpY3kgQSIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICAiY29udGVudF9rZXlfdXNhZ2VfcG9saWNpZXMiOiBbCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJQb2xpY3kgQSIsCiAgICAgICAgInBsYXlyZWFkeSI6IHsKICAgICAgICAgICJtaW5fZGV2aWNlX3NlY3VyaXR5X2xldmVsIjogMTUwLAogICAgICAgICAgInBsYXlfZW5hYmxlcnMiOiBbCiAgICAgICAgICAgICI3ODY2MjdEOC1DMkE2LTQ0QkUtOEY4OC0wOEFFMjU1QjAxQTciCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICBdCiAgfQp9.XC0YIbZpKGFc3IZROklP4LvISc6cZGpE9UL-XcpcqWg'),
|
|
699
746
|
// End Axinom assets }}}
|
|
700
747
|
|
|
701
748
|
// Unified Streaming assets {{{
|
|
@@ -920,7 +967,6 @@ shakaAssets.testAssets = [
|
|
|
920
967
|
/* manifestUri= */ 'https://livesim2.dashif.org/livesim2/testpic_2s/Manifest_thumbs.mpd',
|
|
921
968
|
/* source= */ shakaAssets.Source.DASH_IF)
|
|
922
969
|
.addFeature(shakaAssets.Feature.DASH)
|
|
923
|
-
.addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION)
|
|
924
970
|
.addFeature(shakaAssets.Feature.MP4)
|
|
925
971
|
.addFeature(shakaAssets.Feature.LIVE)
|
|
926
972
|
.addFeature(shakaAssets.Feature.THUMBNAILS),
|
|
@@ -964,7 +1010,7 @@ shakaAssets.testAssets = [
|
|
|
964
1010
|
/* source= */ shakaAssets.Source.BITCODIN)
|
|
965
1011
|
// Disabled because the audio playlist ends about 9 seconds early somehow.
|
|
966
1012
|
.markAsDisabled()
|
|
967
|
-
.addFeature(shakaAssets.Feature.
|
|
1013
|
+
.addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION)
|
|
968
1014
|
.addFeature(shakaAssets.Feature.HLS)
|
|
969
1015
|
.addFeature(shakaAssets.Feature.MP2TS)
|
|
970
1016
|
.addFeature(shakaAssets.Feature.OFFLINE),
|
|
@@ -978,6 +1024,25 @@ shakaAssets.testAssets = [
|
|
|
978
1024
|
.addFeature(shakaAssets.Feature.MP4)
|
|
979
1025
|
.addFeature(shakaAssets.Feature.THUMBNAILS)
|
|
980
1026
|
.addExtraThumbnail('https://cdn.bitmovin.com/content/assets/art-of-motion-dash-hls-progressive/thumbnails/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.vtt'),
|
|
1027
|
+
new ShakaDemoAssetInfo(
|
|
1028
|
+
/* name= */ 'Art of Motion (HLS) (external thumbnails)',
|
|
1029
|
+
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/art_of_motion.png',
|
|
1030
|
+
/* manifestUri= */ 'https://cdn.bitmovin.com/content/assets/art-of-motion-dash-hls-progressive/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8',
|
|
1031
|
+
/* source= */ shakaAssets.Source.BITCODIN)
|
|
1032
|
+
.addFeature(shakaAssets.Feature.HLS)
|
|
1033
|
+
.addFeature(shakaAssets.Feature.HIGH_DEFINITION)
|
|
1034
|
+
.addFeature(shakaAssets.Feature.MP2TS)
|
|
1035
|
+
.addFeature(shakaAssets.Feature.THUMBNAILS)
|
|
1036
|
+
.addExtraThumbnail('https://cdn.bitmovin.com/content/assets/art-of-motion-dash-hls-progressive/thumbnails/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.vtt'),
|
|
1037
|
+
new ShakaDemoAssetInfo(
|
|
1038
|
+
/* name= */ 'Art of Motion (MP4) (external thumbnails)',
|
|
1039
|
+
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/art_of_motion.png',
|
|
1040
|
+
/* manifestUri= */ 'https://cdn.bitmovin.com/content/assets/art-of-motion-dash-hls-progressive/MI201109210084_mpeg-4_hd_high_1080p25_10mbits.mp4',
|
|
1041
|
+
/* source= */ shakaAssets.Source.BITCODIN)
|
|
1042
|
+
.addFeature(shakaAssets.Feature.HIGH_DEFINITION)
|
|
1043
|
+
.addFeature(shakaAssets.Feature.MP4)
|
|
1044
|
+
.addFeature(shakaAssets.Feature.THUMBNAILS)
|
|
1045
|
+
.addExtraThumbnail('https://cdn.bitmovin.com/content/assets/art-of-motion-dash-hls-progressive/thumbnails/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.vtt'),
|
|
981
1046
|
// End bitcodin assets }}}
|
|
982
1047
|
|
|
983
1048
|
// MetaCDN assets {{{
|
|
@@ -1298,6 +1363,25 @@ shakaAssets.testAssets = [
|
|
|
1298
1363
|
.addFeature(shakaAssets.Feature.CONTAINERLESS)
|
|
1299
1364
|
.addFeature(shakaAssets.Feature.HIGH_DEFINITION)
|
|
1300
1365
|
.addFeature(shakaAssets.Feature.OFFLINE),
|
|
1366
|
+
new ShakaDemoAssetInfo(
|
|
1367
|
+
/* name= */ 'Advanced stream HLS Stream (UHD/4K/HDR/ATMOS)',
|
|
1368
|
+
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/becoming_you.png',
|
|
1369
|
+
/* manifestUri= */ 'https://devstreaming-cdn.apple.com/videos/streaming/examples/adv_dv_atmos/main.m3u8',
|
|
1370
|
+
/* source= */ shakaAssets.Source.APPLE)
|
|
1371
|
+
.addFeature(shakaAssets.Feature.HLS)
|
|
1372
|
+
.addFeature(shakaAssets.Feature.MP4)
|
|
1373
|
+
.addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION)
|
|
1374
|
+
.addFeature(shakaAssets.Feature.OFFLINE)
|
|
1375
|
+
.addFeature(shakaAssets.Feature.THUMBNAILS),
|
|
1376
|
+
new ShakaDemoAssetInfo(
|
|
1377
|
+
/* name= */ '3D movie stream',
|
|
1378
|
+
/* iconUri= */ '',
|
|
1379
|
+
/* manifestUri= */ 'https://devstreaming-cdn.apple.com/videos/streaming/examples/historic_planet_content_2023-10-26-3d-video/main.m3u8',
|
|
1380
|
+
/* source= */ shakaAssets.Source.APPLE)
|
|
1381
|
+
.addFeature(shakaAssets.Feature.HLS)
|
|
1382
|
+
.addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION)
|
|
1383
|
+
.addFeature(shakaAssets.Feature.DOLBY_VISION_3D)
|
|
1384
|
+
.addFeature(shakaAssets.Feature.OFFLINE),
|
|
1301
1385
|
// }}}
|
|
1302
1386
|
|
|
1303
1387
|
// IRT assets {{{
|
|
@@ -1525,5 +1609,27 @@ shakaAssets.testAssets = [
|
|
|
1525
1609
|
.addFeature(shakaAssets.Feature.LIVE)
|
|
1526
1610
|
.setMediaTailor('https://d305rncpy6ne2q.cloudfront.net/v1/session/94063eadf7d8c56e9e2edd84fdf897826a70d0df/SFP-MediaTailor-Live-HLS-Overlays/channel/sfp-channel2/hls.m3u8'),
|
|
1527
1611
|
// }}}
|
|
1612
|
+
|
|
1613
|
+
// Brightcove assets {{{
|
|
1614
|
+
/* Brightcove Contents */
|
|
1615
|
+
new ShakaDemoAssetInfo(
|
|
1616
|
+
/* name= */ 'Content Steering HLS',
|
|
1617
|
+
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png',
|
|
1618
|
+
/* manifestUri= */ 'https://fastly.content-steering.com/bbb_hls/master_steering_fastly_https.m3u8',
|
|
1619
|
+
/* source= */ shakaAssets.Source.BRIGHTCOVE)
|
|
1620
|
+
.addFeature(shakaAssets.Feature.HLS)
|
|
1621
|
+
.addFeature(shakaAssets.Feature.HIGH_DEFINITION)
|
|
1622
|
+
.addFeature(shakaAssets.Feature.MP4)
|
|
1623
|
+
.addFeature(shakaAssets.Feature.CONTENT_STEERING),
|
|
1624
|
+
new ShakaDemoAssetInfo(
|
|
1625
|
+
/* name= */ 'Content Steering DASH',
|
|
1626
|
+
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png',
|
|
1627
|
+
/* manifestUri= */ 'https://fastly.content-steering.com/bbb/playlist_steering_fastly_https_cdn-a_cdn-c_cdn-b.mpd',
|
|
1628
|
+
/* source= */ shakaAssets.Source.BRIGHTCOVE)
|
|
1629
|
+
.addFeature(shakaAssets.Feature.DASH)
|
|
1630
|
+
.addFeature(shakaAssets.Feature.HIGH_DEFINITION)
|
|
1631
|
+
.addFeature(shakaAssets.Feature.MP4)
|
|
1632
|
+
.addFeature(shakaAssets.Feature.CONTENT_STEERING),
|
|
1633
|
+
// }}}
|
|
1528
1634
|
];
|
|
1529
1635
|
/* eslint-enable max-len */
|