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
00029 #include <pulse/cdecl.h>
00030 #include <pulse/sample.h>
00031 #include <pulse/version.h>
00032
00036 PA_C_DECL_BEGIN
00037
00039 typedef enum pa_context_state {
00040 PA_CONTEXT_UNCONNECTED,
00041 PA_CONTEXT_CONNECTING,
00042 PA_CONTEXT_AUTHORIZING,
00043 PA_CONTEXT_SETTING_NAME,
00044 PA_CONTEXT_READY,
00045 PA_CONTEXT_FAILED,
00046 PA_CONTEXT_TERMINATED
00047 } pa_context_state_t;
00048
00050 static inline int PA_CONTEXT_IS_GOOD(pa_context_state_t x) {
00051 return
00052 x == PA_CONTEXT_CONNECTING ||
00053 x == PA_CONTEXT_AUTHORIZING ||
00054 x == PA_CONTEXT_SETTING_NAME ||
00055 x == PA_CONTEXT_READY;
00056 }
00057
00059 #define PA_CONTEXT_UNCONNECTED PA_CONTEXT_UNCONNECTED
00060 #define PA_CONTEXT_CONNECTING PA_CONTEXT_CONNECTING
00061 #define PA_CONTEXT_AUTHORIZING PA_CONTEXT_AUTHORIZING
00062 #define PA_CONTEXT_SETTING_NAME PA_CONTEXT_SETTING_NAME
00063 #define PA_CONTEXT_READY PA_CONTEXT_READY
00064 #define PA_CONTEXT_FAILED PA_CONTEXT_FAILED
00065 #define PA_CONTEXT_TERMINATED PA_CONTEXT_TERMINATED
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_device_type {
00129 PA_DEVICE_TYPE_SINK,
00130 PA_DEVICE_TYPE_SOURCE
00131 } pa_device_type_t;
00132
00134 #define PA_DEVICE_TYPE_SINK PA_DEVICE_TYPE_SINK
00135 #define PA_DEVICE_TYPE_SOURCE PA_DEVICE_TYPE_SOURCE
00136
00139 typedef enum pa_stream_direction {
00140 PA_STREAM_NODIRECTION,
00141 PA_STREAM_PLAYBACK,
00142 PA_STREAM_RECORD,
00143 PA_STREAM_UPLOAD
00144 } pa_stream_direction_t;
00145
00147 #define PA_STREAM_NODIRECTION PA_STREAM_NODIRECTION
00148 #define PA_STREAM_PLAYBACK PA_STREAM_PLAYBACK
00149 #define PA_STREAM_RECORD PA_STREAM_RECORD
00150 #define PA_STREAM_UPLOAD PA_STREAM_UPLOAD
00151
00154 typedef enum pa_stream_flags {
00155
00156 PA_STREAM_NOFLAGS = 0x0000U,
00159 PA_STREAM_START_CORKED = 0x0001U,
00163 PA_STREAM_INTERPOLATE_TIMING = 0x0002U,
00175 PA_STREAM_NOT_MONOTONIC = 0x0004U,
00187 PA_STREAM_AUTO_TIMING_UPDATE = 0x0008U,
00194 PA_STREAM_NO_REMAP_CHANNELS = 0x0010U,
00200 PA_STREAM_NO_REMIX_CHANNELS = 0x0020U,
00206 PA_STREAM_FIX_FORMAT = 0x0040U,
00218 PA_STREAM_FIX_RATE = 0x0080U,
00224 PA_STREAM_FIX_CHANNELS = 0x0100,
00231 PA_STREAM_DONT_MOVE = 0x0200U,
00240 PA_STREAM_VARIABLE_RATE = 0x0400U,
00246 PA_STREAM_PEAK_DETECT = 0x0800U,
00249 PA_STREAM_START_MUTED = 0x1000U,
00255 PA_STREAM_ADJUST_LATENCY = 0x2000U,
00262 PA_STREAM_EARLY_REQUESTS = 0x4000U,
00279 PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND = 0x8000U,
00284 PA_STREAM_START_UNMUTED = 0x10000U,
00290 PA_STREAM_FAIL_ON_SUSPEND = 0x20000U,
00296 PA_STREAM_RELATIVE_VOLUME = 0x40000U,
00303 PA_STREAM_PASSTHROUGH = 0x80000U
00308 } pa_stream_flags_t;
00309
00312
00313 #define PA_STREAM_NOT_MONOTONOUS PA_STREAM_NOT_MONOTONIC
00314
00315
00316 #define PA_STREAM_START_CORKED PA_STREAM_START_CORKED
00317 #define PA_STREAM_INTERPOLATE_TIMING PA_STREAM_INTERPOLATE_TIMING
00318 #define PA_STREAM_NOT_MONOTONIC PA_STREAM_NOT_MONOTONIC
00319 #define PA_STREAM_AUTO_TIMING_UPDATE PA_STREAM_AUTO_TIMING_UPDATE
00320 #define PA_STREAM_NO_REMAP_CHANNELS PA_STREAM_NO_REMAP_CHANNELS
00321 #define PA_STREAM_NO_REMIX_CHANNELS PA_STREAM_NO_REMIX_CHANNELS
00322 #define PA_STREAM_FIX_FORMAT PA_STREAM_FIX_FORMAT
00323 #define PA_STREAM_FIX_RATE PA_STREAM_FIX_RATE
00324 #define PA_STREAM_FIX_CHANNELS PA_STREAM_FIX_CHANNELS
00325 #define PA_STREAM_DONT_MOVE PA_STREAM_DONT_MOVE
00326 #define PA_STREAM_VARIABLE_RATE PA_STREAM_VARIABLE_RATE
00327 #define PA_STREAM_PEAK_DETECT PA_STREAM_PEAK_DETECT
00328 #define PA_STREAM_START_MUTED PA_STREAM_START_MUTED
00329 #define PA_STREAM_ADJUST_LATENCY PA_STREAM_ADJUST_LATENCY
00330 #define PA_STREAM_EARLY_REQUESTS PA_STREAM_EARLY_REQUESTS
00331 #define PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND
00332 #define PA_STREAM_START_UNMUTED PA_STREAM_START_UNMUTED
00333 #define PA_STREAM_FAIL_ON_SUSPEND PA_STREAM_FAIL_ON_SUSPEND
00334 #define PA_STREAM_RELATIVE_VOLUME PA_STREAM_RELATIVE_VOLUME
00335 #define PA_STREAM_PASSTHROUGH PA_STREAM_PASSTHROUGH
00336
00340 typedef struct pa_buffer_attr {
00341 uint32_t maxlength;
00346 uint32_t tlength;
00364 uint32_t prebuf;
00375 uint32_t minreq;
00385 uint32_t fragsize;
00399 } pa_buffer_attr;
00400
00402 enum {
00403 PA_OK = 0,
00404 PA_ERR_ACCESS,
00405 PA_ERR_COMMAND,
00406 PA_ERR_INVALID,
00407 PA_ERR_EXIST,
00408 PA_ERR_NOENTITY,
00409 PA_ERR_CONNECTIONREFUSED,
00410 PA_ERR_PROTOCOL,
00411 PA_ERR_TIMEOUT,
00412 PA_ERR_AUTHKEY,
00413 PA_ERR_INTERNAL,
00414 PA_ERR_CONNECTIONTERMINATED,
00415 PA_ERR_KILLED,
00416 PA_ERR_INVALIDSERVER,
00417 PA_ERR_MODINITFAILED,
00418 PA_ERR_BADSTATE,
00419 PA_ERR_NODATA,
00420 PA_ERR_VERSION,
00421 PA_ERR_TOOLARGE,
00422 PA_ERR_NOTSUPPORTED,
00423 PA_ERR_UNKNOWN,
00424 PA_ERR_NOEXTENSION,
00425 PA_ERR_OBSOLETE,
00426 PA_ERR_NOTIMPLEMENTED,
00427 PA_ERR_FORKED,
00428 PA_ERR_IO,
00429 PA_ERR_BUSY,
00430 PA_ERR_MAX
00431 };
00432
00434 #define PA_OK PA_OK
00435 #define PA_ERR_ACCESS PA_ERR_ACCESS
00436 #define PA_ERR_COMMAND PA_ERR_COMMAND
00437 #define PA_ERR_INVALID PA_ERR_INVALID
00438 #define PA_ERR_EXIST PA_ERR_EXIST
00439 #define PA_ERR_NOENTITY PA_ERR_NOENTITY
00440 #define PA_ERR_CONNECTIONREFUSED PA_ERR_CONNECTIONREFUSED
00441 #define PA_ERR_PROTOCOL PA_ERR_PROTOCOL
00442 #define PA_ERR_TIMEOUT PA_ERR_TIMEOUT
00443 #define PA_ERR_AUTHKEY PA_ERR_AUTHKEY
00444 #define PA_ERR_INTERNAL PA_ERR_INTERNAL
00445 #define PA_ERR_CONNECTIONTERMINATED PA_ERR_CONNECTIONTERMINATED
00446 #define PA_ERR_KILLED PA_ERR_KILLED
00447 #define PA_ERR_INVALIDSERVER PA_ERR_INVALIDSERVER
00448 #define PA_ERR_MODINITFAILED PA_ERR_MODINITFAILED
00449 #define PA_ERR_BADSTATE PA_ERR_BADSTATE
00450 #define PA_ERR_NODATA PA_ERR_NODATA
00451 #define PA_ERR_VERSION PA_ERR_VERSION
00452 #define PA_ERR_TOOLARGE PA_ERR_TOOLARGE
00453 #define PA_ERR_NOTSUPPORTED PA_ERR_NOTSUPPORTED
00454 #define PA_ERR_UNKNOWN PA_ERR_UNKNOWN
00455 #define PA_ERR_NOEXTENSION PA_ERR_NOEXTENSION
00456 #define PA_ERR_OBSOLETE PA_ERR_OBSOLETE
00457 #define PA_ERR_NOTIMPLEMENTED PA_ERR_NOTIMPLEMENTED
00458 #define PA_ERR_FORKED PA_ERR_FORKED
00459 #define PA_ERR_MAX PA_ERR_MAX
00460
00463 typedef enum pa_subscription_mask {
00464 PA_SUBSCRIPTION_MASK_NULL = 0x0000U,
00467 PA_SUBSCRIPTION_MASK_SINK = 0x0001U,
00470 PA_SUBSCRIPTION_MASK_SOURCE = 0x0002U,
00473 PA_SUBSCRIPTION_MASK_SINK_INPUT = 0x0004U,
00476 PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT = 0x0008U,
00479 PA_SUBSCRIPTION_MASK_MODULE = 0x0010U,
00482 PA_SUBSCRIPTION_MASK_CLIENT = 0x0020U,
00485 PA_SUBSCRIPTION_MASK_SAMPLE_CACHE = 0x0040U,
00488 PA_SUBSCRIPTION_MASK_SERVER = 0x0080U,
00492 PA_SUBSCRIPTION_MASK_AUTOLOAD = 0x0100U,
00496 PA_SUBSCRIPTION_MASK_CARD = 0x0200U,
00499 PA_SUBSCRIPTION_MASK_ALL = 0x02ffU
00501 } pa_subscription_mask_t;
00502
00504 typedef enum pa_subscription_event_type {
00505 PA_SUBSCRIPTION_EVENT_SINK = 0x0000U,
00508 PA_SUBSCRIPTION_EVENT_SOURCE = 0x0001U,
00511 PA_SUBSCRIPTION_EVENT_SINK_INPUT = 0x0002U,
00514 PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT = 0x0003U,
00517 PA_SUBSCRIPTION_EVENT_MODULE = 0x0004U,
00520 PA_SUBSCRIPTION_EVENT_CLIENT = 0x0005U,
00523 PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE = 0x0006U,
00526 PA_SUBSCRIPTION_EVENT_SERVER = 0x0007U,
00530 PA_SUBSCRIPTION_EVENT_AUTOLOAD = 0x0008U,
00534 PA_SUBSCRIPTION_EVENT_CARD = 0x0009U,
00537 PA_SUBSCRIPTION_EVENT_FACILITY_MASK = 0x000FU,
00540 PA_SUBSCRIPTION_EVENT_NEW = 0x0000U,
00543 PA_SUBSCRIPTION_EVENT_CHANGE = 0x0010U,
00546 PA_SUBSCRIPTION_EVENT_REMOVE = 0x0020U,
00549 PA_SUBSCRIPTION_EVENT_TYPE_MASK = 0x0030U
00552 } pa_subscription_event_type_t;
00553
00555 #define pa_subscription_match_flags(m, t) (!!((m) & (1 << ((t) & PA_SUBSCRIPTION_EVENT_FACILITY_MASK))))
00556
00558 #define PA_SUBSCRIPTION_MASK_NULL PA_SUBSCRIPTION_MASK_NULL
00559 #define PA_SUBSCRIPTION_MASK_SINK PA_SUBSCRIPTION_MASK_SINK
00560 #define PA_SUBSCRIPTION_MASK_SOURCE PA_SUBSCRIPTION_MASK_SOURCE
00561 #define PA_SUBSCRIPTION_MASK_SINK_INPUT PA_SUBSCRIPTION_MASK_SINK_INPUT
00562 #define PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT
00563 #define PA_SUBSCRIPTION_MASK_MODULE PA_SUBSCRIPTION_MASK_MODULE
00564 #define PA_SUBSCRIPTION_MASK_CLIENT PA_SUBSCRIPTION_MASK_CLIENT
00565 #define PA_SUBSCRIPTION_MASK_SAMPLE_CACHE PA_SUBSCRIPTION_MASK_SAMPLE_CACHE
00566 #define PA_SUBSCRIPTION_MASK_SERVER PA_SUBSCRIPTION_MASK_SERVER
00567 #define PA_SUBSCRIPTION_MASK_AUTOLOAD PA_SUBSCRIPTION_MASK_AUTOLOAD
00568 #define PA_SUBSCRIPTION_MASK_CARD PA_SUBSCRIPTION_MASK_CARD
00569 #define PA_SUBSCRIPTION_MASK_ALL PA_SUBSCRIPTION_MASK_ALL
00570 #define PA_SUBSCRIPTION_EVENT_SINK PA_SUBSCRIPTION_EVENT_SINK
00571 #define PA_SUBSCRIPTION_EVENT_SOURCE PA_SUBSCRIPTION_EVENT_SOURCE
00572 #define PA_SUBSCRIPTION_EVENT_SINK_INPUT PA_SUBSCRIPTION_EVENT_SINK_INPUT
00573 #define PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT
00574 #define PA_SUBSCRIPTION_EVENT_MODULE PA_SUBSCRIPTION_EVENT_MODULE
00575 #define PA_SUBSCRIPTION_EVENT_CLIENT PA_SUBSCRIPTION_EVENT_CLIENT
00576 #define PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE
00577 #define PA_SUBSCRIPTION_EVENT_SERVER PA_SUBSCRIPTION_EVENT_SERVER
00578 #define PA_SUBSCRIPTION_EVENT_AUTOLOAD PA_SUBSCRIPTION_EVENT_AUTOLOAD
00579 #define PA_SUBSCRIPTION_EVENT_CARD PA_SUBSCRIPTION_EVENT_CARD
00580 #define PA_SUBSCRIPTION_EVENT_FACILITY_MASK PA_SUBSCRIPTION_EVENT_FACILITY_MASK
00581 #define PA_SUBSCRIPTION_EVENT_NEW PA_SUBSCRIPTION_EVENT_NEW
00582 #define PA_SUBSCRIPTION_EVENT_CHANGE PA_SUBSCRIPTION_EVENT_CHANGE
00583 #define PA_SUBSCRIPTION_EVENT_REMOVE PA_SUBSCRIPTION_EVENT_REMOVE
00584 #define PA_SUBSCRIPTION_EVENT_TYPE_MASK PA_SUBSCRIPTION_EVENT_TYPE_MASK
00585
00605 typedef struct pa_timing_info {
00606 struct timeval timestamp;
00609 int synchronized_clocks;
00616 pa_usec_t sink_usec;
00621 pa_usec_t source_usec;
00625 pa_usec_t transport_usec;
00629 int playing;
00636 int write_index_corrupt;
00643 int64_t write_index;
00649 int read_index_corrupt;
00654 int64_t read_index;
00660 pa_usec_t configured_sink_usec;
00663 pa_usec_t configured_source_usec;
00666 int64_t since_underrun;
00672 } pa_timing_info;
00673
00681 typedef struct pa_spawn_api {
00682 void (*prefork)(void);
00686 void (*postfork)(void);
00690 void (*atfork)(void);
00696 } pa_spawn_api;
00697
00699 typedef enum pa_seek_mode {
00700 PA_SEEK_RELATIVE = 0,
00703 PA_SEEK_ABSOLUTE = 1,
00706 PA_SEEK_RELATIVE_ON_READ = 2,
00709 PA_SEEK_RELATIVE_END = 3
00711 } pa_seek_mode_t;
00712
00714 #define PA_SEEK_RELATIVE PA_SEEK_RELATIVE
00715 #define PA_SEEK_ABSOLUTE PA_SEEK_ABSOLUTE
00716 #define PA_SEEK_RELATIVE_ON_READ PA_SEEK_RELATIVE_ON_READ
00717 #define PA_SEEK_RELATIVE_END PA_SEEK_RELATIVE_END
00718
00721 typedef enum pa_sink_flags {
00722 PA_SINK_NOFLAGS = 0x0000U,
00725 PA_SINK_HW_VOLUME_CTRL = 0x0001U,
00729 PA_SINK_LATENCY = 0x0002U,
00732 PA_SINK_HARDWARE = 0x0004U,
00736 PA_SINK_NETWORK = 0x0008U,
00739 PA_SINK_HW_MUTE_CTRL = 0x0010U,
00743 PA_SINK_DECIBEL_VOLUME = 0x0020U,
00748 PA_SINK_FLAT_VOLUME = 0x0040U,
00752 PA_SINK_DYNAMIC_LATENCY = 0x0080U,
00756 PA_SINK_SET_FORMATS = 0x0100U,
00761 #ifdef __INCLUDED_FROM_PULSE_AUDIO
00762
00763
00764
00765
00766
00767 PA_SINK_SHARE_VOLUME_WITH_MASTER = 0x1000000U,
00771 PA_SINK_DEFERRED_VOLUME = 0x2000000U,
00774 #endif
00775
00776 } pa_sink_flags_t;
00777
00779 #define PA_SINK_HW_VOLUME_CTRL PA_SINK_HW_VOLUME_CTRL
00780 #define PA_SINK_LATENCY PA_SINK_LATENCY
00781 #define PA_SINK_HARDWARE PA_SINK_HARDWARE
00782 #define PA_SINK_NETWORK PA_SINK_NETWORK
00783 #define PA_SINK_HW_MUTE_CTRL PA_SINK_HW_MUTE_CTRL
00784 #define PA_SINK_DECIBEL_VOLUME PA_SINK_DECIBEL_VOLUME
00785 #define PA_SINK_FLAT_VOLUME PA_SINK_FLAT_VOLUME
00786 #define PA_SINK_DYNAMIC_LATENCY PA_SINK_DYNAMIC_LATENCY
00787 #define PA_SINK_SET_FORMATS PA_SINK_SET_FORMATS
00788 #ifdef __INCLUDED_FROM_PULSE_AUDIO
00789 #define PA_SINK_CLIENT_FLAGS_MASK 0xFFFFFF
00790 #endif
00791
00795 typedef enum pa_sink_state {
00796 PA_SINK_INVALID_STATE = -1,
00799 PA_SINK_RUNNING = 0,
00802 PA_SINK_IDLE = 1,
00805 PA_SINK_SUSPENDED = 2,
00809
00810
00811
00812
00813
00814
00815 PA_SINK_INIT = -2,
00818 PA_SINK_UNLINKED = -3
00822 } pa_sink_state_t;
00823
00825 static inline int PA_SINK_IS_OPENED(pa_sink_state_t x) {
00826 return x == PA_SINK_RUNNING || x == PA_SINK_IDLE;
00827 }
00828
00830 #define PA_SINK_INVALID_STATE PA_SINK_INVALID_STATE
00831 #define PA_SINK_RUNNING PA_SINK_RUNNING
00832 #define PA_SINK_IDLE PA_SINK_IDLE
00833 #define PA_SINK_SUSPENDED PA_SINK_SUSPENDED
00834 #define PA_SINK_INIT PA_SINK_INIT
00835 #define PA_SINK_UNLINKED PA_SINK_UNLINKED
00836 #define PA_SINK_IS_OPENED PA_SINK_IS_OPENED
00837
00840 typedef enum pa_source_flags {
00841 PA_SOURCE_NOFLAGS = 0x0000U,
00844 PA_SOURCE_HW_VOLUME_CTRL = 0x0001U,
00848 PA_SOURCE_LATENCY = 0x0002U,
00851 PA_SOURCE_HARDWARE = 0x0004U,
00855 PA_SOURCE_NETWORK = 0x0008U,
00858 PA_SOURCE_HW_MUTE_CTRL = 0x0010U,
00862 PA_SOURCE_DECIBEL_VOLUME = 0x0020U,
00867 PA_SOURCE_DYNAMIC_LATENCY = 0x0040U,
00871 PA_SOURCE_FLAT_VOLUME = 0x0080U,
00875 #ifdef __INCLUDED_FROM_PULSE_AUDIO
00876
00877
00878
00879
00880
00881 PA_SOURCE_SHARE_VOLUME_WITH_MASTER = 0x1000000U,
00885 PA_SOURCE_DEFERRED_VOLUME = 0x2000000U,
00887 #endif
00888 } pa_source_flags_t;
00889
00891 #define PA_SOURCE_HW_VOLUME_CTRL PA_SOURCE_HW_VOLUME_CTRL
00892 #define PA_SOURCE_LATENCY PA_SOURCE_LATENCY
00893 #define PA_SOURCE_HARDWARE PA_SOURCE_HARDWARE
00894 #define PA_SOURCE_NETWORK PA_SOURCE_NETWORK
00895 #define PA_SOURCE_HW_MUTE_CTRL PA_SOURCE_HW_MUTE_CTRL
00896 #define PA_SOURCE_DECIBEL_VOLUME PA_SOURCE_DECIBEL_VOLUME
00897 #define PA_SOURCE_DYNAMIC_LATENCY PA_SOURCE_DYNAMIC_LATENCY
00898 #define PA_SOURCE_FLAT_VOLUME PA_SOURCE_FLAT_VOLUME
00899 #ifdef __INCLUDED_FROM_PULSE_AUDIO
00900 #define PA_SOURCE_CLIENT_FLAGS_MASK 0xFFFFFF
00901 #endif
00902
00906 typedef enum pa_source_state {
00907 PA_SOURCE_INVALID_STATE = -1,
00910 PA_SOURCE_RUNNING = 0,
00913 PA_SOURCE_IDLE = 1,
00916 PA_SOURCE_SUSPENDED = 2,
00920
00921
00922
00923
00924
00925
00926 PA_SOURCE_INIT = -2,
00929 PA_SOURCE_UNLINKED = -3
00933 } pa_source_state_t;
00934
00936 static inline int PA_SOURCE_IS_OPENED(pa_source_state_t x) {
00937 return x == PA_SOURCE_RUNNING || x == PA_SOURCE_IDLE;
00938 }
00939
00941 #define PA_SOURCE_INVALID_STATE PA_SOURCE_INVALID_STATE
00942 #define PA_SOURCE_RUNNING PA_SOURCE_RUNNING
00943 #define PA_SOURCE_IDLE PA_SOURCE_IDLE
00944 #define PA_SOURCE_SUSPENDED PA_SOURCE_SUSPENDED
00945 #define PA_SOURCE_INIT PA_SOURCE_INIT
00946 #define PA_SOURCE_UNLINKED PA_SOURCE_UNLINKED
00947 #define PA_SOURCE_IS_OPENED PA_SOURCE_IS_OPENED
00948
00951 typedef void (*pa_free_cb_t)(void *p);
00952
00956 #define PA_STREAM_EVENT_REQUEST_CORK "request-cork"
00957
00961 #define PA_STREAM_EVENT_REQUEST_UNCORK "request-uncork"
00962
00968 #define PA_STREAM_EVENT_FORMAT_LOST "format-lost"
00969
00970 PA_C_DECL_END
00971
00972 #endif