PipeWire  0.2.0
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(* format_changed )(void *data, const struct spa_pod *format)
 when the format 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...
 

Detailed Description

Events for a stream.

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

◆ destroy

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

◆ format_changed

void(* pw_stream_events::format_changed) (void *data, const struct spa_pod *format)

when the format changed.

The listener should call pw_stream_finish_format() from within this callback or later to complete the format negotiation and start the buffer negotiation.

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