PipeWire 1.0.4
Loading...
Searching...
No Matches
pw_filter_events Struct Reference

Events for a filter. More...

#include <pipewire/filter.h>

Data Fields

uint32_t version
 
void(* destroy )(void *data)
 
void(* state_changed )(void *data, enum pw_filter_state old, enum pw_filter_state state, const char *error)
 when the filter state changes
 
void(* io_changed )(void *data, void *port_data, uint32_t id, void *area, uint32_t size)
 when io changed on a port of the filter (when port_data is NULL).
 
void(* param_changed )(void *data, void *port_data, uint32_t id, const struct spa_pod *param)
 when a parameter changed on a port of the filter (when port_data is NULL).
 
void(* add_buffer )(void *data, void *port_data, struct pw_buffer *buffer)
 when a new buffer was created for a port
 
void(* remove_buffer )(void *data, void *port_data, struct pw_buffer *buffer)
 when a buffer was destroyed for a port
 
void(* process )(void *data, struct spa_io_position *position)
 do processing.
 
void(* drained )(void *data)
 The filter is drained.
 
void(* command )(void *data, const struct spa_command *command)
 A command notify, Since 0.3.39:1.
 

Detailed Description

Events for a filter.

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

Examples
audio-dsp-filter.c, audio-dsp-src.c, and video-dsp-play.c.

Field Documentation

◆ version

uint32_t pw_filter_events::version

◆ destroy

void(* pw_filter_events::destroy) (void *data)

◆ state_changed

void(* pw_filter_events::state_changed) (void *data, enum pw_filter_state old, enum pw_filter_state state, const char *error)

when the filter state changes

◆ io_changed

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

when io changed on a port of the filter (when port_data is NULL).

◆ param_changed

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

when a parameter changed on a port of the filter (when port_data is NULL).

◆ add_buffer

void(* pw_filter_events::add_buffer) (void *data, void *port_data, struct pw_buffer *buffer)

when a new buffer was created for a port

◆ remove_buffer

void(* pw_filter_events::remove_buffer) (void *data, void *port_data, struct pw_buffer *buffer)

when a buffer was destroyed for a port

◆ process

void(* pw_filter_events::process) (void *data, struct spa_io_position *position)

do processing.

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.

◆ drained

void(* pw_filter_events::drained) (void *data)

The filter is drained.

◆ command

void(* pw_filter_events::command) (void *data, const struct spa_command *command)

A command notify, Since 0.3.39:1.


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