PipeWire  0.3.15
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_core *core, 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, 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. 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...
 
int int pw_stream_update_params (struct pw_stream *stream, const struct spa_pod **params, uint32_t n_params)
 Complete the negotiation process with result code res. More...
 
int pw_stream_get_time (struct pw_stream *stream, struct pw_time *time)
 Query the time on the stream. More...
 
int pw_stream_set_active (struct pw_stream *stream, bool active)
 Activate or deactivate the 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,
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.

Returns
0 on success < 0 on error.

You should connect to the process event and use pw_stream_dequeue_buffer() to get the latest metadata and data.

Parameters
streama pw_stream
directionthe stream direction
target_idthe target object id to connect to or PW_ID_ANY to let the manager select a target.
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.

◆ pw_stream_disconnect()

int pw_stream_disconnect ( struct pw_stream stream)

Disconnect stream.

Referenced by pw_stream_destroy().

◆ 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_core *  core,
const char *  name,
struct pw_properties props 
)

Create a new unconneced pw_stream.

Returns
a newly allocated pw_stream
Parameters
corea pw_core
namea stream media name
propsstream properties, ownership is taken

◆ 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.

◆ pw_stream_update_params()

int int pw_stream_update_params ( struct pw_stream stream,
const 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
paramsan array of params. The params should ideally contain parameters for doing buffer allocation.
n_paramsnumber of elements in params

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