CMFormatDescription
A media format descriptor that describes the samples in a sample buffer.
Overview
CMFormatDescriptions are immutable Core Foundation objects that describe media data of various types, including audio, video, and muxed media data. There are two types of API: media-type-agnostic APIs (supported by all CMFormatDescriptions) and media-type-specific APIs. The media-type-agnostic APIs are prefixed with CMFormatDescription, and the media-type-specific APIs are prefixed with CMAudioFormatDescription, CMVideoFormatDescription, and so on.
Topics
Creating Format Descriptions
Comparing Format Descriptions
CMFormatDescriptionEqual(_:otherFormatDescription:)CMFormatDescriptionEqualIgnoringExtensionKeys(_:otherFormatDescription:extensionKeysToIgnore:sampleDescriptionExtensionAtomKeysToIgnore:)
Inspecting Format Descriptions
CMFormatDescriptionGetMediaType(_:)CMFormatDescriptionGetMediaSubType(_:)CMFormatDescriptionGetExtension(_:extensionKey:)CMFormatDescriptionGetExtensions(_:)CMFormatDescriptionGetTypeID()
Working with Audio Descriptions
CMSoundDescriptionFlavorCMAudioFormatDescriptionCreateSummary(allocator:formatDescriptionArray:flags:formatDescriptionOut:)CMAudioFormatDescriptionCreate(allocator:asbd:layoutSize:layout:magicCookieSize:magicCookie:extensions:formatDescriptionOut:)CMAudioFormatDescriptionEqual(_:otherFormatDescription:equalityMask:equalityMaskOut:)CMAudioFormatDescriptionGetChannelLayout(_:sizeOut:)CMAudioFormatDescriptionGetFormatList(_:sizeOut:)CMAudioFormatDescriptionGetMagicCookie(_:sizeOut:)CMAudioFormatDescriptionGetMostCompatibleFormat(_:)CMAudioFormatDescriptionGetRichestDecodableFormat(_:)CMAudioFormatDescriptionGetStreamBasicDescription(_:)CMDoesBigEndianSoundDescriptionRequireLegacyCBRSampleTableLayout(_:flavor:)CMSwapBigEndianSoundDescriptionToHost(_:_:)CMSwapHostEndianSoundDescriptionToBig(_:_:)CMAudioFormatDescriptionCreateFromBigEndianSoundDescriptionData(allocator:bigEndianSoundDescriptionData:size:flavor:formatDescriptionOut:)CMAudioFormatDescriptionCreateFromBigEndianSoundDescriptionBlockBuffer(allocator:bigEndianSoundDescriptionBlockBuffer:flavor:formatDescriptionOut:)CMAudioFormatDescriptionCopyAsBigEndianSoundDescriptionBlockBuffer(allocator:audioFormatDescription:flavor:blockBufferOut:)
Working with Video Descriptions
CMImageDescriptionFlavorCMVideoFormatDescriptionCreate(allocator:codecType:width:height:extensions:formatDescriptionOut:)CMVideoFormatDescriptionCreateForImageBuffer(allocator:imageBuffer:formatDescriptionOut:)CMVideoFormatDescriptionGetCleanAperture(_:originIsAtTopLeft:)CMVideoFormatDescriptionGetDimensions(_:)CMVideoFormatDescriptionGetExtensionKeysCommonWithImageBuffers()CMVideoFormatDescriptionGetPresentationDimensions(_:usePixelAspectRatio:useCleanAperture:)CMVideoFormatDescriptionMatchesImageBuffer(_:imageBuffer:)CMVideoFormatDescriptionCreateFromH264ParameterSets(allocator:parameterSetCount:parameterSetPointers:parameterSetSizes:nalUnitHeaderLength:formatDescriptionOut:)CMVideoFormatDescriptionCreateFromHEVCParameterSets(allocator:parameterSetCount:parameterSetPointers:parameterSetSizes:nalUnitHeaderLength:extensions:formatDescriptionOut:)CMVideoFormatDescriptionGetH264ParameterSetAtIndex(_:parameterSetIndex:parameterSetPointerOut:parameterSetSizeOut:parameterSetCountOut:nalUnitHeaderLengthOut:)CMVideoFormatDescriptionCopyAsBigEndianImageDescriptionBlockBuffer(allocator:videoFormatDescription:stringEncoding:flavor:blockBufferOut:)CMVideoFormatDescriptionCreateFromBigEndianImageDescriptionBlockBuffer(allocator:bigEndianImageDescriptionBlockBuffer:stringEncoding:flavor:formatDescriptionOut:)CMVideoFormatDescriptionCreateFromBigEndianImageDescriptionData(allocator:bigEndianImageDescriptionData:size:stringEncoding:flavor:formatDescriptionOut:)CMSwapBigEndianImageDescriptionToHost(_:_:)CMSwapHostEndianImageDescriptionToBig(_:_:)
Working with Muxed Descriptions
Working with Metadata Descriptions
CMMetadataDescriptionFlavorCMMetadataFormatDescriptionCreateWithKeys(allocator:metadataType:keys:formatDescriptionOut:)CMMetadataFormatDescriptionGetKeyWithLocalID(_:localKeyID:)CMMetadataFormatDescriptionCopyAsBigEndianMetadataDescriptionBlockBuffer(allocator:metadataFormatDescription:flavor:blockBufferOut:)CMMetadataFormatDescriptionCreateByMergingMetadataFormatDescriptions(allocator:sourceDescription:otherSourceDescription:formatDescriptionOut:)CMMetadataFormatDescriptionCreateFromBigEndianMetadataDescriptionBlockBuffer(allocator:bigEndianMetadataDescriptionBlockBuffer:flavor:formatDescriptionOut:)CMMetadataFormatDescriptionCreateFromBigEndianMetadataDescriptionData(allocator:bigEndianMetadataDescriptionData:size:flavor:formatDescriptionOut:)CMMetadataFormatDescriptionCreateWithMetadataFormatDescriptionAndMetadataSpecifications(allocator:sourceDescription:metadataSpecifications:formatDescriptionOut:)CMMetadataFormatDescriptionCreateWithMetadataSpecifications(allocator:metadataType:metadataSpecifications:formatDescriptionOut:)CMSwapBigEndianMetadataDescriptionToHost(_:_:)CMSwapHostEndianMetadataDescriptionToBig(_:_:)CMMetadataFormatDescriptionGetIdentifiers(_:)
Working with Text Descriptions
CMTextDescriptionFlavorCMTextFormatDescriptionGetDefaultStyle(_:localFontIDOut:boldOut:italicOut:underlineOut:fontSizeOut:colorComponentsOut:)CMTextFormatDescriptionGetDefaultTextBox(_:originIsAtTopLeft:heightOfTextTrack:defaultTextBoxOut:)CMTextFormatDescriptionGetDisplayFlags(_:displayFlagsOut:)CMTextFormatDescriptionGetFontName(_:localFontID:fontNameOut:)CMTextFormatDescriptionGetJustification(_:horizontalOut:verticalOut:)CMTextFormatDescriptionCopyAsBigEndianTextDescriptionBlockBuffer(allocator:textFormatDescription:flavor:blockBufferOut:)CMTextFormatDescriptionCreateFromBigEndianTextDescriptionBlockBuffer(allocator:bigEndianTextDescriptionBlockBuffer:flavor:mediaType:formatDescriptionOut:)CMTextFormatDescriptionCreateFromBigEndianTextDescriptionData(allocator:bigEndianTextDescriptionData:size:flavor:mediaType:formatDescriptionOut:)CMSwapBigEndianTextDescriptionToHost(_:_:)CMSwapHostEndianTextDescriptionToBig(_:_:)
Working with Time Code Descriptions
CMTimeCodeDescriptionFlavorCMTimeCodeFormatDescriptionCreate(allocator:timeCodeFormatType:frameDuration:frameQuanta:flags:extensions:formatDescriptionOut:)CMTimeCodeFormatDescriptionGetFrameDuration(_:)CMTimeCodeFormatDescriptionGetFrameQuanta(_:)CMTimeCodeFormatDescriptionGetTimeCodeFlags(_:)CMTimeCodeFormatDescriptionCopyAsBigEndianTimeCodeDescriptionBlockBuffer(allocator:timeCodeFormatDescription:flavor:blockBufferOut:)CMTimeCodeFormatDescriptionCreateFromBigEndianTimeCodeDescriptionBlockBuffer(allocator:bigEndianTimeCodeDescriptionBlockBuffer:flavor:formatDescriptionOut:)CMTimeCodeFormatDescriptionCreateFromBigEndianTimeCodeDescriptionData(allocator:bigEndianTimeCodeDescriptionData:size:flavor:formatDescriptionOut:)CMSwapBigEndianTimeCodeDescriptionToHost(_:_:)CMSwapHostEndianTimeCodeDescriptionToBig(_:_:)
Working with Closed Captioning Descriptions
CMClosedCaptionDescriptionFlavorCMClosedCaptionFormatDescriptionCopyAsBigEndianClosedCaptionDescriptionBlockBuffer(allocator:closedCaptionFormatDescription:flavor:blockBufferOut:)CMClosedCaptionFormatDescriptionCreateFromBigEndianClosedCaptionDescriptionBlockBuffer(allocator:bigEndianClosedCaptionDescriptionBlockBuffer:flavor:formatDescriptionOut:)CMClosedCaptionFormatDescriptionCreateFromBigEndianClosedCaptionDescriptionData(allocator:bigEndianClosedCaptionDescriptionData:size:flavor:formatDescriptionOut:)CMSwapHostEndianClosedCaptionDescriptionToBig(_:_:)CMSwapBigEndianClosedCaptionDescriptionToHost(_:_:)
Format Description Types
CMFormatDescriptionCMAudioFormatDescriptionCMClosedCaptionFormatDescriptionCMMetadataFormatDescriptionCMMuxedFormatDescriptionCMTextFormatDescriptionCMTimeCodeFormatDescriptionCMVideoFormatDescription
Format Description Extension Keys
kCMFormatDescriptionExtension_ContentColorVolumekCMFormatDescriptionExtension_HasAdditionalViewskCMFormatDescriptionExtension_HasLeftStereoEyeViewkCMFormatDescriptionExtension_HasRightStereoEyeViewkCMFormatDescriptionExtension_HeroEyekCMFormatDescriptionExtension_HorizontalDisparityAdjustmentkCMFormatDescriptionExtension_LogTransferFunctionkCMFormatDescriptionExtension_StereoCameraBaselinekCMFormatDescriptionHeroEye_LeftkCMFormatDescriptionHeroEye_Right
Format Types
CMClosedCaptionFormatTypeCMMetadataFormatTypeMetadata Format TypesCMSubtitleFormatTypeSubtitle Format TypesCMTimeCodeFormatTypeTime Code FormatsCMTextFormatTypeCMPixelFormatTypeTagged Buffer Group Format Types
Data Types
CMVideoDimensionsCMAudioFormatDescriptionMaskCMMediaTypeCMAudioCodecTypeCMVideoCodecTypeCMTextDisplayFlagsCMTextJustificationValueMedia Type ConstantsMuxed Stream TypesAudio Codec Types
Constants
Audio Format Description Mask CodesChroma Location Extension ConstantsClean Aperture Extension ConstantsClosed Caption Format Type ConstantsColor Primary Extension ConstantsField Detail Extension ConstantsFormat Description Bridge Error CodesFormat Description ConstantsFormat Description Error CodesHEVC Temporal Level Info ConstantsMetadata Format Description ConstantsMPEG-2-conformant FormatsPixel Aspect Ratio Extension ConstantsText Display FlagsText Format ConstantsText Format Description ConstantsText Justification ConstantsTime Code FlagsTime Code Format Description ConstantsTransfer Function Extension ConstantsVideo Codec ConstantsVideo Pixel FormatsVideo Profile ConstantsYCbCrMatrix Extension Constants