PipeWire: pw_stream_events Struct Reference

PipeWire 0.3.12

Data Fields
pw_stream_events Struct Reference

Events for a stream. More...

## Data Fields
uint32_t | version
void(* | destroy )(void *data)
void(* | state_changed )(void *data, enum pw_stream_state old, enum pw_stream_state state, const char *error)
| when the stream state changes More...
void(* | control_info )(void *data, uint32_t id, const struct pw_stream_control *control)
| Notify information about a control. More...
void(* | io_changed )(void *data, uint32_t id, void *area, uint32_t size)
| when io changed on the stream. More...
void(* | param_changed )(void *data, uint32_t id, const struct spa_pod *param)
| when a parameter changed More...
void(* | add_buffer )(void *data, struct pw_buffer *buffer)
| when a new buffer was created for this stream More...
void(* | remove_buffer )(void *data, struct pw_buffer *buffer)
| when a buffer was destroyed for this stream More...
void(* | process )(void *data)
| when a buffer can be queued (for playback streams) or dequeued (for capture streams). More...
void(* | drained )(void *data)
| The stream is drained. More...

## Detailed Description

Events for a stream.

These events are always called from the mainloop unless explicitly documented otherwise.

## Field Documentation

## ◆ add_buffer

void(* pw_stream_events::add_buffer) (void *data, struct pw_buffer *buffer)

when a new buffer was created for this stream

## ◆ control_info

void(* pw_stream_events::control_info) (void *data, uint32_t id, const struct pw_stream_control *control)

Notify information about a control.

## ◆ destroy

void(* pw_stream_events::destroy) (void *data)

## ◆ drained

void(* pw_stream_events::drained) (void *data)

The stream is drained.

## ◆ io_changed

void(* pw_stream_events::io_changed) (void *data, uint32_t id, void *area, uint32_t size)

when io changed on the stream.

## ◆ param_changed

void(* pw_stream_events::param_changed) (void *data, uint32_t id, const struct spa_pod *param)

when a parameter changed

## ◆ process

void(* pw_stream_events::process) (void *data)

when a buffer can be queued (for playback streams) or dequeued (for capture streams).

This is normally called from the mainloop but can also be called directly from the realtime data thread if the user is prepared to deal with this.

## ◆ remove_buffer

void(* pw_stream_events::remove_buffer) (void *data, struct pw_buffer *buffer)

when a buffer was destroyed for this stream

## ◆ state_changed

void(* pw_stream_events::state_changed) (void *data, enum pw_stream_state old, enum pw_stream_state state, const char *error)

when the stream state changes

## ◆ version

uint32_t pw_stream_events::version

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

- stream.h