---
title: CMIOExtensionStreamSource
framework: coremediaio
role: symbol
role_heading: Protocol
path: coremediaio/cmioextensionstreamsource
---

# CMIOExtensionStreamSource

A protocol for objects that act as stream sources.

## Declaration

```swift
protocol CMIOExtensionStreamSource : NSObjectProtocol
```

## Overview

Overview Create a class that adopts this protocol to configure stream properties and manage the stream life cycle.

## Topics

### Accessing the Source Format

- [formats](coremediaio/cmioextensionstreamsource/formats.md)
- [CMIOExtensionStreamFormat](coremediaio/cmioextensionstreamformat.md)

### Managing Stream Properties

- [availableProperties](coremediaio/cmioextensionstreamsource/availableproperties.md)
- [streamProperties(forProperties:)](coremediaio/cmioextensionstreamsource/streamproperties(forproperties:).md)
- [setStreamProperties(_:)](coremediaio/cmioextensionstreamsource/setstreamproperties(_:).md)

### Managing a Stream

- [authorizedToStartStream(for:)](coremediaio/cmioextensionstreamsource/authorizedtostartstream(for:).md)
- [startStream()](coremediaio/cmioextensionstreamsource/startstream().md)
- [stopStream()](coremediaio/cmioextensionstreamsource/stopstream().md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Streams

- [CMIOExtensionStream](coremediaio/cmioextensionstream.md)
- [CMIOExtensionStreamProperties](coremediaio/cmioextensionstreamproperties.md)
- [CMIOExtensionClient](coremediaio/cmioextensionclient.md)
