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,
00285 PA_STREAM_RELATIVE_VOLUME = 0x40000U,
00291 } pa_stream_flags_t;
00292
00295
00296 #define PA_STREAM_NOT_MONOTONOUS PA_STREAM_NOT_MONOTONIC
00297
00298
00299 #define PA_STREAM_START_CORKED PA_STREAM_START_CORKED
00300 #define PA_STREAM_INTERPOLATE_TIMING PA_STREAM_INTERPOLATE_TIMING
00301 #define PA_STREAM_NOT_MONOTONIC PA_STREAM_NOT_MONOTONIC
00302 #define PA_STREAM_AUTO_TIMING_UPDATE PA_STREAM_AUTO_TIMING_UPDATE
00303 #define PA_STREAM_NO_REMAP_CHANNELS PA_STREAM_NO_REMAP_CHANNELS
00304 #define PA_STREAM_NO_REMIX_CHANNELS PA_STREAM_NO_REMIX_CHANNELS
00305 #define PA_STREAM_FIX_FORMAT PA_STREAM_FIX_FORMAT
00306 #define PA_STREAM_FIX_RATE PA_STREAM_FIX_RATE
00307 #define PA_STREAM_FIX_CHANNELS PA_STREAM_FIX_CHANNELS
00308 #define PA_STREAM_DONT_MOVE PA_STREAM_DONT_MOVE
00309 #define PA_STREAM_VARIABLE_RATE PA_STREAM_VARIABLE_RATE
00310 #define PA_STREAM_PEAK_DETECT PA_STREAM_PEAK_DETECT
00311 #define PA_STREAM_START_MUTED PA_STREAM_START_MUTED
00312 #define PA_STREAM_ADJUST_LATENCY PA_STREAM_ADJUST_LATENCY
00313 #define PA_STREAM_EARLY_REQUESTS PA_STREAM_EARLY_REQUESTS
00314 #define PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND
00315 #define PA_STREAM_START_UNMUTED PA_STREAM_START_UNMUTED
00316 #define PA_STREAM_FAIL_ON_SUSPEND PA_STREAM_FAIL_ON_SUSPEND
00317 #define PA_STREAM_RELATIVE_VOLUME PA_STREAM_RELATIVE_VOLUME
00318
00322 typedef struct pa_buffer_attr {
00323 uint32_t maxlength;
00328 uint32_t tlength;
00346 uint32_t prebuf;
00357 uint32_t minreq;
00367 uint32_t fragsize;
00381 } pa_buffer_attr;
00382
00384 enum {
00385 PA_OK = 0,
00386 PA_ERR_ACCESS,
00387 PA_ERR_COMMAND,
00388 PA_ERR_INVALID,
00389 PA_ERR_EXIST,
00390 PA_ERR_NOENTITY,
00391 PA_ERR_CONNECTIONREFUSED,
00392 PA_ERR_PROTOCOL,
00393 PA_ERR_TIMEOUT,
00394 PA_ERR_AUTHKEY,
00395 PA_ERR_INTERNAL,
00396 PA_ERR_CONNECTIONTERMINATED,
00397 PA_ERR_KILLED,
00398 PA_ERR_INVALIDSERVER,
00399 PA_ERR_MODINITFAILED,
00400 PA_ERR_BADSTATE,
00401 PA_ERR_NODATA,
00402 PA_ERR_VERSION,
00403 PA_ERR_TOOLARGE,
00404 PA_ERR_NOTSUPPORTED,
00405 PA_ERR_UNKNOWN,
00406 PA_ERR_NOEXTENSION,
00407 PA_ERR_OBSOLETE,
00408 PA_ERR_NOTIMPLEMENTED,
00409 PA_ERR_FORKED,
00410 PA_ERR_IO,
00411 PA_ERR_BUSY,
00412 PA_ERR_MAX
00413 };
00414
00416 #define PA_OK PA_OK
00417 #define PA_ERR_ACCESS PA_ERR_ACCESS
00418 #define PA_ERR_COMMAND PA_ERR_COMMAND
00419 #define PA_ERR_INVALID PA_ERR_INVALID
00420 #define PA_ERR_EXIST PA_ERR_EXIST
00421 #define PA_ERR_NOENTITY PA_ERR_NOENTITY
00422 #define PA_ERR_CONNECTIONREFUSED PA_ERR_CONNECTIONREFUSED
00423 #define PA_ERR_PROTOCOL PA_ERR_PROTOCOL
00424 #define PA_ERR_TIMEOUT PA_ERR_TIMEOUT
00425 #define PA_ERR_AUTHKEY PA_ERR_AUTHKEY
00426 #define PA_ERR_INTERNAL PA_ERR_INTERNAL
00427 #define PA_ERR_CONNECTIONTERMINATED PA_ERR_CONNECTIONTERMINATED
00428 #define PA_ERR_KILLED PA_ERR_KILLED
00429 #define PA_ERR_INVALIDSERVER PA_ERR_INVALIDSERVER
00430 #define PA_ERR_MODINITFAILED PA_ERR_MODINITFAILED
00431 #define PA_ERR_BADSTATE PA_ERR_BADSTATE
00432 #define PA_ERR_NODATA PA_ERR_NODATA
00433 #define PA_ERR_VERSION PA_ERR_VERSION
00434 #define PA_ERR_TOOLARGE PA_ERR_TOOLARGE
00435 #define PA_ERR_NOTSUPPORTED PA_ERR_NOTSUPPORTED
00436 #define PA_ERR_UNKNOWN PA_ERR_UNKNOWN
00437 #define PA_ERR_NOEXTENSION PA_ERR_NOEXTENSION
00438 #define PA_ERR_OBSOLETE PA_ERR_OBSOLETE
00439 #define PA_ERR_NOTIMPLEMENTED PA_ERR_NOTIMPLEMENTED
00440 #define PA_ERR_FORKED PA_ERR_FORKED
00441 #define PA_ERR_MAX PA_ERR_MAX
00442
00445 typedef enum pa_subscription_mask {
00446 PA_SUBSCRIPTION_MASK_NULL = 0x0000U,
00449 PA_SUBSCRIPTION_MASK_SINK = 0x0001U,
00452 PA_SUBSCRIPTION_MASK_SOURCE = 0x0002U,
00455 PA_SUBSCRIPTION_MASK_SINK_INPUT = 0x0004U,
00458 PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT = 0x0008U,
00461 PA_SUBSCRIPTION_MASK_MODULE = 0x0010U,
00464 PA_SUBSCRIPTION_MASK_CLIENT = 0x0020U,
00467 PA_SUBSCRIPTION_MASK_SAMPLE_CACHE = 0x0040U,
00470 PA_SUBSCRIPTION_MASK_SERVER = 0x0080U,
00474 PA_SUBSCRIPTION_MASK_AUTOLOAD = 0x0100U,
00478 PA_SUBSCRIPTION_MASK_CARD = 0x0200U,
00481 PA_SUBSCRIPTION_MASK_ALL = 0x02ffU
00483 } pa_subscription_mask_t;
00484
00486 typedef enum pa_subscription_event_type {
00487 PA_SUBSCRIPTION_EVENT_SINK = 0x0000U,
00490 PA_SUBSCRIPTION_EVENT_SOURCE = 0x0001U,
00493 PA_SUBSCRIPTION_EVENT_SINK_INPUT = 0x0002U,
00496 PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT = 0x0003U,
00499 PA_SUBSCRIPTION_EVENT_MODULE = 0x0004U,
00502 PA_SUBSCRIPTION_EVENT_CLIENT = 0x0005U,
00505 PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE = 0x0006U,
00508 PA_SUBSCRIPTION_EVENT_SERVER = 0x0007U,
00512 PA_SUBSCRIPTION_EVENT_AUTOLOAD = 0x0008U,
00516 PA_SUBSCRIPTION_EVENT_CARD = 0x0009U,
00519 PA_SUBSCRIPTION_EVENT_FACILITY_MASK = 0x000FU,
00522 PA_SUBSCRIPTION_EVENT_NEW = 0x0000U,
00525 PA_SUBSCRIPTION_EVENT_CHANGE = 0x0010U,
00528 PA_SUBSCRIPTION_EVENT_REMOVE = 0x0020U,
00531 PA_SUBSCRIPTION_EVENT_TYPE_MASK = 0x0030U
00534 } pa_subscription_event_type_t;
00535
00537 #define pa_subscription_match_flags(m, t) (!!((m) & (1 << ((t) & PA_SUBSCRIPTION_EVENT_FACILITY_MASK))))
00538
00540 #define PA_SUBSCRIPTION_MASK_NULL PA_SUBSCRIPTION_MASK_NULL
00541 #define PA_SUBSCRIPTION_MASK_SINK PA_SUBSCRIPTION_MASK_SINK
00542 #define PA_SUBSCRIPTION_MASK_SOURCE PA_SUBSCRIPTION_MASK_SOURCE
00543 #define PA_SUBSCRIPTION_MASK_SINK_INPUT PA_SUBSCRIPTION_MASK_SINK_INPUT
00544 #define PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT
00545 #define PA_SUBSCRIPTION_MASK_MODULE PA_SUBSCRIPTION_MASK_MODULE
00546 #define PA_SUBSCRIPTION_MASK_CLIENT PA_SUBSCRIPTION_MASK_CLIENT
00547 #define PA_SUBSCRIPTION_MASK_SAMPLE_CACHE PA_SUBSCRIPTION_MASK_SAMPLE_CACHE
00548 #define PA_SUBSCRIPTION_MASK_SERVER PA_SUBSCRIPTION_MASK_SERVER
00549 #define PA_SUBSCRIPTION_MASK_AUTOLOAD PA_SUBSCRIPTION_MASK_AUTOLOAD
00550 #define PA_SUBSCRIPTION_MASK_CARD PA_SUBSCRIPTION_MASK_CARD
00551 #define PA_SUBSCRIPTION_MASK_ALL PA_SUBSCRIPTION_MASK_ALL
00552 #define PA_SUBSCRIPTION_EVENT_SINK PA_SUBSCRIPTION_EVENT_SINK
00553 #define PA_SUBSCRIPTION_EVENT_SOURCE PA_SUBSCRIPTION_EVENT_SOURCE
00554 #define PA_SUBSCRIPTION_EVENT_SINK_INPUT PA_SUBSCRIPTION_EVENT_SINK_INPUT
00555 #define PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT
00556 #define PA_SUBSCRIPTION_EVENT_MODULE PA_SUBSCRIPTION_EVENT_MODULE
00557 #define PA_SUBSCRIPTION_EVENT_CLIENT PA_SUBSCRIPTION_EVENT_CLIENT
00558 #define PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE
00559 #define PA_SUBSCRIPTION_EVENT_SERVER PA_SUBSCRIPTION_EVENT_SERVER
00560 #define PA_SUBSCRIPTION_EVENT_AUTOLOAD PA_SUBSCRIPTION_EVENT_AUTOLOAD
00561 #define PA_SUBSCRIPTION_EVENT_CARD PA_SUBSCRIPTION_EVENT_CARD
00562 #define PA_SUBSCRIPTION_EVENT_FACILITY_MASK PA_SUBSCRIPTION_EVENT_FACILITY_MASK
00563 #define PA_SUBSCRIPTION_EVENT_NEW PA_SUBSCRIPTION_EVENT_NEW
00564 #define PA_SUBSCRIPTION_EVENT_CHANGE PA_SUBSCRIPTION_EVENT_CHANGE
00565 #define PA_SUBSCRIPTION_EVENT_REMOVE PA_SUBSCRIPTION_EVENT_REMOVE
00566 #define PA_SUBSCRIPTION_EVENT_TYPE_MASK PA_SUBSCRIPTION_EVENT_TYPE_MASK
00567
00587 typedef struct pa_timing_info {
00588 struct timeval timestamp;
00591 int synchronized_clocks;
00598 pa_usec_t sink_usec;
00603 pa_usec_t source_usec;
00607 pa_usec_t transport_usec;
00611 int playing;
00618 int write_index_corrupt;
00625 int64_t write_index;
00631 int read_index_corrupt;
00636 int64_t read_index;
00642 pa_usec_t configured_sink_usec;
00645 pa_usec_t configured_source_usec;
00648 int64_t since_underrun;
00654 } pa_timing_info;
00655
00663 typedef struct pa_spawn_api {
00664 void (*prefork)(void);
00668 void (*postfork)(void);
00672 void (*atfork)(void);
00678 } pa_spawn_api;
00679
00681 typedef enum pa_seek_mode {
00682 PA_SEEK_RELATIVE = 0,
00685 PA_SEEK_ABSOLUTE = 1,
00688 PA_SEEK_RELATIVE_ON_READ = 2,
00691 PA_SEEK_RELATIVE_END = 3
00693 } pa_seek_mode_t;
00694
00696 #define PA_SEEK_RELATIVE PA_SEEK_RELATIVE
00697 #define PA_SEEK_ABSOLUTE PA_SEEK_ABSOLUTE
00698 #define PA_SEEK_RELATIVE_ON_READ PA_SEEK_RELATIVE_ON_READ
00699 #define PA_SEEK_RELATIVE_END PA_SEEK_RELATIVE_END
00700
00703 typedef enum pa_sink_flags {
00704 PA_SINK_NOFLAGS = 0x0000U,
00707 PA_SINK_HW_VOLUME_CTRL = 0x0001U,
00710 PA_SINK_LATENCY = 0x0002U,
00713 PA_SINK_HARDWARE = 0x0004U,
00717 PA_SINK_NETWORK = 0x0008U,
00720 PA_SINK_HW_MUTE_CTRL = 0x0010U,
00723 PA_SINK_DECIBEL_VOLUME = 0x0020U,
00727 PA_SINK_FLAT_VOLUME = 0x0040U,
00731 PA_SINK_DYNAMIC_LATENCY = 0x0080U,
00735 PA_SINK_SYNC_VOLUME = 0x0100U,
00740
00741
00742
00743
00744
00745
00746 PA_SINK_SHARE_VOLUME_WITH_MASTER = 0x0200U,
00751 } pa_sink_flags_t;
00752
00754 #define PA_SINK_HW_VOLUME_CTRL PA_SINK_HW_VOLUME_CTRL
00755 #define PA_SINK_LATENCY PA_SINK_LATENCY
00756 #define PA_SINK_HARDWARE PA_SINK_HARDWARE
00757 #define PA_SINK_NETWORK PA_SINK_NETWORK
00758 #define PA_SINK_HW_MUTE_CTRL PA_SINK_HW_MUTE_CTRL
00759 #define PA_SINK_DECIBEL_VOLUME PA_SINK_DECIBEL_VOLUME
00760 #define PA_SINK_FLAT_VOLUME PA_SINK_FLAT_VOLUME
00761 #define PA_SINK_DYNAMIC_LATENCY PA_SINK_DYNAMIC_LATENCY
00762 #define PA_SINK_SYNC_VOLUME PA_SINK_SYNC_VOLUME
00763
00766 typedef enum pa_sink_state {
00767 PA_SINK_INVALID_STATE = -1,
00770 PA_SINK_RUNNING = 0,
00773 PA_SINK_IDLE = 1,
00776 PA_SINK_SUSPENDED = 2,
00780
00781
00782
00783
00784
00785
00786 PA_SINK_INIT = -2,
00789 PA_SINK_UNLINKED = -3
00793 } pa_sink_state_t;
00794
00796 static inline int PA_SINK_IS_OPENED(pa_sink_state_t x) {
00797 return x == PA_SINK_RUNNING || x == PA_SINK_IDLE;
00798 }
00799
00801 #define PA_SINK_INVALID_STATE PA_SINK_INVALID_STATE
00802 #define PA_SINK_RUNNING PA_SINK_RUNNING
00803 #define PA_SINK_IDLE PA_SINK_IDLE
00804 #define PA_SINK_SUSPENDED PA_SINK_SUSPENDED
00805 #define PA_SINK_INIT PA_SINK_INIT
00806 #define PA_SINK_UNLINKED PA_SINK_UNLINKED
00807 #define PA_SINK_IS_OPENED PA_SINK_IS_OPENED
00808
00811 typedef enum pa_source_flags {
00812 PA_SOURCE_NOFLAGS = 0x0000U,
00815 PA_SOURCE_HW_VOLUME_CTRL = 0x0001U,
00818 PA_SOURCE_LATENCY = 0x0002U,
00821 PA_SOURCE_HARDWARE = 0x0004U,
00825 PA_SOURCE_NETWORK = 0x0008U,
00828 PA_SOURCE_HW_MUTE_CTRL = 0x0010U,
00831 PA_SOURCE_DECIBEL_VOLUME = 0x0020U,
00835 PA_SOURCE_DYNAMIC_LATENCY = 0x0040U
00838 } pa_source_flags_t;
00839
00841 #define PA_SOURCE_HW_VOLUME_CTRL PA_SOURCE_HW_VOLUME_CTRL
00842 #define PA_SOURCE_LATENCY PA_SOURCE_LATENCY
00843 #define PA_SOURCE_HARDWARE PA_SOURCE_HARDWARE
00844 #define PA_SOURCE_NETWORK PA_SOURCE_NETWORK
00845 #define PA_SOURCE_HW_MUTE_CTRL PA_SOURCE_HW_MUTE_CTRL
00846 #define PA_SOURCE_DECIBEL_VOLUME PA_SOURCE_DECIBEL_VOLUME
00847 #define PA_SOURCE_DYNAMIC_LATENCY PA_SOURCE_DYNAMIC_LATENCY
00848
00851 typedef enum pa_source_state {
00852 PA_SOURCE_INVALID_STATE = -1,
00855 PA_SOURCE_RUNNING = 0,
00858 PA_SOURCE_IDLE = 1,
00861 PA_SOURCE_SUSPENDED = 2,
00865
00866
00867
00868
00869
00870
00871 PA_SOURCE_INIT = -2,
00874 PA_SOURCE_UNLINKED = -3
00878 } pa_source_state_t;
00879
00881 static inline int PA_SOURCE_IS_OPENED(pa_source_state_t x) {
00882 return x == PA_SOURCE_RUNNING || x == PA_SOURCE_IDLE;
00883 }
00884
00886 #define PA_SOURCE_INVALID_STATE PA_SOURCE_INVALID_STATE
00887 #define PA_SOURCE_RUNNING PA_SOURCE_RUNNING
00888 #define PA_SOURCE_IDLE PA_SOURCE_IDLE
00889 #define PA_SOURCE_SUSPENDED PA_SOURCE_SUSPENDED
00890 #define PA_SOURCE_INIT PA_SOURCE_INIT
00891 #define PA_SOURCE_UNLINKED PA_SOURCE_UNLINKED
00892 #define PA_SOURCE_IS_OPENED PA_SOURCE_IS_OPENED
00893
00896 typedef void (*pa_free_cb_t)(void *p);
00897
00901 #define PA_STREAM_EVENT_REQUEST_CORK "request-cork"
00902
00906 #define PA_STREAM_EVENT_REQUEST_UNCORK "request-uncork"
00907
00908 PA_C_DECL_END
00909
00910 #endif