@meframe/core 0.0.1 → 0.0.2
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/README.md +17 -4
- package/dist/Meframe.d.ts.map +1 -1
- package/dist/Meframe.js +0 -3
- package/dist/Meframe.js.map +1 -1
- package/dist/assets/audio-compose.worker-nGVvHD5Q.js +1537 -0
- package/dist/assets/audio-compose.worker-nGVvHD5Q.js.map +1 -0
- package/dist/assets/audio-demux.worker-xwWBtbAe.js +8299 -0
- package/dist/assets/audio-demux.worker-xwWBtbAe.js.map +1 -0
- package/dist/assets/decode.worker-DpWHsc7R.js +1291 -0
- package/dist/assets/decode.worker-DpWHsc7R.js.map +1 -0
- package/dist/assets/encode.worker-nfOb3kw6.js +1026 -0
- package/dist/assets/encode.worker-nfOb3kw6.js.map +1 -0
- package/dist/assets/mux.worker-uEMQY066.js +8019 -0
- package/dist/assets/mux.worker-uEMQY066.js.map +1 -0
- package/dist/assets/video-compose.worker-DPzsC21d.js +1683 -0
- package/dist/assets/video-compose.worker-DPzsC21d.js.map +1 -0
- package/dist/assets/video-demux.worker-D019I7GQ.js +7957 -0
- package/dist/assets/video-demux.worker-D019I7GQ.js.map +1 -0
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/CacheManager.js +8 -1
- package/dist/cache/CacheManager.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +0 -8
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/types.d.ts +0 -4
- package/dist/config/types.d.ts.map +1 -1
- package/dist/controllers/PlaybackController.d.ts +4 -2
- package/dist/controllers/PlaybackController.d.ts.map +1 -1
- package/dist/controllers/PlaybackController.js +7 -13
- package/dist/controllers/PlaybackController.js.map +1 -1
- package/dist/controllers/PreRenderService.d.ts +3 -2
- package/dist/controllers/PreRenderService.d.ts.map +1 -1
- package/dist/controllers/PreRenderService.js.map +1 -1
- package/dist/controllers/PreviewHandle.d.ts +2 -0
- package/dist/controllers/PreviewHandle.d.ts.map +1 -1
- package/dist/controllers/PreviewHandle.js +6 -0
- package/dist/controllers/PreviewHandle.js.map +1 -1
- package/dist/controllers/index.d.ts +1 -1
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/types.d.ts +2 -12
- package/dist/controllers/types.d.ts.map +1 -1
- package/dist/event/events.d.ts +5 -59
- package/dist/event/events.d.ts.map +1 -1
- package/dist/event/events.js +1 -6
- package/dist/event/events.js.map +1 -1
- package/dist/model/CompositionModel.js +1 -2
- package/dist/model/CompositionModel.js.map +1 -1
- package/dist/orchestrator/CompositionPlanner.d.ts.map +1 -1
- package/dist/orchestrator/CompositionPlanner.js +1 -0
- package/dist/orchestrator/CompositionPlanner.js.map +1 -1
- package/dist/orchestrator/Orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/Orchestrator.js +1 -12
- package/dist/orchestrator/Orchestrator.js.map +1 -1
- package/dist/orchestrator/VideoClipSession.d.ts.map +1 -1
- package/dist/orchestrator/VideoClipSession.js +4 -5
- package/dist/orchestrator/VideoClipSession.js.map +1 -1
- package/dist/orchestrator/types.d.ts +0 -1
- package/dist/orchestrator/types.d.ts.map +1 -1
- package/dist/stages/compose/GlobalAudioSession.d.ts.map +1 -1
- package/dist/stages/compose/GlobalAudioSession.js +3 -2
- package/dist/stages/compose/GlobalAudioSession.js.map +1 -1
- package/dist/stages/compose/VideoComposer.d.ts.map +1 -1
- package/dist/stages/compose/VideoComposer.js +2 -2
- package/dist/stages/compose/VideoComposer.js.map +1 -1
- package/dist/stages/compose/audio-compose.worker.d.ts.map +1 -1
- package/dist/stages/compose/audio-compose.worker.js +0 -1
- package/dist/stages/compose/audio-compose.worker.js.map +1 -1
- package/dist/stages/compose/audio-compose.worker2.js +5 -0
- package/dist/stages/compose/audio-compose.worker2.js.map +1 -0
- package/dist/stages/compose/types.d.ts +1 -0
- package/dist/stages/compose/types.d.ts.map +1 -1
- package/dist/stages/compose/video-compose.worker.d.ts.map +1 -1
- package/dist/stages/compose/video-compose.worker.js +18 -8
- package/dist/stages/compose/video-compose.worker.js.map +1 -1
- package/dist/stages/compose/video-compose.worker2.js +5 -0
- package/dist/stages/compose/video-compose.worker2.js.map +1 -0
- package/dist/stages/decode/AudioChunkDecoder.d.ts.map +1 -1
- package/dist/stages/decode/AudioChunkDecoder.js +0 -1
- package/dist/stages/decode/AudioChunkDecoder.js.map +1 -1
- package/dist/stages/decode/VideoChunkDecoder.d.ts +0 -1
- package/dist/stages/decode/VideoChunkDecoder.d.ts.map +1 -1
- package/dist/stages/decode/VideoChunkDecoder.js +1 -11
- package/dist/stages/decode/VideoChunkDecoder.js.map +1 -1
- package/dist/stages/decode/decode.worker.d.ts.map +1 -1
- package/dist/stages/decode/decode.worker.js +3 -16
- package/dist/stages/decode/decode.worker.js.map +1 -1
- package/dist/stages/decode/decode.worker2.js +5 -0
- package/dist/stages/decode/decode.worker2.js.map +1 -0
- package/dist/stages/demux/MP4Demuxer.d.ts +2 -0
- package/dist/stages/demux/MP4Demuxer.d.ts.map +1 -1
- package/dist/stages/demux/MP4Demuxer.js +13 -2
- package/dist/stages/demux/MP4Demuxer.js.map +1 -1
- package/dist/stages/demux/audio-demux.worker2.js +5 -0
- package/dist/stages/demux/audio-demux.worker2.js.map +1 -0
- package/dist/stages/demux/video-demux.worker.d.ts +6 -3
- package/dist/stages/demux/video-demux.worker.d.ts.map +1 -1
- package/dist/stages/demux/video-demux.worker.js +5 -27
- package/dist/stages/demux/video-demux.worker.js.map +1 -1
- package/dist/stages/demux/video-demux.worker2.js +5 -0
- package/dist/stages/demux/video-demux.worker2.js.map +1 -0
- package/dist/stages/encode/encode.worker.d.ts.map +1 -1
- package/dist/stages/encode/encode.worker.js +0 -1
- package/dist/stages/encode/encode.worker.js.map +1 -1
- package/dist/stages/encode/encode.worker2.js +5 -0
- package/dist/stages/encode/encode.worker2.js.map +1 -0
- package/dist/stages/load/EventHandlers.d.ts +2 -11
- package/dist/stages/load/EventHandlers.d.ts.map +1 -1
- package/dist/stages/load/EventHandlers.js +1 -24
- package/dist/stages/load/EventHandlers.js.map +1 -1
- package/dist/stages/load/ResourceLoader.d.ts.map +1 -1
- package/dist/stages/load/ResourceLoader.js +11 -13
- package/dist/stages/load/ResourceLoader.js.map +1 -1
- package/dist/stages/load/TaskManager.d.ts +1 -1
- package/dist/stages/load/TaskManager.d.ts.map +1 -1
- package/dist/stages/load/TaskManager.js +3 -2
- package/dist/stages/load/TaskManager.js.map +1 -1
- package/dist/stages/load/types.d.ts +2 -0
- package/dist/stages/load/types.d.ts.map +1 -1
- package/dist/stages/mux/mux.worker2.js +5 -0
- package/dist/stages/mux/mux.worker2.js.map +1 -0
- package/dist/vite-plugin.d.ts +17 -0
- package/dist/vite-plugin.d.ts.map +1 -0
- package/dist/vite-plugin.js +88 -0
- package/dist/vite-plugin.js.map +1 -0
- package/dist/worker/WorkerPool.d.ts +0 -4
- package/dist/worker/WorkerPool.d.ts.map +1 -1
- package/dist/worker/WorkerPool.js +4 -17
- package/dist/worker/WorkerPool.js.map +1 -1
- package/dist/worker/worker-registry.d.ts +12 -0
- package/dist/worker/worker-registry.d.ts.map +1 -0
- package/dist/worker/worker-registry.js +20 -0
- package/dist/worker/worker-registry.js.map +1 -0
- package/package.json +7 -1
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { BaseWorker } from "./BaseWorker.js";
|
|
2
2
|
import { WorkerMessageType } from "./types.js";
|
|
3
|
+
import { WORKER_URLS } from "./worker-registry.js";
|
|
3
4
|
class WorkerPool {
|
|
4
5
|
pool = /* @__PURE__ */ new Map();
|
|
5
|
-
baseUrl;
|
|
6
6
|
eventBus;
|
|
7
7
|
workerConfigs;
|
|
8
|
-
extension;
|
|
9
8
|
constructor(config) {
|
|
10
|
-
this.baseUrl = config.baseUrl;
|
|
11
9
|
this.eventBus = config.eventBus;
|
|
12
10
|
this.workerConfigs = config.workerConfigs || {};
|
|
13
|
-
this.extension = config.workerExtension || ".js";
|
|
14
11
|
}
|
|
15
12
|
/**
|
|
16
13
|
* Get or create a worker instance
|
|
@@ -23,20 +20,10 @@ class WorkerPool {
|
|
|
23
20
|
const key = id ? `${type}#${id}` : type;
|
|
24
21
|
const existing = this.pool.get(key);
|
|
25
22
|
if (!existing) {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
decode: "decode/decode.worker",
|
|
30
|
-
videoCompose: "compose/video-compose.worker",
|
|
31
|
-
audioCompose: "compose/audio-compose.worker",
|
|
32
|
-
encode: "encode/encode.worker",
|
|
33
|
-
mux: "mux/mux.worker"
|
|
34
|
-
};
|
|
35
|
-
const path = workerPaths[type];
|
|
36
|
-
if (!path) {
|
|
37
|
-
throw new Error(`Unknown worker type: ${type}`);
|
|
23
|
+
const url = WORKER_URLS[type];
|
|
24
|
+
if (!url) {
|
|
25
|
+
throw new Error(`Worker URL not found for type: ${type}`);
|
|
38
26
|
}
|
|
39
|
-
const url = `${this.baseUrl}/${path}${this.extension}`;
|
|
40
27
|
const worker = new BaseWorker({
|
|
41
28
|
type,
|
|
42
29
|
url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerPool.js","sources":["../../src/worker/WorkerPool.ts"],"sourcesContent":["/**\n * WorkerPool: Manages worker instances with key-based access\n * Provides lazy creation and unified management of workers\n */\n\nimport { BaseWorker } from './BaseWorker';\nimport type { WorkerType, WorkerStatus, WorkerConfigurePayload } from './types';\nimport { WorkerMessageType } from './types';\nimport type { EventBus } from '../event/EventBus';\nimport type { EventPayloadMap } from '../event/events';\
|
|
1
|
+
{"version":3,"file":"WorkerPool.js","sources":["../../src/worker/WorkerPool.ts"],"sourcesContent":["/**\n * WorkerPool: Manages worker instances with key-based access\n * Provides lazy creation and unified management of workers\n */\n\nimport { BaseWorker } from './BaseWorker';\nimport type { WorkerType, WorkerStatus, WorkerConfigurePayload } from './types';\nimport { WorkerMessageType } from './types';\nimport type { EventBus } from '../event/EventBus';\nimport type { EventPayloadMap } from '../event/events';\nimport { WORKER_URLS } from './worker-registry';\n\nexport interface WorkerPoolConfig {\n eventBus: EventBus<EventPayloadMap>;\n workerConfigs?: Record<WorkerType, any>;\n}\n\nexport class WorkerPool {\n private pool = new Map<string, BaseWorker>();\n private eventBus: EventBus<EventPayloadMap>;\n private workerConfigs: Record<string, any>;\n\n constructor(config: WorkerPoolConfig) {\n this.eventBus = config.eventBus;\n this.workerConfigs = config.workerConfigs || {};\n }\n\n /**\n * Get or create a worker instance\n * @param type - Worker type\n * @param id - Optional ID for per-resource or per-clip workers\n * @param options - Optional configuration\n * - lazy: If true, skip initial configure (default: false)\n */\n async get(\n type: WorkerType,\n id?: string,\n options?: { lazy?: boolean; skipInitialize?: boolean }\n ): Promise<BaseWorker> {\n const key = id ? `${type}#${id}` : type;\n\n const existing = this.pool.get(key);\n if (!existing) {\n // Use pre-resolved worker URLs from registry\n const url = WORKER_URLS[type];\n if (!url) {\n throw new Error(`Worker URL not found for type: ${type}`);\n }\n\n const worker = new BaseWorker({\n type,\n url,\n eventBus: this.eventBus,\n clipId: id,\n });\n\n // Only initialize if not in lazy mode\n if (!options?.lazy && !options?.skipInitialize) {\n const config = this.workerConfigs[type];\n await worker.initialize(config);\n }\n\n this.pool.set(key, worker);\n return worker;\n }\n\n if (!options?.lazy && !options?.skipInitialize) {\n const config = this.workerConfigs[type];\n if (config) {\n await existing.send(WorkerMessageType.Configure, {\n config,\n initial: false,\n } as WorkerConfigurePayload);\n }\n }\n\n return existing;\n }\n\n async setConfig(type: WorkerType, config: any): Promise<void> {\n const existing = this.workerConfigs[type] || {};\n const mergedConfig = { ...existing, ...config };\n\n this.workerConfigs[type] = mergedConfig;\n\n for (const [key, worker] of this.pool.entries()) {\n if (key === type || key.startsWith(`${type}#`)) {\n await worker.send(WorkerMessageType.Configure, {\n config: mergedConfig,\n initial: false,\n } as WorkerConfigurePayload);\n }\n }\n }\n\n /**\n * Terminate a specific worker\n */\n terminate(type: WorkerType, id?: string): void {\n const key = id ? `${type}#${id}` : type;\n const worker = this.pool.get(key);\n\n if (worker) {\n worker.terminate();\n this.pool.delete(key);\n }\n }\n\n /**\n * Terminate all workers\n */\n terminateAll(): void {\n for (const worker of this.pool.values()) {\n worker.terminate();\n }\n this.pool.clear();\n }\n\n /**\n * Get status of all workers\n */\n get status(): Record<string, WorkerStatus[WorkerType]> {\n const result: Record<string, WorkerStatus[WorkerType]> = {};\n\n for (const [key, worker] of this.pool.entries()) {\n result[key] = worker.status;\n }\n\n return result;\n }\n\n /**\n * Get list of active worker keys\n */\n get activeWorkers(): string[] {\n return Array.from(this.pool.keys());\n }\n\n /**\n * Check if a worker exists\n */\n has(type: WorkerType, id?: string): boolean {\n const key = id ? `${type}#${id}` : type;\n return this.pool.has(key);\n }\n}\n"],"names":[],"mappings":";;;AAiBO,MAAM,WAAW;AAAA,EACd,2BAAW,IAAA;AAAA,EACX;AAAA,EACA;AAAA,EAER,YAAY,QAA0B;AACpC,SAAK,WAAW,OAAO;AACvB,SAAK,gBAAgB,OAAO,iBAAiB,CAAA;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,IACJ,MACA,IACA,SACqB;AACrB,UAAM,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,KAAK;AAEnC,UAAM,WAAW,KAAK,KAAK,IAAI,GAAG;AAClC,QAAI,CAAC,UAAU;AAEb,YAAM,MAAM,YAAY,IAAI;AAC5B,UAAI,CAAC,KAAK;AACR,cAAM,IAAI,MAAM,kCAAkC,IAAI,EAAE;AAAA,MAC1D;AAEA,YAAM,SAAS,IAAI,WAAW;AAAA,QAC5B;AAAA,QACA;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,MAAA,CACT;AAGD,UAAI,CAAC,SAAS,QAAQ,CAAC,SAAS,gBAAgB;AAC9C,cAAM,SAAS,KAAK,cAAc,IAAI;AACtC,cAAM,OAAO,WAAW,MAAM;AAAA,MAChC;AAEA,WAAK,KAAK,IAAI,KAAK,MAAM;AACzB,aAAO;AAAA,IACT;AAEA,QAAI,CAAC,SAAS,QAAQ,CAAC,SAAS,gBAAgB;AAC9C,YAAM,SAAS,KAAK,cAAc,IAAI;AACtC,UAAI,QAAQ;AACV,cAAM,SAAS,KAAK,kBAAkB,WAAW;AAAA,UAC/C;AAAA,UACA,SAAS;AAAA,QAAA,CACgB;AAAA,MAC7B;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,UAAU,MAAkB,QAA4B;AAC5D,UAAM,WAAW,KAAK,cAAc,IAAI,KAAK,CAAA;AAC7C,UAAM,eAAe,EAAE,GAAG,UAAU,GAAG,OAAA;AAEvC,SAAK,cAAc,IAAI,IAAI;AAE3B,eAAW,CAAC,KAAK,MAAM,KAAK,KAAK,KAAK,WAAW;AAC/C,UAAI,QAAQ,QAAQ,IAAI,WAAW,GAAG,IAAI,GAAG,GAAG;AAC9C,cAAM,OAAO,KAAK,kBAAkB,WAAW;AAAA,UAC7C,QAAQ;AAAA,UACR,SAAS;AAAA,QAAA,CACgB;AAAA,MAC7B;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU,MAAkB,IAAmB;AAC7C,UAAM,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,KAAK;AACnC,UAAM,SAAS,KAAK,KAAK,IAAI,GAAG;AAEhC,QAAI,QAAQ;AACV,aAAO,UAAA;AACP,WAAK,KAAK,OAAO,GAAG;AAAA,IACtB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,eAAqB;AACnB,eAAW,UAAU,KAAK,KAAK,OAAA,GAAU;AACvC,aAAO,UAAA;AAAA,IACT;AACA,SAAK,KAAK,MAAA;AAAA,EACZ;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,SAAmD;AACrD,UAAM,SAAmD,CAAA;AAEzD,eAAW,CAAC,KAAK,MAAM,KAAK,KAAK,KAAK,WAAW;AAC/C,aAAO,GAAG,IAAI,OAAO;AAAA,IACvB;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,gBAA0B;AAC5B,WAAO,MAAM,KAAK,KAAK,KAAK,MAAM;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,MAAkB,IAAsB;AAC1C,UAAM,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,KAAK;AACnC,WAAO,KAAK,KAAK,IAAI,GAAG;AAAA,EAC1B;AACF;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { WorkerType } from './types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Registry of worker URLs, automatically resolved by Vite
|
|
5
|
+
*/
|
|
6
|
+
export declare const WORKER_URLS: Record<WorkerType, string>;
|
|
7
|
+
/**
|
|
8
|
+
* Check if all worker URLs are properly registered
|
|
9
|
+
* Useful for debugging and validation
|
|
10
|
+
*/
|
|
11
|
+
export declare function validateWorkerUrls(): boolean;
|
|
12
|
+
//# sourceMappingURL=worker-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-registry.d.ts","sourceRoot":"","sources":["../../src/worker/worker-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAc1C;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAQlD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAoB5C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import videoDemuxWorkerUrl from "../stages/demux/video-demux.worker2.js";
|
|
2
|
+
import audioDemuxWorkerUrl from "../stages/demux/audio-demux.worker2.js";
|
|
3
|
+
import decodeWorkerUrl from "../stages/decode/decode.worker2.js";
|
|
4
|
+
import videoComposeWorkerUrl from "../stages/compose/video-compose.worker2.js";
|
|
5
|
+
import audioComposeWorkerUrl from "../stages/compose/audio-compose.worker2.js";
|
|
6
|
+
import encodeWorkerUrl from "../stages/encode/encode.worker2.js";
|
|
7
|
+
import muxWorkerUrl from "../stages/mux/mux.worker2.js";
|
|
8
|
+
const WORKER_URLS = {
|
|
9
|
+
videoDemux: videoDemuxWorkerUrl,
|
|
10
|
+
audioDemux: audioDemuxWorkerUrl,
|
|
11
|
+
decode: decodeWorkerUrl,
|
|
12
|
+
videoCompose: videoComposeWorkerUrl,
|
|
13
|
+
audioCompose: audioComposeWorkerUrl,
|
|
14
|
+
encode: encodeWorkerUrl,
|
|
15
|
+
mux: muxWorkerUrl
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
WORKER_URLS
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=worker-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-registry.js","sources":["../../src/worker/worker-registry.ts"],"sourcesContent":["/**\n * Worker URL Registry\n *\n * Uses Vite's `?worker&url` import to automatically resolve worker paths.\n * This eliminates the need for users to configure workerBaseUrl.\n *\n * Benefits:\n * - Zero configuration for users\n * - Vite handles worker bundling and path resolution\n * - Works in both development and production\n * - Supports HMR in development\n */\n\nimport type { WorkerType } from './types';\n\n// Import worker URLs using Vite's special syntax\n// The `?worker&url` suffix tells Vite to:\n// 1. Bundle the worker as a separate chunk\n// 2. Return the URL as a string instead of the Worker instance\nimport videoDemuxWorkerUrl from '../stages/demux/video-demux.worker?worker&url';\nimport audioDemuxWorkerUrl from '../stages/demux/audio-demux.worker?worker&url';\nimport decodeWorkerUrl from '../stages/decode/decode.worker?worker&url';\nimport videoComposeWorkerUrl from '../stages/compose/video-compose.worker?worker&url';\nimport audioComposeWorkerUrl from '../stages/compose/audio-compose.worker?worker&url';\nimport encodeWorkerUrl from '../stages/encode/encode.worker?worker&url';\nimport muxWorkerUrl from '../stages/mux/mux.worker?worker&url';\n\n/**\n * Registry of worker URLs, automatically resolved by Vite\n */\nexport const WORKER_URLS: Record<WorkerType, string> = {\n videoDemux: videoDemuxWorkerUrl,\n audioDemux: audioDemuxWorkerUrl,\n decode: decodeWorkerUrl,\n videoCompose: videoComposeWorkerUrl,\n audioCompose: audioComposeWorkerUrl,\n encode: encodeWorkerUrl,\n mux: muxWorkerUrl,\n};\n\n/**\n * Check if all worker URLs are properly registered\n * Useful for debugging and validation\n */\nexport function validateWorkerUrls(): boolean {\n const types: WorkerType[] = [\n 'videoDemux',\n 'audioDemux',\n 'decode',\n 'videoCompose',\n 'audioCompose',\n 'encode',\n 'mux',\n ];\n\n for (const type of types) {\n const url = WORKER_URLS[type];\n if (!url || typeof url !== 'string') {\n console.error(`[Meframe] Missing or invalid worker URL for type: ${type}`);\n return false;\n }\n }\n\n return true;\n}\n"],"names":[],"mappings":";;;;;;;AA8BO,MAAM,cAA0C;AAAA,EACrD,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,KAAK;AACP;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meframe/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "Next generation media processing framework based on WebCodecs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
"./plugins": {
|
|
27
27
|
"types": "./dist/plugins/index.d.ts",
|
|
28
28
|
"import": "./dist/plugins/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./vite-plugin": {
|
|
31
|
+
"types": "./dist/vite-plugin.d.ts",
|
|
32
|
+
"import": "./dist/vite-plugin.js"
|
|
29
33
|
}
|
|
30
34
|
},
|
|
31
35
|
"files": [
|
|
@@ -69,6 +73,8 @@
|
|
|
69
73
|
"happy-dom": "^18.0.1",
|
|
70
74
|
"jsdom": "^26.1.0",
|
|
71
75
|
"playwright": "^1.55.0",
|
|
76
|
+
"rollup-plugin-delete": "^3.0.1",
|
|
77
|
+
"terser": "^5.44.0",
|
|
72
78
|
"ts-node": "^10.9.2",
|
|
73
79
|
"typescript": "^5.3.3",
|
|
74
80
|
"vite": "^5.1.4",
|