@moq/watch 0.2.4 → 0.2.5
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/audio/source.d.ts.map +1 -1
- package/backend.d.ts +5 -1
- package/backend.d.ts.map +1 -1
- package/{broadcast-b-IDmAB3.js → broadcast-CZkbruBC.js} +912 -854
- package/{broadcast-b-IDmAB3.js.map → broadcast-CZkbruBC.js.map} +1 -1
- package/element.d.ts +7 -3
- package/element.d.ts.map +1 -1
- package/element.js +67 -43
- package/element.js.map +1 -1
- package/index.js +2 -2
- package/package.json +3 -3
- package/sync.d.ts +8 -2
- package/sync.d.ts.map +1 -1
- package/ui/components/BufferControl.d.ts +1 -1
- package/ui/context.d.ts +3 -1
- package/ui/context.d.ts.map +1 -1
- package/ui/index.js +255 -254
- package/ui/index.js.map +1 -1
- package/video/renderer.d.ts +3 -0
- package/video/renderer.d.ts.map +1 -1
- package/video/source.d.ts.map +1 -1
package/ui/index.js
CHANGED
|
@@ -3,27 +3,27 @@ import { Signals as Ut } from "@moq/hang";
|
|
|
3
3
|
const Kt = !1, Dt = (t, e) => t === e, Ht = /* @__PURE__ */ Symbol("solid-track"), rt = {
|
|
4
4
|
equals: Dt
|
|
5
5
|
};
|
|
6
|
-
let
|
|
6
|
+
let Mt = Vt;
|
|
7
7
|
const F = 1, at = 2, Rt = {
|
|
8
8
|
owned: null,
|
|
9
9
|
cleanups: null,
|
|
10
10
|
context: null,
|
|
11
11
|
owner: null
|
|
12
12
|
};
|
|
13
|
-
var
|
|
14
|
-
let
|
|
13
|
+
var p = null;
|
|
14
|
+
let gt = null, Gt = null, v = null, C = null, j = null, ut = 0;
|
|
15
15
|
function nt(t, e) {
|
|
16
|
-
const n =
|
|
16
|
+
const n = v, a = p, r = t.length === 0, o = e === void 0 ? a : e, s = r ? Rt : {
|
|
17
17
|
owned: null,
|
|
18
18
|
cleanups: null,
|
|
19
19
|
context: o ? o.context : null,
|
|
20
20
|
owner: o
|
|
21
|
-
}, i = r ? t : () => t(() =>
|
|
22
|
-
|
|
21
|
+
}, i = r ? t : () => t(() => I(() => Q(s)));
|
|
22
|
+
p = s, v = null;
|
|
23
23
|
try {
|
|
24
|
-
return
|
|
24
|
+
return J(i, !0);
|
|
25
25
|
} finally {
|
|
26
|
-
|
|
26
|
+
v = n, p = a;
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
function E(t, e) {
|
|
@@ -33,43 +33,43 @@ function E(t, e) {
|
|
|
33
33
|
observers: null,
|
|
34
34
|
observerSlots: null,
|
|
35
35
|
comparator: e.equals || void 0
|
|
36
|
-
}, a = (r) => (typeof r == "function" && (r = r(n.value)),
|
|
37
|
-
return [
|
|
36
|
+
}, a = (r) => (typeof r == "function" && (r = r(n.value)), It(n, r));
|
|
37
|
+
return [Tt.bind(n), a];
|
|
38
38
|
}
|
|
39
|
-
function
|
|
40
|
-
const a =
|
|
39
|
+
function T(t, e, n) {
|
|
40
|
+
const a = kt(t, e, !1, F);
|
|
41
41
|
X(a);
|
|
42
42
|
}
|
|
43
|
-
function
|
|
44
|
-
|
|
45
|
-
const a =
|
|
46
|
-
a.user = !0,
|
|
43
|
+
function Lt(t, e, n) {
|
|
44
|
+
Mt = te;
|
|
45
|
+
const a = kt(t, e, !1, F);
|
|
46
|
+
a.user = !0, j ? j.push(a) : X(a);
|
|
47
47
|
}
|
|
48
48
|
function B(t, e, n) {
|
|
49
49
|
n = n ? Object.assign({}, rt, n) : rt;
|
|
50
|
-
const a =
|
|
51
|
-
return a.observers = null, a.observerSlots = null, a.comparator = n.equals || void 0, X(a),
|
|
50
|
+
const a = kt(t, e, !0, 0);
|
|
51
|
+
return a.observers = null, a.observerSlots = null, a.comparator = n.equals || void 0, X(a), Tt.bind(a);
|
|
52
52
|
}
|
|
53
|
-
function
|
|
54
|
-
if (
|
|
55
|
-
const e =
|
|
56
|
-
|
|
53
|
+
function I(t) {
|
|
54
|
+
if (v === null) return t();
|
|
55
|
+
const e = v;
|
|
56
|
+
v = null;
|
|
57
57
|
try {
|
|
58
58
|
return t();
|
|
59
59
|
} finally {
|
|
60
|
-
|
|
60
|
+
v = e;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
function Wt(t) {
|
|
64
|
-
|
|
64
|
+
Lt(() => I(t));
|
|
65
65
|
}
|
|
66
66
|
function ft(t) {
|
|
67
|
-
return
|
|
67
|
+
return p === null || (p.cleanups === null ? p.cleanups = [t] : p.cleanups.push(t)), t;
|
|
68
68
|
}
|
|
69
|
-
function
|
|
70
|
-
return
|
|
69
|
+
function Qt() {
|
|
70
|
+
return p;
|
|
71
71
|
}
|
|
72
|
-
function
|
|
72
|
+
function Xt(t, e) {
|
|
73
73
|
const n = /* @__PURE__ */ Symbol("context");
|
|
74
74
|
return {
|
|
75
75
|
id: n,
|
|
@@ -77,39 +77,39 @@ function Qt(t, e) {
|
|
|
77
77
|
defaultValue: t
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
|
-
function
|
|
80
|
+
function jt(t) {
|
|
81
81
|
let e;
|
|
82
|
-
return
|
|
82
|
+
return p && p.context && (e = p.context[t.id]) !== void 0 ? e : t.defaultValue;
|
|
83
83
|
}
|
|
84
|
-
function
|
|
85
|
-
const e = B(t), n = B(() =>
|
|
84
|
+
function Jt(t) {
|
|
85
|
+
const e = B(t), n = B(() => wt(e()));
|
|
86
86
|
return n.toArray = () => {
|
|
87
87
|
const a = n();
|
|
88
88
|
return Array.isArray(a) ? a : a != null ? [a] : [];
|
|
89
89
|
}, n;
|
|
90
90
|
}
|
|
91
|
-
function
|
|
91
|
+
function Tt() {
|
|
92
92
|
if (this.sources && this.state)
|
|
93
93
|
if (this.state === F) X(this);
|
|
94
94
|
else {
|
|
95
|
-
const t =
|
|
96
|
-
|
|
95
|
+
const t = C;
|
|
96
|
+
C = null, J(() => it(this), !1), C = t;
|
|
97
97
|
}
|
|
98
|
-
if (
|
|
98
|
+
if (v) {
|
|
99
99
|
const t = this.observers ? this.observers.length : 0;
|
|
100
|
-
|
|
100
|
+
v.sources ? (v.sources.push(this), v.sourceSlots.push(t)) : (v.sources = [this], v.sourceSlots = [t]), this.observers ? (this.observers.push(v), this.observerSlots.push(v.sources.length - 1)) : (this.observers = [v], this.observerSlots = [v.sources.length - 1]);
|
|
101
101
|
}
|
|
102
102
|
return this.value;
|
|
103
103
|
}
|
|
104
|
-
function
|
|
104
|
+
function It(t, e, n) {
|
|
105
105
|
let a = t.value;
|
|
106
|
-
return (!t.comparator || !t.comparator(a, e)) && (t.value = e, t.observers && t.observers.length &&
|
|
106
|
+
return (!t.comparator || !t.comparator(a, e)) && (t.value = e, t.observers && t.observers.length && J(() => {
|
|
107
107
|
for (let r = 0; r < t.observers.length; r += 1) {
|
|
108
|
-
const o = t.observers[r], s =
|
|
109
|
-
s &&
|
|
108
|
+
const o = t.observers[r], s = gt && gt.running;
|
|
109
|
+
s && gt.disposed.has(o), (s ? !o.tState : !o.state) && (o.pure ? C.push(o) : j.push(o), o.observers && zt(o)), s || (o.state = F);
|
|
110
110
|
}
|
|
111
|
-
if (
|
|
112
|
-
throw
|
|
111
|
+
if (C.length > 1e6)
|
|
112
|
+
throw C = [], new Error();
|
|
113
113
|
}, !1)), e;
|
|
114
114
|
}
|
|
115
115
|
function X(t) {
|
|
@@ -120,18 +120,18 @@ function X(t) {
|
|
|
120
120
|
}
|
|
121
121
|
function Zt(t, e, n) {
|
|
122
122
|
let a;
|
|
123
|
-
const r =
|
|
124
|
-
|
|
123
|
+
const r = p, o = v;
|
|
124
|
+
v = p = t;
|
|
125
125
|
try {
|
|
126
126
|
a = t.fn(e);
|
|
127
127
|
} catch (s) {
|
|
128
128
|
return t.pure && (t.state = F, t.owned && t.owned.forEach(Q), t.owned = null), t.updatedAt = n + 1, Ot(s);
|
|
129
129
|
} finally {
|
|
130
|
-
|
|
130
|
+
v = o, p = r;
|
|
131
131
|
}
|
|
132
|
-
(!t.updatedAt || t.updatedAt <= n) && (t.updatedAt != null && "observers" in t ?
|
|
132
|
+
(!t.updatedAt || t.updatedAt <= n) && (t.updatedAt != null && "observers" in t ? It(t, a) : t.value = a, t.updatedAt = n);
|
|
133
133
|
}
|
|
134
|
-
function
|
|
134
|
+
function kt(t, e, n, a = F, r) {
|
|
135
135
|
const o = {
|
|
136
136
|
fn: t,
|
|
137
137
|
state: a,
|
|
@@ -141,16 +141,16 @@ function xt(t, e, n, a = F, r) {
|
|
|
141
141
|
sourceSlots: null,
|
|
142
142
|
cleanups: null,
|
|
143
143
|
value: e,
|
|
144
|
-
owner:
|
|
145
|
-
context:
|
|
144
|
+
owner: p,
|
|
145
|
+
context: p ? p.context : null,
|
|
146
146
|
pure: n
|
|
147
147
|
};
|
|
148
|
-
return
|
|
148
|
+
return p === null || p !== Rt && (p.owned ? p.owned.push(o) : p.owned = [o]), o;
|
|
149
149
|
}
|
|
150
150
|
function ot(t) {
|
|
151
151
|
if (t.state === 0) return;
|
|
152
152
|
if (t.state === at) return it(t);
|
|
153
|
-
if (t.suspense &&
|
|
153
|
+
if (t.suspense && I(t.suspense.inFallback)) return t.suspense.effects.push(t);
|
|
154
154
|
const e = [t];
|
|
155
155
|
for (; (t = t.owner) && (!t.updatedAt || t.updatedAt < ut); )
|
|
156
156
|
t.state && e.push(t);
|
|
@@ -158,25 +158,25 @@ function ot(t) {
|
|
|
158
158
|
if (t = e[n], t.state === F)
|
|
159
159
|
X(t);
|
|
160
160
|
else if (t.state === at) {
|
|
161
|
-
const a =
|
|
162
|
-
|
|
161
|
+
const a = C;
|
|
162
|
+
C = null, J(() => it(t, e[0]), !1), C = a;
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
|
-
function
|
|
166
|
-
if (
|
|
165
|
+
function J(t, e) {
|
|
166
|
+
if (C) return t();
|
|
167
167
|
let n = !1;
|
|
168
|
-
e || (
|
|
168
|
+
e || (C = []), j ? n = !0 : j = [], ut++;
|
|
169
169
|
try {
|
|
170
170
|
const a = t();
|
|
171
171
|
return Yt(n), a;
|
|
172
172
|
} catch (a) {
|
|
173
|
-
n || (
|
|
173
|
+
n || (j = null), C = null, Ot(a);
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
function Yt(t) {
|
|
177
|
-
if (
|
|
178
|
-
const e =
|
|
179
|
-
|
|
177
|
+
if (C && (Vt(C), C = null), t) return;
|
|
178
|
+
const e = j;
|
|
179
|
+
j = null, e.length && J(() => Mt(e), !1);
|
|
180
180
|
}
|
|
181
181
|
function Vt(t) {
|
|
182
182
|
for (let e = 0; e < t.length; e++) ot(t[e]);
|
|
@@ -202,7 +202,7 @@ function it(t, e) {
|
|
|
202
202
|
function zt(t) {
|
|
203
203
|
for (let e = 0; e < t.observers.length; e += 1) {
|
|
204
204
|
const n = t.observers[e];
|
|
205
|
-
n.state || (n.state = at, n.pure ?
|
|
205
|
+
n.state || (n.state = at, n.pure ? C.push(n) : j.push(n), n.observers && zt(n));
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
208
|
function Q(t) {
|
|
@@ -234,15 +234,15 @@ function ee(t) {
|
|
|
234
234
|
cause: t
|
|
235
235
|
});
|
|
236
236
|
}
|
|
237
|
-
function Ot(t, e =
|
|
237
|
+
function Ot(t, e = p) {
|
|
238
238
|
throw ee(t);
|
|
239
239
|
}
|
|
240
|
-
function
|
|
241
|
-
if (typeof t == "function" && !t.length) return
|
|
240
|
+
function wt(t) {
|
|
241
|
+
if (typeof t == "function" && !t.length) return wt(t());
|
|
242
242
|
if (Array.isArray(t)) {
|
|
243
243
|
const e = [];
|
|
244
244
|
for (let n = 0; n < t.length; n++) {
|
|
245
|
-
const a =
|
|
245
|
+
const a = wt(t[n]);
|
|
246
246
|
Array.isArray(a) ? e.push.apply(e, a) : e.push(a);
|
|
247
247
|
}
|
|
248
248
|
return e;
|
|
@@ -252,10 +252,10 @@ function vt(t) {
|
|
|
252
252
|
function ne(t, e) {
|
|
253
253
|
return function(a) {
|
|
254
254
|
let r;
|
|
255
|
-
return
|
|
256
|
-
...
|
|
255
|
+
return T(() => r = I(() => (p.context = {
|
|
256
|
+
...p.context,
|
|
257
257
|
[t]: a.value
|
|
258
|
-
},
|
|
258
|
+
}, Jt(() => a.children))), void 0), r;
|
|
259
259
|
};
|
|
260
260
|
}
|
|
261
261
|
const re = /* @__PURE__ */ Symbol("fallback");
|
|
@@ -266,39 +266,39 @@ function ae(t, e, n = {}) {
|
|
|
266
266
|
let a = [], r = [], o = [], s = 0, i = e.length > 1 ? [] : null;
|
|
267
267
|
return ft(() => At(o)), () => {
|
|
268
268
|
let c = t() || [], u = c.length, f, l;
|
|
269
|
-
return c[Ht],
|
|
270
|
-
let x,
|
|
269
|
+
return c[Ht], I(() => {
|
|
270
|
+
let x, A, y, P, $, m, h, d, _;
|
|
271
271
|
if (u === 0)
|
|
272
|
-
s !== 0 && (At(o), o = [], a = [], r = [], s = 0, i && (i = [])), n.fallback && (a = [re], r[0] = nt((
|
|
272
|
+
s !== 0 && (At(o), o = [], a = [], r = [], s = 0, i && (i = [])), n.fallback && (a = [re], r[0] = nt((q) => (o[0] = q, n.fallback())), s = 1);
|
|
273
273
|
else if (s === 0) {
|
|
274
274
|
for (r = new Array(u), l = 0; l < u; l++)
|
|
275
|
-
a[l] = c[l], r[l] = nt(
|
|
275
|
+
a[l] = c[l], r[l] = nt(S);
|
|
276
276
|
s = u;
|
|
277
277
|
} else {
|
|
278
|
-
for (y = new Array(u), P = new Array(u), i && (
|
|
279
|
-
for (h = s - 1, d = u - 1; h >=
|
|
280
|
-
y[d] = r[h], P[d] = o[h], i && (
|
|
281
|
-
for (x = /* @__PURE__ */ new Map(),
|
|
282
|
-
_ = c[l], f = x.get(_),
|
|
283
|
-
for (f =
|
|
284
|
-
_ = a[f], l = x.get(_), l !== void 0 && l !== -1 ? (y[l] = r[f], P[l] = o[f], i && (
|
|
285
|
-
for (l =
|
|
286
|
-
l in y ? (r[l] = y[l], o[l] = P[l], i && (i[l] =
|
|
278
|
+
for (y = new Array(u), P = new Array(u), i && ($ = new Array(u)), m = 0, h = Math.min(s, u); m < h && a[m] === c[m]; m++) ;
|
|
279
|
+
for (h = s - 1, d = u - 1; h >= m && d >= m && a[h] === c[d]; h--, d--)
|
|
280
|
+
y[d] = r[h], P[d] = o[h], i && ($[d] = i[h]);
|
|
281
|
+
for (x = /* @__PURE__ */ new Map(), A = new Array(d + 1), l = d; l >= m; l--)
|
|
282
|
+
_ = c[l], f = x.get(_), A[l] = f === void 0 ? -1 : f, x.set(_, l);
|
|
283
|
+
for (f = m; f <= h; f++)
|
|
284
|
+
_ = a[f], l = x.get(_), l !== void 0 && l !== -1 ? (y[l] = r[f], P[l] = o[f], i && ($[l] = i[f]), l = A[l], x.set(_, l)) : o[f]();
|
|
285
|
+
for (l = m; l < u; l++)
|
|
286
|
+
l in y ? (r[l] = y[l], o[l] = P[l], i && (i[l] = $[l], i[l](l))) : r[l] = nt(S);
|
|
287
287
|
r = r.slice(0, s = u), a = c.slice(0);
|
|
288
288
|
}
|
|
289
289
|
return r;
|
|
290
290
|
});
|
|
291
|
-
function
|
|
291
|
+
function S(x) {
|
|
292
292
|
if (o[l] = x, i) {
|
|
293
|
-
const [
|
|
294
|
-
return i[l] = y, e(c[l],
|
|
293
|
+
const [A, y] = E(l);
|
|
294
|
+
return i[l] = y, e(c[l], A);
|
|
295
295
|
}
|
|
296
296
|
return e(c[l]);
|
|
297
297
|
}
|
|
298
298
|
};
|
|
299
299
|
}
|
|
300
|
-
function
|
|
301
|
-
return
|
|
300
|
+
function g(t, e) {
|
|
301
|
+
return I(() => t(e || {}));
|
|
302
302
|
}
|
|
303
303
|
const oe = (t) => `Stale read from <${t}>.`;
|
|
304
304
|
function ie(t) {
|
|
@@ -307,7 +307,7 @@ function ie(t) {
|
|
|
307
307
|
};
|
|
308
308
|
return B(ae(() => t.each, t.children, e || void 0));
|
|
309
309
|
}
|
|
310
|
-
function
|
|
310
|
+
function Z(t) {
|
|
311
311
|
const e = t.keyed, n = B(() => t.when, void 0, void 0), a = e ? n : B(n, void 0, {
|
|
312
312
|
equals: (r, o) => !r == !o
|
|
313
313
|
});
|
|
@@ -315,15 +315,15 @@ function Y(t) {
|
|
|
315
315
|
const r = a();
|
|
316
316
|
if (r) {
|
|
317
317
|
const o = t.children;
|
|
318
|
-
return typeof o == "function" && o.length > 0 ?
|
|
319
|
-
if (!
|
|
318
|
+
return typeof o == "function" && o.length > 0 ? I(() => o(e ? r : () => {
|
|
319
|
+
if (!I(a)) throw oe("Show");
|
|
320
320
|
return n();
|
|
321
321
|
})) : o;
|
|
322
322
|
}
|
|
323
323
|
return t.fallback;
|
|
324
324
|
}, void 0, void 0);
|
|
325
325
|
}
|
|
326
|
-
const
|
|
326
|
+
const mt = (t) => B(() => t());
|
|
327
327
|
function se(t, e, n) {
|
|
328
328
|
let a = n.length, r = e.length, o = a, s = 0, i = 0, c = e[r - 1].nextSibling, u = null;
|
|
329
329
|
for (; s < r || i < o; ) {
|
|
@@ -351,12 +351,12 @@ function se(t, e, n) {
|
|
|
351
351
|
const f = u.get(e[s]);
|
|
352
352
|
if (f != null)
|
|
353
353
|
if (i < f && f < o) {
|
|
354
|
-
let l = s,
|
|
355
|
-
for (; ++l < r && l < o && !((x = u.get(e[l])) == null || x !== f +
|
|
356
|
-
|
|
357
|
-
if (
|
|
358
|
-
const
|
|
359
|
-
for (; i < f; ) t.insertBefore(n[i++],
|
|
354
|
+
let l = s, S = 1, x;
|
|
355
|
+
for (; ++l < r && l < o && !((x = u.get(e[l])) == null || x !== f + S); )
|
|
356
|
+
S++;
|
|
357
|
+
if (S > f - i) {
|
|
358
|
+
const A = e[s];
|
|
359
|
+
for (; i < f; ) t.insertBefore(n[i++], A);
|
|
360
360
|
} else t.replaceChild(n[i++], e[s++]);
|
|
361
361
|
} else s++;
|
|
362
362
|
else e[s++].remove();
|
|
@@ -382,18 +382,18 @@ function le(t, e = window.document) {
|
|
|
382
382
|
function pt(t, e, n) {
|
|
383
383
|
n == null ? t.removeAttribute(e) : t.setAttribute(e, n);
|
|
384
384
|
}
|
|
385
|
-
function
|
|
385
|
+
function yt(t, e) {
|
|
386
386
|
e == null ? t.removeAttribute("class") : t.className = e;
|
|
387
387
|
}
|
|
388
388
|
function ce(t, e, n) {
|
|
389
389
|
n != null ? t.style.setProperty(e, n) : t.style.removeProperty(e);
|
|
390
390
|
}
|
|
391
|
-
function
|
|
392
|
-
return
|
|
391
|
+
function _t(t, e, n) {
|
|
392
|
+
return I(() => t(e, n));
|
|
393
393
|
}
|
|
394
|
-
function
|
|
394
|
+
function w(t, e, n, a) {
|
|
395
395
|
if (n !== void 0 && !a && (a = []), typeof e != "function") return st(t, e, a, n);
|
|
396
|
-
|
|
396
|
+
T((r) => st(t, e(), r, n), a);
|
|
397
397
|
}
|
|
398
398
|
function ue(t) {
|
|
399
399
|
let e = t.target;
|
|
@@ -438,48 +438,48 @@ function st(t, e, n, a, r) {
|
|
|
438
438
|
return n;
|
|
439
439
|
if (s) {
|
|
440
440
|
let i = n[0];
|
|
441
|
-
i && i.nodeType === 3 ? i.data !== e && (i.data = e) : i = document.createTextNode(e), n =
|
|
441
|
+
i && i.nodeType === 3 ? i.data !== e && (i.data = e) : i = document.createTextNode(e), n = G(t, n, a, i);
|
|
442
442
|
} else
|
|
443
443
|
n !== "" && typeof n == "string" ? n = t.firstChild.data = e : n = t.textContent = e;
|
|
444
444
|
} else if (e == null || o === "boolean")
|
|
445
|
-
n =
|
|
445
|
+
n = G(t, n, a);
|
|
446
446
|
else {
|
|
447
447
|
if (o === "function")
|
|
448
|
-
return
|
|
448
|
+
return T(() => {
|
|
449
449
|
let i = e();
|
|
450
450
|
for (; typeof i == "function"; ) i = i();
|
|
451
451
|
n = st(t, i, n, a);
|
|
452
452
|
}), () => n;
|
|
453
453
|
if (Array.isArray(e)) {
|
|
454
454
|
const i = [], c = n && Array.isArray(n);
|
|
455
|
-
if (
|
|
456
|
-
return
|
|
455
|
+
if (xt(i, e, n, r))
|
|
456
|
+
return T(() => n = st(t, i, n, a, !0)), () => n;
|
|
457
457
|
if (i.length === 0) {
|
|
458
|
-
if (n =
|
|
459
|
-
} else c ? n.length === 0 ? Et(t, i, a) : se(t, n, i) : (n &&
|
|
458
|
+
if (n = G(t, n, a), s) return n;
|
|
459
|
+
} else c ? n.length === 0 ? Et(t, i, a) : se(t, n, i) : (n && G(t), Et(t, i));
|
|
460
460
|
n = i;
|
|
461
461
|
} else if (e.nodeType) {
|
|
462
462
|
if (Array.isArray(n)) {
|
|
463
|
-
if (s) return n =
|
|
464
|
-
|
|
463
|
+
if (s) return n = G(t, n, a, e);
|
|
464
|
+
G(t, n, null, e);
|
|
465
465
|
} else n == null || n === "" || !t.firstChild ? t.appendChild(e) : t.replaceChild(e, t.firstChild);
|
|
466
466
|
n = e;
|
|
467
467
|
}
|
|
468
468
|
}
|
|
469
469
|
return n;
|
|
470
470
|
}
|
|
471
|
-
function
|
|
471
|
+
function xt(t, e, n, a) {
|
|
472
472
|
let r = !1;
|
|
473
473
|
for (let o = 0, s = e.length; o < s; o++) {
|
|
474
474
|
let i = e[o], c = n && n[t.length], u;
|
|
475
475
|
if (!(i == null || i === !0 || i === !1)) if ((u = typeof i) == "object" && i.nodeType)
|
|
476
476
|
t.push(i);
|
|
477
477
|
else if (Array.isArray(i))
|
|
478
|
-
r =
|
|
478
|
+
r = xt(t, i, c) || r;
|
|
479
479
|
else if (u === "function")
|
|
480
480
|
if (a) {
|
|
481
481
|
for (; typeof i == "function"; ) i = i();
|
|
482
|
-
r =
|
|
482
|
+
r = xt(t, Array.isArray(i) ? i : [i], Array.isArray(c) ? c : [c]) || r;
|
|
483
483
|
} else
|
|
484
484
|
t.push(i), r = !0;
|
|
485
485
|
else {
|
|
@@ -492,7 +492,7 @@ function yt(t, e, n, a) {
|
|
|
492
492
|
function Et(t, e, n = null) {
|
|
493
493
|
for (let a = 0, r = e.length; a < r; a++) t.insertBefore(e[a], n);
|
|
494
494
|
}
|
|
495
|
-
function
|
|
495
|
+
function G(t, e, n, a) {
|
|
496
496
|
if (n === void 0) return t.textContent = "";
|
|
497
497
|
const r = a || document.createTextNode("");
|
|
498
498
|
if (e.length) {
|
|
@@ -518,13 +518,13 @@ function de(t) {
|
|
|
518
518
|
const r = t[a];
|
|
519
519
|
return n[a] = Ft(r) && "value" in r ? r : {
|
|
520
520
|
value: r
|
|
521
|
-
}, n[a].attribute || (n[a].attribute =
|
|
521
|
+
}, n[a].attribute || (n[a].attribute = pe(a)), n[a].parse = "parse" in n[a] ? n[a].parse : typeof n[a].value != "string", n;
|
|
522
522
|
}, {}) : {};
|
|
523
523
|
}
|
|
524
524
|
function he(t) {
|
|
525
525
|
return Object.keys(t).reduce((n, a) => (n[a] = t[a].value, n), {});
|
|
526
526
|
}
|
|
527
|
-
function
|
|
527
|
+
function ge(t, e) {
|
|
528
528
|
const n = fe(e);
|
|
529
529
|
return Object.keys(e).forEach((r) => {
|
|
530
530
|
const o = n[r], s = t.getAttribute(o.attribute), i = t[r];
|
|
@@ -556,7 +556,7 @@ function Pt(t, e, n, a) {
|
|
|
556
556
|
let r = a ? JSON.stringify(n) : n;
|
|
557
557
|
t.__updating[e] = !0, r === "true" && (r = ""), t.setAttribute(e, r), Promise.resolve().then(() => delete t.__updating[e]);
|
|
558
558
|
}
|
|
559
|
-
function
|
|
559
|
+
function pe(t) {
|
|
560
560
|
return t.replace(/\.?([A-Z]+)/g, (e, n) => "-" + n.toLowerCase()).replace("_", "-").replace(/^-/, "");
|
|
561
561
|
}
|
|
562
562
|
function Ft(t) {
|
|
@@ -568,7 +568,7 @@ function _e(t) {
|
|
|
568
568
|
function be(t) {
|
|
569
569
|
return typeof t == "function" && t.toString().indexOf("class") === 0;
|
|
570
570
|
}
|
|
571
|
-
let
|
|
571
|
+
let bt;
|
|
572
572
|
function ve(t, e) {
|
|
573
573
|
const n = Object.keys(e);
|
|
574
574
|
return class extends t {
|
|
@@ -582,16 +582,16 @@ function ve(t, e) {
|
|
|
582
582
|
}
|
|
583
583
|
connectedCallback() {
|
|
584
584
|
if (this.__initialized) return;
|
|
585
|
-
this.__releaseCallbacks = [], this.__propertyChangedCallbacks = [], this.__updating = {}, this.props =
|
|
586
|
-
const r = he(this.props), o = this.Component, s =
|
|
585
|
+
this.__releaseCallbacks = [], this.__propertyChangedCallbacks = [], this.__updating = {}, this.props = ge(this, e);
|
|
586
|
+
const r = he(this.props), o = this.Component, s = bt;
|
|
587
587
|
try {
|
|
588
|
-
|
|
588
|
+
bt = this, this.__initialized = !0, be(o) ? new o(r, {
|
|
589
589
|
element: this
|
|
590
590
|
}) : o(r, {
|
|
591
591
|
element: this
|
|
592
592
|
});
|
|
593
593
|
} finally {
|
|
594
|
-
|
|
594
|
+
bt = s;
|
|
595
595
|
}
|
|
596
596
|
}
|
|
597
597
|
async disconnectedCallback() {
|
|
@@ -664,87 +664,88 @@ function xe(t) {
|
|
|
664
664
|
a.renderRoot.textContent = "", r();
|
|
665
665
|
});
|
|
666
666
|
const s = t(o, n);
|
|
667
|
-
return
|
|
667
|
+
return w(a.renderRoot, s);
|
|
668
668
|
}, ye(a));
|
|
669
669
|
};
|
|
670
670
|
}
|
|
671
671
|
function ke(t, e, n) {
|
|
672
672
|
return arguments.length === 2 && (n = e, e = {}), we(t, e)(xe(n));
|
|
673
673
|
}
|
|
674
|
-
function
|
|
674
|
+
function O(t) {
|
|
675
675
|
const [e, n] = E(t.peek(), { equals: !1 }), a = t.subscribe((r) => n(() => r));
|
|
676
676
|
return ft(() => a()), e;
|
|
677
677
|
}
|
|
678
|
-
const lt =
|
|
678
|
+
const lt = Xt();
|
|
679
679
|
function Ce(t) {
|
|
680
|
-
const [e, n] = E("no-url"), [a, r] = E(!1), o =
|
|
680
|
+
const [e, n] = E("no-url"), [a, r] = E(!1), o = O(t.moqWatch.backend.audio.muted), [s, i] = E(0), c = O(t.moqWatch.backend.video.stalled), u = O(t.moqWatch.backend.latency), f = O(t.moqWatch.backend.jitter), [l, S] = E([]), x = O(t.moqWatch.backend.video.source.track), [A, y] = E(!1), [P, $] = E(!!document.fullscreenElement), m = () => {
|
|
681
681
|
t.moqWatch.paused = !t.moqWatch.paused;
|
|
682
|
-
},
|
|
682
|
+
}, h = () => {
|
|
683
683
|
document.fullscreenElement ? document.exitFullscreen() : t.moqWatch.requestFullscreen();
|
|
684
|
-
},
|
|
685
|
-
t.moqWatch.backend.audio.volume.set(
|
|
686
|
-
},
|
|
687
|
-
t.moqWatch.backend.audio.muted.update((
|
|
688
|
-
},
|
|
689
|
-
t.moqWatch.
|
|
690
|
-
},
|
|
691
|
-
t.moqWatch.backend.video.source.target.update((
|
|
692
|
-
...
|
|
693
|
-
name:
|
|
684
|
+
}, d = (b) => {
|
|
685
|
+
t.moqWatch.backend.audio.volume.set(b / 100);
|
|
686
|
+
}, _ = () => {
|
|
687
|
+
t.moqWatch.backend.audio.muted.update((b) => !b);
|
|
688
|
+
}, q = (b) => {
|
|
689
|
+
t.moqWatch.latency = b;
|
|
690
|
+
}, U = (b) => {
|
|
691
|
+
t.moqWatch.backend.video.source.target.update((M) => ({
|
|
692
|
+
...M,
|
|
693
|
+
name: b
|
|
694
694
|
}));
|
|
695
|
-
},
|
|
695
|
+
}, K = O(t.moqWatch.backend.video.timestamp), D = O(t.moqWatch.backend.video.buffered), dt = O(t.moqWatch.backend.audio.buffered), Y = {
|
|
696
696
|
moqWatch: t.moqWatch,
|
|
697
697
|
watchStatus: e,
|
|
698
|
-
togglePlayback:
|
|
698
|
+
togglePlayback: m,
|
|
699
699
|
isPlaying: a,
|
|
700
|
-
setVolume:
|
|
700
|
+
setVolume: d,
|
|
701
701
|
isMuted: o,
|
|
702
702
|
currentVolume: s,
|
|
703
|
-
toggleMuted:
|
|
703
|
+
toggleMuted: _,
|
|
704
704
|
buffering: c,
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
705
|
+
latency: u,
|
|
706
|
+
jitter: f,
|
|
707
|
+
setLatency: q,
|
|
708
|
+
availableRenditions: l,
|
|
709
|
+
activeRendition: x,
|
|
710
|
+
setActiveRendition: U,
|
|
711
|
+
isStatsPanelVisible: A,
|
|
712
|
+
setIsStatsPanelVisible: y,
|
|
713
|
+
isFullscreen: P,
|
|
714
|
+
toggleFullscreen: h,
|
|
715
|
+
timestamp: K,
|
|
715
716
|
videoBuffered: D,
|
|
716
|
-
audioBuffered:
|
|
717
|
-
},
|
|
718
|
-
|
|
719
|
-
const
|
|
720
|
-
|
|
721
|
-
}),
|
|
722
|
-
const
|
|
723
|
-
r(!
|
|
724
|
-
}),
|
|
725
|
-
const
|
|
726
|
-
i(
|
|
727
|
-
}),
|
|
728
|
-
const z =
|
|
729
|
-
name:
|
|
730
|
-
width:
|
|
731
|
-
height:
|
|
732
|
-
bitrate:
|
|
717
|
+
audioBuffered: dt
|
|
718
|
+
}, V = t.moqWatch, L = new Ut.Effect();
|
|
719
|
+
L.run((b) => {
|
|
720
|
+
const M = b.get(V.connection.url), z = b.get(V.connection.status), k = b.get(V.broadcast.status);
|
|
721
|
+
M ? z === "disconnected" ? n("disconnected") : z === "connecting" ? n("connecting") : k === "offline" ? n("offline") : k === "loading" ? n("loading") : k === "live" ? n("live") : z === "connected" && n("connected") : n("no-url");
|
|
722
|
+
}), L.run((b) => {
|
|
723
|
+
const M = b.get(V.backend.paused);
|
|
724
|
+
r(!M);
|
|
725
|
+
}), L.run((b) => {
|
|
726
|
+
const M = b.get(V.backend.audio.volume);
|
|
727
|
+
i(M * 100);
|
|
728
|
+
}), L.run((b) => {
|
|
729
|
+
const z = b.get(V.backend.video.source.catalog)?.renditions ?? {}, k = Object.entries(z).map(([tt, H]) => ({
|
|
730
|
+
name: tt,
|
|
731
|
+
width: H.codedWidth,
|
|
732
|
+
height: H.codedHeight,
|
|
733
|
+
bitrate: H.bitrate
|
|
733
734
|
}));
|
|
734
|
-
|
|
735
|
+
S(k);
|
|
735
736
|
});
|
|
736
|
-
const
|
|
737
|
-
|
|
737
|
+
const ht = () => {
|
|
738
|
+
$(!!document.fullscreenElement);
|
|
738
739
|
};
|
|
739
|
-
return
|
|
740
|
-
value:
|
|
740
|
+
return L.event(document, "fullscreenchange", ht), ft(() => L.close()), g(lt.Provider, {
|
|
741
|
+
value: Y,
|
|
741
742
|
get children() {
|
|
742
743
|
return t.children;
|
|
743
744
|
}
|
|
744
745
|
});
|
|
745
746
|
}
|
|
746
747
|
function N() {
|
|
747
|
-
const t =
|
|
748
|
+
const t = jt(lt);
|
|
748
749
|
if (!t)
|
|
749
750
|
throw new Error("useWatchUIContext must be used within a WatchUIContextProvider");
|
|
750
751
|
return t;
|
|
@@ -752,7 +753,7 @@ function N() {
|
|
|
752
753
|
var Se = /* @__PURE__ */ R('<div class="watch-ui__buffering flex--center"><div class=watch-ui__buffering-spinner>');
|
|
753
754
|
function Ae() {
|
|
754
755
|
const t = N();
|
|
755
|
-
return
|
|
756
|
+
return g(Z, {
|
|
756
757
|
get when() {
|
|
757
758
|
return t.buffering();
|
|
758
759
|
},
|
|
@@ -762,36 +763,36 @@ function Ae() {
|
|
|
762
763
|
});
|
|
763
764
|
}
|
|
764
765
|
var $e = /* @__PURE__ */ R('<div class=watch-ui__buffer><div role=slider tabindex=0 aria-label="Buffer jitter"><div class=watch-ui__buffer-playhead></div><div class="watch-ui__buffer-track watch-ui__buffer-track--video"><span class=watch-ui__buffer-track-label>Video</span><canvas class=watch-ui__buffer-canvas></canvas></div><div class="watch-ui__buffer-track watch-ui__buffer-track--audio"><span class=watch-ui__buffer-track-label>Audio</span><canvas class=watch-ui__buffer-canvas></canvas></div><div class=watch-ui__buffer-target-area><div class=watch-ui__buffer-target-line><span class=watch-ui__buffer-target-label>'), Ee = /* @__PURE__ */ R("<span class=watch-ui__buffer-help>click to change latency");
|
|
765
|
-
const
|
|
766
|
-
function
|
|
766
|
+
const vt = 0, et = 10;
|
|
767
|
+
function qt(t, e, n, a, r) {
|
|
767
768
|
const o = t.getContext("2d");
|
|
768
769
|
if (!o) return;
|
|
769
770
|
const s = window.devicePixelRatio || 1, i = t.getBoundingClientRect(), c = i.width, u = i.height, f = Math.round(c * s), l = Math.round(u * s);
|
|
770
771
|
if ((t.width !== f || t.height !== l) && (t.width = f, t.height = l), o.setTransform(s, 0, 0, s, 0, 0), o.clearRect(0, 0, c, u), n === void 0) return;
|
|
771
|
-
const
|
|
772
|
+
const S = 2, x = u - S * 2, A = 2;
|
|
772
773
|
for (let y = 0; y < e.length; y++) {
|
|
773
|
-
const P = e[y],
|
|
774
|
+
const P = e[y], $ = P.start - n, m = P.end - n, h = Math.max(0, $), d = Math.min(m, a);
|
|
774
775
|
if (d <= h) continue;
|
|
775
|
-
const _ = h / a * c,
|
|
776
|
-
if (o.globalAlpha = 0.85, o.fillStyle = r ? "#f87171" : y > 0 ? "#facc15" : "#4ade80", typeof o.roundRect == "function" ? (o.beginPath(), o.roundRect(_,
|
|
777
|
-
const U = ((
|
|
778
|
-
o.globalAlpha = 0.7, o.fillStyle = "black", o.font = "500 9px system-ui, sans-serif", o.textAlign = "right", o.textBaseline = "middle", o.fillText(`+${U}s`, _ +
|
|
776
|
+
const _ = h / a * c, q = Math.max(2, (d - h) / a * c);
|
|
777
|
+
if (o.globalAlpha = 0.85, o.fillStyle = r ? "#f87171" : y > 0 ? "#facc15" : "#4ade80", typeof o.roundRect == "function" ? (o.beginPath(), o.roundRect(_, S, q, x, A), o.fill()) : o.fillRect(_, S, q, x), m > a) {
|
|
778
|
+
const U = ((m - a) / 1e3).toFixed(1);
|
|
779
|
+
o.globalAlpha = 0.7, o.fillStyle = "black", o.font = "500 9px system-ui, sans-serif", o.textAlign = "right", o.textBaseline = "middle", o.fillText(`+${U}s`, _ + q - 4, u / 2);
|
|
779
780
|
}
|
|
780
781
|
}
|
|
781
782
|
}
|
|
782
783
|
function Pe(t) {
|
|
783
|
-
const e = N(), n = () => t.max ??
|
|
784
|
+
const e = N(), n = () => t.max ?? 4e3, [a, r] = E(!1), [o, s] = E(!1), i = B(() => e.jitter() / n() * 100);
|
|
784
785
|
let c, u, f;
|
|
785
|
-
const l = 48,
|
|
786
|
+
const l = 48, S = (h) => {
|
|
786
787
|
if (!c) return;
|
|
787
|
-
const d = c.getBoundingClientRect(), _ = d.width - l, U = Math.max(0, Math.min(h - d.left - l, _)) / _ * n(),
|
|
788
|
-
e.
|
|
788
|
+
const d = c.getBoundingClientRect(), _ = d.width - l, U = Math.max(0, Math.min(h - d.left - l, _)) / _ * n(), K = Math.round(U / et) * et, D = Math.max(vt, Math.min(n(), K));
|
|
789
|
+
e.setLatency(D);
|
|
789
790
|
}, x = (h) => {
|
|
790
|
-
r(!0), s(!0),
|
|
791
|
-
},
|
|
792
|
-
a() &&
|
|
791
|
+
r(!0), s(!0), S(h.clientX), document.addEventListener("mousemove", A), document.addEventListener("mouseup", y);
|
|
792
|
+
}, A = (h) => {
|
|
793
|
+
a() && S(h.clientX);
|
|
793
794
|
}, y = () => {
|
|
794
|
-
r(!1), document.removeEventListener("mousemove",
|
|
795
|
+
r(!1), document.removeEventListener("mousemove", A), document.removeEventListener("mouseup", y);
|
|
795
796
|
}, P = (h) => {
|
|
796
797
|
let d = 0;
|
|
797
798
|
if (h.key === "ArrowRight" || h.key === "ArrowUp")
|
|
@@ -801,32 +802,32 @@ function Pe(t) {
|
|
|
801
802
|
else
|
|
802
803
|
return;
|
|
803
804
|
h.preventDefault(), s(!0);
|
|
804
|
-
const _ = Math.max(
|
|
805
|
-
e.
|
|
805
|
+
const _ = Math.max(vt, Math.min(n(), e.jitter() + d));
|
|
806
|
+
e.setLatency(_);
|
|
806
807
|
};
|
|
807
|
-
let
|
|
808
|
-
const
|
|
808
|
+
let $;
|
|
809
|
+
const m = () => {
|
|
809
810
|
const h = n(), d = e.timestamp(), _ = e.buffering();
|
|
810
|
-
u &&
|
|
811
|
+
u && qt(u, e.videoBuffered(), d, h, _), f && qt(f, e.audioBuffered(), d, h, _), $ = requestAnimationFrame(m);
|
|
811
812
|
};
|
|
812
813
|
return Wt(() => {
|
|
813
|
-
|
|
814
|
+
$ = requestAnimationFrame(m);
|
|
814
815
|
}), ft(() => {
|
|
815
|
-
|
|
816
|
+
$ !== void 0 && cancelAnimationFrame($), document.removeEventListener("mousemove", A), document.removeEventListener("mouseup", y);
|
|
816
817
|
}), (() => {
|
|
817
|
-
var h = $e(), d = h.firstChild, _ = d.firstChild,
|
|
818
|
+
var h = $e(), d = h.firstChild, _ = d.firstChild, q = _.nextSibling, U = q.firstChild, K = U.nextSibling, D = q.nextSibling, dt = D.firstChild, Y = dt.nextSibling, V = D.nextSibling, L = V.firstChild, ht = L.firstChild;
|
|
818
819
|
d.$$keydown = P, d.$$mousedown = x;
|
|
819
|
-
var
|
|
820
|
-
typeof
|
|
821
|
-
var
|
|
822
|
-
typeof
|
|
823
|
-
var
|
|
824
|
-
return typeof
|
|
825
|
-
var
|
|
826
|
-
return () =>
|
|
827
|
-
})(), null),
|
|
828
|
-
var
|
|
829
|
-
return
|
|
820
|
+
var b = c;
|
|
821
|
+
typeof b == "function" ? _t(b, d) : c = d, pt(d, "aria-valuemin", vt);
|
|
822
|
+
var M = u;
|
|
823
|
+
typeof M == "function" ? _t(M, K) : u = K;
|
|
824
|
+
var z = f;
|
|
825
|
+
return typeof z == "function" ? _t(z, Y) : f = Y, w(ht, () => `${Math.round(e.jitter())}ms`), w(d, (() => {
|
|
826
|
+
var k = mt(() => !o());
|
|
827
|
+
return () => k() && Ee();
|
|
828
|
+
})(), null), T((k) => {
|
|
829
|
+
var tt = `watch-ui__buffer-visualization ${a() ? "watch-ui__buffer-visualization--dragging" : ""}`, H = e.jitter(), Ct = n(), St = `${i()}%`;
|
|
830
|
+
return tt !== k.e && yt(d, k.e = tt), H !== k.t && pt(d, "aria-valuenow", k.t = H), Ct !== k.a && pt(d, "aria-valuemax", k.a = Ct), St !== k.o && ce(L, "left", k.o = St), k;
|
|
830
831
|
}, {
|
|
831
832
|
e: void 0,
|
|
832
833
|
t: void 0,
|
|
@@ -836,31 +837,31 @@ function Pe(t) {
|
|
|
836
837
|
})();
|
|
837
838
|
}
|
|
838
839
|
le(["mousedown", "keydown"]);
|
|
839
|
-
function
|
|
840
|
+
function qe() {
|
|
840
841
|
const t = N();
|
|
841
|
-
return
|
|
842
|
+
return g(ct, {
|
|
842
843
|
title: "Fullscreen",
|
|
843
844
|
onClick: () => {
|
|
844
845
|
t.toggleFullscreen();
|
|
845
846
|
},
|
|
846
847
|
get children() {
|
|
847
|
-
return
|
|
848
|
+
return g(Z, {
|
|
848
849
|
get when() {
|
|
849
850
|
return t.isFullscreen();
|
|
850
851
|
},
|
|
851
852
|
get fallback() {
|
|
852
|
-
return
|
|
853
|
+
return g(W.FullscreenEnter, {});
|
|
853
854
|
},
|
|
854
855
|
get children() {
|
|
855
|
-
return
|
|
856
|
+
return g(W.FullscreenExit, {});
|
|
856
857
|
}
|
|
857
858
|
});
|
|
858
859
|
}
|
|
859
860
|
});
|
|
860
861
|
}
|
|
861
|
-
function
|
|
862
|
+
function Me() {
|
|
862
863
|
const t = N();
|
|
863
|
-
return
|
|
864
|
+
return g(ct, {
|
|
864
865
|
get title() {
|
|
865
866
|
return t.isPlaying() ? "Pause" : "Play";
|
|
866
867
|
},
|
|
@@ -869,51 +870,51 @@ function qe() {
|
|
|
869
870
|
t.togglePlayback();
|
|
870
871
|
},
|
|
871
872
|
get children() {
|
|
872
|
-
return
|
|
873
|
+
return g(Z, {
|
|
873
874
|
get when() {
|
|
874
875
|
return t.isPlaying();
|
|
875
876
|
},
|
|
876
877
|
get fallback() {
|
|
877
|
-
return
|
|
878
|
+
return g(W.Play, {});
|
|
878
879
|
},
|
|
879
880
|
get children() {
|
|
880
|
-
return
|
|
881
|
+
return g(W.Pause, {});
|
|
881
882
|
}
|
|
882
883
|
});
|
|
883
884
|
}
|
|
884
885
|
});
|
|
885
886
|
}
|
|
886
|
-
var Re = /* @__PURE__ */ R("<div class=watch-ui__quality-selector><label for=quality-select class=watch-ui__quality-label>Quality: </label><select id=quality-select class=watch-ui__quality-select><option value>Auto"),
|
|
887
|
+
var Re = /* @__PURE__ */ R("<div class=watch-ui__quality-selector><label for=quality-select class=watch-ui__quality-label>Quality: </label><select id=quality-select class=watch-ui__quality-select><option value>Auto"), Le = /* @__PURE__ */ R("<option>");
|
|
887
888
|
function We(t) {
|
|
888
889
|
return t >= 1e6 ? `${(t / 1e6).toFixed(1)} Mbps` : t >= 1e3 ? `${(t / 1e3).toFixed(0)} kbps` : `${t} bps`;
|
|
889
890
|
}
|
|
890
|
-
function
|
|
891
|
+
function je() {
|
|
891
892
|
const t = N(), e = (n) => {
|
|
892
893
|
const a = n.currentTarget.value || void 0;
|
|
893
894
|
t.setActiveRendition(a);
|
|
894
895
|
};
|
|
895
896
|
return (() => {
|
|
896
897
|
var n = Re(), a = n.firstChild, r = a.nextSibling;
|
|
897
|
-
return r.firstChild, r.addEventListener("change", e),
|
|
898
|
+
return r.firstChild, r.addEventListener("change", e), w(r, g(ie, {
|
|
898
899
|
get each() {
|
|
899
900
|
return t.availableRenditions() ?? [];
|
|
900
901
|
},
|
|
901
902
|
children: (o) => (() => {
|
|
902
|
-
var s =
|
|
903
|
-
return
|
|
904
|
-
var i =
|
|
903
|
+
var s = Le();
|
|
904
|
+
return w(s, () => o.name, null), w(s, (() => {
|
|
905
|
+
var i = mt(() => !!(o.width && o.height));
|
|
905
906
|
return () => i() ? ` (${o.width}x${o.height})` : "";
|
|
906
|
-
})(), null),
|
|
907
|
-
var i =
|
|
907
|
+
})(), null), w(s, (() => {
|
|
908
|
+
var i = mt(() => !!o.bitrate);
|
|
908
909
|
return () => i() ? ` ${We(o.bitrate)}` : "";
|
|
909
|
-
})(), null),
|
|
910
|
+
})(), null), T(() => s.value = o.name), s;
|
|
910
911
|
})()
|
|
911
|
-
}), null),
|
|
912
|
+
}), null), T(() => r.value = t.activeRendition() ?? ""), n;
|
|
912
913
|
})();
|
|
913
914
|
}
|
|
914
|
-
function
|
|
915
|
+
function Te() {
|
|
915
916
|
const t = N();
|
|
916
|
-
return
|
|
917
|
+
return g(ct, {
|
|
917
918
|
get title() {
|
|
918
919
|
return t.isStatsPanelVisible() ? "Hide stats" : "Show stats";
|
|
919
920
|
},
|
|
@@ -921,23 +922,23 @@ function Ie() {
|
|
|
921
922
|
t.setIsStatsPanelVisible(!t.isStatsPanelVisible());
|
|
922
923
|
},
|
|
923
924
|
get children() {
|
|
924
|
-
return
|
|
925
|
+
return g(W.Stats, {});
|
|
925
926
|
}
|
|
926
927
|
});
|
|
927
928
|
}
|
|
928
|
-
var
|
|
929
|
-
const Ve = (t, e) => e || t === 0 ?
|
|
929
|
+
var Ie = /* @__PURE__ */ R('<div class="watch-ui__volume-slider flex--center"><input type=range min=0 max=100><span class=watch-ui__volume-label>');
|
|
930
|
+
const Ve = (t, e) => e || t === 0 ? g(W.Mute, {}) : t > 0 && t <= 33 ? g(W.VolumeLow, {}) : t > 33 && t <= 66 ? g(W.VolumeMedium, {}) : g(W.VolumeHigh, {});
|
|
930
931
|
function ze() {
|
|
931
932
|
const [t, e] = E(0), n = N(), a = (r) => {
|
|
932
933
|
const o = r.currentTarget, s = parseFloat(o.value);
|
|
933
934
|
n.setVolume(s);
|
|
934
935
|
};
|
|
935
|
-
return
|
|
936
|
+
return Lt(() => {
|
|
936
937
|
const r = n.currentVolume() || 0;
|
|
937
938
|
e(Math.round(r));
|
|
938
939
|
}), (() => {
|
|
939
|
-
var r =
|
|
940
|
-
return
|
|
940
|
+
var r = Ie(), o = r.firstChild, s = o.nextSibling;
|
|
941
|
+
return w(r, g(ct, {
|
|
941
942
|
get title() {
|
|
942
943
|
return n.isMuted() ? "Unmute" : "Mute";
|
|
943
944
|
},
|
|
@@ -945,7 +946,7 @@ function ze() {
|
|
|
945
946
|
get children() {
|
|
946
947
|
return Ve(n.currentVolume(), n.isMuted());
|
|
947
948
|
}
|
|
948
|
-
}), o), o.addEventListener("change", a),
|
|
949
|
+
}), o), o.addEventListener("change", a), w(s, t), T(() => o.value = n.currentVolume()), r;
|
|
949
950
|
})();
|
|
950
951
|
}
|
|
951
952
|
var Oe = /* @__PURE__ */ R('<div class="watch-ui__status-indicator flex--center"><span></span><span>');
|
|
@@ -989,9 +990,9 @@ function Ne() {
|
|
|
989
990
|
};
|
|
990
991
|
return (() => {
|
|
991
992
|
var n = Oe(), a = n.firstChild, r = a.nextSibling;
|
|
992
|
-
return
|
|
993
|
+
return w(r, () => e().text), T((o) => {
|
|
993
994
|
var s = `watch-ui__status-indicator-dot watch-ui__status-indicator-dot--${e().variant}`, i = `watch-ui__status-indicator-text watch-ui__status-indicator-text--${e().variant}`;
|
|
994
|
-
return s !== o.e &&
|
|
995
|
+
return s !== o.e && yt(a, o.e = s), i !== o.t && yt(r, o.t = i), o;
|
|
995
996
|
}, {
|
|
996
997
|
e: void 0,
|
|
997
998
|
t: void 0
|
|
@@ -1002,37 +1003,37 @@ var Ue = /* @__PURE__ */ R('<div class=watch-ui__controls><div class="watch-ui__
|
|
|
1002
1003
|
function Ke() {
|
|
1003
1004
|
return (() => {
|
|
1004
1005
|
var t = Ue(), e = t.firstChild, n = e.nextSibling;
|
|
1005
|
-
return
|
|
1006
|
+
return w(e, g(Me, {}), null), w(e, g(ze, {}), null), w(e, g(Ne, {}), null), w(e, g(Te, {}), null), w(e, g(qe, {}), null), w(n, g(Pe, {}), null), w(n, g(je, {}), null), t;
|
|
1006
1007
|
})();
|
|
1007
1008
|
}
|
|
1008
1009
|
const De = ':host{--color-white: #ffffff;--color-white-alpha-05: rgba(255, 255, 255, .05);--color-white-alpha-10: rgba(255, 255, 255, .1);--color-white-alpha-15: rgba(255, 255, 255, .15);--color-white-alpha-20: rgba(255, 255, 255, .2);--color-white-alpha-25: rgba(255, 255, 255, .25);--color-white-alpha-30: rgba(255, 255, 255, .3);--color-white-alpha-70: rgba(255, 255, 255, .7);--color-white-alpha-90: rgba(255, 255, 255, .9);--color-gray-100: #9ca3af;--color-gray-950: #1a1a1a;--color-blue-400: #00dfff;--color-blue-500: #52a1ff;--color-blue-900: #1b3243;--color-purple-400: #a855f7;--color-purple-500: #c27bff;--color-purple-900: #31144a;--color-green-400: #65ee2e;--color-green-900: #3d4928;--color-yellow-400: #facc15;--color-orange-300: rgb(253, 186, 116);--color-orange-400: #ff9900;--color-orange-450: #fb923c;--color-orange-500: #f97316;--color-orange-900: #4d301b;--color-amber-600: #d97706;--color-amber-600-alpha-20: rgba(217, 119, 6, .2);--color-amber-600-alpha-30: rgba(217, 119, 6, .3);--color-orange-400-alpha-20: rgba(255, 153, 0, .2);--color-orange-500-alpha-30: rgba(249, 115, 22, .3);--color-orange-500-alpha-40: rgba(249, 115, 22, .4);--color-orange-500-alpha-50: rgba(249, 115, 22, .5);--color-orange-500-alpha-60: rgba(249, 115, 22, .6);--color-orange-500-alpha-80: rgba(249, 115, 22, .8);--color-red-300: rgb(252, 165, 165);--color-red-400-alpha-25: rgba(248, 113, 113, .25);--color-red-500-alpha-25: rgba(239, 68, 68, .25);--color-red-500-alpha-45: rgba(239, 68, 68, .45);--color-red-500-alpha-60: rgba(239, 68, 68, .6);--color-red-600-alpha-25: rgba(220, 38, 38, .25);--color-red-900-alpha-35: rgba(127, 29, 29, .35);--color-red: #e60000;--color-black-alpha-8: rgba(0, 0, 0, .08);--color-black-alpha-10: rgba(0, 0, 0, .1);--color-black-alpha-60: rgba(0, 0, 0, .6);--color-black-alpha-70: rgba(0, 0, 0, .7);--color-black-alpha-85: rgba(0, 0, 0, .85);--color-black: #000000;--spacing-1: .0625rem;--spacing-2: .125rem;--spacing-4: .25rem;--spacing-8: .5rem;--spacing-12: .75rem;--spacing-16: 1rem;--spacing-24: 1.5rem;--spacing-32: 2rem;--spacing-48: 3rem;--border-radius-sm: .5rem;--border-radius-md: .75rem;--border-radius-lg: 1rem}:is(.flex--center){display:flex;justify-content:center;align-items:center}:is(.flex--align-center){align-items:center}:is(.flex--space-between){justify-content:space-between}.button{color:var(--color-white);cursor:pointer;background-color:var(--color-white-alpha-10);border:var(--spacing-1) solid var(--color-white-alpha-20);border-radius:50%;width:2.25rem;height:2.25rem;transform-origin:center;transition:transform .1s cubic-bezier(.4,0,.2,1)}.button:hover:not(:disabled){transform:scale(1.02);color:var(--color-white);background-color:var(--color-white-alpha-20);box-shadow:0 var(--spacing-2) var(--spacing-8) var(--color-black-alpha-10)}.button:active:not(:disabled){transform:scale(.98);box-shadow:0 var(--spacing-1) var(--spacing-4) var(--color-black-alpha-8)}.button:disabled{opacity:.5;cursor:default;color:var(--color-gray-100)}.stats{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;pointer-events:none;z-index:2;width:100%;height:inherit;container-type:inline-size}.stats .stats__panel{position:absolute;display:flex;align-items:flex-start;justify-content:center;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-12);max-width:240px;width:100%;background-color:var(--color-black-alpha-85);border:1px solid var(--color-white-alpha-25);border-radius:8px;padding:var(--spacing-12);pointer-events:auto;top:8px}@container (width > 480px) and (width <= 768px){.stats .stats__panel{max-width:360px;padding:var(--spacing-24)}}@container (width > 768px){.stats .stats__panel{max-width:600px;padding:var(--spacing-24)}}.stats .stats__panel .stats__item{display:flex;align-items:flex-start;justify-content:flex-start;flex-direction:row;height:auto;column-gap:var(--spacing-8);flex-basis:calc(50% - var(--spacing-12));flex-grow:1;flex-shrink:1}@container (width > 480px){.stats .stats__panel .stats__item{flex-basis:calc(25% - var(--spacing-12))}}.stats .stats__panel .stats__item .stats__icon-wrapper{display:none;padding:var(--spacing-8);border-radius:8px;width:fit-content;height:fit-content;flex-shrink:0}@container (width > 480px){.stats .stats__panel .stats__item .stats__icon-wrapper{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-direction:row}}.stats .stats__panel .stats__item .stats__icon-wrapper svg{width:100%;height:100%}.stats .stats__panel .stats__item.stats__item--network .stats__icon-wrapper{background-color:var(--color-blue-900)}.stats .stats__panel .stats__item.stats__item--network,.stats .stats__panel .stats__item.stats__item--network .stats__item-data{color:var(--color-blue-400)}.stats .stats__panel .stats__item.stats__item--video .stats__icon-wrapper{background-color:var(--color-purple-900)}.stats .stats__panel .stats__item.stats__item--video,.stats .stats__panel .stats__item.stats__item--video .stats__item-data{color:var(--color-purple-400)}.stats .stats__panel .stats__item.stats__item--audio .stats__icon-wrapper{background-color:var(--color-green-900)}.stats .stats__panel .stats__item.stats__item--audio,.stats .stats__panel .stats__item.stats__item--audio .stats__item-data{color:var(--color-green-400)}.stats .stats__panel .stats__item.stats__item--buffer .stats__icon-wrapper{background-color:var(--color-orange-900)}.stats .stats__panel .stats__item.stats__item--buffer,.stats .stats__panel .stats__item.stats__item--buffer .stats__item-data{color:var(--color-orange-400)}.stats .stats__panel .stats__item .stats__item-detail{display:flex;align-items:flex-start;justify-content:space-evenly;flex-direction:column;gap:var(--spacing-4)}.stats .stats__panel .stats__item .stats__item-detail .stats__item-title{font-size:12px;font-weight:500;text-transform:capitalize;color:var(--color-gray-100);font-family:Segoe UI,Roboto,sans-serif;letter-spacing:1px;line-height:12px}.stats .stats__panel .stats__item .stats__item-detail .stats__item-data{font-size:16px;font-weight:700;font-family:Segoe UI,Roboto,sans-serif;white-space:pre-wrap;line-height:1.5}.watch-ui__video-container{display:block;position:relative;width:100%;height:auto;border-radius:var(--spacing-4);margin:0 auto;pointer-events:none}.watch-ui__controls{display:flex;flex-direction:column;gap:var(--spacing-24)}.button.button--playback{width:3rem;height:3rem;background:linear-gradient(to bottom right,var(--color-orange-400),var(--color-orange-500),var(--color-amber-600));box-shadow:0 0 var(--spacing-16) var(--color-orange-500-alpha-60);transition:box-shadow .15s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.button.button--playback:hover:not(:disabled){box-shadow:0 0 var(--spacing-24) var(--color-orange-500-alpha-80);transform:scale(1.02)}.button.button--playback:active:not(:disabled){transform:scale(.98)}.button.button--playback:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom right,var(--color-white-alpha-30),transparent);opacity:0;transition:opacity .15s cubic-bezier(.4,0,.2,1);pointer-events:none}.button.button--playback:hover:before{opacity:1}.button.button--playback:after{content:"";position:absolute;inset:0;background-color:var(--color-white-alpha-20);border-radius:50%;filter:blur(var(--spacing-24));pointer-events:none}.watch-ui__playback-controls{display:flex;place-content:center space-around;gap:var(--spacing-8);padding:var(--spacing-8) 0}.watch-ui__latency-controls{display:flex;flex-direction:column;gap:var(--spacing-16)}.watch-ui__volume-slider{gap:var(--spacing-4)}.watch-ui__volume-label{width:var(--spacing-16);text-align:right}.watch-ui__quality-selector{display:flex;align-items:center;gap:var(--spacing-8);background:transparent;border-radius:var(--spacing-8)}.watch-ui__quality-label{font-size:1.25rem;font-weight:500;color:var(--color-white);white-space:nowrap}.watch-ui__quality-select{flex:0 1 auto;font-size:1rem;padding:var(--spacing-8);border-radius:var(--spacing-4);background:var(--color-white-alpha-10);color:var(--color-white);border:var(--spacing-1) solid var(--color-white-alpha-20);cursor:pointer;transition:background .2s ease}.watch-ui__quality-select:hover{background:var(--color-white-alpha-15)}.watch-ui__quality-select:focus{outline:var(--spacing-2) solid var(--color-white-alpha-30);outline-offset:var(--spacing-2)}.watch-ui__quality-select option{background:var(--color-gray-950);color:var(--color-white)}.watch-ui__buffer{width:100%}.watch-ui__buffer-visualization{position:relative;width:100%;height:3.75rem;background:var(--color-white-alpha-10);border-radius:var(--spacing-4);cursor:pointer;user-select:none;padding-left:var(--spacing-48);box-sizing:border-box}.watch-ui__buffer-playhead{position:absolute;left:var(--spacing-48);top:0;bottom:0;width:var(--spacing-2);background:var(--color-white);z-index:3}.watch-ui__buffer-track{display:flex;align-items:center;position:absolute;left:var(--spacing-48);right:0;height:var(--spacing-24)}.watch-ui__buffer-track--video{top:var(--spacing-4)}.watch-ui__buffer-track--audio{top:var(--spacing-32)}.watch-ui__buffer-track-label{position:absolute;left:-2.875rem;width:2.5rem;font-size:.625rem;color:var(--color-white-alpha-70);text-align:right;padding-right:var(--spacing-4);pointer-events:none;box-sizing:border-box}.watch-ui__buffer-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.watch-ui__buffer-target-area{position:absolute;top:0;bottom:0;left:var(--spacing-48);right:0;pointer-events:none}.watch-ui__buffer-target-line{position:absolute;top:0;bottom:0;width:.1875rem;background:var(--color-orange-400, var(--color-orange-450));z-index:2;cursor:ew-resize;border-radius:var(--spacing-1);pointer-events:auto}.watch-ui__buffer-target-label{position:absolute;bottom:100%;left:50%;transform:translate(-50%);font-size:.6875rem;font-weight:500;color:var(--color-orange-400, var(--color-orange-450));white-space:nowrap;margin-bottom:var(--spacing-2);opacity:0;transition:opacity .15s ease;pointer-events:none}.watch-ui__buffer-visualization:hover .watch-ui__buffer-target-label,.watch-ui__buffer-visualization--dragging .watch-ui__buffer-target-label{opacity:1}.watch-ui__buffer-help{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;color:var(--color-white-alpha-30, rgba(255, 255, 255, .3));pointer-events:none;white-space:nowrap}.watch-ui__buffering{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1;background-color:var(--color-black-alpha-40);backdrop-filter:blur(var(--spacing-2));pointer-events:auto}.watch-ui__buffering-spinner{width:2.5rem;height:2.5rem;border:var(--spacing-4) solid var(--color-white-alpha-20);border-top:var(--spacing-4) solid var(--color-white);border-radius:50%;animation:buffer-spin 1s linear infinite}@keyframes buffer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.watch-ui__status-indicator{gap:var(--spacing-12);backdrop-filter:blur(var(--spacing-16))}.watch-ui__status-indicator-dot{position:relative;width:.75rem;height:.75rem;border-radius:50%;flex-shrink:0;z-index:1}.watch-ui__status-indicator-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:currentcolor;transform:scale(1);opacity:.5;animation:status-pulse 1.5s ease-out infinite;z-index:-1}.watch-ui__status-indicator-dot:after{display:none}.watch-ui__status-indicator-dot--live:after,.watch-ui__status-indicator-dot--connected:after,.watch-ui__status-indicator-dot--loading:after,.watch-ui__status-indicator-dot--connecting:after{display:block}.watch-ui__status-indicator-dot--error{background:var(--color-gray-100);color:var(--color-gray-100)}.watch-ui__status-indicator-text--error{color:var(--color-gray-100)}.watch-ui__status-indicator-dot--connecting{background:var(--color-yellow-400);color:var(--color-yellow-400)}.watch-ui__status-indicator-text--connecting{color:var(--color-yellow-400)}.watch-ui__status-indicator-dot--loading{background:var(--color-yellow-400);color:var(--color-yellow-400)}.watch-ui__status-indicator-text--loading{color:var(--color-yellow-400)}.watch-ui__status-indicator-dot--live{background:var(--color-green-400);color:var(--color-green-400)}.watch-ui__status-indicator-text--live{color:var(--color-green-400)}.watch-ui__status-indicator-dot--connected{background:var(--color-blue-500);color:var(--color-blue-500)}.watch-ui__status-indicator-text--connected{color:var(--color-blue-500)}.watch-ui__status-indicator-text{font-size:1rem;letter-spacing:.1rem}@keyframes status-pulse{0%{transform:scale(1);opacity:.5}70%{opacity:.25}to{transform:scale(2.5);opacity:0}}';
|
|
1009
1010
|
var He = /* @__PURE__ */ R("<style>"), Ge = /* @__PURE__ */ R("<div class=watch-ui__video-container><slot>");
|
|
1010
|
-
function
|
|
1011
|
-
return
|
|
1011
|
+
function Qe(t) {
|
|
1012
|
+
return g(Ce, {
|
|
1012
1013
|
get moqWatch() {
|
|
1013
1014
|
return t.watch;
|
|
1014
1015
|
},
|
|
1015
1016
|
get children() {
|
|
1016
1017
|
return [(() => {
|
|
1017
1018
|
var e = He();
|
|
1018
|
-
return
|
|
1019
|
+
return w(e, De), e;
|
|
1019
1020
|
})(), (() => {
|
|
1020
1021
|
var e = Ge(), n = e.firstChild;
|
|
1021
|
-
return n._$owner =
|
|
1022
|
-
const a =
|
|
1023
|
-
return a ?
|
|
1022
|
+
return n._$owner = Qt(), w(e, () => {
|
|
1023
|
+
const a = jt(lt);
|
|
1024
|
+
return a ? g(Z, {
|
|
1024
1025
|
get when() {
|
|
1025
1026
|
return a.isStatsPanelVisible();
|
|
1026
1027
|
},
|
|
1027
1028
|
get children() {
|
|
1028
|
-
return
|
|
1029
|
+
return g(Nt, {
|
|
1029
1030
|
context: lt,
|
|
1030
1031
|
getElement: (r) => r?.moqWatch.backend
|
|
1031
1032
|
});
|
|
1032
1033
|
}
|
|
1033
1034
|
}) : null;
|
|
1034
|
-
}, null),
|
|
1035
|
-
})(),
|
|
1035
|
+
}, null), w(e, g(Ae, {}), null), e;
|
|
1036
|
+
})(), g(Ke, {})];
|
|
1036
1037
|
}
|
|
1037
1038
|
});
|
|
1038
1039
|
}
|
|
@@ -1044,12 +1045,12 @@ ke("moq-watch-ui", (t, {
|
|
|
1044
1045
|
await customElements.whenDefined("moq-watch");
|
|
1045
1046
|
const r = e.querySelector("moq-watch");
|
|
1046
1047
|
a(r || void 0);
|
|
1047
|
-
}),
|
|
1048
|
+
}), g(Z, {
|
|
1048
1049
|
get when() {
|
|
1049
1050
|
return n();
|
|
1050
1051
|
},
|
|
1051
1052
|
keyed: !0,
|
|
1052
|
-
children: (r) =>
|
|
1053
|
+
children: (r) => g(Qe, {
|
|
1053
1054
|
watch: r
|
|
1054
1055
|
})
|
|
1055
1056
|
});
|