mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import { resolveEncoder } from "@snapotter/media-engine";
|
|
import { afterEach, describe, expect, it } from "vitest";
|
|
|
|
const ORIGINAL = process.env.SNAPOTTER_HW_ACCEL;
|
|
afterEach(() => {
|
|
if (ORIGINAL === undefined) delete process.env.SNAPOTTER_HW_ACCEL;
|
|
else process.env.SNAPOTTER_HW_ACCEL = ORIGINAL;
|
|
});
|
|
|
|
describe("resolveEncoder", () => {
|
|
it("defaults to software encoders", () => {
|
|
delete process.env.SNAPOTTER_HW_ACCEL;
|
|
expect(resolveEncoder("h264")).toBe("libx264");
|
|
expect(resolveEncoder("hevc")).toBe("libx265");
|
|
expect(resolveEncoder("av1")).toBe("libsvtav1");
|
|
expect(resolveEncoder("aac")).toBe("aac");
|
|
});
|
|
|
|
it("maps nvenc when SNAPOTTER_HW_ACCEL=nvenc", () => {
|
|
process.env.SNAPOTTER_HW_ACCEL = "nvenc";
|
|
expect(resolveEncoder("h264")).toBe("h264_nvenc");
|
|
expect(resolveEncoder("hevc")).toBe("hevc_nvenc");
|
|
expect(resolveEncoder("aac")).toBe("aac"); // audio unaffected
|
|
});
|
|
|
|
it("falls back to software for unknown accel values", () => {
|
|
process.env.SNAPOTTER_HW_ACCEL = "quantum";
|
|
expect(resolveEncoder("h264")).toBe("libx264");
|
|
});
|
|
});
|