Virtual Camera Shows Jittering Frames and Solid Accent Color on macOS

Hello Apple Developer Support,

I’m developing a virtual camera using the CMIOExtensionDevice / CMIOExtensionStreamSource APIs on macOS. While the virtual camera appears in system settings and apps like Zoom and Google Meet, the video output exhibits the following issues:

Jittering frames: The first frame sometimes appears correctly, but subsequent frames flicker or jitter.

Solid color fill: Eventually, the camera feed fills entirely with a solid accent color (e.g., blue), rather than the intended video content.

Console logs: Repeated messages appear in Console.app:

Invalid display 0x00000000

Setup details:

The virtual camera is created using CMIOExtensionDevice and CMIOExtensionStream.

Video frames are rendered from NSImage/CGImage using CGContext and copied into CVPixelBuffers.

Frame delivery is controlled by a DispatchSourceTimer at 60 FPS.

macOS version: [Your macOS version here]

Xcode version: [Your Xcode version here]

Observations:

The Invalid display 0x00000000 logs suggest that CGContext drawing or NSImage operations are failing in headless mode (i.e., there is no real display attached to the virtual camera).

Using CIContext with .useSoftwareRenderer = true appears to mitigate some flicker, but not entirely.

Questions / Requests:

Is it expected that CoreMediaIO virtual cameras cannot reliably render CGImage / NSImage frames offscreen?

Are there recommended APIs or approaches to render virtual camera frames fully headless to avoid display-dependent jitter?

Is there any documentation or sample code from Apple showing stable video output from a virtual camera extension that does not rely on a physical display?

Any guidance or examples would be greatly appreciated. This issue prevents the virtual camera from being used reliably in standard video apps.

Thank you, Savvy

Virtual Camera Shows Jittering Frames and Solid Accent Color on macOS
 
 
Q