---
title: VideoDriverKit
framework: VideoDriverKit
role: collection
role_heading: Framework
platforms: [driverkit 27.0+]
path: videodriverkit
---

# VideoDriverKit

Develop drivers for video capture and playback devices.

## Overview

Overview The VideoDriverKit framework supports the development of DriverKit-based video extensions that communicate with Core Media. VideoDriverKit handles all of the necessary user client communication between CoreMedia and the driver extension, which eliminates the need to use IOVideoFamily kexts and Device Abstraction Layer (DAL) Plug-Ins. Develop your driver by subclassing IOUserVideoDriver. Then use the System Extensions framework to install and upgrade your driver. note: VideoDriverKit is available on macOS.

## Topics

### Essentials

- [IOUserVideoObject](videodriverkit/iouservideoobject.md)
- [IOUserVideoDriver](videodriverkit/iouservideodriver.md)

### Video devices

- [IOUserVideoClockDevice](videodriverkit/iouservideoclockdevice.md)
- [IOUserVideoDevice](videodriverkit/iouservideodevice.md)

### Video objects

- [IOUserVideoBox](videodriverkit/iouservideobox.md)

### Video streams

- [IOUserVideoStream](videodriverkit/iouservideostream.md)

### Video controls

- [IOUserVideoControl](videodriverkit/iouservideocontrol.md)
- [IOUserVideoBooleanControl](videodriverkit/iouservideobooleancontrol.md)
- [IOUserVideoStereoPanControl](videodriverkit/iouservideostereopancontrol.md)
- [IOUserVideoSliderControl](videodriverkit/iouservideoslidercontrol.md)
- [IOUserVideoDirectionControl](videodriverkit/iouservideodirectioncontrol.md)
- [IOUserVideoSelectorControl](videodriverkit/iouservideoselectorcontrol.md)
- [IOUserVideoLevelControl](videodriverkit/iouservideolevelcontrol.md)

### Namespaces

- [VideoDriverKit](videodriverkit/videodriverkit.md)

### Macros

- [DebugMsg](videodriverkit/debugmsg.md)
- [FailIf](videodriverkit/failif.md)
- [FailIfError](videodriverkit/failiferror.md)
- [FailIfNULL](videodriverkit/failifnull.md)
- [kIOStreamBufferIDInvalid](videodriverkit/kiostreambufferidinvalid.md)
- [kIOUserVideoDriverUserClientType](videodriverkit/kiouservideodriveruserclienttype.md)
