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.
Files changed (52) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/demo/common/asset.js +5 -0
  3. package/demo/common/assets.js +16 -1
  4. package/demo/common/message_ids.js +1 -0
  5. package/demo/locales/en.json +1 -0
  6. package/demo/locales/source.json +4 -0
  7. package/demo/main.js +1 -1
  8. package/dist/demo.compiled.debug.js +55 -53
  9. package/dist/demo.compiled.debug.map +3 -3
  10. package/dist/demo.compiled.js +55 -53
  11. package/dist/demo.compiled.map +3 -3
  12. package/dist/locales.js +27 -27
  13. package/dist/receiver.compiled.debug.js +24 -22
  14. package/dist/receiver.compiled.debug.map +3 -3
  15. package/dist/receiver.compiled.js +24 -22
  16. package/dist/receiver.compiled.map +3 -3
  17. package/dist/shaka-player.compiled.d.ts +1 -1
  18. package/dist/shaka-player.compiled.debug.d.ts +1 -1
  19. package/dist/shaka-player.compiled.debug.externs.js +6 -4
  20. package/dist/shaka-player.compiled.debug.js +87 -89
  21. package/dist/shaka-player.compiled.debug.map +3 -3
  22. package/dist/shaka-player.compiled.externs.js +6 -4
  23. package/dist/shaka-player.compiled.js +340 -338
  24. package/dist/shaka-player.compiled.map +3 -3
  25. package/dist/shaka-player.ui.d.ts +1 -1
  26. package/dist/shaka-player.ui.debug.d.ts +1 -1
  27. package/dist/shaka-player.ui.debug.externs.js +6 -4
  28. package/dist/shaka-player.ui.debug.js +235 -237
  29. package/dist/shaka-player.ui.debug.map +3 -3
  30. package/dist/shaka-player.ui.externs.js +6 -4
  31. package/dist/shaka-player.ui.js +510 -508
  32. package/dist/shaka-player.ui.map +3 -3
  33. package/docs/tutorials/offline.md +1 -1
  34. package/lib/dash/dash_parser.js +4 -1
  35. package/lib/hls/hls_parser.js +60 -24
  36. package/lib/media/segment_reference.js +11 -5
  37. package/lib/media/streaming_engine.js +15 -25
  38. package/lib/player.js +1 -1
  39. package/lib/text/vtt_text_parser.js +2 -2
  40. package/lib/util/cmcd_manager.js +6 -1
  41. package/lib/util/manifest_parser_utils.js +10 -4
  42. package/lib/util/ts_parser.js +3 -3
  43. package/package.json +1 -1
  44. package/test/dash/dash_parser_manifest_unit.js +5 -0
  45. package/test/dash/dash_parser_segment_base_unit.js +5 -0
  46. package/test/dash/dash_parser_segment_list_unit.js +21 -17
  47. package/test/dash/dash_parser_segment_template_unit.js +5 -0
  48. package/test/hls/hls_live_unit.js +33 -0
  49. package/test/hls/hls_parser_unit.js +2 -57
  50. package/test/test/util/dash_parser_util.js +16 -7
  51. package/test/text/vtt_text_parser_unit.js +2 -17
  52. 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
- const manifest = await dashParser.start('dummy://foo', playerInterface);
50
- const stream = manifest.variants[0].video;
51
- await stream.createSegmentIndex();
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
- shaka.test.ManifestParser.verifySegmentIndex(stream, references);
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
- const p = dashParser.start('dummy://foo', playerInterface);
86
- await expectAsync(p).toBeRejectedWith(
87
- shaka.test.Util.jasmineError(expectedError));
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
- 'Test<b>2</b>',
218
+ 'Test2',
234
219
  {periodStart: 0, segmentStart: 0, segmentEnd: 0, vttOffset: 0});
235
220
  });
236
221
 
@@ -72,6 +72,6 @@ describe('TsParser', () => {
72
72
  const codecs = new shaka.util.TsParser().parse(tsSegment)
73
73
  .getCodecs();
74
74
  expect(codecs.audio).toBe('aac');
75
- expect(codecs.video).toBe('');
75
+ expect(codecs.video).toBe(null);
76
76
  });
77
77
  });