Skip to content

Commit 3f64da5

Browse files
renegadelinkclaude
andcommitted
services: add CoreMediaIO backend for ValeriaScreenCapture (macOS, pure ctypes)
Sibling implementation to valeria_libusb (next commit) for macOS, where libusb cannot claim Apple USB interfaces. CoreMediaIO is the same kernel pathway QuickTime Player uses for iOS screen recording. Pure ctypes against the public C API: CoreMediaIO + CoreMedia + CoreVideo + CoreFoundation + CoreGraphics. No PyObjC, no Objective-C runtime — only ABI shapes from the SDK headers. Threading note: the DAL plugin loads in response to mach messages dispatched by the *process main thread's* CFRunLoop, so start() ticks the runloop synchronously until the device attaches, and frames() / aframes() interleave runloop ticks with queue drains. Same H264Frame shape as the libusb backend — ValeriaScreenCapture.create() auto-selects this backend on macOS. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 2145c54 commit 3f64da5

1 file changed

Lines changed: 718 additions & 0 deletions

File tree

0 commit comments

Comments
 (0)