---
title: CMMetadata
framework: coremedia
role: collectionGroup
role_heading: API Collection
path: coremedia/cmmetadata
---

# CMMetadata

The APIs for working with the framework’s Metadata Identifier Services and Metadata Data Type Registry.

## Overview

Overview The Core Media framework provides two services: Metadata Identifier Services and the Metadata Data Type Registry. Metadata Identifier Services provide a means of encoding the metadata identifying tuple (four-byte key namespace and N-byte key value) into CFString, and back again. The Metadata Data Type Registry allows a process to register metadata data types that conform to a base data type and (optionally) other registered data types. The registry simplifies the process of creating format descriptions for nontrivial metadata values and allowing clients to indicate how to interpret metadata.

## Topics

### Creating Metadata Identifiers

- [CMMetadataCreateIdentifierForKeyAndKeySpace(allocator:key:keySpace:identifierOut:)](coremedia/cmmetadatacreateidentifierforkeyandkeyspace(allocator:key:keyspace:identifierout:).md)
- [CMMetadataCreateKeyFromIdentifier(allocator:identifier:keyOut:)](coremedia/cmmetadatacreatekeyfromidentifier(allocator:identifier:keyout:).md)
- [CMMetadataCreateKeyFromIdentifierAsCFData(allocator:identifier:keyOut:)](coremedia/cmmetadatacreatekeyfromidentifierascfdata(allocator:identifier:keyout:).md)
- [CMMetadataCreateKeySpaceFromIdentifier(allocator:identifier:keySpaceOut:)](coremedia/cmmetadatacreatekeyspacefromidentifier(allocator:identifier:keyspaceout:).md)

### Registering Metadata

- [CMMetadataDataTypeRegistryRegisterDataType(_:description:conformingDataTypes:)](coremedia/cmmetadatadatatyperegistryregisterdatatype(_:description:conformingdatatypes:).md)

### Inspecting Metadata

- [CMMetadataDataTypeRegistryDataTypeIsRegistered(_:)](coremedia/cmmetadatadatatyperegistrydatatypeisregistered(_:).md)
- [CMMetadataDataTypeRegistryGetDataTypeDescription(_:)](coremedia/cmmetadatadatatyperegistrygetdatatypedescription(_:).md)
- [CMMetadataDataTypeRegistryGetConformingDataTypes(_:)](coremedia/cmmetadatadatatyperegistrygetconformingdatatypes(_:).md)
- [CMMetadataDataTypeRegistryDataTypeConformsToDataType(_:conformsTo:)](coremedia/cmmetadatadatatyperegistrydatatypeconformstodatatype(_:conformsto:).md)
- [CMMetadataDataTypeRegistryDataTypeIsBaseDataType(_:)](coremedia/cmmetadatadatatyperegistrydatatypeisbasedatatype(_:).md)
- [CMMetadataDataTypeRegistryGetBaseDataTypeForConformingDataType(_:)](coremedia/cmmetadatadatatyperegistrygetbasedatatypeforconformingdatatype(_:).md)
- [CMMetadataDataTypeRegistryGetBaseDataTypes()](coremedia/cmmetadatadatatyperegistrygetbasedatatypes().md)

### Constants

- [Metadata Identifier Error Codes](coremedia/metadata-identifier-errors.md)
- [Metadata Registry Error Codes](coremedia/metadata-registry-errors.md)
- [Metadata Identifier Keyspaces](coremedia/metadata-identifier-keyspaces.md)
- [Metadata Identifiers](coremedia/metadata-identifiers.md)
- [Metadata Base Data Types](coremedia/metadata-base-data-types.md)
- [Metadata Data Types](coremedia/metadata-data-types.md)

## See Also

### Metadata

- [CMTag](coremedia/cmtag-api.md)
- [CMTag](coremedia/cmtag-swift.class.md)
- [CMTypedTag](coremedia/cmtypedtag.md)
- [CMTagCollection](coremedia/cmtagcollection.md)
- [CMProjectionType](coremedia/cmprojectiontype.md)
- [CMStereoViewComponents](coremedia/cmstereoviewcomponents.md)
- [CMStereoViewInterpretationOptions](coremedia/cmstereoviewinterpretationoptions.md)
- [CMPackingType](coremedia/cmpackingtype.md)
