PulseAudio  6.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, see <http://www.gnu.org/licenses/>.
22 ***/
23 
24 #include <inttypes.h>
25 #include <sys/time.h>
26 
27 #include <pulse/cdecl.h>
28 #include <pulse/sample.h>
29 #include <pulse/version.h>
30 
34 PA_C_DECL_BEGIN
35 
37 typedef enum pa_context_state {
46 
48 static inline int PA_CONTEXT_IS_GOOD(pa_context_state_t x) {
49  return
50  x == PA_CONTEXT_CONNECTING ||
53  x == PA_CONTEXT_READY;
54 }
55 
57 #define PA_CONTEXT_UNCONNECTED PA_CONTEXT_UNCONNECTED
58 #define PA_CONTEXT_CONNECTING PA_CONTEXT_CONNECTING
59 #define PA_CONTEXT_AUTHORIZING PA_CONTEXT_AUTHORIZING
60 #define PA_CONTEXT_SETTING_NAME PA_CONTEXT_SETTING_NAME
61 #define PA_CONTEXT_READY PA_CONTEXT_READY
62 #define PA_CONTEXT_FAILED PA_CONTEXT_FAILED
63 #define PA_CONTEXT_TERMINATED PA_CONTEXT_TERMINATED
64 #define PA_CONTEXT_IS_GOOD PA_CONTEXT_IS_GOOD
65 
68 typedef enum pa_stream_state {
75 
77 static inline int PA_STREAM_IS_GOOD(pa_stream_state_t x) {
78  return
79  x == PA_STREAM_CREATING ||
80  x == PA_STREAM_READY;
81 }
82 
84 #define PA_STREAM_UNCONNECTED PA_STREAM_UNCONNECTED
85 #define PA_STREAM_CREATING PA_STREAM_CREATING
86 #define PA_STREAM_READY PA_STREAM_READY
87 #define PA_STREAM_FAILED PA_STREAM_FAILED
88 #define PA_STREAM_TERMINATED PA_STREAM_TERMINATED
89 #define PA_STREAM_IS_GOOD PA_STREAM_IS_GOOD
90 
93 typedef enum pa_operation_state {
103 
105 #define PA_OPERATION_RUNNING PA_OPERATION_RUNNING
106 #define PA_OPERATION_DONE PA_OPERATION_DONE
107 #define PA_OPERATION_CANCELED PA_OPERATION_CANCELLED
108 #define PA_OPERATION_CANCELLED PA_OPERATION_CANCELLED
109 
112 #define PA_INVALID_INDEX ((uint32_t) -1)
113 
115 typedef enum pa_context_flags {
123 
125 /* Allow clients to check with #ifdef for those flags */
126 #define PA_CONTEXT_NOAUTOSPAWN PA_CONTEXT_NOAUTOSPAWN
127 #define PA_CONTEXT_NOFAIL PA_CONTEXT_NOFAIL
128 
134 typedef enum pa_direction {
138 
140 #define PA_DIRECTION_OUTPUT PA_DIRECTION_OUTPUT
141 #define PA_DIRECTION_INPUT PA_DIRECTION_INPUT
142 
145 typedef enum pa_device_type {
149 
151 #define PA_DEVICE_TYPE_SINK PA_DEVICE_TYPE_SINK
152 #define PA_DEVICE_TYPE_SOURCE PA_DEVICE_TYPE_SOURCE
153 
156 typedef enum pa_stream_direction {
162 
164 #define PA_STREAM_NODIRECTION PA_STREAM_NODIRECTION
165 #define PA_STREAM_PLAYBACK PA_STREAM_PLAYBACK
166 #define PA_STREAM_RECORD PA_STREAM_RECORD
167 #define PA_STREAM_UPLOAD PA_STREAM_UPLOAD
168 
171 typedef enum pa_stream_flags {
172 
173  PA_STREAM_NOFLAGS = 0x0000U,
356 
359 /* English is an evil language */
360 #define PA_STREAM_NOT_MONOTONOUS PA_STREAM_NOT_MONOTONIC
361 
362 /* Allow clients to check with #ifdef for those flags */
363 #define PA_STREAM_START_CORKED PA_STREAM_START_CORKED
364 #define PA_STREAM_INTERPOLATE_TIMING PA_STREAM_INTERPOLATE_TIMING
365 #define PA_STREAM_NOT_MONOTONIC PA_STREAM_NOT_MONOTONIC
366 #define PA_STREAM_AUTO_TIMING_UPDATE PA_STREAM_AUTO_TIMING_UPDATE
367 #define PA_STREAM_NO_REMAP_CHANNELS PA_STREAM_NO_REMAP_CHANNELS
368 #define PA_STREAM_NO_REMIX_CHANNELS PA_STREAM_NO_REMIX_CHANNELS
369 #define PA_STREAM_FIX_FORMAT PA_STREAM_FIX_FORMAT
370 #define PA_STREAM_FIX_RATE PA_STREAM_FIX_RATE
371 #define PA_STREAM_FIX_CHANNELS PA_STREAM_FIX_CHANNELS
372 #define PA_STREAM_DONT_MOVE PA_STREAM_DONT_MOVE
373 #define PA_STREAM_VARIABLE_RATE PA_STREAM_VARIABLE_RATE
374 #define PA_STREAM_PEAK_DETECT PA_STREAM_PEAK_DETECT
375 #define PA_STREAM_START_MUTED PA_STREAM_START_MUTED
376 #define PA_STREAM_ADJUST_LATENCY PA_STREAM_ADJUST_LATENCY
377 #define PA_STREAM_EARLY_REQUESTS PA_STREAM_EARLY_REQUESTS
378 #define PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND
379 #define PA_STREAM_START_UNMUTED PA_STREAM_START_UNMUTED
380 #define PA_STREAM_FAIL_ON_SUSPEND PA_STREAM_FAIL_ON_SUSPEND
381 #define PA_STREAM_RELATIVE_VOLUME PA_STREAM_RELATIVE_VOLUME
382 #define PA_STREAM_PASSTHROUGH PA_STREAM_PASSTHROUGH
383 
387 typedef struct pa_buffer_attr {
388  uint32_t maxlength;
399  uint32_t tlength;
417  uint32_t prebuf;
428  uint32_t minreq;
438  uint32_t fragsize;
453 
455 typedef enum pa_error_code {
456  PA_OK = 0,
485 
487 #define PA_OK PA_OK
488 #define PA_ERR_ACCESS PA_ERR_ACCESS
489 #define PA_ERR_COMMAND PA_ERR_COMMAND
490 #define PA_ERR_INVALID PA_ERR_INVALID
491 #define PA_ERR_EXIST PA_ERR_EXIST
492 #define PA_ERR_NOENTITY PA_ERR_NOENTITY
493 #define PA_ERR_CONNECTIONREFUSED PA_ERR_CONNECTIONREFUSED
494 #define PA_ERR_PROTOCOL PA_ERR_PROTOCOL
495 #define PA_ERR_TIMEOUT PA_ERR_TIMEOUT
496 #define PA_ERR_AUTHKEY PA_ERR_AUTHKEY
497 #define PA_ERR_INTERNAL PA_ERR_INTERNAL
498 #define PA_ERR_CONNECTIONTERMINATED PA_ERR_CONNECTIONTERMINATED
499 #define PA_ERR_KILLED PA_ERR_KILLED
500 #define PA_ERR_INVALIDSERVER PA_ERR_INVALIDSERVER
501 #define PA_ERR_MODINITFAILED PA_ERR_MODINITFAILED
502 #define PA_ERR_BADSTATE PA_ERR_BADSTATE
503 #define PA_ERR_NODATA PA_ERR_NODATA
504 #define PA_ERR_VERSION PA_ERR_VERSION
505 #define PA_ERR_TOOLARGE PA_ERR_TOOLARGE
506 #define PA_ERR_NOTSUPPORTED PA_ERR_NOTSUPPORTED
507 #define PA_ERR_UNKNOWN PA_ERR_UNKNOWN
508 #define PA_ERR_NOEXTENSION PA_ERR_NOEXTENSION
509 #define PA_ERR_OBSOLETE PA_ERR_OBSOLETE
510 #define PA_ERR_NOTIMPLEMENTED PA_ERR_NOTIMPLEMENTED
511 #define PA_ERR_FORKED PA_ERR_FORKED
512 #define PA_ERR_MAX PA_ERR_MAX
513 
516 typedef enum pa_subscription_mask {
545  PA_SUBSCRIPTION_MASK_AUTOLOAD = 0x0100U,
555 
583  PA_SUBSCRIPTION_EVENT_AUTOLOAD = 0x0008U,
606 
608 #define pa_subscription_match_flags(m, t) (!!((m) & (1 << ((t) & PA_SUBSCRIPTION_EVENT_FACILITY_MASK))))
609 
611 #define PA_SUBSCRIPTION_MASK_NULL PA_SUBSCRIPTION_MASK_NULL
612 #define PA_SUBSCRIPTION_MASK_SINK PA_SUBSCRIPTION_MASK_SINK
613 #define PA_SUBSCRIPTION_MASK_SOURCE PA_SUBSCRIPTION_MASK_SOURCE
614 #define PA_SUBSCRIPTION_MASK_SINK_INPUT PA_SUBSCRIPTION_MASK_SINK_INPUT
615 #define PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT
616 #define PA_SUBSCRIPTION_MASK_MODULE PA_SUBSCRIPTION_MASK_MODULE
617 #define PA_SUBSCRIPTION_MASK_CLIENT PA_SUBSCRIPTION_MASK_CLIENT
618 #define PA_SUBSCRIPTION_MASK_SAMPLE_CACHE PA_SUBSCRIPTION_MASK_SAMPLE_CACHE
619 #define PA_SUBSCRIPTION_MASK_SERVER PA_SUBSCRIPTION_MASK_SERVER
620 #define PA_SUBSCRIPTION_MASK_AUTOLOAD PA_SUBSCRIPTION_MASK_AUTOLOAD
621 #define PA_SUBSCRIPTION_MASK_CARD PA_SUBSCRIPTION_MASK_CARD
622 #define PA_SUBSCRIPTION_MASK_ALL PA_SUBSCRIPTION_MASK_ALL
623 #define PA_SUBSCRIPTION_EVENT_SINK PA_SUBSCRIPTION_EVENT_SINK
624 #define PA_SUBSCRIPTION_EVENT_SOURCE PA_SUBSCRIPTION_EVENT_SOURCE
625 #define PA_SUBSCRIPTION_EVENT_SINK_INPUT PA_SUBSCRIPTION_EVENT_SINK_INPUT
626 #define PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT
627 #define PA_SUBSCRIPTION_EVENT_MODULE PA_SUBSCRIPTION_EVENT_MODULE
628 #define PA_SUBSCRIPTION_EVENT_CLIENT PA_SUBSCRIPTION_EVENT_CLIENT
629 #define PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE
630 #define PA_SUBSCRIPTION_EVENT_SERVER PA_SUBSCRIPTION_EVENT_SERVER
631 #define PA_SUBSCRIPTION_EVENT_AUTOLOAD PA_SUBSCRIPTION_EVENT_AUTOLOAD
632 #define PA_SUBSCRIPTION_EVENT_CARD PA_SUBSCRIPTION_EVENT_CARD
633 #define PA_SUBSCRIPTION_EVENT_FACILITY_MASK PA_SUBSCRIPTION_EVENT_FACILITY_MASK
634 #define PA_SUBSCRIPTION_EVENT_NEW PA_SUBSCRIPTION_EVENT_NEW
635 #define PA_SUBSCRIPTION_EVENT_CHANGE PA_SUBSCRIPTION_EVENT_CHANGE
636 #define PA_SUBSCRIPTION_EVENT_REMOVE PA_SUBSCRIPTION_EVENT_REMOVE
637 #define PA_SUBSCRIPTION_EVENT_TYPE_MASK PA_SUBSCRIPTION_EVENT_TYPE_MASK
638 
658 typedef struct pa_timing_info {
659  struct timeval timestamp;
682  int playing;
696  int64_t write_index;
707  int64_t read_index;
719  int64_t since_underrun;
726 
734 typedef struct pa_spawn_api {
735  void (*prefork)(void);
739  void (*postfork)(void);
743  void (*atfork)(void);
749 } pa_spawn_api;
750 
752 typedef enum pa_seek_mode {
765 
767 #define PA_SEEK_RELATIVE PA_SEEK_RELATIVE
768 #define PA_SEEK_ABSOLUTE PA_SEEK_ABSOLUTE
769 #define PA_SEEK_RELATIVE_ON_READ PA_SEEK_RELATIVE_ON_READ
770 #define PA_SEEK_RELATIVE_END PA_SEEK_RELATIVE_END
771 
774 typedef enum pa_sink_flags {
775  PA_SINK_NOFLAGS = 0x0000U,
782  PA_SINK_LATENCY = 0x0002U,
785  PA_SINK_HARDWARE = 0x0004U,
789  PA_SINK_NETWORK = 0x0008U,
814 #ifdef __INCLUDED_FROM_PULSE_AUDIO
815 
816  /* PRIVATE: Server-side values -- do not try to use these at client-side.
817  * The server will filter out these flags anyway, so you should never see
818  * these flags in sinks. */
819 
820  PA_SINK_SHARE_VOLUME_WITH_MASTER = 0x1000000U,
824  PA_SINK_DEFERRED_VOLUME = 0x2000000U,
827 #endif
828 
830 
832 #define PA_SINK_HW_VOLUME_CTRL PA_SINK_HW_VOLUME_CTRL
833 #define PA_SINK_LATENCY PA_SINK_LATENCY
834 #define PA_SINK_HARDWARE PA_SINK_HARDWARE
835 #define PA_SINK_NETWORK PA_SINK_NETWORK
836 #define PA_SINK_HW_MUTE_CTRL PA_SINK_HW_MUTE_CTRL
837 #define PA_SINK_DECIBEL_VOLUME PA_SINK_DECIBEL_VOLUME
838 #define PA_SINK_FLAT_VOLUME PA_SINK_FLAT_VOLUME
839 #define PA_SINK_DYNAMIC_LATENCY PA_SINK_DYNAMIC_LATENCY
840 #define PA_SINK_SET_FORMATS PA_SINK_SET_FORMATS
841 #ifdef __INCLUDED_FROM_PULSE_AUDIO
842 #define PA_SINK_CLIENT_FLAGS_MASK 0xFFFFFF
843 #endif
844 
848 typedef enum pa_sink_state { /* enum serialized in u8 */
862  /* PRIVATE: Server-side values -- DO NOT USE THIS ON THE CLIENT
863  * SIDE! These values are *not* considered part of the official PA
864  * API/ABI. If you use them your application might break when PA
865  * is upgraded. Also, please note that these values are not useful
866  * on the client side anyway. */
867 
868  PA_SINK_INIT = -2,
871  PA_SINK_UNLINKED = -3
876 
878 static inline int PA_SINK_IS_OPENED(pa_sink_state_t x) {
879  return x == PA_SINK_RUNNING || x == PA_SINK_IDLE;
880 }
881 
883 static inline int PA_SINK_IS_RUNNING(pa_sink_state_t x) {
884  return x == PA_SINK_RUNNING;
885 }
886 
888 #define PA_SINK_INVALID_STATE PA_SINK_INVALID_STATE
889 #define PA_SINK_RUNNING PA_SINK_RUNNING
890 #define PA_SINK_IDLE PA_SINK_IDLE
891 #define PA_SINK_SUSPENDED PA_SINK_SUSPENDED
892 #define PA_SINK_INIT PA_SINK_INIT
893 #define PA_SINK_UNLINKED PA_SINK_UNLINKED
894 #define PA_SINK_IS_OPENED PA_SINK_IS_OPENED
895 
898 typedef enum pa_source_flags {
899  PA_SOURCE_NOFLAGS = 0x0000U,
906  PA_SOURCE_LATENCY = 0x0002U,
913  PA_SOURCE_NETWORK = 0x0008U,
933 #ifdef __INCLUDED_FROM_PULSE_AUDIO
934 
935  /* PRIVATE: Server-side values -- do not try to use these at client-side.
936  * The server will filter out these flags anyway, so you should never see
937  * these flags in sources. */
938 
939  PA_SOURCE_SHARE_VOLUME_WITH_MASTER = 0x1000000U,
943  PA_SOURCE_DEFERRED_VOLUME = 0x2000000U,
945 #endif
947 
949 #define PA_SOURCE_HW_VOLUME_CTRL PA_SOURCE_HW_VOLUME_CTRL
950 #define PA_SOURCE_LATENCY PA_SOURCE_LATENCY
951 #define PA_SOURCE_HARDWARE PA_SOURCE_HARDWARE
952 #define PA_SOURCE_NETWORK PA_SOURCE_NETWORK
953 #define PA_SOURCE_HW_MUTE_CTRL PA_SOURCE_HW_MUTE_CTRL
954 #define PA_SOURCE_DECIBEL_VOLUME PA_SOURCE_DECIBEL_VOLUME
955 #define PA_SOURCE_DYNAMIC_LATENCY PA_SOURCE_DYNAMIC_LATENCY
956 #define PA_SOURCE_FLAT_VOLUME PA_SOURCE_FLAT_VOLUME
957 #ifdef __INCLUDED_FROM_PULSE_AUDIO
958 #define PA_SOURCE_CLIENT_FLAGS_MASK 0xFFFFFF
959 #endif
960 
964 typedef enum pa_source_state {
978  /* PRIVATE: Server-side values -- DO NOT USE THIS ON THE CLIENT
979  * SIDE! These values are *not* considered part of the official PA
980  * API/ABI. If you use them your application might break when PA
981  * is upgraded. Also, please note that these values are not useful
982  * on the client side anyway. */
983 
984  PA_SOURCE_INIT = -2,
987  PA_SOURCE_UNLINKED = -3
992 
994 static inline int PA_SOURCE_IS_OPENED(pa_source_state_t x) {
995  return x == PA_SOURCE_RUNNING || x == PA_SOURCE_IDLE;
996 }
997 
999 static inline int PA_SOURCE_IS_RUNNING(pa_source_state_t x) {
1000  return x == PA_SOURCE_RUNNING;
1001 }
1002 
1004 #define PA_SOURCE_INVALID_STATE PA_SOURCE_INVALID_STATE
1005 #define PA_SOURCE_RUNNING PA_SOURCE_RUNNING
1006 #define PA_SOURCE_IDLE PA_SOURCE_IDLE
1007 #define PA_SOURCE_SUSPENDED PA_SOURCE_SUSPENDED
1008 #define PA_SOURCE_INIT PA_SOURCE_INIT
1009 #define PA_SOURCE_UNLINKED PA_SOURCE_UNLINKED
1010 #define PA_SOURCE_IS_OPENED PA_SOURCE_IS_OPENED
1011 
1014 typedef void (*pa_free_cb_t)(void *p);
1015 
1019 #define PA_STREAM_EVENT_REQUEST_CORK "request-cork"
1020 
1024 #define PA_STREAM_EVENT_REQUEST_UNCORK "request-uncork"
1025 
1031 #define PA_STREAM_EVENT_FORMAT_LOST "format-lost"
1032 
1033 #ifndef __INCLUDED_FROM_PULSE_AUDIO
1034 
1036 typedef enum pa_port_available {
1041 
1043 #define PA_PORT_AVAILABLE_UNKNOWN PA_PORT_AVAILABLE_UNKNOWN
1044 #define PA_PORT_AVAILABLE_NO PA_PORT_AVAILABLE_NO
1045 #define PA_PORT_AVAILABLE_YES PA_PORT_AVAILABLE_YES
1046 
1048 #endif
1049 
1050 PA_C_DECL_END
1051 
1052 #endif
Extension does not exist.
Definition: def.h:477
Other global server changes.
Definition: def.h:541
Disabled autospawning of the PulseAudio daemon if required.
Definition: def.h:118
Flag to pass when no specific options are needed (used to avoid casting)
Definition: def.h:173
pa_context_flags
Some special flags for contexts.
Definition: def.h:115
Sink events.
Definition: def.h:520
Output direction.
Definition: def.h:135
enum pa_context_flags pa_context_flags_t
Some special flags for contexts.
Unknown command.
Definition: def.h:458
enum pa_sink_state pa_sink_state_t
Sink state.
Invalid direction.
Definition: def.h:157
void(* prefork)(void)
Is called just before the fork in the parent process.
Definition: def.h:735
enum pa_operation_state pa_operation_state_t
The state of an operation.
Bad state.
Definition: def.h:471
Record stream.
Definition: def.h:159
A property of the object was modified.
Definition: def.h:596
Connection refused.
Definition: def.h:462
Supports latency querying.
Definition: def.h:782
Interpolate the latency for this stream.
Definition: def.h:180
enum pa_stream_state pa_stream_state_t
The state of a stream.
Is a hardware source of some kind, in contrast to "virtual"/software source.
Definition: def.h:909
void(* pa_free_cb_t)(void *p)
A generic free() like callback prototype.
Definition: def.h:1014
An object was removed.
Definition: def.h:599
This port is available, likely because the jack is plugged in.
Definition: def.h:1039
No events.
Definition: def.h:517
The connection failed or was disconnected.
Definition: def.h:43
Operation not supported.
Definition: def.h:475
Don't fail if the daemon is not available when pa_context_connect() is called, instead enter PA_CONTE...
Definition: def.h:120
pa_sink_flags
Special sink flags.
Definition: def.h:774
Allow dynamic changing of the sampling rate during playback with pa_stream_update_sample_rate().
Definition: def.h:287
int synchronized_clocks
Non-zero if the local and the remote machine have synchronized clocks.
Definition: def.h:662
No authentication key.
Definition: def.h:465
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:913
Event type: Global server change, only occurring with PA_SUBSCRIPTION_EVENT_CHANGE.
Definition: def.h:579
Catch all events.
Definition: def.h:552
Event type: Sink.
Definition: def.h:558
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:71
Card events.
Definition: def.h:549
If set timing update requests are issued periodically automatically.
Definition: def.h:204
Seek relatively to the start of the buffer queue.
Definition: def.h:756
Obsolete functionality.
Definition: def.h:478
If set this stream won't be taken into account when it is checked whether the device this stream is c...
Definition: def.h:326
Flag to pass when no specific options are needed (used to avoid casting)
Definition: def.h:899
Sample upload stream.
Definition: def.h:160
Create the stream corked, requiring an explicit pa_stream_cork() call to uncork it.
Definition: def.h:176
No error.
Definition: def.h:456
A structure for the spawn api.
Definition: def.h:734
Access failure.
Definition: def.h:457
The stream has been terminated cleanly.
Definition: def.h:73
pa_sink_state
Sink state.
Definition: def.h:848
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:659
Playback stream.
Definition: def.h:158
pa_usec_t sink_usec
Time in usecs a sample takes to be played on the sink.
Definition: def.h:669
Missing implementation.
Definition: def.h:479
Is a hardware sink of some kind, in contrast to "virtual"/software sinks.
Definition: def.h:785
The stream is being created.
Definition: def.h:70
pa_usec_t configured_sink_usec
The configured latency for the sink.
Definition: def.h:713
Used to tag content that will be rendered by passthrough sinks.
Definition: def.h:350
An IO error happened.
Definition: def.h:481
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 "classic" hardware device fragment-style ...
Definition: def.h:309
Input direction.
Definition: def.h:136
This port does not support jack detection.
Definition: def.h:1037
pa_stream_direction
The direction of a pa_stream object.
Definition: def.h:156
uint32_t tlength
Playback only: target length of the buffer.
Definition: def.h:399
Use the sample format of the sink/device this stream is being connected to, and possibly ignore the f...
Definition: def.h:223
int playing
Non-zero when the stream is currently not underrun and data is being passed on to the device...
Definition: def.h:682
Sample cache events.
Definition: def.h:538
Flag to pass when no specific options are needed (used to avoid casting)
Definition: def.h:116
Event type: Card.
Definition: def.h:587
pa_subscription_mask
Subscription event mask, as used by pa_context_subscribe()
Definition: def.h:516
uint64_t pa_usec_t
Type for usec specifications (unsigned).
Definition: sample.h:260
pa_direction
Direction bitfield - while we currently do not expose anything bidirectional, one should test against...
Definition: def.h:134
When suspended, actual sink access can be closed, for instance.
Definition: def.h:858
Don't remap channels by their name, instead map them simply by their index.
Definition: def.h:211
Entity killed.
Definition: def.h:468
pa_subscription_event_type
Subscription event types, as used by pa_context_subscribe()
Definition: def.h:557
Recording device.
Definition: def.h:147
A structure for all kinds of timing information of a stream.
Definition: def.h:658
The client is authorizing itself to the daemon.
Definition: def.h:40
uint32_t fragsize
Recording only: fragment size.
Definition: def.h:438
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:259
Seek relatively to the read index.
Definition: def.h:759
pa_seek_mode
Seek type for pa_stream_write().
Definition: def.h:752
enum pa_stream_direction pa_stream_direction_t
The direction of a pa_stream object.
Don't force the time to increase monotonically.
Definition: def.h:192
Supports hardware mute control.
Definition: def.h:916
This port is not available, likely because the jack is not plugged in.
Definition: def.h:1038
No such entity.
Definition: def.h:461
The latency can be adjusted dynamically depending on the needs of the connected streams.
Definition: def.h:805
void(* atfork)(void)
Is called immediately after the fork in the child process.
Definition: def.h:743
Protocol error.
Definition: def.h:463
Device or resource busy.
Definition: def.h:482
Not really an error but the first invalid error code.
Definition: def.h:483
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. always the maximum of the volume of all connected inputs...
Definition: def.h:801
If the sink/source this stream is connected to is suspended during the creation of this stream...
Definition: def.h:337
Client events.
Definition: def.h:535
Playback and record buffer metrics.
Definition: def.h:387
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:707
enum pa_error_code pa_error_code_t
Error values as used by pa_context_errno().
Sink input events.
Definition: def.h:526
Event type: Source output.
Definition: def.h:567
Seek relatively to the write index.
Definition: def.h:753
int64_t since_underrun
Bytes that were handed to the sink since the last underrun happened, or since playback started again ...
Definition: def.h:719
Invalid server.
Definition: def.h:469
This state is used when the server does not support sink state introspection.
Definition: def.h:849
Find peaks instead of resampling.
Definition: def.h:293
The operation is still running.
Definition: def.h:94
Event type: Sample cache item.
Definition: def.h:576
pa_device_type
The type of device we are dealing with.
Definition: def.h:145
Module initialization failed.
Definition: def.h:470
pa_source_state
Source state.
Definition: def.h:964
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:69
uint32_t prebuf
Playback only: pre-buffering.
Definition: def.h:417
Playback device.
Definition: def.h:146
Connection terminated.
Definition: def.h:467
Source output events.
Definition: def.h:529
A mask to extract the event type from an event value.
Definition: def.h:590
Module events.
Definition: def.h:532
The connection is established, the context is ready to execute operations.
Definition: def.h:42
An error occurred that made the stream invalid.
Definition: def.h:72
Try to adjust the latency of the sink/source based on the requested buffer metrics and adjust buffer ...
Definition: def.h:302
This source is in flat volume mode, i.e. always the maximum of the volume of all connected outputs...
Definition: def.h:929
When suspended, actual source access can be closed, for instance.
Definition: def.h:974
Supports hardware mute control.
Definition: def.h:792
Entity exists.
Definition: def.h:460
int64_t write_index
Current write index into the playback buffer in bytes.
Definition: def.h:696
The error code was unknown to the client.
Definition: def.h:476
pa_usec_t transport_usec
Estimated time in usecs a sample takes to be transferred to/from the daemon.
Definition: def.h:678
Supports hardware volume control.
Definition: def.h:902
Define header version.
A connection is being established.
Definition: def.h:39
pa_usec_t configured_source_usec
The configured latency for the source.
Definition: def.h:716
Event type: Source.
Definition: def.h:561
Timeout.
Definition: def.h:464
Internal error.
Definition: def.h:466
Is a networked sink of some kind.
Definition: def.h:789
Don't allow moving of this stream to another sink/device.
Definition: def.h:278
Constants and routines for sample type handling.
If a volume is passed when this stream is created, consider it relative to the sink's current volume...
Definition: def.h:343
pa_stream_state
The state of a stream.
Definition: def.h:68
Incompatible protocol version.
Definition: def.h:473
Event type: Client.
Definition: def.h:573
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:593
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:702
No data.
Definition: def.h:472
This state is used when the server does not support source state introspection.
Definition: def.h:965
A mask to extract the event operation from an event value.
Definition: def.h:602
pa_port_available
Port availability / jack detection status.
Definition: def.h:1036
Data too large.
Definition: def.h:474
Source events.
Definition: def.h:523
Running, sink is playing and used by at least one non-corked sink-input.
Definition: def.h:852
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:171
Use the sample rate of the sink, and possibly ignore the rate the sample spec contains.
Definition: def.h:244
Event type: Sink input.
Definition: def.h:564
The context hasn't been connected yet.
Definition: def.h:38
Seek relatively to the current end of the buffer queue.
Definition: def.h:762
The client is passing its application name to the daemon.
Definition: def.h:41
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:925
Volume can be translated to dB with pa_sw_volume_to_dB().
Definition: def.h:796
pa_usec_t source_usec
Time in usecs a sample takes from being recorded to being delivered to the application.
Definition: def.h:674
Invalid argument.
Definition: def.h:459
When remapping channels by name, don't upmix or downmix them to related channels. ...
Definition: def.h:217
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:689
pa_operation_state
The state of an operation.
Definition: def.h:93
void(* postfork)(void)
Is called immediately after the fork in the parent process.
Definition: def.h:739
Running, source is recording and used by at least one non-corked source-output.
Definition: def.h:968
Create in muted state.
Definition: def.h:296
The sink allows setting what formats are supported by the connected hardware.
Definition: def.h:809
pa_context_state
The state of a connection context.
Definition: def.h:37
Supports latency querying.
Definition: def.h:906
When idle, the source is still recording but there is no non-corked source-output.
Definition: def.h:971
enum pa_port_available pa_port_available_t
Port availability / jack detection status.
pa_source_flags
Special source flags.
Definition: def.h:898
pa_error_code
Error values as used by pa_context_errno().
Definition: def.h:455
Create in unmuted state.
Definition: def.h:331
The caller forked without calling execve() and tried to reuse the context.
Definition: def.h:480
Volume can be translated to dB with pa_sw_volume_to_dB().
Definition: def.h:920
When idle, the sink is playing but there is no non-corked sink-input attached to it.
Definition: def.h:855
enum pa_device_type pa_device_type_t
The type of device we are dealing with.
Supports hardware volume control.
Definition: def.h:778
uint32_t minreq
Playback only: minimum request.
Definition: def.h:428
Event type: Module.
Definition: def.h:570
The connection was terminated cleanly.
Definition: def.h:44
Flag to pass when no specific options are needed (used to avoid casting)
Definition: def.h:775
uint32_t maxlength
Maximum length of the buffer in bytes.
Definition: def.h:388
The operation has completed.
Definition: def.h:96