---
title: MediaExtension
framework: MediaExtension
role: collection
role_heading: Framework
platforms: [Mac Catalyst 18.0+, macOS 15.0+]
path: mediaextension
---

# MediaExtension

This framework provides a means for developers to create format readers, video decoders, and RAW processors for media that the system doesn’t natively support.

## Overview

Overview MediaExtension format readers encapsulate media assets that the system doesn’t natively support so that the system can recognize them. MediaExtension video decoders decode video formats that the system doesn’t natively support. MediaExtension RAW processors work together with video decoders to allow direct control over the RAW decoding process. Developers need to build format readers, video decoders, and RAW processors as ExtensionKit bundles and embed them in a host app. Once a user installs and runs the host app, the embedded extensions become available to any app on the user’s system that opts in to using them.

## Topics

### Format readers

- [Supporting custom media formats and decoders](mediaextension/supporting-custom-media-formats-and-decoders.md)
- [MEFormatReader](mediaextension/meformatreader.md)
- [MEFormatReaderExtension](mediaextension/meformatreaderextension.md)
- [MEFormatReaderInstantiationOptions](mediaextension/meformatreaderinstantiationoptions.md)
- [MEFileInfo](mediaextension/mefileinfo.md)
- [Format reader property list dictionaries](mediaextension/format-reader-property-list-dictionaries.md)
- [Format reader entitlement](mediaextension/format-reader-entitlement.md)

### Track readers

- [METrackReader](mediaextension/metrackreader.md)
- [METrackInfo](mediaextension/metrackinfo.md)

### Sample cursors

- [MESampleCursor](mediaextension/mesamplecursor.md)
- [MESampleLocation](mediaextension/mesamplelocation.md)
- [MESampleCursorChunk](mediaextension/mesamplecursorchunk.md)
- [MEEstimatedSampleLocation](mediaextension/meestimatedsamplelocation.md)
- [MEHEVCDependencyInfo](mediaextension/mehevcdependencyinfo.md)

### Byte sources

- [MEByteSource](mediaextension/mebytesource.md)

### Video decoders

- [Supporting custom media formats and decoders](mediaextension/supporting-custom-media-formats-and-decoders.md)
- [MEVideoDecoder](mediaextension/mevideodecoder.md)
- [MEVideoDecoderExtension](mediaextension/mevideodecoderextension.md)
- [MEDecodeFrameOptions](mediaextension/medecodeframeoptions.md)
- [MEVideoDecoderPixelBufferManager](mediaextension/mevideodecoderpixelbuffermanager.md)
- [Video decoder property list dictionary](mediaextension/video-decoder-property-list-dictionary.md)
- [Video decoder entitlement](mediaextension/video-decoder-entitlement.md)

### RAW processors

- [MERAWProcessor](mediaextension/merawprocessor.md)
- [MERAWProcessorExtension](mediaextension/merawprocessorextension.md)
- [MERAWProcessorPixelBufferManager](mediaextension/merawprocessorpixelbuffermanager.md)
- [MERAWProcessingParameter](mediaextension/merawprocessingparameter.md)
- [MERAWProcessorNotification](mediaextension/merawprocessornotification.md)
- [RAW processor property list dictionary](mediaextension/raw-processor-property-list-dictionary.md)
- [RAW processor entitlement](mediaextension/raw-processor-entitlement.md)

### Errors

- [MediaExtensionErrorDomain](mediaextension/mediaextensionerrordomain.md)
- [MEError](mediaextension/meerror-swift.struct.md)
- [MEError.Code](mediaextension/meerror-swift.struct/code.md)

### Variables

- [kMEFormatReaderSidecarFileNameExtensionArrayKey](mediaextension/kmeformatreadersidecarfilenameextensionarraykey.md)
- [kMERAWProcessorClassImplementationIDKey](mediaextension/kmerawprocessorclassimplementationidkey.md)
- [kMERAWProcessorCodecNameKey](mediaextension/kmerawprocessorcodecnamekey.md)
- [kMERAWProcessorCodecTypeKey](mediaextension/kmerawprocessorcodectypekey.md)
- [kMERAWProcessorObjectNameKey](mediaextension/kmerawprocessorobjectnamekey.md)
- [kMERAWProcessorProcessorInfoKey](mediaextension/kmerawprocessorprocessorinfokey.md)
