PipeWire  0.1.9
pw_stream Class Reference

PipeWire stream object class. More...

Public Member Functions

const char * pw_stream_state_as_string (enum pw_stream_state state)
 Convert a stream state to a readable string. More...
 
struct pw_streampw_stream_new (struct pw_remote *remote, const char *name, struct pw_properties *props)
 Create a new unconneced pw_stream. More...
 
void pw_stream_destroy (struct pw_stream *stream)
 Destroy a stream. More...
 
int pw_stream_connect (struct pw_stream *stream, enum pw_direction direction, const char *port_path, enum pw_stream_flags flags, const struct spa_pod **params, uint32_t n_params)
 Connect a stream for input or output on port_path. More...
 
uint32_t pw_stream_get_node_id (struct pw_stream *stream)
 Get the node ID of the stream. More...
 
int pw_stream_disconnect (struct pw_stream *stream)
 Disconnect stream. More...
 
void pw_stream_finish_format (struct pw_stream *stream, int res, struct spa_pod **params, uint32_t n_params)
 Complete the negotiation process with result code res. More...
 
int pw_stream_set_active (struct pw_stream *stream, bool active)
 Activate or deactivate the stream. More...
 
int pw_stream_get_time (struct pw_stream *stream, struct pw_time *time)
 Query the time on the stream. More...
 
uint32_t pw_stream_get_empty_buffer (struct pw_stream *stream)
 Get the id of an empty buffer that can be filled. More...
 
int pw_stream_recycle_buffer (struct pw_stream *stream, uint32_t id)
 Recycle the buffer with id. More...
 
struct spa_buffer * pw_stream_peek_buffer (struct pw_stream *stream, uint32_t id)
 Get the buffer with id from stream. More...
 
int pw_stream_send_buffer (struct pw_stream *stream, uint32_t id)
 Send a buffer with id to stream. More...
 

Detailed Description

PipeWire stream object class.

The stream object provides a convenient way to send and receive data streams from/to PipeWire.

See also Media Streams and Core API

Member Function Documentation

◆ pw_stream_connect()

int pw_stream_connect ( struct pw_stream stream,
enum pw_direction  direction,
const char *  port_path,
enum pw_stream_flags  flags,
const struct spa_pod **  params,
uint32_t  n_params 
)

Connect a stream for input or output on port_path.

Returns
0 on success < 0 on error.

When mode is PW_STREAM_MODE_BUFFER, you should connect to the new-buffer event and use pw_stream_peek_buffer() to get the latest metadata and data.

Parameters
streama pw_stream
directionthe stream direction
port_paththe port path to connect to or NULL to let the server choose a port
flagsstream flags
paramsan array with params. The params should ideally contain supported formats.
n_paramsnumber of items in params

◆ pw_stream_destroy()

void pw_stream_destroy ( struct pw_stream stream)

Destroy a stream.

Referenced by pw_remote_destroy().

◆ pw_stream_disconnect()

int pw_stream_disconnect ( struct pw_stream stream)

Disconnect stream.

Referenced by pw_remote_disconnect(), and pw_stream_destroy().

◆ pw_stream_finish_format()

void pw_stream_finish_format ( struct pw_stream stream,
int  res,
struct spa_pod **  params,
uint32_t  n_params 
)

Complete the negotiation process with result code res.

This function should be called after notification of the format.

When res indicates success, params contain the parameters for the allocation state.

Parameters
streama pw_stream
resa result code
paramsan array of params. The params should ideally contain parameters for doing buffer allocation.
n_paramsnumber of elements in params

◆ pw_stream_get_empty_buffer()

uint32_t pw_stream_get_empty_buffer ( struct pw_stream stream)

Get the id of an empty buffer that can be filled.

Returns
the id of an empty buffer or SPA_ID_INVALID when no buffer is available.

◆ pw_stream_get_node_id()

uint32_t pw_stream_get_node_id ( struct pw_stream stream)

Get the node ID of the stream.

Returns
node ID.

◆ pw_stream_get_time()

int pw_stream_get_time ( struct pw_stream stream,
struct pw_time time 
)

Query the time on the stream.

◆ pw_stream_new()

struct pw_stream * pw_stream_new ( struct pw_remote remote,
const char *  name,
struct pw_properties props 
)

Create a new unconneced pw_stream.

Returns
a newly allocated pw_stream
Parameters
remotea pw_remote
namea stream name
propsstream properties, ownership is taken

◆ pw_stream_peek_buffer()

struct spa_buffer * pw_stream_peek_buffer ( struct pw_stream stream,
uint32_t  id 
)

Get the buffer with id from stream.

Returns
a spa_buffer or NULL when there is no buffer

This function should be called from the new-buffer event.

◆ pw_stream_recycle_buffer()

int pw_stream_recycle_buffer ( struct pw_stream stream,
uint32_t  id 
)

Recycle the buffer with id.

Returns
0 on success, < 0 when id is invalid or not a used buffer Let the PipeWire server know that it can reuse the buffer with id.

◆ pw_stream_send_buffer()

int pw_stream_send_buffer ( struct pw_stream stream,
uint32_t  id 
)

Send a buffer with id to stream.

Returns
0 when id was handled, < 0 on error

For provider or playback streams, this function should be called whenever there is a new buffer available.

◆ pw_stream_set_active()

int pw_stream_set_active ( struct pw_stream stream,
bool  active 
)

Activate or deactivate the stream.

◆ pw_stream_state_as_string()

const char * pw_stream_state_as_string ( enum pw_stream_state  state)

Convert a stream state to a readable string.


The documentation for this class was generated from the following file: