Add the video portion of @mediabunny/server

This commit is contained in:
Vanilagy
2026-05-05 23:38:14 +02:00
parent 6d9fb30c29
commit f5bd540863
26 changed files with 3721 additions and 38 deletions
+28
View File
@@ -0,0 +1,28 @@
import { registerDecoder, registerEncoder } from 'mediabunny';
import { NodeAvVideoDecoder } from './video-decoder';
import * as NodeAv from 'node-av';
import { NodeAvVideoEncoder } from './video-encoder';
const SERVER_LOADED_SYMBOL = Symbol.for('@mediabunny/server loaded');
if ((globalThis as Record<symbol, unknown>)[SERVER_LOADED_SYMBOL]) {
console.error(
'[WARNING]\n@mediabunny/server was loaded twice.'
+ ' This will likely cause the package not to work correctly.'
+ ' Check if multiple dependencies are importing different versions of @mediabunny/server,'
+ ' or if something is being bundled incorrectly.',
);
}
(globalThis as Record<symbol, unknown>)[SERVER_LOADED_SYMBOL] = true;
let registered = false;
export const registerMediabunnyServer = () => {
if (registered) {
return;
}
registered = true;
NodeAv.Log.setLevel(NodeAv.AV_LOG_ERROR);
registerDecoder(NodeAvVideoDecoder);
registerEncoder(NodeAvVideoEncoder);
};