PipeWire
0.3.15
|
Data Structures | |
struct | buffer |
struct | queue |
struct | data |
struct | param |
struct | port |
struct | filter |
Macros | |
#define | NAME "filter" |
#define | MAX_SAMPLES 8192 |
#define | MAX_BUFFERS 64 |
#define | MASK_BUFFERS (MAX_BUFFERS-1) |
#define | MAX_PORTS 1024 |
#define | BUFFER_FLAG_MAPPED (1 << 0) |
#define | BUFFER_FLAG_QUEUED (1 << 1) |
#define | BUFFER_FLAG_ADDED (1 << 2) |
#define | PARAM_FLAG_LOCKED (1 << 0) |
Functions | |
SPA_EXPORT struct pw_filter * | pw_filter_new (struct pw_core *core, const char *name, struct pw_properties *props) |
SPA_EXPORT 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) |
const SPA_EXPORT char * | pw_filter_state_as_string (enum pw_filter_state state) |
SPA_EXPORT void | pw_filter_destroy (struct pw_filter *filter) |
SPA_EXPORT void | pw_filter_add_listener (struct pw_filter *filter, struct spa_hook *listener, const struct pw_filter_events *events, void *data) |
SPA_EXPORT enum pw_filter_state | pw_filter_get_state (struct pw_filter *filter, const char **error) |
SPA_EXPORT struct pw_core * | pw_filter_get_core (struct pw_filter *filter) |
const SPA_EXPORT char * | pw_filter_get_name (struct pw_filter *filter) |
SPA_EXPORT 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 More... | |
SPA_EXPORT 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. More... | |
SPA_EXPORT int | pw_filter_connect (struct pw_filter *filter, enum pw_filter_flags flags, const struct spa_pod **params, uint32_t n_params) |
SPA_EXPORT uint32_t | pw_filter_get_node_id (struct pw_filter *filter) |
SPA_EXPORT int | pw_filter_disconnect (struct pw_filter *filter) |
SPA_EXPORT 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. More... | |
SPA_EXPORT int | pw_filter_remove_port (void *port_data) |
remove a port from the filter More... | |
SPA_EXPORT int | pw_filter_set_error (struct pw_filter *filter, int res, const char *error,...) |
SPA_EXPORT 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. More... | |
SPA_EXPORT int | pw_filter_set_active (struct pw_filter *filter, bool active) |
SPA_EXPORT int | pw_filter_get_time (struct pw_filter *filter, struct pw_time *time) |
SPA_EXPORT 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. More... | |
SPA_EXPORT int | pw_filter_queue_buffer (void *port_data, struct pw_buffer *buffer) |
Submit a buffer for playback or recycle a buffer for capture. More... | |
SPA_EXPORT void * | pw_filter_get_dsp_buffer (void *port_data, uint32_t n_samples) |
Get a data pointer to the buffer data. More... | |
SPA_EXPORT int | pw_filter_flush (struct pw_filter *filter, bool drain) |
Flush a filter. More... | |
#define BUFFER_FLAG_ADDED (1 << 2) |
#define BUFFER_FLAG_MAPPED (1 << 0) |
#define BUFFER_FLAG_QUEUED (1 << 1) |
#define MASK_BUFFERS (MAX_BUFFERS-1) |
#define MAX_BUFFERS 64 |
#define MAX_PORTS 1024 |
#define MAX_SAMPLES 8192 |
#define NAME "filter" |
#define PARAM_FLAG_LOCKED (1 << 0) |
SPA_EXPORT void pw_filter_add_listener | ( | struct pw_filter * | filter, |
struct spa_hook * | listener, | ||
const struct pw_filter_events * | events, | ||
void * | data | ||
) |
SPA_EXPORT 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.
References port::props, pw_properties::pw_properties_new(), and res.
SPA_EXPORT int pw_filter_connect | ( | struct pw_filter * | filter, |
enum pw_filter_flags | flags, | ||
const struct spa_pod ** | params, | ||
uint32_t | n_params | ||
) |
References filter::flags, NAME, PW_FILTER_FLAG_RT_PROCESS, pw_log::pw_log_debug, pw_properties::pw_properties_set(), and res.
SPA_EXPORT 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.
References port::filter, res, and port::user_data.
Referenced by pw_filter_get_dsp_buffer().
SPA_EXPORT void pw_filter_destroy | ( | struct pw_filter * | filter | ) |
SPA_EXPORT int pw_filter_disconnect | ( | struct pw_filter * | filter | ) |
References NAME, pw_core_disconnect(), pw_log::pw_log_debug, and pw_proxy::pw_proxy_destroy().
SPA_EXPORT int pw_filter_flush | ( | struct pw_filter * | filter, |
bool | drain | ||
) |
Flush a filter.
When drain is true, the drained callback will be called when all data is played or recorded
References pw_loop_invoke.
SPA_EXPORT struct pw_core* pw_filter_get_core | ( | struct pw_filter * | filter | ) |
SPA_EXPORT void* pw_filter_get_dsp_buffer | ( | void * | port_data, |
uint32_t | n_samples | ||
) |
Get a data pointer to the buffer data.
References pw_filter_dequeue_buffer(), and port::user_data.
const SPA_EXPORT char* pw_filter_get_name | ( | struct pw_filter * | filter | ) |
SPA_EXPORT uint32_t pw_filter_get_node_id | ( | struct pw_filter * | filter | ) |
SPA_EXPORT 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
References port::props, and port::user_data.
SPA_EXPORT enum pw_filter_state pw_filter_get_state | ( | struct pw_filter * | filter, |
const char ** | error | ||
) |
References pw_time::delay, NAME, pw_time::now, pw_log::pw_log_trace, pw_time::rate, pw_time::ticks, and filter::time.
SPA_EXPORT struct pw_filter* pw_filter_new | ( | struct pw_core * | core, |
const char * | name, | ||
struct pw_properties * | props | ||
) |
SPA_EXPORT 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 | ||
) |
References pw_context_new(), pw_properties::pw_properties_new(), and res.
SPA_EXPORT int pw_filter_queue_buffer | ( | void * | port_data, |
struct pw_buffer * | buffer | ||
) |
Submit a buffer for playback or recycle a buffer for capture.
References port::filter, buffer::id, NAME, pw_log::pw_log_trace, res, and port::user_data.
SPA_EXPORT int pw_filter_remove_port | ( | void * | port_data | ) |
remove a port from the filter
References port::direction, port::filter, port::id, port::link, and port::user_data.
Referenced by pw_filter_destroy().
SPA_EXPORT int pw_filter_set_active | ( | struct pw_filter * | filter, |
bool | active | ||
) |
References NAME, and pw_log::pw_log_debug.
SPA_EXPORT int pw_filter_set_error | ( | struct pw_filter * | filter, |
int | res, | ||
const char * | error, | ||
... | |||
) |
References args, pw_proxy_error(), r, res, va_end(), and va_start().
const SPA_EXPORT char* pw_filter_state_as_string | ( | enum pw_filter_state | state | ) |
SPA_EXPORT 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.
References NAME, port::port, pw_log::pw_log_debug, res, and port::user_data.
SPA_EXPORT 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.
References pw_properties::dict, port::info, port::props, pw_properties::pw_properties_update(), and port::user_data.