---
title: CMFormatDescription
framework: coremedia
role: symbol
role_heading: Class
path: coremedia/cmformatdescription
---

# CMFormatDescription

An object that describes a media format descriptor.

## Declaration

```swift
class CMFormatDescription
```

## Overview

Overview A CMFormatDescription object is an object that describes media types (audio, video, muxed, and so on).

## Topics

### Inspecting Format Descriptions

- [audioFormatList](coremedia/cmformatdescription/audioformatlist.md)
- [audioStreamBasicDescription](coremedia/cmformatdescription/audiostreambasicdescription.md)
- [audioChannelLayout](coremedia/cmformatdescription/audiochannellayout.md)
- [dimensions](coremedia/cmformatdescription/dimensions.md)
- [extensions](coremedia/cmformatdescription/extensions-swift.property.md)
- [frameDuration](coremedia/cmformatdescription/frameduration.md)
- [frameQuanta](coremedia/cmformatdescription/framequanta.md)
- [identifiers](coremedia/cmformatdescription/identifiers.md)
- [magicCookie](coremedia/cmformatdescription/magiccookie.md)
- [mediaSubType](coremedia/cmformatdescription/mediasubtype-swift.property.md)
- [mediaType](coremedia/cmformatdescription/mediatype-swift.property.md)
- [mostCompatibleFormat](coremedia/cmformatdescription/mostcompatibleformat.md)
- [nalUnitHeaderLength](coremedia/cmformatdescription/nalunitheaderlength.md)
- [parameterSets](coremedia/cmformatdescription/parametersets.md)
- [richestDecodableFormat](coremedia/cmformatdescription/richestdecodableformat.md)
- [timeCodeFlags](coremedia/cmformatdescription/timecodeflags.md)
- [tagCollections](coremedia/cmformatdescription/tagcollections.md)
- [matchesTaggedBufferGroup(_:)](coremedia/cmformatdescription/matchestaggedbuffergroup(_:).md)

### Working with Audio Descriptions

- [withMagicCookie(_:)](coremedia/cmformatdescription/withmagiccookie(_:).md)

### Working with Video Descriptions

- [cleanAperture(originIsAtTopLeft:)](coremedia/cmformatdescription/cleanaperture(originisattopleft:).md)
- [matchesImageBuffer(_:)](coremedia/cmformatdescription/matchesimagebuffer(_:).md)
- [presentationDimensions(usePixelAspectRatio:useCleanAperture:)](coremedia/cmformatdescription/presentationdimensions(usepixelaspectratio:usecleanaperture:).md)

### Working with Metadata Descriptions

- [keyWithLocalID(_:)](coremedia/cmformatdescription/keywithlocalid(_:).md)

### Working with Text Descriptions

- [defaultStyle()](coremedia/cmformatdescription/defaultstyle().md)
- [defaultTextBox(originIsAtTopLeft:heightOfTextTrack:)](coremedia/cmformatdescription/defaulttextbox(originisattopleft:heightoftexttrack:).md)
- [displayFlags()](coremedia/cmformatdescription/displayflags().md)
- [fontName(localFontID:)](coremedia/cmformatdescription/fontname(localfontid:).md)
- [justification()](coremedia/cmformatdescription/justification().md)

### Comparing Format Descriptions

- [==(_:_:)](coremedia/cmformatdescription/==(_:_:).md)
- [equalTo(_:equalityMask:)](coremedia/cmformatdescription/equalto(_:equalitymask:).md)
- [equalTo(_:extensionKeysToIgnore:sampleDescriptionExtensionAtomKeysToIgnore:)](coremedia/cmformatdescription/equalto(_:extensionkeystoignore:sampledescriptionextensionatomkeystoignore:).md)

### Errors

- [CMFormatDescription.Error](coremedia/cmformatdescription/error.md)

### Constants

- [extensionKeysCommonWithImageBuffers](coremedia/cmformatdescription/extensionkeyscommonwithimagebuffers.md)
- [typeID](coremedia/cmformatdescription/typeid.md)
- [CMFormatDescription.MediaType](coremedia/cmformatdescription/mediatype-swift.struct.md)
- [CMFormatDescription.MediaSubType](coremedia/cmformatdescription/mediasubtype-swift.struct.md)
- [CMFormatDescription.TimeCode](coremedia/cmformatdescription/timecode.md)
- [CMFormatDescription.EqualityMask](coremedia/cmformatdescription/equalitymask.md)
- [CMFormatDescription.Extensions](coremedia/cmformatdescription/extensions-swift.struct.md)
- [CMFormatDescription.ParameterSetCollection](coremedia/cmformatdescription/parametersetcollection.md)

### Initializers

- [init(referencing:)](coremedia/cmformatdescription/init(referencing:).md)

### Type Aliases

- [CMFormatDescription.T](coremedia/cmformatdescription/t.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Format Description Types

- [CMAudioFormatDescription](coremedia/cmaudioformatdescription.md)
- [CMClosedCaptionFormatDescription](coremedia/cmclosedcaptionformatdescription.md)
- [CMMetadataFormatDescription](coremedia/cmmetadataformatdescription.md)
- [CMMuxedFormatDescription](coremedia/cmmuxedformatdescription.md)
- [CMTextFormatDescription](coremedia/cmtextformatdescription.md)
- [CMTimeCodeFormatDescription](coremedia/cmtimecodeformatdescription.md)
- [CMVideoFormatDescription](coremedia/cmvideoformatdescription.md)
