00001 #ifndef foodefhfoo
00002 #define foodefhfoo
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <inttypes.h>
00027 #include <sys/time.h>
00028 #include <time.h>
00029
00030 #include <pulse/cdecl.h>
00031 #include <pulse/sample.h>
00032 #include <pulse/version.h>
00033
00037 PA_C_DECL_BEGIN
00038
00040 typedef enum pa_context_state {
00041 PA_CONTEXT_UNCONNECTED,
00042 PA_CONTEXT_CONNECTING,
00043 PA_CONTEXT_AUTHORIZING,
00044 PA_CONTEXT_SETTING_NAME,
00045 PA_CONTEXT_READY,
00046 PA_CONTEXT_FAILED,
00047 PA_CONTEXT_TERMINATED
00048 } pa_context_state_t;
00049
00051 static inline int PA_CONTEXT_IS_GOOD(pa_context_state_t x) {
00052 return
00053 x == PA_CONTEXT_CONNECTING ||
00054 x == PA_CONTEXT_AUTHORIZING ||
00055 x == PA_CONTEXT_SETTING_NAME ||
00056 x == PA_CONTEXT_READY;
00057 }
00058
00060 #define PA_CONTEXT_UNCONNECTED PA_CONTEXT_UNCONNECTED
00061 #define PA_CONTEXT_CONNECTING PA_CONTEXT_CONNECTING
00062 #define PA_CONTEXT_AUTHORIZING PA_CONTEXT_AUTHORIZING
00063 #define PA_CONTEXT_SETTING_NAME PA_CONTEXT_SETTING_NAME
00064 #define PA_CONTEXT_READY PA_CONTEXT_READY
00065 #define PA_CONTEXT_FAILED PA_CONTEXT_FAILED
00066 #define PA_CONTEXT_IS_GOOD PA_CONTEXT_IS_GOOD
00067
00070 typedef enum pa_stream_state {
00071 PA_STREAM_UNCONNECTED,
00072 PA_STREAM_CREATING,
00073 PA_STREAM_READY,
00074 PA_STREAM_FAILED,
00075 PA_STREAM_TERMINATED
00076 } pa_stream_state_t;
00077
00079 static inline int PA_STREAM_IS_GOOD(pa_stream_state_t x) {
00080 return
00081 x == PA_STREAM_CREATING ||
00082 x == PA_STREAM_READY;
00083 }
00084
00086 #define PA_STREAM_UNCONNECTED PA_STREAM_UNCONNECTED
00087 #define PA_STREAM_CREATING PA_STREAM_CREATING
00088 #define PA_STREAM_READY PA_STREAM_READY
00089 #define PA_STREAM_FAILED PA_STREAM_FAILED
00090 #define PA_STREAM_TERMINATED PA_STREAM_TERMINATED
00091 #define PA_STREAM_IS_GOOD PA_STREAM_IS_GOOD
00092
00095 typedef enum pa_operation_state {
00096 PA_OPERATION_RUNNING,
00097 PA_OPERATION_DONE,
00098 PA_OPERATION_CANCELLED
00099 } pa_operation_state_t;
00100
00102 #define PA_OPERATION_RUNNING PA_OPERATION_RUNNING
00103 #define PA_OPERATION_DONE PA_OPERATION_DONE
00104 #define PA_OPERATION_CANCELED PA_OPERATION_CANCELLED
00105 #define PA_OPERATION_CANCELLED PA_OPERATION_CANCELLED
00106
00109 #define PA_INVALID_INDEX ((uint32_t) -1)
00110
00112 typedef enum pa_context_flags {
00113 PA_CONTEXT_NOFLAGS = 0x0000U,
00115 PA_CONTEXT_NOAUTOSPAWN = 0x0001U,
00117 PA_CONTEXT_NOFAIL = 0x0002U
00119 } pa_context_flags_t;
00120
00122
00123 #define PA_CONTEXT_NOAUTOSPAWN PA_CONTEXT_NOAUTOSPAWN
00124 #define PA_CONTEXT_NOFAIL PA_CONTEXT_NOFAIL
00125
00128 typedef enum pa_stream_direction {
00129 PA_STREAM_NODIRECTION,
00130 PA_STREAM_PLAYBACK,
00131 PA_STREAM_RECORD,
00132 PA_STREAM_UPLOAD
00133 } pa_stream_direction_t;
00134
00136 #define PA_STREAM_NODIRECTION PA_STREAM_NODIRECTION
00137 #define PA_STREAM_PLAYBACK PA_STREAM_PLAYBACK
00138 #define PA_STREAM_RECORD PA_STREAM_RECORD
00139 #define PA_STREAM_UPLOAD PA_STREAM_UPLOAD
00140
00143 typedef enum pa_stream_flags {
00144
00145 PA_STREAM_NOFLAGS = 0x0000U,
00148 PA_STREAM_START_CORKED = 0x0001U,
00152 PA_STREAM_INTERPOLATE_TIMING = 0x0002U,
00164 PA_STREAM_NOT_MONOTONIC = 0x0004U,
00176 PA_STREAM_AUTO_TIMING_UPDATE = 0x0008U,
00183 PA_STREAM_NO_REMAP_CHANNELS = 0x0010U,
00189 PA_STREAM_NO_REMIX_CHANNELS = 0x0020U,
00195 PA_STREAM_FIX_FORMAT = 0x0040U,
00207 PA_STREAM_FIX_RATE = 0x0080U,
00213 PA_STREAM_FIX_CHANNELS = 0x0100,
00220 PA_STREAM_DONT_MOVE = 0x0200U,
00229 PA_STREAM_VARIABLE_RATE = 0x0400U,
00235 PA_STREAM_PEAK_DETECT = 0x0800U,
00238 PA_STREAM_START_MUTED = 0x1000U,
00244 PA_STREAM_ADJUST_LATENCY = 0x2000U,
00251 PA_STREAM_EARLY_REQUESTS = 0x4000U,
00268 PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND = 0x8000U,
00273 PA_STREAM_START_UNMUTED = 0x10000U,
00279 PA_STREAM_FAIL_ON_SUSPEND = 0x20000U
00284 } pa_stream_flags_t;
00285
00288
00289 #define PA_STREAM_NOT_MONOTONOUS PA_STREAM_NOT_MONOTONIC
00290
00291
00292 #define PA_STREAM_START_CORKED PA_STREAM_START_CORKED
00293 #define PA_STREAM_INTERPOLATE_TIMING PA_STREAM_INTERPOLATE_TIMING
00294 #define PA_STREAM_NOT_MONOTONIC PA_STREAM_NOT_MONOTONIC
00295 #define PA_STREAM_AUTO_TIMING_UPDATE PA_STREAM_AUTO_TIMING_UPDATE
00296 #define PA_STREAM_NO_REMAP_CHANNELS PA_STREAM_NO_REMAP_CHANNELS
00297 #define PA_STREAM_NO_REMIX_CHANNELS PA_STREAM_NO_REMIX_CHANNELS
00298 #define PA_STREAM_FIX_FORMAT PA_STREAM_FIX_FORMAT
00299 #define PA_STREAM_FIX_RATE PA_STREAM_FIX_RATE
00300 #define PA_STREAM_FIX_CHANNELS PA_STREAM_FIX_CHANNELS
00301 #define PA_STREAM_DONT_MOVE PA_STREAM_DONT_MOVE
00302 #define PA_STREAM_VARIABLE_RATE PA_STREAM_VARIABLE_RATE
00303 #define PA_STREAM_PEAK_DETECT PA_STREAM_PEAK_DETECT
00304 #define PA_STREAM_START_MUTED PA_STREAM_START_MUTED
00305 #define PA_STREAM_ADJUST_LATENCY PA_STREAM_ADJUST_LATENCY
00306 #define PA_STREAM_EARLY_REQUESTS PA_STREAM_EARLY_REQUESTS
00307 #define PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND
00308 #define PA_STREAM_START_UNMUTED PA_STREAM_START_UNMUTED
00309 #define PA_STREAM_FAIL_ON_SUSPEND PA_STREAM_FAIL_ON_SUSPEND
00310
00314 typedef struct pa_buffer_attr {
00315 uint32_t maxlength;
00320 uint32_t tlength;
00338 uint32_t prebuf;
00349 uint32_t minreq;
00359 uint32_t fragsize;
00373 } pa_buffer_attr;
00374
00376 enum {
00377 PA_OK = 0,
00378 PA_ERR_ACCESS,
00379 PA_ERR_COMMAND,
00380 PA_ERR_INVALID,
00381 PA_ERR_EXIST,
00382 PA_ERR_NOENTITY,
00383 PA_ERR_CONNECTIONREFUSED,
00384 PA_ERR_PROTOCOL,
00385 PA_ERR_TIMEOUT,
00386 PA_ERR_AUTHKEY,
00387 PA_ERR_INTERNAL,
00388 PA_ERR_CONNECTIONTERMINATED,
00389 PA_ERR_KILLED,
00390 PA_ERR_INVALIDSERVER,
00391 PA_ERR_MODINITFAILED,
00392 PA_ERR_BADSTATE,
00393 PA_ERR_NODATA,
00394 PA_ERR_VERSION,
00395 PA_ERR_TOOLARGE,
00396 PA_ERR_NOTSUPPORTED,
00397 PA_ERR_UNKNOWN,
00398 PA_ERR_NOEXTENSION,
00399 PA_ERR_OBSOLETE,
00400 PA_ERR_NOTIMPLEMENTED,
00401 PA_ERR_FORKED,
00402 PA_ERR_IO,
00403 PA_ERR_BUSY,
00404 PA_ERR_MAX
00405 };
00406
00408 #define PA_OK PA_OK
00409 #define PA_ERR_ACCESS PA_ERR_ACCESS
00410 #define PA_ERR_COMMAND PA_ERR_COMMAND
00411 #define PA_ERR_INVALID PA_ERR_INVALID
00412 #define PA_ERR_EXIST PA_ERR_EXIST
00413 #define PA_ERR_NOENTITY PA_ERR_NOENTITY
00414 #define PA_ERR_CONNECTIONREFUSED PA_ERR_CONNECTIONREFUSED
00415 #define PA_ERR_PROTOCOL PA_ERR_PROTOCOL
00416 #define PA_ERR_TIMEOUT PA_ERR_TIMEOUT
00417 #define PA_ERR_AUTHKEY PA_ERR_AUTHKEY
00418 #define PA_ERR_INTERNAL PA_ERR_INTERNAL
00419 #define PA_ERR_CONNECTIONTERMINATED PA_ERR_CONNECTIONTERMINATED
00420 #define PA_ERR_KILLED PA_ERR_KILLED
00421 #define PA_ERR_INVALIDSERVER PA_ERR_INVALIDSERVER
00422 #define PA_ERR_MODINITFAILED PA_ERR_MODINITFAILED
00423 #define PA_ERR_BADSTATE PA_ERR_BADSTATE
00424 #define PA_ERR_NODATA PA_ERR_NODATA
00425 #define PA_ERR_VERSION PA_ERR_VERSION
00426 #define PA_ERR_TOOLARGE PA_ERR_TOOLARGE
00427 #define PA_ERR_NOTSUPPORTED PA_ERR_NOTSUPPORTED
00428 #define PA_ERR_UNKNOWN PA_ERR_UNKNOWN
00429 #define PA_ERR_NOEXTENSION PA_ERR_NOEXTENSION
00430 #define PA_ERR_OBSOLETE PA_ERR_OBSOLETE
00431 #define PA_ERR_NOTIMPLEMENTED PA_ERR_NOTIMPLEMENTED
00432 #define PA_ERR_FORKED PA_ERR_FORKED
00433 #define PA_ERR_MAX PA_ERR_MAX
00434
00437 typedef enum pa_subscription_mask {
00438 PA_SUBSCRIPTION_MASK_NULL = 0x0000U,
00441 PA_SUBSCRIPTION_MASK_SINK = 0x0001U,
00444 PA_SUBSCRIPTION_MASK_SOURCE = 0x0002U,
00447 PA_SUBSCRIPTION_MASK_SINK_INPUT = 0x0004U,
00450 PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT = 0x0008U,
00453 PA_SUBSCRIPTION_MASK_MODULE = 0x0010U,
00456 PA_SUBSCRIPTION_MASK_CLIENT = 0x0020U,
00459 PA_SUBSCRIPTION_MASK_SAMPLE_CACHE = 0x0040U,
00462 PA_SUBSCRIPTION_MASK_SERVER = 0x0080U,
00466 PA_SUBSCRIPTION_MASK_AUTOLOAD = 0x0100U,
00470 PA_SUBSCRIPTION_MASK_CARD = 0x0200U,
00473 PA_SUBSCRIPTION_MASK_ALL = 0x02ffU
00475 } pa_subscription_mask_t;
00476
00478 typedef enum pa_subscription_event_type {
00479 PA_SUBSCRIPTION_EVENT_SINK = 0x0000U,
00482 PA_SUBSCRIPTION_EVENT_SOURCE = 0x0001U,
00485 PA_SUBSCRIPTION_EVENT_SINK_INPUT = 0x0002U,
00488 PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT = 0x0003U,
00491 PA_SUBSCRIPTION_EVENT_MODULE = 0x0004U,
00494 PA_SUBSCRIPTION_EVENT_CLIENT = 0x0005U,
00497 PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE = 0x0006U,
00500 PA_SUBSCRIPTION_EVENT_SERVER = 0x0007U,
00504 PA_SUBSCRIPTION_EVENT_AUTOLOAD = 0x0008U,
00508 PA_SUBSCRIPTION_EVENT_CARD = 0x0009U,
00511 PA_SUBSCRIPTION_EVENT_FACILITY_MASK = 0x000FU,
00514 PA_SUBSCRIPTION_EVENT_NEW = 0x0000U,
00517 PA_SUBSCRIPTION_EVENT_CHANGE = 0x0010U,
00520 PA_SUBSCRIPTION_EVENT_REMOVE = 0x0020U,
00523 PA_SUBSCRIPTION_EVENT_TYPE_MASK = 0x0030U
00526 } pa_subscription_event_type_t;
00527
00529 #define pa_subscription_match_flags(m, t) (!!((m) & (1 << ((t) & PA_SUBSCRIPTION_EVENT_FACILITY_MASK))))
00530
00532 #define PA_SUBSCRIPTION_MASK_NULL PA_SUBSCRIPTION_MASK_NULL
00533 #define PA_SUBSCRIPTION_MASK_SINK PA_SUBSCRIPTION_MASK_SINK
00534 #define PA_SUBSCRIPTION_MASK_SOURCE PA_SUBSCRIPTION_MASK_SOURCE
00535 #define PA_SUBSCRIPTION_MASK_SINK_INPUT PA_SUBSCRIPTION_MASK_SINK_INPUT
00536 #define PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT
00537 #define PA_SUBSCRIPTION_MASK_MODULE PA_SUBSCRIPTION_MASK_MODULE
00538 #define PA_SUBSCRIPTION_MASK_CLIENT PA_SUBSCRIPTION_MASK_CLIENT
00539 #define PA_SUBSCRIPTION_MASK_SAMPLE_CACHE PA_SUBSCRIPTION_MASK_SAMPLE_CACHE
00540 #define PA_SUBSCRIPTION_MASK_SERVER PA_SUBSCRIPTION_MASK_SERVER
00541 #define PA_SUBSCRIPTION_MASK_AUTOLOAD PA_SUBSCRIPTION_MASK_AUTOLOAD
00542 #define PA_SUBSCRIPTION_MASK_CARD PA_SUBSCRIPTION_MASK_CARD
00543 #define PA_SUBSCRIPTION_MASK_ALL PA_SUBSCRIPTION_MASK_ALL
00544 #define PA_SUBSCRIPTION_EVENT_SINK PA_SUBSCRIPTION_EVENT_SINK
00545 #define PA_SUBSCRIPTION_EVENT_SOURCE PA_SUBSCRIPTION_EVENT_SOURCE
00546 #define PA_SUBSCRIPTION_EVENT_SINK_INPUT PA_SUBSCRIPTION_EVENT_SINK_INPUT
00547 #define PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT
00548 #define PA_SUBSCRIPTION_EVENT_MODULE PA_SUBSCRIPTION_EVENT_MODULE
00549 #define PA_SUBSCRIPTION_EVENT_CLIENT PA_SUBSCRIPTION_EVENT_CLIENT
00550 #define PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE
00551 #define PA_SUBSCRIPTION_EVENT_SERVER PA_SUBSCRIPTION_EVENT_SERVER
00552 #define PA_SUBSCRIPTION_EVENT_AUTOLOAD PA_SUBSCRIPTION_EVENT_AUTOLOAD
00553 #define PA_SUBSCRIPTION_EVENT_CARD PA_SUBSCRIPTION_EVENT_CARD
00554 #define PA_SUBSCRIPTION_EVENT_FACILITY_MASK PA_SUBSCRIPTION_EVENT_FACILITY_MASK
00555 #define PA_SUBSCRIPTION_EVENT_NEW PA_SUBSCRIPTION_EVENT_NEW
00556 #define PA_SUBSCRIPTION_EVENT_CHANGE PA_SUBSCRIPTION_EVENT_CHANGE
00557 #define PA_SUBSCRIPTION_EVENT_REMOVE PA_SUBSCRIPTION_EVENT_REMOVE
00558 #define PA_SUBSCRIPTION_EVENT_TYPE_MASK PA_SUBSCRIPTION_EVENT_TYPE_MASK
00559
00579 typedef struct pa_timing_info {
00580 struct timeval timestamp;
00583 int synchronized_clocks;
00590 pa_usec_t sink_usec;
00595 pa_usec_t source_usec;
00599 pa_usec_t transport_usec;
00603 int playing;
00610 int write_index_corrupt;
00617 int64_t write_index;
00623 int read_index_corrupt;
00628 int64_t read_index;
00634 pa_usec_t configured_sink_usec;
00637 pa_usec_t configured_source_usec;
00640 int64_t since_underrun;
00646 } pa_timing_info;
00647
00655 typedef struct pa_spawn_api {
00656 void (*prefork)(void);
00660 void (*postfork)(void);
00664 void (*atfork)(void);
00670 } pa_spawn_api;
00671
00673 typedef enum pa_seek_mode {
00674 PA_SEEK_RELATIVE = 0,
00677 PA_SEEK_ABSOLUTE = 1,
00680 PA_SEEK_RELATIVE_ON_READ = 2,
00683 PA_SEEK_RELATIVE_END = 3
00685 } pa_seek_mode_t;
00686
00688 #define PA_SEEK_RELATIVE PA_SEEK_RELATIVE
00689 #define PA_SEEK_ABSOLUTE PA_SEEK_ABSOLUTE
00690 #define PA_SEEK_RELATIVE_ON_READ PA_SEEK_RELATIVE_ON_READ
00691 #define PA_SEEK_RELATIVE_END PA_SEEK_RELATIVE_END
00692
00695 typedef enum pa_sink_flags {
00696 PA_SINK_NOFLAGS = 0x0000U,
00699 PA_SINK_HW_VOLUME_CTRL = 0x0001U,
00702 PA_SINK_LATENCY = 0x0002U,
00705 PA_SINK_HARDWARE = 0x0004U,
00709 PA_SINK_NETWORK = 0x0008U,
00712 PA_SINK_HW_MUTE_CTRL = 0x0010U,
00715 PA_SINK_DECIBEL_VOLUME = 0x0020U,
00719 PA_SINK_FLAT_VOLUME = 0x0040U,
00723 PA_SINK_DYNAMIC_LATENCY = 0x0080U
00726 } pa_sink_flags_t;
00727
00729 #define PA_SINK_HW_VOLUME_CTRL PA_SINK_HW_VOLUME_CTRL
00730 #define PA_SINK_LATENCY PA_SINK_LATENCY
00731 #define PA_SINK_HARDWARE PA_SINK_HARDWARE
00732 #define PA_SINK_NETWORK PA_SINK_NETWORK
00733 #define PA_SINK_HW_MUTE_CTRL PA_SINK_HW_MUTE_CTRL
00734 #define PA_SINK_DECIBEL_VOLUME PA_SINK_DECIBEL_VOLUME
00735 #define PA_SINK_FLAT_VOLUME PA_SINK_FLAT_VOLUME
00736 #define PA_SINK_DYNAMIC_LATENCY PA_SINK_DYNAMIC_LATENCY
00737
00740 typedef enum pa_sink_state {
00741 PA_SINK_INVALID_STATE = -1,
00744 PA_SINK_RUNNING = 0,
00747 PA_SINK_IDLE = 1,
00750 PA_SINK_SUSPENDED = 2,
00754
00755
00756
00757
00758
00759
00760 PA_SINK_INIT = -2,
00763 PA_SINK_UNLINKED = -3
00767 } pa_sink_state_t;
00768
00770 static inline int PA_SINK_IS_OPENED(pa_sink_state_t x) {
00771 return x == PA_SINK_RUNNING || x == PA_SINK_IDLE;
00772 }
00773
00775 #define PA_SINK_INVALID_STATE PA_SINK_INVALID_STATE
00776 #define PA_SINK_RUNNING PA_SINK_RUNNING
00777 #define PA_SINK_IDLE PA_SINK_IDLE
00778 #define PA_SINK_SUSPENDED PA_SINK_SUSPENDED
00779 #define PA_SINK_INIT PA_SINK_INIT
00780 #define PA_SINK_UNLINKED PA_SINK_UNLINKED
00781 #define PA_SINK_IS_OPENED PA_SINK_IS_OPENED
00782
00785 typedef enum pa_source_flags {
00786 PA_SOURCE_NOFLAGS = 0x0000U,
00789 PA_SOURCE_HW_VOLUME_CTRL = 0x0001U,
00792 PA_SOURCE_LATENCY = 0x0002U,
00795 PA_SOURCE_HARDWARE = 0x0004U,
00799 PA_SOURCE_NETWORK = 0x0008U,
00802 PA_SOURCE_HW_MUTE_CTRL = 0x0010U,
00805 PA_SOURCE_DECIBEL_VOLUME = 0x0020U,
00809 PA_SOURCE_DYNAMIC_LATENCY = 0x0040U
00812 } pa_source_flags_t;
00813
00815 #define PA_SOURCE_HW_VOLUME_CTRL PA_SOURCE_HW_VOLUME_CTRL
00816 #define PA_SOURCE_LATENCY PA_SOURCE_LATENCY
00817 #define PA_SOURCE_HARDWARE PA_SOURCE_HARDWARE
00818 #define PA_SOURCE_NETWORK PA_SOURCE_NETWORK
00819 #define PA_SOURCE_HW_MUTE_CTRL PA_SOURCE_HW_MUTE_CTRL
00820 #define PA_SOURCE_DECIBEL_VOLUME PA_SOURCE_DECIBEL_VOLUME
00821 #define PA_SOURCE_DYNAMIC_LATENCY PA_SOURCE_DYNAMIC_LATENCY
00822
00825 typedef enum pa_source_state {
00826 PA_SOURCE_INVALID_STATE = -1,
00829 PA_SOURCE_RUNNING = 0,
00832 PA_SOURCE_IDLE = 1,
00835 PA_SOURCE_SUSPENDED = 2,
00839
00840
00841
00842
00843
00844
00845 PA_SOURCE_INIT = -2,
00848 PA_SOURCE_UNLINKED = -3
00852 } pa_source_state_t;
00853
00855 static inline int PA_SOURCE_IS_OPENED(pa_source_state_t x) {
00856 return x == PA_SOURCE_RUNNING || x == PA_SOURCE_IDLE;
00857 }
00858
00860 #define PA_SOURCE_INVALID_STATE PA_SOURCE_INVALID_STATE
00861 #define PA_SOURCE_RUNNING PA_SOURCE_RUNNING
00862 #define PA_SOURCE_IDLE PA_SOURCE_IDLE
00863 #define PA_SOURCE_SUSPENDED PA_SOURCE_SUSPENDED
00864 #define PA_SOURCE_INIT PA_SOURCE_INIT
00865 #define PA_SOURCE_UNLINKED PA_SOURCE_UNLINKED
00866 #define PA_SOURCE_IS_OPENED PA_SOURCE_IS_OPENED
00867
00870 typedef void (*pa_free_cb_t)(void *p);
00871
00875 #define PA_STREAM_EVENT_REQUEST_CORK "request-cork"
00876
00880 #define PA_STREAM_EVENT_REQUEST_UNCORK "request-uncork"
00881
00882 PA_C_DECL_END
00883
00884 #endif