Compares two CMFormatDescription objects for equality, ignoring differences in the specified lists of format description extension keys and sample description extension keys.


func CMFormatDescriptionEqualIgnoringExtensionKeys(_ formatDescription: CMFormatDescription?, otherFormatDescription: CMFormatDescription?, extensionKeysToIgnore formatDescriptionExtensionKeysToIgnore: CFTypeRef?, sampleDescriptionExtensionAtomKeysToIgnore: CFTypeRef?) -> Bool



The first format description.


The second format description.


Either a single format description extension key (CFString) or a CFArray of such keys.


Either a single sample description extension atom key (four-character CFString) or a CFArray of such keys. See kCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms.


If any keys are passed, kCMFormatDescriptionExtension_VerbatimSampleDescription and kCMFormatDescriptionExtension_VerbatimISOSampleEntry will also be automatically ignored for the purpose of comparison.

See Also

Common Functions

func CMFormatDescriptionCreate(allocator: CFAllocator?, mediaType: CMMediaType, mediaSubType: FourCharCode, extensions: CFDictionary?, formatDescriptionOut: UnsafeMutablePointer<CMFormatDescription?>) -> OSStatus

Creates a generic CMFormatDescription object. You should not call this method for the media types that has specific create functions such as audio, video, text, muxed, metaData and timeCode.

func CMFormatDescriptionGetExtensions(CMFormatDescription) -> CFDictionary?

Returns an immutable dictionary containing all the extensions of a CMFormatDescription.

func CMFormatDescriptionGetMediaSubType(CMFormatDescription) -> FourCharCode

Returns the media subtype of a CMFormatDescription.

func CMFormatDescriptionGetMediaType(CMFormatDescription) -> CMMediaType

Returns the media type of a CMFormatDescription.

func CMFormatDescriptionGetTypeID() -> CFTypeID

Returns the CFTypeID of CMFormatDescription objects.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software