PulseAudio  3.0
def.h
Go to the documentation of this file.
1 #ifndef foodefhfoo
2 #define foodefhfoo
3 
4 /***
5  This file is part of PulseAudio.
6 
7  Copyright 2004-2006 Lennart Poettering
8  Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
9 
10  PulseAudio is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as
12  published by the Free Software Foundation; either version 2.1 of the
13  License, or (at your option) any later version.
14 
15  PulseAudio is distributed in the hope that it will be useful, but
16  WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  Lesser General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public
21  License along with PulseAudio; if not, write to the Free Software
22  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23  USA.
24 ***/
25 
26 #include <inttypes.h>
27 #include <sys/time.h>
28 
29 #include <pulse/cdecl.h>
30 #include <pulse/sample.h>
31 #include <pulse/version.h>
32 
36 PA_C_DECL_BEGIN
37 
39 typedef enum pa_context_state {
48 
50 static inline int PA_CONTEXT_IS_GOOD(pa_context_state_t x) {
51  return
52  x == PA_CONTEXT_CONNECTING ||
55  x == PA_CONTEXT_READY;
56 }
57 
59 #define PA_CONTEXT_UNCONNECTED PA_CONTEXT_UNCONNECTED
60 #define PA_CONTEXT_CONNECTING PA_CONTEXT_CONNECTING
61 #define PA_CONTEXT_AUTHORIZING PA_CONTEXT_AUTHORIZING
62 #define PA_CONTEXT_SETTING_NAME PA_CONTEXT_SETTING_NAME
63 #define PA_CONTEXT_READY PA_CONTEXT_READY
64 #define PA_CONTEXT_FAILED PA_CONTEXT_FAILED
65 #define PA_CONTEXT_TERMINATED PA_CONTEXT_TERMINATED
66 #define PA_CONTEXT_IS_GOOD PA_CONTEXT_IS_GOOD
67 
70 typedef enum pa_stream_state {
77 
79 static inline int PA_STREAM_IS_GOOD(pa_stream_state_t x) {
80  return
81  x == PA_STREAM_CREATING ||
82  x == PA_STREAM_READY;
83 }
84 
86 #define PA_STREAM_UNCONNECTED PA_STREAM_UNCONNECTED
87 #define PA_STREAM_CREATING PA_STREAM_CREATING
88 #define PA_STREAM_READY PA_STREAM_READY
89 #define PA_STREAM_FAILED PA_STREAM_FAILED
90 #define PA_STREAM_TERMINATED PA_STREAM_TERMINATED
91 #define PA_STREAM_IS_GOOD PA_STREAM_IS_GOOD
92 
95 typedef enum pa_operation_state {
100 
102 #define PA_OPERATION_RUNNING PA_OPERATION_RUNNING
103 #define PA_OPERATION_DONE PA_OPERATION_DONE
104 #define PA_OPERATION_CANCELED PA_OPERATION_CANCELLED
105 #define PA_OPERATION_CANCELLED PA_OPERATION_CANCELLED
106 
109 #define PA_INVALID_INDEX ((uint32_t) -1)
110 
112 typedef enum pa_context_flags {
120 
122 /* Allow clients to check with #ifdef for those flags */
123 #define PA_CONTEXT_NOAUTOSPAWN PA_CONTEXT_NOAUTOSPAWN
124 #define PA_CONTEXT_NOFAIL PA_CONTEXT_NOFAIL
125 
131 typedef enum pa_direction {
135 
137 #define PA_DIRECTION_OUTPUT PA_DIRECTION_OUTPUT
138 #define PA_DIRECTION_INPUT PA_DIRECTION_INPUT
139 
142 typedef enum pa_device_type {
146 
148 #define PA_DEVICE_TYPE_SINK PA_DEVICE_TYPE_SINK
149 #define PA_DEVICE_TYPE_SOURCE PA_DEVICE_TYPE_SOURCE
150 
153 typedef enum pa_stream_direction {
159 
161 #define PA_STREAM_NODIRECTION PA_STREAM_NODIRECTION
162 #define PA_STREAM_PLAYBACK PA_STREAM_PLAYBACK
163 #define PA_STREAM_RECORD PA_STREAM_RECORD
164 #define PA_STREAM_UPLOAD PA_STREAM_UPLOAD
165 
168 typedef enum pa_stream_flags {
169 
170  PA_STREAM_NOFLAGS = 0x0000U,
323 
326 /* English is an evil language */
327 #define PA_STREAM_NOT_MONOTONOUS PA_STREAM_NOT_MONOTONIC
328 
329 /* Allow clients to check with #ifdef for those flags */
330 #define PA_STREAM_START_CORKED PA_STREAM_START_CORKED
331 #define PA_STREAM_INTERPOLATE_TIMING PA_STREAM_INTERPOLATE_TIMING
332 #define PA_STREAM_NOT_MONOTONIC PA_STREAM_NOT_MONOTONIC
333 #define PA_STREAM_AUTO_TIMING_UPDATE PA_STREAM_AUTO_TIMING_UPDATE
334 #define PA_STREAM_NO_REMAP_CHANNELS PA_STREAM_NO_REMAP_CHANNELS
335 #define PA_STREAM_NO_REMIX_CHANNELS PA_STREAM_NO_REMIX_CHANNELS
336 #define PA_STREAM_FIX_FORMAT PA_STREAM_FIX_FORMAT
337 #define PA_STREAM_FIX_RATE PA_STREAM_FIX_RATE
338 #define PA_STREAM_FIX_CHANNELS PA_STREAM_FIX_CHANNELS
339 #define PA_STREAM_DONT_MOVE PA_STREAM_DONT_MOVE
340 #define PA_STREAM_VARIABLE_RATE PA_STREAM_VARIABLE_RATE
341 #define PA_STREAM_PEAK_DETECT PA_STREAM_PEAK_DETECT
342 #define PA_STREAM_START_MUTED PA_STREAM_START_MUTED
343 #define PA_STREAM_ADJUST_LATENCY PA_STREAM_ADJUST_LATENCY
344 #define PA_STREAM_EARLY_REQUESTS PA_STREAM_EARLY_REQUESTS
345 #define PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND
346 #define PA_STREAM_START_UNMUTED PA_STREAM_START_UNMUTED
347 #define PA_STREAM_FAIL_ON_SUSPEND PA_STREAM_FAIL_ON_SUSPEND
348 #define PA_STREAM_RELATIVE_VOLUME PA_STREAM_RELATIVE_VOLUME
349 #define PA_STREAM_PASSTHROUGH PA_STREAM_PASSTHROUGH
350 
354 typedef struct pa_buffer_attr {
355  uint32_t maxlength;
360  uint32_t tlength;
378  uint32_t prebuf;
389  uint32_t minreq;
399  uint32_t fragsize;
414 
416 typedef enum pa_error_code {
417  PA_OK = 0,
446 
448 #define PA_OK PA_OK
449 #define PA_ERR_ACCESS PA_ERR_ACCESS
450 #define PA_ERR_COMMAND PA_ERR_COMMAND
451 #define PA_ERR_INVALID PA_ERR_INVALID
452 #define PA_ERR_EXIST PA_ERR_EXIST
453 #define PA_ERR_NOENTITY PA_ERR_NOENTITY
454 #define PA_ERR_CONNECTIONREFUSED PA_ERR_CONNECTIONREFUSED
455 #define PA_ERR_PROTOCOL PA_ERR_PROTOCOL
456 #define PA_ERR_TIMEOUT PA_ERR_TIMEOUT
457 #define PA_ERR_AUTHKEY PA_ERR_AUTHKEY
458 #define PA_ERR_INTERNAL PA_ERR_INTERNAL
459 #define PA_ERR_CONNECTIONTERMINATED PA_ERR_CONNECTIONTERMINATED
460 #define PA_ERR_KILLED PA_ERR_KILLED
461 #define PA_ERR_INVALIDSERVER PA_ERR_INVALIDSERVER
462 #define PA_ERR_MODINITFAILED PA_ERR_MODINITFAILED
463 #define PA_ERR_BADSTATE PA_ERR_BADSTATE
464 #define PA_ERR_NODATA PA_ERR_NODATA
465 #define PA_ERR_VERSION PA_ERR_VERSION
466 #define PA_ERR_TOOLARGE PA_ERR_TOOLARGE
467 #define PA_ERR_NOTSUPPORTED PA_ERR_NOTSUPPORTED
468 #define PA_ERR_UNKNOWN PA_ERR_UNKNOWN
469 #define PA_ERR_NOEXTENSION PA_ERR_NOEXTENSION
470 #define PA_ERR_OBSOLETE PA_ERR_OBSOLETE
471 #define PA_ERR_NOTIMPLEMENTED PA_ERR_NOTIMPLEMENTED
472 #define PA_ERR_FORKED PA_ERR_FORKED
473 #define PA_ERR_MAX PA_ERR_MAX
474 
477 typedef enum pa_subscription_mask {
506  PA_SUBSCRIPTION_MASK_AUTOLOAD = 0x0100U,
516 
544  PA_SUBSCRIPTION_EVENT_AUTOLOAD = 0x0008U,
567 
569 #define pa_subscription_match_flags(m, t) (!!((m) & (1 << ((t) & PA_SUBSCRIPTION_EVENT_FACILITY_MASK))))
570 
572 #define PA_SUBSCRIPTION_MASK_NULL PA_SUBSCRIPTION_MASK_NULL
573 #define PA_SUBSCRIPTION_MASK_SINK PA_SUBSCRIPTION_MASK_SINK
574 #define PA_SUBSCRIPTION_MASK_SOURCE PA_SUBSCRIPTION_MASK_SOURCE
575 #define PA_SUBSCRIPTION_MASK_SINK_INPUT PA_SUBSCRIPTION_MASK_SINK_INPUT
576 #define PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT
577 #define PA_SUBSCRIPTION_MASK_MODULE PA_SUBSCRIPTION_MASK_MODULE
578 #define PA_SUBSCRIPTION_MASK_CLIENT PA_SUBSCRIPTION_MASK_CLIENT
579 #define PA_SUBSCRIPTION_MASK_SAMPLE_CACHE PA_SUBSCRIPTION_MASK_SAMPLE_CACHE
580 #define PA_SUBSCRIPTION_MASK_SERVER PA_SUBSCRIPTION_MASK_SERVER
581 #define PA_SUBSCRIPTION_MASK_AUTOLOAD PA_SUBSCRIPTION_MASK_AUTOLOAD
582 #define PA_SUBSCRIPTION_MASK_CARD PA_SUBSCRIPTION_MASK_CARD
583 #define PA_SUBSCRIPTION_MASK_ALL PA_SUBSCRIPTION_MASK_ALL
584 #define PA_SUBSCRIPTION_EVENT_SINK PA_SUBSCRIPTION_EVENT_SINK
585 #define PA_SUBSCRIPTION_EVENT_SOURCE PA_SUBSCRIPTION_EVENT_SOURCE
586 #define PA_SUBSCRIPTION_EVENT_SINK_INPUT PA_SUBSCRIPTION_EVENT_SINK_INPUT
587 #define PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT
588 #define PA_SUBSCRIPTION_EVENT_MODULE PA_SUBSCRIPTION_EVENT_MODULE
589 #define PA_SUBSCRIPTION_EVENT_CLIENT PA_SUBSCRIPTION_EVENT_CLIENT
590 #define PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE
591 #define PA_SUBSCRIPTION_EVENT_SERVER PA_SUBSCRIPTION_EVENT_SERVER
592 #define PA_SUBSCRIPTION_EVENT_AUTOLOAD PA_SUBSCRIPTION_EVENT_AUTOLOAD
593 #define PA_SUBSCRIPTION_EVENT_CARD PA_SUBSCRIPTION_EVENT_CARD
594 #define PA_SUBSCRIPTION_EVENT_FACILITY_MASK PA_SUBSCRIPTION_EVENT_FACILITY_MASK
595 #define PA_SUBSCRIPTION_EVENT_NEW PA_SUBSCRIPTION_EVENT_NEW
596 #define PA_SUBSCRIPTION_EVENT_CHANGE PA_SUBSCRIPTION_EVENT_CHANGE
597 #define PA_SUBSCRIPTION_EVENT_REMOVE PA_SUBSCRIPTION_EVENT_REMOVE
598 #define PA_SUBSCRIPTION_EVENT_TYPE_MASK PA_SUBSCRIPTION_EVENT_TYPE_MASK
599 
619 typedef struct pa_timing_info {
620  struct timeval timestamp;
643  int playing;
657  int64_t write_index;
668  int64_t read_index;
680  int64_t since_underrun;
687 
695 typedef struct pa_spawn_api {
696  void (*prefork)(void);
700  void (*postfork)(void);
704  void (*atfork)(void);
710 } pa_spawn_api;
711 
713 typedef enum pa_seek_mode {
726 
728 #define PA_SEEK_RELATIVE PA_SEEK_RELATIVE
729 #define PA_SEEK_ABSOLUTE PA_SEEK_ABSOLUTE
730 #define PA_SEEK_RELATIVE_ON_READ PA_SEEK_RELATIVE_ON_READ
731 #define PA_SEEK_RELATIVE_END PA_SEEK_RELATIVE_END
732 
735 typedef enum pa_sink_flags {
736  PA_SINK_NOFLAGS = 0x0000U,
743  PA_SINK_LATENCY = 0x0002U,
746  PA_SINK_HARDWARE = 0x0004U,
750  PA_SINK_NETWORK = 0x0008U,
775 #ifdef __INCLUDED_FROM_PULSE_AUDIO
776 
777  /* PRIVATE: Server-side values -- do not try to use these at client-side.
778  * The server will filter out these flags anyway, so you should never see
779  * these flags in sinks. */
780 
781  PA_SINK_SHARE_VOLUME_WITH_MASTER = 0x1000000U,
785  PA_SINK_DEFERRED_VOLUME = 0x2000000U,
788 #endif
789 
791 
793 #define PA_SINK_HW_VOLUME_CTRL PA_SINK_HW_VOLUME_CTRL
794 #define PA_SINK_LATENCY PA_SINK_LATENCY
795 #define PA_SINK_HARDWARE PA_SINK_HARDWARE
796 #define PA_SINK_NETWORK PA_SINK_NETWORK
797 #define PA_SINK_HW_MUTE_CTRL PA_SINK_HW_MUTE_CTRL
798 #define PA_SINK_DECIBEL_VOLUME PA_SINK_DECIBEL_VOLUME
799 #define PA_SINK_FLAT_VOLUME PA_SINK_FLAT_VOLUME
800 #define PA_SINK_DYNAMIC_LATENCY PA_SINK_DYNAMIC_LATENCY
801 #define PA_SINK_SET_FORMATS PA_SINK_SET_FORMATS
802 #ifdef __INCLUDED_FROM_PULSE_AUDIO
803 #define PA_SINK_CLIENT_FLAGS_MASK 0xFFFFFF
804 #endif
805 
809 typedef enum pa_sink_state { /* enum serialized in u8 */
823  /* PRIVATE: Server-side values -- DO NOT USE THIS ON THE CLIENT
824  * SIDE! These values are *not* considered part of the official PA
825  * API/ABI. If you use them your application might break when PA
826  * is upgraded. Also, please note that these values are not useful
827  * on the client side anyway. */
828 
829  PA_SINK_INIT = -2,
832  PA_SINK_UNLINKED = -3
837 
839 static inline int PA_SINK_IS_OPENED(pa_sink_state_t x) {
840  return x == PA_SINK_RUNNING || x == PA_SINK_IDLE;
841 }
842 
844 static inline int PA_SINK_IS_RUNNING(pa_sink_state_t x) {
845  return x == PA_SINK_RUNNING;
846 }
847 
849 #define PA_SINK_INVALID_STATE PA_SINK_INVALID_STATE
850 #define PA_SINK_RUNNING PA_SINK_RUNNING
851 #define PA_SINK_IDLE PA_SINK_IDLE
852 #define PA_SINK_SUSPENDED PA_SINK_SUSPENDED
853 #define PA_SINK_INIT PA_SINK_INIT
854 #define PA_SINK_UNLINKED PA_SINK_UNLINKED
855 #define PA_SINK_IS_OPENED PA_SINK_IS_OPENED
856 
859 typedef enum pa_source_flags {
860  PA_SOURCE_NOFLAGS = 0x0000U,
867  PA_SOURCE_LATENCY = 0x0002U,
874  PA_SOURCE_NETWORK = 0x0008U,
894 #ifdef __INCLUDED_FROM_PULSE_AUDIO
895 
896  /* PRIVATE: Server-side values -- do not try to use these at client-side.
897  * The server will filter out these flags anyway, so you should never see
898  * these flags in sources. */
899 
900  PA_SOURCE_SHARE_VOLUME_WITH_MASTER = 0x1000000U,
904  PA_SOURCE_DEFERRED_VOLUME = 0x2000000U,
906 #endif
908 
910 #define PA_SOURCE_HW_VOLUME_CTRL PA_SOURCE_HW_VOLUME_CTRL
911 #define PA_SOURCE_LATENCY PA_SOURCE_LATENCY
912 #define PA_SOURCE_HARDWARE PA_SOURCE_HARDWARE
913 #define PA_SOURCE_NETWORK PA_SOURCE_NETWORK
914 #define PA_SOURCE_HW_MUTE_CTRL PA_SOURCE_HW_MUTE_CTRL
915 #define PA_SOURCE_DECIBEL_VOLUME PA_SOURCE_DECIBEL_VOLUME
916 #define PA_SOURCE_DYNAMIC_LATENCY PA_SOURCE_DYNAMIC_LATENCY
917 #define PA_SOURCE_FLAT_VOLUME PA_SOURCE_FLAT_VOLUME
918 #ifdef __INCLUDED_FROM_PULSE_AUDIO
919 #define PA_SOURCE_CLIENT_FLAGS_MASK 0xFFFFFF
920 #endif
921 
925 typedef enum pa_source_state {
939  /* PRIVATE: Server-side values -- DO NOT USE THIS ON THE CLIENT
940  * SIDE! These values are *not* considered part of the official PA
941  * API/ABI. If you use them your application might break when PA
942  * is upgraded. Also, please note that these values are not useful
943  * on the client side anyway. */
944 
945  PA_SOURCE_INIT = -2,
948  PA_SOURCE_UNLINKED = -3
953 
955 static inline int PA_SOURCE_IS_OPENED(pa_source_state_t x) {
956  return x == PA_SOURCE_RUNNING || x == PA_SOURCE_IDLE;
957 }
958 
960 static inline int PA_SOURCE_IS_RUNNING(pa_source_state_t x) {
961  return x == PA_SOURCE_RUNNING;
962 }
963 
965 #define PA_SOURCE_INVALID_STATE PA_SOURCE_INVALID_STATE
966 #define PA_SOURCE_RUNNING PA_SOURCE_RUNNING
967 #define PA_SOURCE_IDLE PA_SOURCE_IDLE
968 #define PA_SOURCE_SUSPENDED PA_SOURCE_SUSPENDED
969 #define PA_SOURCE_INIT PA_SOURCE_INIT
970 #define PA_SOURCE_UNLINKED PA_SOURCE_UNLINKED
971 #define PA_SOURCE_IS_OPENED PA_SOURCE_IS_OPENED
972 
975 typedef void (*pa_free_cb_t)(void *p);
976 
980 #define PA_STREAM_EVENT_REQUEST_CORK "request-cork"
981 
985 #define PA_STREAM_EVENT_REQUEST_UNCORK "request-uncork"
986 
992 #define PA_STREAM_EVENT_FORMAT_LOST "format-lost"
993 
996 typedef enum pa_port_available {
1001 
1003 #define PA_PORT_AVAILABLE_UNKNOWN PA_PORT_AVAILABLE_UNKNOWN
1004 #define PA_PORT_AVAILABLE_NO PA_PORT_AVAILABLE_NO
1005 #define PA_PORT_AVAILABLE_YES PA_PORT_AVAILABLE_YES
1006 
1009 PA_C_DECL_END
1010 
1011 #endif
Extension does not exist.
Definition: def.h:438
Other global server changes.
Definition: def.h:502
Disabled autospawning of the PulseAudio daemon if required.
Definition: def.h:115
Flag to pass when no specific options are needed (used to avoid casting)
Definition: def.h:170
pa_context_flags
Some special flags for contexts.
Definition: def.h:112
Sink events.
Definition: def.h:481
Output direction.
Definition: def.h:132
enum pa_context_flags pa_context_flags_t
Some special flags for contexts.
Unknown command.
Definition: def.h:419
enum pa_sink_state pa_sink_state_t
Sink state.
Invalid direction.
Definition: def.h:154
void(* prefork)(void)
Is called just before the fork in the parent process.
Definition: def.h:696
enum pa_operation_state pa_operation_state_t
The state of an operation.
Bad state.
Definition: def.h:432
Record stream.
Definition: def.h:156
A property of the object was modified.
Definition: def.h:557
Connection refused.
Definition: def.h:423
Supports latency querying.
Definition: def.h:743
Interpolate the latency for this stream.
Definition: def.h:177
enum pa_stream_state pa_stream_state_t
The state of a stream.
Is a hardware source of some kind, in contrast to &quot;virtual&quot;/software source.
Definition: def.h:870
void(* pa_free_cb_t)(void *p)
A generic free() like callback prototype.
Definition: def.h:975
An object was removed.
Definition: def.h:560
This port is available, likely because the jack is plugged in.
Definition: def.h:999
No events.
Definition: def.h:478
The connection failed or was disconnected.
Definition: def.h:45
Operation not supported.
Definition: def.h:436
Don&#39;t fail if the daemon is not available when pa_context_connect() is called, instead enter PA_CONTE...
Definition: def.h:117
pa_sink_flags
Special sink flags.
Definition: def.h:735
Allow dynamic changing of the sampling rate during playback with pa_stream_update_sample_rate().
Definition: def.h:254
int synchronized_clocks
Non-zero if the local and the remote machine have synchronized clocks.
Definition: def.h:623
No authorization key.
Definition: def.h:426
struct pa_buffer_attr pa_buffer_attr
Playback and record buffer metrics.
struct pa_spawn_api pa_spawn_api
A structure for the spawn api.
Is a networked source of some kind.
Definition: def.h:874
Event type: Global server change, only occurring with PA_SUBSCRIPTION_EVENT_CHANGE.
Definition: def.h:540
Catch all events.
Definition: def.h:513
Event type: Sink.
Definition: def.h:519
enum pa_source_flags pa_source_flags_t
Special source flags.
The stream is established, you may pass audio data to it now.
Definition: def.h:73
Card events.
Definition: def.h:510
If set timing update requests are issued periodically automatically.
Definition: def.h:201
Seek relatively to the start of the buffer queue.
Definition: def.h:717
Obsolete functionality.
Definition: def.h:439
If set this stream won&#39;t be taken into account when we it is checked whether the device this stream i...
Definition: def.h:293
Flag to pass when no specific options are needed (used to avoid casting)
Definition: def.h:860
Sample upload stream.
Definition: def.h:157
Create the stream corked, requiring an explicit pa_stream_cork() call to uncork it.
Definition: def.h:173
No error.
Definition: def.h:417
A structure for the spawn api.
Definition: def.h:695
Access failure.
Definition: def.h:418
The stream has been terminated cleanly.
Definition: def.h:75
pa_sink_state
Sink state.
Definition: def.h:809
enum pa_source_state pa_source_state_t
Source state.
struct timeval timestamp
The time when this timing info structure was current.
Definition: def.h:620
Playback stream.
Definition: def.h:155
pa_usec_t sink_usec
Time in usecs a sample takes to be played on the sink.
Definition: def.h:630
Missing implementation.
Definition: def.h:440
Is a hardware sink of some kind, in contrast to &quot;virtual&quot;/software sinks.
Definition: def.h:746
The stream is being created.
Definition: def.h:72
pa_usec_t configured_sink_usec
The configured latency for the sink.
Definition: def.h:674
Used to tag content that will be rendered by passthrough sinks.
Definition: def.h:317
An IO error happened.
Definition: def.h:442
enum pa_direction pa_direction_t
Direction bitfield - while we currently do not expose anything bidirectional, one should test against...
Enable compatibility mode for legacy clients that rely on a &quot;classic&quot; hardware device fragment-style ...
Definition: def.h:276
Input direction.
Definition: def.h:133
This port does not support jack detection.
Definition: def.h:997
pa_stream_direction
The direction of a pa_stream object.
Definition: def.h:153
uint32_t tlength
Playback only: target length of the buffer.
Definition: def.h:360
Use the sample format of the sink/device this stream is being connected to, and possibly ignore the f...
Definition: def.h:220
int playing
Non-zero when the stream is currently not underrun and data is being passed on to the device...
Definition: def.h:643
Sample cache events.
Definition: def.h:499
Flag to pass when no specific options are needed (used to avoid casting)
Definition: def.h:113
Event type: Card.
Definition: def.h:548
pa_subscription_mask
Subscription event mask, as used by pa_context_subscribe()
Definition: def.h:477
uint64_t pa_usec_t
Type for usec specifications (unsigned).
Definition: sample.h:255
pa_direction
Direction bitfield - while we currently do not expose anything bidirectional, one should test against...
Definition: def.h:131
When suspended, actual sink access can be closed, for instance.
Definition: def.h:819
Don&#39;t remap channels by their name, instead map them simply by their index.
Definition: def.h:208
Entity killed.
Definition: def.h:429
pa_subscription_event_type
Subscription event types, as used by pa_context_subscribe()
Definition: def.h:518
Recording device.
Definition: def.h:144
A structure for all kinds of timing information of a stream.
Definition: def.h:619
The client is authorizing itself to the daemon.
Definition: def.h:42
uint32_t fragsize
Recording only: fragment size.
Definition: def.h:399
enum pa_context_state pa_context_state_t
The state of a connection context.
Use the number of channels and the channel map of the sink, and possibly ignore the number of channel...
Definition: def.h:238
Seek relatively to the read index.
Definition: def.h:720
pa_seek_mode
Seek type for pa_stream_write().
Definition: def.h:713
enum pa_stream_direction pa_stream_direction_t
The direction of a pa_stream object.
Don&#39;t force the time to increase monotonically.
Definition: def.h:189
Supports hardware mute control.
Definition: def.h:877
This port is not available, likely because the jack is not plugged in.
Definition: def.h:998
No such entity.
Definition: def.h:422
The latency can be adjusted dynamically depending on the needs of the connected streams.
Definition: def.h:766
void(* atfork)(void)
Is called immediately after the fork in the child process.
Definition: def.h:704
Protocol error.
Definition: def.h:424
Device or resource busy.
Definition: def.h:443
Not really an error but the first invalid error code.
Definition: def.h:444
The operation has been cancelled.
Definition: def.h:98
enum pa_sink_flags pa_sink_flags_t
Special sink flags.
This sink is in flat volume mode, i.e.
Definition: def.h:762
If the sink/source this stream is connected to is suspended during the creation of this stream...
Definition: def.h:304
Client events.
Definition: def.h:496
Playback and record buffer metrics.
Definition: def.h:354
enum pa_seek_mode pa_seek_mode_t
Seek type for pa_stream_write().
int64_t read_index
Current read index into the playback buffer in bytes.
Definition: def.h:668
enum pa_error_code pa_error_code_t
Error values as used by pa_context_errno().
Sink input events.
Definition: def.h:487
Event type: Source output.
Definition: def.h:528
Seek relatively to the write index.
Definition: def.h:714
int64_t since_underrun
Bytes that were handed to the sink since the last underrun happened, or since playback started again ...
Definition: def.h:680
Invalid server.
Definition: def.h:430
This state is used when the server does not support sink state introspection.
Definition: def.h:810
Find peaks instead of resampling.
Definition: def.h:260
The operation is still running.
Definition: def.h:96
Event type: Sample cache item.
Definition: def.h:537
pa_device_type
The type of device we are dealing with.
Definition: def.h:142
Module initialization failed.
Definition: def.h:431
pa_source_state
Source state.
Definition: def.h:925
struct pa_timing_info pa_timing_info
A structure for all kinds of timing information of a stream.
The stream is not yet connected to any sink or source.
Definition: def.h:71
uint32_t prebuf
Playback only: pre-buffering.
Definition: def.h:378
Playback device.
Definition: def.h:143
Connection terminated.
Definition: def.h:428
Source output events.
Definition: def.h:490
A mask to extract the event type from an event value.
Definition: def.h:551
Module events.
Definition: def.h:493
The connection is established, the context is ready to execute operations.
Definition: def.h:44
An error occurred that made the stream invalid.
Definition: def.h:74
Try to adjust the latency of the sink/source based on the requested buffer metrics and adjust buffer ...
Definition: def.h:269
This source is in flat volume mode, i.e.
Definition: def.h:890
When suspended, actual source access can be closed, for instance.
Definition: def.h:935
Supports hardware mute control.
Definition: def.h:753
Entity exists.
Definition: def.h:421
int64_t write_index
Current write index into the playback buffer in bytes.
Definition: def.h:657
The error code was unknown to the client.
Definition: def.h:437
pa_usec_t transport_usec
Estimated time in usecs a sample takes to be transferred to/from the daemon.
Definition: def.h:639
Supports hardware volume control.
Definition: def.h:863
Define header version.
A connection is being established.
Definition: def.h:41
pa_usec_t configured_source_usec
The configured latency for the source.
Definition: def.h:677
Event type: Source.
Definition: def.h:522
Timeout.
Definition: def.h:425
Internal error.
Definition: def.h:427
Is a networked sink of some kind.
Definition: def.h:750
Don&#39;t allow moving of this stream to another sink/device.
Definition: def.h:245
Constants and routines for sample type handling.
If a volume is passed when this stream is created, consider it relative to the sink&#39;s current volume...
Definition: def.h:310
pa_stream_state
The state of a stream.
Definition: def.h:70
Incompatible protocol version.
Definition: def.h:434
Event type: Client.
Definition: def.h:534
enum pa_subscription_mask pa_subscription_mask_t
Subscription event mask, as used by pa_context_subscribe()
A new object was created.
Definition: def.h:554
int read_index_corrupt
Non-zero if read_index is not up-to-date because a local pause or flush request that corrupted it has...
Definition: def.h:663
No data.
Definition: def.h:433
This state is used when the server does not support source state introspection.
Definition: def.h:926
A mask to extract the event operation from an event value.
Definition: def.h:563
pa_port_available
Port availability / jack detection status.
Definition: def.h:996
Data too large.
Definition: def.h:435
Source events.
Definition: def.h:484
Running, sink is playing and used by at least one non-corked sink-input.
Definition: def.h:813
enum pa_stream_flags pa_stream_flags_t
Some special flags for stream connections.
pa_stream_flags
Some special flags for stream connections.
Definition: def.h:168
Use the sample rate of the sink, and possibly ignore the rate the sample spec contains.
Definition: def.h:232
Event type: Sink input.
Definition: def.h:525
The context hasn&#39;t been connected yet.
Definition: def.h:40
Seek relatively to the current end of the buffer queue.
Definition: def.h:723
The client is passing its application name to the daemon.
Definition: def.h:43
enum pa_subscription_event_type pa_subscription_event_type_t
Subscription event types, as used by pa_context_subscribe()
The latency can be adjusted dynamically depending on the needs of the connected streams.
Definition: def.h:886
Volume can be translated to dB with pa_sw_volume_to_dB().
Definition: def.h:757
pa_usec_t source_usec
Time in usecs a sample takes from being recorded to being delivered to the application.
Definition: def.h:635
Invalid argument.
Definition: def.h:420
When remapping channels by name, don&#39;t upmix or downmix them to related channels. ...
Definition: def.h:214
int write_index_corrupt
Non-zero if write_index is not up-to-date because a local write command that corrupted it has been is...
Definition: def.h:650
pa_operation_state
The state of an operation.
Definition: def.h:95
void(* postfork)(void)
Is called immediately after the fork in the parent process.
Definition: def.h:700
Running, source is recording and used by at least one non-corked source-output.
Definition: def.h:929
Create in muted state.
Definition: def.h:263
The sink allows setting what formats are supported by the connected hardware.
Definition: def.h:770
pa_context_state
The state of a connection context.
Definition: def.h:39
Supports latency querying.
Definition: def.h:867
When idle, the source is still recording but there is no non-corked source-output.
Definition: def.h:932
enum pa_port_available pa_port_available_t
Port availability / jack detection status.
pa_source_flags
Special source flags.
Definition: def.h:859
pa_error_code
Error values as used by pa_context_errno().
Definition: def.h:416
Create in unmuted state.
Definition: def.h:298
The caller forked without calling execve() and tried to reuse the context.
Definition: def.h:441
Volume can be translated to dB with pa_sw_volume_to_dB().
Definition: def.h:881
When idle, the sink is playing but there is no non-corked sink-input attached to it.
Definition: def.h:816
enum pa_device_type pa_device_type_t
The type of device we are dealing with.
Supports hardware volume control.
Definition: def.h:739
uint32_t minreq
Playback only: minimum request.
Definition: def.h:389
Event type: Module.
Definition: def.h:531
The connection was terminated cleanly.
Definition: def.h:46
Flag to pass when no specific options are needed (used to avoid casting)
Definition: def.h:736
uint32_t maxlength
Maximum length of the buffer in bytes.
Definition: def.h:355
The operation has been completed.
Definition: def.h:97