PipeWire  0.3.15
data-loop.h File Reference
Include dependency graph for data-loop.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  pw_data_loop_events
 Loop events, use pw_data_loop_add_listener to add a listener. More...
 

Macros

#define PW_VERSION_DATA_LOOP_EVENTS   0
 

Functions

struct pw_data_looppw_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_looppw_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...
 
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...
 

Macro Definition Documentation

◆ PW_VERSION_DATA_LOOP_EVENTS

#define PW_VERSION_DATA_LOOP_EVENTS   0

Function Documentation

◆ pw_data_loop_add_listener()

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.

◆ pw_data_loop_destroy()

void pw_data_loop_destroy ( struct pw_data_loop loop)

Destroy the loop.

◆ pw_data_loop_exit()

void pw_data_loop_exit ( struct pw_data_loop loop)

make sure the thread will exit.

Can be called from a loop callback

◆ pw_data_loop_get_loop()

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.

◆ pw_data_loop_in_thread()

bool pw_data_loop_in_thread ( struct pw_data_loop loop)

Check if the current thread is the processing thread.

◆ pw_data_loop_invoke()

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::loop, pw_loop_invoke, res, and seq.

◆ pw_data_loop_new()

struct pw_data_loop* pw_data_loop_new ( const struct spa_dict *  props)

Make a new loop.

◆ pw_data_loop_start()

int pw_data_loop_start ( struct pw_data_loop loop)

Start the processing thread.

◆ pw_data_loop_stop()

int pw_data_loop_stop ( struct pw_data_loop loop)

Stop the processing thread.

◆ pw_data_loop_wait()

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, and res.