<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: 15.4.0 -",
    "macOS: 12.3.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreMediaIO",
  "identifier" : "/documentation/CoreMediaIO/CMIOExtensionStreamFormat",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Core Media I/O"
    ],
    "preciseIdentifier" : "c:objc(cs)CMIOExtensionStreamFormat"
  },
  "title" : "CMIOExtensionStreamFormat"
}
-->

# CMIOExtensionStreamFormat

An object that describes the format of a media stream.

```
class CMIOExtensionStreamFormat
```

## Topics

### Creating a Stream Format

[`convenience init(formatDescription: CMFormatDescription, maxFrameDuration: CMTime, minFrameDuration: CMTime, validFrameDurations: [CMTime]?)`](/documentation/CoreMediaIO/CMIOExtensionStreamFormat/init(formatDescription:maxFrameDuration:minFrameDuration:validFrameDurations:))

Creates a stream format with a format description and frame durations.

[`+ (instancetype) streamFormatWithFormatDescription:(CMFormatDescriptionRef) formatDescription maxFrameDuration:(CMTime) maxFrameDuration minFrameDuration:(CMTime) minFrameDuration validFrameDurations:(NSArray<NSDictionary *> *) validFrameDurations;`](/documentation/CoreMediaIO/CMIOExtensionStreamFormat/streamFormatWithFormatDescription:maxFrameDuration:minFrameDuration:validFrameDurations:)

Returns a new stream format with a format description and frame durations.

[`- (instancetype) initWithFormatDescription:(CMFormatDescriptionRef) formatDescription maxFrameDuration:(CMTime) maxFrameDuration minFrameDuration:(CMTime) minFrameDuration validFrameDurations:(NSArray<NSDictionary *> *) validFrameDurations;`](/documentation/CoreMediaIO/CMIOExtensionStreamFormat/initWithFormatDescription:maxFrameDuration:minFrameDuration:validFrameDurations:)

Creates a stream format with a format description and frame durations.

### Configuring Frame Durations

[`var minFrameDuration: CMTime`](/documentation/CoreMediaIO/CMIOExtensionStreamFormat/minFrameDuration)

The minimum frame duration a stream supports.

[`var maxFrameDuration: CMTime`](/documentation/CoreMediaIO/CMIOExtensionStreamFormat/maxFrameDuration)

The maximum duration a stream supports.

[`var validFrameDurations: [CMTime]?`](/documentation/CoreMediaIO/CMIOExtensionStreamFormat/validFrameDurations-707st)

An array of frame durations the stream supports.

[`@property (atomic, strong, readonly, nullable) NSArray<NSDictionary *> * validFrameDurations;`](/documentation/CoreMediaIO/CMIOExtensionStreamFormat/validFrameDurations-4rbay)

An array of frame durations the stream supports.

### Accessing the Format Description

[`var formatDescription: CMFormatDescription`](/documentation/CoreMediaIO/CMIOExtensionStreamFormat/formatDescription)

A description of the format of the stream’s media samples.

### Initializers

[`init?(coder: NSCoder)`](/documentation/CoreMediaIO/CMIOExtensionStreamFormat/init(coder:))

## Relationships

### Conforms To

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Hashable`](/documentation/Swift/Hashable)

[`NSCopying`](/documentation/Foundation/NSCopying)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSCoding`](/documentation/Foundation/NSCoding)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)