add per type API defines

This commit is contained in:
Wim Taymans 2024-11-21 11:50:12 +01:00
parent b03f2f7afa
commit 31802d4994
85 changed files with 1137 additions and 509 deletions

View file

@ -11,6 +11,14 @@ extern "C" {
#include <spa/buffer/buffer.h>
#ifndef SPA_API_BUFFER_ALLOC
#ifdef SPA_API_IMPL
#define SPA_API_BUFFER_ALLOC SPA_API_IMPL
#else
#define SPA_API_BUFFER_ALLOC static inline
#endif
#endif
/**
* \addtogroup spa_buffer
* \{
@ -58,7 +66,7 @@ struct spa_buffer_alloc_info {
* \param data_aligns \a n_datas alignments
* \return 0 on success.
* */
SPA_API_IMPL int spa_buffer_alloc_fill_info(struct spa_buffer_alloc_info *info,
SPA_API_BUFFER_ALLOC int spa_buffer_alloc_fill_info(struct spa_buffer_alloc_info *info,
uint32_t n_metas, struct spa_meta metas[],
uint32_t n_datas, struct spa_data datas[],
uint32_t data_aligns[])
@ -179,7 +187,7 @@ SPA_API_IMPL int spa_buffer_alloc_fill_info(struct spa_buffer_alloc_info *info,
* \param data_mem memory to hold the meta, chunk and memory
* \return a struct \ref spa_buffer in \a skel_mem
*/
SPA_API_IMPL struct spa_buffer *
SPA_API_BUFFER_ALLOC struct spa_buffer *
spa_buffer_alloc_layout(struct spa_buffer_alloc_info *info,
void *skel_mem, void *data_mem)
{
@ -257,7 +265,7 @@ spa_buffer_alloc_layout(struct spa_buffer_alloc_info *info,
* \return 0 on success.
*
*/
SPA_API_IMPL int
SPA_API_BUFFER_ALLOC int
spa_buffer_alloc_layout_array(struct spa_buffer_alloc_info *info,
uint32_t n_buffers, struct spa_buffer *buffers[],
void *skel_mem, void *data_mem)
@ -292,7 +300,7 @@ spa_buffer_alloc_layout_array(struct spa_buffer_alloc_info *info,
* allocation failed.
*
*/
SPA_API_IMPL struct spa_buffer **
SPA_API_BUFFER_ALLOC struct spa_buffer **
spa_buffer_alloc_array(uint32_t n_buffers, uint32_t flags,
uint32_t n_metas, struct spa_meta metas[],
uint32_t n_datas, struct spa_data datas[],

View file

@ -12,6 +12,14 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/buffer/meta.h>
#ifndef SPA_API_BUFFER
#ifdef SPA_API_IMPL
#define SPA_API_BUFFER SPA_API_IMPL
#else
#define SPA_API_BUFFER static inline
#endif
#endif
/** \defgroup spa_buffer Buffers
*
* Buffers describe the data and metadata that is exchanged between
@ -91,7 +99,7 @@ struct spa_buffer {
};
/** Find metadata in a buffer */
SPA_API_IMPL struct spa_meta *spa_buffer_find_meta(const struct spa_buffer *b, uint32_t type)
SPA_API_BUFFER struct spa_meta *spa_buffer_find_meta(const struct spa_buffer *b, uint32_t type)
{
uint32_t i;
@ -102,7 +110,7 @@ SPA_API_IMPL struct spa_meta *spa_buffer_find_meta(const struct spa_buffer *b, u
return NULL;
}
SPA_API_IMPL void *spa_buffer_find_meta_data(const struct spa_buffer *b, uint32_t type, size_t size)
SPA_API_BUFFER void *spa_buffer_find_meta_data(const struct spa_buffer *b, uint32_t type, size_t size)
{
struct spa_meta *m;
if ((m = spa_buffer_find_meta(b, type)) && m->size >= size)

View file

@ -12,6 +12,14 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/pod/pod.h>
#ifndef SPA_API_META
#ifdef SPA_API_IMPL
#define SPA_API_META SPA_API_IMPL
#else
#define SPA_API_META static inline
#endif
#endif
/**
* \addtogroup spa_buffer
* \{
@ -46,11 +54,11 @@ struct spa_meta {
void *data; /**< pointer to metadata */
};
SPA_API_IMPL void *spa_meta_first(const struct spa_meta *m) {
SPA_API_META void *spa_meta_first(const struct spa_meta *m) {
return m->data;
}
#define spa_meta_first spa_meta_first
SPA_API_IMPL void *spa_meta_end(const struct spa_meta *m) {
SPA_API_META void *spa_meta_end(const struct spa_meta *m) {
return SPA_PTROFF(m->data,m->size,void);
}
#define spa_meta_end spa_meta_end
@ -80,7 +88,7 @@ struct spa_meta_region {
struct spa_region region;
};
SPA_API_IMPL bool spa_meta_region_is_valid(const struct spa_meta_region *m) {
SPA_API_META bool spa_meta_region_is_valid(const struct spa_meta_region *m) {
return m->region.size.width != 0 && m->region.size.height != 0;
}
#define spa_meta_region_is_valid spa_meta_region_is_valid