PulseAudio  16.0
pa_card_port_info Struct Reference

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

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 pa_port_available enum, indicating availability status of this port. More...
 
int direction
 A pa_direction enum, indicating the direction of this port. More...
 
uint32_t n_profiles
 Number of entries in profile array. More...
 
pa_card_profile_info ** profiles
 
pa_proplistproplist
 Property list. More...
 
int64_t latency_offset
 Latency offset of the port that gets added to the sink/source latency when the port is active. More...
 
pa_card_profile_info2 ** profiles2
 Array of pointers to available profiles, or NULL. 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 card.

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

Since
2.0

Field Documentation

◆ availability_group

const char* pa_card_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
14.0

◆ available

int pa_card_port_info::available

A pa_port_available enum, indicating availability status of this port.

◆ description

const char* pa_card_port_info::description

Description of this port.

◆ direction

int pa_card_port_info::direction

A pa_direction enum, indicating the direction of this port.

◆ latency_offset

int64_t pa_card_port_info::latency_offset

Latency offset of the port that gets added to the sink/source latency when the port is active.

Since
3.0

◆ n_profiles

uint32_t pa_card_port_info::n_profiles

Number of entries in profile array.

◆ name

const char* pa_card_port_info::name

Name of this port.

◆ priority

uint32_t pa_card_port_info::priority

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

◆ profiles

pa_card_profile_info** pa_card_port_info::profiles
Deprecated:
Superseded by profiles2

◆ profiles2

pa_card_profile_info2** pa_card_port_info::profiles2

Array of pointers to available profiles, or NULL.

Array is terminated by an entry set to NULL.

Since
5.0

◆ proplist

pa_proplist* pa_card_port_info::proplist

Property list.

◆ type

uint32_t pa_card_port_info::type

Port type, see pa_device_port_type.

Since
14.0

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