PipeWire
0.3.59
|
PipeWire rt-loop object. More...
Files | |
file | data-loop.h |
pipewire/data-loop.h | |
Data Structures | |
struct | pw_data_loop_events |
Loop events, use pw_data_loop_add_listener to add a listener. More... | |
struct | pw_data_loop |
Macros | |
#define | PW_VERSION_DATA_LOOP_EVENTS 0 |
Functions | |
struct pw_data_loop * | pw_data_loop_new (const struct spa_dict *props) |
Make a new loop. More... | |
void | pw_data_loop_add_listener (struct pw_data_loop *loop, struct spa_hook *listener, const struct pw_data_loop_events *events, void *data) |
Add an event listener to loop. More... | |
int | pw_data_loop_wait (struct pw_data_loop *loop, int timeout) |
wait for activity on the loop up to timeout milliseconds. More... | |
void | pw_data_loop_exit (struct pw_data_loop *loop) |
make sure the thread will exit. More... | |
struct pw_loop * | pw_data_loop_get_loop (struct pw_data_loop *loop) |
Get the loop implementation of this data loop. More... | |
void | pw_data_loop_destroy (struct pw_data_loop *loop) |
Destroy the loop. More... | |
int | pw_data_loop_start (struct pw_data_loop *loop) |
Start the processing thread. More... | |
int | pw_data_loop_stop (struct pw_data_loop *loop) |
Stop the processing thread. More... | |
bool | pw_data_loop_in_thread (struct pw_data_loop *loop) |
Check if the current thread is the processing thread. More... | |
struct spa_thread * | pw_data_loop_get_thread (struct pw_data_loop *loop) |
Get the thread object. More... | |
int | pw_data_loop_invoke (struct pw_data_loop *loop, spa_invoke_func_t func, uint32_t seq, const void *data, size_t size, bool block, void *user_data) |
invoke func in the context of the thread or in the caller thread when the loop is not running. More... | |
void | pw_data_loop_set_thread_utils (struct pw_data_loop *loop, struct spa_thread_utils *impl) |
Set a custom spa_thread_utils for this loop. More... | |
PipeWire rt-loop object.
This loop starts a new real-time thread that is designed to run the processing graph.
#define PW_VERSION_DATA_LOOP_EVENTS 0 |
struct pw_data_loop* pw_data_loop_new | ( | const struct spa_dict * | props | ) |
Make a new loop.
Make a new loop.
void pw_data_loop_add_listener | ( | struct pw_data_loop * | loop, |
struct spa_hook * | listener, | ||
const struct pw_data_loop_events * | events, | ||
void * | data | ||
) |
Add an event listener to loop.
int pw_data_loop_wait | ( | struct pw_data_loop * | loop, |
int | timeout | ||
) |
wait for activity on the loop up to timeout milliseconds.
Should be called from the loop function
void pw_data_loop_exit | ( | struct pw_data_loop * | loop | ) |
make sure the thread will exit.
Can be called from a loop callback
struct pw_loop* pw_data_loop_get_loop | ( | struct pw_data_loop * | loop | ) |
Get the loop implementation of this data loop.
void pw_data_loop_destroy | ( | struct pw_data_loop * | loop | ) |
Destroy the loop.
Destroy the loop.
loop | the data loop to destroy |
int pw_data_loop_start | ( | struct pw_data_loop * | loop | ) |
Start the processing thread.
Start the processing thread.
loop | the data loop to start |
This will start the realtime thread that manages the loop.
int pw_data_loop_stop | ( | struct pw_data_loop * | loop | ) |
Stop the processing thread.
Stop the processing thread.
loop | the data loop to Stop |
This will stop and join the realtime thread that manages the loop.
bool pw_data_loop_in_thread | ( | struct pw_data_loop * | loop | ) |
Check if the current thread is the processing thread.
Check if the current thread is the processing thread.
loop | the data loop to check |
struct spa_thread* pw_data_loop_get_thread | ( | struct pw_data_loop * | loop | ) |
Get the thread object.
loop | the data loop to get the thread of |
On posix based systems this returns a pthread_t
int pw_data_loop_invoke | ( | struct pw_data_loop * | loop, |
spa_invoke_func_t | func, | ||
uint32_t | seq, | ||
const void * | data, | ||
size_t | size, | ||
bool | block, | ||
void * | user_data | ||
) |
invoke func in the context of the thread or in the caller thread when the loop is not running.
Since 0.3.3
void pw_data_loop_set_thread_utils | ( | struct pw_data_loop * | loop, |
struct spa_thread_utils * | impl | ||
) |
Set a custom spa_thread_utils for this loop.
Setting NULL restores the system default implementation. Since 0.3.50
Set a custom spa_thread_utils for this loop.
loop | the data loop to set the thread utils on |
impl | the thread utils implementation |
This configures a custom spa_thread_utils implementation for this data loop. Use NULL to restore the system default implementation.