PipeWire: pw_core_proxy_methods Struct Reference

PipeWire 0.1.7

Data Fields
pw_core_proxy_methods Struct Reference

Core methods. More...

## Data Fields
uint32_t | version
void(* | update_types )(void *object, uint32_t first_id, const char **types, uint32_t n_types)
| Update the type map. More...
void(* | sync )(void *object, uint32_t seq)
| Do server roundtrip. More...
void(* | get_registry )(void *object, uint32_t version, uint32_t new_id)
| Get the registry object. More...
void(* | client_update )(void *object, const struct spa_dict *props)
| Update the client properties. More...
void(* | create_object )(void *object, const char *factory_name, uint32_t type, uint32_t version, const struct spa_dict *props, uint32_t new_id)
| Create a new object on the PipeWire server from a factory. More...
void(* | create_link )(void *object, uint32_t output_node_id, uint32_t output_port_id, uint32_t input_node_id, uint32_t input_port_id, const struct spa_pod *filter, const struct spa_dict *props, uint32_t new_id)
| Create a new link between two node ports. More...

## Detailed Description

Core methods.

The core global object. This is a singleton object used for creating new objects in the remote PipeWire intance. It is also used for internal features.

## Field Documentation

## ◆ client_update

void(* pw_core_proxy_methods::client_update) (void *object, const struct spa_dict *props)

Update the client properties.

Parameters

  props | the new client properties

## ◆ create_link

void(* pw_core_proxy_methods::create_link) (void *object, uint32_t output_node_id, uint32_t output_port_id, uint32_t input_node_id, uint32_t input_port_id, const struct spa_pod *filter, const struct spa_dict *props, uint32_t new_id)

Create a new link between two node ports.

Parameters

  output_node_id | the global id of the output node
  output_port_id | the id of the output port
  input_node_id | the global id of the input node
  input_port_id | the id of the input port
  filter | an optional format filter
  props | optional properties
  new_id | the client proxy id

## ◆ create_object

void(* pw_core_proxy_methods::create_object) (void *object, const char *factory_name, uint32_t type, uint32_t version, const struct spa_dict *props, uint32_t new_id)

Create a new object on the PipeWire server from a factory.

Use a factory_name of "client-node" to create a pw_client_node.

Parameters

  factory_name | the factory name to use
  type | the interface to bind to
  version | the version of the interface
  props | extra properties
  new_id | the client proxy id

## ◆ get_registry

void(* pw_core_proxy_methods::get_registry) (void *object, uint32_t version, uint32_t new_id)

Get the registry object.

Create a registry object that allows the client to list and bind the global objects available from the PipeWire server

Parameters

  version | the client proxy id
  id | the client proxy id

## ◆ sync

void(* pw_core_proxy_methods::sync) (void *object, uint32_t seq)

Do server roundtrip.

Ask the server to emit the 'done' event with id. Since methods are handled in-order and events are delivered in-order, this can be used as a barrier to ensure all previous methods and the resulting events have been handled.

Parameters

  seq | the sequence number passed to the done event

## ◆ update_types

void(* pw_core_proxy_methods::update_types) (void *object, uint32_t first_id, const char **types, uint32_t n_types)

Update the type map.

Send a type map update to the PipeWire server. The server uses this information to keep a mapping between client types and the server types.

Parameters

  first_id | the id of the first type
  types | the types as a string
  n_types | the number of types

## ◆ version

uint32_t pw_core_proxy_methods::version

The documentation for this struct was generated from the following file:

- interfaces.h