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,31 @@
|
||||
import { parseProgressBlock } from "@snapotter/media-engine";
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
describe("parseProgressBlock", () => {
|
||||
it("parses an ffmpeg -progress key=value block", () => {
|
||||
const block = [
|
||||
"frame=120",
|
||||
"fps=24.0",
|
||||
"bitrate= 256.0kbits/s",
|
||||
"total_size=98304",
|
||||
"out_time_us=5000000",
|
||||
"out_time=00:00:05.000000",
|
||||
"speed=1.01x",
|
||||
"progress=continue",
|
||||
].join("\n");
|
||||
const p = parseProgressBlock(block);
|
||||
expect(p.outTimeMs).toBe(5000);
|
||||
expect(p.done).toBe(false);
|
||||
});
|
||||
|
||||
it("flags progress=end", () => {
|
||||
const p = parseProgressBlock("out_time_us=1000000\nprogress=end");
|
||||
expect(p.done).toBe(true);
|
||||
expect(p.outTimeMs).toBe(1000);
|
||||
});
|
||||
|
||||
it("tolerates missing fields", () => {
|
||||
const p = parseProgressBlock("frame=1\nprogress=continue");
|
||||
expect(p.outTimeMs).toBeNull();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user