v145 · Web APIs · Migration Guide
Migration Guide
Which virtual camera APIs work in Chrome 145, which are removed, and how virtual camera software vendors can migrate to the modern macOS camera extension API.
API compatibility matrix
| Virtual camera API | macOS support | Chrome 144 | Chrome 145 |
|---|---|---|---|
| CoreMediaIO DAL plug-in (legacy) | Removed in macOS 13 | Visible | Removed |
| macOS camera extension (modern) | macOS 12.3+ | Visible | Visible |
| Continuity Camera (iPhone as webcam) | macOS 13+ | Visible | Visible |
popular apps migration status
| App | Modern API available | Notes |
|---|---|---|
| OBS Studio | Yes (v30+) | Update to OBS 30+ for macOS camera extension virtual camera |
| Camo | Yes | Fully migrated to macOS camera extension |
| mmhmm | Yes | Updated for macOS Ventura |
| Snap Camera | Discontinued | Snap Camera shut down in Jan 2023; use alternatives |
vendor migration steps
// Virtual camera software vendors: migrate from DAL plug-in to camera extension
//
// 1. Register a Camera Extension in your macOS app:
// - Target: com.apple.system-extension.camera
// - Implement CMIOExtensionProvider protocol
// - Deliver CMIOExtensionStream for video output
//
// 2. Request Camera Extension entitlement from Apple:
// - com.apple.developer.system-extension.install
// - Required for distribution outside TestFlight
//
// 3. Install the extension:
// let manager = OSSystemExtensionManager.shared
// manager.submitRequest(OSSystemExtensionRequest.activationRequest(
// forExtensionWithIdentifier: "com.example.MyCameraExtension",
// queue: .main
// ))
//
// 4. Stream video:
// - Push CMSampleBuffer frames to CMIOExtensionStream
// - App appears as a standard camera in enumerateDevices()
see also
scenario focus
Select a scenario to focus its rendered example and summary.