@moq/watch 0.2.13 → 0.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +10 -9
  2. package/audio/source.d.ts.map +1 -1
  3. package/broadcast-jtLUfuyL.js +4291 -0
  4. package/broadcast-jtLUfuyL.js.map +1 -0
  5. package/broadcast.d.ts.map +1 -1
  6. package/dom-Yz3UT5ap.js +29 -0
  7. package/dom-Yz3UT5ap.js.map +1 -0
  8. package/element.js +162 -178
  9. package/element.js.map +1 -1
  10. package/index.d.ts +1 -3
  11. package/index.d.ts.map +1 -1
  12. package/index.js +5 -254
  13. package/libav-opus-af-CzuaKpJb.js +252 -0
  14. package/libav-opus-af-CzuaKpJb.js.map +1 -0
  15. package/main-bFFHfuX4.js +1999 -0
  16. package/main-bFFHfuX4.js.map +1 -0
  17. package/package.json +5 -4
  18. package/support/element.js +122 -172
  19. package/support/element.js.map +1 -1
  20. package/support/index.js +52 -53
  21. package/support/index.js.map +1 -1
  22. package/ui/element.js +335 -359
  23. package/ui/element.js.map +1 -1
  24. package/video/source.d.ts.map +1 -1
  25. package/broadcast-CLjMphZS.js +0 -5000
  26. package/broadcast-CLjMphZS.js.map +0 -1
  27. package/chat/index.d.ts +0 -17
  28. package/chat/index.d.ts.map +0 -1
  29. package/chat/message.d.ts +0 -16
  30. package/chat/message.d.ts.map +0 -1
  31. package/chat/typing.d.ts +0 -16
  32. package/chat/typing.d.ts.map +0 -1
  33. package/dom-BsFrLb_F.js +0 -35
  34. package/dom-BsFrLb_F.js.map +0 -1
  35. package/index.js.map +0 -1
  36. package/libav-opus-af-BlMWboA7.js +0 -368
  37. package/libav-opus-af-BlMWboA7.js.map +0 -1
  38. package/location/index.d.ts +0 -17
  39. package/location/index.d.ts.map +0 -1
  40. package/location/peers.d.ts +0 -16
  41. package/location/peers.d.ts.map +0 -1
  42. package/location/window.d.ts +0 -17
  43. package/location/window.d.ts.map +0 -1
  44. package/main-DGBFe0O7.js +0 -2301
  45. package/main-DGBFe0O7.js.map +0 -1
  46. package/preview.d.ts +0 -23
  47. package/preview.d.ts.map +0 -1
  48. package/user.d.ts +0 -17
  49. package/user.d.ts.map +0 -1
