shaka-player 4.3.12 → 4.3.13
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 +21 -0
- package/demo/common/asset.js +5 -0
- package/demo/common/assets.js +16 -1
- package/demo/common/message_ids.js +1 -0
- package/demo/locales/en.json +1 -0
- package/demo/locales/source.json +4 -0
- package/demo/main.js +1 -1
- package/dist/demo.compiled.debug.js +55 -53
- package/dist/demo.compiled.debug.map +3 -3
- package/dist/demo.compiled.js +55 -53
- package/dist/demo.compiled.map +3 -3
- package/dist/locales.js +27 -27
- package/dist/receiver.compiled.debug.js +24 -22
- package/dist/receiver.compiled.debug.map +3 -3
- package/dist/receiver.compiled.js +24 -22
- package/dist/receiver.compiled.map +3 -3
- package/dist/shaka-player.compiled.d.ts +1 -1
- package/dist/shaka-player.compiled.debug.d.ts +1 -1
- package/dist/shaka-player.compiled.debug.externs.js +6 -4
- package/dist/shaka-player.compiled.debug.js +87 -89
- package/dist/shaka-player.compiled.debug.map +3 -3
- package/dist/shaka-player.compiled.externs.js +6 -4
- package/dist/shaka-player.compiled.js +340 -338
- package/dist/shaka-player.compiled.map +3 -3
- package/dist/shaka-player.ui.d.ts +1 -1
- package/dist/shaka-player.ui.debug.d.ts +1 -1
- package/dist/shaka-player.ui.debug.externs.js +6 -4
- package/dist/shaka-player.ui.debug.js +235 -237
- package/dist/shaka-player.ui.debug.map +3 -3
- package/dist/shaka-player.ui.externs.js +6 -4
- package/dist/shaka-player.ui.js +510 -508
- 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_reference.js +11 -5
- package/lib/media/streaming_engine.js +15 -25
- package/lib/player.js +1 -1
- 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/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 +5 -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/util/ts_parser_unit.js +1 -1
|
@@ -1114,63 +1114,6 @@ describe('HlsParser', () => {
|
|
|
1114
1114
|
expect(references[6].discontinuitySequence).toBe(3);
|
|
1115
1115
|
});
|
|
1116
1116
|
|
|
1117
|
-
it('sets reference timetampOffset based on discontinuity start time',
|
|
1118
|
-
async () => {
|
|
1119
|
-
const master = [
|
|
1120
|
-
'#EXTM3U\n',
|
|
1121
|
-
'#EXT-X-STREAM-INF:BANDWIDTH=2000000,CODECS="avc1"\n',
|
|
1122
|
-
'video\n',
|
|
1123
|
-
].join('');
|
|
1124
|
-
|
|
1125
|
-
const media = [
|
|
1126
|
-
'#EXTM3U\n',
|
|
1127
|
-
'#EXT-X-VERSION:3\n',
|
|
1128
|
-
'#EXT-X-TARGETDURATION:5\n',
|
|
1129
|
-
'#EXT-X-MEDIA-SEQUENCE:0\n',
|
|
1130
|
-
'#EXTINF:3,\n',
|
|
1131
|
-
'clip0-video-0.ts\n',
|
|
1132
|
-
'#EXTINF:1,\n',
|
|
1133
|
-
'clip0-video-1.ts\n',
|
|
1134
|
-
'#EXT-X-DISCONTINUITY\n',
|
|
1135
|
-
'#EXTINF:2,\n',
|
|
1136
|
-
'clip1-video-1.ts\n',
|
|
1137
|
-
'#EXTINF:3,\n',
|
|
1138
|
-
'clip1-video-2.ts\n',
|
|
1139
|
-
'#EXT-X-DISCONTINUITY\n',
|
|
1140
|
-
'#EXTINF:1,\n',
|
|
1141
|
-
'media-clip2-video-0.ts\n',
|
|
1142
|
-
'#EXTINF:1,\n',
|
|
1143
|
-
'media-clip2-video-1.ts\n',
|
|
1144
|
-
'#EXT-X-DISCONTINUITY\n',
|
|
1145
|
-
'#EXTINF:4,\n',
|
|
1146
|
-
'media-clip3-video-1.ts\n',
|
|
1147
|
-
'#EXT-X-ENDLIST\n',
|
|
1148
|
-
].join('');
|
|
1149
|
-
|
|
1150
|
-
fakeNetEngine
|
|
1151
|
-
.setResponseText('test:/master', master)
|
|
1152
|
-
.setResponseText('test:/video', media);
|
|
1153
|
-
|
|
1154
|
-
const manifest = await parser.start('test:/master', playerInterface);
|
|
1155
|
-
await manifest.variants[0].video.createSegmentIndex();
|
|
1156
|
-
|
|
1157
|
-
const segmentIndex = manifest.variants[0].video.segmentIndex;
|
|
1158
|
-
const references = [];
|
|
1159
|
-
|
|
1160
|
-
for (let i = 0; i < 7; i++) {
|
|
1161
|
-
references.push(segmentIndex.get(i));
|
|
1162
|
-
}
|
|
1163
|
-
|
|
1164
|
-
expect(references[0].timestampOffset).toBe(0);
|
|
1165
|
-
expect(references[1].timestampOffset).toBe(0);
|
|
1166
|
-
expect(references[2].timestampOffset).toBe(4);
|
|
1167
|
-
expect(references[3].timestampOffset).toBe(4);
|
|
1168
|
-
expect(references[4].timestampOffset).toBe(9);
|
|
1169
|
-
expect(references[5].timestampOffset).toBe(9);
|
|
1170
|
-
expect(references[6].timestampOffset).toBe(11);
|
|
1171
|
-
},
|
|
1172
|
-
);
|
|
1173
|
-
|
|
1174
1117
|
it('parses characteristics from audio tags', async () => {
|
|
1175
1118
|
const master = [
|
|
1176
1119
|
'#EXTM3U\n',
|
|
@@ -3132,8 +3075,10 @@ describe('HlsParser', () => {
|
|
|
3132
3075
|
|
|
3133
3076
|
const firstMp4Segment = mp4AesEncryptionVideo.segmentIndex.get(0);
|
|
3134
3077
|
expect(firstMp4Segment.hlsAes128Key).toBeDefined();
|
|
3078
|
+
expect(firstMp4Segment.initSegmentReference.hlsAes128Key).toBeDefined();
|
|
3135
3079
|
const secondMp4Segment = mp4AesEncryptionVideo.segmentIndex.get(1);
|
|
3136
3080
|
expect(secondMp4Segment.hlsAes128Key).toBeNull();
|
|
3081
|
+
expect(secondMp4Segment.initSegmentReference.hlsAes128Key).toBeDefined();
|
|
3137
3082
|
|
|
3138
3083
|
const tsAesEncryptionVideo = actual.variants[2].video;
|
|
3139
3084
|
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
|
/**
|
|
@@ -207,30 +207,15 @@ describe('VttTextParser', () => {
|
|
|
207
207
|
{
|
|
208
208
|
startTime: 40,
|
|
209
209
|
endTime: 50,
|
|
210
|
-
payload: '',
|
|
210
|
+
payload: 'Test2',
|
|
211
211
|
writingMode: Cue.writingMode.VERTICAL_LEFT_TO_RIGHT,
|
|
212
|
-
nestedCues: [
|
|
213
|
-
{
|
|
214
|
-
startTime: 40,
|
|
215
|
-
endTime: 50,
|
|
216
|
-
payload: 'Test',
|
|
217
|
-
writingMode: Cue.writingMode.VERTICAL_LEFT_TO_RIGHT,
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
startTime: 40,
|
|
221
|
-
endTime: 50,
|
|
222
|
-
payload: '2',
|
|
223
|
-
fontWeight: Cue.fontWeight.BOLD,
|
|
224
|
-
writingMode: Cue.writingMode.VERTICAL_LEFT_TO_RIGHT,
|
|
225
|
-
},
|
|
226
|
-
],
|
|
227
212
|
},
|
|
228
213
|
],
|
|
229
214
|
'WEBVTT\n\n' +
|
|
230
215
|
'00:00:20.000 --> 00:00:40.000 vertical:rl\n' +
|
|
231
216
|
'Test\n\n' +
|
|
232
217
|
'00:00:40.000 --> 00:00:50.000 vertical:lr\n' +
|
|
233
|
-
'
|
|
218
|
+
'Test2',
|
|
234
219
|
{periodStart: 0, segmentStart: 0, segmentEnd: 0, vttOffset: 0});
|
|
235
220
|
});
|
|
236
221
|
|