<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-video-audio-recording--build-video-command.el, branch load-graph-classify-end</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-end</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-end'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-05-24T09:04:59+00:00</updated>
<entry>
<title>fix(recording): shell-quote device names and output paths in ffmpeg commands</title>
<updated>2026-05-24T09:04:59+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-24T09:04:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=39795e850f2027a88021307a37de0381996df8a5'/>
<id>urn:sha1:39795e850f2027a88021307a37de0381996df8a5</id>
<content type='text'>
The X11 video path and the audio path interpolated the mic device, system device, and output filename straight into the shell command, so a device name or recording directory with a space (or other shell metacharacter) would break the command or mishandle the path. The Wayland video branch already quoted these; the other two did not.

I wrapped all three in shell-quote-argument on both paths. To make the audio command testable, I extracted it into cj/recording--build-audio-command mirroring the existing cj/recording--build-video-command, then quoted there. Tests cover device names and filenames with spaces on both the X11 and audio builders.
</content>
</entry>
<entry>
<title>test(recording): add direct tests for extracted refactoring helpers</title>
<updated>2026-04-05T11:41:03+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-05T11:41:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=5fb91578747a8bdf804655729527306f267141f0'/>
<id>urn:sha1:5fb91578747a8bdf804655729527306f267141f0</id>
<content type='text'>
Cover build-video-command (9 tests), select-from-labeled (5 tests),
and test-device (4 tests). All three were previously tested only
indirectly through their callers.
</content>
</entry>
</feed>
