---
title: Core Media I/O
framework: Core Media I/O
role: collection
role_heading: Framework
platforms: [Mac Catalyst 13.0+, macOS 10.7+]
path: coremediaio
---

# Core Media I/O

Securely support custom camera devices in macOS.

## Overview

Overview Use the Core Media I/O framework to enable support for custom camera devices in macOS. Starting in macOS 12.3, the framework builds on System Extensions to enable you to support custom devices while maintaining system privacy and security protections. The system prevents apps from loading extension code into their process to ensure that they can’t bypass macOS privacy protections or mask their identity. important: Apple recommends replacing legacy Device Abstraction Layer (DAL) plug-ins with Core Media I/O extensions.

## Topics

### Providers

- [Creating a camera extension with Core Media I/O](coremediaio/creating-a-camera-extension-with-core-media-i-o.md)
- [Overriding the default USB video class extension](coremediaio/overriding-the-default-usb-video-class-extension.md)
- [CMIOExtensionProvider](coremediaio/cmioextensionprovider.md)
- [CMIOExtensionProviderSource](coremediaio/cmioextensionprovidersource.md)
- [CMIOExtensionProviderProperties](coremediaio/cmioextensionproviderproperties.md)

### Devices

- [CMIOExtensionDevice](coremediaio/cmioextensiondevice.md)
- [CMIOExtensionDeviceSource](coremediaio/cmioextensiondevicesource.md)
- [CMIOExtensionDeviceProperties](coremediaio/cmioextensiondeviceproperties.md)

### Streams

- [CMIOExtensionStream](coremediaio/cmioextensionstream.md)
- [CMIOExtensionStreamSource](coremediaio/cmioextensionstreamsource.md)
- [CMIOExtensionStreamProperties](coremediaio/cmioextensionstreamproperties.md)
- [CMIOExtensionClient](coremediaio/cmioextensionclient.md)

### Properties

- [CMIOExtensionProperty](coremediaio/cmioextensionproperty.md)
- [CMIOExtensionPropertyState](coremediaio/cmioextensionpropertystate.md)
- [CMIOExtensionPropertyAttributes](coremediaio/cmioextensionpropertyattributes.md)
- [CMIOExtensionInfoDictionaryKey](coremediaio/cmioextensioninfodictionarykey.md)
- [CMIOExtensionMachServiceNameKey](coremediaio/cmioextensionmachservicenamekey.md)

### DAL Plug-Ins

- [Device Abstraction Layer (DAL) Plug-Ins](coremediaio/device-abstraction-layer-dal-plug-ins.md)
