shaka-player 4.4.2 → 4.4.3
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/CHANGELOG.md +23 -0
- package/demo/common/asset.js +5 -0
- package/demo/common/assets.js +20 -5
- package/demo/common/message_ids.js +1 -1
- package/demo/locales/en.json +2 -1
- package/demo/locales/source.json +5 -1
- package/demo/main.js +1 -1
- package/demo/search.js +3 -3
- package/dist/demo.compiled.debug.js +72 -70
- package/dist/demo.compiled.debug.map +3 -3
- package/dist/demo.compiled.js +72 -70
- package/dist/demo.compiled.map +3 -3
- package/dist/locales.js +30 -30
- package/dist/receiver.compiled.debug.js +38 -36
- package/dist/receiver.compiled.debug.map +3 -3
- package/dist/receiver.compiled.js +38 -36
- package/dist/receiver.compiled.map +3 -3
- package/dist/shaka-player.compiled.d.ts +222 -1
- package/dist/shaka-player.compiled.debug.d.ts +222 -1
- package/dist/shaka-player.compiled.debug.externs.js +271 -1
- package/dist/shaka-player.compiled.debug.js +233 -228
- package/dist/shaka-player.compiled.debug.map +3 -3
- package/dist/shaka-player.compiled.externs.js +271 -1
- package/dist/shaka-player.compiled.js +1035 -1028
- package/dist/shaka-player.compiled.map +3 -3
- package/dist/shaka-player.ui.d.ts +222 -1
- package/dist/shaka-player.ui.debug.d.ts +222 -1
- package/dist/shaka-player.ui.debug.externs.js +271 -1
- package/dist/shaka-player.ui.debug.js +256 -251
- package/dist/shaka-player.ui.debug.map +3 -3
- package/dist/shaka-player.ui.externs.js +271 -1
- package/dist/shaka-player.ui.js +1162 -1155
- package/dist/shaka-player.ui.map +3 -3
- package/docs/tutorials/offline.md +1 -1
- package/lib/dash/dash_parser.js +4 -1
- package/lib/hls/hls_parser.js +60 -24
- package/lib/media/segment_index.js +4 -4
- package/lib/media/segment_reference.js +6 -1
- package/lib/media/streaming_engine.js +14 -24
- package/lib/player.js +1 -1
- package/lib/text/cue.js +47 -47
- package/lib/text/vtt_text_parser.js +2 -2
- package/lib/util/cmcd_manager.js +6 -1
- package/lib/util/manifest_parser_utils.js +10 -4
- package/lib/util/platform.js +14 -0
- package/lib/util/ts_parser.js +3 -3
- package/package.json +1 -1
- package/test/dash/dash_parser_manifest_unit.js +5 -0
- package/test/dash/dash_parser_segment_base_unit.js +5 -0
- package/test/dash/dash_parser_segment_list_unit.js +21 -17
- package/test/dash/dash_parser_segment_template_unit.js +47 -0
- package/test/hls/hls_live_unit.js +33 -0
- package/test/hls/hls_parser_unit.js +2 -57
- package/test/test/util/dash_parser_util.js +16 -7
- package/test/text/vtt_text_parser_unit.js +2 -17
- package/test/transmuxer/transmuxer_integration.js +4 -4
- package/test/util/ts_parser_unit.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.4.3](https://github.com/shaka-project/shaka-player/compare/v4.4.2...v4.4.3) (2023-10-04)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Allow PID change in TsParser ([#5681](https://github.com/shaka-project/shaka-player/issues/5681)) ([ac8bb85](https://github.com/shaka-project/shaka-player/commit/ac8bb85bd8b02d0654af9fc7749cae7071c7abc5))
|
|
9
|
+
* **CMCD:** Fix CMCD for some mimetypes in src= ([#5699](https://github.com/shaka-project/shaka-player/issues/5699)) ([8829e1e](https://github.com/shaka-project/shaka-player/commit/8829e1eb21f66479a16bcf85df915be9dc0d8241))
|
|
10
|
+
* **Demo:** Fix url of "Low Latency HLS Live" asset ([#5708](https://github.com/shaka-project/shaka-player/issues/5708)) ([d0dbed3](https://github.com/shaka-project/shaka-player/commit/d0dbed330ee00f33bfb0c6b077bddad1a104c0ec))
|
|
11
|
+
* Fix creation of new Stream object for each manifest request in DASH Live when using CEA ([#5674](https://github.com/shaka-project/shaka-player/issues/5674)) ([fdc1e9f](https://github.com/shaka-project/shaka-player/commit/fdc1e9fe99cdf336fb3dc411b7174eba48acf5bb))
|
|
12
|
+
* Fix some properties on the shaka.text.Cue that are mangled ([#5673](https://github.com/shaka-project/shaka-player/issues/5673)) ([c69e50f](https://github.com/shaka-project/shaka-player/commit/c69e50f508ffeb5108133e39acd60c36b45c788d))
|
|
13
|
+
* **HLS:** Fix audio and video out of sync ([#5658](https://github.com/shaka-project/shaka-player/issues/5658)) ([7df352d](https://github.com/shaka-project/shaka-player/commit/7df352db25c3dc2c14315bb65fd0159b3c195528))
|
|
14
|
+
* **HLS:** Fix display CEA-708 in HLS ([#5694](https://github.com/shaka-project/shaka-player/issues/5694)) ([ed1d954](https://github.com/shaka-project/shaka-player/commit/ed1d95433b21049c6daf0b24d6ded13f46130e94))
|
|
15
|
+
* **HLS:** Fix presentation delay for small live playlists (eg: 3-4 segments) ([#5687](https://github.com/shaka-project/shaka-player/issues/5687)) ([10b03e7](https://github.com/shaka-project/shaka-player/commit/10b03e7b2c026fc2393a7244946feca5b7bebd1b))
|
|
16
|
+
* **HLS:** Skip segments without duration and without partial segments ([#5705](https://github.com/shaka-project/shaka-player/issues/5705)) ([eedad19](https://github.com/shaka-project/shaka-player/commit/eedad19b3e121d117e6748cbf965d58f30db49ca))
|
|
17
|
+
* **HLS:** Support AES-128 in init segment according the RFC ([#5677](https://github.com/shaka-project/shaka-player/issues/5677)) ([9d50f01](https://github.com/shaka-project/shaka-player/commit/9d50f01fbb4d958e347f623450438d526a338c2f))
|
|
18
|
+
* seeking in segment timeline returns incorrect index ([#5716](https://github.com/shaka-project/shaka-player/issues/5716)) ([15b8da0](https://github.com/shaka-project/shaka-player/commit/15b8da05aa70ae73957c68d00c78528a0ec7deb9)), closes [#5664](https://github.com/shaka-project/shaka-player/issues/5664)
|
|
19
|
+
* **WebVTT:** Fix text displayed out of picture and with overlapping lines ([#5662](https://github.com/shaka-project/shaka-player/issues/5662)) ([580b3f7](https://github.com/shaka-project/shaka-player/commit/580b3f7229cb033437d2f4285dfb108358f13afb)), closes [#5661](https://github.com/shaka-project/shaka-player/issues/5661)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Performance Improvements
|
|
23
|
+
|
|
24
|
+
* Optimization to resolve uris ([#5657](https://github.com/shaka-project/shaka-player/issues/5657)) ([971b2a0](https://github.com/shaka-project/shaka-player/commit/971b2a0074ada35f1891d956d6ec9601ad1ece39))
|
|
25
|
+
|
|
3
26
|
## [4.4.2](https://github.com/shaka-project/shaka-player/compare/v4.4.1...v4.4.2) (2023-09-13)
|
|
4
27
|
|
|
5
28
|
|
package/demo/common/asset.js
CHANGED
|
@@ -167,6 +167,11 @@ const ShakaDemoAssetInfo = class {
|
|
|
167
167
|
return this.drm.length == 1 && this.drm[0] == shakaAssets.KeySystem.CLEAR;
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
+
/** @return {boolean} */
|
|
171
|
+
isAes128() {
|
|
172
|
+
return this.drm.length == 1 && this.drm[0] == shakaAssets.KeySystem.AES128;
|
|
173
|
+
}
|
|
174
|
+
|
|
170
175
|
/**
|
|
171
176
|
* @param {string} mediaPlaylistFullMimeType
|
|
172
177
|
* @return {!ShakaDemoAssetInfo}
|
package/demo/common/assets.js
CHANGED
|
@@ -50,6 +50,7 @@ shakaAssets.KeySystem = {
|
|
|
50
50
|
FAIRPLAY: shakaDemo.MessageIds.FAIRPLAY,
|
|
51
51
|
PLAYREADY: shakaDemo.MessageIds.PLAYREADY,
|
|
52
52
|
WIDEVINE: shakaDemo.MessageIds.WIDEVINE,
|
|
53
|
+
AES128: shakaDemo.MessageIds.AES128,
|
|
53
54
|
CLEAR: shakaDemo.MessageIds.CLEAR,
|
|
54
55
|
};
|
|
55
56
|
|
|
@@ -88,6 +89,7 @@ shakaAssets.identifierForKeySystem = (keySystem) => {
|
|
|
88
89
|
case KeySystem.FAIRPLAY: return 'com.apple.fps';
|
|
89
90
|
case KeySystem.PLAYREADY: return 'com.microsoft.playready';
|
|
90
91
|
case KeySystem.WIDEVINE: return 'com.widevine.alpha';
|
|
92
|
+
case KeySystem.AES128: return 'aes128';
|
|
91
93
|
default: return 'no drm protection';
|
|
92
94
|
}
|
|
93
95
|
};
|
|
@@ -151,7 +153,7 @@ shakaAssets.Feature = {
|
|
|
151
153
|
LCEVC: shakaDemo.MessageIds.LCEVC,
|
|
152
154
|
|
|
153
155
|
// Set if the asset has Low Latency mode.
|
|
154
|
-
|
|
156
|
+
LOW_LATENCY: shakaDemo.MessageIds.LOW_LATENCY,
|
|
155
157
|
};
|
|
156
158
|
|
|
157
159
|
|
|
@@ -360,6 +362,7 @@ shakaAssets.testAssets = [
|
|
|
360
362
|
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/sintel.png',
|
|
361
363
|
/* manifestUri= */ 'https://storage.googleapis.com/shaka-demo-assets/sintel-ts-aes-key-rotation/master.m3u8',
|
|
362
364
|
/* source= */ shakaAssets.Source.SHAKA)
|
|
365
|
+
.addKeySystem(shakaAssets.KeySystem.AES128)
|
|
363
366
|
.addFeature(shakaAssets.Feature.HLS)
|
|
364
367
|
.addFeature(shakaAssets.Feature.MP2TS)
|
|
365
368
|
.addFeature(shakaAssets.Feature.OFFLINE),
|
|
@@ -368,6 +371,7 @@ shakaAssets.testAssets = [
|
|
|
368
371
|
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/sintel.png',
|
|
369
372
|
/* manifestUri= */ 'https://storage.googleapis.com/shaka-demo-assets/sintel-fmp4-aes/master.m3u8',
|
|
370
373
|
/* source= */ shakaAssets.Source.SHAKA)
|
|
374
|
+
.addKeySystem(shakaAssets.KeySystem.AES128)
|
|
371
375
|
.addFeature(shakaAssets.Feature.HLS)
|
|
372
376
|
.addFeature(shakaAssets.Feature.MP4)
|
|
373
377
|
.addFeature(shakaAssets.Feature.OFFLINE),
|
|
@@ -833,7 +837,7 @@ shakaAssets.testAssets = [
|
|
|
833
837
|
.addFeature(shakaAssets.Feature.DASH)
|
|
834
838
|
.addFeature(shakaAssets.Feature.LIVE)
|
|
835
839
|
.addFeature(shakaAssets.Feature.MP4)
|
|
836
|
-
.addFeature(shakaAssets.Feature.
|
|
840
|
+
.addFeature(shakaAssets.Feature.LOW_LATENCY)
|
|
837
841
|
.setExtraConfig({
|
|
838
842
|
streaming: {
|
|
839
843
|
lowLatencyMode: true,
|
|
@@ -864,7 +868,7 @@ shakaAssets.testAssets = [
|
|
|
864
868
|
.addFeature(shakaAssets.Feature.DASH)
|
|
865
869
|
.addFeature(shakaAssets.Feature.LIVE)
|
|
866
870
|
.addFeature(shakaAssets.Feature.MP4)
|
|
867
|
-
.addFeature(shakaAssets.Feature.
|
|
871
|
+
.addFeature(shakaAssets.Feature.LOW_LATENCY)
|
|
868
872
|
.setExtraConfig({
|
|
869
873
|
streaming: {
|
|
870
874
|
lowLatencyMode: true,
|
|
@@ -948,6 +952,7 @@ shakaAssets.testAssets = [
|
|
|
948
952
|
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/art_of_motion.png',
|
|
949
953
|
/* manifestUri= */ 'https://bitmovin-a.akamaihd.net/content/art-of-motion_drm/m3u8s/11331.m3u8',
|
|
950
954
|
/* source= */ shakaAssets.Source.BITCODIN)
|
|
955
|
+
.addKeySystem(shakaAssets.KeySystem.AES128)
|
|
951
956
|
.addFeature(shakaAssets.Feature.HIGH_DEFINITION)
|
|
952
957
|
.addFeature(shakaAssets.Feature.HLS)
|
|
953
958
|
.addFeature(shakaAssets.Feature.MP2TS)
|
|
@@ -1087,6 +1092,16 @@ shakaAssets.testAssets = [
|
|
|
1087
1092
|
kind: 'subtitle',
|
|
1088
1093
|
mime: 'text/vtt',
|
|
1089
1094
|
}),
|
|
1095
|
+
new ShakaDemoAssetInfo(
|
|
1096
|
+
/* name= */ 'Sintel (DASH, AES-128)',
|
|
1097
|
+
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/sintel.png',
|
|
1098
|
+
/* manifestUri= */ 'https://amssamples.streaming.mediaservices.windows.net/49b57c87-f5f3-48b3-ba22-c55cfdffa9cb/Sintel.ism/manifest(format=mpd-time-csf)',
|
|
1099
|
+
/* source= */ shakaAssets.Source.AZURE_MEDIA_SERVICES)
|
|
1100
|
+
.addKeySystem(shakaAssets.KeySystem.AES128)
|
|
1101
|
+
.addFeature(shakaAssets.Feature.DASH)
|
|
1102
|
+
.addFeature(shakaAssets.Feature.MP4)
|
|
1103
|
+
.addFeature(shakaAssets.Feature.HIGH_DEFINITION)
|
|
1104
|
+
.addFeature(shakaAssets.Feature.OFFLINE),
|
|
1090
1105
|
// End Azure Media Services assets }}}
|
|
1091
1106
|
|
|
1092
1107
|
// GPAC assets {{{
|
|
@@ -1254,12 +1269,12 @@ shakaAssets.testAssets = [
|
|
|
1254
1269
|
new ShakaDemoAssetInfo(
|
|
1255
1270
|
/* name= */ 'Low Latency HLS Live',
|
|
1256
1271
|
/* iconUri= */ 'https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png',
|
|
1257
|
-
/* manifestUri= */ 'https://ll-hls-test.apple.com/
|
|
1272
|
+
/* manifestUri= */ 'https://ll-hls-test.cdn-apple.com/llhls4/ll-hls-test-04/multi.m3u8',
|
|
1258
1273
|
/* source= */ shakaAssets.Source.APPLE)
|
|
1259
1274
|
.addFeature(shakaAssets.Feature.HLS)
|
|
1260
1275
|
.addFeature(shakaAssets.Feature.LIVE)
|
|
1261
1276
|
.addFeature(shakaAssets.Feature.MP4)
|
|
1262
|
-
.addFeature(shakaAssets.Feature.
|
|
1277
|
+
.addFeature(shakaAssets.Feature.LOW_LATENCY)
|
|
1263
1278
|
.setExtraConfig({
|
|
1264
1279
|
streaming: {
|
|
1265
1280
|
lowLatencyMode: true,
|
|
@@ -33,8 +33,8 @@ shakaDemo.MessageIds = {
|
|
|
33
33
|
VOD: 'DEMO_VOD',
|
|
34
34
|
WEBM: 'DEMO_WEBM',
|
|
35
35
|
XLINK: 'DEMO_XLINK',
|
|
36
|
-
LOW_LATENCY_STREAM: 'DEMO_LOW_LATENCY_STREAM',
|
|
37
36
|
/* Key systems. */
|
|
37
|
+
AES128: 'DEMO_AES128',
|
|
38
38
|
CLEAR: 'DEMO_CLEAR',
|
|
39
39
|
CLEAR_KEY: 'DEMO_CLEAR_KEY',
|
|
40
40
|
FAIRPLAY: 'DEMO_FAIRPLAY',
|
package/demo/locales/en.json
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
"DEMO_AD_TAG_URL": "Ad Tag URL",
|
|
7
7
|
"DEMO_ADS_TAB": "Ads",
|
|
8
8
|
"DEMO_ADS_SECTION_HEADER": "Ads",
|
|
9
|
+
"DEMO_AES128": "AES-128 protection",
|
|
9
10
|
"DEMO_ALL_CONTENT": "ALL CONTENT",
|
|
10
11
|
"DEMO_ALWAYS_STREAM_TEXT": "Always Stream Text",
|
|
11
12
|
"DEMO_ALWAYS_STREAM_TEXT_WARNING": "Text must always be streamed while native controls are enabled, for captions to work.",
|
|
@@ -135,7 +136,7 @@
|
|
|
135
136
|
"DEMO_LCEVC_DYNAMIC_PERFORMANCE_SCALING": "LCEVC Dynamic Performance scaling",
|
|
136
137
|
"DEMO_LCEVC_LOG_LEVEL": "LCEVC Log Level",
|
|
137
138
|
"DEMO_LCEVC_SECTION_HEADER": "MPEG-5 Part-2 LCEVC",
|
|
138
|
-
"
|
|
139
|
+
"DEMO_LOW_LATENCY": "Low Latency Stream",
|
|
139
140
|
"DEMO_LIBRARIES": "Google Hosted Libraries",
|
|
140
141
|
"DEMO_LICENSE": "Apache License",
|
|
141
142
|
"DEMO_LICENSE_CERTIFICATE_URL": "Custom License Certificate URL",
|
package/demo/locales/source.json
CHANGED
|
@@ -27,6 +27,10 @@
|
|
|
27
27
|
"description": "The label on a field that allows users to provide a Ad Tag URL for a custom asset.",
|
|
28
28
|
"message": "Ad Tag URL"
|
|
29
29
|
},
|
|
30
|
+
"DEMO_AES128": {
|
|
31
|
+
"description": "Text that describes an asset that is not protected with any Digital Rights Management system but it is protected with AES-128.",
|
|
32
|
+
"message": "[JARGON:AES-128] protection"
|
|
33
|
+
},
|
|
30
34
|
"DEMO_ALL_CONTENT": {
|
|
31
35
|
"description": "A link in the header, that switches to a page for browsing or searching through the entire content library.",
|
|
32
36
|
"message": "ALL CONTENT"
|
|
@@ -1135,7 +1139,7 @@
|
|
|
1135
1139
|
"description": "Max number of segments to be prefetched ahead of current time position.",
|
|
1136
1140
|
"message": "Segment Prefetch Limit."
|
|
1137
1141
|
},
|
|
1138
|
-
"
|
|
1142
|
+
"DEMO_LOW_LATENCY": {
|
|
1139
1143
|
"description": "A tag that marks an asset as low latency.",
|
|
1140
1144
|
"message": "Low Latency stream"
|
|
1141
1145
|
}
|
package/demo/main.js
CHANGED
|
@@ -743,7 +743,7 @@ shakaDemo.Main = class {
|
|
|
743
743
|
return shakaDemo.MessageIds.UNSUPPORTED_NO_DOWNLOAD;
|
|
744
744
|
}
|
|
745
745
|
|
|
746
|
-
if (!asset.isClear()) {
|
|
746
|
+
if (!asset.isClear() && !asset.isAes128()) {
|
|
747
747
|
const hasSupportedDRM = asset.drm.some((drm) => {
|
|
748
748
|
return this.support_.drm[shakaAssets.identifierForKeySystem(drm)];
|
|
749
749
|
});
|
package/demo/search.js
CHANGED
|
@@ -374,7 +374,7 @@ shakaDemo.Search = class {
|
|
|
374
374
|
}), SOURCE);
|
|
375
375
|
this.makeSelectInput_(coreContainer,
|
|
376
376
|
shakaDemo.MessageIds.LIVE_SEARCH,
|
|
377
|
-
[Feature.LIVE, Feature.VOD], FEATURE);
|
|
377
|
+
[Feature.LOW_LATENCY, Feature.LIVE, Feature.VOD], FEATURE);
|
|
378
378
|
|
|
379
379
|
// Special terms.
|
|
380
380
|
const containerStyle = shakaDemo.InputContainer.Style.FLEX;
|
|
@@ -403,8 +403,8 @@ shakaDemo.Search = class {
|
|
|
403
403
|
shakaDemo.MessageIds.THUMBNAILS);
|
|
404
404
|
this.makeBooleanInput_(specialContainer, Feature.LCEVC, FEATURE,
|
|
405
405
|
shakaDemo.MessageIds.LCEVC);
|
|
406
|
-
this.makeBooleanInput_(specialContainer, Feature.
|
|
407
|
-
FEATURE, shakaDemo.MessageIds.
|
|
406
|
+
this.makeBooleanInput_(specialContainer, Feature.LOW_LATENCY,
|
|
407
|
+
FEATURE, shakaDemo.MessageIds.LOW_LATENCY);
|
|
408
408
|
|
|
409
409
|
container.appendChild(this.resultsDiv_);
|
|
410
410
|
}
|