@vindral/web-sdk 4.5.0 → 4.5.1-1-g7401e41cc
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/{zRKuZnIT.js → B-XEedn4.js} +758 -712
- package/{C5AsBfiL.js → BRKrFfT9.js} +1 -1
- package/{C02TEUyE.js → Bbln-Kci.js} +981 -966
- package/{D7vM_Gpt.js → C4DIyUFR.js} +2 -2
- package/core.js +1 -1
- package/legacy.es.js +79 -33
- package/legacy.umd.js +12 -11
- package/package.json +1 -1
- package/player.js +3 -3
- package/{C2-H3s2r.js → rVXtcXLn.js} +18 -18
- package/vindral-player-component.js +2 -2
|
@@ -938,12 +938,12 @@ var Dn = (e) => {
|
|
|
938
938
|
textPadding: 8,
|
|
939
939
|
fontSize: "28px",
|
|
940
940
|
lineGap: 16
|
|
941
|
-
}, kn = /* @__PURE__ */ new WeakMap(), An = /* @__PURE__ */ new WeakMap(),
|
|
941
|
+
}, kn = /* @__PURE__ */ new WeakMap(), An = /* @__PURE__ */ new WeakMap(), F = /* @__PURE__ */ new WeakMap(), jn = /* @__PURE__ */ new WeakMap(), Mn = /* @__PURE__ */ new WeakSet(), Nn = class {
|
|
942
942
|
constructor() {
|
|
943
|
-
D(this,
|
|
943
|
+
D(this, Mn), C(this, kn, []), C(this, An, document.createElement("canvas")), C(this, F, void 0), C(this, jn, window.devicePixelRatio || 1), e(this, "config", O({}, On));
|
|
944
944
|
let t = T(An, this).getContext("2d", { alpha: !0 });
|
|
945
945
|
if (!t) throw Error("Failed to create 2d context");
|
|
946
|
-
E(
|
|
946
|
+
E(F, this, t), w(Mn, this, Fn).call(this);
|
|
947
947
|
}
|
|
948
948
|
get canvas() {
|
|
949
949
|
return T(An, this);
|
|
@@ -952,9 +952,9 @@ var Dn = (e) => {
|
|
|
952
952
|
E(kn, this, e);
|
|
953
953
|
}
|
|
954
954
|
render(e, t = !1) {
|
|
955
|
-
let n = T(kn, this).flatMap((t) => t.text.split("\n").flatMap((t) => w(
|
|
956
|
-
w(
|
|
957
|
-
let t = T(
|
|
955
|
+
let n = T(kn, this).flatMap((t) => t.text.split("\n").flatMap((t) => w(Mn, this, In).call(this, t, e.width)).filter((e) => e.length > 0).map((e) => {
|
|
956
|
+
w(Mn, this, Fn).call(this);
|
|
957
|
+
let t = T(F, this).measureText(e);
|
|
958
958
|
return {
|
|
959
959
|
text: e,
|
|
960
960
|
measurement: t,
|
|
@@ -963,24 +963,29 @@ var Dn = (e) => {
|
|
|
963
963
|
width: t.width + this.config.textPadding * 2
|
|
964
964
|
}
|
|
965
965
|
};
|
|
966
|
-
}))
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
966
|
+
}));
|
|
967
|
+
if (n.length === 0) {
|
|
968
|
+
w(Mn, this, Pn).call(this, 0, 0), T(F, this).clearRect(0, 0, T(An, this).width, T(An, this).height);
|
|
969
|
+
return;
|
|
970
|
+
}
|
|
971
|
+
let r = Math.max(...n.map((e) => e.size.width)), i = n.reduce((e, { size: t }) => e + t.height, 0) + (n.length - 1) * this.config.lineGap, a = 0;
|
|
972
|
+
w(Mn, this, Pn).call(this, r, i), T(F, this).clearRect(0, 0, T(An, this).width, T(An, this).height);
|
|
973
|
+
for (let { size: e, text: t } of n) w(Mn, this, Fn).call(this), T(F, this).fillStyle = this.config.backgroundColor, T(F, this).fillRect(0, a, e.width, e.height), w(Mn, this, Fn).call(this), T(F, this).fillText(t, this.config.textPadding, a + this.config.textPadding), a += e.height + this.config.lineGap;
|
|
974
|
+
t && (T(F, this).strokeStyle = "red", T(F, this).strokeRect(0, 0, e.width, T(An, this).height));
|
|
970
975
|
}
|
|
971
976
|
};
|
|
972
|
-
function
|
|
973
|
-
T(An, this).width = e * T(
|
|
977
|
+
function Pn(e, t) {
|
|
978
|
+
T(An, this).width = e * T(jn, this), T(An, this).height = t * T(jn, this), T(F, this).setTransform(T(jn, this), 0, 0, T(jn, this), 0, 0), this.canvas.style.width = `${e}px`, this.canvas.style.height = `${t}px`;
|
|
974
979
|
}
|
|
975
|
-
function
|
|
976
|
-
T(
|
|
980
|
+
function Fn() {
|
|
981
|
+
T(F, this).fillStyle = "white", T(F, this).textAlign = "left", T(F, this).textBaseline = "top", T(F, this).font = `${this.config.fontSize} sans-serif`;
|
|
977
982
|
}
|
|
978
|
-
function
|
|
983
|
+
function In(e, t) {
|
|
979
984
|
let n = [], r = e.split(" "), i = "";
|
|
980
985
|
for (; r.length > 0;) {
|
|
981
|
-
w(
|
|
986
|
+
w(Mn, this, Fn).call(this);
|
|
982
987
|
let e = 0;
|
|
983
|
-
for (; T(
|
|
988
|
+
for (; T(F, this).measureText(i + (i.length > 0 ? " " : "") + r[0]).width + this.config.textPadding * 2 <= t && r.length > 0;) e++, i += (i.length > 0 ? " " : "") + r.shift();
|
|
984
989
|
if (e === 0) {
|
|
985
990
|
n.push(r.shift() || ""), i = "";
|
|
986
991
|
continue;
|
|
@@ -991,7 +996,7 @@ function Ln(e, t) {
|
|
|
991
996
|
}
|
|
992
997
|
//#endregion
|
|
993
998
|
//#region ../../libs/canvas-renderers/src/subtitleLayout.ts
|
|
994
|
-
function
|
|
999
|
+
function Ln(e) {
|
|
995
1000
|
var t;
|
|
996
1001
|
let { subtitleWidth: n, subtitleHeight: r, canvasWidth: i, canvasHeight: a, containerWidth: o, bottomPadding: s } = e, c = (t = e.baseMargin) == null ? 20 : t, l = i / o, u = n * l, d = r * l;
|
|
997
1002
|
return {
|
|
@@ -1001,7 +1006,7 @@ function Rn(e) {
|
|
|
1001
1006
|
y: a - d - (s + c) * l
|
|
1002
1007
|
};
|
|
1003
1008
|
}
|
|
1004
|
-
function
|
|
1009
|
+
function Rn(e, t, n) {
|
|
1005
1010
|
return {
|
|
1006
1011
|
scaleX: 2 * e.drawWidth / t,
|
|
1007
1012
|
scaleY: 2 * e.drawHeight / n,
|
|
@@ -1011,21 +1016,21 @@ function zn(e, t, n) {
|
|
|
1011
1016
|
}
|
|
1012
1017
|
//#endregion
|
|
1013
1018
|
//#region ../../libs/canvas-renderers/src/canvas2d/VideoFrameCanvas2DRenderer.ts
|
|
1014
|
-
var
|
|
1019
|
+
var zn = {
|
|
1015
1020
|
width: 256,
|
|
1016
1021
|
height: 144
|
|
1017
|
-
},
|
|
1022
|
+
}, Bn = class extends fe {
|
|
1018
1023
|
constructor() {
|
|
1019
|
-
super(), e(this, "canvas", document.createElement("canvas")), e(this, "context", null), e(this, "size",
|
|
1024
|
+
super(), e(this, "canvas", document.createElement("canvas")), e(this, "context", null), e(this, "size", zn), e(this, "hasWarnedNoVideoFrame", !1), e(this, "subtitleRenderer", null), e(this, "hasActiveSubtitles", !1), e(this, "load", () => {
|
|
1020
1025
|
if (this.hasWarnedNoVideoFrame = !1, this.context = this.canvas.getContext("2d", {
|
|
1021
1026
|
alpha: !1,
|
|
1022
1027
|
desynchronized: !0
|
|
1023
1028
|
}), !this.context) throw Error("Failed to get 2D rendering context");
|
|
1024
|
-
this.setSize(
|
|
1029
|
+
this.setSize(zn);
|
|
1025
1030
|
}), e(this, "unload", () => {
|
|
1026
|
-
this.context = null, this.subtitleRenderer = null, this.hasActiveSubtitles = !1, this.setSize(
|
|
1031
|
+
this.context = null, this.subtitleRenderer = null, this.hasActiveSubtitles = !1, this.setSize(zn);
|
|
1027
1032
|
}), e(this, "setActiveCues", (e, t) => {
|
|
1028
|
-
this.subtitleRenderer || (this.subtitleRenderer = new
|
|
1033
|
+
this.subtitleRenderer || (this.subtitleRenderer = new Nn()), this.subtitleRenderer.config.fontSize = an(t.width, t.height), this.subtitleRenderer.setActiveCues(e), this.subtitleRenderer.render(t), this.hasActiveSubtitles = e.some((e) => e.text.length > 0);
|
|
1029
1034
|
}), e(this, "render", (e, t = 0) => {
|
|
1030
1035
|
if (!this.context) return;
|
|
1031
1036
|
if (!e.videoFrame) {
|
|
@@ -1046,7 +1051,7 @@ var Bn = {
|
|
|
1046
1051
|
if (!this.hasActiveSubtitles || !this.subtitleRenderer || !this.context) return;
|
|
1047
1052
|
let t = this.subtitleRenderer.canvas;
|
|
1048
1053
|
if (t.width === 0 || t.height === 0) return;
|
|
1049
|
-
let n = window.devicePixelRatio || 1, r = this.canvas.clientWidth || this.canvas.width, i =
|
|
1054
|
+
let n = window.devicePixelRatio || 1, r = this.canvas.clientWidth || this.canvas.width, i = Ln({
|
|
1050
1055
|
subtitleWidth: t.width / n,
|
|
1051
1056
|
subtitleHeight: t.height / n,
|
|
1052
1057
|
canvasWidth: this.canvas.width,
|
|
@@ -1059,14 +1064,14 @@ var Bn = {
|
|
|
1059
1064
|
e.width === this.size.width && e.height === this.size.height || (this.size = e, this.canvas.width = e.width, this.canvas.height = e.height, this.context && (this.context.fillStyle = "#000", this.context.fillRect(0, 0, e.width, e.height)));
|
|
1060
1065
|
}), Dn(this.canvas);
|
|
1061
1066
|
}
|
|
1062
|
-
},
|
|
1067
|
+
}, Vn = "\nprecision mediump float;\nuniform sampler2D texture;\n\nvarying vec2 texture_coordinate;\n\nvoid main() {\n float y = texture2D(texture, texture_coordinate).r;\n float a = texture2D(texture, texture_coordinate).a;\n\n gl_FragColor = vec4(y, y, y, a);\n}\n", Hn = "\n attribute vec2 position;\n varying vec2 texture_coordinate;\n uniform mat4 model;\n\n void main() {\n texture_coordinate = position;\n gl_Position = model * vec4(position, 0.0, 1.0);\n }\n", Un = (e, t) => {
|
|
1063
1068
|
let n = e.getContext("webgl", t);
|
|
1064
1069
|
if (n || (n = e.getContext("experimental-webgl", t)), !n) throw new y("Failed to create webgl context", {
|
|
1065
1070
|
isFatal: !0,
|
|
1066
1071
|
code: "failed_to_create_web_gl_context"
|
|
1067
1072
|
});
|
|
1068
1073
|
return n;
|
|
1069
|
-
},
|
|
1074
|
+
}, Wn = (e, t, n) => {
|
|
1070
1075
|
let r = e.createShader(t);
|
|
1071
1076
|
if (!r) throw new y("Failed to create shader", {
|
|
1072
1077
|
isFatal: !0,
|
|
@@ -1080,21 +1085,21 @@ var Bn = {
|
|
|
1080
1085
|
});
|
|
1081
1086
|
}
|
|
1082
1087
|
return r;
|
|
1083
|
-
},
|
|
1088
|
+
}, Gn = (e) => {
|
|
1084
1089
|
let t = e.createTexture();
|
|
1085
1090
|
if (!t) throw new y("Failed to create texture", {
|
|
1086
1091
|
isFatal: !0,
|
|
1087
1092
|
code: "failed_to_create_texture"
|
|
1088
1093
|
});
|
|
1089
1094
|
return e.bindTexture(e.TEXTURE_2D, t), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, e.NEAREST), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, e.NEAREST), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, e.CLAMP_TO_EDGE), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, e.CLAMP_TO_EDGE), t;
|
|
1090
|
-
},
|
|
1095
|
+
}, Kn = (e, t) => {
|
|
1091
1096
|
let n = e.createBuffer();
|
|
1092
1097
|
if (!n) throw new y("Failed to create buffer", {
|
|
1093
1098
|
isFatal: !0,
|
|
1094
1099
|
code: "failed_to_create_buffer"
|
|
1095
1100
|
});
|
|
1096
1101
|
return e.bindBuffer(e.ARRAY_BUFFER, n), e.bufferData(e.ARRAY_BUFFER, t.buffer, e.STATIC_DRAW), n;
|
|
1097
|
-
},
|
|
1102
|
+
}, qn = (e, t, n) => {
|
|
1098
1103
|
let r = e.createProgram();
|
|
1099
1104
|
if (!r) throw new y("Failed to create program", {
|
|
1100
1105
|
isFatal: !0,
|
|
@@ -1108,9 +1113,9 @@ var Bn = {
|
|
|
1108
1113
|
});
|
|
1109
1114
|
}
|
|
1110
1115
|
return r;
|
|
1111
|
-
},
|
|
1116
|
+
}, I = /* @__PURE__ */ new WeakMap(), Jn = /* @__PURE__ */ new WeakMap(), Yn = /* @__PURE__ */ new WeakMap(), Xn = /* @__PURE__ */ new WeakMap(), Zn = /* @__PURE__ */ new WeakMap(), Qn = /* @__PURE__ */ new WeakSet(), $n = /* @__PURE__ */ new WeakMap(), er = class {
|
|
1112
1117
|
constructor(t) {
|
|
1113
|
-
D(this,
|
|
1118
|
+
D(this, Qn), C(this, I, void 0), C(this, Jn, void 0), C(this, Yn, void 0), C(this, Xn, void 0), C(this, Zn, void 0), e(this, "subtitleRenderer", new Nn()), C(this, $n, (e, t, n, r) => [
|
|
1114
1119
|
e,
|
|
1115
1120
|
0,
|
|
1116
1121
|
0,
|
|
@@ -1127,7 +1132,7 @@ var Bn = {
|
|
|
1127
1132
|
r,
|
|
1128
1133
|
0,
|
|
1129
1134
|
1
|
|
1130
|
-
]), E(
|
|
1135
|
+
]), E(I, this, t), E(Jn, this, Gn(t)), E(Yn, this, Wn(t, t.FRAGMENT_SHADER, Vn)), E(Xn, this, Wn(t, t.VERTEX_SHADER, Hn)), E(Zn, this, qn(t, T(Xn, this), T(Yn, this)));
|
|
1131
1136
|
}
|
|
1132
1137
|
setActiveCues(e, t) {
|
|
1133
1138
|
this.subtitleRenderer.config.fontSize = an(t.width, t.height), this.subtitleRenderer.setActiveCues(e), this.subtitleRenderer.render(t);
|
|
@@ -1135,7 +1140,7 @@ var Bn = {
|
|
|
1135
1140
|
render(e) {
|
|
1136
1141
|
let t = this.subtitleRenderer.canvas;
|
|
1137
1142
|
if (t.width === 0) return;
|
|
1138
|
-
let n = window.devicePixelRatio || 1, r =
|
|
1143
|
+
let n = window.devicePixelRatio || 1, r = Rn(Ln({
|
|
1139
1144
|
subtitleWidth: t.width / n,
|
|
1140
1145
|
subtitleHeight: t.height / n,
|
|
1141
1146
|
canvasWidth: e.canvasWidth,
|
|
@@ -1143,49 +1148,49 @@ var Bn = {
|
|
|
1143
1148
|
containerWidth: e.containerWidth,
|
|
1144
1149
|
bottomPadding: e.bottomPadding
|
|
1145
1150
|
}), e.canvasWidth, e.canvasHeight);
|
|
1146
|
-
T(
|
|
1151
|
+
T(I, this).useProgram(T(Zn, this)), w(Qn, this, tr).call(this), w(Qn, this, nr).call(this, r.scaleX, r.scaleY, r.translateX, r.translateY), T(I, this).uniform1i(T(I, this).getUniformLocation(T(Zn, this), "texture"), 4), T(I, this).activeTexture(T(I, this).TEXTURE4), T(I, this).bindTexture(T(I, this).TEXTURE_2D, T(Jn, this)), T(I, this).enable(T(I, this).BLEND), T(I, this).blendFunc(T(I, this).SRC_ALPHA, T(I, this).ONE_MINUS_SRC_ALPHA), T(I, this).texImage2D(T(I, this).TEXTURE_2D, 0, T(I, this).RGBA, T(I, this).RGBA, T(I, this).UNSIGNED_BYTE, t), T(I, this).texParameteri(T(I, this).TEXTURE_2D, T(I, this).TEXTURE_MAG_FILTER, T(I, this).LINEAR), T(I, this).drawArrays(T(I, this).TRIANGLE_STRIP, 0, 4);
|
|
1147
1152
|
}
|
|
1148
1153
|
};
|
|
1149
|
-
function
|
|
1150
|
-
let e = T(
|
|
1151
|
-
T(
|
|
1154
|
+
function tr() {
|
|
1155
|
+
let e = T(I, this).getAttribLocation(T(Zn, this), "position");
|
|
1156
|
+
T(I, this).enableVertexAttribArray(e), T(I, this).vertexAttribPointer(e, 2, T(I, this).FLOAT, !1, 0, 0);
|
|
1152
1157
|
}
|
|
1153
|
-
function
|
|
1154
|
-
let i = T(
|
|
1155
|
-
T(
|
|
1158
|
+
function nr(e, t, n, r) {
|
|
1159
|
+
let i = T(I, this).getUniformLocation(T(Zn, this), "model");
|
|
1160
|
+
T(I, this).uniformMatrix4fv(i, !1, T($n, this).call(this, e, t, n, r));
|
|
1156
1161
|
}
|
|
1157
1162
|
//#endregion
|
|
1158
1163
|
//#region ../../libs/canvas-renderers/src/webgl/video-shaders/PixelShader.ts
|
|
1159
|
-
var
|
|
1164
|
+
var rr = "\nprecision mediump float;\nuniform sampler2D y_texture;\nuniform sampler2D u_texture;\nuniform sampler2D v_texture;\nuniform mat4 conversion;\n\nvarying vec2 texture_coordinate;\n\nvoid main() {\n float y = texture2D(y_texture, texture_coordinate).r;\n float u = texture2D(u_texture, texture_coordinate).r;\n float v = texture2D(v_texture, texture_coordinate).r;\n\n gl_FragColor = vec4(y, u, v, 1) * conversion;\n}\n", ir = "\n attribute vec2 position;\n varying vec2 texture_coordinate;\n uniform mat4 model;\n\n void main() {\n texture_coordinate = position;\n gl_Position = model * vec4(position, 0.0, 1.0);\n }\n", ar = {
|
|
1160
1165
|
width: 256,
|
|
1161
1166
|
codedWidth: 256,
|
|
1162
1167
|
height: 144,
|
|
1163
1168
|
codedHeight: 144
|
|
1164
|
-
},
|
|
1169
|
+
}, or = {
|
|
1165
1170
|
preserveDrawingBuffer: !1,
|
|
1166
1171
|
alpha: !1,
|
|
1167
1172
|
depth: !1,
|
|
1168
1173
|
stencil: !1,
|
|
1169
1174
|
antialias: !1,
|
|
1170
1175
|
premultipliedAlpha: !1
|
|
1171
|
-
},
|
|
1176
|
+
}, sr = class t extends fe {
|
|
1172
1177
|
constructor() {
|
|
1173
|
-
super(), e(this, "canvas", document.createElement("canvas")), e(this, "context",
|
|
1174
|
-
y:
|
|
1175
|
-
u:
|
|
1176
|
-
v:
|
|
1177
|
-
}), e(this, "textRenderer", void 0), e(this, "size",
|
|
1178
|
+
super(), e(this, "canvas", document.createElement("canvas")), e(this, "context", Un(this.canvas, or)), e(this, "pixelShader", Wn(this.context, this.context.FRAGMENT_SHADER, rr)), e(this, "vertexShader", Wn(this.context, this.context.VERTEX_SHADER, ir)), e(this, "buffer", Kn(this.context, t.SQUARE_VERTICES)), e(this, "program", qn(this.context, this.vertexShader, this.pixelShader)), e(this, "textures", {
|
|
1179
|
+
y: Gn(this.context),
|
|
1180
|
+
u: Gn(this.context),
|
|
1181
|
+
v: Gn(this.context)
|
|
1182
|
+
}), e(this, "textRenderer", void 0), e(this, "size", ar), e(this, "modelLocation", null), e(this, "conversionLocation", null), e(this, "cachedScaleX", 0), e(this, "cachedScaleY", 0), e(this, "cachedTransformMatrix", null), e(this, "texturesNeedRealloc", !0), e(this, "onContextLost", (e) => {
|
|
1178
1183
|
this.textRenderer = void 0;
|
|
1179
1184
|
let t = Error(e instanceof WebGLContextEvent ? e.statusMessage : "webgl context lost");
|
|
1180
1185
|
this.emit("context lost", g(t)), e.preventDefault();
|
|
1181
1186
|
}), e(this, "onContextRestored", () => {
|
|
1182
|
-
this.emit("context restored"), this.context =
|
|
1183
|
-
y:
|
|
1184
|
-
u:
|
|
1185
|
-
v:
|
|
1187
|
+
this.emit("context restored"), this.context = Un(this.canvas, or), this.pixelShader = Wn(this.context, this.context.FRAGMENT_SHADER, rr), this.vertexShader = Wn(this.context, this.context.VERTEX_SHADER, ir), this.buffer = Kn(this.context, t.SQUARE_VERTICES), this.program = qn(this.context, this.vertexShader, this.pixelShader), this.textures = {
|
|
1188
|
+
y: Gn(this.context),
|
|
1189
|
+
u: Gn(this.context),
|
|
1190
|
+
v: Gn(this.context)
|
|
1186
1191
|
}, this.load();
|
|
1187
1192
|
}), e(this, "load", () => {
|
|
1188
|
-
this.context.useProgram(this.program), this.setupPositionVertexAttributes(), this.texturesNeedRealloc = !0, this.setSize(
|
|
1193
|
+
this.context.useProgram(this.program), this.setupPositionVertexAttributes(), this.texturesNeedRealloc = !0, this.setSize(ar), this.modelLocation = this.context.getUniformLocation(this.program, "model"), this.conversionLocation = this.context.getUniformLocation(this.program, "conversion"), this.context.uniform1i(this.context.getUniformLocation(this.program, "y_texture"), 0), this.context.uniform1i(this.context.getUniformLocation(this.program, "u_texture"), 1), this.context.uniform1i(this.context.getUniformLocation(this.program, "v_texture"), 2), this.setConversionMatrix(t.REC709);
|
|
1189
1194
|
}), e(this, "unload", () => {
|
|
1190
1195
|
var e;
|
|
1191
1196
|
this.setSize({
|
|
@@ -1252,10 +1257,10 @@ var ir = "\nprecision mediump float;\nuniform sampler2D y_texture;\nuniform samp
|
|
|
1252
1257
|
]), this.canvas.addEventListener("webglcontextlost", this.onContextLost), this.canvas.addEventListener("webglcontextrestored", this.onContextRestored, !1), Dn(this.canvas);
|
|
1253
1258
|
}
|
|
1254
1259
|
getTextRenderer() {
|
|
1255
|
-
return this.textRenderer || (this.textRenderer = new
|
|
1260
|
+
return this.textRenderer || (this.textRenderer = new er(this.context)), this.textRenderer;
|
|
1256
1261
|
}
|
|
1257
1262
|
};
|
|
1258
|
-
e(
|
|
1263
|
+
e(sr, "SQUARE_VERTICES", new Float32Array([
|
|
1259
1264
|
0,
|
|
1260
1265
|
0,
|
|
1261
1266
|
0,
|
|
@@ -1264,7 +1269,7 @@ e(cr, "SQUARE_VERTICES", new Float32Array([
|
|
|
1264
1269
|
0,
|
|
1265
1270
|
1,
|
|
1266
1271
|
1
|
|
1267
|
-
])), e(
|
|
1272
|
+
])), e(sr, "REC709", [
|
|
1268
1273
|
1.16438,
|
|
1269
1274
|
0,
|
|
1270
1275
|
1.79274,
|
|
@@ -1281,7 +1286,7 @@ e(cr, "SQUARE_VERTICES", new Float32Array([
|
|
|
1281
1286
|
0,
|
|
1282
1287
|
0,
|
|
1283
1288
|
1
|
|
1284
|
-
]), e(
|
|
1289
|
+
]), e(sr, "REC601", [
|
|
1285
1290
|
1.16438,
|
|
1286
1291
|
0,
|
|
1287
1292
|
1.59603,
|
|
@@ -1301,21 +1306,21 @@ e(cr, "SQUARE_VERTICES", new Float32Array([
|
|
|
1301
1306
|
]);
|
|
1302
1307
|
//#endregion
|
|
1303
1308
|
//#region ../../libs/eme/src/CdmManager.ts
|
|
1304
|
-
var
|
|
1309
|
+
var cr = /* @__PURE__ */ new WeakMap(), lr = /* @__PURE__ */ new WeakMap(), ur = class {
|
|
1305
1310
|
constructor(t, n, r, i) {
|
|
1306
|
-
e(this, "keySystem", void 0), e(this, "licenseServerUrl", void 0), e(this, "certificate", void 0), e(this, "headers", {}), e(this, "queryParams", {}), C(this,
|
|
1311
|
+
e(this, "keySystem", void 0), e(this, "licenseServerUrl", void 0), e(this, "certificate", void 0), e(this, "headers", {}), e(this, "queryParams", {}), C(this, cr, void 0), C(this, lr, void 0), E(cr, this, n), this.keySystem = t, this.licenseServerUrl = r, this.certificate = i;
|
|
1307
1312
|
}
|
|
1308
1313
|
get statistics() {
|
|
1309
1314
|
return {
|
|
1310
|
-
keySystem: T(
|
|
1315
|
+
keySystem: T(cr, this).keySystem,
|
|
1311
1316
|
licenseServerUrl: this.licenseServerUrl,
|
|
1312
|
-
mediaKeySystemConfiguration: T(
|
|
1317
|
+
mediaKeySystemConfiguration: T(cr, this).getConfiguration()
|
|
1313
1318
|
};
|
|
1314
1319
|
}
|
|
1315
1320
|
getMediaKeys() {
|
|
1316
1321
|
var e = this;
|
|
1317
1322
|
return t(function* () {
|
|
1318
|
-
return T(
|
|
1323
|
+
return T(lr, e) || E(lr, e, yield T(cr, e).createMediaKeys()), T(lr, e);
|
|
1319
1324
|
})();
|
|
1320
1325
|
}
|
|
1321
1326
|
requestLicense(e) {
|
|
@@ -1335,17 +1340,17 @@ var lr = /* @__PURE__ */ new WeakMap(), ur = /* @__PURE__ */ new WeakMap(), dr =
|
|
|
1335
1340
|
};
|
|
1336
1341
|
//#endregion
|
|
1337
1342
|
//#region ../../libs/eme/src/emeUtils.ts
|
|
1338
|
-
function
|
|
1343
|
+
function dr(e) {
|
|
1339
1344
|
let t = window.atob(e.replace(/-/g, "+").replace(/_/g, "/")), n = "";
|
|
1340
1345
|
for (let e = 0; e < t.length; e++) n += `0${t.charCodeAt(e).toString(16)}`.substr(-2);
|
|
1341
1346
|
return n;
|
|
1342
1347
|
}
|
|
1343
|
-
function
|
|
1348
|
+
function fr(e) {
|
|
1344
1349
|
let t = "";
|
|
1345
1350
|
for (let n = 0; n < e.length; n += 2) t += String.fromCharCode(parseInt(e.substr(n, 2), 16));
|
|
1346
1351
|
return window.btoa(t).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
1347
1352
|
}
|
|
1348
|
-
function
|
|
1353
|
+
function pr(e, t) {
|
|
1349
1354
|
if (e.byteLength !== t.byteLength) return !1;
|
|
1350
1355
|
let n = new Uint8Array(e), r = new Uint8Array(t);
|
|
1351
1356
|
for (let e = 0; e < n.length; e++) if (n[e] !== r[e]) return !1;
|
|
@@ -1353,21 +1358,21 @@ function mr(e, t) {
|
|
|
1353
1358
|
}
|
|
1354
1359
|
//#endregion
|
|
1355
1360
|
//#region ../../libs/eme/src/Clearkey.ts
|
|
1356
|
-
var
|
|
1361
|
+
var mr = /* @__PURE__ */ new WeakMap(), hr = class extends ur {
|
|
1357
1362
|
constructor(e, t) {
|
|
1358
|
-
super("clearkey", e, ""), C(this,
|
|
1363
|
+
super("clearkey", e, ""), C(this, mr, void 0), E(mr, this, t);
|
|
1359
1364
|
}
|
|
1360
1365
|
handleLicenseRequest(e) {
|
|
1361
1366
|
let t = new Uint8Array(e), n = String.fromCharCode(...t), r = JSON.parse(n), i = [];
|
|
1362
1367
|
for (let e = 0; e < r.kids.length; e++) {
|
|
1363
1368
|
let t = r.kids[e];
|
|
1364
1369
|
if (t) {
|
|
1365
|
-
let e =
|
|
1370
|
+
let e = dr(t).toLowerCase(), n = T(mr, this)[e];
|
|
1366
1371
|
n && i.push({
|
|
1367
1372
|
kty: "oct",
|
|
1368
1373
|
alg: "A128KW",
|
|
1369
1374
|
kid: t,
|
|
1370
|
-
k:
|
|
1375
|
+
k: fr(n)
|
|
1371
1376
|
});
|
|
1372
1377
|
}
|
|
1373
1378
|
}
|
|
@@ -1377,7 +1382,7 @@ var hr = /* @__PURE__ */ new WeakMap(), gr = class extends dr {
|
|
|
1377
1382
|
});
|
|
1378
1383
|
return new TextEncoder().encode(a);
|
|
1379
1384
|
}
|
|
1380
|
-
},
|
|
1385
|
+
}, gr = {
|
|
1381
1386
|
playready: [
|
|
1382
1387
|
"150",
|
|
1383
1388
|
"2000",
|
|
@@ -1392,11 +1397,11 @@ var hr = /* @__PURE__ */ new WeakMap(), gr = class extends dr {
|
|
|
1392
1397
|
],
|
|
1393
1398
|
fairplay: [""],
|
|
1394
1399
|
clearkey: [""]
|
|
1395
|
-
},
|
|
1400
|
+
}, _r = {
|
|
1396
1401
|
initDataTypes: ["cenc"],
|
|
1397
1402
|
audioCapabilities: [{ contentType: "audio/mp4; codecs=\"mp4a.40.2\"" }],
|
|
1398
1403
|
videoCapabilities: [{ contentType: "video/mp4; codecs=\"avc1.42c01f\"" }]
|
|
1399
|
-
},
|
|
1404
|
+
}, vr = {
|
|
1400
1405
|
fairplay: {
|
|
1401
1406
|
keySystem: "com.apple.fps",
|
|
1402
1407
|
supportedConfig: {
|
|
@@ -1406,24 +1411,24 @@ var hr = /* @__PURE__ */ new WeakMap(), gr = class extends dr {
|
|
|
1406
1411
|
},
|
|
1407
1412
|
playready: {
|
|
1408
1413
|
keySystem: "com.microsoft.playready",
|
|
1409
|
-
supportedConfig:
|
|
1414
|
+
supportedConfig: _r
|
|
1410
1415
|
},
|
|
1411
1416
|
widevine: {
|
|
1412
1417
|
keySystem: "com.widevine.alpha",
|
|
1413
|
-
supportedConfig:
|
|
1418
|
+
supportedConfig: _r
|
|
1414
1419
|
},
|
|
1415
1420
|
clearkey: {
|
|
1416
1421
|
keySystem: "org.w3.clearkey",
|
|
1417
|
-
supportedConfig:
|
|
1422
|
+
supportedConfig: _r
|
|
1418
1423
|
}
|
|
1419
|
-
},
|
|
1424
|
+
}, yr = function() {
|
|
1420
1425
|
var e = t(function* (e, t) {
|
|
1421
1426
|
return navigator.requestMediaKeySystemAccess(e, [t]).catch(() => void 0);
|
|
1422
1427
|
});
|
|
1423
1428
|
return function(t, n) {
|
|
1424
1429
|
return e.apply(this, arguments);
|
|
1425
1430
|
};
|
|
1426
|
-
}(),
|
|
1431
|
+
}(), br = function() {
|
|
1427
1432
|
var e = t(function* (e, t, n, r, i, a) {
|
|
1428
1433
|
let o;
|
|
1429
1434
|
for (let s of r) {
|
|
@@ -1431,7 +1436,7 @@ var hr = /* @__PURE__ */ new WeakMap(), gr = class extends dr {
|
|
|
1431
1436
|
robustness: s,
|
|
1432
1437
|
contentType: a ? `${i === "audioCapabilities" ? "audio/mp4" : "video/mp4"}; codecs="${a}"` : e.contentType
|
|
1433
1438
|
}));
|
|
1434
|
-
if (!(yield
|
|
1439
|
+
if (!(yield yr(e, {
|
|
1435
1440
|
initDataTypes: t,
|
|
1436
1441
|
[i]: r
|
|
1437
1442
|
}))) break;
|
|
@@ -1442,10 +1447,10 @@ var hr = /* @__PURE__ */ new WeakMap(), gr = class extends dr {
|
|
|
1442
1447
|
return function(t, n, r, i, a, o) {
|
|
1443
1448
|
return e.apply(this, arguments);
|
|
1444
1449
|
};
|
|
1445
|
-
}(),
|
|
1450
|
+
}(), xr = function() {
|
|
1446
1451
|
var e = t(function* (e, t, n, r) {
|
|
1447
|
-
let { keySystem: i, supportedConfig: a } =
|
|
1448
|
-
if (!(!f && !p)) return yield
|
|
1452
|
+
let { keySystem: i, supportedConfig: a } = vr[e], { initDataTypes: o, videoCapabilities: s, audioCapabilities: c } = a, l = r == null ? void 0 : r[e], u = (l == null ? void 0 : l.videoRobustness) || gr[e], d = (l == null ? void 0 : l.audioRobustness) || gr[e], [f, p] = yield Promise.all([br(i, o, s, u, "videoCapabilities", t), br(i, o, c, d, "audioCapabilities", n)]);
|
|
1453
|
+
if (!(!f && !p)) return yield yr(i, {
|
|
1449
1454
|
initDataTypes: o,
|
|
1450
1455
|
videoCapabilities: f,
|
|
1451
1456
|
audioCapabilities: p
|
|
@@ -1454,10 +1459,10 @@ var hr = /* @__PURE__ */ new WeakMap(), gr = class extends dr {
|
|
|
1454
1459
|
return function(t, n, r, i) {
|
|
1455
1460
|
return e.apply(this, arguments);
|
|
1456
1461
|
};
|
|
1457
|
-
}(),
|
|
1462
|
+
}(), Sr = function() {
|
|
1458
1463
|
var e = t(function* (e, t, n, r) {
|
|
1459
1464
|
let i;
|
|
1460
|
-
for (let a of e) if (i = yield
|
|
1465
|
+
for (let a of e) if (i = yield xr(a, t, n, r), i) return {
|
|
1461
1466
|
keySystem: a,
|
|
1462
1467
|
mediaKeySystemAccess: i
|
|
1463
1468
|
};
|
|
@@ -1465,11 +1470,11 @@ var hr = /* @__PURE__ */ new WeakMap(), gr = class extends dr {
|
|
|
1465
1470
|
return function(t, n, r, i) {
|
|
1466
1471
|
return e.apply(this, arguments);
|
|
1467
1472
|
};
|
|
1468
|
-
}(),
|
|
1473
|
+
}(), Cr = class extends ur {
|
|
1469
1474
|
constructor(e, t, n) {
|
|
1470
1475
|
super("fairplay", e, t, n);
|
|
1471
1476
|
}
|
|
1472
|
-
},
|
|
1477
|
+
}, wr = (e) => {
|
|
1473
1478
|
var t;
|
|
1474
1479
|
let n = String.fromCharCode(...new Uint16Array(e)), r = new window.DOMParser().parseFromString(n, "application/xml"), i = r.getElementsByTagName("HttpHeaders")[0], a = {};
|
|
1475
1480
|
if (i) {
|
|
@@ -1492,7 +1497,7 @@ var hr = /* @__PURE__ */ new WeakMap(), gr = class extends dr {
|
|
|
1492
1497
|
headers: a,
|
|
1493
1498
|
message: l
|
|
1494
1499
|
};
|
|
1495
|
-
},
|
|
1500
|
+
}, Tr = class extends ur {
|
|
1496
1501
|
constructor(e, t) {
|
|
1497
1502
|
super("playready", e, t);
|
|
1498
1503
|
}
|
|
@@ -1502,7 +1507,7 @@ var hr = /* @__PURE__ */ new WeakMap(), gr = class extends dr {
|
|
|
1502
1507
|
oe(n.licenseServerUrl, "No license server URL set");
|
|
1503
1508
|
let t = new URL(n.licenseServerUrl);
|
|
1504
1509
|
for (let [e, r] of Object.entries(n.queryParams)) t.searchParams.append(e, r);
|
|
1505
|
-
let r =
|
|
1510
|
+
let r = wr(e), i = yield fetch(t, {
|
|
1506
1511
|
method: "POST",
|
|
1507
1512
|
headers: O(O({}, r.headers), n.headers),
|
|
1508
1513
|
body: r.message
|
|
@@ -1511,118 +1516,118 @@ var hr = /* @__PURE__ */ new WeakMap(), gr = class extends dr {
|
|
|
1511
1516
|
return yield i.arrayBuffer();
|
|
1512
1517
|
})();
|
|
1513
1518
|
}
|
|
1514
|
-
},
|
|
1519
|
+
}, Er = class extends ur {
|
|
1515
1520
|
constructor(e, t) {
|
|
1516
1521
|
super("widevine", e, t);
|
|
1517
1522
|
}
|
|
1518
|
-
},
|
|
1523
|
+
}, Dr = 5e3, L = /* @__PURE__ */ new WeakMap(), Or = /* @__PURE__ */ new WeakMap(), kr = /* @__PURE__ */ new WeakMap(), Ar = /* @__PURE__ */ new WeakMap(), jr = /* @__PURE__ */ new WeakMap(), R = /* @__PURE__ */ new WeakMap(), Mr = /* @__PURE__ */ new WeakMap(), Nr = /* @__PURE__ */ new WeakMap(), Pr = /* @__PURE__ */ new WeakMap(), Fr = /* @__PURE__ */ new WeakMap(), Ir = /* @__PURE__ */ new WeakMap(), Lr = /* @__PURE__ */ new WeakMap(), Rr = /* @__PURE__ */ new WeakSet(), zr = /* @__PURE__ */ new WeakMap(), Br = /* @__PURE__ */ new WeakMap(), Vr = /* @__PURE__ */ new WeakMap(), Hr = class {
|
|
1519
1524
|
constructor(e, n, r = {}) {
|
|
1520
1525
|
var i = this;
|
|
1521
|
-
D(this,
|
|
1522
|
-
if (T(
|
|
1523
|
-
let t = w(
|
|
1524
|
-
t && (T(
|
|
1525
|
-
}
|
|
1526
|
-
T(
|
|
1527
|
-
}), C(this,
|
|
1528
|
-
T(
|
|
1529
|
-
}), C(this,
|
|
1526
|
+
D(this, Rr), C(this, L, void 0), C(this, Or, void 0), C(this, kr, void 0), C(this, Ar, new k()), C(this, jr, void 0), C(this, R, void 0), C(this, Mr, /* @__PURE__ */ new Map()), C(this, Nr, void 0), C(this, Pr, $e()), C(this, Fr, void 0), C(this, Ir, (e) => {
|
|
1527
|
+
if (T(L, this).info("Received DRM data", { drmData: e }), window.clearTimeout(T(Fr, this)), T(R, this)) {
|
|
1528
|
+
let t = w(Rr, this, Xr).call(this, e)[T(R, this).keySystem];
|
|
1529
|
+
t && (T(R, this).licenseServerUrl = t);
|
|
1530
|
+
}
|
|
1531
|
+
T(Ar, this).resolve(e);
|
|
1532
|
+
}), C(this, Lr, (e) => {
|
|
1533
|
+
T(L, this).info("Encrypted event received", { event: e }), w(Rr, this, Ur).call(this, e);
|
|
1534
|
+
}), C(this, zr, (e) => {
|
|
1530
1535
|
var t, n;
|
|
1531
|
-
T(
|
|
1536
|
+
T(L, this).debug("Session message received", { event: e });
|
|
1532
1537
|
let r = e.target, i = e.message;
|
|
1533
|
-
if (!T(
|
|
1534
|
-
T(
|
|
1538
|
+
if (!T(Mr, this).get(r)) {
|
|
1539
|
+
T(L, this).error("No active session found for event", { event: e });
|
|
1535
1540
|
return;
|
|
1536
1541
|
}
|
|
1537
|
-
T(
|
|
1542
|
+
T(L, this).debug("Requesting license for session", {
|
|
1538
1543
|
sessionId: r.sessionId,
|
|
1539
|
-
licenseServerUrl: (t = T(
|
|
1540
|
-
}), (n = T(
|
|
1541
|
-
T(
|
|
1542
|
-
w(
|
|
1544
|
+
licenseServerUrl: (t = T(R, this)) == null ? void 0 : t.licenseServerUrl
|
|
1545
|
+
}), (n = T(R, this)) == null || n.requestLicense(i).then((e) => {
|
|
1546
|
+
T(L, this).debug("License received for session", { sessionId: r.sessionId }), r.update(e).catch((e) => {
|
|
1547
|
+
w(Rr, this, Jr).call(this, {
|
|
1543
1548
|
message: "Failed to update session with license",
|
|
1544
1549
|
isFatal: !1,
|
|
1545
1550
|
error: e
|
|
1546
1551
|
});
|
|
1547
1552
|
});
|
|
1548
1553
|
}).catch((e) => {
|
|
1549
|
-
w(
|
|
1554
|
+
w(Rr, this, Jr).call(this, {
|
|
1550
1555
|
message: "Failed to request license",
|
|
1551
1556
|
isFatal: !1,
|
|
1552
1557
|
error: e
|
|
1553
1558
|
});
|
|
1554
1559
|
});
|
|
1555
|
-
}), C(this,
|
|
1560
|
+
}), C(this, Br, (e) => {
|
|
1556
1561
|
let t = e.target;
|
|
1557
|
-
T(
|
|
1558
|
-
let n =
|
|
1559
|
-
T(
|
|
1562
|
+
T(L, this).debug("Key status changed for session", { sessionId: t.sessionId }), t.keyStatuses.forEach((e, t) => {
|
|
1563
|
+
let n = dr(window.btoa(String.fromCharCode(...new Uint8Array(t))));
|
|
1564
|
+
T(L, this).debug("Key status", {
|
|
1560
1565
|
base64kid: n,
|
|
1561
1566
|
status: e
|
|
1562
1567
|
});
|
|
1563
1568
|
});
|
|
1564
|
-
}), C(this,
|
|
1569
|
+
}), C(this, Vr, function() {
|
|
1565
1570
|
var e = t(function* (e) {
|
|
1566
|
-
let t = w(
|
|
1567
|
-
T(
|
|
1568
|
-
let n = yield
|
|
1569
|
-
widevine: T(
|
|
1570
|
-
playready: T(
|
|
1571
|
+
let t = w(Rr, i, Yr).call(i, e);
|
|
1572
|
+
T(L, i).debug("Prioritized key system list", { keySystemList: t });
|
|
1573
|
+
let n = yield Sr(t, e.videoCodec, e.audioCodec, {
|
|
1574
|
+
widevine: T(jr, i).widevine,
|
|
1575
|
+
playready: T(jr, i).playready
|
|
1571
1576
|
});
|
|
1572
|
-
if (!n) return T(
|
|
1573
|
-
T(
|
|
1577
|
+
if (!n) return T(L, i).warn("No supported key system found"), null;
|
|
1578
|
+
T(L, i).debug("Supported key system found", n.mediaKeySystemAccess.getConfiguration());
|
|
1574
1579
|
let { keySystem: r, mediaKeySystemAccess: a } = n, o = null;
|
|
1575
|
-
return r === "clearkey" ? (oe(e.clearkeys, "No clearkeys found"), o = new
|
|
1580
|
+
return r === "clearkey" ? (oe(e.clearkeys, "No clearkeys found"), o = new hr(a, e.clearkeys)) : r === "playready" ? (oe(e.playreadyLicenseUrl, "No playreadyLicenseUrl found"), o = new Tr(a, e.playreadyLicenseUrl)) : r === "widevine" ? (oe(e.widevineLicenseUrl, "No widevineLicenseUrl found"), o = new Er(a, e.widevineLicenseUrl)) : r === "fairplay" && (oe(e.fairplayLicenseUrl, "No fairplayLicenseUrl found"), oe(e.fairplayCertificate, "No fairplayCertificate found"), o = new Cr(a, e.fairplayLicenseUrl, e.fairplayCertificate)), o && (o.headers = T(jr, i).headers || {}, o.queryParams = T(jr, i).queryParams || {}), o;
|
|
1576
1581
|
});
|
|
1577
1582
|
return function(t) {
|
|
1578
1583
|
return e.apply(this, arguments);
|
|
1579
1584
|
};
|
|
1580
|
-
}()), E(
|
|
1585
|
+
}()), E(Or, this, e), E(L, this, n), E(jr, this, r), T(Or, this).on("received drm data", T(Ir, this));
|
|
1581
1586
|
}
|
|
1582
1587
|
static isSupported() {
|
|
1583
1588
|
return !!navigator.requestMediaKeySystemAccess;
|
|
1584
1589
|
}
|
|
1585
1590
|
attach(e) {
|
|
1586
|
-
E(
|
|
1591
|
+
E(kr, this, e), T(L, this).info("Media element attached"), T(kr, this).addEventListener("encrypted", T(Lr, this));
|
|
1587
1592
|
}
|
|
1588
1593
|
getStatistics() {
|
|
1589
1594
|
var e, t;
|
|
1590
|
-
return !T(
|
|
1595
|
+
return !T(Ar, this).resolved && !((e = T(R, this)) != null && e.statistics) ? null : O(O({}, T(Ar, this).resolved), (t = T(R, this)) == null ? void 0 : t.statistics);
|
|
1591
1596
|
}
|
|
1592
1597
|
unload() {
|
|
1593
1598
|
var e;
|
|
1594
|
-
T(
|
|
1599
|
+
T(L, this).info("Unloading EncryptedMediaExtensions"), T(Or, this).off("received drm data", T(Ir, this)), (e = T(kr, this)) == null || e.removeEventListener("encrypted", T(Lr, this)), T(Mr, this).forEach((e, t) => {
|
|
1595
1600
|
t.close();
|
|
1596
|
-
}), T(
|
|
1601
|
+
}), T(Mr, this).clear(), E(Nr, this, void 0), E(R, this, void 0);
|
|
1597
1602
|
}
|
|
1598
1603
|
set headers(e) {
|
|
1599
|
-
T(
|
|
1604
|
+
T(jr, this).headers = e, T(R, this) && (T(R, this).headers = e);
|
|
1600
1605
|
}
|
|
1601
1606
|
set queryParams(e) {
|
|
1602
|
-
T(
|
|
1607
|
+
T(jr, this).queryParams = e, T(R, this) && (T(R, this).queryParams = e);
|
|
1603
1608
|
}
|
|
1604
1609
|
onChannelSwitch() {
|
|
1605
|
-
if (!T(
|
|
1606
|
-
T(
|
|
1610
|
+
if (!T(Ar, this).resolved) {
|
|
1611
|
+
T(L, this).debug("DRM is not used, skipping channel switch handling");
|
|
1607
1612
|
return;
|
|
1608
1613
|
}
|
|
1609
|
-
Ye() && T(
|
|
1614
|
+
Ye() && T(Pr, this).platform.safariVersion < 18 && w(Rr, this, Jr).call(this, {
|
|
1610
1615
|
message: "DRM channel switch not supported on Safari < 18",
|
|
1611
1616
|
isFatal: !0
|
|
1612
|
-
}), window.clearTimeout(T(
|
|
1613
|
-
let e = T(
|
|
1614
|
-
E(
|
|
1615
|
-
T(
|
|
1616
|
-
},
|
|
1617
|
+
}), window.clearTimeout(T(Fr, this));
|
|
1618
|
+
let e = T(Ar, this).resolved;
|
|
1619
|
+
E(Ar, this, new k()), E(Fr, this, window.setTimeout(() => {
|
|
1620
|
+
T(Ar, this).resolve(e);
|
|
1621
|
+
}, Dr));
|
|
1617
1622
|
}
|
|
1618
1623
|
};
|
|
1619
|
-
function
|
|
1624
|
+
function Ur(e) {
|
|
1620
1625
|
var n = this;
|
|
1621
1626
|
return t(function* () {
|
|
1622
1627
|
try {
|
|
1623
|
-
yield w(
|
|
1628
|
+
yield w(Rr, n, Wr).call(n), T(L, n).debug("Media keys initialization completed"), yield w(Rr, n, Gr).call(n, e.initData, e.initDataType);
|
|
1624
1629
|
} catch (e) {
|
|
1625
|
-
w(
|
|
1630
|
+
w(Rr, n, Jr).call(n, {
|
|
1626
1631
|
message: "Failed to handle encrypted event",
|
|
1627
1632
|
isFatal: !0,
|
|
1628
1633
|
error: e
|
|
@@ -1630,70 +1635,70 @@ function Wr(e) {
|
|
|
1630
1635
|
}
|
|
1631
1636
|
})();
|
|
1632
1637
|
}
|
|
1633
|
-
function
|
|
1638
|
+
function Wr() {
|
|
1634
1639
|
var e = this;
|
|
1635
1640
|
return t(function* () {
|
|
1636
1641
|
var n;
|
|
1637
|
-
T(
|
|
1638
|
-
let r = yield T(
|
|
1639
|
-
if ((n = T(
|
|
1640
|
-
T(
|
|
1642
|
+
T(L, e).debug("Initializing media keys");
|
|
1643
|
+
let r = yield T(Ar, e).promise;
|
|
1644
|
+
if ((n = T(kr, e)) != null && n.mediaKeys) {
|
|
1645
|
+
T(L, e).debug("Media keys already set on media element");
|
|
1641
1646
|
return;
|
|
1642
1647
|
}
|
|
1643
|
-
if (T(
|
|
1644
|
-
T(
|
|
1648
|
+
if (T(Nr, e)) {
|
|
1649
|
+
T(L, e).debug("Media keys initialization already in progress, waiting for completion"), yield T(Nr, e);
|
|
1645
1650
|
return;
|
|
1646
1651
|
}
|
|
1647
|
-
E(
|
|
1648
|
-
let t = yield T(
|
|
1649
|
-
T(
|
|
1652
|
+
E(Nr, e, t(function* () {
|
|
1653
|
+
let t = yield T(Vr, e).call(e, r);
|
|
1654
|
+
T(L, e).debug("CDM obtained", { cdm: t }), oe(T(kr, e), "No media element found"), oe(t, "No CDM found");
|
|
1650
1655
|
let n = yield t.getMediaKeys();
|
|
1651
|
-
t.certificate && (yield w(
|
|
1652
|
-
})()), yield T(
|
|
1656
|
+
t.certificate && (yield w(Rr, e, qr).call(e, n, t.certificate)), T(L, e).debug("Setting media keys on media element"), yield T(kr, e).setMediaKeys(n), E(R, e, t);
|
|
1657
|
+
})()), yield T(Nr, e);
|
|
1653
1658
|
})();
|
|
1654
1659
|
}
|
|
1655
|
-
function
|
|
1660
|
+
function Gr(e, n) {
|
|
1656
1661
|
var r = this;
|
|
1657
1662
|
return t(function* () {
|
|
1658
|
-
oe(T(
|
|
1659
|
-
let t = yield T(
|
|
1660
|
-
if (!e || !w(
|
|
1661
|
-
T(
|
|
1663
|
+
oe(T(R, r), "No CDM manager found");
|
|
1664
|
+
let t = yield T(R, r).getMediaKeys();
|
|
1665
|
+
if (!e || !w(Rr, r, Kr).call(r, e)) {
|
|
1666
|
+
T(L, r).debug("Duplicate initData, no need to create new session", { initData: e });
|
|
1662
1667
|
return;
|
|
1663
1668
|
}
|
|
1664
1669
|
let i = t.createSession();
|
|
1665
|
-
T(
|
|
1666
|
-
T(
|
|
1667
|
-
}), i.addEventListener("message", T(
|
|
1670
|
+
T(L, r).debug("Creating new session", { session: i }), i.addEventListener("keystatuseschange", T(Br, r)), i.closed.then((e) => {
|
|
1671
|
+
T(L, r).info("Session is closed", { reason: e });
|
|
1672
|
+
}), i.addEventListener("message", T(zr, r)), T(Mr, r).set(i, e), T(L, r).debug("Generating request for session", {
|
|
1668
1673
|
session: i,
|
|
1669
1674
|
initDataType: n,
|
|
1670
1675
|
initData: e
|
|
1671
1676
|
}), yield i.generateRequest(n, e);
|
|
1672
1677
|
})();
|
|
1673
1678
|
}
|
|
1674
|
-
function
|
|
1675
|
-
for (let [t, n] of T(
|
|
1679
|
+
function Kr(e) {
|
|
1680
|
+
for (let [t, n] of T(Mr, this)) if (pr(e, n)) return !1;
|
|
1676
1681
|
return !0;
|
|
1677
1682
|
}
|
|
1678
|
-
function
|
|
1683
|
+
function qr(e, n) {
|
|
1679
1684
|
var r = this;
|
|
1680
1685
|
return t(function* () {
|
|
1681
1686
|
try {
|
|
1682
|
-
T(
|
|
1687
|
+
T(L, r).debug("Setting server certificate", { certificate: n }), (yield e.setServerCertificate(n)) || T(L, r).warn("Server certificates are not supported by the CDM.");
|
|
1683
1688
|
} catch (e) {
|
|
1684
|
-
T(
|
|
1689
|
+
T(L, r).error("Failed to set server certificate", { error: e });
|
|
1685
1690
|
}
|
|
1686
1691
|
})();
|
|
1687
1692
|
}
|
|
1688
|
-
function
|
|
1693
|
+
function Jr(e) {
|
|
1689
1694
|
let { message: t, isFatal: n, error: r } = e;
|
|
1690
|
-
T(
|
|
1695
|
+
T(L, this).error(t, { error: r }), T(Or, this).emit("error", d(t, n, r));
|
|
1691
1696
|
}
|
|
1692
|
-
function
|
|
1697
|
+
function Yr(e) {
|
|
1693
1698
|
let t = [];
|
|
1694
1699
|
return e.clearkeys && t.push("clearkey"), e.playreadyLicenseUrl && t.push("playready"), e.widevineLicenseUrl && t.push("widevine"), e.fairplayLicenseUrl && e.fairplayCertificate && t.push("fairplay"), t;
|
|
1695
1700
|
}
|
|
1696
|
-
function
|
|
1701
|
+
function Xr(e) {
|
|
1697
1702
|
return {
|
|
1698
1703
|
fairplay: e.fairplayLicenseUrl,
|
|
1699
1704
|
playready: e.playreadyLicenseUrl,
|
|
@@ -1703,10 +1708,10 @@ function Zr(e) {
|
|
|
1703
1708
|
}
|
|
1704
1709
|
//#endregion
|
|
1705
1710
|
//#region ../../libs/media/src/h264/h264.ts
|
|
1706
|
-
var
|
|
1711
|
+
var Zr = 7, Qr = 8, $r = (e) => {
|
|
1707
1712
|
let t = e.getUint32(0, !1), n = e.getUint8(0) << 16 | e.getUint16(1, !1), r = 0;
|
|
1708
1713
|
return n === 1 ? r += 3 : t === 1 && (r += 4), r;
|
|
1709
|
-
},
|
|
1714
|
+
}, ei = (e) => $r(new DataView(e, 0)) !== 0, ti = (e, t = 0) => {
|
|
1710
1715
|
for (let n = t; n < e.byteLength - 4; n++) {
|
|
1711
1716
|
let t = e.getUint32(n) === 1, r = (e.getUint8(n) << 16 | e.getUint16(n + 1)) == 1;
|
|
1712
1717
|
if (t || r) return {
|
|
@@ -1714,16 +1719,16 @@ var Qr = 7, $r = 8, ei = (e) => {
|
|
|
1714
1719
|
nalPrefixSize: t ? 4 : 3
|
|
1715
1720
|
};
|
|
1716
1721
|
}
|
|
1717
|
-
},
|
|
1718
|
-
let n = new DataView(e, 0), r =
|
|
1722
|
+
}, ni = (e) => e & 31, ri = (e, t) => {
|
|
1723
|
+
let n = new DataView(e, 0), r = ti(n);
|
|
1719
1724
|
for (; r;) {
|
|
1720
|
-
let { position: i, nalPrefixSize: a } = r, o =
|
|
1725
|
+
let { position: i, nalPrefixSize: a } = r, o = ti(n, i + 4), s = o ? o.position - i - a : void 0;
|
|
1721
1726
|
if (!t(new DataView(e, i + a, s), a)) return;
|
|
1722
1727
|
r = o;
|
|
1723
1728
|
}
|
|
1724
|
-
},
|
|
1729
|
+
}, ii = (e) => {
|
|
1725
1730
|
let t = [], n = [];
|
|
1726
|
-
if (!
|
|
1731
|
+
if (!ei(e)) {
|
|
1727
1732
|
let r = new DataView(e, 0), i = r.getUint8(5) & 31, a = 6;
|
|
1728
1733
|
for (let n = 0; n < i; n++) {
|
|
1729
1734
|
let n = r.getUint16(a);
|
|
@@ -1740,13 +1745,13 @@ var Qr = 7, $r = 8, ei = (e) => {
|
|
|
1740
1745
|
pictureParameterSets: n
|
|
1741
1746
|
};
|
|
1742
1747
|
}
|
|
1743
|
-
return
|
|
1748
|
+
return ri(e, (e) => {
|
|
1744
1749
|
let r = e.byteOffset + e.byteLength;
|
|
1745
|
-
switch (
|
|
1746
|
-
case
|
|
1750
|
+
switch (ni(e.getUint8(0))) {
|
|
1751
|
+
case Qr:
|
|
1747
1752
|
n.push(e.buffer.slice(e.byteOffset, r));
|
|
1748
1753
|
break;
|
|
1749
|
-
case
|
|
1754
|
+
case Zr:
|
|
1750
1755
|
t.push(e.buffer.slice(e.byteOffset, r));
|
|
1751
1756
|
break;
|
|
1752
1757
|
}
|
|
@@ -1755,7 +1760,7 @@ var Qr = 7, $r = 8, ei = (e) => {
|
|
|
1755
1760
|
sequenceParameterSets: t,
|
|
1756
1761
|
pictureParameterSets: n
|
|
1757
1762
|
};
|
|
1758
|
-
},
|
|
1763
|
+
}, ai = (e) => {
|
|
1759
1764
|
let t = new DataView(e), n = t.getUint8(1), r = t.getUint8(2), i = t.getUint8(3), a = new ke(e, 32);
|
|
1760
1765
|
a.readUnsignedExpGolomb();
|
|
1761
1766
|
let o = 1;
|
|
@@ -1798,7 +1803,7 @@ var Qr = 7, $r = 8, ei = (e) => {
|
|
|
1798
1803
|
};
|
|
1799
1804
|
if (a.readBit() && a.readBit()) {
|
|
1800
1805
|
var m;
|
|
1801
|
-
p = (m =
|
|
1806
|
+
p = (m = oi[a.readBits(8)]) == null ? {
|
|
1802
1807
|
numerator: 0,
|
|
1803
1808
|
denumerator: 0
|
|
1804
1809
|
} : m;
|
|
@@ -1811,7 +1816,7 @@ var Qr = 7, $r = 8, ei = (e) => {
|
|
|
1811
1816
|
constraintFlags: r,
|
|
1812
1817
|
levelIdc: i
|
|
1813
1818
|
};
|
|
1814
|
-
},
|
|
1819
|
+
}, oi = [
|
|
1815
1820
|
{
|
|
1816
1821
|
numerator: 0,
|
|
1817
1822
|
denumerator: 0
|
|
@@ -1880,7 +1885,7 @@ var Qr = 7, $r = 8, ei = (e) => {
|
|
|
1880
1885
|
numerator: 2,
|
|
1881
1886
|
denumerator: 1
|
|
1882
1887
|
}
|
|
1883
|
-
],
|
|
1888
|
+
], si = (e) => {
|
|
1884
1889
|
if (e.length <= 78) return;
|
|
1885
1890
|
let t = 78;
|
|
1886
1891
|
for (; t + 8 <= e.length;) {
|
|
@@ -1889,17 +1894,17 @@ var Qr = 7, $r = 8, ei = (e) => {
|
|
|
1889
1894
|
if (i === "hvcC") return e.slice(t + 8, t + r);
|
|
1890
1895
|
t += r;
|
|
1891
1896
|
}
|
|
1892
|
-
},
|
|
1893
|
-
function
|
|
1894
|
-
let t = new Ne(e), n =
|
|
1895
|
-
(n.flags &
|
|
1896
|
-
let r =
|
|
1897
|
+
}, ci = 184549376;
|
|
1898
|
+
function li(e) {
|
|
1899
|
+
let t = new Ne(e), n = ui(t);
|
|
1900
|
+
(n.flags & ci) !== 0 && di(t);
|
|
1901
|
+
let r = fi(t);
|
|
1897
1902
|
if (String.fromCharCode(...r.frameId) === "TXXX") return {
|
|
1898
1903
|
header: n,
|
|
1899
|
-
txx:
|
|
1904
|
+
txx: pi(new Ne(t.readBytes(r.size)))
|
|
1900
1905
|
};
|
|
1901
1906
|
}
|
|
1902
|
-
function
|
|
1907
|
+
function ui(e) {
|
|
1903
1908
|
return {
|
|
1904
1909
|
id: e.readBytes(3),
|
|
1905
1910
|
majorVersion: e.readUint8(),
|
|
@@ -1908,18 +1913,18 @@ function di(e) {
|
|
|
1908
1913
|
size: e.readUint32()
|
|
1909
1914
|
};
|
|
1910
1915
|
}
|
|
1911
|
-
function
|
|
1916
|
+
function di(e) {
|
|
1912
1917
|
let t = e.readUint32();
|
|
1913
1918
|
return e.readBytes(t - 4), {};
|
|
1914
1919
|
}
|
|
1915
|
-
function
|
|
1920
|
+
function fi(e) {
|
|
1916
1921
|
return {
|
|
1917
1922
|
frameId: e.readBytes(4),
|
|
1918
1923
|
size: e.readUint32(),
|
|
1919
1924
|
flags: e.readUint16()
|
|
1920
1925
|
};
|
|
1921
1926
|
}
|
|
1922
|
-
function
|
|
1927
|
+
function pi(e) {
|
|
1923
1928
|
return {
|
|
1924
1929
|
encoding: e.readUint8(),
|
|
1925
1930
|
description: e.readUtf8String(),
|
|
@@ -1928,20 +1933,20 @@ function mi(e) {
|
|
|
1928
1933
|
}
|
|
1929
1934
|
//#endregion
|
|
1930
1935
|
//#region ../../libs/media/src/mp4/demuxing/atom.ts
|
|
1931
|
-
function
|
|
1936
|
+
function mi(e) {
|
|
1932
1937
|
let t = e.readUint32(), n = String.fromCharCode(e.readUint8(), e.readUint8(), e.readUint8(), e.readUint8());
|
|
1933
1938
|
return t === 1 && (t = e.readUint64() - 8), {
|
|
1934
1939
|
size: t - 8,
|
|
1935
1940
|
type: n
|
|
1936
1941
|
};
|
|
1937
1942
|
}
|
|
1938
|
-
function
|
|
1939
|
-
let n =
|
|
1943
|
+
function hi(e, t) {
|
|
1944
|
+
let n = mi(t), r = new Ne(t.readBytes(n.size));
|
|
1940
1945
|
if (n.type !== e.type) throw Error(`invalid error type: ${n.type}, expected ${e.type}`);
|
|
1941
1946
|
let i = e.decodeData(r);
|
|
1942
1947
|
return r.readRemaining(), i;
|
|
1943
1948
|
}
|
|
1944
|
-
function
|
|
1949
|
+
function gi(e) {
|
|
1945
1950
|
return {
|
|
1946
1951
|
version: e.readUint8(),
|
|
1947
1952
|
flags: e.readUint24()
|
|
@@ -1949,12 +1954,12 @@ function _i(e) {
|
|
|
1949
1954
|
}
|
|
1950
1955
|
//#endregion
|
|
1951
1956
|
//#region ../../libs/media/src/mp4/demuxing/emsg.ts
|
|
1952
|
-
var
|
|
1957
|
+
var _i = class t {
|
|
1953
1958
|
constructor({ timescale: n, presentationTime: r, presentationTimeDelta: i, schemeIdUri: a, value: o, eventDuration: s, id: c, data: l }) {
|
|
1954
1959
|
e(this, "type", t.type), e(this, "timescale", void 0), e(this, "presentationTime", void 0), e(this, "presentationTimeDelta", void 0), e(this, "schemeIdUri", void 0), e(this, "value", void 0), e(this, "eventDuration", void 0), e(this, "id", void 0), e(this, "data", void 0), this.timescale = n, this.presentationTime = r, this.presentationTimeDelta = i, this.schemeIdUri = a, this.value = o, this.eventDuration = s, this.id = c, this.data = l;
|
|
1955
1960
|
}
|
|
1956
1961
|
static decodeData(e) {
|
|
1957
|
-
let { version: n } =
|
|
1962
|
+
let { version: n } = gi(e);
|
|
1958
1963
|
switch (n) {
|
|
1959
1964
|
case 1: {
|
|
1960
1965
|
let n = e.readUint32(), r = e.readUint64(), i = e.readUint32(), a = e.readUint32(), o = e.readUtf8String(), s = e.readUtf8String(), c = e.remaining();
|
|
@@ -1984,10 +1989,10 @@ var vi = class t {
|
|
|
1984
1989
|
}
|
|
1985
1990
|
}
|
|
1986
1991
|
};
|
|
1987
|
-
e(
|
|
1992
|
+
e(_i, "type", "emsg");
|
|
1988
1993
|
//#endregion
|
|
1989
1994
|
//#region ../../libs/media/src/mp4/demuxing/mdat.ts
|
|
1990
|
-
var
|
|
1995
|
+
var vi = class t {
|
|
1991
1996
|
constructor(n) {
|
|
1992
1997
|
e(this, "type", t.type), e(this, "data", void 0), this.data = n;
|
|
1993
1998
|
}
|
|
@@ -1995,34 +2000,34 @@ var yi = class t {
|
|
|
1995
2000
|
return new t(e.readRemaining());
|
|
1996
2001
|
}
|
|
1997
2002
|
};
|
|
1998
|
-
e(
|
|
2003
|
+
e(vi, "type", "mdat");
|
|
1999
2004
|
//#endregion
|
|
2000
2005
|
//#region ../../libs/media/src/mp4/demuxing/moof/traf/tfdt.ts
|
|
2001
|
-
var
|
|
2006
|
+
var yi = class t {
|
|
2002
2007
|
constructor(n, r, i) {
|
|
2003
2008
|
e(this, "type", t.type), e(this, "extra", void 0), e(this, "byteOffset", void 0), e(this, "baseMediaDecodeTime", void 0), this.extra = n, this.byteOffset = r, this.baseMediaDecodeTime = i;
|
|
2004
2009
|
}
|
|
2005
2010
|
static decodeData(e) {
|
|
2006
|
-
let n =
|
|
2011
|
+
let n = gi(e), r = e.byteOffset(), i = 0;
|
|
2007
2012
|
return i = n.version === 1 ? e.readUint64() : e.readUint32(), new t(n, r, i);
|
|
2008
2013
|
}
|
|
2009
2014
|
};
|
|
2010
|
-
e(
|
|
2015
|
+
e(yi, "type", "tfdt");
|
|
2011
2016
|
//#endregion
|
|
2012
2017
|
//#region ../../libs/media/src/mp4/demuxing/moof/traf/tfhd.ts
|
|
2013
|
-
var
|
|
2018
|
+
var bi = 1, xi = 2, Si = 8, Ci = 16, wi = 32, Ti = class t {
|
|
2014
2019
|
constructor(n, r, i, a) {
|
|
2015
2020
|
e(this, "type", t.type), e(this, "extra", void 0), e(this, "defaultSampleDuration", void 0), e(this, "defaultSampleSize", void 0), e(this, "defaultSampleFlags", void 0), this.extra = n, this.defaultSampleDuration = r, this.defaultSampleSize = i, this.defaultSampleFlags = a;
|
|
2016
2021
|
}
|
|
2017
2022
|
static decodeData(e) {
|
|
2018
|
-
let n =
|
|
2019
|
-
return e.readUint32(), (n.flags &
|
|
2023
|
+
let n = gi(e), r, i, a;
|
|
2024
|
+
return e.readUint32(), (n.flags & bi) > 0 && e.readUint64(), (n.flags & xi) > 0 && e.readUint32(), (n.flags & Si) > 0 && (r = e.readUint32()), (n.flags & Ci) > 0 && (i = e.readUint32()), (n.flags & wi) > 0 && (a = e.readUint32()), new t(n, r, i, a);
|
|
2020
2025
|
}
|
|
2021
2026
|
};
|
|
2022
|
-
e(
|
|
2027
|
+
e(Ti, "type", "tfhd");
|
|
2023
2028
|
//#endregion
|
|
2024
2029
|
//#region ../../libs/media/src/mp4/demuxing/moof/traf/trun.ts
|
|
2025
|
-
var
|
|
2030
|
+
var Ei = class t {
|
|
2026
2031
|
is_sync_sample(e) {
|
|
2027
2032
|
let n = t.FLAG_SAMPLE_FLAG_IS_NON_SYNC | t.FLAG_SAMPLE_DEPENDS_YES, r = this.sampleFlags[e];
|
|
2028
2033
|
if (r !== void 0) return (r & n) === 0;
|
|
@@ -2032,7 +2037,7 @@ var Di = class t {
|
|
|
2032
2037
|
e(this, "type", t.type), e(this, "dataOffset", void 0), e(this, "firstSampleFlags", void 0), e(this, "samplesCount", void 0), e(this, "sampleDurations", []), e(this, "sampleSizes", []), e(this, "sampleFlags", []), e(this, "sampleCts", []), this.dataOffset = r, this.firstSampleFlags = i, this.samplesCount = n;
|
|
2033
2038
|
}
|
|
2034
2039
|
static decodeData(e) {
|
|
2035
|
-
let { version: n, flags: r } =
|
|
2040
|
+
let { version: n, flags: r } = gi(e), i = e.readUint32(), a, o;
|
|
2036
2041
|
r & t.TRUN_DATA_OFFSET && (a = e.readUint32()), r & t.TRUN_FIRST_SAMPLE_FLAGS && (o = e.readUint32());
|
|
2037
2042
|
let s = new t(i, a, o);
|
|
2038
2043
|
if ((r & (t.SAMPLE_DURATION | t.SAMPLE_SIZE | t.SAMPLE_FLAGS | t.SAMPLE_CTS)) === 0) return s;
|
|
@@ -2040,43 +2045,43 @@ var Di = class t {
|
|
|
2040
2045
|
return s;
|
|
2041
2046
|
}
|
|
2042
2047
|
};
|
|
2043
|
-
e(
|
|
2048
|
+
e(Ei, "TRUN_DATA_OFFSET", 1), e(Ei, "TRUN_FIRST_SAMPLE_FLAGS", 4), e(Ei, "SAMPLE_DURATION", 256), e(Ei, "SAMPLE_SIZE", 512), e(Ei, "SAMPLE_FLAGS", 1024), e(Ei, "SAMPLE_CTS", 2048), e(Ei, "FLAG_SAMPLE_FLAG_IS_NON_SYNC", 65536), e(Ei, "FLAG_SAMPLE_DEPENDS_NO", 33554432), e(Ei, "FLAG_SAMPLE_DEPENDS_YES", 16777216), e(Ei, "type", "trun");
|
|
2044
2049
|
//#endregion
|
|
2045
2050
|
//#region ../../libs/media/src/mp4/demuxing/moof/traf.ts
|
|
2046
|
-
var
|
|
2051
|
+
var Di = class t {
|
|
2047
2052
|
constructor(n, r, i) {
|
|
2048
2053
|
e(this, "type", t.type), e(this, "tfhd", void 0), e(this, "tfdt", void 0), e(this, "trun", void 0), this.tfhd = n, this.tfdt = r, this.trun = i;
|
|
2049
2054
|
}
|
|
2050
2055
|
static decodeData(e) {
|
|
2051
2056
|
let n, r, i;
|
|
2052
2057
|
for (; e.remaining() > 0;) {
|
|
2053
|
-
let t =
|
|
2054
|
-
t instanceof
|
|
2058
|
+
let t = Zi(e);
|
|
2059
|
+
t instanceof Ti && (n = t), t instanceof yi && (r = t), t instanceof Ei && (i = t);
|
|
2055
2060
|
}
|
|
2056
2061
|
return new t(n, r, i);
|
|
2057
2062
|
}
|
|
2058
2063
|
};
|
|
2059
|
-
e(
|
|
2064
|
+
e(Di, "type", "traf");
|
|
2060
2065
|
//#endregion
|
|
2061
2066
|
//#region ../../libs/media/src/mp4/demuxing/moof.ts
|
|
2062
|
-
var
|
|
2067
|
+
var Oi = class t {
|
|
2063
2068
|
constructor(n) {
|
|
2064
2069
|
e(this, "type", t.type), e(this, "traf", void 0), this.traf = n;
|
|
2065
2070
|
}
|
|
2066
2071
|
static decodeData(e) {
|
|
2067
2072
|
let n;
|
|
2068
2073
|
for (; e.remaining() > 0;) {
|
|
2069
|
-
let t =
|
|
2070
|
-
t instanceof
|
|
2074
|
+
let t = Zi(e);
|
|
2075
|
+
t instanceof Di && (n = t);
|
|
2071
2076
|
}
|
|
2072
2077
|
if (!n) throw Error("No traf found");
|
|
2073
2078
|
return new t(n);
|
|
2074
2079
|
}
|
|
2075
2080
|
};
|
|
2076
|
-
e(
|
|
2081
|
+
e(Oi, "type", "moof");
|
|
2077
2082
|
//#endregion
|
|
2078
2083
|
//#region ../../libs/media/src/mp4/demuxing/moov/mvhd.ts
|
|
2079
|
-
var
|
|
2084
|
+
var ki = class t {
|
|
2080
2085
|
constructor() {
|
|
2081
2086
|
e(this, "type", t.type);
|
|
2082
2087
|
}
|
|
@@ -2084,10 +2089,10 @@ var Ai = class t {
|
|
|
2084
2089
|
return new t();
|
|
2085
2090
|
}
|
|
2086
2091
|
};
|
|
2087
|
-
e(
|
|
2092
|
+
e(ki, "type", "mvhd");
|
|
2088
2093
|
//#endregion
|
|
2089
2094
|
//#region ../../libs/media/src/mp4/demuxing/moov/trak/mdia/hdlr.ts
|
|
2090
|
-
var
|
|
2095
|
+
var Ai = class t {
|
|
2091
2096
|
constructor(n) {
|
|
2092
2097
|
e(this, "type", t.type), e(this, "fourCC", void 0), this.fourCC = n;
|
|
2093
2098
|
}
|
|
@@ -2100,25 +2105,25 @@ var ji = class t {
|
|
|
2100
2105
|
}
|
|
2101
2106
|
}
|
|
2102
2107
|
static decodeData(e) {
|
|
2103
|
-
return
|
|
2108
|
+
return gi(e), e.readUint32(), new t(String.fromCharCode(...e.readBytes(4)));
|
|
2104
2109
|
}
|
|
2105
2110
|
};
|
|
2106
|
-
e(
|
|
2111
|
+
e(Ai, "type", "hdlr");
|
|
2107
2112
|
//#endregion
|
|
2108
2113
|
//#region ../../libs/media/src/mp4/demuxing/moov/trak/mdia/mdhd.ts
|
|
2109
|
-
var
|
|
2114
|
+
var ji = class t {
|
|
2110
2115
|
constructor(n, r, i, a) {
|
|
2111
2116
|
e(this, "type", t.type), e(this, "creationTime", void 0), e(this, "modificationTime", void 0), e(this, "timescale", void 0), e(this, "duration", void 0), this.creationTime = n, this.modificationTime = r, this.timescale = i, this.duration = a;
|
|
2112
2117
|
}
|
|
2113
2118
|
static decodeData(e) {
|
|
2114
|
-
let { version: n } =
|
|
2119
|
+
let { version: n } = gi(e);
|
|
2115
2120
|
return n === 1 ? new t(e.readUint64(), e.readUint64(), e.readUint32(), e.readUint64()) : new t(e.readUint32(), e.readUint32(), e.readUint32(), e.readUint32());
|
|
2116
2121
|
}
|
|
2117
2122
|
};
|
|
2118
|
-
e(
|
|
2123
|
+
e(ji, "type", "mdhd");
|
|
2119
2124
|
//#endregion
|
|
2120
2125
|
//#region ../../libs/media/src/mp4/demuxing/moov/trak/mdia/minf/stbl/stsd.ts
|
|
2121
|
-
var
|
|
2126
|
+
var Mi = class t {
|
|
2122
2127
|
mediaType() {
|
|
2123
2128
|
return this.avc1 || this.hvc1 || this.hev1 || this.av01 ? "video" : "audio";
|
|
2124
2129
|
}
|
|
@@ -2134,10 +2139,10 @@ var Ni = class t {
|
|
|
2134
2139
|
e(this, "type", t.type), e(this, "av01", void 0), e(this, "avc1", void 0), e(this, "hvc1", void 0), e(this, "hev1", void 0), e(this, "mp4a", void 0), e(this, "opus", void 0), e(this, "codec", void 0), this.avc1 = n, this.hvc1 = r, this.hev1 = i, this.av01 = a, this.mp4a = o, this.opus = s, this.codec = c;
|
|
2135
2140
|
}
|
|
2136
2141
|
static decodeData(e) {
|
|
2137
|
-
|
|
2142
|
+
gi(e);
|
|
2138
2143
|
let n = e.readUint32(), r, i, a, o, s, c, l;
|
|
2139
2144
|
for (let t = 0; t < n; t++) for (; e.remaining() > 0;) {
|
|
2140
|
-
let t =
|
|
2145
|
+
let t = Zi(e);
|
|
2141
2146
|
switch (t.type) {
|
|
2142
2147
|
case "avc1":
|
|
2143
2148
|
r = "h264", i = t;
|
|
@@ -2162,52 +2167,52 @@ var Ni = class t {
|
|
|
2162
2167
|
return new t(i, a, o, l, s, c, r);
|
|
2163
2168
|
}
|
|
2164
2169
|
};
|
|
2165
|
-
e(
|
|
2170
|
+
e(Mi, "type", "stsd");
|
|
2166
2171
|
//#endregion
|
|
2167
2172
|
//#region ../../libs/media/src/mp4/demuxing/moov/trak/mdia/minf/stbl.ts
|
|
2168
|
-
var
|
|
2173
|
+
var Ni = class t {
|
|
2169
2174
|
constructor(n) {
|
|
2170
2175
|
e(this, "type", t.type), e(this, "stsd", void 0), this.stsd = n;
|
|
2171
2176
|
}
|
|
2172
2177
|
static decodeData(e) {
|
|
2173
2178
|
let n;
|
|
2174
2179
|
for (; e.remaining() > 0;) {
|
|
2175
|
-
let t =
|
|
2176
|
-
t instanceof
|
|
2180
|
+
let t = Zi(e);
|
|
2181
|
+
t instanceof Mi && (n = t);
|
|
2177
2182
|
}
|
|
2178
2183
|
if (!n) throw Error("No stsd found");
|
|
2179
2184
|
return new t(n);
|
|
2180
2185
|
}
|
|
2181
2186
|
};
|
|
2182
|
-
e(
|
|
2187
|
+
e(Ni, "type", "stbl");
|
|
2183
2188
|
//#endregion
|
|
2184
2189
|
//#region ../../libs/media/src/mp4/demuxing/moov/trak/mdia/minf.ts
|
|
2185
|
-
var
|
|
2190
|
+
var Pi = class t {
|
|
2186
2191
|
constructor(n) {
|
|
2187
2192
|
e(this, "type", t.type), e(this, "stbl", void 0), this.stbl = n;
|
|
2188
2193
|
}
|
|
2189
2194
|
static decodeData(e) {
|
|
2190
2195
|
let n;
|
|
2191
2196
|
for (; e.remaining() > 0;) {
|
|
2192
|
-
let t =
|
|
2193
|
-
t instanceof
|
|
2197
|
+
let t = Zi(e);
|
|
2198
|
+
t instanceof Ni && (n = t);
|
|
2194
2199
|
}
|
|
2195
2200
|
if (!n) throw Error("No stbl found");
|
|
2196
2201
|
return new t(n);
|
|
2197
2202
|
}
|
|
2198
2203
|
};
|
|
2199
|
-
e(
|
|
2204
|
+
e(Pi, "type", "minf");
|
|
2200
2205
|
//#endregion
|
|
2201
2206
|
//#region ../../libs/media/src/mp4/demuxing/moov/trak/mdia.ts
|
|
2202
|
-
var
|
|
2207
|
+
var Fi = class t {
|
|
2203
2208
|
constructor(n, r, i) {
|
|
2204
2209
|
e(this, "type", t.type), e(this, "hdlr", void 0), e(this, "minf", void 0), e(this, "mdhd", void 0), this.hdlr = n, this.minf = r, this.mdhd = i;
|
|
2205
2210
|
}
|
|
2206
2211
|
static decodeData(e) {
|
|
2207
2212
|
let n, r, i;
|
|
2208
2213
|
for (; e.remaining() > 0;) {
|
|
2209
|
-
let t =
|
|
2210
|
-
t instanceof
|
|
2214
|
+
let t = Zi(e);
|
|
2215
|
+
t instanceof Ai && (n = t), t instanceof Pi && (r = t), t instanceof ji && (i = t);
|
|
2211
2216
|
}
|
|
2212
2217
|
if (!n) throw Error("No hdlr found");
|
|
2213
2218
|
if (!r) throw Error("No minf found");
|
|
@@ -2215,15 +2220,15 @@ var Ii = class t {
|
|
|
2215
2220
|
return new t(n, r, i);
|
|
2216
2221
|
}
|
|
2217
2222
|
};
|
|
2218
|
-
e(
|
|
2223
|
+
e(Fi, "type", "mdia");
|
|
2219
2224
|
//#endregion
|
|
2220
2225
|
//#region ../../libs/media/src/mp4/demuxing/moov/trak/tkhd.ts
|
|
2221
|
-
var
|
|
2226
|
+
var Ii = class t {
|
|
2222
2227
|
constructor(n, r, i, a, o, s, c, l) {
|
|
2223
2228
|
e(this, "type", t.type), e(this, "modificationTime", void 0), e(this, "creationTime", void 0), e(this, "trackId", void 0), e(this, "duration", void 0), e(this, "alternateGroup", void 0), e(this, "volume", void 0), e(this, "width", void 0), e(this, "height", void 0), this.modificationTime = n, this.creationTime = r, this.trackId = i, this.duration = a, this.alternateGroup = o, this.volume = s, this.width = c, this.height = l;
|
|
2224
2229
|
}
|
|
2225
2230
|
static decodeData(e) {
|
|
2226
|
-
let n =
|
|
2231
|
+
let n = gi(e), r = 0, i = 0;
|
|
2227
2232
|
n.version === 1 ? (r = e.readUint64(), i = e.readUint64()) : (r = e.readUint32(), i = e.readUint32());
|
|
2228
2233
|
let a = e.readUint32();
|
|
2229
2234
|
e.readUint32();
|
|
@@ -2237,45 +2242,45 @@ var Li = class t {
|
|
|
2237
2242
|
return e.readUint16(), new t(r, i, a, o, s, c, l, u);
|
|
2238
2243
|
}
|
|
2239
2244
|
};
|
|
2240
|
-
e(
|
|
2245
|
+
e(Ii, "type", "tkhd");
|
|
2241
2246
|
//#endregion
|
|
2242
2247
|
//#region ../../libs/media/src/mp4/demuxing/moov/trak.ts
|
|
2243
|
-
var
|
|
2248
|
+
var Li = class t {
|
|
2244
2249
|
constructor(n, r) {
|
|
2245
2250
|
e(this, "type", t.type), e(this, "tkhd", void 0), e(this, "mdia", void 0), this.tkhd = n, this.mdia = r;
|
|
2246
2251
|
}
|
|
2247
2252
|
static decodeData(e) {
|
|
2248
2253
|
let n, r;
|
|
2249
2254
|
for (; e.remaining() > 0;) {
|
|
2250
|
-
let t =
|
|
2251
|
-
t instanceof
|
|
2255
|
+
let t = Zi(e);
|
|
2256
|
+
t instanceof Ii && (n = t), t instanceof Fi && (r = t);
|
|
2252
2257
|
}
|
|
2253
2258
|
if (!n) throw Error("No tkhd found");
|
|
2254
2259
|
if (!r) throw Error("No mdia found");
|
|
2255
2260
|
return new t(n, r);
|
|
2256
2261
|
}
|
|
2257
2262
|
};
|
|
2258
|
-
e(
|
|
2263
|
+
e(Li, "type", "trak");
|
|
2259
2264
|
//#endregion
|
|
2260
2265
|
//#region ../../libs/media/src/mp4/demuxing/moov.ts
|
|
2261
|
-
var
|
|
2266
|
+
var Ri = class t {
|
|
2262
2267
|
constructor(n, r) {
|
|
2263
2268
|
e(this, "type", t.type), e(this, "mvhd", void 0), e(this, "traks", void 0), this.mvhd = n, this.traks = r;
|
|
2264
2269
|
}
|
|
2265
2270
|
static decodeData(e) {
|
|
2266
2271
|
let n, r = [];
|
|
2267
2272
|
for (; e.remaining() > 0;) {
|
|
2268
|
-
let t =
|
|
2269
|
-
t instanceof
|
|
2273
|
+
let t = Zi(e);
|
|
2274
|
+
t instanceof Li && r.push(t), t instanceof ki && (n = t);
|
|
2270
2275
|
}
|
|
2271
2276
|
if (!n) throw Error("No mvhd found");
|
|
2272
2277
|
return new t(n, r);
|
|
2273
2278
|
}
|
|
2274
2279
|
};
|
|
2275
|
-
e(
|
|
2280
|
+
e(Ri, "type", "moov");
|
|
2276
2281
|
//#endregion
|
|
2277
2282
|
//#region ../../libs/media/src/mp4/demuxing/moov/trak/mdia/minf/stbl/avc1.ts
|
|
2278
|
-
var
|
|
2283
|
+
var zi = class t {
|
|
2279
2284
|
constructor(n, r, i, a, o, s, c, l) {
|
|
2280
2285
|
e(this, "type", t.type), e(this, "configurationVersion", void 0), e(this, "avcProfileIndication", void 0), e(this, "profileCompatibility", void 0), e(this, "avcLevelIndication", void 0), e(this, "lengthSizeMinusOne", void 0), e(this, "sequenceParameterSets", void 0), e(this, "pictureParameterSets", void 0), e(this, "bytes", void 0), this.configurationVersion = n, this.avcProfileIndication = r, this.profileCompatibility = i, this.avcLevelIndication = a, this.lengthSizeMinusOne = o, this.sequenceParameterSets = s, this.pictureParameterSets = c, this.bytes = l;
|
|
2281
2286
|
}
|
|
@@ -2293,8 +2298,8 @@ var Bi = class t {
|
|
|
2293
2298
|
return new t(r, i, a, o, s, l, d, n);
|
|
2294
2299
|
}
|
|
2295
2300
|
};
|
|
2296
|
-
e(
|
|
2297
|
-
var
|
|
2301
|
+
e(zi, "type", "avcC");
|
|
2302
|
+
var Bi = class t {
|
|
2298
2303
|
constructor(n, r, i, a, o) {
|
|
2299
2304
|
e(this, "type", t.type), e(this, "avcC", void 0), e(this, "width", void 0), e(this, "height", void 0), e(this, "horizontalResolution", void 0), e(this, "verticalResolution", void 0), this.avcC = n, this.width = r, this.height = i, this.horizontalResolution = a, this.verticalResolution = o;
|
|
2300
2305
|
}
|
|
@@ -2304,7 +2309,7 @@ var Vi = class t {
|
|
|
2304
2309
|
e.readUint32(), e.readUint16(), e.readBytes(32), e.readUint16(), e.readUint16();
|
|
2305
2310
|
let o;
|
|
2306
2311
|
for (; e.remaining() > 0;) {
|
|
2307
|
-
let t =
|
|
2312
|
+
let t = Zi(e);
|
|
2308
2313
|
switch (t.type) {
|
|
2309
2314
|
case "avcC":
|
|
2310
2315
|
o = t;
|
|
@@ -2315,10 +2320,10 @@ var Vi = class t {
|
|
|
2315
2320
|
return new t(o, n, r, i, a);
|
|
2316
2321
|
}
|
|
2317
2322
|
};
|
|
2318
|
-
e(
|
|
2323
|
+
e(Bi, "type", "avc1");
|
|
2319
2324
|
//#endregion
|
|
2320
2325
|
//#region ../../libs/media/src/mp4/demuxing/moov/trak/mdia/minf/stbl/Mp4a.ts
|
|
2321
|
-
var
|
|
2326
|
+
var Vi = (e) => {
|
|
2322
2327
|
for (let t = 0; t < e.length - 1; t++) {
|
|
2323
2328
|
if (e[t] !== 5) continue;
|
|
2324
2329
|
let n = 0, r = 0, i = t + 1;
|
|
@@ -2330,17 +2335,17 @@ var Hi = (e) => {
|
|
|
2330
2335
|
let a = t + 1 + r, o = a + n;
|
|
2331
2336
|
if (o <= e.length) return e.slice(a, o);
|
|
2332
2337
|
}
|
|
2333
|
-
},
|
|
2338
|
+
}, Hi = class t {
|
|
2334
2339
|
constructor(n) {
|
|
2335
2340
|
e(this, "type", t.type), e(this, "decoderConfig", void 0), this.decoderConfig = n;
|
|
2336
2341
|
}
|
|
2337
2342
|
static decodeData(e) {
|
|
2338
2343
|
var n;
|
|
2339
|
-
return
|
|
2344
|
+
return gi(e), new t((n = Vi(e.readRemaining())) == null ? new Uint8Array() : n);
|
|
2340
2345
|
}
|
|
2341
2346
|
};
|
|
2342
|
-
e(
|
|
2343
|
-
var
|
|
2347
|
+
e(Hi, "type", "esds");
|
|
2348
|
+
var Ui = class t {
|
|
2344
2349
|
constructor(n, r, i) {
|
|
2345
2350
|
e(this, "type", t.type), e(this, "channelCount", void 0), e(this, "sampleRate", void 0), e(this, "esds", void 0), this.channelCount = n, this.sampleRate = r, this.esds = i;
|
|
2346
2351
|
}
|
|
@@ -2354,16 +2359,16 @@ var Wi = class t {
|
|
|
2354
2359
|
e.readUint16(), n === 1 ? e.readBytes(16) : n === 2 && e.readBytes(36);
|
|
2355
2360
|
let a;
|
|
2356
2361
|
for (; e.remaining() > 0;) {
|
|
2357
|
-
let t =
|
|
2362
|
+
let t = Zi(e);
|
|
2358
2363
|
t.type === "esds" && (a = t);
|
|
2359
2364
|
}
|
|
2360
2365
|
return new t(r, i, a);
|
|
2361
2366
|
}
|
|
2362
2367
|
};
|
|
2363
|
-
e(
|
|
2368
|
+
e(Ui, "type", "mp4a");
|
|
2364
2369
|
//#endregion
|
|
2365
2370
|
//#region ../../libs/media/src/mp4/demuxing/moov/trak/mdia/minf/stbl/Opus.ts
|
|
2366
|
-
var
|
|
2371
|
+
var Wi = class t {
|
|
2367
2372
|
constructor(n, r, i, a, o, s, c) {
|
|
2368
2373
|
e(this, "type", t.type), e(this, "version", void 0), e(this, "channelCount", void 0), e(this, "preSkip", void 0), e(this, "inputSampleRate", void 0), e(this, "outputGain", void 0), e(this, "channelMappingFamily", void 0), e(this, "channelMappingTable", void 0), this.version = n, this.channelCount = r, this.preSkip = i, this.inputSampleRate = a, this.outputGain = o, this.channelMappingFamily = s, this.channelMappingTable = c;
|
|
2369
2374
|
}
|
|
@@ -2372,8 +2377,8 @@ var Gi = class t {
|
|
|
2372
2377
|
return new t(n, r, i, a, o > 32767 ? o - 65536 : o, e.readUint8(), e.readRemaining());
|
|
2373
2378
|
}
|
|
2374
2379
|
};
|
|
2375
|
-
e(
|
|
2376
|
-
var
|
|
2380
|
+
e(Wi, "type", "dOps");
|
|
2381
|
+
var Gi = class t {
|
|
2377
2382
|
constructor(n, r, i) {
|
|
2378
2383
|
e(this, "type", t.type), e(this, "dops", void 0), e(this, "channelCount", void 0), e(this, "sampleRate", void 0), this.dops = n, this.channelCount = r, this.sampleRate = i;
|
|
2379
2384
|
}
|
|
@@ -2384,13 +2389,13 @@ var Ki = class t {
|
|
|
2384
2389
|
let r = e.readUint16();
|
|
2385
2390
|
e.readUint16(), e.readUint32();
|
|
2386
2391
|
let i = e.readUint16();
|
|
2387
|
-
return e.readUint16(), n === 1 && (e.readUint64(), e.readUint64()), new t(
|
|
2392
|
+
return e.readUint16(), n === 1 && (e.readUint64(), e.readUint64()), new t(hi(Wi, e), r, i);
|
|
2388
2393
|
}
|
|
2389
2394
|
};
|
|
2390
|
-
e(
|
|
2395
|
+
e(Gi, "type", "Opus");
|
|
2391
2396
|
//#endregion
|
|
2392
2397
|
//#region ../../libs/media/src/mp4/demuxing/prft.ts
|
|
2393
|
-
var
|
|
2398
|
+
var Ki = class t {
|
|
2394
2399
|
constructor(n, r) {
|
|
2395
2400
|
e(this, "type", t.type), e(this, "ntpTimestamp", void 0), e(this, "mediaTime", void 0), this.ntpTimestamp = n, this.mediaTime = r;
|
|
2396
2401
|
}
|
|
@@ -2399,7 +2404,7 @@ var qi = class t {
|
|
|
2399
2404
|
return new Date(r.getTime() + n);
|
|
2400
2405
|
}
|
|
2401
2406
|
static decodeData(e) {
|
|
2402
|
-
let { version: n } =
|
|
2407
|
+
let { version: n } = gi(e);
|
|
2403
2408
|
e.readUint32();
|
|
2404
2409
|
let r = e.readUint32(), i = e.readUint32();
|
|
2405
2410
|
if (n === 1) {
|
|
@@ -2410,48 +2415,48 @@ var qi = class t {
|
|
|
2410
2415
|
return new t([r, i], a);
|
|
2411
2416
|
}
|
|
2412
2417
|
};
|
|
2413
|
-
e(
|
|
2418
|
+
e(Ki, "type", "prft");
|
|
2414
2419
|
//#endregion
|
|
2415
2420
|
//#region ../../libs/media/src/mp4/demuxing/unrecognized.ts
|
|
2416
|
-
var
|
|
2421
|
+
var qi = /* @__PURE__ */ new WeakMap(), Ji = /* @__PURE__ */ new WeakMap(), Yi = class {
|
|
2417
2422
|
constructor(e, t) {
|
|
2418
|
-
C(this,
|
|
2423
|
+
C(this, qi, void 0), C(this, Ji, void 0), E(qi, this, e), E(Ji, this, t.readBytes(e.size));
|
|
2419
2424
|
}
|
|
2420
2425
|
data() {
|
|
2421
|
-
return T(
|
|
2426
|
+
return T(Ji, this);
|
|
2422
2427
|
}
|
|
2423
2428
|
get type() {
|
|
2424
|
-
return T(
|
|
2425
|
-
}
|
|
2426
|
-
},
|
|
2427
|
-
moov:
|
|
2428
|
-
trak:
|
|
2429
|
-
tkhd:
|
|
2430
|
-
mvhd:
|
|
2431
|
-
moof:
|
|
2432
|
-
traf:
|
|
2433
|
-
tfhd:
|
|
2434
|
-
tfdt:
|
|
2435
|
-
trun:
|
|
2436
|
-
mdat:
|
|
2437
|
-
mdia:
|
|
2438
|
-
hdlr:
|
|
2439
|
-
minf:
|
|
2440
|
-
stbl:
|
|
2441
|
-
mdhd:
|
|
2442
|
-
stsd:
|
|
2443
|
-
prft:
|
|
2444
|
-
avc1:
|
|
2445
|
-
avcC:
|
|
2446
|
-
esds:
|
|
2447
|
-
mp4a:
|
|
2448
|
-
Opus:
|
|
2449
|
-
emsg:
|
|
2429
|
+
return T(qi, this).type;
|
|
2430
|
+
}
|
|
2431
|
+
}, Xi = {
|
|
2432
|
+
moov: Ri,
|
|
2433
|
+
trak: Li,
|
|
2434
|
+
tkhd: Ii,
|
|
2435
|
+
mvhd: ki,
|
|
2436
|
+
moof: Oi,
|
|
2437
|
+
traf: Di,
|
|
2438
|
+
tfhd: Ti,
|
|
2439
|
+
tfdt: yi,
|
|
2440
|
+
trun: Ei,
|
|
2441
|
+
mdat: vi,
|
|
2442
|
+
mdia: Fi,
|
|
2443
|
+
hdlr: Ai,
|
|
2444
|
+
minf: Pi,
|
|
2445
|
+
stbl: Ni,
|
|
2446
|
+
mdhd: ji,
|
|
2447
|
+
stsd: Mi,
|
|
2448
|
+
prft: Ki,
|
|
2449
|
+
avc1: Bi,
|
|
2450
|
+
avcC: zi,
|
|
2451
|
+
esds: Hi,
|
|
2452
|
+
mp4a: Ui,
|
|
2453
|
+
Opus: Gi,
|
|
2454
|
+
emsg: _i
|
|
2450
2455
|
};
|
|
2451
|
-
function
|
|
2452
|
-
let t =
|
|
2456
|
+
function Zi(e) {
|
|
2457
|
+
let t = mi(e), n = Xi[t.type], r = new Ne(e.readBytes(t.size));
|
|
2453
2458
|
if (!n) {
|
|
2454
|
-
let e = new
|
|
2459
|
+
let e = new Yi(t, r);
|
|
2455
2460
|
return r.readRemaining(), e;
|
|
2456
2461
|
}
|
|
2457
2462
|
let i = n.decodeData(r);
|
|
@@ -2459,32 +2464,32 @@ function Qi(e) {
|
|
|
2459
2464
|
}
|
|
2460
2465
|
//#endregion
|
|
2461
2466
|
//#region ../../libs/media/src/mp4/demuxing/boxes.ts
|
|
2462
|
-
function
|
|
2467
|
+
function Qi(e) {
|
|
2463
2468
|
if (e.byteLength < 8) throw Error("Buffer too small");
|
|
2464
2469
|
let t = new Ne(e), n = /* @__PURE__ */ new Map();
|
|
2465
2470
|
for (; t.remaining() > 0;) {
|
|
2466
|
-
let e =
|
|
2471
|
+
let e = Zi(t);
|
|
2467
2472
|
n.set(e.type, e);
|
|
2468
2473
|
}
|
|
2469
2474
|
let r = n.get("ftyp"), i = n.get("moov");
|
|
2470
2475
|
if (!r) throw Error("ftyp atom not found");
|
|
2471
|
-
if (!i || !(i instanceof
|
|
2476
|
+
if (!i || !(i instanceof Ri)) throw Error("moov atom not found");
|
|
2472
2477
|
return {
|
|
2473
2478
|
ftyp: r,
|
|
2474
2479
|
moov: i
|
|
2475
2480
|
};
|
|
2476
2481
|
}
|
|
2477
|
-
function
|
|
2482
|
+
function $i(e) {
|
|
2478
2483
|
if (e.byteLength < 8) throw Error("Buffer too small");
|
|
2479
2484
|
let t = new Ne(e), n = /* @__PURE__ */ new Map(), r = [];
|
|
2480
2485
|
for (; t.remaining() > 0;) {
|
|
2481
|
-
let e =
|
|
2482
|
-
e instanceof
|
|
2486
|
+
let e = Zi(t);
|
|
2487
|
+
e instanceof _i && r.push(e), n.set(e.type, e);
|
|
2483
2488
|
}
|
|
2484
2489
|
let i = n.get("moof"), a = n.get("mdat"), o = n.get("prft");
|
|
2485
|
-
if (!i || !(i instanceof
|
|
2486
|
-
if (!a || !(a instanceof
|
|
2487
|
-
if (o && !(o instanceof
|
|
2490
|
+
if (!i || !(i instanceof Oi)) throw Error("moof atom not found");
|
|
2491
|
+
if (!a || !(a instanceof vi)) throw Error("mdat atom not found");
|
|
2492
|
+
if (o && !(o instanceof Ki)) throw Error("invalid prft found");
|
|
2488
2493
|
return {
|
|
2489
2494
|
moof: i,
|
|
2490
2495
|
mdat: a,
|
|
@@ -2494,99 +2499,99 @@ function ea(e) {
|
|
|
2494
2499
|
}
|
|
2495
2500
|
//#endregion
|
|
2496
2501
|
//#region ../../libs/media/src/mp4/demuxing/demuxer.ts
|
|
2497
|
-
var
|
|
2502
|
+
var ea = (e, t) => e && e.length > 0 ? { perSample: e } : { defaultValue: t }, ta = 1e4, na = (e) => {
|
|
2498
2503
|
if (!e || e.length <= 1) return;
|
|
2499
2504
|
let t = Array(e.length), n = 0;
|
|
2500
2505
|
for (let r = 0; r < e.length; r++) t[r] = n, n += e[r] || 0;
|
|
2501
2506
|
return t;
|
|
2502
|
-
},
|
|
2507
|
+
}, ra = /* @__PURE__ */ new WeakMap(), ia = /* @__PURE__ */ new WeakMap(), aa = class {
|
|
2503
2508
|
constructor(e) {
|
|
2504
|
-
C(this,
|
|
2509
|
+
C(this, ra, void 0), C(this, ia, void 0), E(ra, this, e), E(ia, this, Qi(e));
|
|
2505
2510
|
}
|
|
2506
2511
|
rawBytes() {
|
|
2507
|
-
return T(
|
|
2512
|
+
return T(ra, this);
|
|
2508
2513
|
}
|
|
2509
2514
|
init() {
|
|
2510
|
-
return T(
|
|
2515
|
+
return T(ia, this);
|
|
2511
2516
|
}
|
|
2512
|
-
},
|
|
2517
|
+
}, oa = /* @__PURE__ */ new WeakMap(), sa = /* @__PURE__ */ new WeakMap(), z = /* @__PURE__ */ new WeakMap(), ca = /* @__PURE__ */ new WeakMap(), la = /* @__PURE__ */ new WeakMap(), ua = /* @__PURE__ */ new WeakMap(), da = /* @__PURE__ */ new WeakMap(), fa = /* @__PURE__ */ new WeakMap(), pa = /* @__PURE__ */ new WeakMap(), ma = /* @__PURE__ */ new WeakMap(), ha = /* @__PURE__ */ new WeakMap(), ga = class e {
|
|
2513
2518
|
clone() {
|
|
2514
|
-
return new e(T(
|
|
2519
|
+
return new e(T(sa, this), new Uint8Array(T(oa, this).buffer.slice(T(oa, this).byteOffset, T(oa, this).byteOffset + T(oa, this).byteLength)));
|
|
2515
2520
|
}
|
|
2516
2521
|
constructor(e, t) {
|
|
2517
2522
|
var n, r;
|
|
2518
|
-
C(this,
|
|
2519
|
-
let i = T(
|
|
2520
|
-
i !== void 0 && (i.sampleSizes.length > 0 || i.sampleDurations.length > 0 || i.sampleFlags.length > 0 || i.sampleCts.length > 0) ? E(
|
|
2521
|
-
let c = o === 0 && T(
|
|
2522
|
-
E(
|
|
2523
|
+
C(this, oa, void 0), C(this, sa, void 0), C(this, z, void 0), C(this, ca, void 0), C(this, la, void 0), C(this, ua, void 0), C(this, da, void 0), C(this, fa, void 0), C(this, pa, void 0), C(this, ma, void 0), C(this, ha, void 0), E(oa, this, t), E(sa, this, e), E(z, this, $i(t)), E(ca, this, T(sa, this).init().moov.traks[0]);
|
|
2524
|
+
let i = T(z, this).moof.traf.trun, a = T(z, this).moof.traf.tfhd, o = a == null ? void 0 : a.defaultSampleSize, s = (n = i == null ? void 0 : i.samplesCount) == null ? 0 : n;
|
|
2525
|
+
i !== void 0 && (i.sampleSizes.length > 0 || i.sampleDurations.length > 0 || i.sampleFlags.length > 0 || i.sampleCts.length > 0) ? E(la, this, s) : o !== void 0 && o > 0 ? E(la, this, Math.min(s, Math.floor(T(z, this).mdat.data.byteLength / o))) : E(la, this, Math.min(s, ta)), E(ua, this, s - T(la, this)), E(da, this, ea(i == null ? void 0 : i.sampleDurations, a == null ? void 0 : a.defaultSampleDuration));
|
|
2526
|
+
let c = o === 0 && T(z, this).mdat.data.byteLength > 0;
|
|
2527
|
+
E(fa, this, ea(i == null ? void 0 : i.sampleSizes, c ? void 0 : o)), E(pa, this, na(T(fa, this).perSample)), E(ma, this, na(T(da, this).perSample)), E(ha, this, T(da, this).perSample ? T(da, this).perSample.reduce((e, t) => e + t, 0) : ((r = T(da, this).defaultValue) == null ? 0 : r) * T(la, this));
|
|
2523
2528
|
}
|
|
2524
2529
|
updateBaseMediaDecodeTime(e) {
|
|
2525
|
-
let t = new DataView(T(
|
|
2526
|
-
if (T(
|
|
2530
|
+
let t = new DataView(T(oa, this).buffer, T(oa, this).byteOffset, T(oa, this).byteLength);
|
|
2531
|
+
if (T(z, this).moof.traf.tfdt) if (T(z, this).moof.traf.tfdt.baseMediaDecodeTime = e, T(z, this).moof.traf.tfdt.extra.version === 1) {
|
|
2527
2532
|
let n = Math.floor(e / 4294967296), r = (e & 4294967295) >>> 0;
|
|
2528
|
-
t.setUint32(T(
|
|
2529
|
-
} else t.setUint32(T(
|
|
2533
|
+
t.setUint32(T(z, this).moof.traf.tfdt.byteOffset - T(oa, this).byteOffset, n), t.setUint32(T(z, this).moof.traf.tfdt.byteOffset - T(oa, this).byteOffset + 4, r);
|
|
2534
|
+
} else t.setUint32(T(z, this).moof.traf.tfdt.byteOffset - T(oa, this).byteOffset, e);
|
|
2530
2535
|
}
|
|
2531
2536
|
producerReferenceTime() {
|
|
2532
|
-
if (T(
|
|
2537
|
+
if (T(z, this).prft) return T(z, this).prft.date();
|
|
2533
2538
|
}
|
|
2534
2539
|
duration() {
|
|
2535
|
-
return T(
|
|
2540
|
+
return T(ha, this);
|
|
2536
2541
|
}
|
|
2537
2542
|
baseMediaDecodeTime() {
|
|
2538
2543
|
var e;
|
|
2539
|
-
let t = (e = T(
|
|
2544
|
+
let t = (e = T(z, this).moof.traf.tfdt) == null ? void 0 : e.baseMediaDecodeTime;
|
|
2540
2545
|
if (!t) throw Error("no baseMediaDecodeTime");
|
|
2541
2546
|
return t;
|
|
2542
2547
|
}
|
|
2543
2548
|
startsWithKeyframe() {
|
|
2544
2549
|
var e;
|
|
2545
|
-
let t = T(
|
|
2546
|
-
return n ? (n &
|
|
2550
|
+
let t = T(z, this).moof.traf.trun, n = (t == null ? void 0 : t.firstSampleFlags) || (t == null ? void 0 : t.sampleFlags[0]) || ((e = T(z, this).moof.traf.tfhd) == null ? void 0 : e.defaultSampleFlags);
|
|
2551
|
+
return n ? (n & Ei.FLAG_SAMPLE_DEPENDS_NO) !== 0 : !1;
|
|
2547
2552
|
}
|
|
2548
2553
|
compositionTimeOffset(e) {
|
|
2549
2554
|
var t;
|
|
2550
|
-
return (t = T(
|
|
2555
|
+
return (t = T(z, this).moof.traf.trun) == null ? void 0 : t.sampleCts[e];
|
|
2551
2556
|
}
|
|
2552
2557
|
sampleCompositionTimeOffsets() {
|
|
2553
2558
|
var e, t;
|
|
2554
|
-
return (e = (t = T(
|
|
2559
|
+
return (e = (t = T(z, this).moof.traf.trun) == null ? void 0 : t.sampleCts) == null ? [] : e;
|
|
2555
2560
|
}
|
|
2556
2561
|
timescale() {
|
|
2557
|
-
let e = T(
|
|
2562
|
+
let e = T(ca, this);
|
|
2558
2563
|
if (!e) throw Error("no tracks");
|
|
2559
2564
|
return e.mdia.mdhd.timescale;
|
|
2560
2565
|
}
|
|
2561
2566
|
mediaType() {
|
|
2562
2567
|
var e;
|
|
2563
|
-
let t = (e = T(
|
|
2568
|
+
let t = (e = T(ca, this)) == null ? void 0 : e.mdia.hdlr.mediaType();
|
|
2564
2569
|
if (!t) throw Error("no media type");
|
|
2565
2570
|
return t;
|
|
2566
2571
|
}
|
|
2567
2572
|
header() {
|
|
2568
|
-
return T(
|
|
2573
|
+
return T(sa, this);
|
|
2569
2574
|
}
|
|
2570
2575
|
fragment() {
|
|
2571
|
-
return T(
|
|
2576
|
+
return T(z, this);
|
|
2572
2577
|
}
|
|
2573
2578
|
samplesCount() {
|
|
2574
|
-
return T(
|
|
2579
|
+
return T(la, this);
|
|
2575
2580
|
}
|
|
2576
2581
|
unbackedSamplesCount() {
|
|
2577
|
-
return T(
|
|
2582
|
+
return T(ua, this);
|
|
2578
2583
|
}
|
|
2579
2584
|
sample(e) {
|
|
2580
2585
|
var t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, ee;
|
|
2581
|
-
let _ = T(
|
|
2586
|
+
let _ = T(z, this).moof.traf.trun, v = T(ca, this), y = T(la, this), te = (t = T(z, this).moof.traf.tfdt) == null ? void 0 : t.baseMediaDecodeTime;
|
|
2582
2587
|
if (e >= y || te === void 0 || !v) return;
|
|
2583
2588
|
let b = v.mdia.minf.stbl.stsd, ne = b.codec;
|
|
2584
2589
|
if (!ne) return;
|
|
2585
|
-
let x = _ == null ? void 0 : _.sampleCts[e], S = (n = (r = (i = T(
|
|
2590
|
+
let x = _ == null ? void 0 : _.sampleCts[e], S = (n = (r = (i = T(da, this).perSample) == null ? void 0 : i[e]) == null ? T(da, this).defaultValue : r) == null ? 0 : n, C = te + ((a = (o = T(ma, this)) == null ? void 0 : o[e]) == null ? e * ((s = T(da, this).defaultValue) == null ? 0 : s) : a), w = v.mdia.mdhd.timescale || 1e3, E = (c = (l = (u = T(fa, this).perSample) == null ? void 0 : u[e]) == null ? T(fa, this).defaultValue : l) == null ? y === 1 ? T(z, this).mdat.data.byteLength : void 0 : c;
|
|
2586
2591
|
if (E === void 0) return;
|
|
2587
|
-
let D = (d = (f = T(
|
|
2588
|
-
if (D + E > T(
|
|
2589
|
-
let re = T(
|
|
2592
|
+
let D = (d = (f = T(pa, this)) == null ? void 0 : f[e]) == null ? e * ((p = T(fa, this).defaultValue) == null ? 0 : p) : d;
|
|
2593
|
+
if (D + E > T(z, this).mdat.data.byteLength) return;
|
|
2594
|
+
let re = T(z, this).mdat.data.subarray(D, D + E), ie = (_ == null ? void 0 : _.is_sync_sample(e)) || !1;
|
|
2590
2595
|
return v.mdia.hdlr.mediaType() === "video" ? {
|
|
2591
2596
|
type: "video",
|
|
2592
2597
|
codec: ne,
|
|
@@ -2612,93 +2617,93 @@ var ta = (e, t) => e && e.length > 0 ? { perSample: e } : { defaultValue: t }, n
|
|
|
2612
2617
|
};
|
|
2613
2618
|
}
|
|
2614
2619
|
rawBytes() {
|
|
2615
|
-
return T(
|
|
2620
|
+
return T(oa, this);
|
|
2616
2621
|
}
|
|
2617
|
-
},
|
|
2622
|
+
}, _a = /* @__PURE__ */ new WeakMap(), va = class {
|
|
2618
2623
|
constructor(e) {
|
|
2619
|
-
C(this,
|
|
2624
|
+
C(this, _a, void 0), E(_a, this, new aa(e));
|
|
2620
2625
|
}
|
|
2621
2626
|
header() {
|
|
2622
|
-
return T(
|
|
2627
|
+
return T(_a, this);
|
|
2623
2628
|
}
|
|
2624
2629
|
createFragment(e) {
|
|
2625
|
-
return new
|
|
2630
|
+
return new ga(T(_a, this), e);
|
|
2626
2631
|
}
|
|
2627
2632
|
};
|
|
2628
2633
|
//#endregion
|
|
2629
2634
|
//#region ../../libs/media/src/mp4/str2ab.ts
|
|
2630
|
-
function
|
|
2635
|
+
function B(e) {
|
|
2631
2636
|
let t = new ArrayBuffer(e.length), n = new Uint8Array(t);
|
|
2632
2637
|
for (let t = 0, r = e.length; t < r; t++) n[t] = e.charCodeAt(t);
|
|
2633
2638
|
return new Uint8Array(t);
|
|
2634
2639
|
}
|
|
2635
2640
|
//#endregion
|
|
2636
2641
|
//#region ../../libs/media/src/mp4/box-types.ts
|
|
2637
|
-
var
|
|
2638
|
-
ftyp:
|
|
2639
|
-
mvhd:
|
|
2640
|
-
moov:
|
|
2641
|
-
trak:
|
|
2642
|
-
tkhd:
|
|
2643
|
-
mdia:
|
|
2644
|
-
mdhd:
|
|
2645
|
-
hdlr:
|
|
2646
|
-
minf:
|
|
2647
|
-
vmhd:
|
|
2648
|
-
smhd:
|
|
2649
|
-
dinf:
|
|
2650
|
-
dref:
|
|
2651
|
-
stbl:
|
|
2652
|
-
stsd:
|
|
2653
|
-
avc1:
|
|
2654
|
-
hvc1:
|
|
2655
|
-
hev1:
|
|
2656
|
-
av01:
|
|
2657
|
-
av1C:
|
|
2658
|
-
avcC:
|
|
2659
|
-
hvcC:
|
|
2660
|
-
esds:
|
|
2661
|
-
colr:
|
|
2662
|
-
nclx:
|
|
2663
|
-
mvex:
|
|
2664
|
-
trex:
|
|
2665
|
-
udta:
|
|
2666
|
-
meta:
|
|
2667
|
-
ilst:
|
|
2668
|
-
moof:
|
|
2669
|
-
mfhd:
|
|
2670
|
-
traf:
|
|
2671
|
-
tfhd:
|
|
2672
|
-
tfdt:
|
|
2673
|
-
trun:
|
|
2674
|
-
mdat:
|
|
2675
|
-
mp4a:
|
|
2676
|
-
Opus:
|
|
2677
|
-
prft:
|
|
2678
|
-
dOps:
|
|
2679
|
-
emsg:
|
|
2680
|
-
},
|
|
2681
|
-
vide:
|
|
2682
|
-
soun:
|
|
2683
|
-
videoHandler:
|
|
2684
|
-
soundHandler:
|
|
2685
|
-
url:
|
|
2686
|
-
pasp:
|
|
2687
|
-
btrt:
|
|
2688
|
-
stts:
|
|
2689
|
-
stsc:
|
|
2690
|
-
stsz:
|
|
2691
|
-
stco:
|
|
2692
|
-
data:
|
|
2693
|
-
mdir:
|
|
2694
|
-
appl:
|
|
2695
|
-
},
|
|
2642
|
+
var V = {
|
|
2643
|
+
ftyp: B("ftyp"),
|
|
2644
|
+
mvhd: B("mvhd"),
|
|
2645
|
+
moov: B("moov"),
|
|
2646
|
+
trak: B("trak"),
|
|
2647
|
+
tkhd: B("tkhd"),
|
|
2648
|
+
mdia: B("mdia"),
|
|
2649
|
+
mdhd: B("mdhd"),
|
|
2650
|
+
hdlr: B("hdlr"),
|
|
2651
|
+
minf: B("minf"),
|
|
2652
|
+
vmhd: B("vmhd"),
|
|
2653
|
+
smhd: B("smhd"),
|
|
2654
|
+
dinf: B("dinf"),
|
|
2655
|
+
dref: B("dref"),
|
|
2656
|
+
stbl: B("stbl"),
|
|
2657
|
+
stsd: B("stsd"),
|
|
2658
|
+
avc1: B("avc1"),
|
|
2659
|
+
hvc1: B("hvc1"),
|
|
2660
|
+
hev1: B("hev1"),
|
|
2661
|
+
av01: B("av01"),
|
|
2662
|
+
av1C: B("av1C"),
|
|
2663
|
+
avcC: B("avcC"),
|
|
2664
|
+
hvcC: B("hvcC"),
|
|
2665
|
+
esds: B("esds"),
|
|
2666
|
+
colr: B("colr"),
|
|
2667
|
+
nclx: B("nclx"),
|
|
2668
|
+
mvex: B("mvex"),
|
|
2669
|
+
trex: B("trex"),
|
|
2670
|
+
udta: B("udta"),
|
|
2671
|
+
meta: B("meta"),
|
|
2672
|
+
ilst: B("ilst"),
|
|
2673
|
+
moof: B("moof"),
|
|
2674
|
+
mfhd: B("mfhd"),
|
|
2675
|
+
traf: B("traf"),
|
|
2676
|
+
tfhd: B("tfhd"),
|
|
2677
|
+
tfdt: B("tfdt"),
|
|
2678
|
+
trun: B("trun"),
|
|
2679
|
+
mdat: B("mdat"),
|
|
2680
|
+
mp4a: B("mp4a"),
|
|
2681
|
+
Opus: B("Opus"),
|
|
2682
|
+
prft: B("prft"),
|
|
2683
|
+
dOps: B("dOps"),
|
|
2684
|
+
emsg: B("emsg")
|
|
2685
|
+
}, ya = 1e3, H = {
|
|
2686
|
+
vide: B("vide"),
|
|
2687
|
+
soun: B("soun"),
|
|
2688
|
+
videoHandler: B("VideoHandler\0"),
|
|
2689
|
+
soundHandler: B("SoundHandler\0"),
|
|
2690
|
+
url: B("url "),
|
|
2691
|
+
pasp: B("pasp"),
|
|
2692
|
+
btrt: B("btrt"),
|
|
2693
|
+
stts: B("stts"),
|
|
2694
|
+
stsc: B("stsc"),
|
|
2695
|
+
stsz: B("stsz"),
|
|
2696
|
+
stco: B("stco"),
|
|
2697
|
+
data: B("data"),
|
|
2698
|
+
mdir: B("mdir"),
|
|
2699
|
+
appl: B("appl")
|
|
2700
|
+
}, ba = B("iso6"), xa = new Uint8Array([
|
|
2696
2701
|
0,
|
|
2697
2702
|
0,
|
|
2698
2703
|
2,
|
|
2699
2704
|
0
|
|
2700
|
-
]),
|
|
2701
|
-
|
|
2705
|
+
]), Sa = [
|
|
2706
|
+
ba,
|
|
2702
2707
|
new Uint8Array([
|
|
2703
2708
|
105,
|
|
2704
2709
|
115,
|
|
@@ -2723,8 +2728,8 @@ var B = {
|
|
|
2723
2728
|
52,
|
|
2724
2729
|
49
|
|
2725
2730
|
])
|
|
2726
|
-
],
|
|
2727
|
-
|
|
2731
|
+
], Ca = [
|
|
2732
|
+
ba,
|
|
2728
2733
|
new Uint8Array([
|
|
2729
2734
|
105,
|
|
2730
2735
|
115,
|
|
@@ -2749,8 +2754,8 @@ var B = {
|
|
|
2749
2754
|
52,
|
|
2750
2755
|
49
|
|
2751
2756
|
])
|
|
2752
|
-
],
|
|
2753
|
-
|
|
2757
|
+
], wa = [
|
|
2758
|
+
ba,
|
|
2754
2759
|
new Uint8Array([
|
|
2755
2760
|
105,
|
|
2756
2761
|
115,
|
|
@@ -2775,8 +2780,8 @@ var B = {
|
|
|
2775
2780
|
52,
|
|
2776
2781
|
49
|
|
2777
2782
|
])
|
|
2778
|
-
],
|
|
2779
|
-
|
|
2783
|
+
], Ta = [
|
|
2784
|
+
ba,
|
|
2780
2785
|
new Uint8Array([
|
|
2781
2786
|
105,
|
|
2782
2787
|
115,
|
|
@@ -2795,22 +2800,22 @@ var B = {
|
|
|
2795
2800
|
52,
|
|
2796
2801
|
49
|
|
2797
2802
|
])
|
|
2798
|
-
],
|
|
2803
|
+
], Ea = class {
|
|
2799
2804
|
constructor(t) {
|
|
2800
2805
|
e(this, "writer", void 0), e(this, "moofOffset", 0), this.writer = new Pe(t);
|
|
2801
2806
|
}
|
|
2802
|
-
},
|
|
2807
|
+
}, U = (e, t, n) => {
|
|
2803
2808
|
e.writer.writeUint32(n + 8), e.writer.writeBytes(t);
|
|
2804
|
-
},
|
|
2805
|
-
|
|
2806
|
-
},
|
|
2807
|
-
|
|
2808
|
-
},
|
|
2809
|
-
|
|
2810
|
-
let i = n / 1e3, a = Math.floor(i), o = (i - a) * 1e3 * 1e3 *
|
|
2811
|
-
e.writer.writeUint32(t), e.writer.writeUint32(a +
|
|
2812
|
-
},
|
|
2813
|
-
|
|
2809
|
+
}, W = (e, t, n, r, i) => {
|
|
2810
|
+
U(e, t, n + 4), e.writer.writeUint8(r), e.writer.writeUint24(i);
|
|
2811
|
+
}, Da = (e, t) => {
|
|
2812
|
+
U(e, V.ftyp, ba.byteLength + xa.byteLength + t.reduce((e, t) => e + t.byteLength, 0)), e.writer.writeBytes(ba), e.writer.writeBytes(xa), t.forEach((t) => e.writer.writeBytes(t));
|
|
2813
|
+
}, Oa = 2 ** 32, ka = 2208988800, Aa = (e, t, n, r) => {
|
|
2814
|
+
W(e, V.prft, 20, 1, 0);
|
|
2815
|
+
let i = n / 1e3, a = Math.floor(i), o = (i - a) * 1e3 * 1e3 * Oa / 1e6;
|
|
2816
|
+
e.writer.writeUint32(t), e.writer.writeUint32(a + ka), e.writer.writeUint32(o), e.writer.writeUint64(r);
|
|
2817
|
+
}, ja = (e, t, n) => {
|
|
2818
|
+
W(e, V.mvhd, 96, 0, 0), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeUint32(n), e.writer.writeUint32(t), e.writer.writeUint32(65536), e.writer.writeUint16(256), e.writer.writeBytes(new Uint8Array([
|
|
2814
2819
|
0,
|
|
2815
2820
|
0,
|
|
2816
2821
|
0,
|
|
@@ -2882,9 +2887,9 @@ var B = {
|
|
|
2882
2887
|
0,
|
|
2883
2888
|
0
|
|
2884
2889
|
])), e.writer.writeUint32(2);
|
|
2885
|
-
},
|
|
2890
|
+
}, Ma = (e) => "sequenceParameterSets" in e, Na = (e) => "sequenceHeader" in e, Pa = (e) => "hvcC" in e, Fa = (e) => e.type === "video", Ia = (e) => e.type === "audio", La = (e, t, n) => {
|
|
2886
2891
|
let r = e.writer.position();
|
|
2887
|
-
|
|
2892
|
+
W(e, V.tkhd, 0, 0, 3), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeUint32(t.trackId), e.writer.writeUint32(0), e.writer.writeUint32(t.duration * n / t.timescale), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeUint16(0), e.writer.writeUint16(Ia(t) ? 1 : 0), e.writer.writeUint16(Ia(t) ? 256 : 0), e.writer.writeUint16(0), e.writer.writeBytes(new Uint8Array([
|
|
2888
2893
|
0,
|
|
2889
2894
|
1,
|
|
2890
2895
|
0,
|
|
@@ -2921,148 +2926,148 @@ var B = {
|
|
|
2921
2926
|
0,
|
|
2922
2927
|
0,
|
|
2923
2928
|
0
|
|
2924
|
-
])),
|
|
2925
|
-
},
|
|
2926
|
-
|
|
2929
|
+
])), Fa(t) ? (e.writer.writeUint32(t.width * 65536), e.writer.writeUint32(t.height * 65536)) : Ia(t) && (e.writer.writeUint32(0), e.writer.writeUint32(0)), e.writer.writeUint32At(r, e.writer.position() - r);
|
|
2930
|
+
}, Ra = (e, t) => {
|
|
2931
|
+
W(e, V.mdhd, 20, 0, 0), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeUint32(t.timescale), e.writer.writeUint32(t.duration);
|
|
2927
2932
|
let n = t.lang || "und", r = (n.charCodeAt(0) & 31) << 10 | (n.charCodeAt(1) & 31) << 5 | n.charCodeAt(2) & 31;
|
|
2928
2933
|
e.writer.writeUint16(r), e.writer.writeUint16(0);
|
|
2929
|
-
},
|
|
2934
|
+
}, za = (e, t) => {
|
|
2930
2935
|
let n = e.writer.position();
|
|
2931
|
-
|
|
2932
|
-
},
|
|
2936
|
+
W(e, V.hdlr, 0, 0, 0), e.writer.writeUint32(0), e.writer.writeBytes(Fa(t) ? H.vide : H.soun), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeBytes(Fa(t) ? H.videoHandler : H.soundHandler), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
2937
|
+
}, Ba = (e) => {
|
|
2933
2938
|
let t = e.writer.position();
|
|
2934
|
-
|
|
2935
|
-
},
|
|
2939
|
+
U(e, V.dinf, 0), W(e, V.dref, 16, 0, 0), e.writer.writeUint32(1), W(e, H.url, 0, 0, 1), e.writer.writeUint32At(t, e.writer.position() - t);
|
|
2940
|
+
}, Va = (e, t) => {
|
|
2936
2941
|
let n = e.writer.position();
|
|
2937
|
-
|
|
2942
|
+
U(e, V.avcC, 0), e.writer.writeUint8(1), e.writer.writeUint8(t.sequenceParameterSets[0][1]), e.writer.writeUint8(t.sequenceParameterSets[0][2]), e.writer.writeUint8(t.sequenceParameterSets[0][3]), e.writer.writeUint8(255), e.writer.writeUint8(224 | t.sequenceParameterSets.length), t.sequenceParameterSets.forEach((t) => {
|
|
2938
2943
|
e.writer.writeUint16(t.byteLength), e.writer.writeBytes(t);
|
|
2939
2944
|
}), e.writer.writeUint8(t.pictureParameterSets.length), t.pictureParameterSets.forEach((t) => {
|
|
2940
2945
|
e.writer.writeUint16(t.byteLength), e.writer.writeBytes(t);
|
|
2941
2946
|
}), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
2942
|
-
},
|
|
2947
|
+
}, Ha = (e, t) => {
|
|
2943
2948
|
var n, r;
|
|
2944
2949
|
let i = e.writer.position();
|
|
2945
|
-
|
|
2950
|
+
U(e, V.av1C, 0);
|
|
2946
2951
|
let { seqProfile: a, operatingPoints: o, colorConfig: s } = t.parsedSequenceHeader, c = o[0];
|
|
2947
2952
|
e.writer.writeUint8(129), e.writer.writeUint8(a << 5 | ((n = c == null ? void 0 : c.seqLevelIdx) == null ? 0 : n)), e.writer.writeUint8(((r = c == null ? void 0 : c.tier) == null ? 0 : r) | (s.highBitDepth ? 1 : 0) | (s.bitDepth === 12 ? 1 : 0) << 5 | (s.monoChrome ? 1 : 0) << 4 | s.subsamplingX << 3 | s.subsamplingY << 2 | s.chromaSamplePosition & 65535), e.writer.writeUint8(0), e.writer.writeBytes(t.sequenceHeader), e.writer.writeUint32At(i, e.writer.position() - i);
|
|
2948
|
-
},
|
|
2953
|
+
}, Ua = (e, t) => {
|
|
2949
2954
|
let n = e.writer.position();
|
|
2950
|
-
|
|
2951
|
-
},
|
|
2955
|
+
U(e, V.hvcC, 0), e.writer.writeBytes(t.hvcC), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
2956
|
+
}, Wa = (e, t) => {
|
|
2952
2957
|
let n = e.writer.position();
|
|
2953
|
-
|
|
2954
|
-
},
|
|
2958
|
+
U(e, Na(t) ? V.av01 : Pa(t) ? V.hvc1 : V.avc1, 0), e.writer.writeUint32(0), e.writer.writeUint16(0), e.writer.writeUint16(1), e.writer.writeUint16(0), e.writer.writeUint16(0), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeUint16(t.width), e.writer.writeUint16(t.height), e.writer.writeUint32(4718592), e.writer.writeUint32(4718592), e.writer.writeUint32(0), e.writer.writeUint16(1), e.writer.writeUint8(0), e.writer.writeBytes(new Uint8Array(31)), e.writer.writeUint16(24), e.writer.writeUint16(-1), Ma(t) ? Va(e, t) : Na(t) ? (Ha(e, t), t.parsedSequenceHeader.colorConfig && (U(e, V.colr, 11), e.writer.writeBytes(V.nclx), e.writer.writeUint16(t.parsedSequenceHeader.colorConfig.colorPrimaries), e.writer.writeUint16(t.parsedSequenceHeader.colorConfig.transferCharacteristics), e.writer.writeUint16(t.parsedSequenceHeader.colorConfig.matrixCoefficients), e.writer.writeUint8(t.parsedSequenceHeader.colorConfig.colorRange ? 1 : 0))) : Pa(t) && Ua(e, t), t.pixelAspectRatio && (U(e, H.pasp, 8), e.writer.writeUint32(t.pixelAspectRatio.numerator), e.writer.writeUint32(t.pixelAspectRatio.denumerator)), t.bitrate && (U(e, H.btrt, 12), e.writer.writeUint32(0), e.writer.writeUint32(t.bitrate), e.writer.writeUint32(t.bitrate)), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
2959
|
+
}, Ga = (e, t, n) => {
|
|
2955
2960
|
let r = 3;
|
|
2956
2961
|
for (e.writer.writeUint8(t); r > 0; r--) e.writer.writeUint8(n >> 7 * r | 128);
|
|
2957
2962
|
e.writer.writeUint8(n & 127);
|
|
2958
|
-
},
|
|
2963
|
+
}, Ka = (e, t) => {
|
|
2959
2964
|
let n = t.decoderConfig.byteLength > 0 ? t.decoderConfig.byteLength + 5 : 0, r = e.writer.position();
|
|
2960
|
-
|
|
2965
|
+
W(e, V.esds, 0, 0, 0), Ga(e, 3, 21 + n + 5 + 1), e.writer.writeUint16(t.trackId), e.writer.writeUint8(0), Ga(e, 4, 13 + n);
|
|
2961
2966
|
let i = t.codec === "mp3" && t.sampleRate > 24e3 ? 107 : 64;
|
|
2962
|
-
e.writer.writeUint8(i), e.writer.writeUint8(21), e.writer.writeUint24(0), e.writer.writeUint32(t.bitrate || 0), e.writer.writeUint32(t.bitrate || 0), t.decoderConfig.byteLength > 0 && (
|
|
2963
|
-
},
|
|
2967
|
+
e.writer.writeUint8(i), e.writer.writeUint8(21), e.writer.writeUint24(0), e.writer.writeUint32(t.bitrate || 0), e.writer.writeUint32(t.bitrate || 0), t.decoderConfig.byteLength > 0 && (Ga(e, 5, t.decoderConfig.byteLength), e.writer.writeBytes(t.decoderConfig)), Ga(e, 6, 1), e.writer.writeUint8(2), e.writer.writeUint32At(r, e.writer.position() - r);
|
|
2968
|
+
}, qa = (e) => {
|
|
2964
2969
|
switch (e) {
|
|
2965
2970
|
case "aac":
|
|
2966
|
-
case "mp3": return
|
|
2967
|
-
case "opus": return
|
|
2971
|
+
case "mp3": return V.mp4a;
|
|
2972
|
+
case "opus": return V.Opus;
|
|
2968
2973
|
}
|
|
2969
|
-
},
|
|
2974
|
+
}, Ja = (e, t) => {
|
|
2970
2975
|
let n = e.writer.position();
|
|
2971
|
-
|
|
2976
|
+
U(e, V.dOps, 0), e.writer.writeUint8(0);
|
|
2972
2977
|
let r = t.decoderConfig, i = new DataView(r.buffer, r.byteOffset, r.byteLength);
|
|
2973
2978
|
e.writer.writeUint8(i.getUint8(9)), e.writer.writeUint16(i.getUint16(10, !0)), e.writer.writeUint32(i.getUint32(12, !0)), e.writer.writeUint16(i.getUint16(16, !0)), e.writer.writeBytes(t.decoderConfig.slice(18)), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
2974
|
-
},
|
|
2979
|
+
}, Ya = (e, t) => {
|
|
2975
2980
|
let n = e.writer.position();
|
|
2976
|
-
switch (
|
|
2981
|
+
switch (U(e, qa(t.codec), 0), e.writer.writeUint32(0), e.writer.writeUint16(0), e.writer.writeUint16(1), e.writer.writeUint16(0), e.writer.writeUint16(0), e.writer.writeUint32(0), e.writer.writeUint16(t.channelCount), e.writer.writeUint16(16), e.writer.writeUint32(0), e.writer.writeUint16(t.sampleRate), e.writer.writeUint16(0), t.codec) {
|
|
2977
2982
|
case "aac":
|
|
2978
2983
|
case "mp3":
|
|
2979
|
-
|
|
2984
|
+
Ka(e, t);
|
|
2980
2985
|
break;
|
|
2981
2986
|
case "opus":
|
|
2982
|
-
|
|
2987
|
+
Ja(e, t);
|
|
2983
2988
|
break;
|
|
2984
2989
|
}
|
|
2985
|
-
t.bitrate && (
|
|
2986
|
-
},
|
|
2990
|
+
t.bitrate && (U(e, H.btrt, 12), e.writer.writeUint32(0), e.writer.writeUint32(t.bitrate), e.writer.writeUint32(t.bitrate)), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
2991
|
+
}, Xa = (e, t) => {
|
|
2987
2992
|
let n = e.writer.position();
|
|
2988
|
-
|
|
2993
|
+
U(e, V.stbl, 0);
|
|
2989
2994
|
let r = e.writer.position();
|
|
2990
|
-
|
|
2991
|
-
},
|
|
2995
|
+
W(e, V.stsd, 0, 0, 0), e.writer.writeUint32(1), Fa(t) ? Wa(e, t) : Ia(t) && Ya(e, t), e.writer.writeUint32At(r, e.writer.position() - r), W(e, H.stts, 4, 0, 0), e.writer.writeUint32(0), W(e, H.stsc, 4, 0, 0), e.writer.writeUint32(0), W(e, H.stsz, 8, 0, 0), e.writer.writeUint32(0), e.writer.writeUint32(0), W(e, H.stco, 4, 0, 0), e.writer.writeUint32(0), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
2996
|
+
}, Za = (e, t) => {
|
|
2992
2997
|
let n = e.writer.position();
|
|
2993
|
-
|
|
2994
|
-
},
|
|
2998
|
+
U(e, V.minf, 0), Fa(t) ? (W(e, V.vmhd, 8, 0, 1), e.writer.writeUint32(0), e.writer.writeUint32(0)) : Ia(t) && (W(e, V.smhd, 4, 0, 0), e.writer.writeUint16(0), e.writer.writeUint16(0)), Ba(e), Xa(e, t), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
2999
|
+
}, Qa = (e, t) => {
|
|
2995
3000
|
let n = e.writer.position();
|
|
2996
|
-
|
|
2997
|
-
},
|
|
3001
|
+
U(e, V.mdia, 0), Ra(e, t), za(e, t), Za(e, t), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
3002
|
+
}, $a = (e, t, n) => {
|
|
2998
3003
|
let r = e.writer.position();
|
|
2999
|
-
|
|
3004
|
+
U(e, V.trak, 0), La(e, t, n), Qa(e, t), e.writer.writeUint32At(r, e.writer.position() - r);
|
|
3005
|
+
}, eo = (e, t) => {
|
|
3006
|
+
W(e, V.trex, 20, 0, 0), e.writer.writeUint32(t.trackId), e.writer.writeUint32(1), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeUint32(0);
|
|
3000
3007
|
}, to = (e, t) => {
|
|
3001
|
-
U(e, B.trex, 20, 0, 0), e.writer.writeUint32(t.trackId), e.writer.writeUint32(1), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeUint32(0);
|
|
3002
|
-
}, no = (e, t) => {
|
|
3003
3008
|
let n = e.writer.position();
|
|
3004
|
-
|
|
3005
|
-
},
|
|
3009
|
+
U(e, V.mvex, 0), t.forEach((t) => eo(e, t)), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
3010
|
+
}, no = (e, t, n) => {
|
|
3006
3011
|
let r = e.writer.position();
|
|
3007
|
-
|
|
3008
|
-
},
|
|
3012
|
+
U(e, B(t), 0), U(e, H.data, 0), e.writer.writeUint32(1), e.writer.writeUint32(0), e.writer.writeBytes(B(n)), e.writer.writeUint32At(r, e.writer.position() - r), e.writer.writeUint32At(r + 8, e.writer.position() - r - 8);
|
|
3013
|
+
}, ro = (e, t) => {
|
|
3009
3014
|
let n = e.writer.position();
|
|
3010
|
-
|
|
3015
|
+
W(e, V.meta, 0, 0, 0);
|
|
3011
3016
|
let r = e.writer.position();
|
|
3012
|
-
|
|
3017
|
+
U(e, V.hdlr, 25), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeBytes(H.mdir), e.writer.writeBytes(H.appl), e.writer.writeUint32(0), e.writer.writeUint32(0), e.writer.writeUint8(0), e.writer.writeUint32At(r, e.writer.position() - r);
|
|
3013
3018
|
let i = e.writer.position();
|
|
3014
|
-
|
|
3015
|
-
},
|
|
3019
|
+
U(e, V.ilst, 0), t == null || t.forEach((t, n) => no(e, n, t)), e.writer.writeUint32At(i, e.writer.position() - i), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
3020
|
+
}, io = (e, t) => {
|
|
3016
3021
|
let n = e.writer.position();
|
|
3017
|
-
|
|
3018
|
-
},
|
|
3022
|
+
U(e, V.udta, 0), ro(e, t), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
3023
|
+
}, ao = (e, t, n, r) => {
|
|
3019
3024
|
let i = e.writer.position();
|
|
3020
|
-
|
|
3021
|
-
},
|
|
3025
|
+
U(e, V.moov, 0), ja(e, 0, n), t.forEach((t) => $a(e, t, n)), to(e, t), r && io(e, r), e.writer.writeUint32At(i, e.writer.position() - i);
|
|
3026
|
+
}, oo = (e, t) => {
|
|
3022
3027
|
let n = e.writer.position();
|
|
3023
|
-
|
|
3024
|
-
},
|
|
3028
|
+
W(e, V.tfhd, 16, 0, 56), e.writer.writeUint32(t.trackId), e.writer.writeUint32(t.defaultDuration || 0), e.writer.writeUint32(t.defaultSize || 0), e.writer.writeUint32(t.defaultFlags || 0), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
3029
|
+
}, so = (e, t) => {
|
|
3025
3030
|
let n = e.writer.position();
|
|
3026
|
-
|
|
3031
|
+
W(e, V.tfdt, 8, 1, 0);
|
|
3027
3032
|
let r = Math.floor(t.timestamp / 4294967296), i = (t.timestamp & 4294967295) >>> 0;
|
|
3028
3033
|
e.writer.writeUint32(r), e.writer.writeUint32(i), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
3029
|
-
},
|
|
3034
|
+
}, co = (e, t) => {
|
|
3030
3035
|
if (!t.samples[0]) throw Error("At least one sample must be provided");
|
|
3031
|
-
let n = t.samples.some((e) => !!e.compositionTimeOffset), r =
|
|
3036
|
+
let n = t.samples.some((e) => !!e.compositionTimeOffset), r = lo(t.samples[0]) !== t.defaultFlags, i = t.samples.length > 1, a = 1;
|
|
3032
3037
|
r && (a |= 4), n && (a |= 2048), i && (a |= 512, a |= 256, a |= 1024);
|
|
3033
3038
|
let o = e.writer.position();
|
|
3034
|
-
|
|
3039
|
+
W(e, V.trun, 16, 1, a), e.writer.writeUint32(t.samples.length);
|
|
3035
3040
|
let s = e.writer.position();
|
|
3036
|
-
e.writer.writeUint32(0), r && e.writer.writeUint32(
|
|
3037
|
-
for (let r of t.samples) i && (e.writer.writeUint32(r.duration), e.writer.writeUint32(r.data.byteLength), e.writer.writeUint32(
|
|
3041
|
+
e.writer.writeUint32(0), r && e.writer.writeUint32(lo(t.samples[0]));
|
|
3042
|
+
for (let r of t.samples) i && (e.writer.writeUint32(r.duration), e.writer.writeUint32(r.data.byteLength), e.writer.writeUint32(lo(r))), n && e.writer.writeUint32(r.compositionTimeOffset || 0);
|
|
3038
3043
|
e.writer.writeUint32At(s, e.writer.position() - e.moofOffset + 8), e.writer.writeUint32At(o, e.writer.position() - o);
|
|
3039
|
-
},
|
|
3044
|
+
}, lo = (e) => e.isSync ? 33554432 : 16842752, uo = (e, t) => {
|
|
3040
3045
|
let n = e.writer.position();
|
|
3041
|
-
|
|
3046
|
+
U(e, V.traf, 0), oo(e, t), so(e, t), co(e, t), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
3047
|
+
}, fo = (e, t) => {
|
|
3048
|
+
W(e, V.mfhd, 4, 0, 0), e.writer.writeUint32(t);
|
|
3042
3049
|
}, po = (e, t) => {
|
|
3043
|
-
U(e, B.mfhd, 4, 0, 0), e.writer.writeUint32(t);
|
|
3044
|
-
}, mo = (e, t) => {
|
|
3045
3050
|
let n = e.writer.position();
|
|
3046
|
-
|
|
3047
|
-
},
|
|
3048
|
-
|
|
3051
|
+
U(e, V.moof, 0), fo(e, t.sequenceNumber), uo(e, t), e.writer.writeUint32At(n, e.writer.position() - n);
|
|
3052
|
+
}, mo = (e, t, n) => {
|
|
3053
|
+
U(e, V.mdat, n);
|
|
3049
3054
|
for (let n of t.samples) {
|
|
3050
3055
|
let t = n.data instanceof ArrayBuffer ? new Uint8Array(n.data) : n.data;
|
|
3051
3056
|
e.writer.writeBytes(t);
|
|
3052
3057
|
}
|
|
3053
|
-
},
|
|
3054
|
-
let n = new
|
|
3055
|
-
return e.filter((e) =>
|
|
3056
|
-
},
|
|
3058
|
+
}, ho = (e, t) => {
|
|
3059
|
+
let n = new Ea(), r = e.filter((e) => Fa(e) && Ma(e)).length > 0, i = e.filter((e) => Fa(e) && Pa(e)).length > 0;
|
|
3060
|
+
return e.filter((e) => Fa(e) && Na(e)).length > 0 ? Da(n, wa) : i ? Da(n, Ca) : r ? Da(n, Sa) : Da(n, Ta), ao(n, e, ya, t), n.writer.buffer();
|
|
3061
|
+
}, go = (e) => {
|
|
3057
3062
|
var t;
|
|
3058
3063
|
let n = 0;
|
|
3059
3064
|
for (let t of e.samples) n += t.data.byteLength;
|
|
3060
|
-
let r = new
|
|
3061
|
-
return ((t = e.samples[0]) == null ? void 0 : t.producerReferenceTime) !== void 0 &&
|
|
3062
|
-
},
|
|
3065
|
+
let r = new Ea(n + 256);
|
|
3066
|
+
return ((t = e.samples[0]) == null ? void 0 : t.producerReferenceTime) !== void 0 && Aa(r, e.trackId, e.samples[0].producerReferenceTime, e.timestamp), r.moofOffset = r.writer.position(), po(r, e), mo(r, e, n), r.writer.bufferExact();
|
|
3067
|
+
}, _o = (e, t) => {
|
|
3063
3068
|
let n = e[0];
|
|
3064
3069
|
if (!n) throw Error("At least one sample must be provided");
|
|
3065
|
-
return
|
|
3070
|
+
return go({
|
|
3066
3071
|
trackId: 1,
|
|
3067
3072
|
timestamp: n.timestamp,
|
|
3068
3073
|
sequenceNumber: t,
|
|
@@ -3071,7 +3076,7 @@ var B = {
|
|
|
3071
3076
|
defaultDuration: n.duration,
|
|
3072
3077
|
samples: e
|
|
3073
3078
|
});
|
|
3074
|
-
},
|
|
3079
|
+
}, vo = (e, t, n, r) => ho([{
|
|
3075
3080
|
type: "audio",
|
|
3076
3081
|
codec: "aac",
|
|
3077
3082
|
decoderConfig: e,
|
|
@@ -3080,14 +3085,14 @@ var B = {
|
|
|
3080
3085
|
timescale: r,
|
|
3081
3086
|
duration: 0,
|
|
3082
3087
|
trackId: 1
|
|
3083
|
-
}]),
|
|
3084
|
-
let { sequenceParameterSets: t, pictureParameterSets: n } =
|
|
3088
|
+
}]), yo = (e) => {
|
|
3089
|
+
let { sequenceParameterSets: t, pictureParameterSets: n } = ii(e), r = t[0], i = n[0];
|
|
3085
3090
|
if (!r || !i) throw Error("No sps or pps provided");
|
|
3086
|
-
return
|
|
3087
|
-
},
|
|
3091
|
+
return ai(r);
|
|
3092
|
+
}, bo = (e, t) => {
|
|
3088
3093
|
let n = e[0];
|
|
3089
3094
|
if (!n) throw Error("At least one sample must be provided");
|
|
3090
|
-
return
|
|
3095
|
+
return go({
|
|
3091
3096
|
trackId: 1,
|
|
3092
3097
|
timestamp: n.timestamp,
|
|
3093
3098
|
sequenceNumber: t,
|
|
@@ -3096,9 +3101,9 @@ var B = {
|
|
|
3096
3101
|
defaultDuration: n.duration,
|
|
3097
3102
|
samples: e
|
|
3098
3103
|
});
|
|
3099
|
-
},
|
|
3100
|
-
let { sequenceParameterSets: n, pictureParameterSets: r } =
|
|
3101
|
-
return
|
|
3104
|
+
}, xo = (e, t) => {
|
|
3105
|
+
let { sequenceParameterSets: n, pictureParameterSets: r } = ii(e), i = yo(e);
|
|
3106
|
+
return ho([{
|
|
3102
3107
|
type: "video",
|
|
3103
3108
|
sequenceParameterSets: n.map((e) => new Uint8Array(e)),
|
|
3104
3109
|
pictureParameterSets: r.map((e) => new Uint8Array(e)),
|
|
@@ -3108,10 +3113,10 @@ var B = {
|
|
|
3108
3113
|
duration: 0,
|
|
3109
3114
|
trackId: 1
|
|
3110
3115
|
}]);
|
|
3111
|
-
},
|
|
3116
|
+
}, So = (e, t) => {
|
|
3112
3117
|
let n = e[0];
|
|
3113
3118
|
if (!n) throw Error("At least one sample must be provided");
|
|
3114
|
-
return
|
|
3119
|
+
return go({
|
|
3115
3120
|
trackId: 1,
|
|
3116
3121
|
timestamp: n.timestamp,
|
|
3117
3122
|
sequenceNumber: t,
|
|
@@ -3120,7 +3125,7 @@ var B = {
|
|
|
3120
3125
|
defaultDuration: n.duration,
|
|
3121
3126
|
samples: e
|
|
3122
3127
|
});
|
|
3123
|
-
},
|
|
3128
|
+
}, Co = (e, t, n, r) => ho([{
|
|
3124
3129
|
type: "video",
|
|
3125
3130
|
hvcC: new Uint8Array(e),
|
|
3126
3131
|
width: n,
|
|
@@ -3128,7 +3133,7 @@ var B = {
|
|
|
3128
3133
|
timescale: t,
|
|
3129
3134
|
duration: 0,
|
|
3130
3135
|
trackId: 1
|
|
3131
|
-
}]),
|
|
3136
|
+
}]), wo = (e, t, n) => ho([{
|
|
3132
3137
|
type: "audio",
|
|
3133
3138
|
trackId: 1,
|
|
3134
3139
|
channelCount: t,
|
|
@@ -3137,10 +3142,10 @@ var B = {
|
|
|
3137
3142
|
decoderConfig: e,
|
|
3138
3143
|
duration: 0,
|
|
3139
3144
|
sampleRate: 48e3
|
|
3140
|
-
}]),
|
|
3145
|
+
}]), To = (e, t) => {
|
|
3141
3146
|
let n = e[0];
|
|
3142
3147
|
if (!n) throw Error("At least one sample must be provided");
|
|
3143
|
-
return
|
|
3148
|
+
return go({
|
|
3144
3149
|
trackId: 1,
|
|
3145
3150
|
timestamp: n.timestamp,
|
|
3146
3151
|
sequenceNumber: t,
|
|
@@ -3149,7 +3154,7 @@ var B = {
|
|
|
3149
3154
|
defaultDuration: n.duration,
|
|
3150
3155
|
samples: e
|
|
3151
3156
|
});
|
|
3152
|
-
},
|
|
3157
|
+
}, Eo = (e) => {
|
|
3153
3158
|
if (e.length <= 78) return;
|
|
3154
3159
|
let t = 78;
|
|
3155
3160
|
for (; t + 8 <= e.length;) {
|
|
@@ -3160,45 +3165,45 @@ var B = {
|
|
|
3160
3165
|
}
|
|
3161
3166
|
};
|
|
3162
3167
|
Symbol.iterator;
|
|
3163
|
-
var
|
|
3168
|
+
var Do = (e) => {
|
|
3164
3169
|
let t = new ke(e);
|
|
3165
|
-
return t.peekBit() === 1 && t.readBits(32),
|
|
3166
|
-
},
|
|
3170
|
+
return t.peekBit() === 1 && t.readBits(32), Ao(t), Vo(t);
|
|
3171
|
+
}, Oo = (e) => {
|
|
3167
3172
|
let t = 0, n = 0;
|
|
3168
3173
|
for (let r = 0; r < 8; r++) {
|
|
3169
3174
|
let i = e.readBits(8);
|
|
3170
3175
|
if (t |= (i & 127) << r * 7, n += 1, (i & 128) != 128) break;
|
|
3171
3176
|
}
|
|
3172
3177
|
return [n, t];
|
|
3173
|
-
},
|
|
3178
|
+
}, ko = (e) => {
|
|
3174
3179
|
let t = 0;
|
|
3175
3180
|
for (; t < 100 && e.readBit() === 0;) t++;
|
|
3176
3181
|
return t >= 32 ? 0 : e.readBits(t) + (1 << t) - 1;
|
|
3177
|
-
},
|
|
3182
|
+
}, Ao = (e) => {
|
|
3178
3183
|
let t = e.remainingBits() / 8, n = e.readBits(8);
|
|
3179
3184
|
if (n >> 7 & 1) return;
|
|
3180
3185
|
let r = n >> 3 & 15, i = n >> 2 & 1, a = n >> 1 & 1;
|
|
3181
3186
|
i === 1 && e.readBits(8);
|
|
3182
|
-
let [o, s] = a ?
|
|
3187
|
+
let [o, s] = a ? Oo(e) : [0, t];
|
|
3183
3188
|
return {
|
|
3184
3189
|
headerLength: 1 + i + o,
|
|
3185
3190
|
type: r,
|
|
3186
3191
|
obuSize: s
|
|
3187
3192
|
};
|
|
3188
|
-
},
|
|
3193
|
+
}, jo = (e) => {
|
|
3189
3194
|
let t = e.readBits(32), n = e.readBits(32), r = e.readBit() !== 0, i = 0;
|
|
3190
|
-
return r && (i =
|
|
3195
|
+
return r && (i = ko(e) + 1), {
|
|
3191
3196
|
timescale: n,
|
|
3192
3197
|
equalPictureInterval: r,
|
|
3193
3198
|
numUnitsInDisplayTick: t,
|
|
3194
3199
|
numTicksPerPicture: i
|
|
3195
3200
|
};
|
|
3196
|
-
},
|
|
3201
|
+
}, Mo = 2, No = 2, Po = 1, Fo = 2, Io = 2, Lo = 13, Ro = 0, zo = 2, Bo = 0, Vo = (e) => {
|
|
3197
3202
|
var t;
|
|
3198
3203
|
let n = e.readBits(3), r = e.readBit() !== 0, i = e.readBit() !== 0, a, o = !1, s = !1, c = !1, l = 0, u = 0, d = [];
|
|
3199
3204
|
if (i) e.readBits(5);
|
|
3200
3205
|
else {
|
|
3201
|
-
if (s = e.readBit() !== 0, s && (a =
|
|
3206
|
+
if (s = e.readBit() !== 0, s && (a = jo(e), o = e.readBit() !== 0, o)) throw Error("Not implemented");
|
|
3202
3207
|
c = e.readBit() !== 0;
|
|
3203
3208
|
let t = e.readBits(5) + 1;
|
|
3204
3209
|
for (let n = 0; n < t; n++) {
|
|
@@ -3213,8 +3218,8 @@ var Oo = (e) => {
|
|
|
3213
3218
|
}
|
|
3214
3219
|
let f = e.readBits(4) + 1, p = e.readBits(4) + 1, m = e.readBits(f) + 1, h = e.readBits(p) + 1, g = !1;
|
|
3215
3220
|
g = i ? !1 : e.readBit() !== 0, g && (l = e.readBits(4) + 2, u = e.readBits(3) + 1);
|
|
3216
|
-
let ee = e.readBit() !== 0, _ = e.readBit() !== 0, v = e.readBit() !== 0, y = !1, te = !1, b = !1, ne = !1, x = !1, S = !1, C = !1, w =
|
|
3217
|
-
i || (y = e.readBit() !== 0, te = e.readBit() !== 0, b = e.readBit() !== 0, ne = e.readBit() !== 0, x = e.readBit() !== 0, x && (S = e.readBit() !== 0, C = e.readBit() !== 0), w = e.readBit() === 0 ? e.readBit() :
|
|
3221
|
+
let ee = e.readBit() !== 0, _ = e.readBit() !== 0, v = e.readBit() !== 0, y = !1, te = !1, b = !1, ne = !1, x = !1, S = !1, C = !1, w = Mo, T = No, E = 0;
|
|
3222
|
+
i || (y = e.readBit() !== 0, te = e.readBit() !== 0, b = e.readBit() !== 0, ne = e.readBit() !== 0, x = e.readBit() !== 0, x && (S = e.readBit() !== 0, C = e.readBit() !== 0), w = e.readBit() === 0 ? e.readBit() : Mo, T = w > 0 ? e.readBit() > 0 ? No : e.readBit() : No, E = x ? e.readBits(3) : 0);
|
|
3218
3223
|
let D = e.readBit() !== 0, re = e.readBit() !== 0, ie = e.readBit() !== 0;
|
|
3219
3224
|
return {
|
|
3220
3225
|
seqProfile: n,
|
|
@@ -3253,14 +3258,14 @@ var Oo = (e) => {
|
|
|
3253
3258
|
enableSuperres: D,
|
|
3254
3259
|
enableCdef: re,
|
|
3255
3260
|
enableRestoration: ie,
|
|
3256
|
-
colorConfig:
|
|
3261
|
+
colorConfig: Ho(e, n),
|
|
3257
3262
|
filmGrainParamsPresent: e.readBit() !== 0
|
|
3258
3263
|
};
|
|
3259
|
-
},
|
|
3264
|
+
}, Ho = (e, t) => {
|
|
3260
3265
|
let n = e.readBit() !== 0, r = 8, i = !1;
|
|
3261
3266
|
t === 2 && n ? r = e.readBit() === 0 ? 10 : 12 : t <= 2 && (r = n ? 10 : 8), i = t === 1 ? !1 : e.readBit() !== 0;
|
|
3262
|
-
let a = i ? 1 : 3, o = e.readBit() !== 0, s =
|
|
3263
|
-
return o && (s = e.readBits(8), c = e.readBits(8), l = e.readBits(8)), i ? (u = e.readBit() !== 0, d = 1, f = 1, p =
|
|
3267
|
+
let a = i ? 1 : 3, o = e.readBit() !== 0, s = Fo, c = Io, l = zo, u = !1, d = 0, f = 0, p = Bo, m = !1;
|
|
3268
|
+
return o && (s = e.readBits(8), c = e.readBits(8), l = e.readBits(8)), i ? (u = e.readBit() !== 0, d = 1, f = 1, p = Bo, m = !1, {
|
|
3264
3269
|
highBitDepth: n,
|
|
3265
3270
|
bitDepth: r,
|
|
3266
3271
|
monoChrome: i,
|
|
@@ -3273,7 +3278,7 @@ var Oo = (e) => {
|
|
|
3273
3278
|
subsamplingX: d,
|
|
3274
3279
|
subsamplingY: f,
|
|
3275
3280
|
transferCharacteristics: c
|
|
3276
|
-
}) : s ===
|
|
3281
|
+
}) : s === Po && c === Lo && l === Ro ? (u = !0, d = 0, f = 0, {
|
|
3277
3282
|
highBitDepth: n,
|
|
3278
3283
|
bitDepth: r,
|
|
3279
3284
|
monoChrome: i,
|
|
@@ -3300,16 +3305,16 @@ var Oo = (e) => {
|
|
|
3300
3305
|
subsamplingY: f,
|
|
3301
3306
|
transferCharacteristics: c
|
|
3302
3307
|
});
|
|
3303
|
-
},
|
|
3304
|
-
let t =
|
|
3308
|
+
}, Uo = (e) => {
|
|
3309
|
+
let t = Do(e);
|
|
3305
3310
|
if (t) return {
|
|
3306
3311
|
width: t.maxFrameWidth,
|
|
3307
3312
|
height: t.maxFrameHeight
|
|
3308
3313
|
};
|
|
3309
|
-
},
|
|
3314
|
+
}, Wo = (e, t) => {
|
|
3310
3315
|
let n = e[0];
|
|
3311
3316
|
if (!n) throw Error("At least one sample must be provided");
|
|
3312
|
-
return
|
|
3317
|
+
return go({
|
|
3313
3318
|
trackId: 1,
|
|
3314
3319
|
timestamp: n.timestamp,
|
|
3315
3320
|
sequenceNumber: t,
|
|
@@ -3318,10 +3323,10 @@ var Oo = (e) => {
|
|
|
3318
3323
|
defaultDuration: n.duration,
|
|
3319
3324
|
samples: e
|
|
3320
3325
|
});
|
|
3321
|
-
},
|
|
3322
|
-
let n =
|
|
3326
|
+
}, Go = (e, t) => {
|
|
3327
|
+
let n = Do(e);
|
|
3323
3328
|
if (!n) throw Error("Failed to parse sequence header");
|
|
3324
|
-
return
|
|
3329
|
+
return ho([{
|
|
3325
3330
|
type: "video",
|
|
3326
3331
|
parsedSequenceHeader: n,
|
|
3327
3332
|
sequenceHeader: new Uint8Array(e),
|
|
@@ -3331,38 +3336,38 @@ var Oo = (e) => {
|
|
|
3331
3336
|
duration: 0,
|
|
3332
3337
|
trackId: 1
|
|
3333
3338
|
}]);
|
|
3334
|
-
},
|
|
3339
|
+
}, Ko = (e) => {
|
|
3335
3340
|
let { codec: t, initData: n, timescale: r } = e;
|
|
3336
3341
|
switch (t) {
|
|
3337
|
-
case "h264": return
|
|
3338
|
-
case "h265": return
|
|
3339
|
-
case "av1": return
|
|
3340
|
-
case "opus": return
|
|
3341
|
-
case "aac": return
|
|
3342
|
+
case "h264": return Jo(n, r);
|
|
3343
|
+
case "h265": return Xo(n, r, e.width, e.height);
|
|
3344
|
+
case "av1": return Yo(n, r);
|
|
3345
|
+
case "opus": return Zo(n, r, e.channelCount || 2);
|
|
3346
|
+
case "aac": return Qo(n, r, e.channelCount || 2);
|
|
3342
3347
|
default: throw Error(`Failed to initialize ${t} segment`);
|
|
3343
3348
|
}
|
|
3344
|
-
},
|
|
3349
|
+
}, qo = (e, t) => {
|
|
3345
3350
|
switch (e) {
|
|
3346
|
-
case "h264": return
|
|
3347
|
-
case "av1": return
|
|
3351
|
+
case "h264": return yo(t);
|
|
3352
|
+
case "av1": return Uo(t);
|
|
3348
3353
|
}
|
|
3349
|
-
},
|
|
3354
|
+
}, Jo = (e, t) => xo(e, t), Yo = (e, t) => Go(e, t), Xo = (e, t, n, r) => {
|
|
3350
3355
|
if (!n || !r) throw Error("HEVC init segment requires width and height");
|
|
3351
|
-
return
|
|
3352
|
-
},
|
|
3356
|
+
return Co(e, t, n, r);
|
|
3357
|
+
}, Zo = (e, t, n) => wo(new Uint8Array(e), n, t), Qo = (e, t, n) => vo(new Uint8Array(e), n, t, t), $o = (e, t) => {
|
|
3353
3358
|
if (!e[0]) throw Error("At least one sample must be provided");
|
|
3354
3359
|
switch (e[0].codec) {
|
|
3355
|
-
case "h264": return
|
|
3356
|
-
case "h265": return
|
|
3357
|
-
case "opus": return
|
|
3358
|
-
case "aac": return
|
|
3359
|
-
case "av1": return
|
|
3360
|
+
case "h264": return bo(e, t);
|
|
3361
|
+
case "h265": return So(e, t);
|
|
3362
|
+
case "opus": return To(e, t);
|
|
3363
|
+
case "aac": return _o(e, t);
|
|
3364
|
+
case "av1": return Wo(e, t);
|
|
3360
3365
|
default: throw Error(`Unsupported codec ${e[0].codec}`);
|
|
3361
3366
|
}
|
|
3362
|
-
},
|
|
3367
|
+
}, es = /* @__PURE__ */ function(e) {
|
|
3363
3368
|
return e[e.NONE = 0] = "NONE", e[e.SYNC = 1] = "SYNC", e[e.INIT = 2] = "INIT", e[e.RENDITIONS = 4] = "RENDITIONS", e[e.TIMED_METADATA = 8] = "TIMED_METADATA", e[e.HAS_COMPOSITION_TIME = 16] = "HAS_COMPOSITION_TIME", e;
|
|
3364
|
-
}({}),
|
|
3365
|
-
let t = new DataView(e, 0), n = t.getUint8(0), r = t.getUint16(1), i = t.getUint8(3), a = t.getUint8(4), o = Ae(new Uint8Array(e), 5, 12), s = t.getUint32(13), c =
|
|
3369
|
+
}({}), ts = (e) => !!(e & es.SYNC), ns = (e) => !!(e & es.INIT), rs = (e) => !!(e & es.RENDITIONS), is = (e) => !!(e & es.TIMED_METADATA), as = (e) => !!(e & es.HAS_COMPOSITION_TIME), os = (e) => {
|
|
3370
|
+
let t = new DataView(e, 0), n = t.getUint8(0), r = t.getUint16(1), i = t.getUint8(3), a = t.getUint8(4), o = Ae(new Uint8Array(e), 5, 12), s = t.getUint32(13), c = as(i) ? t.getInt16(17) : void 0;
|
|
3366
3371
|
return {
|
|
3367
3372
|
version: n,
|
|
3368
3373
|
renditionId: a,
|
|
@@ -3372,14 +3377,14 @@ var Oo = (e) => {
|
|
|
3372
3377
|
payload: e.slice(r),
|
|
3373
3378
|
compositionTimeOffset: c
|
|
3374
3379
|
};
|
|
3375
|
-
},
|
|
3380
|
+
}, ss = (e, t) => (n) => n.remove(Math.max(0, e), Math.min(Infinity, t)), cs = (e) => {
|
|
3376
3381
|
let { buffered: t } = e;
|
|
3377
3382
|
t.length !== 0 && e.remove(t.start(0), t.end(t.length - 1));
|
|
3378
|
-
},
|
|
3383
|
+
}, ls = (e) => (t) => t.appendBuffer(e), us = (e) => (t) => t.changeType(e), ds = class extends Error {
|
|
3379
3384
|
constructor() {
|
|
3380
3385
|
super("SourceBuffer was disposed before the queued operation ran"), this.name = "SourceBufferDisposedError";
|
|
3381
3386
|
}
|
|
3382
|
-
},
|
|
3387
|
+
}, fs = class {
|
|
3383
3388
|
constructor(t) {
|
|
3384
3389
|
e(this, "commandQueue", []), e(this, "sourceBuffer", void 0), e(this, "errorCallback", void 0), e(this, "isDisposed", !1), e(this, "currentInit", void 0), e(this, "setErrorCallback", (e) => {
|
|
3385
3390
|
this.errorCallback = e;
|
|
@@ -3393,23 +3398,23 @@ var Oo = (e) => {
|
|
|
3393
3398
|
}
|
|
3394
3399
|
}), e(this, "enqueue", (e, t, n) => {
|
|
3395
3400
|
if (this.isDisposed) {
|
|
3396
|
-
n(new
|
|
3401
|
+
n(new ds());
|
|
3397
3402
|
return;
|
|
3398
3403
|
}
|
|
3399
3404
|
this.commandQueue.push(new Ct(e, t, n));
|
|
3400
3405
|
}), e(this, "submit", (e) => new Promise((t, n) => {
|
|
3401
3406
|
this.enqueue(e, t, n), this.handleQueue();
|
|
3402
3407
|
})), e(this, "appendBuffer", (e, t) => new Promise((n, r) => {
|
|
3403
|
-
t && this.currentInit !== t && (this.enqueue(
|
|
3408
|
+
t && this.currentInit !== t && (this.enqueue(ls(t), o, r), this.currentInit = t), this.enqueue(ls(e), n, r), this.handleQueue();
|
|
3404
3409
|
})), e(this, "execute", (e) => this.submit(e)), e(this, "buffered", () => this.sourceBuffer.buffered), e(this, "removeFromMediaSource", (e) => {
|
|
3405
3410
|
this.dispose(), e.removeSourceBuffer(this.sourceBuffer);
|
|
3406
3411
|
}), e(this, "dispose", () => {
|
|
3407
3412
|
this.isDisposed = !0, this.sourceBuffer.removeEventListener("updateend", this.handleQueue), this.sourceBuffer.removeEventListener("error", this.onError);
|
|
3408
3413
|
let e = this.commandQueue;
|
|
3409
|
-
this.commandQueue = [], this.errorCallback = void 0, e.forEach((e) => e.abort(new
|
|
3410
|
-
}), e(this, "changeType", (e) => this.submit(
|
|
3414
|
+
this.commandQueue = [], this.errorCallback = void 0, e.forEach((e) => e.abort(new ds()));
|
|
3415
|
+
}), e(this, "changeType", (e) => this.submit(us(e))), e(this, "removeBuffer", (e, t) => this.submit(ss(e, t))), e(this, "flush", () => this.submit(cs)), this.sourceBuffer = t, this.sourceBuffer.addEventListener("updateend", this.handleQueue), this.sourceBuffer.addEventListener("error", this.onError);
|
|
3411
3416
|
}
|
|
3412
|
-
},
|
|
3417
|
+
}, ps = class extends fe {
|
|
3413
3418
|
constructor() {
|
|
3414
3419
|
super(), e(this, "MediaSource", Ie()), e(this, "mediaSource", new this.MediaSource()), e(this, "isOpen", () => this.mediaSource.readyState === "open"), e(this, "isClosed", () => this.mediaSource.readyState === "closed"), e(this, "isEnded", () => this.mediaSource.readyState === "ended"), e(this, "createObjectURL", () => URL.createObjectURL(this.mediaSource)), e(this, "attach", (e) => {
|
|
3415
3420
|
let t = e;
|
|
@@ -3425,7 +3430,7 @@ var Oo = (e) => {
|
|
|
3425
3430
|
this.mediaSource.endOfStream();
|
|
3426
3431
|
} catch (e) {}
|
|
3427
3432
|
e.srcObject && (e.srcObject = null), e.src !== "" && (URL.revokeObjectURL(e.src), e.removeAttribute("src")), e.load();
|
|
3428
|
-
}), e(this, "addSourceBuffer", (e) => new
|
|
3433
|
+
}), e(this, "addSourceBuffer", (e) => new fs(this.mediaSource.addSourceBuffer(e))), e(this, "removeSourceBuffer", (e) => {
|
|
3429
3434
|
e.removeFromMediaSource(this.mediaSource);
|
|
3430
3435
|
}), e(this, "endOfStream", (e) => {
|
|
3431
3436
|
this.mediaSource.endOfStream(e);
|
|
@@ -3442,17 +3447,17 @@ var Oo = (e) => {
|
|
|
3442
3447
|
}), this.mediaSource.addEventListener("sourceopen", this.onSourceOpen), this.mediaSource.addEventListener("sourceclose", this.onSourceClosed), this.mediaSource.addEventListener("sourceended", this.onSourceEnded);
|
|
3443
3448
|
}
|
|
3444
3449
|
};
|
|
3445
|
-
e(
|
|
3450
|
+
e(ps, "isTypeSupported", (e) => {
|
|
3446
3451
|
var t, n;
|
|
3447
3452
|
return (t = (n = Ie()) == null ? void 0 : n.isTypeSupported(e)) == null ? !1 : t;
|
|
3448
3453
|
});
|
|
3449
3454
|
//#endregion
|
|
3450
3455
|
//#region ../../libs/wakelock/src/media.ts
|
|
3451
|
-
var
|
|
3456
|
+
var ms = "data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw", hs = () => "wakeLock" in navigator && window.navigator.userAgent.indexOf("Samsung") === -1, gs = class {
|
|
3452
3457
|
constructor() {
|
|
3453
3458
|
e(this, "enabled", !1), e(this, "wakeLockVideo", void 0), e(this, "_wakeLock", null), e(this, "handleVisibilityChange", () => {
|
|
3454
3459
|
this._wakeLock !== null && document.visibilityState === "visible" && this.enable();
|
|
3455
|
-
}),
|
|
3460
|
+
}), hs() && (this._wakeLock = null, document.addEventListener("visibilitychange", this.handleVisibilityChange), document.addEventListener("fullscreenchange", this.handleVisibilityChange));
|
|
3456
3461
|
}
|
|
3457
3462
|
_addSourceToVideo(e, t, n) {
|
|
3458
3463
|
let r = document.createElement("source");
|
|
@@ -3462,10 +3467,10 @@ var hs = "data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVl
|
|
|
3462
3467
|
return this.enabled;
|
|
3463
3468
|
}
|
|
3464
3469
|
attach(e) {
|
|
3465
|
-
if (!
|
|
3470
|
+
if (!hs()) {
|
|
3466
3471
|
if (!this.wakeLockVideo) {
|
|
3467
3472
|
let e = document.createElement("video");
|
|
3468
|
-
this.wakeLockVideo = e, this.wakeLockVideo.setAttribute("title", "Live Stream"), this.wakeLockVideo.setAttribute("playsinline", ""), this._addSourceToVideo(this.wakeLockVideo, "mp4",
|
|
3473
|
+
this.wakeLockVideo = e, this.wakeLockVideo.setAttribute("title", "Live Stream"), this.wakeLockVideo.setAttribute("playsinline", ""), this._addSourceToVideo(this.wakeLockVideo, "mp4", ms), Object.assign(this.wakeLockVideo.style, {
|
|
3469
3474
|
position: "absolute",
|
|
3470
3475
|
left: "-100%",
|
|
3471
3476
|
top: "-100%"
|
|
@@ -3481,7 +3486,7 @@ var hs = "data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVl
|
|
|
3481
3486
|
enable() {
|
|
3482
3487
|
var e = this;
|
|
3483
3488
|
return t(function* () {
|
|
3484
|
-
if (
|
|
3489
|
+
if (hs()) return navigator.wakeLock.request("screen").then((t) => {
|
|
3485
3490
|
e._wakeLock = t, e.enabled = !0, e._wakeLock.addEventListener("release", () => {});
|
|
3486
3491
|
}).catch(() => {
|
|
3487
3492
|
e.enabled = !1;
|
|
@@ -3493,7 +3498,7 @@ var hs = "data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVl
|
|
|
3493
3498
|
})();
|
|
3494
3499
|
}
|
|
3495
3500
|
disable() {
|
|
3496
|
-
if (
|
|
3501
|
+
if (hs()) this._wakeLock && this._wakeLock.release(), this._wakeLock = null;
|
|
3497
3502
|
else {
|
|
3498
3503
|
var e, t;
|
|
3499
3504
|
(e = this.wakeLockVideo) == null || e.pause(), (t = this.wakeLockVideo) == null || t.remove();
|
|
@@ -3503,69 +3508,94 @@ var hs = "data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVl
|
|
|
3503
3508
|
unload() {
|
|
3504
3509
|
document.removeEventListener("visibilitychange", this.handleVisibilityChange), document.removeEventListener("fullscreenchange", this.handleVisibilityChange), this.disable();
|
|
3505
3510
|
}
|
|
3506
|
-
},
|
|
3511
|
+
}, _s = /\r\n|\r|\n/, vs = /* @__PURE__ */ new WeakMap(), ys = /* @__PURE__ */ new WeakMap(), bs = class {
|
|
3507
3512
|
constructor(e) {
|
|
3508
|
-
C(this,
|
|
3513
|
+
C(this, vs, void 0), C(this, ys, void 0), E(vs, this, e), E(ys, this, 0);
|
|
3509
3514
|
}
|
|
3510
3515
|
skipEmptyLines() {
|
|
3511
3516
|
let e = 0;
|
|
3512
|
-
for (; T(
|
|
3517
|
+
for (; T(vs, this)[T(ys, this)] === "";) {
|
|
3513
3518
|
var t;
|
|
3514
|
-
E(
|
|
3519
|
+
E(ys, this, (t = T(ys, this), t++, t)), e++;
|
|
3515
3520
|
}
|
|
3516
3521
|
return e;
|
|
3517
3522
|
}
|
|
3518
3523
|
readLine() {
|
|
3519
3524
|
var e, t;
|
|
3520
|
-
return T(
|
|
3525
|
+
return T(vs, this)[E(ys, this, (e = T(ys, this), t = e++, e)), t];
|
|
3526
|
+
}
|
|
3527
|
+
peekLine() {
|
|
3528
|
+
return T(vs, this)[T(ys, this)];
|
|
3521
3529
|
}
|
|
3522
3530
|
takeUntilEmptyLine() {
|
|
3523
3531
|
let e = [];
|
|
3524
|
-
for (; T(
|
|
3532
|
+
for (; T(vs, this)[T(ys, this)] !== "";) {
|
|
3525
3533
|
let t = this.readLine();
|
|
3526
3534
|
if (t === void 0) break;
|
|
3527
3535
|
e.push(t);
|
|
3528
3536
|
}
|
|
3529
3537
|
return e;
|
|
3530
3538
|
}
|
|
3539
|
+
skipToNextCue() {
|
|
3540
|
+
for (let e = this.peekLine(); e !== void 0 && e !== "" && !e.includes("-->");) this.readLine(), e = this.peekLine();
|
|
3541
|
+
}
|
|
3531
3542
|
linesLeft() {
|
|
3532
|
-
return T(
|
|
3543
|
+
return T(vs, this).length - T(ys, this);
|
|
3533
3544
|
}
|
|
3534
|
-
},
|
|
3545
|
+
}, xs = /* @__PURE__ */ new WeakSet(), Ss = class {
|
|
3535
3546
|
constructor() {
|
|
3536
|
-
D(this,
|
|
3547
|
+
D(this, xs);
|
|
3537
3548
|
}
|
|
3538
3549
|
parse(e) {
|
|
3539
|
-
let t = [], n = new
|
|
3550
|
+
let t = [], n = new bs(e.split(_s)), r = n.readLine();
|
|
3540
3551
|
if (!r || !r.startsWith("WEBVTT")) throw Error("missing 'WEBVTT' signature");
|
|
3541
|
-
for (
|
|
3552
|
+
for (;;) {
|
|
3553
|
+
let e = n.readLine();
|
|
3554
|
+
if (e === "" || e === void 0) break;
|
|
3555
|
+
}
|
|
3542
3556
|
for (; n.linesLeft() > 0;) {
|
|
3543
|
-
|
|
3544
|
-
|
|
3557
|
+
try {
|
|
3558
|
+
let e = w(xs, this, Cs).call(this, n);
|
|
3559
|
+
e && t.push(e);
|
|
3560
|
+
} catch (e) {
|
|
3561
|
+
n.skipToNextCue();
|
|
3562
|
+
}
|
|
3563
|
+
n.skipEmptyLines();
|
|
3545
3564
|
}
|
|
3546
3565
|
return t;
|
|
3547
3566
|
}
|
|
3548
3567
|
};
|
|
3549
|
-
function
|
|
3568
|
+
function Cs(e) {
|
|
3569
|
+
var t;
|
|
3550
3570
|
e.skipEmptyLines();
|
|
3551
|
-
let
|
|
3552
|
-
if (n
|
|
3553
|
-
if (
|
|
3571
|
+
let n = e.readLine(), r;
|
|
3572
|
+
if (n === void 0) return;
|
|
3573
|
+
if (/^NOTE($|[ \t])/.test(n) && !((t = e.peekLine()) != null && t.includes("-->"))) {
|
|
3574
|
+
e.takeUntilEmptyLine();
|
|
3575
|
+
return;
|
|
3576
|
+
}
|
|
3577
|
+
if (!n.includes("-->")) {
|
|
3578
|
+
let t = e.peekLine();
|
|
3579
|
+
if (t === void 0 || t === "") throw Error("expected cue line");
|
|
3580
|
+
r = n, e.readLine(), n = t;
|
|
3581
|
+
}
|
|
3582
|
+
if (n === void 0) throw Error("expected cue line");
|
|
3554
3583
|
let [i, a] = n.split("-->").map((e) => e.trim());
|
|
3555
3584
|
if (!i || !a) throw Error(`a cue needs both start and end time start: ${i} end: ${a}`);
|
|
3556
3585
|
let [o, s] = a.split(" ", 1).map((e) => e.trim());
|
|
3557
3586
|
if (!o) throw Error(`missing end time: ${o}`);
|
|
3558
|
-
let c =
|
|
3559
|
-
|
|
3560
|
-
let l = w(
|
|
3561
|
-
|
|
3587
|
+
let c = [];
|
|
3588
|
+
for (let t = e.peekLine(); t !== void 0 && t !== "" && !t.includes("-->"); t = e.peekLine()) c.push(e.readLine());
|
|
3589
|
+
let l = c.filter((e) => e == null ? void 0 : e.trim()).join("\n"), u = w(xs, this, ws).call(this, i), d = w(xs, this, ws).call(this, o);
|
|
3590
|
+
if (!Number.isFinite(u) || !Number.isFinite(d)) throw Error(`invalid cue time start: ${i} end: ${o}`);
|
|
3591
|
+
if (l !== "") return {
|
|
3562
3592
|
id: r,
|
|
3563
|
-
startTime:
|
|
3564
|
-
endTime:
|
|
3565
|
-
text:
|
|
3593
|
+
startTime: u,
|
|
3594
|
+
endTime: d,
|
|
3595
|
+
text: l
|
|
3566
3596
|
};
|
|
3567
3597
|
}
|
|
3568
|
-
function
|
|
3598
|
+
function ws(e) {
|
|
3569
3599
|
let t = e.split(":");
|
|
3570
3600
|
if (t.length === 2) {
|
|
3571
3601
|
let [e = 0, n = 0] = t.map((e) => parseFloat(e));
|
|
@@ -3576,10 +3606,10 @@ function Ts(e) {
|
|
|
3576
3606
|
}
|
|
3577
3607
|
//#endregion
|
|
3578
3608
|
//#region ../../libs/web-sdk/src/debugMode.ts
|
|
3579
|
-
var
|
|
3609
|
+
var Ts = (e) => {
|
|
3580
3610
|
let t = window;
|
|
3581
3611
|
t.vindralInstances = t.vindralInstances || {}, t.vindralInstances[e.getStatistics().clientId.substring(0, 8)] = e;
|
|
3582
|
-
},
|
|
3612
|
+
}, Es = class n extends fe {
|
|
3583
3613
|
constructor({ type: r, autoplay: i, muted: a, volume: s, logger: c, poster: l }) {
|
|
3584
3614
|
var u;
|
|
3585
3615
|
super(), u = this, e(this, "element", void 0), e(this, "logger", void 0), e(this, "seekTimes", new S(10)), e(this, "seekStartTime", void 0), e(this, "_totalSeekTime", 0), e(this, "lastPlayableAt", void 0), e(this, "_userProvidedMuted", void 0), e(this, "timers", new P()), e(this, "_userHasProvidedInput", !1), e(this, "_isPaused", !0), e(this, "isActivated", !1), e(this, "dummy", void 0), e(this, "addEventListeners", () => {
|
|
@@ -3709,10 +3739,10 @@ var Es = (e) => {
|
|
|
3709
3739
|
return this._isPaused;
|
|
3710
3740
|
}
|
|
3711
3741
|
};
|
|
3712
|
-
e(
|
|
3742
|
+
e(Es, "SEEK_SETTLE_BUDGET_MS", 1e3);
|
|
3713
3743
|
//#endregion
|
|
3714
3744
|
//#region ../../libs/web-sdk/src/mediaCapabilities.ts
|
|
3715
|
-
var
|
|
3745
|
+
var Ds = (e) => {
|
|
3716
3746
|
if (!navigator.mediaCapabilities) return Promise.resolve({
|
|
3717
3747
|
smooth: !0,
|
|
3718
3748
|
supported: !0,
|
|
@@ -3739,7 +3769,7 @@ var Os = (e) => {
|
|
|
3739
3769
|
framerate: e.frameRate[0] / e.frameRate[1]
|
|
3740
3770
|
}
|
|
3741
3771
|
}, navigator.mediaCapabilities.decodingInfo(t);
|
|
3742
|
-
},
|
|
3772
|
+
}, Os, ks = .15, As = .2, js = .4, Ms = .5, Ns = .6, Ps = 15, Fs = {
|
|
3743
3773
|
cooldownTime: 3e3,
|
|
3744
3774
|
maxBufferingEvents: { last10Seconds: 0 },
|
|
3745
3775
|
maxBufferingRatio: { last10Seconds: 0 },
|
|
@@ -3750,7 +3780,7 @@ var Os = (e) => {
|
|
|
3750
3780
|
ratio: .1
|
|
3751
3781
|
},
|
|
3752
3782
|
maxCooldownRatio: 2
|
|
3753
|
-
},
|
|
3783
|
+
}, Is = (e) => (t) => t > e, Ls = class {
|
|
3754
3784
|
constructor(t, n, r, i) {
|
|
3755
3785
|
e(this, "qualityOfServiceSource", void 0), e(this, "config", void 0), e(this, "emitter", void 0), e(this, "logger", void 0), e(this, "isSuspended", !1), e(this, "lastAdaptTime", performance.now()), e(this, "isEnabled", !0), e(this, "load", () => {
|
|
3756
3786
|
this.emitter.on("buffer state", this.onBufferState), this.emitter.on("adapted level", this.onAdaptedLevel);
|
|
@@ -3766,7 +3796,7 @@ var Os = (e) => {
|
|
|
3766
3796
|
let t = this.qualityOfServiceSource.getLevelStats(e), { upgradesFromLevel: n, downgradesFromLevel: r } = t == null ? {
|
|
3767
3797
|
upgradesFromLevel: [],
|
|
3768
3798
|
downgradesFromLevel: []
|
|
3769
|
-
} : t, i = performance.now() - this.config.maxDowngradeLookbackMs, a = r.filter(
|
|
3799
|
+
} : t, i = performance.now() - this.config.maxDowngradeLookbackMs, a = r.filter(Is(i)).length, o = n.filter(Is(i)).length;
|
|
3770
3800
|
if (a - o > this.config.maxRecentDowngradesCount) return this.logger.debug("Recent downgrades count is over maximum", {
|
|
3771
3801
|
downgrades: a - o,
|
|
3772
3802
|
maxRecentDowngradesCount: this.config.maxRecentDowngradesCount
|
|
@@ -3780,7 +3810,7 @@ var Os = (e) => {
|
|
|
3780
3810
|
recentDowngrades: a,
|
|
3781
3811
|
timeSpentPlayingInAtLeastLevelRatio: s
|
|
3782
3812
|
}), !1;
|
|
3783
|
-
let l = Math.max(0, r.length - n.length - c), u = performance.now() - this.config.maxDowngradeLookbackMs * l, d = r.filter(
|
|
3813
|
+
let l = Math.max(0, r.length - n.length - c), u = performance.now() - this.config.maxDowngradeLookbackMs * l, d = r.filter(Is(u)).length;
|
|
3784
3814
|
return d && l > this.config.maxCooldownRatio ? (this.logger.debug("Too many downgrades compared to time spent playing", {
|
|
3785
3815
|
downgradesWithinCooldownTime: d,
|
|
3786
3816
|
cooldownRatio: l
|
|
@@ -3789,7 +3819,7 @@ var Os = (e) => {
|
|
|
3789
3819
|
if (!this.isEnabled || this.isSuspended || this.lastAdaptTime + this.config.cooldownTime > performance.now()) return;
|
|
3790
3820
|
let { bufferFullness: t, general: n } = this.qualityOfServiceSource.getMetrics(), r = this.qualityOfServiceSource.getBufferFullnessRegression();
|
|
3791
3821
|
if (!r) return;
|
|
3792
|
-
let i = 10 * 1e3, a = 30 * 1e3, { slope: o } = r, s = r.predict(
|
|
3822
|
+
let i = 10 * 1e3, a = 30 * 1e3, { slope: o } = r, s = r.predict(Ps), c = o < 0, l = r.predict(Ps) < js && r.slope < 0, u = r.predict(Ps) > Ns, d = this.qualityOfServiceSource.timeSpentBufferingLast(a), f = this.qualityOfServiceSource.timeSpentActiveLast(a), p = this.qualityOfServiceSource.bufferingEventsLast(a), m = f > 0 ? d / f : 0, h = this.qualityOfServiceSource.getTargetBufferTime();
|
|
3793
3823
|
if (t < .15 && m > .8) {
|
|
3794
3824
|
this.adaptLevel("reconnect");
|
|
3795
3825
|
return;
|
|
@@ -3798,7 +3828,7 @@ var Os = (e) => {
|
|
|
3798
3828
|
this.adaptLevel("downgrade");
|
|
3799
3829
|
return;
|
|
3800
3830
|
}
|
|
3801
|
-
if (t >
|
|
3831
|
+
if (t > Ms && u && !this.tooMuchTimeBuffering(i) && !this.tooManyBufferingEvents(i)) {
|
|
3802
3832
|
this.adaptLevel("upgrade");
|
|
3803
3833
|
return;
|
|
3804
3834
|
}
|
|
@@ -3806,10 +3836,10 @@ var Os = (e) => {
|
|
|
3806
3836
|
e.playbackState === "buffering" && (p > 5 || m > .3) && this.adaptLevel("downgrade");
|
|
3807
3837
|
return;
|
|
3808
3838
|
}
|
|
3809
|
-
(l || t <
|
|
3839
|
+
(l || t < ks) && c && t < js && s < As && this.adaptLevel(e.playbackState === "buffering" ? "double downgrade" : "downgrade");
|
|
3810
3840
|
}), e(this, "onAdaptedLevel", () => {
|
|
3811
3841
|
this.reset();
|
|
3812
|
-
}), e(this, "adaptLevel", (e) => this.emitter.emit("adapt level", e)), this.qualityOfServiceSource = r, this.config = O(O({},
|
|
3842
|
+
}), e(this, "adaptLevel", (e) => this.emitter.emit("adapt level", e)), this.qualityOfServiceSource = r, this.config = O(O({}, Fs), i), this.emitter = t, this.logger = n;
|
|
3813
3843
|
}
|
|
3814
3844
|
tooMuchTimeBuffering(e) {
|
|
3815
3845
|
let t = this.qualityOfServiceSource.timeSpentActiveLast(e);
|
|
@@ -3819,16 +3849,16 @@ var Os = (e) => {
|
|
|
3819
3849
|
return this.qualityOfServiceSource.timeSpentBufferingLast(e) > this.config.maxBufferingEvents.last10Seconds;
|
|
3820
3850
|
}
|
|
3821
3851
|
};
|
|
3822
|
-
|
|
3852
|
+
Os = Ls, e(Ls, "create", (e, t, n, r = {}) => new Os(e, t, n, r));
|
|
3823
3853
|
//#endregion
|
|
3824
3854
|
//#region ../../libs/web-sdk/src/modules/BufferTimeModule.ts
|
|
3825
|
-
var
|
|
3855
|
+
var Rs, zs = {
|
|
3826
3856
|
minBufferTime: 1500,
|
|
3827
3857
|
maxBufferTime: 1500,
|
|
3828
3858
|
cooldownTime: 3e4,
|
|
3829
3859
|
maxBufferingEvents: { last30Seconds: 3 },
|
|
3830
3860
|
maxBufferingRatio: { last30Seconds: .15 }
|
|
3831
|
-
},
|
|
3861
|
+
}, Bs = class t {
|
|
3832
3862
|
constructor(n, r, i, a, o) {
|
|
3833
3863
|
e(this, "qualityOfServiceSource", void 0), e(this, "targetBufferTimeTarget", void 0), e(this, "config", void 0), e(this, "emitter", void 0), e(this, "logger", void 0), e(this, "isSuspended", !1), e(this, "lastIncreaseTime", performance.now()), e(this, "bufferTimeAdjustmentCount", 0), e(this, "load", () => {
|
|
3834
3864
|
this.emitter.on("buffer state", this.onBufferState);
|
|
@@ -3845,18 +3875,18 @@ var zs, Bs = {
|
|
|
3845
3875
|
if (this.isSuspended || this.lastIncreaseTime + i > performance.now() || this.targetBufferTimeTarget.targetBufferTime >= r) return;
|
|
3846
3876
|
let a = this.qualityOfServiceSource.timeSpentBufferingLast(30 * 1e3), o = this.qualityOfServiceSource.bufferingEventsLast(30 * 1e3), s = a / this.qualityOfServiceSource.timeSpentActiveLast(30 * 1e3), c = Math.ceil(Math.max((r - n) / (t.BUFFER_TIME_MAX_STEPS - 1), t.BUFFER_TIME_STEP_SIZE));
|
|
3847
3877
|
(s > this.config.maxBufferingRatio.last30Seconds || o > this.config.maxBufferingEvents.last30Seconds) && (this.targetBufferTimeTarget.targetBufferTime = Math.min(r, this.targetBufferTimeTarget.targetBufferTime + c), this.bufferTimeAdjustmentCount++, this.reset());
|
|
3848
|
-
}), this.qualityOfServiceSource = i, this.targetBufferTimeTarget = a, this.config = O(O({},
|
|
3878
|
+
}), this.qualityOfServiceSource = i, this.targetBufferTimeTarget = a, this.config = O(O({}, zs), o), this.emitter = n, this.logger = r;
|
|
3849
3879
|
}
|
|
3850
3880
|
updateConfig(e) {
|
|
3851
3881
|
this.config = O(O({}, this.config), e);
|
|
3852
3882
|
}
|
|
3853
3883
|
};
|
|
3854
|
-
|
|
3884
|
+
Rs = Bs, e(Bs, "BUFFER_TIME_STEP_SIZE", 500), e(Bs, "BUFFER_TIME_MAX_STEPS", 3), e(Bs, "create", (e, t, n, r, i = {}) => new Rs(e, t, n, r, i));
|
|
3855
3885
|
//#endregion
|
|
3856
3886
|
//#region ../../libs/moq/src/protocol/wire-format/DataStreamType.ts
|
|
3857
|
-
var
|
|
3887
|
+
var Vs = /* @__PURE__ */ function(e) {
|
|
3858
3888
|
return e[e.StreamHeaderGroup = 4] = "StreamHeaderGroup", e[e.FetchHeader = 5] = "FetchHeader", e[e.StreamHeaderTrack = 60] = "StreamHeaderTrack", e;
|
|
3859
|
-
}({}), Us, Ws, Gs, Ks, qs, Js, Ys, Xs, Zs
|
|
3889
|
+
}({}), Hs, Us, Ws, Gs, Ks, qs, Js, Ys, Xs, Zs = {
|
|
3860
3890
|
Normal: 0,
|
|
3861
3891
|
ObjectDoesNotExist: 1,
|
|
3862
3892
|
GroupDoesNotExist: 2,
|
|
@@ -3865,16 +3895,16 @@ var Hs = /* @__PURE__ */ function(e) {
|
|
|
3865
3895
|
};
|
|
3866
3896
|
function Qs(e) {
|
|
3867
3897
|
switch (e) {
|
|
3868
|
-
case
|
|
3869
|
-
case
|
|
3870
|
-
case
|
|
3871
|
-
case
|
|
3872
|
-
case
|
|
3898
|
+
case Zs.Normal:
|
|
3899
|
+
case Zs.ObjectDoesNotExist:
|
|
3900
|
+
case Zs.GroupDoesNotExist:
|
|
3901
|
+
case Zs.EndOfGroup:
|
|
3902
|
+
case Zs.EndOfTrackAndGroup: return;
|
|
3873
3903
|
}
|
|
3874
3904
|
throw Error(`Unknown object status ${e}`);
|
|
3875
3905
|
}
|
|
3876
3906
|
var $s = /* @__PURE__ */ new WeakMap(), ec = /* @__PURE__ */ new WeakMap(), tc = /* @__PURE__ */ new WeakMap(), nc = /* @__PURE__ */ new WeakMap(), rc = /* @__PURE__ */ new WeakMap(), ic = /* @__PURE__ */ new WeakMap(), ac = /* @__PURE__ */ new WeakMap(), oc = /* @__PURE__ */ new WeakMap();
|
|
3877
|
-
|
|
3907
|
+
Hs = Symbol.asyncIterator, Us = Bt(), Ws = Symbol.asyncDispose;
|
|
3878
3908
|
var sc = class {
|
|
3879
3909
|
endStatus() {
|
|
3880
3910
|
return T(ic, this).promise;
|
|
@@ -3897,7 +3927,7 @@ var sc = class {
|
|
|
3897
3927
|
value: void 0
|
|
3898
3928
|
};
|
|
3899
3929
|
let n = T(ac, e) === 0 ? T(ec, e) : yield T($s, e).readBigVarInt(), r = yield T($s, e).readBigVarInt(), i = yield T($s, e).readVarInt(), a = 0, o = new Uint8Array();
|
|
3900
|
-
return i > 0 ? o = yield T($s, e).read(i) : a = yield T($s, e).readVarInt(), Qs(a), (a ===
|
|
3930
|
+
return i > 0 ? o = yield T($s, e).read(i) : a = yield T($s, e).readVarInt(), Qs(a), (a === Zs.EndOfTrackAndGroup || a === Zs.EndOfGroup) && T(ic, e).resolve(a), E(ac, e, (t = T(ac, e), t++, t)), {
|
|
3901
3931
|
done: !1,
|
|
3902
3932
|
value: {
|
|
3903
3933
|
subscribeId: T(tc, e),
|
|
@@ -3923,17 +3953,17 @@ var sc = class {
|
|
|
3923
3953
|
};
|
|
3924
3954
|
})();
|
|
3925
3955
|
}
|
|
3926
|
-
[
|
|
3956
|
+
[Hs]() {
|
|
3927
3957
|
return this;
|
|
3928
3958
|
}
|
|
3929
|
-
[
|
|
3959
|
+
[Us]() {
|
|
3930
3960
|
return Promise.resolve();
|
|
3931
3961
|
}
|
|
3932
|
-
[
|
|
3962
|
+
[Ws]() {
|
|
3933
3963
|
return Promise.resolve();
|
|
3934
3964
|
}
|
|
3935
3965
|
}, cc = /* @__PURE__ */ new WeakMap(), lc = /* @__PURE__ */ new WeakMap(), uc = /* @__PURE__ */ new WeakMap(), dc = /* @__PURE__ */ new WeakMap(), fc = /* @__PURE__ */ new WeakMap(), pc = /* @__PURE__ */ new WeakSet();
|
|
3936
|
-
|
|
3966
|
+
Gs = Symbol.asyncIterator, Ks = Bt(), qs = Symbol.asyncDispose;
|
|
3937
3967
|
var mc = class {
|
|
3938
3968
|
constructor(e, t, n, r, i) {
|
|
3939
3969
|
D(this, pc), C(this, cc, void 0), C(this, lc, void 0), C(this, uc, void 0), C(this, dc, void 0), C(this, fc, void 0), E(cc, this, e), E(lc, this, t), E(uc, this, n), E(dc, this, r), E(fc, this, i);
|
|
@@ -3956,13 +3986,13 @@ var mc = class {
|
|
|
3956
3986
|
};
|
|
3957
3987
|
})();
|
|
3958
3988
|
}
|
|
3959
|
-
[
|
|
3989
|
+
[Gs]() {
|
|
3960
3990
|
return this;
|
|
3961
3991
|
}
|
|
3962
|
-
[
|
|
3992
|
+
[Ks]() {
|
|
3963
3993
|
return w(pc, this, gc).call(this);
|
|
3964
3994
|
}
|
|
3965
|
-
[
|
|
3995
|
+
[qs]() {
|
|
3966
3996
|
return w(pc, this, gc).call(this);
|
|
3967
3997
|
}
|
|
3968
3998
|
};
|
|
@@ -3971,7 +4001,7 @@ function hc() {
|
|
|
3971
4001
|
return Zt(function* () {
|
|
3972
4002
|
for (; !(yield N(T(cc, e).isDone()));) {
|
|
3973
4003
|
let t = yield N(T(cc, e).readBigVarInt()), n = new sc(T(cc, e), t, T(lc, e), T(uc, e), T(dc, e), T(fc, e));
|
|
3974
|
-
if (yield n, (yield N(Promise.race([n.endStatus(), T(cc, e).closed()]))) ===
|
|
4004
|
+
if (yield n, (yield N(Promise.race([n.endStatus(), T(cc, e).closed()]))) === Zs.EndOfTrackAndGroup) return;
|
|
3975
4005
|
}
|
|
3976
4006
|
})();
|
|
3977
4007
|
}
|
|
@@ -3979,7 +4009,7 @@ function gc() {
|
|
|
3979
4009
|
return T(cc, this).close().catch(() => {});
|
|
3980
4010
|
}
|
|
3981
4011
|
var _c = /* @__PURE__ */ new WeakMap(), vc = /* @__PURE__ */ new WeakMap(), yc = /* @__PURE__ */ new WeakMap(), bc = /* @__PURE__ */ new WeakMap(), xc = /* @__PURE__ */ new WeakMap(), Sc = /* @__PURE__ */ new WeakMap(), Cc = /* @__PURE__ */ new WeakMap(), wc = /* @__PURE__ */ new WeakMap(), Tc = /* @__PURE__ */ new WeakMap(), Ec = /* @__PURE__ */ new WeakSet();
|
|
3982
|
-
|
|
4012
|
+
Js = Symbol.asyncIterator, Ys = Bt(), Xs = Symbol.asyncDispose;
|
|
3983
4013
|
var Dc = class {
|
|
3984
4014
|
constructor(e, t, n, r, i, a, o) {
|
|
3985
4015
|
D(this, Ec), C(this, _c, void 0), C(this, vc, void 0), C(this, yc, void 0), C(this, bc, void 0), C(this, xc, void 0), C(this, Sc, void 0), C(this, Cc, !1), C(this, wc, void 0), C(this, Tc, M.get().createContext("GroupReader")), E(_c, this, e), E(vc, this, t), E(yc, this, n), E(bc, this, r), E(xc, this, i), E(Sc, this, a), E(wc, this, o);
|
|
@@ -4002,7 +4032,7 @@ var Dc = class {
|
|
|
4002
4032
|
value: void 0
|
|
4003
4033
|
};
|
|
4004
4034
|
let t = yield T(_c, e).readBigVarInt(), n = yield T(_c, e).readVarInt(), r = 0, i = new Uint8Array();
|
|
4005
|
-
return n > 0 ? i = yield T(_c, e).read(n) : r = yield T(_c, e).readVarInt(), Qs(r), r ===
|
|
4035
|
+
return n > 0 ? i = yield T(_c, e).read(n) : r = yield T(_c, e).readVarInt(), Qs(r), r === Zs.EndOfGroup && E(Cc, e, !0), {
|
|
4006
4036
|
done: !1,
|
|
4007
4037
|
value: {
|
|
4008
4038
|
subscribeId: T(vc, e),
|
|
@@ -4036,13 +4066,13 @@ var Dc = class {
|
|
|
4036
4066
|
groups() {
|
|
4037
4067
|
return w(Ec, this, Oc).call(this);
|
|
4038
4068
|
}
|
|
4039
|
-
[
|
|
4069
|
+
[Js]() {
|
|
4040
4070
|
return this;
|
|
4041
4071
|
}
|
|
4042
|
-
[
|
|
4072
|
+
[Ys]() {
|
|
4043
4073
|
return w(Ec, this, kc).call(this);
|
|
4044
4074
|
}
|
|
4045
|
-
[
|
|
4075
|
+
[Xs]() {
|
|
4046
4076
|
return w(Ec, this, kc).call(this);
|
|
4047
4077
|
}
|
|
4048
4078
|
};
|
|
@@ -4062,8 +4092,8 @@ function jc() {
|
|
|
4062
4092
|
return jc = t(function* (e, t) {
|
|
4063
4093
|
let n = yield e.readVarInt();
|
|
4064
4094
|
switch (n) {
|
|
4065
|
-
case
|
|
4066
|
-
case
|
|
4095
|
+
case Vs.StreamHeaderGroup: return new Dc(e, yield e.readBigVarInt(), yield e.readBigVarInt(), yield e.readBigVarInt(), yield e.readBigVarInt(), yield e.readUnsigned8(), t);
|
|
4096
|
+
case Vs.StreamHeaderTrack: return new mc(e, yield e.readBigVarInt(), yield e.readBigVarInt(), yield e.readUnsigned8(), t);
|
|
4067
4097
|
default: throw Error(`Unexpected message type ${n}`);
|
|
4068
4098
|
}
|
|
4069
4099
|
}), jc.apply(this, arguments);
|
|
@@ -5187,7 +5217,7 @@ var Td = /* @__PURE__ */ new WeakMap(), Ed = /* @__PURE__ */ new WeakMap(), Dd =
|
|
|
5187
5217
|
write(e) {
|
|
5188
5218
|
var n = this;
|
|
5189
5219
|
return t(function* () {
|
|
5190
|
-
T(Ed, n) || (yield T(Td, n).writeVarInt(
|
|
5220
|
+
T(Ed, n) || (yield T(Td, n).writeVarInt(Vs.StreamHeaderGroup), yield T(Td, n).writeBigVarInt(e.subscribeId), yield T(Td, n).writeBigVarInt(e.trackAlias), yield T(Td, n).writeBigVarInt(e.groupId), yield T(Td, n).writeBigVarInt(e.subGroupId), yield T(Td, n).writeUnsigned8(e.subscriberPriority), E(Ed, n, !0)), yield T(Td, n).writeBigVarInt(e.objectId), yield T(Td, n).writeVarInt(e.payload.length), e.payload.length > 0 ? yield T(Td, n).write(e.payload) : yield T(Td, n).writeVarInt(e.objectStatus), yield T(Td, n).flush();
|
|
5191
5221
|
})();
|
|
5192
5222
|
}
|
|
5193
5223
|
close() {
|
|
@@ -6648,7 +6678,7 @@ function pm() {
|
|
|
6648
6678
|
for (var a = G(t), o; n = !(o = yield a.next()).done; n = !1) {
|
|
6649
6679
|
let t = o.value;
|
|
6650
6680
|
{
|
|
6651
|
-
if (t.objectStatus !==
|
|
6681
|
+
if (t.objectStatus !== Zs.Normal) continue;
|
|
6652
6682
|
let n = om(t);
|
|
6653
6683
|
T(sm, e).update(n);
|
|
6654
6684
|
}
|
|
@@ -6724,7 +6754,7 @@ var Rm = class {
|
|
|
6724
6754
|
for (var a = G(T(Pm, e)), o; n = !(o = yield N(a.next())).done; n = !1) {
|
|
6725
6755
|
let t = o.value;
|
|
6726
6756
|
{
|
|
6727
|
-
if (t.objectStatus ===
|
|
6757
|
+
if (t.objectStatus === Zs.EndOfTrackAndGroup && (yield N(e.track.endOfTrack(t.groupId))), t.objectStatus !== Zs.Normal) continue;
|
|
6728
6758
|
let n = T(Fm, e).createFragment(t.payload), r = n.timescale(), i = n.baseMediaDecodeTime() / r * 1e3, a = i + n.duration() / r * 1e3, o = T(Nm, e) / 1e3 * r;
|
|
6729
6759
|
n.updateBaseMediaDecodeTime(n.baseMediaDecodeTime() - o);
|
|
6730
6760
|
let l = e.track.timestampRange();
|
|
@@ -6785,11 +6815,11 @@ var Wm = class n {
|
|
|
6785
6815
|
let t = new jp().name(r.initTrack).build(), [c, l] = yield Promise.all([Gm.call(n, e, t), rm.subscribe(e, s, {
|
|
6786
6816
|
params: o,
|
|
6787
6817
|
largestGroupId: a ? a - A(1) : void 0
|
|
6788
|
-
})]), u = new
|
|
6818
|
+
})]), u = new va(c);
|
|
6789
6819
|
return new n(r, e.namespace(), l, u, i);
|
|
6790
6820
|
}
|
|
6791
6821
|
oe(r.initData, "no init data found on track");
|
|
6792
|
-
let c = Fe(r.initData), l = new
|
|
6822
|
+
let c = Fe(r.initData), l = new va(new Uint8Array(c)), u = yield rm.subscribe(e, s, {
|
|
6793
6823
|
params: o,
|
|
6794
6824
|
largestGroupId: a ? a - A(1) : void 0
|
|
6795
6825
|
});
|
|
@@ -6918,7 +6948,7 @@ function nh(e) {
|
|
|
6918
6948
|
for (var f = G(e), p; l = !(p = yield f.next()).done; l = !1) {
|
|
6919
6949
|
let e = p.value;
|
|
6920
6950
|
{
|
|
6921
|
-
if (e.objectStatus !==
|
|
6951
|
+
if (e.objectStatus !== Zs.Normal) continue;
|
|
6922
6952
|
let r = ih(e.payload);
|
|
6923
6953
|
T(Ym, n).update((e) => {
|
|
6924
6954
|
var t, n;
|
|
@@ -6992,7 +7022,7 @@ var lh = /* @__PURE__ */ new WeakMap(), uh = /* @__PURE__ */ new WeakMap(), dh =
|
|
|
6992
7022
|
ah = Symbol.asyncIterator, oh = Bt(), sh = Symbol.asyncDispose;
|
|
6993
7023
|
var ph = class n {
|
|
6994
7024
|
constructor(t, n, r, i, a) {
|
|
6995
|
-
C(this, lh, new
|
|
7025
|
+
C(this, lh, new Ss()), C(this, uh, void 0), C(this, dh, void 0), C(this, fh, 0), e(this, "trackObject", void 0), e(this, "namespace", void 0), E(dh, this, t), E(uh, this, n), this.trackObject = r, this.namespace = i, E(fh, this, a);
|
|
6996
7026
|
}
|
|
6997
7027
|
static subscribe(e, r, i) {
|
|
6998
7028
|
return t(function* () {
|
|
@@ -7016,13 +7046,19 @@ var ph = class n {
|
|
|
7016
7046
|
for (;;) {
|
|
7017
7047
|
let t = yield T(uh, e).next();
|
|
7018
7048
|
if (t.done) return t;
|
|
7019
|
-
if (t.value.objectStatus !==
|
|
7020
|
-
let n = new TextDecoder().decode(t.value.payload), r
|
|
7049
|
+
if (t.value.objectStatus !== Zs.Normal) continue;
|
|
7050
|
+
let n = new TextDecoder().decode(t.value.payload), r;
|
|
7051
|
+
try {
|
|
7052
|
+
r = T(lh, e).parse(n);
|
|
7053
|
+
} catch (e) {
|
|
7054
|
+
continue;
|
|
7055
|
+
}
|
|
7056
|
+
let i = r.map((t) => (t.startTime -= T(fh, e) / 1e3, t.endTime -= T(fh, e) / 1e3, t));
|
|
7021
7057
|
return {
|
|
7022
7058
|
done: !1,
|
|
7023
7059
|
value: {
|
|
7024
7060
|
language: e.trackObject.language,
|
|
7025
|
-
cues:
|
|
7061
|
+
cues: i
|
|
7026
7062
|
}
|
|
7027
7063
|
};
|
|
7028
7064
|
}
|
|
@@ -7277,7 +7313,7 @@ function Uh(e) {
|
|
|
7277
7313
|
for (var a = G(e), o; t = !(o = yield a.next()).done; t = !1) {
|
|
7278
7314
|
let e = o.value;
|
|
7279
7315
|
{
|
|
7280
|
-
if (e.objectStatus !==
|
|
7316
|
+
if (e.objectStatus !== Zs.Normal) continue;
|
|
7281
7317
|
let t = Rh(e.payload);
|
|
7282
7318
|
n.value.update(t);
|
|
7283
7319
|
}
|
|
@@ -8265,7 +8301,11 @@ var $g = (e) => {
|
|
|
8265
8301
|
return T(o_, this).items().length > 0 ? wt(T(o_, this).items()) : 0;
|
|
8266
8302
|
}
|
|
8267
8303
|
get estimatedBandwidth() {
|
|
8268
|
-
|
|
8304
|
+
if (this.connectionImpl && "estimatedBandwidth" in this.connectionImpl) {
|
|
8305
|
+
let e = this.connectionImpl.estimatedBandwidth;
|
|
8306
|
+
if (e && Number.isFinite(e)) return e;
|
|
8307
|
+
}
|
|
8308
|
+
return Zg(this.rtt);
|
|
8269
8309
|
}
|
|
8270
8310
|
get firstConnectStartTime() {
|
|
8271
8311
|
return T(p_, this);
|
|
@@ -8631,7 +8671,7 @@ var F_ = (e, t) => `${e}\u0000${t == null ? "" : t}`, I_ = (e, t, n, r) => e ===
|
|
|
8631
8671
|
break;
|
|
8632
8672
|
}
|
|
8633
8673
|
case "video": {
|
|
8634
|
-
let { VideoDecoderWorkerContext: n } = yield import("./
|
|
8674
|
+
let { VideoDecoderWorkerContext: n } = yield import("./BRKrFfT9.js"), r = yield n.create(i.createContext("VideoDecoderWorker"), a, c, l, u, d, () => s.currentTime);
|
|
8635
8675
|
p = r.isWebCodecs, h = r.usingOffscreenCanvas, t.set(e.type, {
|
|
8636
8676
|
buffer: [],
|
|
8637
8677
|
decoderContext: r,
|
|
@@ -9013,7 +9053,7 @@ ov = uv, e(uv, "create", (e, t, n) => new ov(e, t, n));
|
|
|
9013
9053
|
//#region ../../libs/web-sdk/src/players/VideoPlayer.ts
|
|
9014
9054
|
var dv, fv = class {
|
|
9015
9055
|
constructor(t, n, r, i, a, o) {
|
|
9016
|
-
e(this, "staleFrameThresholdMs", 400), e(this, "pool", void 0), e(this, "logger", void 0), e(this, "videoRenderer", new
|
|
9056
|
+
e(this, "staleFrameThresholdMs", 400), e(this, "pool", void 0), e(this, "logger", void 0), e(this, "videoRenderer", new sr()), e(this, "videoFrameCanvas2DRenderer", null), e(this, "renderQueue", []), e(this, "clockSource", void 0), e(this, "isFirstFrame", !0), e(this, "usingWebCodecs", !1), e(this, "onCanvasChangeCallback", void 0), e(this, "onRendererErrorCallback", void 0), e(this, "animationFrameRequest", void 0), e(this, "firstFrameAnimationFrameRequest", void 0), e(this, "pendingFirstFrameSample", void 0), e(this, "renderedFrameCount", 0), e(this, "rendererDroppedFrameCount", 0), e(this, "renderTargetSize", void 0), e(this, "load", () => {
|
|
9017
9057
|
this.videoRenderer.load(), this.subscribeToContextLost(this.videoRenderer);
|
|
9018
9058
|
}), e(this, "unload", () => (this.stopRender(), this.clearRenderQueue(), this.unsubscribeFromContextLost(this.videoRenderer), this.videoRenderer.unload(), this.videoFrameCanvas2DRenderer && (this.unsubscribeFromContextLost(this.videoFrameCanvas2DRenderer), this.videoFrameCanvas2DRenderer.unload()), Promise.resolve())), e(this, "suspend", () => {
|
|
9019
9059
|
this.clearRenderQueue(), this.stopRender();
|
|
@@ -9048,7 +9088,7 @@ var dv, fv = class {
|
|
|
9048
9088
|
let n = this.videoFrameCanvas2DRenderer;
|
|
9049
9089
|
if (!this.usingWebCodecs) {
|
|
9050
9090
|
var t;
|
|
9051
|
-
this.logger.info("Switching to Canvas2D renderer for WebCodecs"), n || (n = new
|
|
9091
|
+
this.logger.info("Switching to Canvas2D renderer for WebCodecs"), n || (n = new Bn(), n.load(), this.subscribeToContextLost(n), this.videoFrameCanvas2DRenderer = n);
|
|
9052
9092
|
let e = this.videoRenderer.canvas, r = n.canvas;
|
|
9053
9093
|
if (e.parentElement) try {
|
|
9054
9094
|
e.parentElement.replaceChild(r, e);
|
|
@@ -9142,7 +9182,7 @@ var pv = /* @__PURE__ */ new WeakMap(), mv = class {
|
|
|
9142
9182
|
}
|
|
9143
9183
|
getActiveCues(e) {
|
|
9144
9184
|
let t = T(pv, this).find((e) => e.mode === "showing");
|
|
9145
|
-
return t ? t.cues.filter(({ startTime: t, endTime: n }) => e >= t && e
|
|
9185
|
+
return t ? t.cues.filter(({ startTime: t, endTime: n }) => e >= t && e < n) : [];
|
|
9146
9186
|
}
|
|
9147
9187
|
}, hv = (e, t) => {
|
|
9148
9188
|
let n;
|
|
@@ -9378,7 +9418,7 @@ var yv, bv = class {
|
|
|
9378
9418
|
volume: this.volume
|
|
9379
9419
|
};
|
|
9380
9420
|
jt(e, this.volumeState) || (this.volumeState = e, this.emitter.emit("volume state", this.volumeState));
|
|
9381
|
-
}), this.logger = n, this.emitter = t, this.pool = r, this._userProvidedMuted = a, this.offscreenCanvas = u, this.emitter.on("target buffer time", this.onTargetBufferTime), this.mediaElement = new
|
|
9421
|
+
}), this.logger = n, this.emitter = t, this.pool = r, this._userProvidedMuted = a, this.offscreenCanvas = u, this.emitter.on("target buffer time", this.onTargetBufferTime), this.mediaElement = new Es({
|
|
9382
9422
|
poster: l,
|
|
9383
9423
|
type: c,
|
|
9384
9424
|
muted: a,
|
|
@@ -9501,7 +9541,7 @@ function wv({ initSegments: e, pendingSamples: t }) {
|
|
|
9501
9541
|
var Tv = class {
|
|
9502
9542
|
constructor(n, a, s) {
|
|
9503
9543
|
var u = this;
|
|
9504
|
-
e(this, "maxChunkSize", 20), e(this, "minConsecutiveErrorsBeforeEmit", 5), e(this, "maxSecondsInBuffer", 60), e(this, "logger", void 0), e(this, "timers", P.create()), e(this, "emitter", void 0), e(this, "mediaElement", void 0), e(this, "mediaSource", new
|
|
9544
|
+
e(this, "maxChunkSize", 20), e(this, "minConsecutiveErrorsBeforeEmit", 5), e(this, "maxSecondsInBuffer", 60), e(this, "logger", void 0), e(this, "timers", P.create()), e(this, "emitter", void 0), e(this, "mediaElement", void 0), e(this, "mediaSource", new ps()), e(this, "trackContexts", /* @__PURE__ */ new Map()), e(this, "autoRecoverFromMediaErrors", !0), e(this, "quotaErrorCount", 0), e(this, "recoveredFromErrorCount", 0), e(this, "sourceOpenStartTime", performance.now()), e(this, "sourceOpenEndTime", performance.now()), e(this, "pendingTracksToAddSourceBuffers", void 0), e(this, "hasAddedInitialPosterFrame", !0), e(this, "videoKeyframeTimestamps", []), e(this, "isReopening", !1), e(this, "playbackStallCount", 0), e(this, "hasStartedPlayback", !1), e(this, "isPlaybackStalled", !1), e(this, "load", () => {
|
|
9505
9545
|
this.emitter.on("init segment", this.init), this.emitter.on("coded sample", this.onCodedSample), this.emitter.on("flush buffers", this.flushBuffers), this.emitter.on("fragment", this.onFragment);
|
|
9506
9546
|
}), e(this, "unload", () => {
|
|
9507
9547
|
this.logger.debug("Unloading module..."), this.emitter.off("init segment", this.init), this.emitter.off("coded sample", this.onCodedSample), this.emitter.off("flush buffers", this.flushBuffers), this.emitter.off("fragment", this.onFragment), this.mediaSource.off("source ended", this.onSourceEnded), this.mediaSource.off("source open", this.onSourceOpen), this.mediaElement.removeEventListener("error", this.onMediaElementError), this.mediaElement.removeEventListener("waiting", this.onPlaybackStall), this.mediaElement.removeEventListener("stalled", this.onPlaybackStall), this.mediaElement.removeEventListener("playing", this.onPlaybackProgress), this.mediaElement.removeEventListener("pause", this.onPlaybackPauseOrSeek), this.mediaElement.removeEventListener("seeking", this.onPlaybackPauseOrSeek), this.mediaSource.detach(this.mediaElement), this.trackContexts.forEach((e) => {
|
|
@@ -9532,7 +9572,7 @@ var Tv = class {
|
|
|
9532
9572
|
let e = [];
|
|
9533
9573
|
this.trackContexts.forEach((t) => {
|
|
9534
9574
|
t.pendingSamples = [], t.pendingSamplesOffset = 0, t.hasFirstSync = !1, t.state !== "uninitialized" && this.mediaSource.isOpen() && e.push(t.sourceBuffer.removeBuffer(0, Infinity).catch((e) => {
|
|
9535
|
-
if (!(e instanceof
|
|
9575
|
+
if (!(e instanceof ds)) throw e;
|
|
9536
9576
|
}));
|
|
9537
9577
|
}), Promise.all(e).then(() => this.emitter.emit("buffers flushed")).catch((e) => this.logger.error("Failed to remove buffer", e));
|
|
9538
9578
|
}), e(this, "setTrackContexts", (e = /* @__PURE__ */ new Map()) => {
|
|
@@ -9592,7 +9632,7 @@ var Tv = class {
|
|
|
9592
9632
|
if (t.mimeType !== n.sourceBufferMimeType) try {
|
|
9593
9633
|
yield n.sourceBuffer.changeType(t.mimeType), n.sourceBufferMimeType = t.mimeType;
|
|
9594
9634
|
} catch (r) {
|
|
9595
|
-
if (r instanceof
|
|
9635
|
+
if (r instanceof ds) throw u.logger.debug("Abandoning source buffer setup for a disposed buffer", { type: t.type }), r;
|
|
9596
9636
|
u.logger.warn("changeType failed, recreating source buffer", {
|
|
9597
9637
|
from: n.sourceBufferMimeType,
|
|
9598
9638
|
to: t.mimeType,
|
|
@@ -9637,7 +9677,7 @@ var Tv = class {
|
|
|
9637
9677
|
let n = this.trackContexts.get(e.type);
|
|
9638
9678
|
if (!n) throw i(e.type, e.renditionId);
|
|
9639
9679
|
n.state === "initialized" && (n.mimeType = t);
|
|
9640
|
-
let r =
|
|
9680
|
+
let r = Ko({
|
|
9641
9681
|
codec: e.codec,
|
|
9642
9682
|
timescale: e.timescale,
|
|
9643
9683
|
initData: e.data
|
|
@@ -9658,7 +9698,7 @@ var Tv = class {
|
|
|
9658
9698
|
if (yield r.sourceBuffer.removeBuffer(e, Infinity), r.mimeType !== r.sourceBufferMimeType && r.sourceBuffer.changeType) try {
|
|
9659
9699
|
yield r.sourceBuffer.changeType(r.mimeType), r.sourceBufferMimeType = r.mimeType;
|
|
9660
9700
|
} catch (e) {
|
|
9661
|
-
if (e instanceof
|
|
9701
|
+
if (e instanceof ds) throw e;
|
|
9662
9702
|
u.logger.warn("changeType failed", {
|
|
9663
9703
|
from: r.sourceBufferMimeType,
|
|
9664
9704
|
to: r.mimeType,
|
|
@@ -9673,7 +9713,7 @@ var Tv = class {
|
|
|
9673
9713
|
let t = r.sequenceNumber;
|
|
9674
9714
|
if ("fragmented" in n) for (let t of e) "initData" in t && (yield r.sourceBuffer.appendBuffer(t.data, t.initData));
|
|
9675
9715
|
else {
|
|
9676
|
-
let n =
|
|
9716
|
+
let n = $o(e, t++);
|
|
9677
9717
|
yield r.sourceBuffer.appendBuffer(n);
|
|
9678
9718
|
}
|
|
9679
9719
|
r.sequenceNumber = t, r.consecutiveQuotaExceededErrorCount = 0, r.successfulAppendCalls++;
|
|
@@ -9734,7 +9774,7 @@ var Tv = class {
|
|
|
9734
9774
|
this.logger.debug("Suppressing append error from stale track context", { type: e.type });
|
|
9735
9775
|
return;
|
|
9736
9776
|
}
|
|
9737
|
-
if (n instanceof
|
|
9777
|
+
if (n instanceof ds) {
|
|
9738
9778
|
this.logger.debug("Suppressing append error from a disposed source buffer", { type: e.type });
|
|
9739
9779
|
return;
|
|
9740
9780
|
}
|
|
@@ -9764,7 +9804,7 @@ var Tv = class {
|
|
|
9764
9804
|
});
|
|
9765
9805
|
}), e(this, "onSourceOpen", () => {
|
|
9766
9806
|
this.logger.debug("source opened"), this.sourceOpenEndTime = performance.now(), this.isReopening = !1, this.pendingTracksToAddSourceBuffers && (this.setSourceBuffers(this.pendingTracksToAddSourceBuffers).catch((e) => {
|
|
9767
|
-
e instanceof
|
|
9807
|
+
e instanceof ds || this.logger.error("Failed to set source buffers after source open", e);
|
|
9768
9808
|
}), this.pendingTracksToAddSourceBuffers = void 0);
|
|
9769
9809
|
}), e(this, "reopenMediaSource", (e) => {
|
|
9770
9810
|
this.logger.info("Re-opening MediaSource", { reason: e }), this.isReopening = !0, this.recoveredFromErrorCount++;
|
|
@@ -10845,16 +10885,16 @@ var cy = class {
|
|
|
10845
10885
|
}, ly = 6, uy = (e) => {
|
|
10846
10886
|
let t = [e], n = 0, r = 0, i = !1, a = (e, t) => {
|
|
10847
10887
|
var i, a;
|
|
10848
|
-
if (e.flags &&
|
|
10888
|
+
if (e.flags && ts(e.flags)) {
|
|
10849
10889
|
var o;
|
|
10850
10890
|
n = (o = e.compositionTimeOffset) == null ? 0 : o;
|
|
10851
10891
|
}
|
|
10852
10892
|
e.timestamp += n, e.compositionTimeOffset = ((i = e.compositionTimeOffset) == null ? 0 : i) - n;
|
|
10853
|
-
let s = e.timestamp / e.timescale, c = t.flags &&
|
|
10893
|
+
let s = e.timestamp / e.timescale, c = t.flags && ts(t.flags) ? (a = t.compositionTimeOffset) == null ? 0 : a : n, l = (t.timestamp + c) / t.timescale, u = Math.max(0, Math.round((l - s) * e.timescale));
|
|
10854
10894
|
return u > 0 && (r = u), O(O({}, e), {}, { duration: u > 0 ? u : r });
|
|
10855
10895
|
};
|
|
10856
10896
|
return (e, n = !1) => {
|
|
10857
|
-
if (e.flags &&
|
|
10897
|
+
if (e.flags && ts(e.flags) && n && (i = !i), !(n && t.length < ly && i) && t.length > 0) {
|
|
10858
10898
|
i = !1;
|
|
10859
10899
|
let n = e;
|
|
10860
10900
|
for (let e = t.length - 1; e > 0; e--) {
|
|
@@ -10888,7 +10928,7 @@ var cy = class {
|
|
|
10888
10928
|
if (vn(t)) return O(O({}, e), {}, {
|
|
10889
10929
|
type: "video",
|
|
10890
10930
|
codec: t.codec,
|
|
10891
|
-
isSync:
|
|
10931
|
+
isSync: ts(e.flags),
|
|
10892
10932
|
data: e.payload,
|
|
10893
10933
|
duration: 0,
|
|
10894
10934
|
width: t.width,
|
|
@@ -10901,7 +10941,7 @@ var cy = class {
|
|
|
10901
10941
|
sampleRate: t.sampleRate,
|
|
10902
10942
|
codec: t.codec,
|
|
10903
10943
|
language: t.language,
|
|
10904
|
-
isSync:
|
|
10944
|
+
isSync: ts(e.flags),
|
|
10905
10945
|
data: e.payload,
|
|
10906
10946
|
duration: 0
|
|
10907
10947
|
});
|
|
@@ -11039,7 +11079,7 @@ var cy = class {
|
|
|
11039
11079
|
if (!this.hasCalledConnect) {
|
|
11040
11080
|
if (this.hasCalledConnect = !0, Object.values(this.modules).forEach((e) => {
|
|
11041
11081
|
e && "load" in e && e.load();
|
|
11042
|
-
}), this.unsuspend(), this.playbackSource instanceof
|
|
11082
|
+
}), this.unsuspend(), this.playbackSource instanceof Es) {
|
|
11043
11083
|
var e, t;
|
|
11044
11084
|
(e = (t = this.playbackSource).load) == null || e.call(t);
|
|
11045
11085
|
}
|
|
@@ -11115,7 +11155,7 @@ var cy = class {
|
|
|
11115
11155
|
this.emit("text tracks", this.textTracks);
|
|
11116
11156
|
}), e(this, "cleanupTextTracks", (e = this.currentTime - 2e4) => {
|
|
11117
11157
|
T(Oy, this).forEach((t) => {
|
|
11118
|
-
if (t.cues) for (let n of t.cues) n.endTime * 1e3 < e - 2e3 && t.removeCue(n);
|
|
11158
|
+
if (t.cues) for (let n of Array.from(t.cues)) n.endTime * 1e3 < e - 2e3 && t.removeCue(n);
|
|
11119
11159
|
});
|
|
11120
11160
|
}), e(this, "filterRenditions", function() {
|
|
11121
11161
|
var e = t(function* (e) {
|
|
@@ -11127,7 +11167,7 @@ var cy = class {
|
|
|
11127
11167
|
}
|
|
11128
11168
|
if (!vn(e) || !i.isSupportedVideoCodecProfile(e.codec, e.codecString)) return !1;
|
|
11129
11169
|
if (!i.willUseMediaSource()) return i.isWebCodecsVideoAvailable(i.channelId) ? i.webCodecsRenditionSupport.checkVideoSupport(e) : !0;
|
|
11130
|
-
let n = yield
|
|
11170
|
+
let n = yield Ds(e);
|
|
11131
11171
|
if (!n.supported) return !1;
|
|
11132
11172
|
if (e.codec === "av1" && !n.smooth && !n.powerEfficient) return i.logger.debug("discarding av1 rendition, neither smooth nor power efficient", {
|
|
11133
11173
|
codecString: e.codecString,
|
|
@@ -11246,7 +11286,7 @@ var cy = class {
|
|
|
11246
11286
|
var r;
|
|
11247
11287
|
yield (r = i.modules.mseModule) == null ? void 0 : r.setSourceBuffers(n);
|
|
11248
11288
|
} catch (e) {
|
|
11249
|
-
throw e instanceof
|
|
11289
|
+
throw e instanceof ds ? (i.logger.debug("Abandoning decoding module setup for a disposed source buffer"), new y("Source buffer setup was superseded", {
|
|
11250
11290
|
code: "start_failed",
|
|
11251
11291
|
isFatal: !1,
|
|
11252
11292
|
type: "internal",
|
|
@@ -11300,7 +11340,7 @@ var cy = class {
|
|
|
11300
11340
|
}), e(this, "pause", () => {
|
|
11301
11341
|
this.options.get("pauseSupportEnabled") && this.playbackState !== "paused" && (this.playbackSource.pause(), this.hasCalledConnect && this.suspend());
|
|
11302
11342
|
}), e(this, "registerDebugInstance", () => {
|
|
11303
|
-
|
|
11343
|
+
Ts(this);
|
|
11304
11344
|
}), e(this, "play", () => {
|
|
11305
11345
|
var e;
|
|
11306
11346
|
this.hasCalledConnect ? this.unsuspend() : this.playbackState !== "playing" && (this._connect(), self.addEventListener("__vindral_register_debug__", this.registerDebugInstance), this.modules.timer.setInterval(() => this.cleanupTextTracks(), n.REMOVE_CUE_THRESHOLD)), (e = this.wakeLock) == null || e.enable(), this.playbackState === "paused" && this.playbackSource.isActivated && (this.resetModules(), this.emitter.emit("flush buffers"), this.cleanupTextTracks(2 ** 53 - 1)), this.playbackSource.play();
|
|
@@ -11315,12 +11355,12 @@ var cy = class {
|
|
|
11315
11355
|
}), e(this, "resetModules", () => {
|
|
11316
11356
|
Object.values(this.modules).forEach((e) => {
|
|
11317
11357
|
e && "reset" in e && e.reset();
|
|
11318
|
-
}), this.playbackSource instanceof
|
|
11358
|
+
}), this.playbackSource instanceof Es && this.modules.adaptivity.reset(Ey), this.sampleProcessingSesssions.clear(), this.cleanupTextTracks(Infinity), this.playbackSource.currentTime = 0, this.playbackSource.isActivated = !1;
|
|
11319
11359
|
}), e(this, "getRuntimeInfo", () => {
|
|
11320
11360
|
let e = this.modules.canvasModule instanceof bv ? !0 : void 0;
|
|
11321
11361
|
return O({
|
|
11322
11362
|
uptime: this.uptime,
|
|
11323
|
-
version: "4.5.
|
|
11363
|
+
version: "4.5.1-1-g7401e41cc",
|
|
11324
11364
|
clientId: this.clientId,
|
|
11325
11365
|
sessionId: this.sessionId,
|
|
11326
11366
|
channelId: this.channelId,
|
|
@@ -11377,7 +11417,7 @@ var cy = class {
|
|
|
11377
11417
|
options: this.options,
|
|
11378
11418
|
onConnectInfo: this.onConnectInfo
|
|
11379
11419
|
}), ee = Gv.create(this.logger.createContext("SubscriptionModule"), this.emitter, o), _ = Vv.create(this.emitter, ee), v = zv.create(this.emitter, this.logger.createContext("QualityOfServiceModule"), _), te = Fv.create(this.emitter, this.logger.createContext("PlaybackModule"), this, this.options.get("minBufferTime"));
|
|
11380
|
-
this.encryptedMediaExtensions = new
|
|
11420
|
+
this.encryptedMediaExtensions = new Hr(this.emitter, this.logger.createContext("EncryptedMediaExtensions"), r.drm), this.drm = {
|
|
11381
11421
|
setHeaders: (e) => {
|
|
11382
11422
|
this.encryptedMediaExtensions.headers = e;
|
|
11383
11423
|
},
|
|
@@ -11387,7 +11427,7 @@ var cy = class {
|
|
|
11387
11427
|
};
|
|
11388
11428
|
let b = Y_.create(this.emitter), ne = this.options.get("poster"), x = ne === !0 ? this.getThumbnailUrl() : ne || void 0, S, w, D;
|
|
11389
11429
|
if (this.willUseMediaSource()) {
|
|
11390
|
-
let e = new
|
|
11430
|
+
let e = new Es({
|
|
11391
11431
|
type: this.options.get("media") === "audio" ? "audio" : "video",
|
|
11392
11432
|
autoplay: !1,
|
|
11393
11433
|
muted: this.options.get("muted") || this.options.get("media") === "video",
|
|
@@ -11395,7 +11435,7 @@ var cy = class {
|
|
|
11395
11435
|
logger: this.logger.createContext("MediaElement"),
|
|
11396
11436
|
poster: x
|
|
11397
11437
|
});
|
|
11398
|
-
e.on("buffer state", (e) => this.onMediaElementBufferState(e, S)), e.on("needs user input", (e) => this.emitter.emit("needs user input", e)), e.on("volume state", (e) => this.emit("volume state", e)), e.on("media element state", (e) => this.onMediaElementState(e)), this.element = e.element, this.playbackSource = e,
|
|
11438
|
+
e.on("buffer state", (e) => this.onMediaElementBufferState(e, S)), e.on("needs user input", (e) => this.emitter.emit("needs user input", e)), e.on("volume state", (e) => this.emit("volume state", e)), e.on("media element state", (e) => this.onMediaElementState(e)), this.element = e.element, this.playbackSource = e, Hr.isSupported() && this.encryptedMediaExtensions.attach(e.element), S = Tv.create(this.logger.createContext("MseModule"), this.emitter, this.element), this.options.get("pauseSupportEnabled") || (w = ay.create(this.logger.createContext("UnpauseModule"), e, b)), this.options.get("pictureInPictureEnabled") && this.emitter.emit("add picture in picture listener", { element: e.element });
|
|
11399
11439
|
} else if (this.options.get("streamToMediaElementEnabled") && St(this.browser)) {
|
|
11400
11440
|
let e = bv.create(this.emitter, this.logger.createContext("ModernCanvasModule"), this.pool, this, {
|
|
11401
11441
|
type: this.options.get("media") === "audio" ? "audio" : "video",
|
|
@@ -11412,7 +11452,7 @@ var cy = class {
|
|
|
11412
11452
|
let e;
|
|
11413
11453
|
e = vv.create(this.emitter, this.logger.createContext("LegacyCanvasModule"), this.pool, this, this.options.get("muted") || this.options.get("media") === "video", this.options.get("volume"), () => {
|
|
11414
11454
|
this.setElement(e.element());
|
|
11415
|
-
}, this.options.get("minBufferTime")), this.element = e.element(), this.playbackSource = e, D = e, this.options.get("iosWakeLockEnabled") && (this.wakeLock = new
|
|
11455
|
+
}, this.options.get("minBufferTime")), this.element = e.element(), this.playbackSource = e, D = e, this.options.get("iosWakeLockEnabled") && (this.wakeLock = new gs());
|
|
11416
11456
|
}
|
|
11417
11457
|
this.emitter.on("channel reset", this.resetModules), this.emitter.on("no data timeout", this.resetModules), this.emitter.on("media element state", (e) => this.onMediaElementState(e)), this.emitter.on("volume state", (e) => this.emit("volume state", e)), this.options.get("pauseSupportEnabled") || this.emitter.on("exit picture in picture", () => h.setTimeout(() => this.play(), 0)), this.emitter.on("constraint cap changed", (e) => {
|
|
11418
11458
|
this.logger.info("new cap set", { cap: e }), this.alignSizeAndBitRate(this.targetSubscription);
|
|
@@ -11435,12 +11475,12 @@ var cy = class {
|
|
|
11435
11475
|
includeStats: !1,
|
|
11436
11476
|
interval: 5e3
|
|
11437
11477
|
}, this),
|
|
11438
|
-
bufferTime:
|
|
11478
|
+
bufferTime: Bs.create(this.emitter, this.logger.createContext("BufferTimeModule"), v, this, {
|
|
11439
11479
|
maxBufferTime: this.options.get("maxBufferTime"),
|
|
11440
11480
|
minBufferTime: this.options.get("minBufferTime")
|
|
11441
11481
|
}),
|
|
11442
11482
|
incomingData: ev.create(this.emitter),
|
|
11443
|
-
adaptivity:
|
|
11483
|
+
adaptivity: Ls.create(this.emitter, this.logger.createContext("AdaptivityModule"), v, { cooldownTime: Math.max(this.options.get("minBufferTime"), 2e3) }),
|
|
11444
11484
|
constraintCap: P_.create(this.emitter, this.element, _, this.options.get("abrEnabled") ? this.options.get("sizeBasedResolutionCapEnabled") : !1),
|
|
11445
11485
|
event: Q_.create(this.emitter, this.logger.createContext("EventModule"), se),
|
|
11446
11486
|
sync: se,
|
|
@@ -11577,7 +11617,7 @@ var cy = class {
|
|
|
11577
11617
|
}), this.emitter.on("channel switch timeout", (e) => {
|
|
11578
11618
|
this.emit("error", u(e)), this.emit("channel switch failed", { channelId: this.currentSubscription.channelId });
|
|
11579
11619
|
}), this.emitter.on("received data", (e) => {
|
|
11580
|
-
let t = this.modules.subscription.getCurrentSubscription(), n =
|
|
11620
|
+
let t = this.modules.subscription.getCurrentSubscription(), n = os(e);
|
|
11581
11621
|
if (!t) {
|
|
11582
11622
|
this.logger.warn("Received unwanted message", O({}, n));
|
|
11583
11623
|
return;
|
|
@@ -11610,7 +11650,7 @@ var cy = class {
|
|
|
11610
11650
|
isKeyframe: i.startsWithKeyframe()
|
|
11611
11651
|
}), i.fragment().emsgs.forEach((e) => {
|
|
11612
11652
|
if (!e.presentationTime) return;
|
|
11613
|
-
let t =
|
|
11653
|
+
let t = li(e.data);
|
|
11614
11654
|
t && this.modules.event.addEvent({
|
|
11615
11655
|
id: e.id,
|
|
11616
11656
|
timestamp: e.presentationTime / e.timescale * 1e3 - this.modules.sync.getTimeshiftOffset(),
|
|
@@ -11626,8 +11666,8 @@ var cy = class {
|
|
|
11626
11666
|
} else if (d === "h265") {
|
|
11627
11667
|
var l, u, f;
|
|
11628
11668
|
let e = (l = a == null || (u = a.hvc1) == null ? void 0 : u.data()) == null ? a == null || (f = a.hev1) == null ? void 0 : f.data() : l;
|
|
11629
|
-
e && (h =
|
|
11630
|
-
} else if (d === "av1" && a != null && a.av01) h =
|
|
11669
|
+
e && (h = si(e));
|
|
11670
|
+
} else if (d === "av1" && a != null && a.av01) h = Eo(a.av01.data());
|
|
11631
11671
|
else if (d === "aac") {
|
|
11632
11672
|
var p;
|
|
11633
11673
|
h = a == null || (p = a.mp4a) == null || (p = p.esds) == null ? void 0 : p.decoderConfig;
|
|
@@ -11689,18 +11729,24 @@ var cy = class {
|
|
|
11689
11729
|
let t = e.channelId;
|
|
11690
11730
|
T(ky, i) && (yield T(ky, i));
|
|
11691
11731
|
let n = i.modules.renditions.getRendition(e.renditionId, t);
|
|
11692
|
-
if (!
|
|
11693
|
-
if (
|
|
11732
|
+
if (!rs(e.flags)) {
|
|
11733
|
+
if (is(e.flags)) {
|
|
11694
11734
|
let t = new TextDecoder().decode(e.payload), n = i.modules.sync.getTimeshiftOffset();
|
|
11695
11735
|
if (e.renditionId !== 0) {
|
|
11696
11736
|
let e = ie(t);
|
|
11697
11737
|
if (e && e.language !== void 0) {
|
|
11698
|
-
let t = new
|
|
11699
|
-
|
|
11700
|
-
|
|
11701
|
-
|
|
11702
|
-
|
|
11703
|
-
|
|
11738
|
+
let t = new Ss(), r = [];
|
|
11739
|
+
try {
|
|
11740
|
+
r = t.parse(e.content || "");
|
|
11741
|
+
} catch (e) {
|
|
11742
|
+
i.logger.warn("failed to parse WebVTT segment, dropping it", e);
|
|
11743
|
+
}
|
|
11744
|
+
let a = n / 1e3, o = T(Oy, i).find((t) => t.language === e.language), s = a - T(Dy, i);
|
|
11745
|
+
if (E(Dy, i, a), o) {
|
|
11746
|
+
if (o.cues) for (let e of o.cues) e.startTime -= s, e.endTime -= s;
|
|
11747
|
+
for (let e of r) {
|
|
11748
|
+
let t = new VTTCue(e.startTime - a, e.endTime - a, e.text);
|
|
11749
|
+
o.addCue(t);
|
|
11704
11750
|
}
|
|
11705
11751
|
}
|
|
11706
11752
|
}
|
|
@@ -11712,12 +11758,12 @@ var cy = class {
|
|
|
11712
11758
|
} else if (n != null && n.codec) {
|
|
11713
11759
|
let r = ue(n.codec);
|
|
11714
11760
|
if (r === "text") throw Error("Subtitles are not supported");
|
|
11715
|
-
if (i.modules.incomingData.add(r, e.payload.byteLength),
|
|
11761
|
+
if (i.modules.incomingData.add(r, e.payload.byteLength), ns(e.flags)) {
|
|
11716
11762
|
let a = O(O({
|
|
11717
11763
|
type: r,
|
|
11718
11764
|
data: e.payload,
|
|
11719
11765
|
codec: n.codec
|
|
11720
|
-
}, e), {}, { channelId: t }), o =
|
|
11766
|
+
}, e), {}, { channelId: t }), o = qo(a.codec, a.payload);
|
|
11721
11767
|
o && i.sizes.set(a.renditionId, o);
|
|
11722
11768
|
let s = bn({
|
|
11723
11769
|
codec: n.codec,
|