feat: add tool-call fallback and resilient batch exports
This commit is contained in:
1 parent
ab066733b8
commit
d31eb2a19d
32 files changed
+538
-72
No files matched your search
@@ -207,6 +207,30 @@ async def test_analyzer_clip_stays_continuous_across_orientation_segments(tmp_pa
|
||||
assert len(frames) >= 20
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_analyzer_clip_pins_requested_fps_across_recording_gap(tmp_path):
|
||||
ffmpeg = get_ffmpeg_path()
|
||||
first = tmp_path / "first.mkv"
|
||||
second = tmp_path / "second.mkv"
|
||||
output = tmp_path / "clip.mp4"
|
||||
_make_solid_clip(ffmpeg, "red", "108x242", 1.0, first)
|
||||
_make_solid_clip(ffmpeg, "blue", "242x108", 1.0, second)
|
||||
assert await render_timeline_clip(
|
||||
[{"path": first, "start": 0.0, "end": 1.0}, {"path": second, "start": 1.5, "end": 2.5}],
|
||||
0.0,
|
||||
2.5,
|
||||
output,
|
||||
canvas_width=180,
|
||||
canvas_height=320,
|
||||
fps=7,
|
||||
)
|
||||
capture = cv2.VideoCapture(str(output))
|
||||
try:
|
||||
assert capture.get(cv2.CAP_PROP_FPS) == pytest.approx(7.0, abs=0.1)
|
||||
finally:
|
||||
capture.release()
|
||||
|
||||
|
||||
def test_timeline_pieces_fill_restart_gaps(tmp_path):
|
||||
"""Holes between segments (and a window starting in one) become black gaps."""
|
||||
first = tmp_path / "recording.mkv"
|
||||
|
||||
Reference in new issue
Block a user