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
|
@@ -1136,63 +1136,6 @@ describe('HlsParser', () => {
|
|
|
1136
1136
|
expect(references[6].discontinuitySequence).toBe(3);
|
|
1137
1137
|
});
|
|
1138
1138
|
|
|
1139
|
-
it('sets reference timetampOffset based on discontinuity start time',
|
|
1140
|
-
async () => {
|
|
1141
|
-
const master = [
|
|
1142
|
-
'#EXTM3U\n',
|
|
1143
|
-
'#EXT-X-STREAM-INF:BANDWIDTH=2000000,CODECS="avc1"\n',
|
|
1144
|
-
'video\n',
|
|
1145
|
-
].join('');
|
|
1146
|
-
|
|
1147
|
-
const media = [
|
|
1148
|
-
'#EXTM3U\n',
|
|
1149
|
-
'#EXT-X-VERSION:3\n',
|
|
1150
|
-
'#EXT-X-TARGETDURATION:5\n',
|
|
1151
|
-
'#EXT-X-MEDIA-SEQUENCE:0\n',
|
|
1152
|
-
'#EXTINF:3,\n',
|
|
1153
|
-
'clip0-video-0.ts\n',
|
|
1154
|
-
'#EXTINF:1,\n',
|
|
1155
|
-
'clip0-video-1.ts\n',
|
|
1156
|
-
'#EXT-X-DISCONTINUITY\n',
|
|
1157
|
-
'#EXTINF:2,\n',
|
|
1158
|
-
'clip1-video-1.ts\n',
|
|
1159
|
-
'#EXTINF:3,\n',
|
|
1160
|
-
'clip1-video-2.ts\n',
|
|
1161
|
-
'#EXT-X-DISCONTINUITY\n',
|
|
1162
|
-
'#EXTINF:1,\n',
|
|
1163
|
-
'media-clip2-video-0.ts\n',
|
|
1164
|
-
'#EXTINF:1,\n',
|
|
1165
|
-
'media-clip2-video-1.ts\n',
|
|
1166
|
-
'#EXT-X-DISCONTINUITY\n',
|
|
1167
|
-
'#EXTINF:4,\n',
|
|
1168
|
-
'media-clip3-video-1.ts\n',
|
|
1169
|
-
'#EXT-X-ENDLIST\n',
|
|
1170
|
-
].join('');
|
|
1171
|
-
|
|
1172
|
-
fakeNetEngine
|
|
1173
|
-
.setResponseText('test:/master', master)
|
|
1174
|
-
.setResponseText('test:/video', media);
|
|
1175
|
-
|
|
1176
|
-
const manifest = await parser.start('test:/master', playerInterface);
|
|
1177
|
-
await manifest.variants[0].video.createSegmentIndex();
|
|
1178
|
-
|
|
1179
|
-
const segmentIndex = manifest.variants[0].video.segmentIndex;
|
|
1180
|
-
const references = [];
|
|
1181
|
-
|
|
1182
|
-
for (let i = 0; i < 7; i++) {
|
|
1183
|
-
references.push(segmentIndex.get(i));
|
|
1184
|
-
}
|
|
1185
|
-
|
|
1186
|
-
expect(references[0].timestampOffset).toBe(0);
|
|
1187
|
-
expect(references[1].timestampOffset).toBe(0);
|
|
1188
|
-
expect(references[2].timestampOffset).toBe(4);
|
|
1189
|
-
expect(references[3].timestampOffset).toBe(4);
|
|
1190
|
-
expect(references[4].timestampOffset).toBe(9);
|
|
1191
|
-
expect(references[5].timestampOffset).toBe(9);
|
|
1192
|
-
expect(references[6].timestampOffset).toBe(11);
|
|
1193
|
-
},
|
|
1194
|
-
);
|
|
1195
|
-
|
|
1196
1139
|
it('parses characteristics from audio tags', async () => {
|
|
1197
1140
|
const master = [
|
|
1198
1141
|
'#EXTM3U\n',
|
|
@@ -3182,8 +3125,10 @@ describe('HlsParser', () => {
|
|
|
3182
3125
|
|
|
3183
3126
|
const firstMp4Segment = mp4AesEncryptionVideo.segmentIndex.get(0);
|
|
3184
3127
|
expect(firstMp4Segment.hlsAes128Key).toBeDefined();
|
|
3128
|
+
expect(firstMp4Segment.initSegmentReference.hlsAes128Key).toBeDefined();
|
|
3185
3129
|
const secondMp4Segment = mp4AesEncryptionVideo.segmentIndex.get(1);
|
|
3186
3130
|
expect(secondMp4Segment.hlsAes128Key).toBeNull();
|
|
3131
|
+
expect(secondMp4Segment.initSegmentReference.hlsAes128Key).toBeDefined();
|
|
3187
3132
|
|
|
3188
3133
|
const tsAesEncryptionVideo = actual.variants[2].video;
|
|
3189
3134
|
await tsAesEncryptionVideo.createSegmentIndex();
|
|
@@ -46,11 +46,15 @@ shaka.test.Dash = class {
|
|
|
46
46
|
updateDuration: () => {},
|
|
47
47
|
newDrmInfo: (stream) => {},
|
|
48
48
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
try {
|
|
50
|
+
const manifest = await dashParser.start('dummy://foo', playerInterface);
|
|
51
|
+
const stream = manifest.variants[0].video;
|
|
52
|
+
await stream.createSegmentIndex();
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
shaka.test.ManifestParser.verifySegmentIndex(stream, references);
|
|
55
|
+
} finally {
|
|
56
|
+
dashParser.stop();
|
|
57
|
+
}
|
|
54
58
|
}
|
|
55
59
|
|
|
56
60
|
/**
|
|
@@ -82,9 +86,14 @@ shaka.test.Dash = class {
|
|
|
82
86
|
updateDuration: () => {},
|
|
83
87
|
newDrmInfo: (stream) => {},
|
|
84
88
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
89
|
+
|
|
90
|
+
try {
|
|
91
|
+
const p = dashParser.start('dummy://foo', playerInterface);
|
|
92
|
+
await expectAsync(p).toBeRejectedWith(
|
|
93
|
+
shaka.test.Util.jasmineError(expectedError));
|
|
94
|
+
} finally {
|
|
95
|
+
dashParser.stop();
|
|
96
|
+
}
|
|
88
97
|
}
|
|
89
98
|
|
|
90
99
|
/**
|
|
@@ -198,30 +198,15 @@ describe('VttTextParser', () => {
|
|
|
198
198
|
{
|
|
199
199
|
startTime: 40,
|
|
200
200
|
endTime: 50,
|
|
201
|
-
payload: '',
|
|
201
|
+
payload: 'Test2',
|
|
202
202
|
writingMode: Cue.writingMode.VERTICAL_LEFT_TO_RIGHT,
|
|
203
|
-
nestedCues: [
|
|
204
|
-
{
|
|
205
|
-
startTime: 40,
|
|
206
|
-
endTime: 50,
|
|
207
|
-
payload: 'Test',
|
|
208
|
-
writingMode: Cue.writingMode.VERTICAL_LEFT_TO_RIGHT,
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
startTime: 40,
|
|
212
|
-
endTime: 50,
|
|
213
|
-
payload: '2',
|
|
214
|
-
fontWeight: Cue.fontWeight.BOLD,
|
|
215
|
-
writingMode: Cue.writingMode.VERTICAL_LEFT_TO_RIGHT,
|
|
216
|
-
},
|
|
217
|
-
],
|
|
218
203
|
},
|
|
219
204
|
],
|
|
220
205
|
'WEBVTT\n\n' +
|
|
221
206
|
'00:00:20.000 --> 00:00:40.000 vertical:rl\n' +
|
|
222
207
|
'Test\n\n' +
|
|
223
208
|
'00:00:40.000 --> 00:00:50.000 vertical:lr\n' +
|
|
224
|
-
'
|
|
209
|
+
'Test2',
|
|
225
210
|
{periodStart: 0, segmentStart: 0, segmentEnd: 0, vttOffset: 0});
|
|
226
211
|
});
|
|
227
212
|
|
|
@@ -36,8 +36,8 @@ describe('Transmuxer Player', () => {
|
|
|
36
36
|
// We must enable this, once it is resolved:
|
|
37
37
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=1450313
|
|
38
38
|
const chromeVersion = shaka.util.Platform.chromeVersion();
|
|
39
|
-
if (shaka.util.Platform.isEdge() &&
|
|
40
|
-
chromeVersion && chromeVersion <=
|
|
39
|
+
if (shaka.util.Platform.isWindows() && shaka.util.Platform.isEdge() &&
|
|
40
|
+
chromeVersion && chromeVersion <= 118) {
|
|
41
41
|
return false;
|
|
42
42
|
}
|
|
43
43
|
return true;
|
|
@@ -57,8 +57,8 @@ describe('Transmuxer Player', () => {
|
|
|
57
57
|
// We must enable this, once it is resolved:
|
|
58
58
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=1450313
|
|
59
59
|
const chromeVersion = shaka.util.Platform.chromeVersion();
|
|
60
|
-
if (shaka.util.Platform.isEdge() &&
|
|
61
|
-
chromeVersion && chromeVersion <=
|
|
60
|
+
if (shaka.util.Platform.isWindows() && shaka.util.Platform.isEdge() &&
|
|
61
|
+
chromeVersion && chromeVersion <= 118) {
|
|
62
62
|
return false;
|
|
63
63
|
}
|
|
64
64
|
return true;
|