MediaExtension lets you build media plug-ins on macOS that extend the system's media pipeline with support for custom container formats, RAW image processing, and video decoding. To read a custom format, you adopt the MEFormatReaderExtension and MEFormatReader protocols and supply file and track metadata through MEFileInfo, METrackReader, and METrackInfo, while navigating samples with MESampleCursor, MESampleLocation, and MEByteSource. For RAW and video work, you implement MERAWProcessorExtension and MERAWProcessor or MEVideoDecoderExtension and MEVideoDecoder, configuring output through types such as MERAWProcessorPixelBufferManager, MEDecodeFrameOptions, and MEVideoDecoderPixelBufferManager. Status and error conditions are reported with MEError, MEDecodeFrameStatus, and MERAWProcessorNotification.
Format Reader Extensions 4
Protocols that implement a plug-in for reading a custom media container format.
- PrMEFormatReaderExtensionmacOS 14.0+@protocol MEFormatReaderExtension
- PrMEFormatReadermacOS 14.0+@protocol MEFormatReader
- PrMETrackReadermacOS 14.0+@protocol METrackReader
- ClMEFormatReaderInstantiationOptionsmacOS 14.0+@class MEFormatReaderInstantiationOptions
File and Track Metadata 3
Types that describe the file and the individual tracks a format reader exposes.
- ClMEFileInfomacOS 14.0+@interface MEFileInfo
- ClMETrackInfomacOS 14.0+@interface METrackInfo
- ClMEHEVCDependencyInfomacOS 14.0+@interface MEHEVCDependencyInfo
Sample Navigation 5
Types for locating and stepping through the media samples within a track.
- PrMESampleCursormacOS 14.0+@protocol MESampleCursor
- ClMESampleCursorChunkmacOS 14.0+@interface MESampleCursorChunk
- ClMESampleLocationmacOS 14.0+@interface MESampleLocation
- ClMEEstimatedSampleLocationmacOS 14.0+@interface MEEstimatedSampleLocation
- ClMEByteSourcemacOS 14.0+@interface MEByteSource
RAW Image Processing 5
Protocols and types for building a plug-in that develops RAW image data.
- PrMERAWProcessorExtensionmacOS 15.0+@protocol MERAWProcessorExtension
- PrMERAWProcessormacOS 15.0+@protocol MERAWProcessor
- ClMERAWProcessorPixelBufferManagermacOS 15.0+@interface MERAWProcessorPixelBufferManager
- ClMERAWProcessingParametermacOS 15.0+@interface MERAWProcessingParameter
- EnMERAWProcessorNotificationAn enumeration of notifications a RAW processor sends about changes to its state or parameters.
Video Decoding 4
Protocols and types for building a custom video decoder plug-in.
- PrMEVideoDecoderExtensionmacOS 14.0+@protocol MEVideoDecoderExtension
- PrMEVideoDecodermacOS 14.0+@protocol MEVideoDecoder
- ClMEVideoDecoderPixelBufferManagermacOS 14.0+@interface MEVideoDecoderPixelBufferManager
- ClMEDecodeFrameOptionsmacOS 14.0+@interface MEDecodeFrameOptions
Status and Errors 3
Types that report the status and error conditions of media extension operations.
- StMEErrormacOS 14.0+A structure that describes errors produced by media extension plug-ins.
- StMEDecodeFrameStatusmacOS 14.0+@enum MEDecodeFrameStatus
- StMEFormatReaderParseAdditionalFragmentsStatusmacOS 14.0+@enum MEFormatReaderParseAdditionalFragmentsStatus