mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat(modality)!: SnapOtter 2.0 phase 3 modality framework: media/doc engines, pool routing, display modes (#218)
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
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");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user