Global definitions. More...
Go to the source code of this file.
Global definitions.
#define PA_INVALID_INDEX ((uint32_t) -1) |
An invalid index.
#define PA_STREAM_EVENT_REQUEST_CORK "request-cork" |
A stream policy/meta event requesting that an application should cork a specific stream.
See pa_stream_event_cb_t for more information,
#define PA_STREAM_EVENT_REQUEST_UNCORK "request-uncork" |
A stream policy/meta event requesting that an application should cork a specific stream.
See pa_stream_event_cb_t for more information,
#define pa_subscription_match_flags | ( | m, | |
t | |||
) | (!!((m) & (1 << ((t) & PA_SUBSCRIPTION_EVENT_FACILITY_MASK)))) |
Return one if an event type t matches an event mask bitfield.
typedef struct pa_buffer_attr pa_buffer_attr |
Playback and record buffer metrics.
typedef enum pa_context_flags pa_context_flags_t |
Some special flags for contexts.
typedef enum pa_context_state pa_context_state_t |
The state of a connection context.
typedef void(* pa_free_cb_t)(void *p) |
A generic free() like callback prototype.
typedef enum pa_operation_state pa_operation_state_t |
The state of an operation.
typedef enum pa_seek_mode pa_seek_mode_t |
Seek type for pa_stream_write().
typedef enum pa_sink_flags pa_sink_flags_t |
Special sink flags.
typedef enum pa_sink_state pa_sink_state_t |
Sink state.
typedef enum pa_source_flags pa_source_flags_t |
Special source flags.
typedef enum pa_source_state pa_source_state_t |
Source state.
typedef struct pa_spawn_api pa_spawn_api |
A structure for the spawn api.
This may be used to integrate auto spawned daemons into your application. For more information see pa_context_connect(). When spawning a new child process the waitpid() is used on the child's PID. The spawn routine will not block or ignore SIGCHLD signals, since this cannot be done in a thread compatible way. You might have to do this in prefork/postfork.
typedef enum pa_stream_direction pa_stream_direction_t |
The direction of a pa_stream object.
typedef enum pa_stream_flags pa_stream_flags_t |
Some special flags for stream connections.
typedef enum pa_stream_state pa_stream_state_t |
The state of a stream.
typedef enum pa_subscription_event_type pa_subscription_event_type_t |
Subscription event types, as used by pa_context_subscribe()
typedef enum pa_subscription_mask pa_subscription_mask_t |
Subscription event mask, as used by pa_context_subscribe()
typedef struct pa_timing_info pa_timing_info |
A structure for all kinds of timing information of a stream.
See pa_stream_update_timing_info() and pa_stream_get_timing_info(). The total output latency a sample that is written with pa_stream_write() takes to be played may be estimated by sink_usec+buffer_usec+transport_usec. (where buffer_usec is defined as pa_bytes_to_usec(write_index-read_index)) The output buffer which buffer_usec relates to may be manipulated freely (with pa_stream_write()'s seek argument, pa_stream_flush() and friends), the buffers sink_usec and source_usec relate to are first-in first-out (FIFO) buffers which cannot be flushed or manipulated in any way. The total input latency a sample that is recorded takes to be delivered to the application is: source_usec+buffer_usec+transport_usec-sink_usec. (Take care of sign issues!) When connected to a monitor source sink_usec contains the latency of the owning sink. The two latency estimations described here are implemented in pa_stream_get_latency(). Please note that this structure can be extended as part of evolutionary API updates at any time in any new release.
anonymous enum |
Error values as used by pa_context_errno().
Use pa_strerror() to convert these values to human readable strings
enum pa_context_flags |
Some special flags for contexts.
PA_CONTEXT_NOFLAGS |
Flag to pass when no specific options are needed (used to avoid casting)
|
PA_CONTEXT_NOAUTOSPAWN |
Disabled autospawning of the PulseAudio daemon if required. |
PA_CONTEXT_NOFAIL |
Don't fail if the daemon is not available when pa_context_connect() is called, instead enter PA_CONTEXT_CONNECTING state and wait for the daemon to appear.
|
enum pa_context_state |
The state of a connection context.
enum pa_operation_state |
The state of an operation.
enum pa_seek_mode |
Seek type for pa_stream_write().
enum pa_sink_flags |
Special sink flags.
PA_SINK_NOFLAGS |
Flag to pass when no specific options are needed (used to avoid casting)
|
PA_SINK_HW_VOLUME_CTRL |
Supports hardware volume control. |
PA_SINK_LATENCY |
Supports latency querying. |
PA_SINK_HARDWARE |
Is a hardware sink of some kind, in contrast to "virtual"/software sinks.
|
PA_SINK_NETWORK |
Is a networked sink of some kind.
|
PA_SINK_HW_MUTE_CTRL |
Supports hardware mute control.
|
PA_SINK_DECIBEL_VOLUME |
Volume can be translated to dB with pa_sw_volume_to_dB()
|
PA_SINK_FLAT_VOLUME |
This sink is in flat volume mode, i.e. always the maximum of the volume of all connected inputs.
|
PA_SINK_DYNAMIC_LATENCY |
The latency can be adjusted dynamically depending on the needs of the connected streams.
|
enum pa_sink_state |
Sink state.
enum pa_source_flags |
Special source flags.
PA_SOURCE_NOFLAGS |
Flag to pass when no specific options are needed (used to avoid casting)
|
PA_SOURCE_HW_VOLUME_CTRL |
Supports hardware volume control. |
PA_SOURCE_LATENCY |
Supports latency querying. |
PA_SOURCE_HARDWARE |
Is a hardware source of some kind, in contrast to "virtual"/software source.
|
PA_SOURCE_NETWORK |
Is a networked source of some kind.
|
PA_SOURCE_HW_MUTE_CTRL |
Supports hardware mute control.
|
PA_SOURCE_DECIBEL_VOLUME |
Volume can be translated to dB with pa_sw_volume_to_dB()
|
PA_SOURCE_DYNAMIC_LATENCY |
The latency can be adjusted dynamically depending on the needs of the connected streams.
|
enum pa_source_state |
Source state.
enum pa_stream_direction |
enum pa_stream_flags |
Some special flags for stream connections.
PA_STREAM_NOFLAGS |
Flag to pass when no specific options are needed (used to avoid casting)
|
PA_STREAM_START_CORKED |
Create the stream corked, requiring an explicit pa_stream_cork() call to uncork it. |
PA_STREAM_INTERPOLATE_TIMING |
Interpolate the latency for this stream. When enabled, pa_stream_get_latency() and pa_stream_get_time() will try to estimate the current record/playback time based on the local time that passed since the last timing info update. Using this option has the advantage of not requiring a whole roundtrip when the current playback/recording time is needed. Consider using this option when requesting latency information frequently. This is especially useful on long latency network connections. It makes a lot of sense to combine this option with PA_STREAM_AUTO_TIMING_UPDATE. |
PA_STREAM_NOT_MONOTONIC |
Don't force the time to increase monotonically. If this option is enabled, pa_stream_get_time() will not necessarily return always monotonically increasing time values on each call. This may confuse applications which cannot deal with time going 'backwards', but has the advantage that bad transport latency estimations that caused the time to to jump ahead can be corrected quickly, without the need to wait. (Please note that this flag was named PA_STREAM_NOT_MONOTONOUS in releases prior to 0.9.11. The old name is still defined too, for compatibility reasons. |
PA_STREAM_AUTO_TIMING_UPDATE |
If set timing update requests are issued periodically automatically. Combined with PA_STREAM_INTERPOLATE_TIMING you will be able to query the current time and latency with pa_stream_get_time() and pa_stream_get_latency() at all times without a packet round trip. |
PA_STREAM_NO_REMAP_CHANNELS |
Don't remap channels by their name, instead map them simply by their index. Implies PA_STREAM_NO_REMIX_CHANNELS. Only supported when the server is at least PA 0.9.8. It is ignored on older servers.
|
PA_STREAM_NO_REMIX_CHANNELS |
When remapping channels by name, don't upmix or downmix them to related channels. Copy them into matching channels of the device 1:1. Only supported when the server is at least PA 0.9.8. It is ignored on older servers.
|
PA_STREAM_FIX_FORMAT |
Use the sample format of the sink/device this stream is being connected to, and possibly ignore the format the sample spec contains -- but you still have to pass a valid value in it as a hint to PulseAudio what would suit your stream best. If this is used you should query the used sample format after creating the stream by using pa_stream_get_sample_spec(). Also, if you specified manual buffer metrics it is recommended to update them with pa_stream_set_buffer_attr() to compensate for the changed frame sizes. Only supported when the server is at least PA 0.9.8. It is ignored on older servers.
|
PA_STREAM_FIX_RATE |
Use the sample rate of the sink, and possibly ignore the rate the sample spec contains. Usage similar to PA_STREAM_FIX_FORMAT.Only supported when the server is at least PA 0.9.8. It is ignored on older servers.
|
PA_STREAM_FIX_CHANNELS |
Use the number of channels and the channel map of the sink, and possibly ignore the number of channels and the map the sample spec and the passed channel map contains. Usage similar to PA_STREAM_FIX_FORMAT. Only supported when the server is at least PA 0.9.8. It is ignored on older servers.
|
PA_STREAM_DONT_MOVE |
Don't allow moving of this stream to another sink/device. Useful if you use any of the PA_STREAM_FIX_ flags and want to make sure that resampling never takes place -- which might happen if the stream is moved to another sink/source with a different sample spec/channel map. Only supported when the server is at least PA 0.9.8. It is ignored on older servers.
|
PA_STREAM_VARIABLE_RATE |
Allow dynamic changing of the sampling rate during playback with pa_stream_update_sample_rate(). Only supported when the server is at least PA 0.9.8. It is ignored on older servers.
|
PA_STREAM_PEAK_DETECT |
Find peaks instead of resampling.
|
PA_STREAM_START_MUTED |
Create in muted state. If neither PA_STREAM_START_UNMUTED nor PA_STREAM_START_MUTED it is left to the server to decide whether to create the stream in muted or in unmuted state.
|
PA_STREAM_ADJUST_LATENCY |
Try to adjust the latency of the sink/source based on the requested buffer metrics and adjust buffer metrics accordingly. Also see pa_buffer_attr. This option may not be specified at the same time as PA_STREAM_EARLY_REQUESTS.
|
PA_STREAM_EARLY_REQUESTS |
Enable compatibility mode for legacy clients that rely on a "classic" hardware device fragment-style playback model. If this option is set, the minreq value of the buffer metrics gets a new meaning: instead of just specifying that no requests asking for less new data than this value will be made to the client it will also guarantee that requests are generated as early as this limit is reached. This flag should only be set in very few situations where compatibility with a fragment-based playback model needs to be kept and the client applications cannot deal with data requests that are delayed to the latest moment possible. (Usually these are programs that use usleep() or a similar call in their playback loops instead of sleeping on the device itself.) Also see pa_buffer_attr. This option may not be specified at the same time as PA_STREAM_ADJUST_LATENCY.
|
PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND |
If set this stream won't be taken into account when we it is checked whether the device this stream is connected to should auto-suspend.
|
PA_STREAM_START_UNMUTED |
Create in unmuted state. If neither PA_STREAM_START_UNMUTED nor PA_STREAM_START_MUTED it is left to the server to decide whether to create the stream in muted or in unmuted state.
|
PA_STREAM_FAIL_ON_SUSPEND |
If the sink/source this stream is connected to is suspended during the creation of this stream, cause it to fail. If the sink/source is being suspended during creation of this stream, make sure this stream is terminated.
|
enum pa_stream_state |
The state of a stream.
Subscription event types, as used by pa_context_subscribe()
enum pa_subscription_mask |
Subscription event mask, as used by pa_context_subscribe()