PulseAudio
3.0.0-7.1.mga3
Main Page
Related Pages
Data Structures
Files
Examples
File List
Globals
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
{
40
PA_CONTEXT_UNCONNECTED
,
41
PA_CONTEXT_CONNECTING
,
42
PA_CONTEXT_AUTHORIZING
,
43
PA_CONTEXT_SETTING_NAME
,
44
PA_CONTEXT_READY
,
45
PA_CONTEXT_FAILED
,
46
PA_CONTEXT_TERMINATED
47
}
pa_context_state_t
;
48
50
static
inline
int
PA_CONTEXT_IS_GOOD
(
pa_context_state_t
x) {
51
return
52
x ==
PA_CONTEXT_CONNECTING
||
53
x ==
PA_CONTEXT_AUTHORIZING
||
54
x ==
PA_CONTEXT_SETTING_NAME
||
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
{
71
PA_STREAM_UNCONNECTED
,
72
PA_STREAM_CREATING
,
73
PA_STREAM_READY
,
74
PA_STREAM_FAILED
,
75
PA_STREAM_TERMINATED
76
}
pa_stream_state_t
;
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
{
96
PA_OPERATION_RUNNING
,
97
PA_OPERATION_DONE
,
98
PA_OPERATION_CANCELLED
99
}
pa_operation_state_t
;
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
{
113
PA_CONTEXT_NOFLAGS
= 0x0000U,
115
PA_CONTEXT_NOAUTOSPAWN
= 0x0001U,
117
PA_CONTEXT_NOFAIL
= 0x0002U
119
}
pa_context_flags_t
;
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
{
132
PA_DIRECTION_OUTPUT
= 0x0001U,
133
PA_DIRECTION_INPUT
= 0x0002U
134
}
pa_direction_t
;
135
137
#define PA_DIRECTION_OUTPUT PA_DIRECTION_OUTPUT
138
#define PA_DIRECTION_INPUT PA_DIRECTION_INPUT
139
142
typedef
enum
pa_device_type
{
143
PA_DEVICE_TYPE_SINK
,
144
PA_DEVICE_TYPE_SOURCE
145
}
pa_device_type_t
;
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
{
154
PA_STREAM_NODIRECTION
,
155
PA_STREAM_PLAYBACK
,
156
PA_STREAM_RECORD
,
157
PA_STREAM_UPLOAD
158
}
pa_stream_direction_t
;
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,
173
PA_STREAM_START_CORKED
= 0x0001U,
177
PA_STREAM_INTERPOLATE_TIMING
= 0x0002U,
189
PA_STREAM_NOT_MONOTONIC
= 0x0004U,
201
PA_STREAM_AUTO_TIMING_UPDATE
= 0x0008U,
208
PA_STREAM_NO_REMAP_CHANNELS
= 0x0010U,
214
PA_STREAM_NO_REMIX_CHANNELS
= 0x0020U,
220
PA_STREAM_FIX_FORMAT
= 0x0040U,
232
PA_STREAM_FIX_RATE
= 0x0080U,
238
PA_STREAM_FIX_CHANNELS
= 0x0100,
245
PA_STREAM_DONT_MOVE
= 0x0200U,
254
PA_STREAM_VARIABLE_RATE
= 0x0400U,
260
PA_STREAM_PEAK_DETECT
= 0x0800U,
263
PA_STREAM_START_MUTED
= 0x1000U,
269
PA_STREAM_ADJUST_LATENCY
= 0x2000U,
276
PA_STREAM_EARLY_REQUESTS
= 0x4000U,
293
PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND
= 0x8000U,
298
PA_STREAM_START_UNMUTED
= 0x10000U,
304
PA_STREAM_FAIL_ON_SUSPEND
= 0x20000U,
310
PA_STREAM_RELATIVE_VOLUME
= 0x40000U,
317
PA_STREAM_PASSTHROUGH
= 0x80000U
322
}
pa_stream_flags_t
;
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
;
413
}
pa_buffer_attr
;
414
416
typedef
enum
pa_error_code
{
417
PA_OK
= 0,
418
PA_ERR_ACCESS
,
419
PA_ERR_COMMAND
,
420
PA_ERR_INVALID
,
421
PA_ERR_EXIST
,
422
PA_ERR_NOENTITY
,
423
PA_ERR_CONNECTIONREFUSED
,
424
PA_ERR_PROTOCOL
,
425
PA_ERR_TIMEOUT
,
426
PA_ERR_AUTHKEY
,
427
PA_ERR_INTERNAL
,
428
PA_ERR_CONNECTIONTERMINATED
,
429
PA_ERR_KILLED
,
430
PA_ERR_INVALIDSERVER
,
431
PA_ERR_MODINITFAILED
,
432
PA_ERR_BADSTATE
,
433
PA_ERR_NODATA
,
434
PA_ERR_VERSION
,
435
PA_ERR_TOOLARGE
,
436
PA_ERR_NOTSUPPORTED
,
437
PA_ERR_UNKNOWN
,
438
PA_ERR_NOEXTENSION
,
439
PA_ERR_OBSOLETE
,
440
PA_ERR_NOTIMPLEMENTED
,
441
PA_ERR_FORKED
,
442
PA_ERR_IO
,
443
PA_ERR_BUSY
,
444
PA_ERR_MAX
445
}
pa_error_code_t
;
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
{
478
PA_SUBSCRIPTION_MASK_NULL
= 0x0000U,
481
PA_SUBSCRIPTION_MASK_SINK
= 0x0001U,
484
PA_SUBSCRIPTION_MASK_SOURCE
= 0x0002U,
487
PA_SUBSCRIPTION_MASK_SINK_INPUT
= 0x0004U,
490
PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT
= 0x0008U,
493
PA_SUBSCRIPTION_MASK_MODULE
= 0x0010U,
496
PA_SUBSCRIPTION_MASK_CLIENT
= 0x0020U,
499
PA_SUBSCRIPTION_MASK_SAMPLE_CACHE
= 0x0040U,
502
PA_SUBSCRIPTION_MASK_SERVER
= 0x0080U,
506
PA_SUBSCRIPTION_MASK_AUTOLOAD
= 0x0100U,
510
PA_SUBSCRIPTION_MASK_CARD
= 0x0200U,
513
PA_SUBSCRIPTION_MASK_ALL
= 0x02ffU
515
}
pa_subscription_mask_t
;
516
518
typedef
enum
pa_subscription_event_type
{
519
PA_SUBSCRIPTION_EVENT_SINK
= 0x0000U,
522
PA_SUBSCRIPTION_EVENT_SOURCE
= 0x0001U,
525
PA_SUBSCRIPTION_EVENT_SINK_INPUT
= 0x0002U,
528
PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT
= 0x0003U,
531
PA_SUBSCRIPTION_EVENT_MODULE
= 0x0004U,
534
PA_SUBSCRIPTION_EVENT_CLIENT
= 0x0005U,
537
PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE
= 0x0006U,
540
PA_SUBSCRIPTION_EVENT_SERVER
= 0x0007U,
544
PA_SUBSCRIPTION_EVENT_AUTOLOAD
= 0x0008U,
548
PA_SUBSCRIPTION_EVENT_CARD
= 0x0009U,
551
PA_SUBSCRIPTION_EVENT_FACILITY_MASK
= 0x000FU,
554
PA_SUBSCRIPTION_EVENT_NEW
= 0x0000U,
557
PA_SUBSCRIPTION_EVENT_CHANGE
= 0x0010U,
560
PA_SUBSCRIPTION_EVENT_REMOVE
= 0x0020U,
563
PA_SUBSCRIPTION_EVENT_TYPE_MASK
= 0x0030U
566
}
pa_subscription_event_type_t
;
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
;
623
int
synchronized_clocks
;
630
pa_usec_t
sink_usec
;
635
pa_usec_t
source_usec
;
639
pa_usec_t
transport_usec
;
643
int
playing
;
650
int
write_index_corrupt
;
657
int64_t
write_index
;
663
int
read_index_corrupt
;
668
int64_t
read_index
;
674
pa_usec_t
configured_sink_usec
;
677
pa_usec_t
configured_source_usec
;
680
int64_t
since_underrun
;
686
}
pa_timing_info
;
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
{
714
PA_SEEK_RELATIVE
= 0,
717
PA_SEEK_ABSOLUTE
= 1,
720
PA_SEEK_RELATIVE_ON_READ
= 2,
723
PA_SEEK_RELATIVE_END
= 3
725
}
pa_seek_mode_t
;
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,
739
PA_SINK_HW_VOLUME_CTRL
= 0x0001U,
743
PA_SINK_LATENCY
= 0x0002U,
746
PA_SINK_HARDWARE
= 0x0004U,
750
PA_SINK_NETWORK
= 0x0008U,
753
PA_SINK_HW_MUTE_CTRL
= 0x0010U,
757
PA_SINK_DECIBEL_VOLUME
= 0x0020U,
762
PA_SINK_FLAT_VOLUME
= 0x0040U,
766
PA_SINK_DYNAMIC_LATENCY
= 0x0080U,
770
PA_SINK_SET_FORMATS
= 0x0100U,
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
790
}
pa_sink_flags_t
;
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 */
810
PA_SINK_INVALID_STATE
= -1,
813
PA_SINK_RUNNING
= 0,
816
PA_SINK_IDLE
= 1,
819
PA_SINK_SUSPENDED
= 2,
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
836
}
pa_sink_state_t
;
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,
863
PA_SOURCE_HW_VOLUME_CTRL
= 0x0001U,
867
PA_SOURCE_LATENCY
= 0x0002U,
870
PA_SOURCE_HARDWARE
= 0x0004U,
874
PA_SOURCE_NETWORK
= 0x0008U,
877
PA_SOURCE_HW_MUTE_CTRL
= 0x0010U,
881
PA_SOURCE_DECIBEL_VOLUME
= 0x0020U,
886
PA_SOURCE_DYNAMIC_LATENCY
= 0x0040U,
890
PA_SOURCE_FLAT_VOLUME
= 0x0080U,
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
907
}
pa_source_flags_t
;
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
{
926
PA_SOURCE_INVALID_STATE
= -1,
929
PA_SOURCE_RUNNING
= 0,
932
PA_SOURCE_IDLE
= 1,
935
PA_SOURCE_SUSPENDED
= 2,
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
952
}
pa_source_state_t
;
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
{
997
PA_PORT_AVAILABLE_UNKNOWN
= 0,
998
PA_PORT_AVAILABLE_NO
= 1,
999
PA_PORT_AVAILABLE_YES
= 2,
1000
}
pa_port_available_t
;
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
src
pulse
def.h
Generated on Sat Nov 1 2014 11:17:32 for PulseAudio by
1.8.3