mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
doc: reorganize Doxygen groups/modules to make more sense
The Doxygen "Modules" page is not very illuminative, as different parts of the API are mixed together and not all parts are included. Try to address this: Put all parts of the public API to some Doxygen group, usually one group per header file. Use short, systematic names. Make these groups sub-groups of a few top-level groups, roughly corresponding to the different logical parts of the API (core, impl, stream, filter, spa, utilities).
This commit is contained in:
parent
43a84c4a2c
commit
8159797f89
95 changed files with 588 additions and 154 deletions
|
|
@ -9,6 +9,7 @@ EXTRACT_ALL = YES
|
|||
EXTRACT_STATIC = YES
|
||||
FULL_PATH_NAMES = YES
|
||||
STRIP_FROM_PATH = @path_prefixes@
|
||||
STRIP_FROM_INC_PATH = @path_prefixes@
|
||||
SHOW_INCLUDE_FILES = NO
|
||||
GENERATE_TODOLIST = NO
|
||||
GENERATE_TESTLIST = NO
|
||||
|
|
|
|||
127
doc/api-tree.dox
Normal file
127
doc/api-tree.dox
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
/**
|
||||
|
||||
\defgroup api_pw_core Core API
|
||||
\brief PipeWire Core API
|
||||
\{
|
||||
\addtogroup pw_pipewire
|
||||
\addtogroup pw_context
|
||||
\addtogroup pw_client
|
||||
\addtogroup pw_core
|
||||
\addtogroup pw_device
|
||||
\addtogroup pw_factory
|
||||
\addtogroup pw_link
|
||||
\addtogroup pw_loop
|
||||
\addtogroup pw_module
|
||||
\addtogroup pw_node
|
||||
\addtogroup pw_permission
|
||||
\addtogroup pw_port
|
||||
\addtogroup pw_proxy
|
||||
\addtogroup pw_registry
|
||||
\addtogroup pw_type
|
||||
\addtogroup pw_keys
|
||||
\}
|
||||
|
||||
\defgroup api_pw_impl Implementation API
|
||||
\brief PipeWire Object Implementation API
|
||||
\{
|
||||
\addtogroup pw_impl_client
|
||||
\addtogroup pw_impl_core
|
||||
\addtogroup pw_impl_device
|
||||
\addtogroup pw_impl_factory
|
||||
\addtogroup pw_impl_link
|
||||
\addtogroup pw_impl_metadata
|
||||
\addtogroup pw_impl_module
|
||||
\addtogroup pw_impl_node
|
||||
\addtogroup pw_impl_port
|
||||
\addtogroup pw_buffers
|
||||
\addtogroup pw_control
|
||||
\addtogroup pw_data_loop
|
||||
\addtogroup pw_global
|
||||
\addtogroup pw_protocol
|
||||
\addtogroup pw_resource
|
||||
\addtogroup pw_thread_loop
|
||||
\addtogroup pw_work_queue
|
||||
\}
|
||||
|
||||
\defgroup api_pw_util Utilities
|
||||
\brief PipeWire Utilities
|
||||
\{
|
||||
\addtogroup pw_array
|
||||
\addtogroup pw_conf
|
||||
\addtogroup pw_gettext
|
||||
\addtogroup pw_log
|
||||
\addtogroup pw_main_loop
|
||||
\addtogroup pw_map
|
||||
\addtogroup pw_memblock
|
||||
\addtogroup pw_properties
|
||||
\addtogroup pw_thread
|
||||
\addtogroup pw_utils
|
||||
\}
|
||||
|
||||
\defgroup api_pw_ext Extensions
|
||||
\brief PipeWire Extensions
|
||||
\{
|
||||
\addtogroup pw_client_node
|
||||
\addtogroup pw_metadata
|
||||
\addtogroup pw_profiler
|
||||
\addtogroup pw_protocol_native
|
||||
\addtogroup pw_session_manager
|
||||
\{
|
||||
\addtogroup pw_session_manager_impl
|
||||
\}
|
||||
\}
|
||||
|
||||
\defgroup api_spa SPA
|
||||
\brief Simple Plugin API
|
||||
\{
|
||||
\addtogroup spa_buffer
|
||||
\addtogroup spa_control
|
||||
\addtogroup spa_debug
|
||||
\addtogroup spa_device
|
||||
\addtogroup spa_graph
|
||||
\addtogroup spa_node
|
||||
\addtogroup spa_param
|
||||
\addtogroup spa_pod
|
||||
\defgroup spa_utils Utilities
|
||||
\{
|
||||
\addtogroup spa_ansi
|
||||
\addtogroup spa_utils_defs
|
||||
\addtogroup spa_dict
|
||||
\addtogroup spa_list
|
||||
\addtogroup spa_hooks
|
||||
\addtogroup spa_interfaces
|
||||
\addtogroup spa_json
|
||||
\addtogroup spa_keys
|
||||
\addtogroup spa_names
|
||||
\addtogroup spa_result
|
||||
\addtogroup spa_ringbuffer
|
||||
\addtogroup spa_string
|
||||
\addtogroup spa_types
|
||||
\}
|
||||
\defgroup spa_support Support
|
||||
\{
|
||||
\addtogroup spa_cpu
|
||||
\addtogroup spa_dbus
|
||||
\addtogroup spa_i18n
|
||||
\addtogroup spa_log
|
||||
\addtogroup spa_loop
|
||||
\addtogroup spa_handle
|
||||
\addtogroup spa_plugin_loader
|
||||
\addtogroup spa_system
|
||||
\addtogroup spa_thread
|
||||
\}
|
||||
\}
|
||||
|
||||
\defgroup pw_stream Stream API
|
||||
\{
|
||||
\}
|
||||
|
||||
\defgroup pw_filter Filter API
|
||||
\{
|
||||
\}
|
||||
|
||||
\defgroup pwtest Test Suite
|
||||
\{
|
||||
\}
|
||||
|
||||
*/
|
||||
61
doc/api.dox
61
doc/api.dox
|
|
@ -1,15 +1,23 @@
|
|||
/** \page page_api API Documentation
|
||||
/** \page page_api PipeWire API
|
||||
|
||||
The API consists of two parts:
|
||||
The PipeWire API consists of several parts:
|
||||
|
||||
- The \ref page_core_api to access a PipeWire instance. This API is used
|
||||
- The \ref pw_stream for a convenient way to send and receive data streams from/to PipeWire.
|
||||
|
||||
- The \ref pw_filter for a convenient way to implement processing filters.
|
||||
|
||||
- The \ref api_pw_core to access a PipeWire instance. This API is used
|
||||
by all clients that need to communicate with the \ref page_daemon and provides
|
||||
the necessary structs to interface with the daemon.
|
||||
- The \ref page_implementation_api and tools to build new objects and modules.
|
||||
This API is primarily used by the \ref page_daemon itself but also by the
|
||||
|
||||
- The \ref api_pw_impl is primarily used by the \ref page_daemon itself but also by the
|
||||
\ref page_session_manager and modules/extensions that need to build objects in
|
||||
the graph.
|
||||
|
||||
- The \ref api_pw_util containing various utility functions and structures.
|
||||
|
||||
- The \ref api_pw_ext for interfacing with certain extension modules.
|
||||
|
||||
The APIs work through proxy objects, so that calling a method on an object
|
||||
invokes that same method on the remote side. Marshalling and de-marshalling is
|
||||
handled transparently by the \ref page_module_protocol_native.
|
||||
|
|
@ -48,47 +56,32 @@ digraph API {
|
|||
}
|
||||
\enddot
|
||||
|
||||
It is common for clients to use both the Core API and the Implementation API
|
||||
It is common for clients to use both the \ref api_pw_core and the \ref api_pw_impl
|
||||
and both APIs are provided by the same library.
|
||||
|
||||
\section page_core_api Core API
|
||||
|
||||
The Core API serves to access a PipeWire instance. This API is used by all
|
||||
clients to communicate with the \ref page_daemon. It consists of the
|
||||
following object-specific APIs:
|
||||
|
||||
- \ref pw_core
|
||||
- \ref pw_context
|
||||
- \ref pw_global
|
||||
- \ref pw_client
|
||||
- \ref pw_resource
|
||||
- \ref pw_node
|
||||
- \ref pw_port
|
||||
- \ref pw_link
|
||||
|
||||
|
||||
\addtogroup api_pw_core Core API
|
||||
|
||||
The Core API to access a PipeWire instance. This API is used by all
|
||||
clients to communicate with the \ref page_daemon.
|
||||
|
||||
If you are familiar with Wayland implementation, the Core API is
|
||||
roughly equivalent to libwayland-client.
|
||||
|
||||
\section page_implementation_api Implementation API
|
||||
See: \ref page_api
|
||||
|
||||
|
||||
\addtogroup api_pw_impl Implementation API
|
||||
|
||||
The implementation API provides the tools to build new objects and
|
||||
modules. It consists of the following object-specific APIs:
|
||||
|
||||
- \ref pw_impl_core
|
||||
- \ref pw_impl_client
|
||||
- \ref pw_impl_device
|
||||
- \ref pw_impl_factory
|
||||
- \ref pw_impl_link
|
||||
- \ref pw_impl_metadata
|
||||
- \ref pw_impl_module
|
||||
- \ref pw_impl_node
|
||||
- \ref pw_impl_port
|
||||
- \ref pw_control
|
||||
- \ref pw_global
|
||||
- \ref pw_resource
|
||||
- \ref pw_work_queue
|
||||
modules.
|
||||
|
||||
If you are familiar with Wayland implementation, the Implementation API is
|
||||
roughly equivalent to libwayland-server.
|
||||
|
||||
See: \ref page_api
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -35,5 +35,4 @@ More information on how to configure and use PipeWire.
|
|||
|
||||
- [LAC 2020 Paper](https://lac2020.sciencesconf.org/307881/document)
|
||||
- [PipeWire Under The Hood](https://venam.nixers.net/blog/unix/2021/06/23/pipewire-under-the-hood.html)
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -12,10 +12,55 @@ else
|
|||
doxyfile_conf.set('HAVE_DOT', 'NO')
|
||||
endif
|
||||
|
||||
# Note: order here is how doxygen will expose the pages in the sidebar
|
||||
# api-tree.dox should be first to determine ordering of Modules.
|
||||
extra_docs = [
|
||||
'api-tree.dox',
|
||||
'index.dox',
|
||||
'overview.dox',
|
||||
'pipewire.dox',
|
||||
'pipewire-design.dox',
|
||||
'pipewire-access.dox',
|
||||
'pipewire-midi.dox',
|
||||
'pipewire-portal.dox',
|
||||
'pipewire-daemon.dox',
|
||||
'pipewire-library.dox',
|
||||
'pipewire-modules.dox',
|
||||
'pipewire-tools.dox',
|
||||
'pipewire-session-manager.dox',
|
||||
'pipewire-objects-design.dox',
|
||||
'pipewire-audio.dox',
|
||||
'media-session.dox',
|
||||
'tutorial.dox',
|
||||
'tutorial1.dox',
|
||||
'tutorial2.dox',
|
||||
'tutorial3.dox',
|
||||
'tutorial4.dox',
|
||||
'tutorial5.dox',
|
||||
'tutorial6.dox',
|
||||
'api.dox',
|
||||
'spa-index.dox',
|
||||
'spa-plugins.dox',
|
||||
'spa-design.dox',
|
||||
'spa-pod.dox',
|
||||
'spa-buffer.dox',
|
||||
'pulseaudio.dox',
|
||||
'dma-buf.dox',
|
||||
]
|
||||
|
||||
inputs = []
|
||||
foreach extra : extra_docs
|
||||
inputs += meson.source_root() / 'doc' / extra
|
||||
endforeach
|
||||
foreach h : pipewire_headers
|
||||
inputs += meson.source_root() / 'src' / 'pipewire' / h
|
||||
endforeach
|
||||
foreach h : pipewire_ext_headers
|
||||
inputs += meson.source_root() / 'src' / 'pipewire' / 'extensions' / h
|
||||
endforeach
|
||||
foreach h : pipewire_ext_sm_headers
|
||||
inputs += meson.source_root() / 'src' / 'pipewire' / 'extensions' / h
|
||||
endforeach
|
||||
foreach h : pipewire_sources
|
||||
inputs += meson.source_root() / 'src' / 'pipewire' / h
|
||||
endforeach
|
||||
|
|
@ -34,44 +79,6 @@ path_prefixes = [
|
|||
meson.source_root(),
|
||||
]
|
||||
|
||||
# Note: order here is how doxygen will expose the pages in the sidebar
|
||||
extra_docs = [
|
||||
'index.dox',
|
||||
'overview.dox',
|
||||
'pipewire.dox',
|
||||
'pipewire-design.dox',
|
||||
'pipewire-access.dox',
|
||||
'pipewire-midi.dox',
|
||||
'pipewire-portal.dox',
|
||||
'pipewire-daemon.dox',
|
||||
'pipewire-library.dox',
|
||||
'pipewire-modules.dox',
|
||||
'pipewire-tools.dox',
|
||||
'pipewire-session-manager.dox',
|
||||
'pipewire-objects-design.dox',
|
||||
'pipewire-audio.dox',
|
||||
'media-session.dox',
|
||||
'api.dox',
|
||||
'tutorial.dox',
|
||||
'tutorial1.dox',
|
||||
'tutorial2.dox',
|
||||
'tutorial3.dox',
|
||||
'tutorial4.dox',
|
||||
'tutorial5.dox',
|
||||
'tutorial6.dox',
|
||||
'spa-index.dox',
|
||||
'spa-plugins.dox',
|
||||
'spa-design.dox',
|
||||
'spa-pod.dox',
|
||||
'spa-buffer.dox',
|
||||
'pulseaudio.dox',
|
||||
'dma-buf.dox',
|
||||
]
|
||||
|
||||
foreach extra : extra_docs
|
||||
inputs += meson.source_root() / 'doc' / extra
|
||||
endforeach
|
||||
|
||||
cssfiles = [
|
||||
meson.source_root() / 'doc' / 'doxygen-awesome.css',
|
||||
meson.source_root() / 'doc' / 'custom.css'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
> What is the array of `spa_data` in `spa_buffer`?
|
||||
|
||||
A buffer contains metadata and data. There can be many metadata items (headers, color info, cursor position, etc) in the buffer. The metadata items are stored in the metas array. In the same way, the buffer can contain multiple data blocks in the datas array. Each data block is, for example, a video plane or an audio channel. There are `n_datas` of those blocks.
|
||||
A \ref spa_buffer "SPA Buffer" contains metadata and data. There can be many metadata items (headers, color info, cursor position, etc) in the buffer. The metadata items are stored in the metas array. In the same way, the buffer can contain multiple data blocks in the datas array. Each data block is, for example, a video plane or an audio channel. There are `n_datas` of those blocks.
|
||||
|
||||
> What is the `void*` data pointer in `spa_data`?
|
||||
|
||||
|
|
@ -62,4 +62,10 @@ The reason why is this set up like this is that the metadata memory, the data an
|
|||
|
||||
Taken from [here](https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/11f95fe11e07192cec19fddb4fafc708e023e49c/spa/include/spa/buffer/alloc.h).
|
||||
|
||||
|
||||
|
||||
\addtogroup spa_buffer
|
||||
|
||||
See: \ref page_spa_buffer
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/** \page page_spa SPA (Simple Plugin API)
|
||||
|
||||
SPA (Simple Plugin API) is an extensible API to implement all kinds of
|
||||
\ref api_spa (Simple Plugin API) is an extensible API to implement all kinds of
|
||||
plugins.
|
||||
|
||||
It is inspired by many other plugin APIs, mostly LV2 and
|
||||
|
|
@ -70,9 +70,15 @@ Please see \ref page_spa_plugins for the details on how to use SPA plugins.
|
|||
|
||||
## Further details
|
||||
|
||||
- \ref api_spa
|
||||
- \subpage page_spa_design
|
||||
- \subpage page_spa_plugins
|
||||
- \subpage page_spa_pod
|
||||
- \subpage page_spa_buffer
|
||||
|
||||
|
||||
\addtogroup api_spa
|
||||
|
||||
See: \ref page_spa, \ref page_spa_design
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/** \page page_spa_plugins SPA Plugins
|
||||
|
||||
Plugins are dynamically loadable objects that contain objects and interfaces that
|
||||
\ref spa_handle "SPA plugins" are dynamically loadable objects that contain objects and interfaces that
|
||||
can be introspected and used at runtime in any application. This document
|
||||
introduces the basic concepts of SPA plugins. It first covers using the API
|
||||
and then talks about implementing new Plugins.
|
||||
|
|
@ -346,4 +346,10 @@ expected_seq = SPA_RESULT_ASYNC_SEQ(res);
|
|||
|
||||
FIXME
|
||||
|
||||
|
||||
|
||||
\addtogroup spa_handle
|
||||
|
||||
See: \ref page_spa_plugins
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/** \page page_spa_pod SPA POD
|
||||
|
||||
POD (plain old data) is a sort of data container. It is comparable to
|
||||
\ref spa_pod (plain old data) is a sort of data container. It is comparable to
|
||||
DBus Variant or LV2 Atom.
|
||||
|
||||
A POD can express nested structures of Objects (with properties), Vectors,
|
||||
|
|
@ -519,4 +519,8 @@ field specifies the size following the type field.
|
|||
Each POD is aligned to an 8 byte boundary.
|
||||
|
||||
|
||||
\addtogroup spa_pod
|
||||
|
||||
See: \ref page_spa_pod
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ extern "C" {
|
|||
#include <spa/utils/defs.h>
|
||||
#include <spa/buffer/meta.h>
|
||||
|
||||
/** \defgroup spa_buffer SPA Buffers
|
||||
/** \defgroup spa_buffer Buffers
|
||||
*
|
||||
* Buffers describe the data and metadata that is exchanged between
|
||||
* ports of a node.
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ extern "C" {
|
|||
#include <spa/utils/defs.h>
|
||||
#include <spa/pod/pod.h>
|
||||
|
||||
/** \defgroup spa_control SPA Controls
|
||||
/** \defgroup spa_control Control
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup spa_debug SPA Debug
|
||||
/** \defgroup spa_debug Debug
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup spa_graph SPA Graph
|
||||
/** \defgroup spa_graph Graph
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ extern "C" {
|
|||
#include <spa/pod/event.h>
|
||||
|
||||
/**
|
||||
* \defgroup spa_device SPA Device
|
||||
* \defgroup spa_device Device
|
||||
*
|
||||
* The device interface can be used to monitor all kinds of devices
|
||||
* and create objects as a result. Objects a typically other
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ extern "C" {
|
|||
|
||||
#include <spa/pod/event.h>
|
||||
|
||||
/**
|
||||
* \addtogroup spa_device
|
||||
* \{
|
||||
*/
|
||||
|
||||
/* object id of SPA_TYPE_EVENT_Device */
|
||||
enum spa_device_event {
|
||||
SPA_DEVICE_EVENT_ObjectConfig,
|
||||
|
|
@ -47,6 +52,10 @@ enum spa_event_device {
|
|||
SPA_EVENT_DEVICE_Props, /* properties for an object (SPA_TYPE_OBJECT_Props) */
|
||||
};
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -33,6 +33,11 @@ extern "C" {
|
|||
|
||||
#include <spa/monitor/event.h>
|
||||
|
||||
/**
|
||||
* \addtogroup spa_device
|
||||
* \{
|
||||
*/
|
||||
|
||||
#define SPA_TYPE_INFO_DeviceEvent SPA_TYPE_INFO_EVENT_BASE "Device"
|
||||
#define SPA_TYPE_INFO_DEVICE_EVENT_BASE SPA_TYPE_INFO_DeviceEvent ":"
|
||||
|
||||
|
|
@ -51,6 +56,10 @@ static const struct spa_type_info spa_type_device_event[] = {
|
|||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -32,6 +32,11 @@ extern "C" {
|
|||
#include <spa/pod/builder.h>
|
||||
#include <spa/monitor/device.h>
|
||||
|
||||
/**
|
||||
* \addtogroup spa_device
|
||||
* \{
|
||||
*/
|
||||
|
||||
struct spa_result_device_params_data {
|
||||
struct spa_pod_builder *builder;
|
||||
struct spa_result_device_params data;
|
||||
|
|
@ -90,6 +95,10 @@ static inline int spa_device_enum_params_sync(struct spa_device *device,
|
|||
#define spa_device_emit_event(hooks,e) spa_device_emit(hooks,event, 0, e)
|
||||
#define spa_device_emit_object_info(hooks,id,i) spa_device_emit(hooks,object_info, 0, id, i)
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup spa_node SPA Nodes
|
||||
/** \defgroup spa_node Node
|
||||
*
|
||||
* A spa_node is a component that can consume and produce buffers.
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,10 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \addtogroup spa_param
|
||||
* \{
|
||||
*/
|
||||
|
||||
#include <spa/pod/builder.h>
|
||||
#include <spa/pod/parser.h>
|
||||
|
|
@ -158,6 +162,10 @@ spa_process_latency_info_add(const struct spa_process_latency_info *process,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup spa_param SPA Parameters
|
||||
/** \defgroup spa_param Parameters
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup spa_pod SPA POD
|
||||
/** \defgroup spa_pod POD
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -34,12 +34,12 @@ extern "C" {
|
|||
#include <spa/utils/defs.h>
|
||||
#include <spa/utils/hook.h>
|
||||
|
||||
/** \defgroup spa_support SPA Support Features
|
||||
/** \defgroup spa_cpu CPU
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_support
|
||||
* \addtogroup spa_cpu
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -31,8 +31,12 @@ extern "C" {
|
|||
|
||||
#include <spa/support/loop.h>
|
||||
|
||||
/** \defgroup spa_dbus DBus
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_support
|
||||
* \addtogroup spa_dbus
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -32,8 +32,12 @@ extern "C" {
|
|||
#include <spa/utils/hook.h>
|
||||
#include <spa/utils/defs.h>
|
||||
|
||||
/** \defgroup spa_i18n I18N
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_support
|
||||
* \addtogroup spa_i18n
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ extern "C" {
|
|||
#include <spa/utils/defs.h>
|
||||
#include <spa/utils/hook.h>
|
||||
|
||||
/** \defgroup spa_log SPA Logging
|
||||
/** \defgroup spa_log Log
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -33,8 +33,12 @@ extern "C" {
|
|||
#include <spa/utils/hook.h>
|
||||
#include <spa/support/system.h>
|
||||
|
||||
/** \defgroup spa_loop Loop
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_support
|
||||
* \addtogroup spa_loop
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -32,8 +32,12 @@ extern "C" {
|
|||
#include <spa/utils/hook.h>
|
||||
#include <spa/utils/defs.h>
|
||||
|
||||
/** \defgroup spa_plugin_loader Plugin Loader
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_support
|
||||
* \addtogroup spa_plugin_loader
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ extern "C" {
|
|||
#include <spa/utils/dict.h>
|
||||
|
||||
/**
|
||||
* \defgroup spa_handle SPA Plugin Handles
|
||||
* \defgroup spa_handle Plugin Handle
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -37,8 +37,12 @@ struct itimerspec;
|
|||
#include <spa/utils/defs.h>
|
||||
#include <spa/utils/hook.h>
|
||||
|
||||
/** \defgroup spa_system System
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_support
|
||||
* \addtogroup spa_system
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,12 @@ extern "C" {
|
|||
#include <spa/utils/hook.h>
|
||||
#include <spa/utils/dict.h>
|
||||
|
||||
/** \defgroup spa_thread Thread
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_support
|
||||
* \addtogroup spa_thread
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -29,11 +29,13 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup spa_utils SPA Utils
|
||||
/**
|
||||
* \defgroup spa_ansi ANSI codes
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_utils
|
||||
* \addtogroup spa_ansi
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -37,11 +37,13 @@ extern "C" {
|
|||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/** \defgroup spa_utils SPA Utils
|
||||
/**
|
||||
* \defgroup spa_utils_defs Miscellaneous
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_utils
|
||||
* \addtogroup spa_utils_defs
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,12 @@ extern "C" {
|
|||
#include <spa/utils/defs.h>
|
||||
|
||||
/**
|
||||
* \addtogroup spa_utils
|
||||
* \defgroup spa_dict Dictionary
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_dict
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ extern "C" {
|
|||
#include <spa/utils/defs.h>
|
||||
#include <spa/utils/list.h>
|
||||
|
||||
/** \defgroup spa_interfaces SPA Interfaces
|
||||
/** \defgroup spa_interfaces Interfaces
|
||||
*
|
||||
* \brief Generic implementation of implementation-independent interfaces
|
||||
*
|
||||
|
|
@ -230,7 +230,7 @@ struct spa_interface {
|
|||
* \}
|
||||
*/
|
||||
|
||||
/** \defgroup spa_hooks SPA Hooks
|
||||
/** \defgroup spa_hooks Hooks
|
||||
*
|
||||
* A SPA Hook is a data structure to keep track of callbacks. It is similar to
|
||||
* the \ref spa_interfaces and typically used where an implementation allows
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/defs.h>
|
||||
|
||||
/** \defgroup spa_json SPA JSON Parser
|
||||
/** \defgroup spa_json JSON
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup spa_keys SPA Key Names
|
||||
/** \defgroup spa_keys Key Names
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -30,7 +30,12 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
/**
|
||||
* \addtogroup spa_utils
|
||||
* \defgroup spa_list List
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_list List
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup spa_names SPA Factory Names
|
||||
/** \defgroup spa_names Factory Names
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -30,7 +30,12 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
/**
|
||||
* \addtogroup spa_utils
|
||||
* \defgroup spa_result Result handling
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_result
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,12 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
/**
|
||||
* \addtogroup spa_utils
|
||||
* \defgroup spa_ringbuffer Ringbuffer
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_ringbuffer
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,12 @@ extern "C" {
|
|||
#include <spa/utils/defs.h>
|
||||
|
||||
/**
|
||||
* \addtogroup spa_utils
|
||||
* \defgroup spa_string String handling
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup spa_string
|
||||
* \{
|
||||
*/
|
||||
|
||||
|
|
@ -45,7 +50,6 @@ extern "C" {
|
|||
*
|
||||
* If both \a a and \a b are NULL, the two are considered equal.
|
||||
*
|
||||
* \ingroup spa
|
||||
*/
|
||||
static inline bool spa_streq(const char *s1, const char *s2)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/defs.h>
|
||||
|
||||
/** \defgroup spa_types SPA Types
|
||||
/** \defgroup spa_types Types
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/defs.h>
|
||||
|
||||
/** \defgroup pw_array Array Objects
|
||||
/** \defgroup pw_array Array
|
||||
*
|
||||
* \brief An array object
|
||||
*
|
||||
|
|
|
|||
|
|
@ -34,6 +34,14 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_buffers Buffers
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_buffers
|
||||
* \{
|
||||
*/
|
||||
|
||||
#define PW_BUFFERS_FLAG_NONE 0
|
||||
#define PW_BUFFERS_FLAG_NO_MEM (1<<0) /**< don't allocate buffer memory */
|
||||
#define PW_BUFFERS_FLAG_SHARED (1<<1) /**< buffers can be shared */
|
||||
|
|
@ -53,6 +61,10 @@ int pw_buffers_negotiate(struct pw_context *context, uint32_t flags,
|
|||
|
||||
void pw_buffers_clear(struct pw_buffers *buffers);
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ extern "C" {
|
|||
#include <pipewire/proxy.h>
|
||||
#include <pipewire/permission.h>
|
||||
|
||||
/** \defgroup pw_client PipeWire Client
|
||||
/** \defgroup pw_client Client
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -24,9 +24,22 @@
|
|||
|
||||
#include <pipewire/context.h>
|
||||
|
||||
/** \defgroup pw_conf Configuration
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_conf
|
||||
* \{
|
||||
*/
|
||||
|
||||
int pw_conf_load_conf(const char *prefix, const char *name, struct pw_properties *conf);
|
||||
int pw_conf_load_state(const char *prefix, const char *name, struct pw_properties *conf);
|
||||
int pw_conf_save_state(const char *prefix, const char *name, const struct pw_properties *conf);
|
||||
|
||||
int pw_context_parse_conf_section(struct pw_context *context,
|
||||
struct pw_properties *conf, const char *section);
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ extern "C" {
|
|||
#include <spa/utils/defs.h>
|
||||
#include <spa/utils/hook.h>
|
||||
|
||||
/** \defgroup pw_context PipeWire Context
|
||||
/** \defgroup pw_context Context
|
||||
*
|
||||
* \brief The PipeWire context object manages all locally available
|
||||
* resources. It is used by both clients and servers.
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/hook.h>
|
||||
|
||||
/** \defgroup pw_core The PipeWire Core Global Object
|
||||
/** \defgroup pw_core Core
|
||||
*
|
||||
* \brief The core global object.
|
||||
*
|
||||
|
|
@ -112,7 +112,6 @@ void pw_core_info_free(struct pw_core_info *info);
|
|||
|
||||
/** \struct pw_core_events
|
||||
* \brief Core events
|
||||
* \ingroup pw_core_interface The pw_core interface
|
||||
*/
|
||||
struct pw_core_events {
|
||||
#define PW_VERSION_CORE_EVENTS 0
|
||||
|
|
|
|||
|
|
@ -31,7 +31,9 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/hook.h>
|
||||
|
||||
/** \defgroup pw_data_loop PipeWire rt-loop object
|
||||
/** \defgroup pw_data_loop Data Loop
|
||||
*
|
||||
* \brief PipeWire rt-loop object
|
||||
*
|
||||
* This loop starts a new real-time thread that
|
||||
* is designed to run the processing graph.
|
||||
|
|
|
|||
|
|
@ -34,6 +34,15 @@ extern "C" {
|
|||
|
||||
#include <pipewire/proxy.h>
|
||||
|
||||
/** \defgroup pw_device Device
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_device
|
||||
* \{
|
||||
*/
|
||||
|
||||
#define PW_TYPE_INTERFACE_Device PW_TYPE_INFO_INTERFACE_BASE "Device"
|
||||
|
||||
#define PW_VERSION_DEVICE 3
|
||||
|
|
@ -158,6 +167,10 @@ struct pw_device_methods {
|
|||
#define pw_device_enum_params(c,...) pw_device_method(c,enum_params,0,__VA_ARGS__)
|
||||
#define pw_device_set_param(c,...) pw_device_method(c,set_param,0,__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -32,6 +32,14 @@ extern "C" {
|
|||
#include <spa/utils/defs.h>
|
||||
#include <spa/param/param.h>
|
||||
|
||||
/** \defgroup pw_client_node Client Node
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_client_node
|
||||
* \{
|
||||
*/
|
||||
#define PW_TYPE_INTERFACE_ClientNode PW_TYPE_INFO_INTERFACE_BASE "ClientNode"
|
||||
|
||||
#define PW_VERSION_CLIENT_NODE 4
|
||||
|
|
@ -338,6 +346,10 @@ pw_client_node_get_node(struct pw_client_node *p, uint32_t version, size_t user_
|
|||
#define pw_client_node_event(c,...) pw_client_node_method(c,event,0,__VA_ARGS__)
|
||||
#define pw_client_node_port_buffers(c,...) pw_client_node_method(c,port_buffers,0,__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -31,6 +31,14 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/defs.h>
|
||||
|
||||
/** \defgroup pw_metadata Metadata
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_metadata
|
||||
* \{
|
||||
*/
|
||||
#define PW_TYPE_INTERFACE_Metadata PW_TYPE_INFO_INTERFACE_BASE "Metadata"
|
||||
|
||||
#define PW_VERSION_METADATA 3
|
||||
|
|
@ -93,6 +101,10 @@ struct pw_metadata_methods {
|
|||
|
||||
#define PW_KEY_METADATA_NAME "metadata.name"
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -31,6 +31,14 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/defs.h>
|
||||
|
||||
/** \defgroup pw_profiler Profiler
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_profiler
|
||||
* \{
|
||||
*/
|
||||
#define PW_TYPE_INTERFACE_Profiler PW_TYPE_INFO_INTERFACE_BASE "Profiler"
|
||||
|
||||
#define PW_VERSION_PROFILER 3
|
||||
|
|
@ -76,6 +84,10 @@ struct pw_profiler_methods {
|
|||
|
||||
#define PW_KEY_PROFILER_NAME "profiler.name"
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -34,6 +34,14 @@ extern "C" {
|
|||
#include <pipewire/proxy.h>
|
||||
#include <pipewire/resource.h>
|
||||
|
||||
/** \defgroup pw_protocol_native Native Protocol
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_protocol_native
|
||||
* \{
|
||||
*/
|
||||
#define PW_TYPE_INFO_PROTOCOL_Native PW_TYPE_INFO_PROTOCOL_BASE "Native"
|
||||
|
||||
struct pw_protocol_native_message {
|
||||
|
|
@ -86,6 +94,10 @@ struct pw_protocol_native_ext {
|
|||
#define pw_protocol_native_get_resource_fd(r,...) pw_protocol_ext(pw_resource_get_protocol(r),struct pw_protocol_native_ext,get_resource_fd,r,__VA_ARGS__)
|
||||
#define pw_protocol_native_end_resource(r,...) pw_protocol_ext(pw_resource_get_protocol(r),struct pw_protocol_native_ext,end_resource,r,__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -26,9 +26,22 @@
|
|||
#ifndef PIPEWIRE_EXT_SESSION_MANAGER_H
|
||||
#define PIPEWIRE_EXT_SESSION_MANAGER_H
|
||||
|
||||
/** \defgroup pw_session_manager Session Manager
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_session_manager
|
||||
* \{
|
||||
*/
|
||||
|
||||
#include "session-manager/introspect.h"
|
||||
#include "session-manager/interfaces.h"
|
||||
#include "session-manager/impl-interfaces.h"
|
||||
#include "session-manager/keys.h"
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#endif /* PIPEWIRE_EXT_SESSION_MANAGER_H */
|
||||
|
|
|
|||
|
|
@ -36,6 +36,15 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_session_manager_impl Implementation
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_session_manager_impl
|
||||
* \{
|
||||
*/
|
||||
|
||||
#define PW_TYPE_INTERFACE_ClientEndpoint PW_TYPE_INFO_INTERFACE_BASE "ClientEndpoint"
|
||||
|
||||
#define PW_VERSION_CLIENT_ENDPOINT 0
|
||||
|
|
@ -282,6 +291,10 @@ struct pw_client_session_methods {
|
|||
#define pw_client_session_update(o,...) pw_client_session_method(o,update,0,__VA_ARGS__)
|
||||
#define pw_client_session_link_update(o,...) pw_client_session_method(o,link_update,0,__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -35,6 +35,11 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \addtogroup pw_session_manager
|
||||
* \{
|
||||
*/
|
||||
|
||||
#define PW_TYPE_INTERFACE_Session PW_TYPE_INFO_INTERFACE_BASE "Session"
|
||||
#define PW_VERSION_SESSION 0
|
||||
struct pw_session;
|
||||
|
|
@ -463,6 +468,10 @@ struct pw_endpoint_link_methods {
|
|||
#define pw_endpoint_link_request_state(c,...) pw_endpoint_link_method(c,request_state,0,__VA_ARGS__)
|
||||
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \addtogroup pw_session_manager
|
||||
* \{
|
||||
*/
|
||||
|
||||
static inline struct pw_session_info *
|
||||
pw_session_info_update (struct pw_session_info *info,
|
||||
const struct pw_session_info *update)
|
||||
|
|
@ -307,6 +312,10 @@ pw_endpoint_link_info_free (struct pw_endpoint_link_info *info)
|
|||
free(ext);
|
||||
}
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \addtogroup pw_session_manager
|
||||
* \{
|
||||
*/
|
||||
|
||||
enum pw_endpoint_link_state {
|
||||
PW_ENDPOINT_LINK_STATE_ERROR = -1,
|
||||
PW_ENDPOINT_LINK_STATE_PREPARING,
|
||||
|
|
@ -114,6 +119,10 @@ struct pw_endpoint_link_info {
|
|||
uint32_t n_params; /**< number of items in \a params */
|
||||
};
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -30,6 +30,11 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \addtogroup pw_session_manager
|
||||
* \{
|
||||
*/
|
||||
|
||||
#define PW_KEY_SESSION_ID "session.id" /**< id of a session manager */
|
||||
|
||||
#define PW_KEY_ENDPOINT_ID "endpoint.id" /**< id of an endpoint */
|
||||
|
|
@ -51,6 +56,10 @@ extern "C" {
|
|||
#define PW_KEY_ENDPOINT_LINK_INPUT_ENDPOINT "endpoint-link.input.endpoint" /**< input endpoint of link */
|
||||
#define PW_KEY_ENDPOINT_LINK_INPUT_STREAM "endpoint-link.input.stream" /**< input stream of link */
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -37,6 +37,14 @@ extern "C" {
|
|||
|
||||
#include <pipewire/proxy.h>
|
||||
|
||||
/** \defgroup pw_factory Factory
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_factory
|
||||
* \{
|
||||
*/
|
||||
#define PW_TYPE_INTERFACE_Factory PW_TYPE_INFO_INTERFACE_BASE "Factory"
|
||||
|
||||
#define PW_VERSION_FACTORY 3
|
||||
|
|
@ -104,6 +112,10 @@ struct pw_factory_methods {
|
|||
|
||||
#define pw_factory_add_listener(c,...) pw_factory_method(c,add_listener,0,__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -29,14 +29,14 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_filter PipeWire Filter
|
||||
/** \defgroup pw_filter Filter API
|
||||
*
|
||||
* \brief PipeWire filter object class
|
||||
*
|
||||
* The filter object provides a convenient way to implement
|
||||
* processing filters.
|
||||
*
|
||||
* See also \ref page_core_api
|
||||
* See also \ref api_pw_core
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_global PipeWire Global Object
|
||||
/** \defgroup pw_global Global
|
||||
*
|
||||
* \brief A global object visible to remote clients
|
||||
*
|
||||
|
|
|
|||
|
|
@ -29,6 +29,14 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_gettext Internationalization
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_gettext
|
||||
* \{
|
||||
*/
|
||||
#include <spa/support/i18n.h>
|
||||
|
||||
SPA_FORMAT_ARG_FUNC(1) const char *pw_gettext(const char *msgid);
|
||||
|
|
@ -37,6 +45,10 @@ SPA_FORMAT_ARG_FUNC(1) const char *pw_ngettext(const char *msgid, const char *ms
|
|||
#define _(String) (pw_gettext(String))
|
||||
#define N_(String) (String)
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/hook.h>
|
||||
|
||||
/** \page page_client Client
|
||||
/** \page page_client Client Implementation
|
||||
*
|
||||
* \section sec_page_client_overview Overview
|
||||
*
|
||||
|
|
@ -61,7 +61,7 @@ extern "C" {
|
|||
* See also \ref pw_resource
|
||||
*/
|
||||
|
||||
/** \defgroup pw_impl_client Client Object
|
||||
/** \defgroup pw_impl_client Client Impl
|
||||
*
|
||||
* \brief PipeWire client object class
|
||||
*
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_impl_core PipeWire Core Interface
|
||||
/** \defgroup pw_impl_core Core Impl
|
||||
*
|
||||
* \brief PipeWire core interface.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_impl_device PipeWire Device Interface
|
||||
/** \defgroup pw_impl_device Device Impl
|
||||
*
|
||||
* The device is an object that manages nodes. It typically
|
||||
* corresponds to a physical hardware device but it does not
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_impl_factory PipeWire Factory Interface
|
||||
/** \defgroup pw_impl_factory Factory Impl
|
||||
*
|
||||
* The factory is used to make objects on demand.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_impl_link Link Objects
|
||||
/** \defgroup pw_impl_link Link Impl
|
||||
*
|
||||
* \brief PipeWire link object.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_impl_metadata PipeWire Metadata Interface
|
||||
/** \defgroup pw_impl_metadata Metadata Impl
|
||||
*
|
||||
* The metadata is used to store key/type/value pairs per object id.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -37,13 +37,13 @@ extern "C" {
|
|||
#define PIPEWIRE_SYMBOL_MODULE_INIT "pipewire__module_init"
|
||||
#define PIPEWIRE_MODULE_PREFIX "libpipewire-"
|
||||
|
||||
/** \defgroup pw_impl_module Dynamically loadable Module
|
||||
/** \defgroup pw_impl_module Module Impl
|
||||
*
|
||||
* A dynamically loadable module
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogropu pw_impl_module
|
||||
* \addtogroup pw_impl_module
|
||||
* \{
|
||||
*/
|
||||
struct pw_impl_module;
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_impl_node Node
|
||||
/** \defgroup pw_impl_node Node Impl
|
||||
*
|
||||
* The node object processes data. The node has a list of
|
||||
* input and output ports (\ref pw_impl_port) on which it
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/hook.h>
|
||||
|
||||
/** \defgroup pw_impl_port Port Object
|
||||
/** \defgroup pw_impl_port Port Impl
|
||||
*
|
||||
* \brief A port can be used to link two nodes.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -29,6 +29,10 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \addtogroup api_pw_impl
|
||||
*/
|
||||
|
||||
struct pw_impl_client;
|
||||
struct pw_impl_module;
|
||||
struct pw_global;
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
/**
|
||||
* \defgroup pw_keys PipeWire Keys
|
||||
* \defgroup pw_keys Key Names
|
||||
*
|
||||
* A collection of keys that are used to add extra information on objects.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ extern "C" {
|
|||
|
||||
#include <pipewire/proxy.h>
|
||||
|
||||
/** \defgroup pw_link PipeWire Link
|
||||
/** \defgroup pw_link Link
|
||||
*
|
||||
* A link is the connection between 2 nodes (\ref pw_node). Nodes are
|
||||
* linked together on ports.
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ extern "C" {
|
|||
#include <spa/support/loop.h>
|
||||
#include <spa/utils/dict.h>
|
||||
|
||||
/** \defgroup pw_loop PipeWire Loop
|
||||
/** \defgroup pw_loop Loop
|
||||
*
|
||||
* PipeWire loop object provides an implementation of
|
||||
* the spa loop interfaces. It can be used to implement various
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_main_loop PipeWire Main-Loop Interface
|
||||
/** \defgroup pw_main_loop Main Loop
|
||||
*
|
||||
* A main loop object
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ extern "C" {
|
|||
#include <spa/utils/defs.h>
|
||||
#include <pipewire/array.h>
|
||||
|
||||
/** \defgroup pw_map Map Objects
|
||||
/** \defgroup pw_map Map
|
||||
*
|
||||
* \brief A map that holds objects indexed by id
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -34,6 +34,14 @@ extern "C" {
|
|||
|
||||
#include <pipewire/proxy.h>
|
||||
|
||||
/** \defgroup pw_module Module
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_module
|
||||
* \{
|
||||
*/
|
||||
#define PW_TYPE_INTERFACE_Module PW_TYPE_INFO_INTERFACE_BASE "Module"
|
||||
|
||||
#define PW_VERSION_MODULE 3
|
||||
|
|
@ -102,6 +110,10 @@ struct pw_module_methods {
|
|||
|
||||
#define pw_module_add_listener(c,...) pw_module_method(c,add_listener,0,__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ extern "C" {
|
|||
|
||||
#include <pipewire/proxy.h>
|
||||
|
||||
/** \defgroup pw_node PipeWire Node
|
||||
/** \defgroup pw_node Node
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/defs.h>
|
||||
|
||||
/** \defgroup pw_permission PipeWire Permission
|
||||
/** \defgroup pw_permission Permission
|
||||
*
|
||||
* Permissions are kept for a client and describe what the client is
|
||||
* allowed to do with an object.
|
||||
|
|
|
|||
|
|
@ -60,10 +60,9 @@ extern "C" {
|
|||
#include <pipewire/utils.h>
|
||||
#include <pipewire/version.h>
|
||||
|
||||
/** \defgroup pw_pipewire PipeWire initialization and infrastructure functions
|
||||
/** \defgroup pw_pipewire Initialization etc.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* \addtogroup pw_pipewire
|
||||
* \{
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ extern "C" {
|
|||
|
||||
#include <pipewire/proxy.h>
|
||||
|
||||
/** \defgroup pw_port PipeWire Port
|
||||
/** \defgroup pw_port Port
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ extern "C" {
|
|||
#include <spa/utils/dict.h>
|
||||
#include <spa/utils/string.h>
|
||||
|
||||
/** \defgroup pw_properties Key-Value pairs
|
||||
/** \defgroup pw_properties Properties
|
||||
*
|
||||
* Properties are used to pass around arbitrary key/value pairs.
|
||||
* Both keys and values are strings which keeps things simple.
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/list.h>
|
||||
|
||||
/** \defgroup pw_protocol PipeWire Protocol
|
||||
/** \defgroup pw_protocol Protocol
|
||||
*
|
||||
* \brief Manages protocols and their implementation
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ extern "C" {
|
|||
* associated to the proxy.
|
||||
*/
|
||||
|
||||
/** \defgroup pw_proxy Proxy Object
|
||||
/** \defgroup pw_proxy Proxy
|
||||
*
|
||||
* \brief Represents an object on the client side.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/hook.h>
|
||||
|
||||
/** \defgroup pw_resource PipeWire Resources
|
||||
/** \defgroup pw_resource Resource
|
||||
*
|
||||
* \brief Client owned objects
|
||||
*
|
||||
|
|
|
|||
|
|
@ -144,14 +144,14 @@ extern "C" {
|
|||
*
|
||||
* Use \ref pw_stream_disconnect() to disconnect a stream after use.
|
||||
*/
|
||||
/** \defgroup pw_stream Stream Object
|
||||
/** \defgroup pw_stream Stream API
|
||||
*
|
||||
* \brief PipeWire stream objects
|
||||
*
|
||||
* The stream object provides a convenient way to send and
|
||||
* receive data streams from/to PipeWire.
|
||||
*
|
||||
* See also \ref page_streams and \ref page_core_api
|
||||
* See also \ref page_streams and \ref api_pw_core
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ extern "C" {
|
|||
|
||||
#include <pipewire/loop.h>
|
||||
|
||||
/** \page page_thread_loop Threaded Loop
|
||||
/** \page page_thread_loop Thread Loop
|
||||
*
|
||||
* \section sec_thread_loop_overview Overview
|
||||
*
|
||||
|
|
@ -80,7 +80,7 @@ extern "C" {
|
|||
* All events and callbacks are called with the thread lock held.
|
||||
*
|
||||
*/
|
||||
/** \defgroup pw_thread_loop PipeWire Threaded Loop Object
|
||||
/** \defgroup pw_thread_loop Thread Loop
|
||||
*
|
||||
* The threaded loop object runs a \ref pw_loop in a separate thread
|
||||
* and ensures proper locking is done.
|
||||
|
|
|
|||
|
|
@ -34,11 +34,16 @@ extern "C" {
|
|||
|
||||
#include <spa/support/thread.h>
|
||||
|
||||
/** \defgroup spa_thread Thread related functions
|
||||
/** \defgroup pw_thread Thread
|
||||
*
|
||||
* \brief functions to manipulate threads
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup pw_thread
|
||||
* \{
|
||||
*/
|
||||
|
||||
void pw_thread_utils_set(struct spa_thread_utils *impl);
|
||||
struct spa_thread_utils *pw_thread_utils_get(void);
|
||||
|
||||
|
|
@ -48,6 +53,10 @@ struct spa_thread_utils *pw_thread_utils_get(void);
|
|||
#define pw_thread_utils_acquire_rt(...) spa_thread_utils_acquire_rt(pw_thread_utils_get(), ##__VA_ARGS__)
|
||||
#define pw_thread_utils_drop_rt(...) spa_thread_utils_drop_rt(pw_thread_utils_get(), ##__VA_ARGS__)
|
||||
|
||||
/**
|
||||
* \}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ extern "C" {
|
|||
|
||||
#include <spa/utils/type.h>
|
||||
|
||||
/** \defgroup pw_type PipeWire Types
|
||||
/** \defgroup pw_type Type
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ extern "C" {
|
|||
#include <spa/utils/defs.h>
|
||||
#include <spa/pod/pod.h>
|
||||
|
||||
/** \defgroup pw_utils PipeWire Utility Functions
|
||||
/** \defgroup pw_utils Utilities
|
||||
*
|
||||
* Various utility functions
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** \defgroup pw_work_queue PipeWire Work Queue Object
|
||||
/** \defgroup pw_work_queue Work Queue
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ extern "C" {
|
|||
#include "spa/support/plugin.h"
|
||||
|
||||
/**
|
||||
* \defgroup pwtest The pwtest PipeWire Test Suite
|
||||
* \defgroup pwtest Test Suite
|
||||
* \brief `pwtest` is a test runner framework for PipeWire.
|
||||
*
|
||||
* It's modelled after other
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue