PulseAudio 16.1

Data Fields
pa_source_port_info Struct Reference

Stores information about a specific port of a source. More...

`#include <introspect.h>`

## Data Fields
const char * | name
| Name of this port. More...
const char * | description
| Description of this port. More...
uint32_t | priority
| The higher this value is, the more useful this port is as a default. More...
int | available
| A flags (see pa_port_available), indicating availability status of this port. More...
const char * | availability_group
| An indentifier for the group of ports that share their availability status with each other. More...
uint32_t | type
| Port type, see pa_device_port_type. More...

## Detailed Description

Stores information about a specific port of a source.

Please note that this structure can be extended as part of evolutionary API updates at any time in any new release.

Since
  0.9.16

## Field Documentation

## ◆ availability_group

const char* pa_source_port_info::availability_group

An indentifier for the group of ports that share their availability status with each other.

This is meant especially for handling cases where one 3.5 mm connector is used for headphones, headsets and microphones, and the hardware can only tell that something was plugged in but not what exactly. In this situation the ports for all those devices share their availability status, and PulseAudio can't tell which one is actually plugged in, and some application may ask the user what was plugged in. Such applications should get a list of all card ports and compare their `availability_group` fields. Ports that have the same group are those that need input from the user to determine which device was plugged in. The application should then activate the user-chosen port.

May be NULL, in which case the port is not part of any availability group (which is the same as having a group with only one member).

The group identifier must be treated as an opaque identifier. The string may look like an ALSA control name, but applications must not assume any such relationship. The group naming scheme can change without a warning.

Since one group can include both input and output ports, the grouping should be done using pa_card_port_info instead of pa_source_port_info, but this field is duplicated also in pa_source_port_info (and pa_sink_port_info) in case someone finds that convenient.

Since
  14.0

## ◆ available

int pa_source_port_info::available

A flags (see pa_port_available), indicating availability status of this port.

Since
  2.0

## ◆ description

const char* pa_source_port_info::description

Description of this port.

## ◆ name

const char* pa_source_port_info::name

Name of this port.

## ◆ priority

uint32_t pa_source_port_info::priority

The higher this value is, the more useful this port is as a default.

## ◆ type

uint32_t pa_source_port_info::type

Port type, see pa_device_port_type.

Since
  14.0

The documentation for this struct was generated from the following file:

- introspect.h