mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-10-01 04:43:51 +02:00
Add the video portion of @mediabunny/server
This commit is contained in:
@@ -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);
|
||||
};
|
||||
Reference in New Issue
Block a user