Module Impl
Implementation API

A dynamically loadable module. More...

## Files

file | impl-module.h
| `pipewire/impl-module.h`

## Data Structures

struct | pw_impl_module_events
| Module events added with pw_impl_module_add_listener. More...
struct | pw_impl_module

## Macros

#define | PW_VERSION_IMPL_MODULE_EVENTS 0

## Typedefs

typedef int(* | pw_impl_module_init_func_t) (struct pw_impl_module *module, const char *args)
| Module init function signature. More...

## Functions

struct pw_impl_module * | pw_context_load_module (struct pw_context *context, const char *name, const char *args, struct pw_properties *properties)
| Load a module. More...
struct pw_context * | pw_impl_module_get_context (struct pw_impl_module *module)
| Get the context of a module. More...
struct pw_global * | pw_impl_module_get_global (struct pw_impl_module *module)
| Get the global of a module. More...
const struct pw_properties * | pw_impl_module_get_properties (struct pw_impl_module *module)
| Get the module properties. More...
int | pw_impl_module_update_properties (struct pw_impl_module *module, const struct spa_dict *dict)
| Update the module properties. More...
const struct pw_module_info * | pw_impl_module_get_info (struct pw_impl_module *module)
| Get the module info. More...
void | pw_impl_module_add_listener (struct pw_impl_module *module, struct spa_hook *listener, const struct pw_impl_module_events *events, void *data)
| Add an event listener to a module. More...
void | pw_impl_module_destroy (struct pw_impl_module *module)
| Destroy a module. More...

## Detailed Description

A dynamically loadable module.

## Macro Definition Documentation

## PW_VERSION_IMPL_MODULE_EVENTS

#define PW_VERSION_IMPL_MODULE_EVENTS 0

## Typedef Documentation

## pw_impl_module_init_func_t

typedef int(* pw_impl_module_init_func_t) (struct pw_impl_module *module, const char *args)

Module init function signature.

Parameters

  module | A Module Impl
  args | Arguments to the module

Returns
  0 on success, < 0 otherwise with an errno style error

A module should provide an init function with this signature. This function will be called when a module is loaded.

## Function Documentation

## pw_context_load_module()

struct pw_impl_module* pw_context_load_module | ( | struct pw_context * | context,
|  | const char * | name,
|  | const char * | args,
|  | struct pw_properties * | properties
| ) |  |

Load a module.

Parameters

  context | a Context
  name | name of the module to load
  args | A string with arguments for the module
  properties | extra global properties

Returns
  A Module Impl if the module could be loaded, or NULL on failure.

Examples
  export-spa-device.c, export-spa.c, and local-v4l2.c.

## pw_impl_module_get_context()

struct pw_context* pw_impl_module_get_context | ( | struct pw_impl_module * | module | ) |

Get the context of a module.

## pw_impl_module_get_global()

struct pw_global* pw_impl_module_get_global | ( | struct pw_impl_module * | module | ) |

Get the global of a module.

## pw_impl_module_get_properties()

const struct pw_properties* pw_impl_module_get_properties | ( | struct pw_impl_module * | module | ) |

Get the module properties.

## pw_impl_module_update_properties()

int pw_impl_module_update_properties | ( | struct pw_impl_module * | module,
|  | const struct spa_dict * | dict
| ) |  |

Update the module properties.

## pw_impl_module_get_info()

const struct pw_module_info* pw_impl_module_get_info | ( | struct pw_impl_module * | module | ) |

Get the module info.

## pw_impl_module_add_listener()

void pw_impl_module_add_listener | ( | struct pw_impl_module * | module,
|  | struct spa_hook * | listener,
|  | const struct pw_impl_module_events * | events,
|  | void * | data
| ) |  |

Add an event listener to a module.

## pw_impl_module_destroy()

void pw_impl_module_destroy | ( | struct pw_impl_module * | module | ) |

Destroy a module.

Parameters

  module | the module to destroy