hls.js 1.5.5-0.canary.9977 → 1.5.5-0.canary.9980
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/dist/hls.js +14 -8
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +6 -616
- package/dist/hls.light.js.map +1 -1
- package/dist/hls.light.min.js +1 -1
- package/dist/hls.light.min.js.map +1 -1
- package/dist/hls.light.mjs +7 -608
- package/dist/hls.light.mjs.map +1 -1
- package/dist/hls.min.js +1 -1
- package/dist/hls.min.js.map +1 -1
- package/dist/hls.mjs +14 -8
- package/dist/hls.mjs.map +1 -1
- package/dist/hls.worker.js +1 -1
- package/dist/hls.worker.js.map +1 -1
- package/package.json +2 -2
- package/src/demux/tsdemuxer.ts +14 -6
package/dist/hls.light.js
CHANGED
@@ -525,7 +525,7 @@
|
|
525
525
|
// Some browsers don't allow to use bind on console object anyway
|
526
526
|
// fallback to default if needed
|
527
527
|
try {
|
528
|
-
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.5.5-0.canary.
|
528
|
+
newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.5.5-0.canary.9980");
|
529
529
|
} catch (e) {
|
530
530
|
/* log fn threw an exception. All logger methods are no-ops. */
|
531
531
|
return createLogger();
|
@@ -1201,7 +1201,7 @@
|
|
1201
1201
|
// This file is inserted as a shim for modules which we do not want to include into the distro.
|
1202
1202
|
// This replacement is done in the "alias" plugin of the rollup config.
|
1203
1203
|
var empty = undefined;
|
1204
|
-
var
|
1204
|
+
var HevcVideoParser = /*@__PURE__*/getDefaultExportFromCjs(empty);
|
1205
1205
|
|
1206
1206
|
function sliceUint8(array, start, end) {
|
1207
1207
|
// @ts-expect-error This polyfills IE11 usage of Uint8Array slice.
|
@@ -9810,7 +9810,7 @@
|
|
9810
9810
|
});
|
9811
9811
|
function timelineConfig() {
|
9812
9812
|
return {
|
9813
|
-
cueHandler:
|
9813
|
+
cueHandler: HevcVideoParser,
|
9814
9814
|
// used by timeline-controller
|
9815
9815
|
enableWebVTT: false,
|
9816
9816
|
// used by timeline-controller
|
@@ -14985,608 +14985,6 @@
|
|
14985
14985
|
return AvcVideoParser;
|
14986
14986
|
}(BaseVideoParser);
|
14987
14987
|
|
14988
|
-
var HevcVideoParser = /*#__PURE__*/function (_BaseVideoParser) {
|
14989
|
-
_inheritsLoose(HevcVideoParser, _BaseVideoParser);
|
14990
|
-
function HevcVideoParser() {
|
14991
|
-
var _this;
|
14992
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
14993
|
-
args[_key] = arguments[_key];
|
14994
|
-
}
|
14995
|
-
_this = _BaseVideoParser.call.apply(_BaseVideoParser, [this].concat(args)) || this;
|
14996
|
-
_this.initVPS = null;
|
14997
|
-
return _this;
|
14998
|
-
}
|
14999
|
-
var _proto = HevcVideoParser.prototype;
|
15000
|
-
_proto.parsePES = function parsePES(track, textTrack, pes, last, duration) {
|
15001
|
-
var _this2 = this;
|
15002
|
-
var units = this.parseNALu(track, pes.data);
|
15003
|
-
var VideoSample = this.VideoSample;
|
15004
|
-
var push;
|
15005
|
-
var spsfound = false;
|
15006
|
-
// free pes.data to save up some memory
|
15007
|
-
pes.data = null;
|
15008
|
-
|
15009
|
-
// if new NAL units found and last sample still there, let's push ...
|
15010
|
-
// this helps parsing streams with missing AUD (only do this if AUD never found)
|
15011
|
-
if (VideoSample && units.length && !track.audFound) {
|
15012
|
-
this.pushAccessUnit(VideoSample, track);
|
15013
|
-
VideoSample = this.VideoSample = this.createVideoSample(false, pes.pts, pes.dts, '');
|
15014
|
-
}
|
15015
|
-
units.forEach(function (unit) {
|
15016
|
-
var _VideoSample2;
|
15017
|
-
switch (unit.type) {
|
15018
|
-
// NON-IDR, NON RANDOM ACCESS SLICE
|
15019
|
-
case 0:
|
15020
|
-
case 1:
|
15021
|
-
case 2:
|
15022
|
-
case 3:
|
15023
|
-
case 4:
|
15024
|
-
case 5:
|
15025
|
-
case 6:
|
15026
|
-
case 7:
|
15027
|
-
case 8:
|
15028
|
-
case 9:
|
15029
|
-
if (!VideoSample) {
|
15030
|
-
VideoSample = _this2.VideoSample = _this2.createVideoSample(false, pes.pts, pes.dts, '');
|
15031
|
-
}
|
15032
|
-
VideoSample.frame = true;
|
15033
|
-
push = true;
|
15034
|
-
break;
|
15035
|
-
|
15036
|
-
// CRA, BLA (random access picture)
|
15037
|
-
case 16:
|
15038
|
-
case 17:
|
15039
|
-
case 18:
|
15040
|
-
case 21:
|
15041
|
-
push = true;
|
15042
|
-
if (spsfound) {
|
15043
|
-
var _VideoSample;
|
15044
|
-
// handle PES not starting with AUD
|
15045
|
-
// if we have frame data already, that cannot belong to the same frame, so force a push
|
15046
|
-
if ((_VideoSample = VideoSample) != null && _VideoSample.frame && !VideoSample.key) {
|
15047
|
-
_this2.pushAccessUnit(VideoSample, track);
|
15048
|
-
VideoSample = _this2.VideoSample = null;
|
15049
|
-
}
|
15050
|
-
}
|
15051
|
-
if (!VideoSample) {
|
15052
|
-
VideoSample = _this2.VideoSample = _this2.createVideoSample(true, pes.pts, pes.dts, '');
|
15053
|
-
}
|
15054
|
-
VideoSample.key = true;
|
15055
|
-
VideoSample.frame = true;
|
15056
|
-
break;
|
15057
|
-
|
15058
|
-
// IDR
|
15059
|
-
case 19:
|
15060
|
-
case 20:
|
15061
|
-
push = true;
|
15062
|
-
// handle PES not starting with AUD
|
15063
|
-
// if we have frame data already, that cannot belong to the same frame, so force a push
|
15064
|
-
if ((_VideoSample2 = VideoSample) != null && _VideoSample2.frame && !VideoSample.key) {
|
15065
|
-
_this2.pushAccessUnit(VideoSample, track);
|
15066
|
-
VideoSample = _this2.VideoSample = null;
|
15067
|
-
}
|
15068
|
-
if (!VideoSample) {
|
15069
|
-
VideoSample = _this2.VideoSample = _this2.createVideoSample(true, pes.pts, pes.dts, '');
|
15070
|
-
}
|
15071
|
-
VideoSample.key = true;
|
15072
|
-
VideoSample.frame = true;
|
15073
|
-
break;
|
15074
|
-
|
15075
|
-
// SEI
|
15076
|
-
case 39:
|
15077
|
-
push = true;
|
15078
|
-
parseSEIMessageFromNALu(unit.data, 2,
|
15079
|
-
// NALu header size
|
15080
|
-
pes.pts, textTrack.samples);
|
15081
|
-
break;
|
15082
|
-
|
15083
|
-
// VPS
|
15084
|
-
case 32:
|
15085
|
-
push = true;
|
15086
|
-
if (!track.vps) {
|
15087
|
-
var config = _this2.readVPS(unit.data);
|
15088
|
-
track.params = _objectSpread2({}, config);
|
15089
|
-
_this2.initVPS = unit.data;
|
15090
|
-
}
|
15091
|
-
track.vps = [unit.data];
|
15092
|
-
break;
|
15093
|
-
|
15094
|
-
// SPS
|
15095
|
-
case 33:
|
15096
|
-
push = true;
|
15097
|
-
spsfound = true;
|
15098
|
-
if (typeof track.params === 'object') {
|
15099
|
-
if (track.vps !== undefined && track.vps[0] !== _this2.initVPS && track.sps !== undefined && !_this2.matchSPS(track.sps[0], unit.data)) {
|
15100
|
-
_this2.initVPS = track.vps[0];
|
15101
|
-
track.sps = track.pps = undefined;
|
15102
|
-
}
|
15103
|
-
if (!track.sps) {
|
15104
|
-
var _config = _this2.readSPS(unit.data);
|
15105
|
-
track.width = _config.width;
|
15106
|
-
track.height = _config.height;
|
15107
|
-
track.pixelRatio = _config.pixelRatio;
|
15108
|
-
track.duration = duration;
|
15109
|
-
track.codec = _config.codecString;
|
15110
|
-
track.sps = [];
|
15111
|
-
for (var prop in _config.params) {
|
15112
|
-
track.params[prop] = _config.params[prop];
|
15113
|
-
}
|
15114
|
-
}
|
15115
|
-
if (track.vps !== undefined && track.vps[0] === _this2.initVPS) {
|
15116
|
-
track.sps.push(unit.data);
|
15117
|
-
}
|
15118
|
-
}
|
15119
|
-
if (!VideoSample) {
|
15120
|
-
VideoSample = _this2.VideoSample = _this2.createVideoSample(true, pes.pts, pes.dts, '');
|
15121
|
-
}
|
15122
|
-
VideoSample.key = true;
|
15123
|
-
break;
|
15124
|
-
|
15125
|
-
// PPS
|
15126
|
-
case 34:
|
15127
|
-
push = true;
|
15128
|
-
if (typeof track.params === 'object') {
|
15129
|
-
if (!track.pps) {
|
15130
|
-
track.pps = [];
|
15131
|
-
var _config2 = _this2.readPPS(unit.data);
|
15132
|
-
for (var _prop in _config2) {
|
15133
|
-
track.params[_prop] = _config2[_prop];
|
15134
|
-
}
|
15135
|
-
}
|
15136
|
-
if (_this2.initVPS !== null || track.pps.length === 0) {
|
15137
|
-
track.pps.push(unit.data);
|
15138
|
-
}
|
15139
|
-
}
|
15140
|
-
break;
|
15141
|
-
|
15142
|
-
// ACCESS UNIT DELIMITER
|
15143
|
-
case 35:
|
15144
|
-
push = true;
|
15145
|
-
track.audFound = true;
|
15146
|
-
if (VideoSample) {
|
15147
|
-
_this2.pushAccessUnit(VideoSample, track);
|
15148
|
-
}
|
15149
|
-
VideoSample = _this2.VideoSample = _this2.createVideoSample(false, pes.pts, pes.dts, '');
|
15150
|
-
break;
|
15151
|
-
default:
|
15152
|
-
push = false;
|
15153
|
-
if (VideoSample) {
|
15154
|
-
VideoSample.debug += 'unknown or irrelevant NAL ' + unit.type + ' ';
|
15155
|
-
}
|
15156
|
-
break;
|
15157
|
-
}
|
15158
|
-
if (VideoSample && push) {
|
15159
|
-
var _units = VideoSample.units;
|
15160
|
-
_units.push(unit);
|
15161
|
-
}
|
15162
|
-
});
|
15163
|
-
// if last PES packet, push samples
|
15164
|
-
if (last && VideoSample) {
|
15165
|
-
this.pushAccessUnit(VideoSample, track);
|
15166
|
-
this.VideoSample = null;
|
15167
|
-
}
|
15168
|
-
};
|
15169
|
-
_proto.getNALuType = function getNALuType(data, offset) {
|
15170
|
-
return (data[offset] & 0x7e) >>> 1;
|
15171
|
-
};
|
15172
|
-
_proto.ebsp2rbsp = function ebsp2rbsp(arr) {
|
15173
|
-
var dst = new Uint8Array(arr.byteLength);
|
15174
|
-
var dstIdx = 0;
|
15175
|
-
for (var i = 0; i < arr.byteLength; i++) {
|
15176
|
-
if (i >= 2) {
|
15177
|
-
// Unescape: Skip 0x03 after 00 00
|
15178
|
-
if (arr[i] === 0x03 && arr[i - 1] === 0x00 && arr[i - 2] === 0x00) {
|
15179
|
-
continue;
|
15180
|
-
}
|
15181
|
-
}
|
15182
|
-
dst[dstIdx] = arr[i];
|
15183
|
-
dstIdx++;
|
15184
|
-
}
|
15185
|
-
return new Uint8Array(dst.buffer, 0, dstIdx);
|
15186
|
-
};
|
15187
|
-
_proto.readVPS = function readVPS(vps) {
|
15188
|
-
var eg = new ExpGolomb(vps);
|
15189
|
-
// remove header
|
15190
|
-
eg.readUByte();
|
15191
|
-
eg.readUByte();
|
15192
|
-
eg.readBits(4); // video_parameter_set_id
|
15193
|
-
eg.skipBits(2);
|
15194
|
-
eg.readBits(6); // max_layers_minus1
|
15195
|
-
var max_sub_layers_minus1 = eg.readBits(3);
|
15196
|
-
var temporal_id_nesting_flag = eg.readBoolean();
|
15197
|
-
// ...vui fps can be here, but empty fps value is not critical for metadata
|
15198
|
-
|
15199
|
-
return {
|
15200
|
-
numTemporalLayers: max_sub_layers_minus1 + 1,
|
15201
|
-
temporalIdNested: temporal_id_nesting_flag
|
15202
|
-
};
|
15203
|
-
};
|
15204
|
-
_proto.readSPS = function readSPS(sps) {
|
15205
|
-
var eg = new ExpGolomb(this.ebsp2rbsp(sps));
|
15206
|
-
eg.readUByte();
|
15207
|
-
eg.readUByte();
|
15208
|
-
eg.readBits(4); //video_parameter_set_id
|
15209
|
-
var max_sub_layers_minus1 = eg.readBits(3);
|
15210
|
-
eg.readBoolean(); // temporal_id_nesting_flag
|
15211
|
-
|
15212
|
-
// profile_tier_level
|
15213
|
-
var general_profile_space = eg.readBits(2);
|
15214
|
-
var general_tier_flag = eg.readBoolean();
|
15215
|
-
var general_profile_idc = eg.readBits(5);
|
15216
|
-
var general_profile_compatibility_flags_1 = eg.readUByte();
|
15217
|
-
var general_profile_compatibility_flags_2 = eg.readUByte();
|
15218
|
-
var general_profile_compatibility_flags_3 = eg.readUByte();
|
15219
|
-
var general_profile_compatibility_flags_4 = eg.readUByte();
|
15220
|
-
var general_constraint_indicator_flags_1 = eg.readUByte();
|
15221
|
-
var general_constraint_indicator_flags_2 = eg.readUByte();
|
15222
|
-
var general_constraint_indicator_flags_3 = eg.readUByte();
|
15223
|
-
var general_constraint_indicator_flags_4 = eg.readUByte();
|
15224
|
-
var general_constraint_indicator_flags_5 = eg.readUByte();
|
15225
|
-
var general_constraint_indicator_flags_6 = eg.readUByte();
|
15226
|
-
var general_level_idc = eg.readUByte();
|
15227
|
-
var sub_layer_profile_present_flags = [];
|
15228
|
-
var sub_layer_level_present_flags = [];
|
15229
|
-
for (var i = 0; i < max_sub_layers_minus1; i++) {
|
15230
|
-
sub_layer_profile_present_flags.push(eg.readBoolean());
|
15231
|
-
sub_layer_level_present_flags.push(eg.readBoolean());
|
15232
|
-
}
|
15233
|
-
if (max_sub_layers_minus1 > 0) {
|
15234
|
-
for (var _i = max_sub_layers_minus1; _i < 8; _i++) {
|
15235
|
-
eg.readBits(2);
|
15236
|
-
}
|
15237
|
-
}
|
15238
|
-
for (var _i2 = 0; _i2 < max_sub_layers_minus1; _i2++) {
|
15239
|
-
if (sub_layer_profile_present_flags[_i2]) {
|
15240
|
-
eg.readUByte(); // sub_layer_profile_space, sub_layer_tier_flag, sub_layer_profile_idc
|
15241
|
-
eg.readUByte();
|
15242
|
-
eg.readUByte();
|
15243
|
-
eg.readUByte();
|
15244
|
-
eg.readUByte(); // sub_layer_profile_compatibility_flag
|
15245
|
-
eg.readUByte();
|
15246
|
-
eg.readUByte();
|
15247
|
-
eg.readUByte();
|
15248
|
-
eg.readUByte();
|
15249
|
-
eg.readUByte();
|
15250
|
-
eg.readUByte();
|
15251
|
-
}
|
15252
|
-
if (sub_layer_level_present_flags[_i2]) {
|
15253
|
-
eg.readUByte();
|
15254
|
-
}
|
15255
|
-
}
|
15256
|
-
eg.readUEG(); // seq_parameter_set_id
|
15257
|
-
var chroma_format_idc = eg.readUEG();
|
15258
|
-
if (chroma_format_idc == 3) {
|
15259
|
-
eg.skipBits(1); //separate_colour_plane_flag
|
15260
|
-
}
|
15261
|
-
var pic_width_in_luma_samples = eg.readUEG();
|
15262
|
-
var pic_height_in_luma_samples = eg.readUEG();
|
15263
|
-
var conformance_window_flag = eg.readBoolean();
|
15264
|
-
var pic_left_offset = 0,
|
15265
|
-
pic_right_offset = 0,
|
15266
|
-
pic_top_offset = 0,
|
15267
|
-
pic_bottom_offset = 0;
|
15268
|
-
if (conformance_window_flag) {
|
15269
|
-
pic_left_offset += eg.readUEG();
|
15270
|
-
pic_right_offset += eg.readUEG();
|
15271
|
-
pic_top_offset += eg.readUEG();
|
15272
|
-
pic_bottom_offset += eg.readUEG();
|
15273
|
-
}
|
15274
|
-
var bit_depth_luma_minus8 = eg.readUEG();
|
15275
|
-
var bit_depth_chroma_minus8 = eg.readUEG();
|
15276
|
-
var log2_max_pic_order_cnt_lsb_minus4 = eg.readUEG();
|
15277
|
-
var sub_layer_ordering_info_present_flag = eg.readBoolean();
|
15278
|
-
for (var _i3 = sub_layer_ordering_info_present_flag ? 0 : max_sub_layers_minus1; _i3 <= max_sub_layers_minus1; _i3++) {
|
15279
|
-
eg.skipUEG(); // max_dec_pic_buffering_minus1[i]
|
15280
|
-
eg.skipUEG(); // max_num_reorder_pics[i]
|
15281
|
-
eg.skipUEG(); // max_latency_increase_plus1[i]
|
15282
|
-
}
|
15283
|
-
eg.skipUEG(); // log2_min_luma_coding_block_size_minus3
|
15284
|
-
eg.skipUEG(); // log2_diff_max_min_luma_coding_block_size
|
15285
|
-
eg.skipUEG(); // log2_min_transform_block_size_minus2
|
15286
|
-
eg.skipUEG(); // log2_diff_max_min_transform_block_size
|
15287
|
-
eg.skipUEG(); // max_transform_hierarchy_depth_inter
|
15288
|
-
eg.skipUEG(); // max_transform_hierarchy_depth_intra
|
15289
|
-
var scaling_list_enabled_flag = eg.readBoolean();
|
15290
|
-
if (scaling_list_enabled_flag) {
|
15291
|
-
var sps_scaling_list_data_present_flag = eg.readBoolean();
|
15292
|
-
if (sps_scaling_list_data_present_flag) {
|
15293
|
-
for (var sizeId = 0; sizeId < 4; sizeId++) {
|
15294
|
-
for (var matrixId = 0; matrixId < (sizeId === 3 ? 2 : 6); matrixId++) {
|
15295
|
-
var scaling_list_pred_mode_flag = eg.readBoolean();
|
15296
|
-
if (!scaling_list_pred_mode_flag) {
|
15297
|
-
eg.readUEG(); // scaling_list_pred_matrix_id_delta
|
15298
|
-
} else {
|
15299
|
-
var coefNum = Math.min(64, 1 << 4 + (sizeId << 1));
|
15300
|
-
if (sizeId > 1) {
|
15301
|
-
eg.readEG();
|
15302
|
-
}
|
15303
|
-
for (var _i4 = 0; _i4 < coefNum; _i4++) {
|
15304
|
-
eg.readEG();
|
15305
|
-
}
|
15306
|
-
}
|
15307
|
-
}
|
15308
|
-
}
|
15309
|
-
}
|
15310
|
-
}
|
15311
|
-
eg.readBoolean(); // amp_enabled_flag
|
15312
|
-
eg.readBoolean(); // sample_adaptive_offset_enabled_flag
|
15313
|
-
var pcm_enabled_flag = eg.readBoolean();
|
15314
|
-
if (pcm_enabled_flag) {
|
15315
|
-
eg.readUByte();
|
15316
|
-
eg.skipUEG();
|
15317
|
-
eg.skipUEG();
|
15318
|
-
eg.readBoolean();
|
15319
|
-
}
|
15320
|
-
var num_short_term_ref_pic_sets = eg.readUEG();
|
15321
|
-
var num_delta_pocs = 0;
|
15322
|
-
for (var _i5 = 0; _i5 < num_short_term_ref_pic_sets; _i5++) {
|
15323
|
-
var inter_ref_pic_set_prediction_flag = false;
|
15324
|
-
if (_i5 !== 0) {
|
15325
|
-
inter_ref_pic_set_prediction_flag = eg.readBoolean();
|
15326
|
-
}
|
15327
|
-
if (inter_ref_pic_set_prediction_flag) {
|
15328
|
-
if (_i5 === num_short_term_ref_pic_sets) {
|
15329
|
-
eg.readUEG();
|
15330
|
-
}
|
15331
|
-
eg.readBoolean();
|
15332
|
-
eg.readUEG();
|
15333
|
-
var next_num_delta_pocs = 0;
|
15334
|
-
for (var j = 0; j <= num_delta_pocs; j++) {
|
15335
|
-
var used_by_curr_pic_flag = eg.readBoolean();
|
15336
|
-
var use_delta_flag = false;
|
15337
|
-
if (!used_by_curr_pic_flag) {
|
15338
|
-
use_delta_flag = eg.readBoolean();
|
15339
|
-
}
|
15340
|
-
if (used_by_curr_pic_flag || use_delta_flag) {
|
15341
|
-
next_num_delta_pocs++;
|
15342
|
-
}
|
15343
|
-
}
|
15344
|
-
num_delta_pocs = next_num_delta_pocs;
|
15345
|
-
} else {
|
15346
|
-
var num_negative_pics = eg.readUEG();
|
15347
|
-
var num_positive_pics = eg.readUEG();
|
15348
|
-
num_delta_pocs = num_negative_pics + num_positive_pics;
|
15349
|
-
for (var _j = 0; _j < num_negative_pics; _j++) {
|
15350
|
-
eg.readUEG();
|
15351
|
-
eg.readBoolean();
|
15352
|
-
}
|
15353
|
-
for (var _j2 = 0; _j2 < num_positive_pics; _j2++) {
|
15354
|
-
eg.readUEG();
|
15355
|
-
eg.readBoolean();
|
15356
|
-
}
|
15357
|
-
}
|
15358
|
-
}
|
15359
|
-
var long_term_ref_pics_present_flag = eg.readBoolean();
|
15360
|
-
if (long_term_ref_pics_present_flag) {
|
15361
|
-
var num_long_term_ref_pics_sps = eg.readUEG();
|
15362
|
-
for (var _i6 = 0; _i6 < num_long_term_ref_pics_sps; _i6++) {
|
15363
|
-
for (var _j3 = 0; _j3 < log2_max_pic_order_cnt_lsb_minus4 + 4; _j3++) {
|
15364
|
-
eg.readBits(1);
|
15365
|
-
}
|
15366
|
-
eg.readBits(1);
|
15367
|
-
}
|
15368
|
-
}
|
15369
|
-
var min_spatial_segmentation_idc = 0;
|
15370
|
-
var sar_width = 1,
|
15371
|
-
sar_height = 1;
|
15372
|
-
var fps_fixed = true,
|
15373
|
-
fps_den = 1,
|
15374
|
-
fps_num = 0;
|
15375
|
-
eg.readBoolean(); // sps_temporal_mvp_enabled_flag
|
15376
|
-
eg.readBoolean(); // strong_intra_smoothing_enabled_flag
|
15377
|
-
var default_display_window_flag = false;
|
15378
|
-
var vui_parameters_present_flag = eg.readBoolean();
|
15379
|
-
if (vui_parameters_present_flag) {
|
15380
|
-
var aspect_ratio_info_present_flag = eg.readBoolean();
|
15381
|
-
if (aspect_ratio_info_present_flag) {
|
15382
|
-
var aspect_ratio_idc = eg.readUByte();
|
15383
|
-
var sar_width_table = [1, 12, 10, 16, 40, 24, 20, 32, 80, 18, 15, 64, 160, 4, 3, 2];
|
15384
|
-
var sar_height_table = [1, 11, 11, 11, 33, 11, 11, 11, 33, 11, 11, 33, 99, 3, 2, 1];
|
15385
|
-
if (aspect_ratio_idc > 0 && aspect_ratio_idc < 16) {
|
15386
|
-
sar_width = sar_width_table[aspect_ratio_idc - 1];
|
15387
|
-
sar_height = sar_height_table[aspect_ratio_idc - 1];
|
15388
|
-
} else if (aspect_ratio_idc === 255) {
|
15389
|
-
sar_width = eg.readBits(16);
|
15390
|
-
sar_height = eg.readBits(16);
|
15391
|
-
}
|
15392
|
-
}
|
15393
|
-
var overscan_info_present_flag = eg.readBoolean();
|
15394
|
-
if (overscan_info_present_flag) {
|
15395
|
-
eg.readBoolean();
|
15396
|
-
}
|
15397
|
-
var video_signal_type_present_flag = eg.readBoolean();
|
15398
|
-
if (video_signal_type_present_flag) {
|
15399
|
-
eg.readBits(3);
|
15400
|
-
eg.readBoolean();
|
15401
|
-
var colour_description_present_flag = eg.readBoolean();
|
15402
|
-
if (colour_description_present_flag) {
|
15403
|
-
eg.readUByte();
|
15404
|
-
eg.readUByte();
|
15405
|
-
eg.readUByte();
|
15406
|
-
}
|
15407
|
-
}
|
15408
|
-
var chroma_loc_info_present_flag = eg.readBoolean();
|
15409
|
-
if (chroma_loc_info_present_flag) {
|
15410
|
-
eg.readUEG();
|
15411
|
-
eg.readUEG();
|
15412
|
-
}
|
15413
|
-
eg.readBoolean(); // neutral_chroma_indication_flag
|
15414
|
-
eg.readBoolean(); // field_seq_flag
|
15415
|
-
eg.readBoolean(); // frame_field_info_present_flag
|
15416
|
-
default_display_window_flag = eg.readBoolean();
|
15417
|
-
if (default_display_window_flag) {
|
15418
|
-
pic_left_offset += eg.readUEG();
|
15419
|
-
pic_right_offset += eg.readUEG();
|
15420
|
-
pic_top_offset += eg.readUEG();
|
15421
|
-
pic_bottom_offset += eg.readUEG();
|
15422
|
-
}
|
15423
|
-
var vui_timing_info_present_flag = eg.readBoolean();
|
15424
|
-
if (vui_timing_info_present_flag) {
|
15425
|
-
fps_den = eg.readBits(32);
|
15426
|
-
fps_num = eg.readBits(32);
|
15427
|
-
var vui_poc_proportional_to_timing_flag = eg.readBoolean();
|
15428
|
-
if (vui_poc_proportional_to_timing_flag) {
|
15429
|
-
eg.readUEG();
|
15430
|
-
}
|
15431
|
-
var vui_hrd_parameters_present_flag = eg.readBoolean();
|
15432
|
-
if (vui_hrd_parameters_present_flag) {
|
15433
|
-
//const commonInfPresentFlag = true;
|
15434
|
-
//if (commonInfPresentFlag) {
|
15435
|
-
var nal_hrd_parameters_present_flag = eg.readBoolean();
|
15436
|
-
var vcl_hrd_parameters_present_flag = eg.readBoolean();
|
15437
|
-
var sub_pic_hrd_params_present_flag = false;
|
15438
|
-
if (nal_hrd_parameters_present_flag || vcl_hrd_parameters_present_flag) {
|
15439
|
-
sub_pic_hrd_params_present_flag = eg.readBoolean();
|
15440
|
-
if (sub_pic_hrd_params_present_flag) {
|
15441
|
-
eg.readUByte();
|
15442
|
-
eg.readBits(5);
|
15443
|
-
eg.readBoolean();
|
15444
|
-
eg.readBits(5);
|
15445
|
-
}
|
15446
|
-
eg.readBits(4); // bit_rate_scale
|
15447
|
-
eg.readBits(4); // cpb_size_scale
|
15448
|
-
if (sub_pic_hrd_params_present_flag) {
|
15449
|
-
eg.readBits(4);
|
15450
|
-
}
|
15451
|
-
eg.readBits(5);
|
15452
|
-
eg.readBits(5);
|
15453
|
-
eg.readBits(5);
|
15454
|
-
}
|
15455
|
-
//}
|
15456
|
-
for (var _i7 = 0; _i7 <= max_sub_layers_minus1; _i7++) {
|
15457
|
-
fps_fixed = eg.readBoolean(); // fixed_pic_rate_general_flag
|
15458
|
-
var fixed_pic_rate_within_cvs_flag = fps_fixed || eg.readBoolean();
|
15459
|
-
var low_delay_hrd_flag = false;
|
15460
|
-
if (fixed_pic_rate_within_cvs_flag) {
|
15461
|
-
eg.readEG();
|
15462
|
-
} else {
|
15463
|
-
low_delay_hrd_flag = eg.readBoolean();
|
15464
|
-
}
|
15465
|
-
var cpb_cnt = low_delay_hrd_flag ? 1 : eg.readUEG() + 1;
|
15466
|
-
if (nal_hrd_parameters_present_flag) {
|
15467
|
-
for (var _j4 = 0; _j4 < cpb_cnt; _j4++) {
|
15468
|
-
eg.readUEG();
|
15469
|
-
eg.readUEG();
|
15470
|
-
if (sub_pic_hrd_params_present_flag) {
|
15471
|
-
eg.readUEG();
|
15472
|
-
eg.readUEG();
|
15473
|
-
}
|
15474
|
-
eg.skipBits(1);
|
15475
|
-
}
|
15476
|
-
}
|
15477
|
-
if (vcl_hrd_parameters_present_flag) {
|
15478
|
-
for (var _j5 = 0; _j5 < cpb_cnt; _j5++) {
|
15479
|
-
eg.readUEG();
|
15480
|
-
eg.readUEG();
|
15481
|
-
if (sub_pic_hrd_params_present_flag) {
|
15482
|
-
eg.readUEG();
|
15483
|
-
eg.readUEG();
|
15484
|
-
}
|
15485
|
-
eg.skipBits(1);
|
15486
|
-
}
|
15487
|
-
}
|
15488
|
-
}
|
15489
|
-
}
|
15490
|
-
}
|
15491
|
-
var bitstream_restriction_flag = eg.readBoolean();
|
15492
|
-
if (bitstream_restriction_flag) {
|
15493
|
-
eg.readBoolean(); // tiles_fixed_structure_flag
|
15494
|
-
eg.readBoolean(); // motion_vectors_over_pic_boundaries_flag
|
15495
|
-
eg.readBoolean(); // restricted_ref_pic_lists_flag
|
15496
|
-
min_spatial_segmentation_idc = eg.readUEG();
|
15497
|
-
}
|
15498
|
-
}
|
15499
|
-
var width = pic_width_in_luma_samples,
|
15500
|
-
height = pic_height_in_luma_samples;
|
15501
|
-
if (conformance_window_flag || default_display_window_flag) {
|
15502
|
-
var chroma_scale_w = 1,
|
15503
|
-
chroma_scale_h = 1;
|
15504
|
-
if (chroma_format_idc === 1) {
|
15505
|
-
// YUV 420
|
15506
|
-
chroma_scale_w = chroma_scale_h = 2;
|
15507
|
-
} else if (chroma_format_idc == 2) {
|
15508
|
-
// YUV 422
|
15509
|
-
chroma_scale_w = 2;
|
15510
|
-
}
|
15511
|
-
width = pic_width_in_luma_samples - chroma_scale_w * pic_right_offset - chroma_scale_w * pic_left_offset;
|
15512
|
-
height = pic_height_in_luma_samples - chroma_scale_h * pic_bottom_offset - chroma_scale_h * pic_top_offset;
|
15513
|
-
}
|
15514
|
-
var profile_space_string = general_profile_space ? ['A', 'B', 'C'][general_profile_space] : '';
|
15515
|
-
var profile_compatibility_buf = general_profile_compatibility_flags_1 << 24 | general_profile_compatibility_flags_2 << 16 | general_profile_compatibility_flags_3 << 8 | general_profile_compatibility_flags_4;
|
15516
|
-
var profile_compatibility_rev = 0;
|
15517
|
-
for (var _i8 = 0; _i8 < 32; _i8++) {
|
15518
|
-
profile_compatibility_rev = (profile_compatibility_rev | (profile_compatibility_buf >> _i8 & 1) << 31 - _i8) >>> 0; // reverse bit position (and cast as UInt32)
|
15519
|
-
}
|
15520
|
-
var profile_compatibility_flags_string = profile_compatibility_rev.toString(16);
|
15521
|
-
if (general_profile_idc === 1 && profile_compatibility_flags_string === '2') {
|
15522
|
-
profile_compatibility_flags_string = '6';
|
15523
|
-
}
|
15524
|
-
var tier_flag_string = general_tier_flag ? 'H' : 'L';
|
15525
|
-
return {
|
15526
|
-
codecString: "hvc1." + profile_space_string + general_profile_idc + "." + profile_compatibility_flags_string + "." + tier_flag_string + general_level_idc + ".B0",
|
15527
|
-
params: {
|
15528
|
-
general_tier_flag: general_tier_flag,
|
15529
|
-
general_profile_idc: general_profile_idc,
|
15530
|
-
general_profile_space: general_profile_space,
|
15531
|
-
general_profile_compatibility_flags: [general_profile_compatibility_flags_1, general_profile_compatibility_flags_2, general_profile_compatibility_flags_3, general_profile_compatibility_flags_4],
|
15532
|
-
general_constraint_indicator_flags: [general_constraint_indicator_flags_1, general_constraint_indicator_flags_2, general_constraint_indicator_flags_3, general_constraint_indicator_flags_4, general_constraint_indicator_flags_5, general_constraint_indicator_flags_6],
|
15533
|
-
general_level_idc: general_level_idc,
|
15534
|
-
bit_depth: bit_depth_luma_minus8 + 8,
|
15535
|
-
bit_depth_luma_minus8: bit_depth_luma_minus8,
|
15536
|
-
bit_depth_chroma_minus8: bit_depth_chroma_minus8,
|
15537
|
-
min_spatial_segmentation_idc: min_spatial_segmentation_idc,
|
15538
|
-
chroma_format_idc: chroma_format_idc,
|
15539
|
-
frame_rate: {
|
15540
|
-
fixed: fps_fixed,
|
15541
|
-
fps: fps_num / fps_den
|
15542
|
-
}
|
15543
|
-
},
|
15544
|
-
width: width,
|
15545
|
-
height: height,
|
15546
|
-
pixelRatio: [sar_width, sar_height]
|
15547
|
-
};
|
15548
|
-
};
|
15549
|
-
_proto.readPPS = function readPPS(pps) {
|
15550
|
-
var eg = new ExpGolomb(this.ebsp2rbsp(pps));
|
15551
|
-
eg.readUByte();
|
15552
|
-
eg.readUByte();
|
15553
|
-
eg.skipUEG(); // pic_parameter_set_id
|
15554
|
-
eg.skipUEG(); // seq_parameter_set_id
|
15555
|
-
eg.skipBits(2); // dependent_slice_segments_enabled_flag, output_flag_present_flag
|
15556
|
-
eg.skipBits(3); // num_extra_slice_header_bits
|
15557
|
-
eg.skipBits(2); // sign_data_hiding_enabled_flag, cabac_init_present_flag
|
15558
|
-
eg.skipUEG();
|
15559
|
-
eg.skipUEG();
|
15560
|
-
eg.skipEG(); // init_qp_minus26
|
15561
|
-
eg.skipBits(2); // constrained_intra_pred_flag, transform_skip_enabled_flag
|
15562
|
-
var cu_qp_delta_enabled_flag = eg.readBoolean();
|
15563
|
-
if (cu_qp_delta_enabled_flag) {
|
15564
|
-
eg.skipUEG();
|
15565
|
-
}
|
15566
|
-
eg.skipEG(); // cb_qp_offset
|
15567
|
-
eg.skipEG(); // cr_qp_offset
|
15568
|
-
eg.skipBits(4); // pps_slice_chroma_qp_offsets_present_flag, weighted_pred_flag, weighted_bipred_flag, transquant_bypass_enabled_flag
|
15569
|
-
var tiles_enabled_flag = eg.readBoolean();
|
15570
|
-
var entropy_coding_sync_enabled_flag = eg.readBoolean();
|
15571
|
-
var parallelismType = 1; // slice-based parallel decoding
|
15572
|
-
if (entropy_coding_sync_enabled_flag && tiles_enabled_flag) {
|
15573
|
-
parallelismType = 0; // mixed-type parallel decoding
|
15574
|
-
} else if (entropy_coding_sync_enabled_flag) {
|
15575
|
-
parallelismType = 3; // wavefront-based parallel decoding
|
15576
|
-
} else if (tiles_enabled_flag) {
|
15577
|
-
parallelismType = 2; // tile-based parallel decoding
|
15578
|
-
}
|
15579
|
-
return {
|
15580
|
-
parallelismType: parallelismType
|
15581
|
-
};
|
15582
|
-
};
|
15583
|
-
_proto.matchSPS = function matchSPS(sps1, sps2) {
|
15584
|
-
// compare without headers and VPS related params
|
15585
|
-
return String.fromCharCode.apply(null, sps1).substr(3) === String.fromCharCode.apply(null, sps2).substr(3);
|
15586
|
-
};
|
15587
|
-
return HevcVideoParser;
|
15588
|
-
}(BaseVideoParser);
|
15589
|
-
|
15590
14988
|
/**
|
15591
14989
|
* SAMPLE-AES decrypter
|
15592
14990
|
*/
|
@@ -15896,9 +15294,6 @@
|
|
15896
15294
|
case 'avc':
|
15897
15295
|
this.videoParser = new AvcVideoParser();
|
15898
15296
|
break;
|
15899
|
-
case 'hevc':
|
15900
|
-
this.videoParser = new HevcVideoParser();
|
15901
|
-
break;
|
15902
15297
|
}
|
15903
15298
|
}
|
15904
15299
|
if (this.videoParser !== null) {
|
@@ -16066,9 +15461,6 @@
|
|
16066
15461
|
case 'avc':
|
16067
15462
|
this.videoParser = new AvcVideoParser();
|
16068
15463
|
break;
|
16069
|
-
case 'hevc':
|
16070
|
-
this.videoParser = new HevcVideoParser();
|
16071
|
-
break;
|
16072
15464
|
}
|
16073
15465
|
}
|
16074
15466
|
if (this.videoParser !== null) {
|
@@ -16377,10 +15769,8 @@
|
|
16377
15769
|
break;
|
16378
15770
|
case 0x24:
|
16379
15771
|
// ITU-T Rec. H.265 and ISO/IEC 23008-2 (HEVC)
|
16380
|
-
|
16381
|
-
|
16382
|
-
result.segmentVideoCodec = 'hevc';
|
16383
|
-
logger.log('HEVC in M2TS found');
|
15772
|
+
{
|
15773
|
+
logger.warn('Unsupported HEVC in M2TS found');
|
16384
15774
|
}
|
16385
15775
|
break;
|
16386
15776
|
}
|
@@ -21867,7 +21257,7 @@
|
|
21867
21257
|
* Get the video-dev/hls.js package version.
|
21868
21258
|
*/
|
21869
21259
|
function get() {
|
21870
|
-
return "1.5.5-0.canary.
|
21260
|
+
return "1.5.5-0.canary.9980";
|
21871
21261
|
}
|
21872
21262
|
}, {
|
21873
21263
|
key: "Events",
|