PipeWire
0.3.33
|
This loop starts a new real-time thread that is designed to run the processing graph. More...
Data Structures | |
struct | pw_data_loop_events |
Loop events, use pw_data_loop_add_listener to add a listener. More... | |
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... | |
This loop starts a new real-time thread that is designed to run the processing graph.
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.
References spa_hook_list_append().
void pw_data_loop_destroy | ( | struct pw_data_loop * | loop | ) |
Destroy the loop.
Destroy the loop.
loop | the data loop to destroy |
References NAME, pw_data_loop_stop(), pw_log_debug, pw_loop_destroy(), pw_loop_destroy_source, and spa_hook_list_clean().
Referenced by pw_context_destroy().
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.
References pw_loop::loop.
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
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 |
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
References pw_loop_invoke.
struct pw_data_loop* pw_data_loop_new | ( | const struct spa_dict * | props | ) |
Make a new loop.
Make a new loop.
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.
References pw_loop::loop, and pw_thread_utils_create.
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.
References NAME, pw_log_debug, pw_loop_signal_event, and pw_thread_utils_join.
Referenced by pw_data_loop_destroy().
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
References pw_loop_iterate.