PipeWire  0.3.27
context.h File Reference

Go to the source code of this file.

Data Structures

struct  pw_context_events
 context events emitted by the context object added with pw_context_add_listener More...
 
struct  pw_export_type
 data for registering export functions More...
 

Macros

#define PW_VERSION_CONTEXT_EVENTS   0
 

Functions

struct pw_contextpw_context_new (struct pw_loop *main_loop, struct pw_properties *props, size_t user_data_size)
 Make a new context object for a given main_loop. More...
 
void pw_context_destroy (struct pw_context *context)
 destroy a context object, all resources except the main_loop will be destroyed More...
 
void * pw_context_get_user_data (struct pw_context *context)
 Get the context user data. More...
 
void pw_context_add_listener (struct pw_context *context, struct spa_hook *listener, const struct pw_context_events *events, void *data)
 Add a new event listener to a context. More...
 
const struct pw_propertiespw_context_get_properties (struct pw_context *context)
 Get the context properties. More...
 
int pw_context_update_properties (struct pw_context *context, const struct spa_dict *dict)
 Update the context properties. More...
 
const char * pw_context_get_conf_section (struct pw_context *context, const char *section)
 Get a config section for this context. More...
 
const struct spa_support * pw_context_get_support (struct pw_context *context, uint32_t *n_support)
 Get the context support objects. More...
 
struct pw_looppw_context_get_main_loop (struct pw_context *context)
 get the context main loop More...
 
struct pw_work_queuepw_context_get_work_queue (struct pw_context *context)
 Get the work queue from the context: Since 0.3.26. More...
 
int pw_context_for_each_global (struct pw_context *context, int(*callback)(void *data, struct pw_global *global), void *data)
 Iterate the globals of the context. More...
 
struct pw_globalpw_context_find_global (struct pw_context *context, uint32_t id)
 Find a context global by id. More...
 
int pw_context_add_spa_lib (struct pw_context *context, const char *factory_regex, const char *lib)
 add a spa library for the given factory_name regex More...
 
const char * pw_context_find_spa_lib (struct pw_context *context, const char *factory_name)
 find the library name for a spa factory More...
 
struct spa_handle * pw_context_load_spa_handle (struct pw_context *context, const char *factory_name, const struct spa_dict *info)
 
int pw_context_register_export_type (struct pw_context *context, struct pw_export_type *type)
 register a type that can be exported on a context_proxy. More...
 
const struct pw_export_typepw_context_find_export_type (struct pw_context *context, const char *type)
 find information about registered export type More...
 
int pw_context_set_object (struct pw_context *context, const char *type, void *value)
 add an object to the context More...
 
void * pw_context_get_object (struct pw_context *context, const char *type)
 get an object from the context More...
 

Macro Definition Documentation

◆ PW_VERSION_CONTEXT_EVENTS

#define PW_VERSION_CONTEXT_EVENTS   0

Function Documentation

◆ pw_context_add_listener()

void pw_context_add_listener ( struct pw_context context,
struct spa_hook *  listener,
const struct pw_context_events events,
void *  data 
)

Add a new event listener to a context.

◆ pw_context_add_spa_lib()

int pw_context_add_spa_lib ( struct pw_context context,
const char *  factory_regex,
const char *  lib 
)

add a spa library for the given factory_name regex

◆ pw_context_destroy()

void pw_context_destroy ( struct pw_context context)

destroy a context object, all resources except the main_loop will be destroyed

◆ pw_context_find_export_type()

const struct pw_export_type* pw_context_find_export_type ( struct pw_context context,
const char *  type 
)

find information about registered export type

Referenced by pw_core_export().

◆ pw_context_find_global()

struct pw_global* pw_context_find_global ( struct pw_context context,
uint32_t  id 
)

Find a context global by id.

Parameters
contextthe context
idthe global id

Referenced by pw_impl_client_check_permissions(), and pw_impl_client_update_permissions().

◆ pw_context_find_spa_lib()

const char* pw_context_find_spa_lib ( struct pw_context context,
const char *  factory_name 
)

find the library name for a spa factory

◆ pw_context_for_each_global()

int pw_context_for_each_global ( struct pw_context context,
int(*)(void *data, struct pw_global *global)  callback,
void *  data 
)

Iterate the globals of the context.

The callback should return 0 to fetch the next item, any other value stops the iteration and returns the value. When all callbacks return 0, this function returns 0 when all globals are iterated.

Parameters
contextthe context

◆ pw_context_get_conf_section()

const char* pw_context_get_conf_section ( struct pw_context context,
const char *  section 
)

Get a config section for this context.

Since 0.3.22

◆ pw_context_get_main_loop()

struct pw_loop* pw_context_get_main_loop ( struct pw_context context)

get the context main loop

◆ pw_context_get_object()

void* pw_context_get_object ( struct pw_context context,
const char *  type 
)

get an object from the context

◆ pw_context_get_properties()

const struct pw_properties* pw_context_get_properties ( struct pw_context context)

Get the context properties.

◆ pw_context_get_support()

const struct spa_support* pw_context_get_support ( struct pw_context context,
uint32_t *  n_support 
)

Get the context support objects.

◆ pw_context_get_user_data()

void* pw_context_get_user_data ( struct pw_context context)

Get the context user data.

◆ pw_context_get_work_queue()

struct pw_work_queue* pw_context_get_work_queue ( struct pw_context context)

Get the work queue from the context: Since 0.3.26.

◆ pw_context_load_spa_handle()

struct spa_handle* pw_context_load_spa_handle ( struct pw_context context,
const char *  factory_name,
const struct spa_dict info 
)

◆ pw_context_new()

struct pw_context* pw_context_new ( struct pw_loop main_loop,
struct pw_properties props,
size_t  user_data_size 
)

Make a new context object for a given main_loop.

Ownership of the properties is taken

Parameters
main_loopa main loop to run in
propsextra properties
user_data_sizeextra user data size

Referenced by pw_filter_new_simple(), and pw_stream_new_simple().

◆ pw_context_register_export_type()

int pw_context_register_export_type ( struct pw_context context,
struct pw_export_type type 
)

register a type that can be exported on a context_proxy.

This is usually used by extension modules

◆ pw_context_set_object()

int pw_context_set_object ( struct pw_context context,
const char *  type,
void *  value 
)

add an object to the context

◆ pw_context_update_properties()

int pw_context_update_properties ( struct pw_context context,
const struct spa_dict dict 
)

Update the context properties.