PipeWire 1.2.7
Loading...
Searching...
No Matches
stream.h File Reference

pipewire/stream.h More...

Go to the source code of this file.

Data Structures

struct  pw_buffer
 a buffer structure obtained from pw_stream_dequeue_buffer(). More...
 
struct  pw_stream_control
 
struct  pw_time
 A time structure. More...
 
struct  pw_stream_events
 Events for a stream. More...
 

Macros

#define PW_VERSION_STREAM_EVENTS   2
 

Enumerations

enum  pw_stream_state {
  PW_STREAM_STATE_ERROR = -1 , PW_STREAM_STATE_UNCONNECTED = 0 , PW_STREAM_STATE_CONNECTING = 1 , PW_STREAM_STATE_PAUSED = 2 ,
  PW_STREAM_STATE_STREAMING = 3
}
 The state of a stream. More...
 
enum  pw_stream_flags {
  PW_STREAM_FLAG_NONE = 0 , PW_STREAM_FLAG_AUTOCONNECT = (1 << 0) , PW_STREAM_FLAG_INACTIVE = (1 << 1) , PW_STREAM_FLAG_MAP_BUFFERS = (1 << 2) ,
  PW_STREAM_FLAG_DRIVER = (1 << 3) , PW_STREAM_FLAG_RT_PROCESS = (1 << 4) , PW_STREAM_FLAG_NO_CONVERT = (1 << 5) , PW_STREAM_FLAG_EXCLUSIVE = (1 << 6) ,
  PW_STREAM_FLAG_DONT_RECONNECT = (1 << 7) , PW_STREAM_FLAG_ALLOC_BUFFERS = (1 << 8) , PW_STREAM_FLAG_TRIGGER = (1 << 9) , PW_STREAM_FLAG_ASYNC = (1 << 10) ,
  PW_STREAM_FLAG_EARLY_PROCESS = (1 << 11) , PW_STREAM_FLAG_RT_TRIGGER_DONE = (1 << 12)
}
 Extra flags that can be used in pw_stream_connect() More...
 

Functions

const char * pw_stream_state_as_string (enum pw_stream_state state)
 Convert a stream state to a readable string.
 
struct pw_streampw_stream_new (struct pw_core *core, const char *name, struct pw_properties *props)
 Create a new unconnected Stream.
 
struct pw_streampw_stream_new_simple (struct pw_loop *loop, const char *name, struct pw_properties *props, const struct pw_stream_events *events, void *data)
 
void pw_stream_destroy (struct pw_stream *stream)
 Destroy a stream.
 
void pw_stream_add_listener (struct pw_stream *stream, struct spa_hook *listener, const struct pw_stream_events *events, void *data)
 
enum pw_stream_state pw_stream_get_state (struct pw_stream *stream, const char **error)
 
const char * pw_stream_get_name (struct pw_stream *stream)
 
struct pw_corepw_stream_get_core (struct pw_stream *stream)
 
const struct pw_propertiespw_stream_get_properties (struct pw_stream *stream)
 
int pw_stream_update_properties (struct pw_stream *stream, const struct spa_dict *dict)
 
int pw_stream_connect (struct pw_stream *stream, enum pw_direction direction, uint32_t target_id, enum pw_stream_flags flags, const struct spa_pod **params, uint32_t n_params)
 Connect a stream for input or output on port_path.
 
uint32_t pw_stream_get_node_id (struct pw_stream *stream)
 Get the node ID of the stream.
 
int pw_stream_disconnect (struct pw_stream *stream)
 Disconnect stream

 
int pw_stream_set_error (struct pw_stream *stream, int res, const char *error,...)
 Set the stream in error state.
 
int pw_stream_update_params (struct pw_stream *stream, const struct spa_pod **params, uint32_t n_params)
 Update the param exposed on the stream.
 
int pw_stream_set_param (struct pw_stream *stream, uint32_t id, const struct spa_pod *param)
 Set a parameter on the stream.
 
const struct pw_stream_controlpw_stream_get_control (struct pw_stream *stream, uint32_t id)
 Get control values.
 
int pw_stream_set_control (struct pw_stream *stream, uint32_t id, uint32_t n_values, float *values,...)
 Set control values.
 
int pw_stream_get_time_n (struct pw_stream *stream, struct pw_time *time, size_t size)
 Query the time on the stream.
 
uint64_t pw_stream_get_nsec (struct pw_stream *stream)
 Get the current time in nanoseconds.
 
struct pw_looppw_stream_get_data_loop (struct pw_stream *stream)
 Get the data loop that is doing the processing of this stream.
 
int pw_stream_get_time (struct pw_stream *stream, struct pw_time *time)
 Query the time on the stream, deprecated since 0.3.50, use pw_stream_get_time_n() to get the fields added since 0.3.50.
 
struct pw_bufferpw_stream_dequeue_buffer (struct pw_stream *stream)
 Get a buffer that can be filled for playback streams or consumed for capture streams.
 
int pw_stream_queue_buffer (struct pw_stream *stream, struct pw_buffer *buffer)
 Submit a buffer for playback or recycle a buffer for capture.
 
int pw_stream_set_active (struct pw_stream *stream, bool active)
 Activate or deactivate the stream.
 
int pw_stream_flush (struct pw_stream *stream, bool drain)
 Flush a stream.
 
bool pw_stream_is_driving (struct pw_stream *stream)
 Check if the stream is driving.
 
bool pw_stream_is_lazy (struct pw_stream *stream)
 Check if the graph is using lazy scheduling.
 
int pw_stream_trigger_process (struct pw_stream *stream)
 Trigger a push/pull on the stream.
 

Detailed Description