21 lines
533 B
TypeScript
21 lines
533 B
TypeScript
import { mediaMode } from '../config';
|
|
import { MediasoupSfuService } from './mediasoup';
|
|
import { NoopSfuService } from './noop';
|
|
import type { SfuService } from './types';
|
|
|
|
const sfuEngine = (process.env.MEDIA_SFU_ENGINE ?? 'mediasoup').trim().toLowerCase();
|
|
|
|
const createSfuService = (): SfuService | null => {
|
|
if (mediaMode !== 'single_server_sfu') {
|
|
return null;
|
|
}
|
|
|
|
if (sfuEngine === 'noop') {
|
|
return new NoopSfuService();
|
|
}
|
|
|
|
return new MediasoupSfuService();
|
|
};
|
|
|
|
export const sfuService = createSfuService();
|