package/chat/index.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import type * as Catalog from "@moq/hang/catalog";
2
- import type * as Moq from "@moq/net";
3
- import { Signal } from "@moq/signals";
4
- import { Message, type MessageProps } from "./message";
5
- import { Typing, type TypingProps } from "./typing";
6
- export interface ChatProps {
7
- message?: MessageProps;
8
- typing?: TypingProps;
9
- }
10
- export declare class Chat {
11
- #private;
12
- message: Message;
13
- typing: Typing;
14
- constructor(broadcast: Signal<Moq.Broadcast | undefined>, catalog: Signal<Catalog.Root | undefined>, props?: ChatProps);
15
- close(): void;
16
- }
17
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,EAAU,MAAM,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,WAAW,SAAS;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,qBAAa,IAAI;;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;gBAMd,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,EAC5C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,EACzC,KAAK,CAAC,EAAE,SAAS;IAkBlB,KAAK;CAKL"}
package/chat/message.d.ts DELETED
@@ -1,16 +0,0 @@
1
- import * as Catalog from "@moq/hang/catalog";
2
- import type * as Moq from "@moq/net";
3
- import { type Getter, Signal } from "@moq/signals";
4
- export interface MessageProps {
5
- enabled?: boolean | Signal<boolean>;
6
- }
7
- export declare class Message {
8
- #private;
9
- broadcast: Signal<Moq.Broadcast | undefined>;
10
- enabled: Signal<boolean>;
11
- readonly latest: Getter<string | undefined>;
12
- readonly catalog: Getter<Catalog.Track | undefined>;
13
- constructor(broadcast: Signal<Moq.Broadcast | undefined>, catalog: Signal<Catalog.Root | undefined>, props?: MessageProps);
14
- close(): void;
15
- }
16
- //# sourceMappingURL=message.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/chat/message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,WAAW,YAAY;IAG5B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;CACpC;AAED,qBAAa,OAAO;;IACnB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAIzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAgB;IAG3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAiB;gBAKnE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,EAC5C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,EACzC,KAAK,CAAC,EAAE,YAAY;IAqCrB,KAAK;CAGL"}
package/chat/typing.d.ts DELETED
@@ -1,16 +0,0 @@
1
- import * as Catalog from "@moq/hang/catalog";
2
- import type * as Moq from "@moq/net";
3
- import { type Getter, Signal } from "@moq/signals";
4
- export interface TypingProps {
5
- enabled?: boolean | Signal<boolean>;
6
- }
7
- export declare class Typing {
8
- #private;
9
- broadcast: Signal<Moq.Broadcast | undefined>;
10
- enabled: Signal<boolean>;
11
- active: Signal<boolean | undefined>;
12
- readonly catalog: Getter<Catalog.Track | undefined>;
13
- constructor(broadcast: Signal<Moq.Broadcast | undefined>, catalog: Signal<Catalog.Root | undefined>, props?: TypingProps);
14
- close(): void;
15
- }
16
- //# sourceMappingURL=typing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typing.d.ts","sourceRoot":"","sources":["../../src/chat/typing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,WAAW,WAAW;IAG3B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;CACpC;AAED,qBAAa,MAAM;;IAClB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAGpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAiB;gBAKnE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,EAC5C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,EACzC,KAAK,CAAC,EAAE,WAAW;IAmCpB,KAAK;CAGL"}
package/dom-BsFrLb_F.js DELETED
@@ -1,35 +0,0 @@
1
- function u(s, i, ...r) {
2
- const e = document.createElement(s);
3
- if (!i) return e;
4
- const { style: t, classList: o, dataset: c, attributes: f, ...d } = i;
5
- return t && Object.assign(e.style, t), o && e.classList.add(...o), c && Object.entries(c).forEach(([n, a]) => {
6
- e.dataset[n] = a;
7
- }), f && Object.entries(f).forEach(([n, a]) => {
8
- e.setAttribute(n, a);
9
- }), r && r.forEach((n) => {
10
- typeof n == "string" ? e.appendChild(document.createTextNode(n)) : e.appendChild(n);
11
- }), Object.assign(e, d), e;
12
- }
13
- function l(s, i, r) {
14
- const e = typeof r == "function" ? r(s) : r;
15
- if (e == null) return;
16
- let t;
17
- if (e instanceof Node)
18
- t = e;
19
- else if (Array.isArray(e)) {
20
- t = document.createDocumentFragment();
21
- for (const o of e)
22
- l(s, t, o);
23
- } else if (typeof e == "number" || typeof e == "boolean" || typeof e == "string")
24
- t = document.createTextNode(e.toString());
25
- else {
26
- const o = e;
27
- throw new Error(`Invalid element type: ${o}`);
28
- }
29
- i.appendChild(t), s.cleanup(() => i.removeChild(t));
30
- }
31
- export {
32
- u as c,
33
- l as r
34
- };
35
- //# sourceMappingURL=dom-BsFrLb_F.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dom-BsFrLb_F.js","sources":["../../signals/src/dom.ts"],"sourcesContent":["import type { Effect } from \".\";\n\nexport type CreateOptions<T extends HTMLElement> = {\n\tstyle?: Partial<CSSStyleDeclaration>;\n\tclassName?: string;\n\tclassList?: string[];\n\tid?: string;\n\tdataset?: Record<string, string>;\n\tattributes?: Record<string, string>;\n} & Partial<Omit<T, \"style\" | \"dataset\">>;\n\nexport function create<K extends keyof HTMLElementTagNameMap>(\n\ttagName: K,\n\toptions?: CreateOptions<HTMLElementTagNameMap[K] & HTMLElement>,\n\t...children: (HTMLElement | string)[]\n): HTMLElementTagNameMap[K] {\n\tconst element = document.createElement(tagName);\n\n\tif (!options) return element;\n\n\tconst { style, classList, dataset, attributes, ...props } = options;\n\n\t// Apply styles\n\tif (style) {\n\t\tObject.assign(element.style, style);\n\t}\n\n\t// Apply class list\n\tif (classList) {\n\t\telement.classList.add(...classList);\n\t}\n\n\t// Apply dataset\n\tif (dataset) {\n\t\tObject.entries(dataset).forEach(([key, value]) => {\n\t\t\telement.dataset[key] = value;\n\t\t});\n\t}\n\n\t// Apply attributes\n\tif (attributes) {\n\t\tObject.entries(attributes).forEach(([key, value]) => {\n\t\t\telement.setAttribute(key, value);\n\t\t});\n\t}\n\n\t// Append children\n\tif (children) {\n\t\tchildren.forEach((child) => {\n\t\t\tif (typeof child === \"string\") {\n\t\t\t\telement.appendChild(document.createTextNode(child));\n\t\t\t} else {\n\t\t\t\telement.appendChild(child);\n\t\t\t}\n\t\t});\n\t}\n\n\t// Apply other properties\n\tObject.assign(element, props);\n\n\treturn element;\n}\n\n// Matches solid.js's JSX.Element type.\nexport type Element = Node | ArrayElement | (string & {}) | number | boolean | null | undefined;\ninterface ArrayElement extends Array<Element> {}\n\nexport function render(effect: Effect, parent: Node, element: Element | ((effect: Effect) => Element)) {\n\tconst e = typeof element === \"function\" ? element(effect) : element;\n\tif (e === undefined || e === null) return;\n\n\tlet node: Node;\n\tif (e instanceof Node) {\n\t\tnode = e;\n\t} else if (Array.isArray(e)) {\n\t\tnode = document.createDocumentFragment();\n\t\tfor (const child of e) {\n\t\t\trender(effect, node, child);\n\t\t}\n\t} else if (typeof e === \"number\" || typeof e === \"boolean\" || typeof e === \"string\") {\n\t\tnode = document.createTextNode(e.toString());\n\t} else {\n\t\tconst exhaustive: never = e;\n\t\tthrow new Error(`Invalid element type: ${exhaustive}`);\n\t}\n\n\tparent.appendChild(node);\n\teffect.cleanup(() => parent.removeChild(node));\n}\n\nexport function setClass(effect: Effect, element: HTMLElement, ...classNames: string[]) {\n\tfor (const className of classNames) {\n\t\telement.classList.add(className);\n\t}\n\n\teffect.cleanup(() => {\n\t\tfor (const className of classNames) {\n\t\t\telement.classList.remove(className);\n\t\t}\n\t});\n}\n"],"names":["create","tagName","options","children","element","style","classList","dataset","attributes","props","key","value","child","render","effect","parent","node","exhaustive"],"mappings":"AAWO,SAASA,EACfC,GACAC,MACGC,GACwB;AAC3B,QAAMC,IAAU,SAAS,cAAcH,CAAO;AAE9C,MAAI,CAACC,EAAS,QAAOE;AAErB,QAAM,EAAE,OAAAC,GAAO,WAAAC,GAAW,SAAAC,GAAS,YAAAC,GAAY,GAAGC,MAAUP;AAG5D,SAAIG,KACH,OAAO,OAAOD,EAAQ,OAAOC,CAAK,GAI/BC,KACHF,EAAQ,UAAU,IAAI,GAAGE,CAAS,GAI/BC,KACH,OAAO,QAAQA,CAAO,EAAE,QAAQ,CAAC,CAACG,GAAKC,CAAK,MAAM;AACjD,IAAAP,EAAQ,QAAQM,CAAG,IAAIC;AAAA,EACxB,CAAC,GAIEH,KACH,OAAO,QAAQA,CAAU,EAAE,QAAQ,CAAC,CAACE,GAAKC,CAAK,MAAM;AACpD,IAAAP,EAAQ,aAAaM,GAAKC,CAAK;AAAA,EAChC,CAAC,GAIER,KACHA,EAAS,QAAQ,CAACS,MAAU;AAC3B,IAAI,OAAOA,KAAU,WACpBR,EAAQ,YAAY,SAAS,eAAeQ,CAAK,CAAC,IAElDR,EAAQ,YAAYQ,CAAK;AAAA,EAE3B,CAAC,GAIF,OAAO,OAAOR,GAASK,CAAK,GAErBL;AACR;AAMO,SAASS,EAAOC,GAAgBC,GAAcX,GAAkD;AACtG,QAAM,IAAI,OAAOA,KAAY,aAAaA,EAAQU,CAAM,IAAIV;AAC5D,MAAuB,KAAM,KAAM;AAEnC,MAAIY;AACJ,MAAI,aAAa;AAChB,IAAAA,IAAO;AAAA,WACG,MAAM,QAAQ,CAAC,GAAG;AAC5B,IAAAA,IAAO,SAAS,uBAAA;AAChB,eAAWJ,KAAS;AACnB,MAAAC,EAAOC,GAAQE,GAAMJ,CAAK;AAAA,EAE5B,WAAW,OAAO,KAAM,YAAY,OAAO,KAAM,aAAa,OAAO,KAAM;AAC1E,IAAAI,IAAO,SAAS,eAAe,EAAE,SAAA,CAAU;AAAA,OACrC;AACN,UAAMC,IAAoB;AAC1B,UAAM,IAAI,MAAM,yBAAyBA,CAAU,EAAE;AAAA,EACtD;AAEA,EAAAF,EAAO,YAAYC,CAAI,GACvBF,EAAO,QAAQ,MAAMC,EAAO,YAAYC,CAAI,CAAC;AAC9C;"}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../hang/src/catalog/preview.ts","../src/chat/message.ts","../src/chat/typing.ts","../src/chat/index.ts","../../net/src/zod.ts","../src/location/peers.ts","../src/location/window.ts","../src/location/index.ts","../src/preview.ts"],"sourcesContent":["import * as z from \"zod/mini\";\n\nexport const PreviewSchema = z.object({\n\tname: z.optional(z.string()), // name\n\tavatar: z.optional(z.string()), // avatar\n\n\taudio: z.optional(z.boolean()), // audio enabled\n\tvideo: z.optional(z.boolean()), // video enabled\n\n\ttyping: z.optional(z.boolean()), // actively typing\n\tchat: z.optional(z.boolean()), // chatted recently\n\tscreen: z.optional(z.boolean()), // screen sharing\n});\n\nexport type Preview = z.infer<typeof PreviewSchema>;\n","import * as Catalog from \"@moq/hang/catalog\";\nimport type * as Moq from \"@moq/net\";\nimport { Effect, type Getter, Signal } from \"@moq/signals\";\n\nexport interface MessageProps {\n\t// Whether to start downloading the chat.\n\t// Defaults to false so you can make sure everything is ready before starting.\n\tenabled?: boolean | Signal<boolean>;\n}\n\nexport class Message {\n\tbroadcast: Signal<Moq.Broadcast | undefined>;\n\tenabled: Signal<boolean>;\n\n\t// Empty string is a valid message.\n\t#latest = new Signal<string | undefined>(undefined);\n\treadonly latest: Getter<string | undefined> = this.#latest;\n\n\t#catalog = new Signal<Catalog.Track | undefined>(undefined);\n\treadonly catalog: Getter<Catalog.Track | undefined> = this.#catalog;\n\n\t#signals = new Effect();\n\n\tconstructor(\n\t\tbroadcast: Signal<Moq.Broadcast | undefined>,\n\t\tcatalog: Signal<Catalog.Root | undefined>,\n\t\tprops?: MessageProps,\n\t) {\n\t\tthis.broadcast = broadcast;\n\t\tthis.enabled = Signal.from(props?.enabled ?? false);\n\n\t\t// Grab the chat section from the catalog (if it's changed).\n\t\tthis.#signals.run((effect) => {\n\t\t\tif (!effect.get(this.enabled)) return;\n\t\t\tthis.#catalog.set(effect.get(catalog)?.chat?.message);\n\t\t});\n\n\t\tthis.#signals.run(this.#run.bind(this));\n\t}\n\n\t#run(effect: Effect) {\n\t\tconst values = effect.getAll([this.enabled, this.#catalog, this.broadcast]);\n\t\tif (!values) return;\n\t\tconst [_, catalog, broadcast] = values;\n\n\t\tconst track = broadcast.subscribe(catalog.name, Catalog.PRIORITY.chat);\n\t\teffect.cleanup(() => track.close());\n\n\t\t// Undefined is only when we're not subscribed to the track.\n\t\teffect.set(this.#latest, \"\");\n\t\teffect.cleanup(() => this.#latest.set(undefined));\n\n\t\teffect.spawn(async () => {\n\t\t\tfor (;;) {\n\t\t\t\tconst frame = await track.readString();\n\t\t\t\tif (frame === undefined) break;\n\n\t\t\t\t// Use a function to avoid the dequal check.\n\t\t\t\tthis.#latest.set(frame);\n\t\t\t}\n\t\t});\n\t}\n\n\tclose() {\n\t\tthis.#signals.close();\n\t}\n}\n","import * as Catalog from \"@moq/hang/catalog\";\nimport type * as Moq from \"@moq/net\";\nimport { Effect, type Getter, Signal } from \"@moq/signals\";\n\nexport interface TypingProps {\n\t// Whether to start downloading the chat.\n\t// Defaults to false so you can make sure everything is ready before starting.\n\tenabled?: boolean | Signal<boolean>;\n}\n\nexport class Typing {\n\tbroadcast: Signal<Moq.Broadcast | undefined>;\n\tenabled: Signal<boolean>;\n\tactive: Signal<boolean | undefined>;\n\n\t#catalog = new Signal<Catalog.Track | undefined>(undefined);\n\treadonly catalog: Getter<Catalog.Track | undefined> = this.#catalog;\n\n\t#signals = new Effect();\n\n\tconstructor(\n\t\tbroadcast: Signal<Moq.Broadcast | undefined>,\n\t\tcatalog: Signal<Catalog.Root | undefined>,\n\t\tprops?: TypingProps,\n\t) {\n\t\tthis.broadcast = broadcast;\n\t\tthis.active = new Signal<boolean | undefined>(undefined);\n\t\tthis.enabled = Signal.from(props?.enabled ?? false);\n\n\t\t// Grab the chat section from the catalog (if it's changed).\n\t\tthis.#signals.run((effect) => {\n\t\t\tif (!effect.get(this.enabled)) return;\n\t\t\tthis.#catalog.set(effect.get(catalog)?.chat?.typing);\n\t\t});\n\n\t\tthis.#signals.run(this.#run.bind(this));\n\t}\n\n\t#run(effect: Effect) {\n\t\tconst values = effect.getAll([this.enabled, this.#catalog, this.broadcast]);\n\t\tif (!values) return;\n\t\tconst [_, catalog, broadcast] = values;\n\n\t\tconst track = broadcast.subscribe(catalog.name, Catalog.PRIORITY.typing);\n\t\teffect.cleanup(() => track.close());\n\n\t\teffect.spawn(async () => {\n\t\t\tfor (;;) {\n\t\t\t\tconst value = await track.readBool();\n\t\t\t\tif (value === undefined) break;\n\n\t\t\t\tthis.active.set(value);\n\t\t\t}\n\t\t});\n\n\t\teffect.cleanup(() => this.active.set(undefined));\n\t}\n\n\tclose() {\n\t\tthis.#signals.close();\n\t}\n}\n","import type * as Catalog from \"@moq/hang/catalog\";\nimport type * as Moq from \"@moq/net\";\nimport { Effect, Signal } from \"@moq/signals\";\nimport { Message, type MessageProps } from \"./message\";\nimport { Typing, type TypingProps } from \"./typing\";\n\nexport interface ChatProps {\n\tmessage?: MessageProps;\n\ttyping?: TypingProps;\n}\n\nexport class Chat {\n\tmessage: Message;\n\ttyping: Typing;\n\n\t#catalog = new Signal<Catalog.Chat | undefined>(undefined);\n\t#signals = new Effect();\n\n\tconstructor(\n\t\tbroadcast: Signal<Moq.Broadcast | undefined>,\n\t\tcatalog: Signal<Catalog.Root | undefined>,\n\t\tprops?: ChatProps,\n\t) {\n\t\tthis.message = new Message(broadcast, catalog, props?.message);\n\t\tthis.typing = new Typing(broadcast, catalog, props?.typing);\n\n\t\t// Grab the chat section from the catalog (if it's changed).\n\t\tthis.#signals.run((effect) => {\n\t\t\tconst message = effect.get(this.message.catalog);\n\t\t\tconst typing = effect.get(this.typing.catalog);\n\t\t\tif (!message && !typing) return;\n\n\t\t\teffect.set(this.#catalog, {\n\t\t\t\tmessage,\n\t\t\t\ttyping,\n\t\t\t});\n\t\t});\n\t}\n\n\tclose() {\n\t\tthis.#signals.close();\n\t\tthis.message.close();\n\t\tthis.typing.close();\n\t}\n}\n","// Helper containers for Zod-validated track encoding/decoding.\n\nimport type * as z from \"zod/mini\";\nimport type { Group } from \"./group.ts\";\nimport type { Track } from \"./track.ts\";\n\nexport async function read<T = unknown>(source: Track | Group, schema: z.ZodMiniType<T>): Promise<T | undefined> {\n\tconst next = await source.readJson();\n\tif (next === undefined) return undefined; // only treat undefined as EOF, not other falsy values\n\treturn schema.parse(next);\n}\n\nexport function write<T = unknown>(source: Track | Group, value: T, schema: z.ZodMiniType<T>) {\n\tconst valid = schema.parse(value);\n\tsource.writeJson(valid);\n}\n","import * as Catalog from \"@moq/hang/catalog\";\nimport type * as Moq from \"@moq/net\";\nimport * as Zod from \"@moq/net/zod\";\nimport { Effect, type Getter, Signal } from \"@moq/signals\";\n\nexport interface PeersProps {\n\tenabled?: boolean | Signal<boolean>;\n}\n\nexport class Peers {\n\tenabled: Signal<boolean>;\n\tbroadcast: Signal<Moq.Broadcast | undefined>;\n\n\t#catalog = new Signal<Catalog.Track | undefined>(undefined);\n\t#positions = new Signal<Record<string, Catalog.Position> | undefined>(undefined);\n\n\tsignals = new Effect();\n\n\tconstructor(\n\t\tbroadcast: Signal<Moq.Broadcast | undefined>,\n\t\tcatalog: Signal<Catalog.Root | undefined>,\n\t\tprops?: PeersProps,\n\t) {\n\t\tthis.broadcast = broadcast;\n\t\tthis.enabled = Signal.from(props?.enabled ?? false);\n\n\t\tthis.signals.run((effect) => {\n\t\t\tthis.#catalog.set(effect.get(catalog)?.location?.peers);\n\t\t});\n\n\t\tthis.signals.run(this.#run.bind(this));\n\t}\n\n\t#run(effect: Effect) {\n\t\tconst values = effect.getAll([this.enabled, this.#catalog, this.broadcast]);\n\t\tif (!values) return;\n\t\tconst [_, catalog, broadcast] = values;\n\n\t\tconst track = broadcast.subscribe(catalog.name, Catalog.PRIORITY.location);\n\t\teffect.cleanup(() => track.close());\n\n\t\teffect.spawn(this.#runTrack.bind(this, track));\n\t}\n\n\tasync #runTrack(track: Moq.Track) {\n\t\ttry {\n\t\t\tfor (;;) {\n\t\t\t\tconst frame = await Zod.read(track, Catalog.PeersSchema);\n\t\t\t\tif (!frame) break;\n\n\t\t\t\tthis.#positions.set(frame);\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.#positions.set(undefined);\n\t\t\ttrack.close();\n\t\t}\n\t}\n\n\tget positions(): Getter<Record<string, Catalog.Position> | undefined> {\n\t\treturn this.#positions;\n\t}\n\n\tclose() {\n\t\tthis.signals.close();\n\t}\n}\n","import * as Catalog from \"@moq/hang/catalog\";\nimport type * as Moq from \"@moq/net\";\nimport * as Zod from \"@moq/net/zod\";\nimport { Effect, type Getter, Signal } from \"@moq/signals\";\n\nexport interface WindowProps {\n\tenabled?: boolean | Signal<boolean>;\n}\n\nexport class Window {\n\tbroadcast: Signal<Moq.Broadcast | undefined>;\n\n\tenabled: Signal<boolean>;\n\n\t#handle = new Signal<string | undefined>(undefined);\n\treadonly handle: Getter<string | undefined> = this.#handle;\n\n\t#catalog = new Signal<Catalog.Location | undefined>(undefined);\n\n\t#position = new Signal<Catalog.Position | undefined>(undefined);\n\treadonly position: Getter<Catalog.Position | undefined> = this.#position;\n\n\tsignals = new Effect();\n\n\tconstructor(\n\t\tbroadcast: Signal<Moq.Broadcast | undefined>,\n\t\tcatalog: Signal<Catalog.Root | undefined>,\n\t\tprops?: WindowProps,\n\t) {\n\t\tthis.broadcast = broadcast;\n\t\tthis.enabled = Signal.from(props?.enabled ?? false);\n\n\t\tthis.signals.run((effect) => {\n\t\t\tthis.#catalog.set(effect.get(catalog)?.location);\n\t\t});\n\n\t\tthis.signals.run((effect) => {\n\t\t\tif (!effect.get(this.enabled)) return;\n\t\t\tthis.#position.set(effect.get(this.#catalog)?.initial);\n\t\t});\n\n\t\tthis.signals.run((effect) => {\n\t\t\tthis.#handle.set(effect.get(this.#catalog)?.handle);\n\t\t});\n\n\t\tthis.signals.run((effect) => {\n\t\t\tconst broadcast = effect.get(this.broadcast);\n\t\t\tif (!broadcast) return;\n\n\t\t\tconst updates = effect.get(this.#catalog)?.track;\n\t\t\tif (!updates) return;\n\n\t\t\tconst track = broadcast.subscribe(updates.name, Catalog.PRIORITY.location);\n\t\t\teffect.cleanup(() => track.close());\n\n\t\t\teffect.spawn(this.#runTrack.bind(this, track));\n\t\t});\n\t}\n\n\tasync #runTrack(track: Moq.Track) {\n\t\ttry {\n\t\t\tfor (;;) {\n\t\t\t\tconst position = await Zod.read(track, Catalog.PositionSchema);\n\t\t\t\tif (!position) break;\n\n\t\t\t\tthis.#position.set(position);\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.#position.set(undefined);\n\t\t\ttrack.close();\n\t\t}\n\t}\n\n\tclose() {\n\t\tthis.signals.close();\n\t}\n}\n","import type * as Catalog from \"@moq/hang/catalog\";\nimport type * as Moq from \"@moq/net\";\nimport { Effect, type Signal } from \"@moq/signals\";\nimport { Peers, type PeersProps } from \"./peers\";\nimport { Window, type WindowProps } from \"./window\";\n\nexport interface Props {\n\twindow?: WindowProps;\n\tpeers?: PeersProps;\n}\n\nexport class Root {\n\twindow: Window;\n\tpeers: Peers;\n\n\tsignals = new Effect();\n\n\tconstructor(\n\t\tbroadcast: Signal<Moq.Broadcast | undefined>,\n\t\tcatalog: Signal<Catalog.Root | undefined>,\n\t\tprops?: Props,\n\t) {\n\t\tthis.window = new Window(broadcast, catalog, props?.window);\n\t\tthis.peers = new Peers(broadcast, catalog, props?.peers);\n\t}\n\n\tclose() {\n\t\tthis.signals.close();\n\t\tthis.window.close();\n\t\tthis.peers.close();\n\t}\n}\n","import * as Catalog from \"@moq/hang/catalog\";\nimport type * as Moq from \"@moq/net\";\nimport * as Zod from \"@moq/net/zod\";\nimport { Effect, Signal } from \"@moq/signals\";\n\nexport interface PreviewProps {\n\tenabled?: boolean | Signal<boolean>;\n}\n\nexport class Preview {\n\tbroadcast: Signal<Moq.Broadcast | undefined>;\n\tenabled: Signal<boolean>;\n\tpreview = new Signal<Catalog.Preview | undefined>(undefined);\n\t#catalog = new Signal<Catalog.Track | undefined>(undefined);\n\n\t#signals = new Effect();\n\n\tconstructor(\n\t\tbroadcast: Signal<Moq.Broadcast | undefined>,\n\t\tcatalog: Signal<Catalog.Root | undefined>,\n\t\tprops?: PreviewProps,\n\t) {\n\t\tthis.broadcast = broadcast;\n\t\tthis.enabled = Signal.from(props?.enabled ?? false);\n\n\t\tthis.#signals.run((effect) => {\n\t\t\tthis.#catalog.set(effect.get(catalog)?.preview);\n\t\t});\n\n\t\tthis.#signals.run((effect) => {\n\t\t\tconst values = effect.getAll([this.enabled, this.broadcast, this.#catalog]);\n\t\t\tif (!values) return;\n\t\t\tconst [_, broadcast, catalog] = values;\n\n\t\t\t// Subscribe to the preview.json track directly\n\t\t\tconst track = broadcast.subscribe(catalog.name, Catalog.PRIORITY.preview);\n\t\t\teffect.cleanup(() => track.close());\n\n\t\t\teffect.spawn(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst info = await Zod.read(track, Catalog.PreviewSchema);\n\t\t\t\t\tif (!info) return;\n\n\t\t\t\t\tthis.preview.set(info);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.warn(\"Failed to parse preview JSON:\", error);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\teffect.cleanup(() => this.preview.set(undefined));\n\t\t});\n\t}\n\n\tclose() {\n\t\tthis.#signals.close();\n\t}\n}\n"],"names":["PreviewSchema","z.object","z.optional","z.string","z.boolean","Message","#latest","Signal","#catalog","#signals","Effect","broadcast","catalog","props","effect","#run","values","_","track","Catalog.PRIORITY","frame","Typing","value","Chat","message","typing","read","source","schema","next","Peers","#positions","#runTrack","Zod.read","Catalog.PeersSchema","Window","#handle","#position","updates","position","Catalog.PositionSchema","Root","Preview","info","Catalog.PreviewSchema","error"],"mappings":"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"}
@@ -1,368 +0,0 @@
1
- const A = {};
2
- (function() {
3
- function L(_) {
4
- if (_ = _ || [0, 97, 115, 109, 1, 0, 0, 0], typeof WebAssembly != "object" || typeof WebAssembly.instantiate != "function") return !1;
5
- try {
6
- var _ = new WebAssembly.Module(new Uint8Array(_));
7
- if (_ instanceof WebAssembly.Module) return new WebAssembly.Instance(_) instanceof WebAssembly.Instance;
8
- } catch {
9
- }
10
- return !1;
11
- }
12
- function R() {
13
- try {
14
- var _ = new WebAssembly.Memory({ initial: 1, maximum: 1, shared: !0 });
15
- return _.buffer instanceof SharedArrayBuffer;
16
- } catch {
17
- }
18
- return !1;
19
- }
20
- var S = typeof process < "u";
21
- A.base || (A.base = import.meta.url, A.base = A.base.replace(/\/[^\/]*$/, "")), A.isWebAssemblySupported = L, A.isThreadingSupported = R;
22
- function O(_) {
23
- _ = _ || {};
24
- var o = !_.nowasm && L(), s = _.yesthreads && o && !_.nothreads && R();
25
- return o ? s ? "thr" : "wasm" : "asm";
26
- }
27
- A.target = O, A.VER = "6.8.8.0", A.CONFIG = "opus-af", A.DBG = "", A.factories = {};
28
- var t = {};
29
- t.i64tof64 = function(_, o) {
30
- return !o && _ >= 0 || o === -1 && _ < 0 ? _ : o * 4294967296 + _ + (_ < 0 ? 4294967296 : 0);
31
- }, t.f64toi64 = function(_) {
32
- return [~~_, Math.floor(_ / 4294967296)];
33
- }, t.i64ToBigInt = function(_, o) {
34
- var s = new DataView(new ArrayBuffer(8));
35
- return s.setInt32(0, _, !0), s.setInt32(4, o, !0), s.getBigInt64(0, !0);
36
- }, t.bigIntToi64 = function(_) {
37
- var o = new DataView(new ArrayBuffer(8));
38
- return o.setBigInt64(0, _, !0), [o.getInt32(0, !0), o.getInt32(4, !0)];
39
- }, t.ff_channel_layout = function(_) {
40
- return _.channel_layout ? _.channel_layout : _.channels && _.channels !== 1 ? (1 << _.channels) - 1 : 4;
41
- }, t.ff_channels = function(_) {
42
- if (_.channels)
43
- return _.channels;
44
- if (_.channel_layout) {
45
- for (var o = 0, s = _.channel_layout; s; )
46
- o += s & 1, s >>= 1;
47
- return o;
48
- } else
49
- return 1;
50
- }, t.AV_VERSION_INT = function(_, o, s) {
51
- return _ << 16 | o << 8 | s;
52
- };
53
- function u(_, o) {
54
- typeof o === void 0 && (o = 0);
55
- var s = o;
56
- _.forEach((function(M) {
57
- t[M] = s++;
58
- }));
59
- }
60
- t.AV_TIME_BASE = 1e6, t.AV_NOPTS_VALUE_I64 = [0, -2147483648], t.AV_NOPTS_VALUE_LO = 0, t.AV_NOPTS_VALUE_HI = -2147483648, t.AV_NOPTS_VALUE = t.i64tof64(0, -2147483648), t.AV_OPT_SEARCH_CHILDREN = 1, u(["AVMEDIA_TYPE_UNKNOWN", "AVMEDIA_TYPE_VIDEO", "AVMEDIA_TYPE_AUDIO", "AVMEDIA_TYPE_DATA", "AVMEDIA_TYPE_SUBTITLE", "AVMEDIA_TYPE_ATTACHMENT"], -1), u(["AV_SAMPLE_FMT_NONE", "AV_SAMPLE_FMT_U8", "AV_SAMPLE_FMT_S16", "AV_SAMPLE_FMT_S32", "AV_SAMPLE_FMT_FLT", "AV_SAMPLE_FMT_DBL", "AV_SAMPLE_FMT_U8P", "AV_SAMPLE_FMT_S16P", "AV_SAMPLE_FMT_S32P", "AV_SAMPLE_FMT_FLTP", "AV_SAMPLE_FMT_DBLP", "AV_SAMPLE_FMT_S64", "AV_SAMPLE_FMT_S64P", "AV_SAMPLE_FMT_NB"], -1), u(["AV_PIX_FMT_NONE", "AV_PIX_FMT_YUV420P", "AV_PIX_FMT_YUYV422", "AV_PIX_FMT_RGB24", "AV_PIX_FMT_BGR24", "AV_PIX_FMT_YUV422P", "AV_PIX_FMT_YUV444P", "AV_PIX_FMT_YUV410P", "AV_PIX_FMT_YUV411P", "AV_PIX_FMT_GRAY8", "AV_PIX_FMT_MONOWHITE", "AV_PIX_FMT_MONOBLACK", "AV_PIX_FMT_PAL8", "AV_PIX_FMT_YUVJ420P", "AV_PIX_FMT_YUVJ422P", "AV_PIX_FMT_YUVJ444P", "AV_PIX_FMT_UYVY422", "AV_PIX_FMT_UYYVYY411", "AV_PIX_FMT_BGR8", "AV_PIX_FMT_BGR4", "AV_PIX_FMT_BGR4_BYTE", "AV_PIX_FMT_RGB8", "AV_PIX_FMT_RGB4", "AV_PIX_FMT_RGB4_BYTE", "AV_PIX_FMT_NV12", "AV_PIX_FMT_NV21", "AV_PIX_FMT_ARGB", "AV_PIX_FMT_RGBA", "AV_PIX_FMT_ABGR", "AV_PIX_FMT_BGRA", "AV_PIX_FMT_GRAY16BE", "AV_PIX_FMT_GRAY16LE", "AV_PIX_FMT_YUV440P", "AV_PIX_FMT_YUVJ440P", "AV_PIX_FMT_YUVA420P", "AV_PIX_FMT_RGB48BE", "AV_PIX_FMT_RGB48LE", "AV_PIX_FMT_RGB565BE", "AV_PIX_FMT_RGB565LE", "AV_PIX_FMT_RGB555BE", "AV_PIX_FMT_RGB555LE", "AV_PIX_FMT_BGR565BE", "AV_PIX_FMT_BGR565LE", "AV_PIX_FMT_BGR555BE", "AV_PIX_FMT_BGR555LE"], -1), t.AVIO_FLAG_READ = 1, t.AVIO_FLAG_WRITE = 2, t.AVIO_FLAG_READ_WRITE = 3, t.AVIO_FLAG_NONBLOCK = 8, t.AVIO_FLAG_DIRECT = 32768, t.AVFMT_FLAG_NOBUFFER = 64, t.AVFMT_FLAG_FLUSH_PACKETS = 512, t.AVSEEK_FLAG_BACKWARD = 1, t.AVSEEK_FLAG_BYTE = 2, t.AVSEEK_FLAG_ANY = 4, t.AVSEEK_FLAG_FRAME = 8, t.AVDISCARD_NONE = -16, t.AVDISCARD_DEFAULT = 0, t.AVDISCARD_NONREF = 8, t.AVDISCARD_BIDIR = 16, t.AVDISCARD_NONINTRA = 24, t.AVDISCARD_NONKEY = 32, t.AVDISCARD_ALL = 48, t.AV_LOG_QUIET = -8, t.AV_LOG_PANIC = 0, t.AV_LOG_FATAL = 8, t.AV_LOG_ERROR = 16, t.AV_LOG_WARNING = 24, t.AV_LOG_INFO = 32, t.AV_LOG_VERBOSE = 40, t.AV_LOG_DEBUG = 48, t.AV_LOG_TRACE = 56, t.AV_PKT_FLAG_KEY = 1, t.AV_PKT_FLAG_CORRUPT = 2, t.AV_PKT_FLAG_DISCARD = 4, t.AV_PKT_FLAG_TRUSTED = 8, t.AV_PKT_FLAG_DISPOSABLE = 16, u(["E2BIG", "EPERM", "EADDRINUSE", "EADDRNOTAVAIL", "EAFNOSUPPORT", "EAGAIN", "EALREADY", "EBADF", "EBADMSG", "EBUSY", "ECANCELED", "ECHILD", "ECONNABORTED", "ECONNREFUSED", "ECONNRESET", "EDEADLOCK", "EDESTADDRREQ", "EDOM", "EDQUOT", "EEXIST", "EFAULT", "EFBIG", "EHOSTUNREACH", "EIDRM", "EILSEQ", "EINPROGRESS", "EINTR", "EINVAL", "EIO", "EISCONN", "EISDIR", "ELOOP", "EMFILE", "EMLINK", "EMSGSIZE", "EMULTIHOP", "ENAMETOOLONG", "ENETDOWN", "ENETRESET", "ENETUNREACH", "ENFILE", "ENOBUFS", "ENODEV", "ENOENT"], 1), t.AVERROR_EOF = -541478725, Object.assign(A, t), A.LibAV = function(_) {
61
- _ = _ || {};
62
- var o = _.base || A.base, s = O(_), M = _.variant || A.variant || "opus-af", T = !0;
63
- T && (_.noes6 || A.noes6) && (T = !1);
64
- var E = _.toImport || A.toImport || o + "/libav-6.8.8.0-" + M + "." + s + "." + (T ? "mjs" : "js"), e, P = "direct";
65
- return s === "thr" ? P = "threads" : !S && !_.noworker && typeof Worker < "u" && (P = "worker"), Promise.all([]).then((function() {
66
- if (_.factory || A.factory) return _.factory || A.factory;
67
- if (A.factories[E]) return A.factories[E];
68
- if (P !== "worker") return T ? import(E).then((function(m) {
69
- return A.factories[E] = m.default, m.default;
70
- })) : S ? A.factories[E] = require(E) : typeof importScripts < "u" ? (importScripts(E), A.factories[E] = LibAVFactory) : new Promise((function(m, f) {
71
- var c = document.createElement("script");
72
- c.src = E, c.addEventListener("load", m), c.addEventListener("error", f), c.async = !0, document.body.appendChild(c);
73
- })).then((function() {
74
- return A.factories[E] = LibAVFactory;
75
- }));
76
- })).then((function(m) {
77
- return P === "worker" ? (e = {}, e.worker = new Worker(E, { type: T ? "module" : "classic" }), new Promise((function(f, c) {
78
- e.worker.onerror = (a) => {
79
- console.error(a), c(a.error || new Error(a.message));
80
- }, e.worker.postMessage({ config: { variant: _.variant || A.variant, wasmurl: _.wasmurl || A.wasmurl } }), e.on = 1, e.handlers = { error: [function(a) {
81
- c(a);
82
- }, null], onready: [function() {
83
- f();
84
- }, null], onwrite: [function(a) {
85
- e.onwrite && e.onwrite.apply(e, a);
86
- }, null], onread: [function(a) {
87
- try {
88
- var r = null;
89
- e.onread && (r = e.onread.apply(e, a)), r && r.then && r.catch && r.catch((function(V) {
90
- e.ff_reader_dev_send(a[0], null, { error: V });
91
- }));
92
- } catch (V) {
93
- e.ff_reader_dev_send(a[0], null, { error: V });
94
- }
95
- }, null], onblockread: [function(a) {
96
- try {
97
- var r = null;
98
- e.onblockread && (r = e.onblockread.apply(e, a)), r && r.then && r.catch && r.catch((function(V) {
99
- e.ff_block_reader_dev_send(a[0], a[1], null, { error: V });
100
- }));
101
- } catch (V) {
102
- e.ff_block_reader_dev_send(a[0], a[1], null, { error: V });
103
- }
104
- }, null] }, e.c = function() {
105
- for (var a = Array.prototype.slice.call(arguments), r = [], V = 0; V < a.length; V++)
106
- a[V] && a[V].libavjsTransfer && r.push.apply(r, a[V].libavjsTransfer);
107
- return new Promise((function(I, F) {
108
- var n = e.on++;
109
- a = [n].concat(a), e.handlers[n] = [I, F], e.worker.postMessage(a, r);
110
- }));
111
- };
112
- function i(a) {
113
- var r = a.data[0], V = e.handlers[r];
114
- V && (a.data[2] ? V[0](a.data[3]) : V[1](a.data[3]), typeof r == "number" && delete e.handlers[r]);
115
- }
116
- e.worker.onmessage = i, e.terminate = function() {
117
- e.worker.terminate();
118
- };
119
- }))) : P === "threads" ? Promise.all([]).then((function() {
120
- return m({ wasmurl: _.wasmurl || A.wasmurl, variant: _.variant || A.variant });
121
- })).then((function(f) {
122
- e = f;
123
- var c = e.libavjs_create_main_thread(), i = e.PThread.pthreads[c], a = 1, r = {}, V = null, I = new Promise((function(n) {
124
- V = n;
125
- }));
126
- e.c = function() {
127
- var n = Array.prototype.slice.call(arguments);
128
- return new Promise((function(d, l) {
129
- var C = a++;
130
- n = [C].concat(n), r[C] = [d, l], i.postMessage({ c: "libavjs_run", a: n });
131
- }));
132
- };
133
- var F = i.onmessage;
134
- return i.onmessage = function(n) {
135
- if (n.data && n.data.c === "libavjs_ret") {
136
- var d = n.data.a, l = r[d[0]];
137
- l && (d[2] ? l[0](d[3]) : l[1](d[3]), delete r[d[0]]);
138
- } else if (n.data && n.data.c === "libavjs_wait_reader")
139
- if (e.readerDevReady(n.data.fd))
140
- i.postMessage({ c: "libavjs_wait_reader", fd: n.data.fd });
141
- else {
142
- var C = e.fdName(n.data.fd), p = e.ff_reader_dev_waiters[C];
143
- p || (p = e.ff_reader_dev_waiters[C] = []), p.push((function() {
144
- i.postMessage({ c: "libavjs_wait_reader", fd: n.data.fd });
145
- }));
146
- }
147
- else if (n.data && n.data.c === "libavjs_ready")
148
- V();
149
- else
150
- return F.apply(this, arguments);
151
- }, e.terminate = function() {
152
- e.PThread.unusedWorkers.concat(e.PThread.runningWorkers).forEach((function(n) {
153
- n.terminate();
154
- }));
155
- }, I;
156
- })) : Promise.all([]).then((function() {
157
- return m({ wasmurl: _.wasmurl || A.wasmurl, variant: _.variant || A.variant });
158
- })).then((function(f) {
159
- e = f, e.worker = !1, e.c = function(c) {
160
- var i = Array.prototype.slice.call(arguments, 1);
161
- return new Promise((function(a, r) {
162
- try {
163
- a(e[c].apply(e, i));
164
- } catch (V) {
165
- r(V);
166
- }
167
- }));
168
- }, e.terminate = function() {
169
- };
170
- }));
171
- })).then((function() {
172
- function m(a) {
173
- a.forEach((function(r) {
174
- e[r] = function() {
175
- return e.c.apply(e, [r].concat(Array.prototype.slice.call(arguments)));
176
- };
177
- }));
178
- }
179
- function f(a) {
180
- a.forEach((function(r) {
181
- var V = e[r + "_sync"] = e[r];
182
- e[r] = function() {
183
- var I = arguments;
184
- return new Promise((function(F, n) {
185
- try {
186
- var d = V.apply(e, I);
187
- typeof d == "object" && d !== null && d.then ? d.then(F).catch(n) : F(d);
188
- } catch (l) {
189
- n(l);
190
- }
191
- }));
192
- };
193
- }));
194
- }
195
- var c = ["calloc", "close", "dup2", "free", "malloc", "mallinfo_uordblks", "open", "strerror", "libavjs_create_main_thread", "libavjs_with_swscale", "ff_malloc_int32_list", "ff_malloc_int64_list", "av_compare_ts_js", "av_dict_copy_js", "av_dict_free", "av_dict_set_js", "av_log_get_level", "av_log_set_level", "av_opt_set", "av_opt_set_int_list_js", "av_strdup", "ff_error", "ff_nothing", "LIBAVUTIL_VERSION_INT", "av_dict_free_js", "av_find_best_stream", "av_find_input_format", "avformat_alloc_context", "avformat_alloc_output_context2_js", "avformat_close_input", "avformat_find_stream_info", "avformat_flush", "avformat_free_context", "avformat_new_stream", "avformat_open_input", "avformat_open_input_js", "avformat_seek_file", "avformat_seek_file_min", "avformat_seek_file_max", "avformat_seek_file_approx", "avformat_write_header", "av_interleaved_write_frame", "avio_open2_js", "avio_close", "avio_flush", "av_read_frame", "av_seek_frame", "av_write_frame", "av_write_trailer", "LIBAVFORMAT_VERSION_INT", "ff_init_muxer", "ff_free_muxer", "ff_init_demuxer_file", "ff_write_multi", "ff_read_frame_multi", "ff_read_multi", "AVFormatContext_duration", "AVFormatContext_duration_s", "AVFormatContext_durationhi", "AVFormatContext_durationhi_s", "AVFormatContext_flags", "AVFormatContext_flags_s", "AVFormatContext_nb_streams", "AVFormatContext_nb_streams_s", "AVFormatContext_oformat", "AVFormatContext_oformat_s", "AVFormatContext_pb", "AVFormatContext_pb_s", "AVFormatContext_start_time", "AVFormatContext_start_time_s", "AVFormatContext_start_timehi", "AVFormatContext_start_timehi_s", "AVFormatContext_streams_a", "AVFormatContext_streams_a_s", "AVStream_codecpar", "AVStream_codecpar_s", "AVStream_discard", "AVStream_discard_s", "AVStream_duration", "AVStream_duration_s", "AVStream_durationhi", "AVStream_durationhi_s", "AVStream_time_base_num", "AVStream_time_base_den", "AVStream_time_base_num_s", "AVStream_time_base_den_s", "AVStream_time_base_s", "avformat_close_input_js", "avcodec_descriptor_get", "avcodec_descriptor_get_by_name", "avcodec_descriptor_next", "av_grow_packet", "av_packet_alloc", "av_packet_clone", "av_packet_free", "av_packet_make_writable", "av_packet_new_side_data", "av_packet_ref", "av_packet_rescale_ts_js", "AVPacketSideData_data", "AVPacketSideData_size", "AVPacketSideData_type", "av_packet_unref", "av_shrink_packet", "ff_codecpar_new_side_data", "LIBAVCODEC_VERSION_INT", "ff_set_packet", "ff_copyout_packet", "ff_copyout_packet_ptr", "ff_copyin_packet", "AVCodecDescriptor_id", "AVCodecDescriptor_id_s", "AVCodecDescriptor_long_name", "AVCodecDescriptor_mime_types_a", "AVCodecDescriptor_mime_types_a_s", "AVCodecDescriptor_name", "AVCodecDescriptor_props", "AVCodecDescriptor_props_s", "AVCodecDescriptor_type", "AVCodecDescriptor_type_s", "AVCodecParameters_bit_rate", "AVCodecParameters_bit_rate_s", "AVCodecParameters_channel_layoutmask", "AVCodecParameters_channel_layoutmask_s", "AVCodecParameters_channels", "AVCodecParameters_channels_s", "AVCodecParameters_ch_layout_nb_channels", "AVCodecParameters_ch_layout_nb_channels_s", "AVCodecParameters_chroma_location", "AVCodecParameters_chroma_location_s", "AVCodecParameters_codec_id", "AVCodecParameters_codec_id_s", "AVCodecParameters_codec_tag", "AVCodecParameters_codec_tag_s", "AVCodecParameters_codec_type", "AVCodecParameters_codec_type_s", "AVCodecParameters_coded_side_data", "AVCodecParameters_coded_side_data_s", "AVCodecParameters_color_primaries", "AVCodecParameters_color_primaries_s", "AVCodecParameters_color_range", "AVCodecParameters_color_range_s", "AVCodecParameters_color_space", "AVCodecParameters_color_space_s", "AVCodecParameters_color_trc", "AVCodecParameters_color_trc_s", "AVCodecParameters_extradata", "AVCodecParameters_extradata_s", "AVCodecParameters_extradata_size", "AVCodecParameters_extradata_size_s", "AVCodecParameters_format", "AVCodecParameters_format_s", "AVCodecParameters_framerate_num", "AVCodecParameters_framerate_den", "AVCodecParameters_framerate_num_s", "AVCodecParameters_framerate_den_s", "AVCodecParameters_framerate_s", "AVCodecParameters_height", "AVCodecParameters_height_s", "AVCodecParameters_level", "AVCodecParameters_level_s", "AVCodecParameters_nb_coded_side_data", "AVCodecParameters_nb_coded_side_data_s", "AVCodecParameters_profile", "AVCodecParameters_profile_s", "AVCodecParameters_sample_rate", "AVCodecParameters_sample_rate_s", "AVCodecParameters_width", "AVCodecParameters_width_s", "AVPacket_data", "AVPacket_data_s", "AVPacket_dts", "AVPacket_dts_s", "AVPacket_dtshi", "AVPacket_dtshi_s", "AVPacket_duration", "AVPacket_duration_s", "AVPacket_durationhi", "AVPacket_durationhi_s", "AVPacket_flags", "AVPacket_flags_s", "AVPacket_pos", "AVPacket_pos_s", "AVPacket_poshi", "AVPacket_poshi_s", "AVPacket_pts", "AVPacket_pts_s", "AVPacket_ptshi", "AVPacket_ptshi_s", "AVPacket_side_data", "AVPacket_side_data_s", "AVPacket_side_data_elems", "AVPacket_side_data_elems_s", "AVPacket_size", "AVPacket_size_s", "AVPacket_stream_index", "AVPacket_stream_index_s", "AVPacket_time_base_num", "AVPacket_time_base_den", "AVPacket_time_base_num_s", "AVPacket_time_base_den_s", "AVPacket_time_base_s", "av_packet_free_js", "avcodec_parameters_free_js", "avcodec_alloc_context3", "avcodec_find_decoder", "avcodec_find_decoder_by_name", "avcodec_find_encoder", "avcodec_find_encoder_by_name", "avcodec_flush_buffers", "avcodec_free_context", "avcodec_get_name", "avcodec_open2", "avcodec_open2_js", "avcodec_parameters_alloc", "avcodec_parameters_copy", "avcodec_parameters_free", "avcodec_parameters_from_context", "avcodec_parameters_to_context", "avcodec_receive_frame", "avcodec_receive_packet", "avcodec_send_frame", "avcodec_send_packet", "ff_init_encoder", "ff_init_decoder", "ff_free_encoder", "ff_free_decoder", "ff_encode_multi", "ff_decode_multi", "ff_copyout_codecpar", "ff_copyin_codecpar", "AVCodec_name", "AVCodec_sample_fmts", "AVCodec_sample_fmts_s", "AVCodec_sample_fmts_a", "AVCodec_sample_fmts_a_s", "AVCodec_supported_samplerates", "AVCodec_supported_samplerates_s", "AVCodec_supported_samplerates_a", "AVCodec_supported_samplerates_a_s", "AVCodec_type", "AVCodec_type_s", "AVCodecContext_codec_id", "AVCodecContext_codec_id_s", "AVCodecContext_codec_type", "AVCodecContext_codec_type_s", "AVCodecContext_bit_rate", "AVCodecContext_bit_rate_s", "AVCodecContext_bit_ratehi", "AVCodecContext_bit_ratehi_s", "AVCodecContext_channel_layout", "AVCodecContext_channel_layout_s", "AVCodecContext_channel_layouthi", "AVCodecContext_channel_layouthi_s", "AVCodecContext_channels", "AVCodecContext_channels_s", "AVCodecContext_channel_layoutmask", "AVCodecContext_channel_layoutmask_s", "AVCodecContext_ch_layout_nb_channels", "AVCodecContext_ch_layout_nb_channels_s", "AVCodecContext_coded_side_data", "AVCodecContext_coded_side_data_s", "AVCodecContext_compression_level", "AVCodecContext_compression_level_s", "AVCodecContext_extradata", "AVCodecContext_extradata_s", "AVCodecContext_extradata_size", "AVCodecContext_extradata_size_s", "AVCodecContext_frame_size", "AVCodecContext_frame_size_s", "AVCodecContext_framerate_num", "AVCodecContext_framerate_den", "AVCodecContext_framerate_num_s", "AVCodecContext_framerate_den_s", "AVCodecContext_framerate_s", "AVCodecContext_gop_size", "AVCodecContext_gop_size_s", "AVCodecContext_height", "AVCodecContext_height_s", "AVCodecContext_keyint_min", "AVCodecContext_keyint_min_s", "AVCodecContext_level", "AVCodecContext_level_s", "AVCodecContext_max_b_frames", "AVCodecContext_max_b_frames_s", "AVCodecContext_nb_coded_side_data", "AVCodecContext_nb_coded_side_data_s", "AVCodecContext_pix_fmt", "AVCodecContext_pix_fmt_s", "AVCodecContext_profile", "AVCodecContext_profile_s", "AVCodecContext_rc_max_rate", "AVCodecContext_rc_max_rate_s", "AVCodecContext_rc_max_ratehi", "AVCodecContext_rc_max_ratehi_s", "AVCodecContext_rc_min_rate", "AVCodecContext_rc_min_rate_s", "AVCodecContext_rc_min_ratehi", "AVCodecContext_rc_min_ratehi_s", "AVCodecContext_sample_aspect_ratio_num", "AVCodecContext_sample_aspect_ratio_den", "AVCodecContext_sample_aspect_ratio_num_s", "AVCodecContext_sample_aspect_ratio_den_s", "AVCodecContext_sample_aspect_ratio_s", "AVCodecContext_sample_fmt", "AVCodecContext_sample_fmt_s", "AVCodecContext_sample_rate", "AVCodecContext_sample_rate_s", "AVCodecContext_strict_std_compliance", "AVCodecContext_strict_std_compliance_s", "AVCodecContext_time_base_num", "AVCodecContext_time_base_den", "AVCodecContext_time_base_num_s", "AVCodecContext_time_base_den_s", "AVCodecContext_time_base_s", "AVCodecContext_pkt_timebase_num", "AVCodecContext_pkt_timebase_den", "AVCodecContext_pkt_timebase_num_s", "AVCodecContext_pkt_timebase_den_s", "AVCodecContext_pkt_timebase_s", "AVCodecContext_qmax", "AVCodecContext_qmax_s", "AVCodecContext_qmin", "AVCodecContext_qmin_s", "AVCodecContext_width", "AVCodecContext_width_s", "avcodec_free_context_js", "av_frame_alloc", "av_frame_clone", "av_frame_free", "av_frame_get_buffer", "av_frame_make_writable", "av_frame_ref", "av_frame_unref", "av_get_bytes_per_sample", "av_get_sample_fmt_name", "av_pix_fmt_desc_get", "AVPixFmtDescriptor_comp_depth", "ff_frame_rescale_ts_js", "ff_copyout_frame", "ff_copyout_frame_video", "ff_frame_video_packed_size", "ff_copyout_frame_video_packed", "ff_copyout_frame_video_imagedata", "ff_copyout_frame_ptr", "ff_copyin_frame", "AVFrame_channel_layout", "AVFrame_channel_layout_s", "AVFrame_channel_layouthi", "AVFrame_channel_layouthi_s", "AVFrame_channels", "AVFrame_channels_s", "AVFrame_channel_layoutmask", "AVFrame_channel_layoutmask_s", "AVFrame_ch_layout_nb_channels", "AVFrame_ch_layout_nb_channels_s", "AVFrame_crop_bottom", "AVFrame_crop_bottom_s", "AVFrame_crop_left", "AVFrame_crop_left_s", "AVFrame_crop_right", "AVFrame_crop_right_s", "AVFrame_crop_top", "AVFrame_crop_top_s", "AVFrame_data_a", "AVFrame_data_a_s", "AVFrame_duration", "AVFrame_duration_s", "AVFrame_flags", "AVFrame_flags_s", "AVFrame_format", "AVFrame_format_s", "AVFrame_height", "AVFrame_height_s", "AVFrame_key_frame", "AVFrame_key_frame_s", "AVFrame_linesize_a", "AVFrame_linesize_a_s", "AVFrame_nb_samples", "AVFrame_nb_samples_s", "AVFrame_pict_type", "AVFrame_pict_type_s", "AVFrame_pts", "AVFrame_pts_s", "AVFrame_ptshi", "AVFrame_ptshi_s", "AVFrame_sample_aspect_ratio_num", "AVFrame_sample_aspect_ratio_den", "AVFrame_sample_aspect_ratio_num_s", "AVFrame_sample_aspect_ratio_den_s", "AVFrame_sample_aspect_ratio_s", "AVFrame_sample_rate", "AVFrame_sample_rate_s", "AVFrame_time_base_num", "AVFrame_time_base_den", "AVFrame_time_base_num_s", "AVFrame_time_base_den_s", "AVFrame_time_base_s", "AVFrame_width", "AVFrame_width_s", "AVPixFmtDescriptor_flags", "AVPixFmtDescriptor_flags_s", "AVPixFmtDescriptor_log2_chroma_h", "AVPixFmtDescriptor_log2_chroma_h_s", "AVPixFmtDescriptor_log2_chroma_w", "AVPixFmtDescriptor_log2_chroma_w_s", "AVPixFmtDescriptor_nb_components", "AVPixFmtDescriptor_nb_components_s", "av_frame_free_js", "av_buffersink_get_frame", "av_buffersink_get_time_base_num", "av_buffersink_get_time_base_den", "av_buffersink_set_frame_size", "ff_buffersink_set_ch_layout", "av_buffersrc_add_frame_flags", "avfilter_free", "avfilter_get_by_name", "avfilter_graph_alloc", "avfilter_graph_config", "avfilter_graph_create_filter_js", "avfilter_graph_free", "avfilter_graph_parse", "avfilter_inout_alloc", "avfilter_inout_free", "avfilter_link", "LIBAVFILTER_VERSION_INT", "ff_init_filter_graph", "ff_filter_multi", "ff_decode_filter_multi", "AVFilterInOut_filter_ctx", "AVFilterInOut_filter_ctx_s", "AVFilterInOut_name", "AVFilterInOut_name_s", "AVFilterInOut_next", "AVFilterInOut_next_s", "AVFilterInOut_pad_idx", "AVFilterInOut_pad_idx_s", "avfilter_graph_free_js", "avfilter_inout_free_js"], i = ["copyin_u8", "copyout_u8", "copyin_s16", "copyout_s16", "copyin_s32", "copyout_s32", "copyin_f32", "copyout_f32", "createLazyFile", "ff_block_reader_dev_send", "ff_reader_dev_send", "ff_reader_dev_waiting", "mkblockreaderdev", "mkdev", "mkfsfhfile", "mkreadaheadfile", "mkreaderdev", "mkstreamwriterdev", "mkworkerfsfile", "mkwriterdev", "mountwriterfs", "readFile", "unlink", "unlinkfsfhfile", "unlinkreadaheadfile", "unlinkworkerfsfile", "unmount", "writeFile"];
196
- return e.libavjsMode = P, P === "worker" ? (m(c), m(i)) : P === "threads" ? (m(c), f(i)) : (f(c), f(i)), Object.assign(e, t), e;
197
- }));
198
- };
199
- })();
200
- const { base: N, isWebAssemblySupported: D, isThreadingSupported: v, target: G, VER: h, CONFIG: B, DBG: x, factories: X, i64tof64: b, f64toi64: y, i64ToBigInt: k, bigIntToi64: U, ff_channel_layout: Y, ff_channels: g, AV_VERSION_INT: w, AV_TIME_BASE: K, AV_NOPTS_VALUE_I64: j, AV_NOPTS_VALUE_LO: W, AV_NOPTS_VALUE_HI: H, AV_NOPTS_VALUE: z, AV_OPT_SEARCH_CHILDREN: J, AVMEDIA_TYPE_UNKNOWN: Q, AVMEDIA_TYPE_VIDEO: q, AVMEDIA_TYPE_AUDIO: Z, AVMEDIA_TYPE_DATA: $, AVMEDIA_TYPE_SUBTITLE: __, AVMEDIA_TYPE_ATTACHMENT: e_, AV_SAMPLE_FMT_NONE: t_, AV_SAMPLE_FMT_U8: a_, AV_SAMPLE_FMT_S16: r_, AV_SAMPLE_FMT_S32: A_, AV_SAMPLE_FMT_FLT: o_, AV_SAMPLE_FMT_DBL: n_, AV_SAMPLE_FMT_U8P: V_, AV_SAMPLE_FMT_S16P: s_, AV_SAMPLE_FMT_S32P: c_, AV_SAMPLE_FMT_FLTP: i_, AV_SAMPLE_FMT_DBLP: d_, AV_SAMPLE_FMT_S64: E_, AV_SAMPLE_FMT_S64P: m_, AV_SAMPLE_FMT_NB: f_, AV_PIX_FMT_NONE: P_, AV_PIX_FMT_YUV420P: l_, AV_PIX_FMT_YUYV422: F_, AV_PIX_FMT_RGB24: T_, AV_PIX_FMT_BGR24: I_, AV_PIX_FMT_YUV422P: C_, AV_PIX_FMT_YUV444P: u_, AV_PIX_FMT_YUV410P: M_, AV_PIX_FMT_YUV411P: p_, AV_PIX_FMT_GRAY8: L_, AV_PIX_FMT_MONOWHITE: R_, AV_PIX_FMT_MONOBLACK: S_, AV_PIX_FMT_PAL8: O_, AV_PIX_FMT_YUVJ420P: N_, AV_PIX_FMT_YUVJ422P: D_, AV_PIX_FMT_YUVJ444P: v_, AV_PIX_FMT_UYVY422: G_, AV_PIX_FMT_UYYVYY411: h_, AV_PIX_FMT_BGR8: B_, AV_PIX_FMT_BGR4: x_, AV_PIX_FMT_BGR4_BYTE: X_, AV_PIX_FMT_RGB8: b_, AV_PIX_FMT_RGB4: y_, AV_PIX_FMT_RGB4_BYTE: k_, AV_PIX_FMT_NV12: U_, AV_PIX_FMT_NV21: Y_, AV_PIX_FMT_ARGB: g_, AV_PIX_FMT_RGBA: w_, AV_PIX_FMT_ABGR: K_, AV_PIX_FMT_BGRA: j_, AV_PIX_FMT_GRAY16BE: W_, AV_PIX_FMT_GRAY16LE: H_, AV_PIX_FMT_YUV440P: z_, AV_PIX_FMT_YUVJ440P: J_, AV_PIX_FMT_YUVA420P: Q_, AV_PIX_FMT_RGB48BE: q_, AV_PIX_FMT_RGB48LE: Z_, AV_PIX_FMT_RGB565BE: $_, AV_PIX_FMT_RGB565LE: _e, AV_PIX_FMT_RGB555BE: ee, AV_PIX_FMT_RGB555LE: te, AV_PIX_FMT_BGR565BE: ae, AV_PIX_FMT_BGR565LE: re, AV_PIX_FMT_BGR555BE: Ae, AV_PIX_FMT_BGR555LE: oe, AVIO_FLAG_READ: ne, AVIO_FLAG_WRITE: Ve, AVIO_FLAG_READ_WRITE: se, AVIO_FLAG_NONBLOCK: ce, AVIO_FLAG_DIRECT: ie, AVFMT_FLAG_NOBUFFER: de, AVFMT_FLAG_FLUSH_PACKETS: Ee, AVSEEK_FLAG_BACKWARD: me, AVSEEK_FLAG_BYTE: fe, AVSEEK_FLAG_ANY: Pe, AVSEEK_FLAG_FRAME: le, AVDISCARD_NONE: Fe, AVDISCARD_DEFAULT: Te, AVDISCARD_NONREF: Ie, AVDISCARD_BIDIR: Ce, AVDISCARD_NONINTRA: ue, AVDISCARD_NONKEY: Me, AVDISCARD_ALL: pe, AV_LOG_QUIET: Le, AV_LOG_PANIC: Re, AV_LOG_FATAL: Se, AV_LOG_ERROR: Oe, AV_LOG_WARNING: Ne, AV_LOG_INFO: De, AV_LOG_VERBOSE: ve, AV_LOG_DEBUG: Ge, AV_LOG_TRACE: he, AV_PKT_FLAG_KEY: Be, AV_PKT_FLAG_CORRUPT: xe, AV_PKT_FLAG_DISCARD: Xe, AV_PKT_FLAG_TRUSTED: be, AV_PKT_FLAG_DISPOSABLE: ye, E2BIG: ke, EPERM: Ue, EADDRINUSE: Ye, EADDRNOTAVAIL: ge, EAFNOSUPPORT: we, EAGAIN: Ke, EALREADY: je, EBADF: We, EBADMSG: He, EBUSY: ze, ECANCELED: Je, ECHILD: Qe, ECONNABORTED: qe, ECONNREFUSED: Ze, ECONNRESET: $e, EDEADLOCK: _t, EDESTADDRREQ: et, EDOM: tt, EDQUOT: at, EEXIST: rt, EFAULT: At, EFBIG: ot, EHOSTUNREACH: nt, EIDRM: Vt, EILSEQ: st, EINPROGRESS: ct, EINTR: it, EINVAL: dt, EIO: Et, EISCONN: mt, EISDIR: ft, ELOOP: Pt, EMFILE: lt, EMLINK: Ft, EMSGSIZE: Tt, EMULTIHOP: It, ENAMETOOLONG: Ct, ENETDOWN: ut, ENETRESET: Mt, ENETUNREACH: pt, ENFILE: Lt, ENOBUFS: Rt, ENODEV: St, ENOENT: Ot, AVERROR_EOF: Nt, LibAV: Dt } = A;
201
- export {
202
- pe as AVDISCARD_ALL,
203
- Ce as AVDISCARD_BIDIR,
204
- Te as AVDISCARD_DEFAULT,
205
- Fe as AVDISCARD_NONE,
206
- ue as AVDISCARD_NONINTRA,
207
- Me as AVDISCARD_NONKEY,
208
- Ie as AVDISCARD_NONREF,
209
- Nt as AVERROR_EOF,
210
- Ee as AVFMT_FLAG_FLUSH_PACKETS,
211
- de as AVFMT_FLAG_NOBUFFER,
212
- ie as AVIO_FLAG_DIRECT,
213
- ce as AVIO_FLAG_NONBLOCK,
214
- ne as AVIO_FLAG_READ,
215
- se as AVIO_FLAG_READ_WRITE,
216
- Ve as AVIO_FLAG_WRITE,
217
- e_ as AVMEDIA_TYPE_ATTACHMENT,
218
- Z as AVMEDIA_TYPE_AUDIO,
219
- $ as AVMEDIA_TYPE_DATA,
220
- __ as AVMEDIA_TYPE_SUBTITLE,
221
- Q as AVMEDIA_TYPE_UNKNOWN,
222
- q as AVMEDIA_TYPE_VIDEO,
223
- Pe as AVSEEK_FLAG_ANY,
224
- me as AVSEEK_FLAG_BACKWARD,
225
- fe as AVSEEK_FLAG_BYTE,
226
- le as AVSEEK_FLAG_FRAME,
227
- Ge as AV_LOG_DEBUG,
228
- Oe as AV_LOG_ERROR,
229
- Se as AV_LOG_FATAL,
230
- De as AV_LOG_INFO,
231
- Re as AV_LOG_PANIC,
232
- Le as AV_LOG_QUIET,
233
- he as AV_LOG_TRACE,
234
- ve as AV_LOG_VERBOSE,
235
- Ne as AV_LOG_WARNING,
236
- z as AV_NOPTS_VALUE,
237
- H as AV_NOPTS_VALUE_HI,
238
- j as AV_NOPTS_VALUE_I64,
239
- W as AV_NOPTS_VALUE_LO,
240
- J as AV_OPT_SEARCH_CHILDREN,
241
- K_ as AV_PIX_FMT_ABGR,
242
- g_ as AV_PIX_FMT_ARGB,
243
- I_ as AV_PIX_FMT_BGR24,
244
- x_ as AV_PIX_FMT_BGR4,
245
- X_ as AV_PIX_FMT_BGR4_BYTE,
246
- Ae as AV_PIX_FMT_BGR555BE,
247
- oe as AV_PIX_FMT_BGR555LE,
248
- ae as AV_PIX_FMT_BGR565BE,
249
- re as AV_PIX_FMT_BGR565LE,
250
- B_ as AV_PIX_FMT_BGR8,
251
- j_ as AV_PIX_FMT_BGRA,
252
- W_ as AV_PIX_FMT_GRAY16BE,
253
- H_ as AV_PIX_FMT_GRAY16LE,
254
- L_ as AV_PIX_FMT_GRAY8,
255
- S_ as AV_PIX_FMT_MONOBLACK,
256
- R_ as AV_PIX_FMT_MONOWHITE,
257
- P_ as AV_PIX_FMT_NONE,
258
- U_ as AV_PIX_FMT_NV12,
259
- Y_ as AV_PIX_FMT_NV21,
260
- O_ as AV_PIX_FMT_PAL8,
261
- T_ as AV_PIX_FMT_RGB24,
262
- y_ as AV_PIX_FMT_RGB4,
263
- q_ as AV_PIX_FMT_RGB48BE,
264
- Z_ as AV_PIX_FMT_RGB48LE,
265
- k_ as AV_PIX_FMT_RGB4_BYTE,
266
- ee as AV_PIX_FMT_RGB555BE,
267
- te as AV_PIX_FMT_RGB555LE,
268
- $_ as AV_PIX_FMT_RGB565BE,
269
- _e as AV_PIX_FMT_RGB565LE,
270
- b_ as AV_PIX_FMT_RGB8,
271
- w_ as AV_PIX_FMT_RGBA,
272
- G_ as AV_PIX_FMT_UYVY422,
273
- h_ as AV_PIX_FMT_UYYVYY411,
274
- M_ as AV_PIX_FMT_YUV410P,
275
- p_ as AV_PIX_FMT_YUV411P,
276
- l_ as AV_PIX_FMT_YUV420P,
277
- C_ as AV_PIX_FMT_YUV422P,
278
- z_ as AV_PIX_FMT_YUV440P,
279
- u_ as AV_PIX_FMT_YUV444P,
280
- Q_ as AV_PIX_FMT_YUVA420P,
281
- N_ as AV_PIX_FMT_YUVJ420P,
282
- D_ as AV_PIX_FMT_YUVJ422P,
283
- J_ as AV_PIX_FMT_YUVJ440P,
284
- v_ as AV_PIX_FMT_YUVJ444P,
285
- F_ as AV_PIX_FMT_YUYV422,
286
- xe as AV_PKT_FLAG_CORRUPT,
287
- Xe as AV_PKT_FLAG_DISCARD,
288
- ye as AV_PKT_FLAG_DISPOSABLE,
289
- Be as AV_PKT_FLAG_KEY,
290
- be as AV_PKT_FLAG_TRUSTED,
291
- n_ as AV_SAMPLE_FMT_DBL,
292
- d_ as AV_SAMPLE_FMT_DBLP,
293
- o_ as AV_SAMPLE_FMT_FLT,
294
- i_ as AV_SAMPLE_FMT_FLTP,
295
- f_ as AV_SAMPLE_FMT_NB,
296
- t_ as AV_SAMPLE_FMT_NONE,
297
- r_ as AV_SAMPLE_FMT_S16,
298
- s_ as AV_SAMPLE_FMT_S16P,
299
- A_ as AV_SAMPLE_FMT_S32,
300
- c_ as AV_SAMPLE_FMT_S32P,
301
- E_ as AV_SAMPLE_FMT_S64,
302
- m_ as AV_SAMPLE_FMT_S64P,
303
- a_ as AV_SAMPLE_FMT_U8,
304
- V_ as AV_SAMPLE_FMT_U8P,
305
- K as AV_TIME_BASE,
306
- w as AV_VERSION_INT,
307
- B as CONFIG,
308
- x as DBG,
309
- ke as E2BIG,
310
- Ye as EADDRINUSE,
311
- ge as EADDRNOTAVAIL,
312
- we as EAFNOSUPPORT,
313
- Ke as EAGAIN,
314
- je as EALREADY,
315
- We as EBADF,
316
- He as EBADMSG,
317
- ze as EBUSY,
318
- Je as ECANCELED,
319
- Qe as ECHILD,
320
- qe as ECONNABORTED,
321
- Ze as ECONNREFUSED,
322
- $e as ECONNRESET,
323
- _t as EDEADLOCK,
324
- et as EDESTADDRREQ,
325
- tt as EDOM,
326
- at as EDQUOT,
327
- rt as EEXIST,
328
- At as EFAULT,
329
- ot as EFBIG,
330
- nt as EHOSTUNREACH,
331
- Vt as EIDRM,
332
- st as EILSEQ,
333
- ct as EINPROGRESS,
334
- it as EINTR,
335
- dt as EINVAL,
336
- Et as EIO,
337
- mt as EISCONN,
338
- ft as EISDIR,
339
- Pt as ELOOP,
340
- lt as EMFILE,
341
- Ft as EMLINK,
342
- Tt as EMSGSIZE,
343
- It as EMULTIHOP,
344
- Ct as ENAMETOOLONG,
345
- ut as ENETDOWN,
346
- Mt as ENETRESET,
347
- pt as ENETUNREACH,
348
- Lt as ENFILE,
349
- Rt as ENOBUFS,
350
- St as ENODEV,
351
- Ot as ENOENT,
352
- Ue as EPERM,
353
- Dt as LibAV,
354
- h as VER,
355
- N as base,
356
- U as bigIntToi64,
357
- A as default,
358
- y as f64toi64,
359
- X as factories,
360
- Y as ff_channel_layout,
361
- g as ff_channels,
362
- k as i64ToBigInt,
363
- b as i64tof64,
364
- v as isThreadingSupported,
365
- D as isWebAssemblySupported,
366
- G as target
367
- };
368
- //# sourceMappingURL=libav-opus-af-BlMWboA7.js.map