---
title: AVAudioSessionDataSourceDescription
framework: avfaudio
role: symbol
role_heading: Class
path: avfaudio/avaudiosessiondatasourcedescription
---

# AVAudioSessionDataSourceDescription

An object that defines a data source for an audio input or output, giving information such as the source’s name, location, and orientation.

## Declaration

```swift
class AVAudioSessionDataSourceDescription
```

## Overview

Overview You obtain data source descriptions from the shared AVAudioSession object or the AVAudioSessionPortDescription objects corresponding to its input and output ports. Only built-in microphone ports on certain devices support the location, orientation, and polar pattern properties. If a port doesn’t support these features, the value of its dataSources property is nil. This class is especially useful for differentiating between microphone configurations on devices having more than one built-in microphone. Such devices may also support signal processing features for spatial filtering, or beamforming, in which the system makes the device more sensitive to audio signals from a particular direction. See Data Source Polar Patterns for more information.

## Topics

### Identifying a Data Source

- [dataSourceID](avfaudio/avaudiosessiondatasourcedescription/datasourceid.md)
- [dataSourceName](avfaudio/avaudiosessiondatasourcedescription/datasourcename.md)

### Retrieving the Data Source Location

- [location](avfaudio/avaudiosessiondatasourcedescription/location.md)
- [AVAudioSession.Location](avfaudio/avaudiosession/location.md)

### Retrieving the Data Source Orientation

- [orientation](avfaudio/avaudiosessiondatasourcedescription/orientation.md)
- [AVAudioSession.Orientation](avfaudio/avaudiosession/orientation.md)

### Configuring Microphone Directivity

- [selectedPolarPattern](avfaudio/avaudiosessiondatasourcedescription/selectedpolarpattern.md)
- [supportedPolarPatterns](avfaudio/avaudiosessiondatasourcedescription/supportedpolarpatterns.md)
- [preferredPolarPattern](avfaudio/avaudiosessiondatasourcedescription/preferredpolarpattern.md)
- [setPreferredPolarPattern(_:)](avfaudio/avaudiosessiondatasourcedescription/setpreferredpolarpattern(_:).md)
- [AVAudioSession.PolarPattern](avfaudio/avaudiosession/polarpattern.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Configuring outputs

- [outputDataSources](avfaudio/avaudiosession/outputdatasources.md)
- [outputDataSource](avfaudio/avaudiosession/outputdatasource.md)
- [setOutputDataSource(_:)](avfaudio/avaudiosession/setoutputdatasource(_:).md)
- [overrideOutputAudioPort(_:)](avfaudio/avaudiosession/overrideoutputaudioport(_:).md)
