spa: group the spa headers into doxygen modules

Subdirectories buffer, control, debug, monitor, pod, support and utils, others
are still missing. Headers are grouped either per subdirectory (e.g. buffer/
gets added to group spa_buffer) or per-file (e.g. spa_json is a separate
group), whatever seemed like the most sensible approach.
This commit is contained in:
Peter Hutterer 2021-05-21 14:03:07 +10:00 committed by Wim Taymans
parent d0aff793b7
commit 07533cb708
72 changed files with 700 additions and 21 deletions

View file

@ -29,6 +29,11 @@ extern "C" {
#include <spa/buffer/buffer.h>
/**
* \addtogroup spa_buffer
* \{
*/
/** information about the buffer layout */
struct spa_buffer_alloc_info {
#define SPA_BUFFER_ALLOC_FLAG_INLINE_META (1<<0) /**< add metadata data in the skeleton */
@ -178,7 +183,7 @@ static inline int spa_buffer_alloc_fill_info(struct spa_buffer_alloc_info *info,
/**
* Fill skeleton and data according to the allocation info
*
* Use the allocation info to create a \ref struct spa_buffer into
* Use the allocation info to create a struct \ref spa_buffer into
* \a skel_mem and \a data_mem.
*
* Depending on the flags given when calling \ref
@ -186,10 +191,10 @@ static inline int spa_buffer_alloc_fill_info(struct spa_buffer_alloc_info *info,
* will be referenced in either skel_mem or data_mem.
*
* \param info an allocation info
* \param skel_mem memory to hold the \ref struct spa_buffer and the
* \param skel_mem memory to hold the struct \ref spa_buffer and the
* pointers to meta, chunk and memory.
* \param data_mem memory to hold the meta, chunk and memory
* \return a \ref struct spa_buffer in \a skel_mem
* \return a struct \ref spa_buffer in \a skel_mem
*/
static inline struct spa_buffer *
spa_buffer_alloc_layout(struct spa_buffer_alloc_info *info,
@ -262,8 +267,8 @@ spa_buffer_alloc_layout(struct spa_buffer_alloc_info *info,
*
* \param info the allocation info for one buffer
* \param n_buffers the number of buffers to create
* \param buffer a array with space to hold \a n_buffers pointers to buffers
* \param skel_mem memory for the \ref struct spa_buffer
* \param buffers a array with space to hold \a n_buffers pointers to buffers
* \param skel_mem memory for the struct \ref spa_buffer
* \param data_mem memory for the meta, chunk, memory of the buffer if not
* inlined in the skeleton.
* \return 0 on success.
@ -299,7 +304,7 @@ spa_buffer_alloc_layout_array(struct spa_buffer_alloc_info *info,
* \param n_datas number of datas
* \param datas \a n_datas memory specification
* \param data_aligns \a n_datas alignment specifications
* \returns an array of \a n_buffers pointers to \ref struct spa_buffer
* \returns an array of \a n_buffers pointers to struct \ref spa_buffer
* with the given metadata, data and alignment or NULL when
* allocation failed.
*
@ -330,6 +335,9 @@ spa_buffer_alloc_array(uint32_t n_buffers, uint32_t flags,
return buffers;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */

View file

@ -31,12 +31,17 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/buffer/meta.h>
/** \page page_buffer Buffers
/** \defgroup spa_buffer SPA Buffers
*
* Buffers describe the data and metadata that is exchanged between
* ports of a node.
*/
/**
* \addtogroup spa_buffer
* \{
*/
enum spa_data_type {
SPA_DATA_Invalid,
SPA_DATA_MemPtr, /**< pointer to memory, the data field in
@ -112,6 +117,10 @@ static inline void *spa_buffer_find_meta_data(const struct spa_buffer *b, uint32
return NULL;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -32,10 +32,11 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/pod/pod.h>
/** \page page_meta Metadata
*
* Metadata contains extra information on a buffer.
/**
* \addtogroup spa_buffer
* \{
*/
enum spa_meta_type {
SPA_META_Invalid,
SPA_META_Header, /**< struct spa_meta_header */
@ -151,6 +152,10 @@ struct spa_meta_busy {
uint32_t count; /**< number of users busy with the buffer */
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -25,6 +25,11 @@
#ifndef SPA_BUFFER_TYPES_H
#define SPA_BUFFER_TYPES_H
/**
* \addtogroup spa_buffer
* \{
*/
#ifdef __cplusplus
extern "C" {
#endif
@ -77,6 +82,10 @@ static const struct spa_type_info spa_type_meta_type[] = {
{ 0, 0, NULL, NULL },
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -32,10 +32,15 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/pod/pod.h>
/** Controls
/** \defgroup spa_control SPA Controls
*
*/
/**
* \addtogroup spa_control
* \{
*/
/** Different Control types */
enum spa_control_type {
SPA_CONTROL_Invalid,
@ -46,6 +51,10 @@ enum spa_control_type {
_SPA_CONTROL_LAST, /**< not part of ABI */
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_control
* \{
*/
#include <spa/utils/defs.h>
#include <spa/utils/type-info.h>
#include <spa/control/control.h>
@ -45,6 +50,10 @@ static const struct spa_type_info spa_type_control[] = {
{ 0, 0, NULL, NULL },
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,15 @@
extern "C" {
#endif
/** \defgroup spa_debug SPA Debug
*
*/
/**
* \addtogroup spa_debug
* \{
*/
#include <spa/debug/mem.h>
#include <spa/debug/types.h>
#include <spa/buffer/type-info.h>
@ -112,6 +121,10 @@ static inline int spa_debug_buffer(int indent, const struct spa_buffer *buffer)
return 0;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_debug
* \{
*/
#include <spa/utils/dict.h>
#ifndef spa_debug
@ -45,6 +50,10 @@ static inline int spa_debug_dict(int indent, const struct spa_dict *dict)
return 0;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_debug
* \{
*/
#include <spa/pod/parser.h>
#include <spa/debug/types.h>
#include <spa/param/type-info.h>
@ -195,6 +200,10 @@ static inline int spa_debug_format(int indent,
return 0;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_debug
* \{
*/
#include <spa/utils/dict.h>
#ifndef spa_debug
@ -53,6 +58,10 @@ static inline int spa_debug_mem(int indent, const void *data, size_t size)
return 0;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_debug
* \{
*/
#include <spa/node/node.h>
#include <spa/debug/dict.h>
@ -49,6 +54,10 @@ static inline int spa_debug_port_info(int indent, const struct spa_port_info *in
return 0;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_debug
* \{
*/
#include <spa/debug/mem.h>
#include <spa/debug/types.h>
#include <spa/pod/pod.h>
@ -201,6 +206,11 @@ static inline int spa_debug_pod(int indent,
SPA_POD_BODY_SIZE(pod));
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_debug
* \{
*/
#include <spa/utils/type-info.h>
#include <string.h>
@ -91,6 +96,10 @@ static inline uint32_t spa_debug_type_find_type(const struct spa_type_info *info
return SPA_ID_INVALID;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,14 @@
extern "C" {
#endif
/** \defgroup spa_graph SPA Graph
*/
/**
* \addtogroup spa_graph
* \{
*/
#include <spa/utils/defs.h>
#include <spa/utils/list.h>
#include <spa/utils/hook.h>
@ -345,6 +353,10 @@ static const struct spa_graph_node_callbacks spa_graph_node_impl_default = {
.reuse_buffer = spa_graph_node_impl_reuse_buffer,
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -35,13 +35,18 @@ extern "C" {
#include <spa/pod/event.h>
/**
* spa_device:
* \defgroup spa_device SPA Device
*
* The device interface can be used to monitor all kinds of devices
* and create objects as a result. Objects a typically other
* Devices or Nodes.
*
*/
/**
* \addtogroup spa_device
* \{
*/
#define SPA_TYPE_INTERFACE_Device SPA_TYPE_INFO_INTERFACE_BASE "Device"
#define SPA_VERSION_DEVICE 0
@ -291,6 +296,9 @@ struct spa_device_methods {
#define SPA_KEY_DEVICE_STRING "device.string" /**< device string in the underlying
* layer's format. E.g. "surround51:0" */
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_node
* \{
*/
#include <spa/pod/command.h>
/* object id of SPA_TYPE_COMMAND_Node */
@ -55,6 +60,10 @@ enum spa_node_command {
#define SPA_NODE_COMMAND_INIT(id) SPA_COMMAND_INIT(SPA_TYPE_COMMAND_Node, id)
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_node
* \{
*/
#include <spa/pod/event.h>
/* object id of SPA_TYPE_EVENT_Node */
@ -41,6 +46,10 @@ enum spa_node_event {
#define SPA_NODE_EVENT_ID(ev) SPA_EVENT_ID(ev, SPA_TYPE_EVENT_Node)
#define SPA_NODE_EVENT_INIT(id) SPA_EVENT_INIT(SPA_TYPE_EVENT_Node, id)
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_node
* \{
*/
#include <spa/utils/defs.h>
#include <spa/pod/pod.h>
@ -288,6 +293,10 @@ struct spa_io_rate_match {
uint32_t padding[7];
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_node
* \{
*/
/** node keys */
#define SPA_KEY_NODE_NAME "node.name" /**< a node name */
#define SPA_KEY_NODE_LATENCY "node.latency" /**< the requested node latency */
@ -48,6 +53,10 @@ extern "C" {
#define SPA_KEY_PORT_MONITOR "port.monitor" /**< this port is a monitor port */
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,15 @@
extern "C" {
#endif
/** \defgroup spa_node SPA Nodes
* A spa_node is a component that can consume and produce buffers.
*/
/**
* \addtogroup spa_node
* \{
*/
#include <spa/utils/defs.h>
#include <spa/utils/type.h>
#include <spa/utils/hook.h>
@ -37,9 +46,6 @@ extern "C" {
#include <spa/node/command.h>
/**
* A spa_node is a component that can consume and produce buffers.
*/
#define SPA_TYPE_INTERFACE_Node SPA_TYPE_INFO_INTERFACE_BASE "Node"
#define SPA_VERSION_NODE 0
@ -655,6 +661,10 @@ struct spa_node_methods {
#define spa_node_port_reuse_buffer(n,...) spa_node_method(n, port_reuse_buffer, 0, __VA_ARGS__)
#define spa_node_process(n) spa_node_method(n, process, 0)
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_node
* \{
*/
#include <spa/utils/type-info.h>
#include <spa/node/command.h>
@ -89,6 +94,10 @@ static const struct spa_type_info spa_type_node_command[] = {
{ 0, 0, NULL, NULL },
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_node
* \{
*/
#include <spa/pod/builder.h>
#include <spa/node/node.h>
@ -137,6 +142,10 @@ static inline int spa_node_port_enum_params_sync(struct spa_node *node,
#define spa_node_call_reuse_buffer(hook,...) spa_node_call(hook, reuse_buffer, 0, __VA_ARGS__)
#define spa_node_call_xrun(hook,...) spa_node_call(hook, xrun, 0, __VA_ARGS__)
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,10 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/pod/parser.h>
#include <spa/pod/builder.h>
@ -106,6 +110,10 @@ spa_format_audio_dsp_build(struct spa_pod_builder *builder, uint32_t id, struct
return (struct spa_pod*)spa_pod_builder_pop(builder, &f);
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/param/format.h>
#include <spa/param/audio/raw.h>
@ -41,6 +46,10 @@ struct spa_audio_info {
} info;
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -33,6 +33,10 @@ extern "C" {
#include <endian.h>
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/param/audio/raw.h>
struct spa_audio_layout_info {
@ -177,6 +181,10 @@ struct spa_audio_layout_info {
SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR, \
SPA_AUDIO_CHANNEL_FLC, SPA_AUDIO_CHANNEL_FRC, }
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -35,6 +35,11 @@ extern "C" {
#include <endian.h>
#endif
/**
* \addtogroup spa_param
* \{
*/
#define SPA_AUDIO_MAX_CHANNELS 64u
enum spa_audio_format {
@ -235,6 +240,10 @@ struct spa_audio_info_dsp {
#define SPA_AUDIO_INFO_DSP_INIT(...) (struct spa_audio_info_dsp) { __VA_ARGS__ }
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/param/audio/raw.h>
#define SPA_TYPE_INFO_AudioFormat SPA_TYPE_INFO_ENUM_BASE "AudioFormat"
@ -193,6 +198,10 @@ static const struct spa_type_info spa_type_audio_channel[] = {
{ 0, 0, NULL, NULL },
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,10 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
enum spa_bluetooth_audio_codec {
SPA_BLUETOOTH_AUDIO_CODEC_START,
@ -46,6 +50,10 @@ enum spa_bluetooth_audio_codec {
SPA_BLUETOOTH_AUDIO_CODEC_MSBC,
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/param/bluetooth/audio.h>
#define SPA_TYPE_INFO_BluetoothAudioCodec SPA_TYPE_INFO_ENUM_BASE "BluetoothAudioCodec"
@ -50,6 +55,10 @@ static const struct spa_type_info spa_type_bluetooth_audio_codec[] = {
{ 0, 0, NULL, NULL },
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -30,6 +30,11 @@ extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/pod/parser.h>
#include <spa/param/format.h>
@ -42,6 +47,10 @@ spa_format_parse(const struct spa_pod *format, uint32_t *media_type, uint32_t *m
SPA_FORMAT_mediaSubtype, SPA_POD_Id(media_subtype));
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/param/param.h>
/** media type for SPA_TYPE_OBJECT_Format */
@ -140,6 +145,10 @@ enum spa_format {
#define SPA_KEY_FORMAT_DSP "format.dsp" /**< a predefined DSP format,
* Ex. "32 bit float mono audio" */
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,14 @@
extern "C" {
#endif
/** \defgroup spa_param SPA Parameters
*/
/**
* \addtogroup spa_param
* \{
*/
#include <spa/utils/defs.h>
/** different parameter types that can be queried */
@ -164,6 +172,10 @@ enum spa_param_route {
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/param/param.h>
/** properties for SPA_TYPE_OBJECT_Profiler */
@ -81,6 +86,10 @@ enum spa_profiler {
SPA_PROFILER_START_CUSTOM = 0x1000000,
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/param/param.h>
/** properties of SPA_TYPE_OBJECT_PropInfo */
@ -111,6 +116,10 @@ enum spa_prop {
SPA_PROP_START_CUSTOM = 0x1000000,
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/utils/defs.h>
#include <spa/param/props.h>
#include <spa/param/format.h>
@ -379,6 +384,10 @@ static const struct spa_type_info spa_type_profiler[] = {
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
/** Various Chroma settings.
*/
enum spa_video_chroma_site {
@ -48,6 +53,10 @@ enum spa_video_chroma_site {
SPA_VIDEO_CHROMA_SITE_DV = (SPA_VIDEO_CHROMA_SITE_COSITED | SPA_VIDEO_CHROMA_SITE_ALT_LINE),
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
/**
* Possible color range values. These constants are defined for 8 bit color
* values and can be scaled for other bit depths.
@ -109,6 +114,10 @@ struct spa_video_colorimetry {
* and CIE XYZ */
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/param/format.h>
enum spa_h264_stream_format {
@ -58,6 +63,10 @@ struct spa_video_info_mjpg {
struct spa_fraction max_framerate;
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,10 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/pod/parser.h>
#include <spa/pod/builder.h>
#include <spa/param/video/format.h>
@ -168,6 +172,10 @@ spa_format_video_mjpg_parse(const struct spa_pod *format,
SPA_FORMAT_VIDEO_maxFramerate, SPA_POD_OPT_Fraction(&info->max_framerate));
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/param/video/raw.h>
#include <spa/param/video/encoded.h>
@ -43,6 +48,10 @@ struct spa_video_info {
} info;
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
/**
* All possible stereoscopic 3D and multiview representations.
* In conjunction with \ref spa_video_multiview_flags, describes how
@ -118,6 +123,10 @@ enum spa_video_multiview_flags {
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/utils/defs.h>
#include <spa/param/video/chroma.h>
#include <spa/param/video/color.h>
@ -189,6 +194,10 @@ struct spa_video_info_dsp {
#define SPA_VIDEO_INFO_DSP_INIT(...) (struct spa_video_info_dsp) { __VA_ARGS__ }
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,10 @@
extern "C" {
#endif
/**
* \addtogroup spa_param
* \{
*/
#include <spa/param/video/raw.h>
#define SPA_TYPE_INFO_VideoFormat SPA_TYPE_INFO_ENUM_BASE "VideoFormat"
@ -117,6 +121,10 @@ static const struct spa_type_info spa_type_video_format[] = {
{ 0, 0, NULL, NULL },
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,14 @@
extern "C" {
#endif
/** \defgroup spa_pod SPA POD
*/
/**
* \addtogroup spa_pod
* \{
*/
#include <stdarg.h>
#include <spa/utils/hook.h>
@ -676,6 +684,10 @@ spa_pod_copy(const struct spa_pod *pod)
return (struct spa_pod *) memcpy(c, pod, size);
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -32,6 +32,11 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/pod/pod.h>
/**
* \addtogroup spa_pod
* \{
*/
struct spa_command_body {
struct spa_pod_object_body body;
};
@ -53,6 +58,9 @@ struct spa_command {
SPA_COMMAND_INIT_FULL(struct spa_command, \
sizeof(struct spa_command_body), type, id)
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */

View file

@ -40,6 +40,11 @@ extern "C" {
#include <spa/pod/iter.h>
#include <spa/pod/builder.h>
/**
* \addtogroup spa_pod
* \{
*/
static inline int spa_pod_compare_value(uint32_t type, const void *r1, const void *r2, uint32_t size)
{
switch (type) {
@ -174,6 +179,10 @@ static inline int spa_pod_compare(const struct spa_pod *pod1,
return res;
}
/**
* \}
*/
#ifdef __cplusplus
}
#endif

View file

@ -31,6 +31,11 @@ extern "C" {
#include <spa/pod/pod.h>
/**
* \addtogroup spa_pod
* \{
*/
struct spa_event_body {
struct spa_pod_object_body body;
};
@ -52,6 +57,10 @@ struct spa_event {
SPA_EVENT_INIT_FULL(struct spa_event, \
sizeof(struct spa_event_body), type, id)
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -33,6 +33,11 @@
#include <spa/pod/builder.h>
#include <spa/pod/compare.h>
/**
* \addtogroup spa_pod
* \{
*/
static inline int spa_pod_choice_fix_default(struct spa_pod_choice *choice)
{
void *val, *alt;
@ -398,3 +403,7 @@ spa_pod_filter(struct spa_pod_builder *b,
}
return res;
}
/**
* \}
*/

View file

@ -34,6 +34,11 @@ extern "C" {
#include <spa/pod/pod.h>
/**
* \addtogroup spa_pod
* \{
*/
struct spa_pod_frame {
struct spa_pod pod;
struct spa_pod_frame *parent;
@ -440,6 +445,10 @@ static inline int spa_pod_fixate(struct spa_pod *pod)
return spa_pod_object_fixate((struct spa_pod_object *)pod);
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -35,6 +35,11 @@ extern "C" {
#include <spa/pod/iter.h>
#include <spa/pod/vararg.h>
/**
* \addtogroup spa_pod
* \{
*/
struct spa_pod_parser_state {
uint32_t offset;
uint32_t flags;
@ -566,6 +571,10 @@ static inline int spa_pod_parser_get(struct spa_pod_parser *parser, ...)
spa_pod_parser_get_struct(&_p,##__VA_ARGS__); \
})
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -32,6 +32,11 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/utils/type.h>
/**
* \addtogroup spa_pod
* \{
*/
#define SPA_POD_BODY_SIZE(pod) (((struct spa_pod*)(pod))->size)
#define SPA_POD_TYPE(pod) (((struct spa_pod*)(pod))->type)
#define SPA_POD_SIZE(pod) (sizeof(struct spa_pod) + SPA_POD_BODY_SIZE(pod))
@ -229,6 +234,9 @@ struct spa_pod_sequence {
struct spa_pod_sequence_body body;
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */

View file

@ -33,6 +33,11 @@ extern "C" {
#include <spa/pod/pod.h>
/**
* \addtogroup spa_pod
* \{
*/
#define SPA_POD_Prop(key,...) \
key, ##__VA_ARGS__
@ -97,6 +102,10 @@ extern "C" {
#define SPA_POD_PodStruct(val) "T", val
#define SPA_POD_PodChoice(val) "V", val
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -34,6 +34,15 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/utils/hook.h>
/** \defgroup spa_support SPA Support Features
*
*/
/**
* \addtogroup spa_support
* \{
*/
/**
* The CPU features interface
*/
@ -142,6 +151,10 @@ struct spa_cpu_methods {
#define SPA_KEY_CPU_FORCE "cpu.force" /**< force cpu flags */
#define SPA_KEY_CPU_VM_TYPE "cpu.vm.type" /**< force a VM type */
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -31,6 +31,11 @@ extern "C" {
#include <spa/support/loop.h>
/**
* \addtogroup spa_support
* \{
*/
#define SPA_TYPE_INTERFACE_DBus SPA_TYPE_INFO_INTERFACE_BASE "DBus"
#define SPA_VERSION_DBUS 0
@ -133,6 +138,10 @@ spa_dbus_get_connection(struct spa_dbus *dbus, enum spa_dbus_type type)
return res;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -32,6 +32,11 @@ extern "C" {
#include <spa/utils/hook.h>
#include <spa/utils/defs.h>
/**
* \addtogroup spa_support
* \{
*/
#define SPA_TYPE_INTERFACE_I18N SPA_TYPE_INFO_INTERFACE_BASE "I18N"
#define SPA_VERSION_I18N 0
@ -86,6 +91,10 @@ spa_i18n_ntext(struct spa_i18n *i18n, const char *msgid,
return res;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -34,6 +34,11 @@ extern "C" {
#include <spa/utils/type.h>
#include <spa/support/log.h>
/**
* \addtogroup spa_log
* \{
*/
static inline SPA_PRINTF_FUNC(6, 0) void spa_log_impl_logv(void *object,
enum spa_log_level level,
const char *file,
@ -87,6 +92,10 @@ struct { \
#define SPA_LOG_IMPL(name) \
SPA_LOG_IMPL_DEFINE(name) = SPA_LOG_IMPL_INIT(name)
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -34,6 +34,14 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/utils/hook.h>
/** \defgroup spa_log SPA Logging
*/
/**
* \addtogroup spa_log
* \{
*/
enum spa_log_level {
SPA_LOG_LEVEL_NONE = 0,
SPA_LOG_LEVEL_ERROR,
@ -173,6 +181,10 @@ static inline void spa_log_trace_fp (struct spa_log *l, const char *format, ...)
#define SPA_KEY_LOG_TIMESTAMP "log.timestamp" /**< log timestamps */
#define SPA_KEY_LOG_LINE "log.line" /**< log file and line numbers */
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -33,6 +33,11 @@ extern "C" {
#include <spa/utils/hook.h>
#include <spa/support/system.h>
/**
* \addtogroup spa_support
* \{
*/
#define SPA_TYPE_INTERFACE_Loop SPA_TYPE_INFO_INTERFACE_BASE "Loop"
#define SPA_TYPE_INTERFACE_DataLoop SPA_TYPE_INFO_INTERFACE_BASE "DataLoop"
#define SPA_VERSION_LOOP 0
@ -305,6 +310,10 @@ struct spa_loop_utils_methods {
#define spa_loop_utils_add_signal(l,...) spa_loop_utils_method_s(l,add_signal,0,__VA_ARGS__)
#define spa_loop_utils_destroy_source(l,...) spa_loop_utils_method_v(l,destroy_source,0,__VA_ARGS__)
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -32,6 +32,15 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/utils/dict.h>
/**
* \defgroup spa_handle SPA Plugin Handles
*/
/**
* \addtogroup spa_handle
* \{
*/
struct spa_handle {
/** Version of this struct */
#define SPA_VERSION_HANDLE 0
@ -208,6 +217,10 @@ int spa_handle_factory_enum(const struct spa_handle_factory **factory, uint32_t
* the filename of the plugin without the
* path or the plugin extension. */
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -37,6 +37,11 @@ struct itimerspec;
#include <spa/utils/defs.h>
#include <spa/utils/hook.h>
/**
* \addtogroup spa_support
* \{
*/
/**
* a collection of core system functions
*/
@ -145,6 +150,10 @@ struct spa_system_methods {
#define spa_system_signalfd_create(s,...) spa_system_method_r(s,signalfd_create,0,__VA_ARGS__)
#define spa_system_signalfd_read(s,...) spa_system_method_r(s,signalfd_read,0,__VA_ARGS__)
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -36,6 +36,14 @@ extern "C" {
#include <stddef.h>
#include <stdio.h>
/** \defgroup spa_utils SPA Utils
*/
/**
* \addtogroup spa_utils
* \{
*/
/**
* SPA_FALLTHROUGH is an annotation to suppress compiler warnings about switch
* cases that fall through without a break or return statement. SPA_FALLTHROUGH
@ -293,6 +301,10 @@ struct spa_fraction {
_strp; \
})
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -33,6 +33,11 @@ extern "C" {
#include <spa/utils/defs.h>
/**
* \addtogroup spa_utils
* \{
*/
struct spa_dict_item {
const char *key;
const char *value;
@ -97,6 +102,10 @@ static inline const char *spa_dict_lookup(const struct spa_dict *dict, const cha
return item ? item->value : NULL;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -32,12 +32,18 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/utils/list.h>
/** \class spa_hook
/** \defgroup spa_hook SPA Hooks
*
* \brief a list of hooks
*
* The hook list provides a way to keep track of hooks.
*/
/**
* \addtogroup spa_hook
* \{
*/
/** A list of hooks */
struct spa_hook_list {
struct spa_list list;
@ -87,7 +93,7 @@ static inline bool spa_hook_list_is_empty(struct spa_hook_list *list)
return spa_list_is_empty(&list->list);
}
/** Append a hook \memberof spa_hook. */
/** Append a hook. */
static inline void spa_hook_list_append(struct spa_hook_list *list,
struct spa_hook *hook,
const void *funcs, void *data)
@ -97,7 +103,7 @@ static inline void spa_hook_list_append(struct spa_hook_list *list,
spa_list_append(&list->list, &hook->link);
}
/** Prepend a hook \memberof spa_hook */
/** Prepend a hook */
static inline void spa_hook_list_prepend(struct spa_hook_list *list,
struct spa_hook *hook,
const void *funcs, void *data)
@ -107,7 +113,7 @@ static inline void spa_hook_list_prepend(struct spa_hook_list *list,
spa_list_prepend(&list->list, &hook->link);
}
/** Remove a hook \memberof spa_hook */
/** Remove a hook */
static inline void spa_hook_remove(struct spa_hook *hook)
{
spa_list_remove(&hook->link);
@ -201,6 +207,10 @@ spa_hook_list_join(struct spa_hook_list *list,
#define spa_hook_list_call_start(l,s,t,m,v,...) spa_hook_list_do_call(l,s,t,m,v,false,##__VA_ARGS__)
#define spa_hook_list_call_once_start(l,s,t,m,v,...) spa_hook_list_do_call(l,s,t,m,v,true,##__VA_ARGS__)
/**
* \}
*/
#ifdef __cplusplus
}
#endif

View file

@ -37,6 +37,14 @@ extern "C" {
#include <spa/utils/defs.h>
/** \defgroup spa_json SPA JSON Parser
*/
/**
* \addtogroup spa_json
* \{
*/
/* a simple JSON compatible tokenizer */
struct spa_json {
const char *cur;
@ -401,6 +409,10 @@ static inline int spa_json_encode_string(char *str, int size, const char *val)
return len-1;
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,14 @@
extern "C" {
#endif
/** \defgroup spa_keys SPA Key Names
*/
/**
* \addtogroup spa_keys
* \{
*/
/** for objects */
#define SPA_KEY_OBJECT_PATH "object.path" /**< a unique path to
* identity the object */
@ -121,6 +129,10 @@ extern "C" {
#define SPA_KEY_API_JACK_SERVER "api.jack.server" /**< a jack server name */
#define SPA_KEY_API_JACK_CLIENT "api.jack.client" /**< an internal jack client */
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_utils
* \{
*/
struct spa_list {
struct spa_list *next;
struct spa_list *prev;
@ -140,6 +145,10 @@ static inline void spa_list_remove(struct spa_list *elem)
#define spa_list_cursor_end(cursor, member) \
spa_list_remove(&(cursor).member)
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,14 @@
extern "C" {
#endif
/** \defgroup spa_names SPA Factory Names
*/
/**
* \addtogroup spa_names
* \{
*/
/** for factory names */
#define SPA_NAME_SUPPORT_CPU "support.cpu" /**< A CPU interface */
#define SPA_NAME_SUPPORT_DBUS "support.dbus" /**< A DBUS interface */
@ -130,6 +138,10 @@ extern "C" {
#define SPA_NAME_API_VULKAN_COMPUTE_SOURCE \
"api.vulkan.compute.source" /**< a vulkan compute source. */
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_utils
* \{
*/
#include <spa/utils/defs.h>
#include <spa/utils/list.h>
@ -51,6 +56,10 @@ extern "C" {
strerror(_err); \
})
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -29,6 +29,11 @@
extern "C" {
#endif
/**
* \addtogroup spa_utils
* \{
*/
struct spa_ringbuffer;
#include <string.h>
@ -49,7 +54,6 @@ struct spa_ringbuffer {
* Initialize a spa_ringbuffer with \a size.
*
* \param rbuf a spa_ringbuffer
* \param size the number of elements in the ringbuffer
*/
static inline void spa_ringbuffer_init(struct spa_ringbuffer *rbuf)
{
@ -60,6 +64,7 @@ static inline void spa_ringbuffer_init(struct spa_ringbuffer *rbuf)
* Sets the pointers so that the ringbuffer contains \a size bytes.
*
* \param rbuf a spa_ringbuffer
* \param size the target size of \a rbuf
*/
static inline void spa_ringbuffer_set_avail(struct spa_ringbuffer *rbuf, uint32_t size)
{
@ -87,7 +92,7 @@ static inline int32_t spa_ringbuffer_get_read_index(struct spa_ringbuffer *rbuf,
* Read \a len bytes from \a rbuf starting \a offset. \a offset must be taken
* modulo \a size and len should be smaller than \a size.
*
* \param rbuf a #struct spa_ringbuffer
* \param rbuf a struct \ref spa_ringbuffer
* \param buffer memory to read from
* \param size the size of \a buffer
* \param offset offset in \a buffer to read from
@ -166,6 +171,10 @@ static inline void spa_ringbuffer_write_update(struct spa_ringbuffer *rbuf, int3
__atomic_store_n(&rbuf->writeindex, index, __ATOMIC_RELEASE);
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */

View file

@ -34,10 +34,17 @@ extern "C" {
#include <spa/utils/defs.h>
/**
* \addtogroup spa_utils
* \{
*/
/**
* \return true if the two strings are equal, false otherwise
*
* 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)
{
@ -93,6 +100,10 @@ static inline bool spa_atob(const char *str)
return spa_streq(str, "true") || spa_streq(str, "1");
}
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -31,6 +31,11 @@ extern "C" {
#include <spa/utils/defs.h>
/**
* \addtogroup spa_types
* \{
*/
#ifndef SPA_TYPE_ROOT
#define SPA_TYPE_ROOT spa_types
#endif
@ -122,6 +127,10 @@ static const struct spa_type_info spa_types[] = {
{ 0, 0, NULL, NULL }
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif

View file

@ -31,6 +31,14 @@ extern "C" {
#include <spa/utils/defs.h>
/** \defgroup spa_types SPA Types
*/
/**
* \addtogroup spa_types
* \{
*/
enum {
/* Basic types */
SPA_TYPE_START = 0x00000,
@ -131,6 +139,10 @@ struct spa_type_info {
const struct spa_type_info *values;
};
/**
* \}
*/
#ifdef __cplusplus
} /* extern "C" */
#endif