{"version":3,"sources":["../src/strategies/fallback/libav-import.ts"],"names":["bridge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,IAAM,WAAA,GAA4BA","file":"libav-import-2ZVKV2E7.cjs","sourcesContent":["/**\n * Static-import wrapper for the libavjs-webcodecs-bridge optional peer dep.\n *\n * The variant itself is **not** imported here — it's loaded via a runtime\n * dynamic import with `/* @vite-ignore *\\/` from `libav-loader.ts`, so the\n * variant's `.mjs` file is never touched by Vite's transform pipeline (which\n * would otherwise pre-bundle it and break the `import.meta.url`-based path\n * resolution it uses to find its sibling .wasm files).\n *\n * The bridge has no such issue — it's pure JS and doesn't reference sibling\n * binaries — so a normal static import is fine here.\n *\n * TypeScript resolves `libavjs-webcodecs-bridge` via the `paths` mapping in\n * tsconfig.json which redirects to `src/libav-stubs.d.ts`, sidestepping the\n * polyfill source files that don't typecheck under TS 5.7.\n */\nimport * as bridge from \"libavjs-webcodecs-bridge\";\n\nexport const libavBridge: BridgeModule = bridge as unknown as BridgeModule;\n\nexport interface BridgeModule {\n  videoStreamToConfig(libav: unknown, stream: unknown): Promise<VideoDecoderConfig | null>;\n  audioStreamToConfig(libav: unknown, stream: unknown): Promise<AudioDecoderConfig | null>;\n  packetToEncodedVideoChunk(pkt: unknown, stream: unknown): EncodedVideoChunk;\n  packetToEncodedAudioChunk(pkt: unknown, stream: unknown): EncodedAudioChunk;\n  /**\n   * Convert a libav-decoded frame (software OR hardware decode) into a\n   * WebCodecs VideoFrame. `opts.timeBase` overrides the frame's per-packet\n   * timebase; useful when callers have already normalized pts to µs.\n   */\n  laFrameToVideoFrame(\n    frame: unknown,\n    opts?: { timeBase?: [number, number]; transfer?: boolean },\n  ): VideoFrame;\n}\n"]}