Loading...
Searching...
No Matches
filter.h File Reference
Filter

pipewire/filter.h More...

Go to the source code of this file.

## Data Structures

struct | pw_filter_events
| Events for a filter. More...

## Macros

#define | PW_VERSION_FILTER_EVENTS 1

## Enumerations

enum | pw_filter_state { PW_FILTER_STATE_ERROR = -1 , PW_FILTER_STATE_UNCONNECTED = 0 , PW_FILTER_STATE_CONNECTING = 1 , PW_FILTER_STATE_PAUSED = 2 , PW_FILTER_STATE_STREAMING = 3 }
| The state of a filter. More...
enum | pw_filter_flags { PW_FILTER_FLAG_NONE = 0 , PW_FILTER_FLAG_INACTIVE = (1 << 0) , PW_FILTER_FLAG_DRIVER = (1 << 1) , PW_FILTER_FLAG_RT_PROCESS = (1 << 2) , PW_FILTER_FLAG_CUSTOM_LATENCY = (1 << 3) , PW_FILTER_FLAG_TRIGGER = (1 << 4) , PW_FILTER_FLAG_ASYNC = (1 << 5) }
| Extra flags that can be used in pw_filter_connect(). More...
enum | pw_filter_port_flags { PW_FILTER_PORT_FLAG_NONE = 0 , PW_FILTER_PORT_FLAG_MAP_BUFFERS = (1 << 0) , PW_FILTER_PORT_FLAG_ALLOC_BUFFERS = (1 << 1) }

## Functions

const char * | pw_filter_state_as_string (enum pw_filter_state state)
| Convert a filter state to a readable string.
struct pw_filter * | pw_filter_new (struct pw_core *core, const char *name, struct pw_properties *props)
| Create a new unconnected Filter.
struct pw_filter * | pw_filter_new_simple (struct pw_loop *loop, const char *name, struct pw_properties *props, const struct pw_filter_events *events, void *data)
void | pw_filter_destroy (struct pw_filter *filter)
| Destroy a filter.
void | pw_filter_add_listener (struct pw_filter *filter, struct spa_hook *listener, const struct pw_filter_events *events, void *data)
enum pw_filter_state | pw_filter_get_state (struct pw_filter *filter, const char **error)
| Get the current filter state.
const char * | pw_filter_get_name (struct pw_filter *filter)
struct pw_core * | pw_filter_get_core (struct pw_filter *filter)
int | pw_filter_connect (struct pw_filter *filter, enum pw_filter_flags flags, const struct spa_pod **params, uint32_t n_params)
| Connect a filter for processing.
uint32_t | pw_filter_get_node_id (struct pw_filter *filter)
| Get the node ID of the filter.
int | pw_filter_disconnect (struct pw_filter *filter)
| Disconnect filter.
void * | pw_filter_add_port (struct pw_filter *filter, enum pw_direction direction, enum pw_filter_port_flags flags, size_t port_data_size, struct pw_properties *props, const struct spa_pod **params, uint32_t n_params)
| add a port to the filter, returns user data of port_data_size.
int | pw_filter_remove_port (void *port_data)
| remove a port from the filter
const struct pw_properties * | pw_filter_get_properties (struct pw_filter *filter, void *port_data)
| get properties, port_data of NULL will give global properties
int | pw_filter_update_properties (struct pw_filter *filter, void *port_data, const struct spa_dict *dict)
| Update properties, use NULL port_data for global filter properties.
int | pw_filter_set_error (struct pw_filter *filter, int res, const char *error,...)
| Set the filter in error state.
int | pw_filter_update_params (struct pw_filter *filter, void *port_data, const struct spa_pod **params, uint32_t n_params)
| Update params, use NULL port_data for global filter params.
int | pw_filter_get_time (struct pw_filter *filter, struct pw_time *time)
| Query the time on the filter, deprecated, use the spa_io_position in the process() method for timing information.
uint64_t | pw_filter_get_nsec (struct pw_filter *filter)
| Get the current time in nanoseconds.
struct pw_loop * | pw_filter_get_data_loop (struct pw_filter *filter)
| Get the data loop that is doing the processing of this filter.
struct pw_buffer * | pw_filter_dequeue_buffer (void *port_data)
| Get a buffer that can be filled for output ports or consumed for input ports.
int | pw_filter_queue_buffer (void *port_data, struct pw_buffer *buffer)
| Submit a buffer for playback or recycle a buffer for capture.
void * | pw_filter_get_dsp_buffer (void *port_data, uint32_t n_samples)
| Get a data pointer to the buffer data.
int | pw_filter_set_active (struct pw_filter *filter, bool active)
| Activate or deactivate the filter.
int | pw_filter_flush (struct pw_filter *filter, bool drain)
| Flush a filter.
bool | pw_filter_is_driving (struct pw_filter *filter)
| Check if the filter is driving.
bool | pw_filter_is_lazy (struct pw_filter *filter)
| Check if the graph is using lazy scheduling.
int | pw_filter_trigger_process (struct pw_filter *filter)
| Trigger a push/pull on the filter.
int | pw_filter_emit_event (struct pw_filter *filter, const struct spa_event *event)
| Emit an event from this filter.

## Detailed Description

pipewire/filter.h