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

# CMIOExtensionProviderSource

A protocol for objects that act as provider sources.

```
protocol CMIOExtensionProviderSource : NSObjectProtocol
```

## Overview

Create a class that adopts this protocol to configure provider properties and manage its client connections.

## Topics

### Managing Connections

[`connect(to:)`](/documentation/CoreMediaIO/CMIOExtensionProviderSource/connect(to:))

Connects a client to a source’s provider.

[`disconnect(from:)`](/documentation/CoreMediaIO/CMIOExtensionProviderSource/disconnect(from:))

Disconnects a client from a source’s provider.

### Configuring Properties

[`availableProperties`](/documentation/CoreMediaIO/CMIOExtensionProviderSource/availableProperties)

A set of available properties for a provider.

[`providerProperties(forProperties:)`](/documentation/CoreMediaIO/CMIOExtensionProviderSource/providerProperties(forProperties:))

Gets the state of provider properties.

[`setProviderProperties(_:)`](/documentation/CoreMediaIO/CMIOExtensionProviderSource/setProviderProperties(_:))

Set the state of provider properties.



---

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)