mirror of
https://github.com/webadderallorg/Recordly.git
synced 2026-09-24 14:55:37 +00:00
35 lines
978 B
TypeScript
35 lines
978 B
TypeScript
const WINDOWS_MIC_CAPTURE_INIT_WARNING = "WARNING: Failed to initialize WASAPI mic capture";
|
|
export const WINDOWS_MIC_CAPTURE_MODE_ENV = "RECORDLY_WINDOWS_MIC_CAPTURE";
|
|
|
|
export function shouldStartWindowsBrowserMicrophoneFallback(
|
|
options?: { capturesMicrophone?: boolean },
|
|
env: NodeJS.ProcessEnv = process.env,
|
|
) {
|
|
if (!options?.capturesMicrophone) {
|
|
return false;
|
|
}
|
|
|
|
const mode = env[WINDOWS_MIC_CAPTURE_MODE_ENV]?.trim().toLowerCase();
|
|
if (mode === "native" || mode === "wasapi") {
|
|
return false;
|
|
}
|
|
|
|
if (!mode) {
|
|
return true;
|
|
}
|
|
|
|
return mode === "browser" || mode === "fallback" || mode === "renderer";
|
|
}
|
|
|
|
export function shouldUseWindowsBrowserMicrophoneFallback(
|
|
captureOutput: string,
|
|
options?: { capturesMicrophone?: boolean },
|
|
env: NodeJS.ProcessEnv = process.env,
|
|
) {
|
|
return (
|
|
Boolean(options?.capturesMicrophone) &&
|
|
(shouldStartWindowsBrowserMicrophoneFallback(options, env) ||
|
|
captureOutput.includes(WINDOWS_MIC_CAPTURE_INIT_WARNING))
|
|
);
|
|
}
|