24 #include <sys/types.h>
31 #include <pulse/cdecl.h>
335 unsigned int n_formats ,
Constants and routines for channel mapping handling.
Connection contexts for asynchronous communication with a server.
struct pa_context pa_context
An opaque connection context to a daemon.
Definition: context.h:154
void(* pa_free_cb_t)(void *p)
A generic free() like callback prototype.
Definition: def.h:1037
enum pa_stream_flags pa_stream_flags_t
Some special flags for stream connections.
enum pa_stream_state pa_stream_state_t
The state of a stream.
enum pa_seek_mode pa_seek_mode_t
Seek type for pa_stream_write().
struct pa_operation pa_operation
An asynchronous operation object.
Definition: operation.h:33
Property list constants and functions.
enum pa_update_mode pa_update_mode_t
Update mode enum for pa_proplist_update().
struct pa_proplist pa_proplist
A property list object.
Definition: proplist.h:278
Constants and routines for sample type handling.
uint64_t pa_usec_t
Type for usec specifications (unsigned).
Definition: sample.h:264
const pa_timing_info * pa_stream_get_timing_info(pa_stream *s)
Return the latest raw timing data structure.
uint32_t pa_stream_get_monitor_stream(const pa_stream *s)
Return the sink input index previously set with pa_stream_set_monitor_stream().
pa_operation * pa_stream_cork(pa_stream *s, int b, pa_stream_success_cb_t cb, void *userdata)
Pause (or resume) playback of this stream temporarily.
const pa_sample_spec * pa_stream_get_sample_spec(pa_stream *s)
Return a pointer to the stream's sample specification.
void pa_stream_set_state_callback(pa_stream *s, pa_stream_notify_cb_t cb, void *userdata)
Set the callback function that is called whenever the state of the stream changes.
int pa_stream_cancel_write(pa_stream *p)
Reverses the effect of pa_stream_begin_write() dropping all data that has already been placed in the ...
int pa_stream_set_monitor_stream(pa_stream *s, uint32_t sink_input_idx)
For record streams connected to a monitor source: monitor only a very specific sink input of the sink...
void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata)
Set the callback function that is called when new data may be written to the stream.
int pa_stream_drop(pa_stream *p)
Remove the current fragment on record streams.
int64_t pa_stream_get_underflow_index(const pa_stream *p)
Return at what position the latest underflow occurred, or -1 if this information is not known (e....
pa_context * pa_stream_get_context(const pa_stream *p)
Return the context this stream is attached to.
void pa_stream_set_suspended_callback(pa_stream *p, pa_stream_notify_cb_t cb, void *userdata)
Set the callback function that is called whenever the sink/source this stream is connected to is susp...
int pa_stream_write(pa_stream *p, const void *data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek)
Write some data to the server (for playback streams).
pa_stream * pa_stream_ref(pa_stream *s)
Increase the reference counter by one.
void pa_stream_set_event_callback(pa_stream *p, pa_stream_event_cb_t cb, void *userdata)
Set the callback function that is called whenever a meta/policy control event is received.
pa_stream * pa_stream_new_with_proplist(pa_context *c, const char *name, const pa_sample_spec *ss, const pa_channel_map *map, pa_proplist *p)
Create a new, unconnected stream with the specified name and sample type, and specify the initial str...
pa_operation * pa_stream_proplist_update(pa_stream *s, pa_update_mode_t mode, pa_proplist *p, pa_stream_success_cb_t cb, void *userdata)
Update the property list of the sink input/source output of this stream, adding new entries.
pa_operation * pa_stream_prebuf(pa_stream *s, pa_stream_success_cb_t cb, void *userdata)
Reenable prebuffering if specified in the pa_buffer_attr structure.
void pa_stream_set_underflow_callback(pa_stream *p, pa_stream_notify_cb_t cb, void *userdata)
Set the callback function that is called when a buffer underflow happens.
void(* pa_stream_success_cb_t)(pa_stream *s, int success, void *userdata)
A generic callback for operation completion.
Definition: stream.h:292
void pa_stream_set_buffer_attr_callback(pa_stream *p, pa_stream_notify_cb_t cb, void *userdata)
Set the callback function that is called whenever the buffer attributes on the server side change.
int pa_stream_begin_write(pa_stream *p, void **data, size_t *nbytes)
Prepare writing data to the server (for playback streams).
void pa_stream_set_moved_callback(pa_stream *p, pa_stream_notify_cb_t cb, void *userdata)
Set the callback function that is called whenever the stream is moved to a different sink/source.
pa_operation * pa_stream_update_sample_rate(pa_stream *s, uint32_t rate, pa_stream_success_cb_t cb, void *userdata)
Change the stream sampling rate during playback.
void pa_stream_unref(pa_stream *s)
Decrease the reference counter by one.
void(* pa_stream_event_cb_t)(pa_stream *p, const char *name, pa_proplist *pl, void *userdata)
A callback for asynchronous meta/policy event messages.
Definition: stream.h:306
int pa_stream_is_corked(const pa_stream *s)
Return 1 if the this stream has been corked.
size_t pa_stream_writable_size(const pa_stream *p)
Return the number of bytes requested by the server that have not yet been written.
pa_operation * pa_stream_drain(pa_stream *s, pa_stream_success_cb_t cb, void *userdata)
Drain a playback stream.
uint32_t pa_stream_get_device_index(const pa_stream *s)
Return the index of the sink or source this stream is connected to in the server.
struct pa_stream pa_stream
An opaque stream for playback or recording.
Definition: stream.h:289
const pa_buffer_attr * pa_stream_get_buffer_attr(pa_stream *s)
Return the per-stream server-side buffer metrics of the stream.
int pa_stream_get_time(pa_stream *s, pa_usec_t *r_usec)
Return the current playback/recording time.
void pa_stream_set_latency_update_callback(pa_stream *p, pa_stream_notify_cb_t cb, void *userdata)
Set the callback function that is called whenever a latency information update happens.
uint32_t pa_stream_get_index(const pa_stream *s)
Return the sink input resp. source output index this stream is identified in the server with.
int pa_stream_disconnect(pa_stream *s)
Disconnect a stream from a source/sink.
int pa_stream_get_latency(pa_stream *s, pa_usec_t *r_usec, int *negative)
Determine the total stream latency.
size_t pa_stream_readable_size(const pa_stream *p)
Return the number of bytes that may be read using pa_stream_peek().
void pa_stream_set_started_callback(pa_stream *p, pa_stream_notify_cb_t cb, void *userdata)
Set the callback function that is called when the server starts playback after an underrun or on init...
int pa_stream_write_ext_free(pa_stream *p, const void *data, size_t nbytes, pa_free_cb_t free_cb, void *free_cb_data, int64_t offset, pa_seek_mode_t seek)
Function does exactly the same as pa_stream_write() with the difference that free_cb_data is passed t...
const char * pa_stream_get_device_name(const pa_stream *s)
Return the name of the sink or source this stream is connected to in the server.
pa_operation * pa_stream_set_name(pa_stream *s, const char *name, pa_stream_success_cb_t cb, void *userdata)
Rename the stream.
int pa_stream_connect_playback(pa_stream *s, const char *dev, const pa_buffer_attr *attr, pa_stream_flags_t flags, const pa_cvolume *volume, pa_stream *sync_stream)
Connect the stream to a sink.
pa_stream * pa_stream_new(pa_context *c, const char *name, const pa_sample_spec *ss, const pa_channel_map *map)
Create a new, unconnected stream with the specified name and sample type.
void pa_stream_set_read_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata)
Set the callback function that is called when new data is available from the stream.
void(* pa_stream_request_cb_t)(pa_stream *p, size_t nbytes, void *userdata)
A generic request callback.
Definition: stream.h:295
int pa_stream_connect_record(pa_stream *s, const char *dev, const pa_buffer_attr *attr, pa_stream_flags_t flags)
Connect the stream to a source.
pa_operation * pa_stream_proplist_remove(pa_stream *s, const char *const keys[], pa_stream_success_cb_t cb, void *userdata)
Update the property list of the sink input/source output of this stream, remove entries.
int pa_stream_peek(pa_stream *p, const void **data, size_t *nbytes)
Read the next fragment from the buffer (for recording streams).
const pa_channel_map * pa_stream_get_channel_map(pa_stream *s)
Return a pointer to the stream's channel map.
pa_operation * pa_stream_update_timing_info(pa_stream *p, pa_stream_success_cb_t cb, void *userdata)
Request a timing info structure update for a stream.
void(* pa_stream_notify_cb_t)(pa_stream *p, void *userdata)
A generic notification callback.
Definition: stream.h:298
pa_operation * pa_stream_flush(pa_stream *s, pa_stream_success_cb_t cb, void *userdata)
Flush the playback or record buffer of this stream.
pa_stream * pa_stream_new_extended(pa_context *c, const char *name, pa_format_info *const *formats, unsigned int n_formats, pa_proplist *p)
Create a new, unconnected stream with the specified name, the set of formats this client can provide,...
pa_operation * pa_stream_trigger(pa_stream *s, pa_stream_success_cb_t cb, void *userdata)
Request immediate start of playback on this stream.
int pa_stream_is_suspended(const pa_stream *s)
Return 1 if the sink or source this stream is connected to has been suspended.
const pa_format_info * pa_stream_get_format_info(const pa_stream *s)
Return a pointer to the stream's format.
void pa_stream_set_overflow_callback(pa_stream *p, pa_stream_notify_cb_t cb, void *userdata)
Set the callback function that is called when a buffer overflow happens.
pa_operation * pa_stream_set_buffer_attr(pa_stream *s, const pa_buffer_attr *attr, pa_stream_success_cb_t cb, void *userdata)
Change the buffer metrics of the stream during playback.
pa_stream_state_t pa_stream_get_state(const pa_stream *p)
Return the current state of the stream.
Playback and record buffer metrics.
Definition: def.h:389
A channel map which can be used to attach labels to specific channels of a stream.
Definition: channelmap.h:264
A structure encapsulating a per-channel volume.
Definition: volume.h:145
A sample format and attribute specification.
Definition: sample.h:252
A structure for all kinds of timing information of a stream.
Definition: def.h:680
Constants and routines for volume handling.