mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	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:
		
							parent
							
								
									d0aff793b7
								
							
						
					
					
						commit
						07533cb708
					
				
					 72 changed files with 700 additions and 21 deletions
				
			
		| 
						 | 
					@ -29,6 +29,11 @@ extern "C" {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/buffer/buffer.h>
 | 
					#include <spa/buffer/buffer.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_buffer
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** information about the buffer layout */
 | 
					/** information about the buffer layout */
 | 
				
			||||||
struct spa_buffer_alloc_info {
 | 
					struct spa_buffer_alloc_info {
 | 
				
			||||||
#define SPA_BUFFER_ALLOC_FLAG_INLINE_META	(1<<0)	/**< add metadata data in the skeleton */
 | 
					#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
 | 
					 * 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.
 | 
					 * \a skel_mem and \a data_mem.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Depending on the flags given when calling \ref
 | 
					 * 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.
 | 
					 * will be referenced in either skel_mem or data_mem.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \param info an allocation info
 | 
					 * \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.
 | 
					 *  pointers to meta, chunk and memory.
 | 
				
			||||||
 * \param data_mem memory to hold the 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 *
 | 
					static inline struct spa_buffer *
 | 
				
			||||||
spa_buffer_alloc_layout(struct spa_buffer_alloc_info *info,
 | 
					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 info the allocation info for one buffer
 | 
				
			||||||
 * \param n_buffers the number of buffers to create
 | 
					 * \param n_buffers the number of buffers to create
 | 
				
			||||||
 * \param buffer a array with space to hold \a n_buffers pointers to buffers
 | 
					 * \param buffers a array with space to hold \a n_buffers pointers to buffers
 | 
				
			||||||
 * \param skel_mem memory for the \ref struct spa_buffer
 | 
					 * \param skel_mem memory for the struct \ref spa_buffer
 | 
				
			||||||
 * \param data_mem memory for the meta, chunk, memory of the buffer if not
 | 
					 * \param data_mem memory for the meta, chunk, memory of the buffer if not
 | 
				
			||||||
 *		inlined in the skeleton.
 | 
					 *		inlined in the skeleton.
 | 
				
			||||||
 * \return 0 on success.
 | 
					 * \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 n_datas number of datas
 | 
				
			||||||
 * \param datas \a n_datas memory specification
 | 
					 * \param datas \a n_datas memory specification
 | 
				
			||||||
 * \param data_aligns \a n_datas alignment specifications
 | 
					 * \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
 | 
					 *     with the given metadata, data and alignment or NULL when
 | 
				
			||||||
 *     allocation failed.
 | 
					 *     allocation failed.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -330,6 +335,9 @@ spa_buffer_alloc_array(uint32_t n_buffers, uint32_t flags,
 | 
				
			||||||
	return buffers;
 | 
						return buffers;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,12 +31,17 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/buffer/meta.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
 | 
					 * Buffers describe the data and metadata that is exchanged between
 | 
				
			||||||
 * ports of a node.
 | 
					 * ports of a node.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_buffer
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum spa_data_type {
 | 
					enum spa_data_type {
 | 
				
			||||||
	SPA_DATA_Invalid,
 | 
						SPA_DATA_Invalid,
 | 
				
			||||||
	SPA_DATA_MemPtr,		/**< pointer to memory, the data field in
 | 
						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;
 | 
						return NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,10 +32,11 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/pod/pod.h>
 | 
					#include <spa/pod/pod.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** \page page_meta Metadata
 | 
					/**
 | 
				
			||||||
 *
 | 
					 * \addtogroup spa_buffer
 | 
				
			||||||
 * Metadata contains extra information on a buffer.
 | 
					 * \{
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum spa_meta_type {
 | 
					enum spa_meta_type {
 | 
				
			||||||
	SPA_META_Invalid,
 | 
						SPA_META_Invalid,
 | 
				
			||||||
	SPA_META_Header,	/**< struct spa_meta_header */
 | 
						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 */
 | 
						uint32_t count;			/**< number of users busy with the buffer */
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,6 +25,11 @@
 | 
				
			||||||
#ifndef SPA_BUFFER_TYPES_H
 | 
					#ifndef SPA_BUFFER_TYPES_H
 | 
				
			||||||
#define SPA_BUFFER_TYPES_H
 | 
					#define SPA_BUFFER_TYPES_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_buffer
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -77,6 +82,10 @@ static const struct spa_type_info spa_type_meta_type[] = {
 | 
				
			||||||
	{ 0, 0, NULL, NULL },
 | 
						{ 0, 0, NULL, NULL },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,10 +32,15 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/pod/pod.h>
 | 
					#include <spa/pod/pod.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Controls
 | 
					/** \defgroup spa_control SPA Controls
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_control
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Different Control types */
 | 
					/** Different Control types */
 | 
				
			||||||
enum spa_control_type {
 | 
					enum spa_control_type {
 | 
				
			||||||
	SPA_CONTROL_Invalid,
 | 
						SPA_CONTROL_Invalid,
 | 
				
			||||||
| 
						 | 
					@ -46,6 +51,10 @@ enum spa_control_type {
 | 
				
			||||||
	_SPA_CONTROL_LAST,		/**< not part of ABI */
 | 
						_SPA_CONTROL_LAST,		/**< not part of ABI */
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_control
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/utils/type-info.h>
 | 
					#include <spa/utils/type-info.h>
 | 
				
			||||||
#include <spa/control/control.h>
 | 
					#include <spa/control/control.h>
 | 
				
			||||||
| 
						 | 
					@ -45,6 +50,10 @@ static const struct spa_type_info spa_type_control[] = {
 | 
				
			||||||
	{ 0, 0, NULL, NULL },
 | 
						{ 0, 0, NULL, NULL },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,15 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** \defgroup spa_debug SPA Debug
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_debug
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/debug/mem.h>
 | 
					#include <spa/debug/mem.h>
 | 
				
			||||||
#include <spa/debug/types.h>
 | 
					#include <spa/debug/types.h>
 | 
				
			||||||
#include <spa/buffer/type-info.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;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_debug
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/dict.h>
 | 
					#include <spa/utils/dict.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef spa_debug
 | 
					#ifndef spa_debug
 | 
				
			||||||
| 
						 | 
					@ -45,6 +50,10 @@ static inline int spa_debug_dict(int indent, const struct spa_dict *dict)
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_debug
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/pod/parser.h>
 | 
					#include <spa/pod/parser.h>
 | 
				
			||||||
#include <spa/debug/types.h>
 | 
					#include <spa/debug/types.h>
 | 
				
			||||||
#include <spa/param/type-info.h>
 | 
					#include <spa/param/type-info.h>
 | 
				
			||||||
| 
						 | 
					@ -195,6 +200,10 @@ static inline int spa_debug_format(int indent,
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_debug
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/dict.h>
 | 
					#include <spa/utils/dict.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef spa_debug
 | 
					#ifndef spa_debug
 | 
				
			||||||
| 
						 | 
					@ -53,6 +58,10 @@ static inline int spa_debug_mem(int indent, const void *data, size_t size)
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_debug
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/node/node.h>
 | 
					#include <spa/node/node.h>
 | 
				
			||||||
#include <spa/debug/dict.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;
 | 
					        return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_debug
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/debug/mem.h>
 | 
					#include <spa/debug/mem.h>
 | 
				
			||||||
#include <spa/debug/types.h>
 | 
					#include <spa/debug/types.h>
 | 
				
			||||||
#include <spa/pod/pod.h>
 | 
					#include <spa/pod/pod.h>
 | 
				
			||||||
| 
						 | 
					@ -201,6 +206,11 @@ static inline int spa_debug_pod(int indent,
 | 
				
			||||||
			SPA_POD_BODY_SIZE(pod));
 | 
								SPA_POD_BODY_SIZE(pod));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_debug
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/type-info.h>
 | 
					#include <spa/utils/type-info.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <string.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;
 | 
						return SPA_ID_INVALID;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,14 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** \defgroup spa_graph SPA Graph
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_graph
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/utils/list.h>
 | 
					#include <spa/utils/list.h>
 | 
				
			||||||
#include <spa/utils/hook.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,
 | 
						.reuse_buffer = spa_graph_node_impl_reuse_buffer,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,13 +35,18 @@ extern "C" {
 | 
				
			||||||
#include <spa/pod/event.h>
 | 
					#include <spa/pod/event.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * spa_device:
 | 
					 * \defgroup spa_device SPA Device
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The device interface can be used to monitor all kinds of devices
 | 
					 * The device interface can be used to monitor all kinds of devices
 | 
				
			||||||
 * and create objects as a result. Objects a typically other
 | 
					 * and create objects as a result. Objects a typically other
 | 
				
			||||||
 * Devices or Nodes.
 | 
					 * Devices or Nodes.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_device
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
#define SPA_TYPE_INTERFACE_Device	SPA_TYPE_INFO_INTERFACE_BASE "Device"
 | 
					#define SPA_TYPE_INTERFACE_Device	SPA_TYPE_INFO_INTERFACE_BASE "Device"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_VERSION_DEVICE		0
 | 
					#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
 | 
					#define SPA_KEY_DEVICE_STRING		"device.string"		/**< device string in the underlying
 | 
				
			||||||
								  *  layer's format. E.g. "surround51:0" */
 | 
													  *  layer's format. E.g. "surround51:0" */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_node
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/pod/command.h>
 | 
					#include <spa/pod/command.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* object id of SPA_TYPE_COMMAND_Node */
 | 
					/* 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)
 | 
					#define SPA_NODE_COMMAND_INIT(id)	SPA_COMMAND_INIT(SPA_TYPE_COMMAND_Node, id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_node
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/pod/event.h>
 | 
					#include <spa/pod/event.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* object id of SPA_TYPE_EVENT_Node */
 | 
					/* 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_ID(ev)	SPA_EVENT_ID(ev, SPA_TYPE_EVENT_Node)
 | 
				
			||||||
#define SPA_NODE_EVENT_INIT(id) SPA_EVENT_INIT(SPA_TYPE_EVENT_Node, id)
 | 
					#define SPA_NODE_EVENT_INIT(id) SPA_EVENT_INIT(SPA_TYPE_EVENT_Node, id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_node
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/pod/pod.h>
 | 
					#include <spa/pod/pod.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -288,6 +293,10 @@ struct spa_io_rate_match {
 | 
				
			||||||
	uint32_t padding[7];
 | 
						uint32_t padding[7];
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_node
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** node keys */
 | 
					/** node keys */
 | 
				
			||||||
#define SPA_KEY_NODE_NAME		"node.name"		/**< a node name */
 | 
					#define SPA_KEY_NODE_NAME		"node.name"		/**< a node name */
 | 
				
			||||||
#define SPA_KEY_NODE_LATENCY		"node.latency"		/**< the requested node latency */
 | 
					#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 */
 | 
					#define SPA_KEY_PORT_MONITOR		"port.monitor"		/**< this port is a monitor port */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,15 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#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/defs.h>
 | 
				
			||||||
#include <spa/utils/type.h>
 | 
					#include <spa/utils/type.h>
 | 
				
			||||||
#include <spa/utils/hook.h>
 | 
					#include <spa/utils/hook.h>
 | 
				
			||||||
| 
						 | 
					@ -37,9 +46,6 @@ extern "C" {
 | 
				
			||||||
#include <spa/node/command.h>
 | 
					#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_TYPE_INTERFACE_Node		SPA_TYPE_INFO_INTERFACE_BASE "Node"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_VERSION_NODE		0
 | 
					#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_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)
 | 
					#define spa_node_process(n)			spa_node_method(n, process, 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_node
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/type-info.h>
 | 
					#include <spa/utils/type-info.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/node/command.h>
 | 
					#include <spa/node/command.h>
 | 
				
			||||||
| 
						 | 
					@ -89,6 +94,10 @@ static const struct spa_type_info spa_type_node_command[] = {
 | 
				
			||||||
	{ 0, 0, NULL, NULL },
 | 
						{ 0, 0, NULL, NULL },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_node
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/pod/builder.h>
 | 
					#include <spa/pod/builder.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/node/node.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_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__)
 | 
					#define spa_node_call_xrun(hook,...)		spa_node_call(hook, xrun, 0, __VA_ARGS__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,10 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/pod/parser.h>
 | 
					#include <spa/pod/parser.h>
 | 
				
			||||||
#include <spa/pod/builder.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);
 | 
						return (struct spa_pod*)spa_pod_builder_pop(builder, &f);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/param/format.h>
 | 
					#include <spa/param/format.h>
 | 
				
			||||||
#include <spa/param/audio/raw.h>
 | 
					#include <spa/param/audio/raw.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,6 +46,10 @@ struct spa_audio_info {
 | 
				
			||||||
	} info;
 | 
						} info;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,10 @@ extern "C" {
 | 
				
			||||||
#include <endian.h>
 | 
					#include <endian.h>
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
#include <spa/param/audio/raw.h>
 | 
					#include <spa/param/audio/raw.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct spa_audio_layout_info {
 | 
					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_RL, SPA_AUDIO_CHANNEL_RR, \
 | 
				
			||||||
					     SPA_AUDIO_CHANNEL_FLC, SPA_AUDIO_CHANNEL_FRC, }
 | 
										     SPA_AUDIO_CHANNEL_FLC, SPA_AUDIO_CHANNEL_FRC, }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,6 +35,11 @@ extern "C" {
 | 
				
			||||||
#include <endian.h>
 | 
					#include <endian.h>
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_AUDIO_MAX_CHANNELS	64u
 | 
					#define SPA_AUDIO_MAX_CHANNELS	64u
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum spa_audio_format {
 | 
					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__ }
 | 
					#define SPA_AUDIO_INFO_DSP_INIT(...)		(struct spa_audio_info_dsp) { __VA_ARGS__ }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/param/audio/raw.h>
 | 
					#include <spa/param/audio/raw.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_TYPE_INFO_AudioFormat		SPA_TYPE_INFO_ENUM_BASE "AudioFormat"
 | 
					#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 },
 | 
						{ 0, 0, NULL, NULL },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,10 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
enum spa_bluetooth_audio_codec {
 | 
					enum spa_bluetooth_audio_codec {
 | 
				
			||||||
	SPA_BLUETOOTH_AUDIO_CODEC_START,
 | 
						SPA_BLUETOOTH_AUDIO_CODEC_START,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,6 +50,10 @@ enum spa_bluetooth_audio_codec {
 | 
				
			||||||
	SPA_BLUETOOTH_AUDIO_CODEC_MSBC,
 | 
						SPA_BLUETOOTH_AUDIO_CODEC_MSBC,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/param/bluetooth/audio.h>
 | 
					#include <spa/param/bluetooth/audio.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_TYPE_INFO_BluetoothAudioCodec		SPA_TYPE_INFO_ENUM_BASE "BluetoothAudioCodec"
 | 
					#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 },
 | 
						{ 0, 0, NULL, NULL },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -30,6 +30,11 @@ extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/pod/parser.h>
 | 
					#include <spa/pod/parser.h>
 | 
				
			||||||
#include <spa/param/format.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));
 | 
							SPA_FORMAT_mediaSubtype, SPA_POD_Id(media_subtype));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/param/param.h>
 | 
					#include <spa/param/param.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** media type for SPA_TYPE_OBJECT_Format */
 | 
					/** 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,
 | 
					#define SPA_KEY_FORMAT_DSP		"format.dsp"		/**< a predefined DSP format,
 | 
				
			||||||
								  *  Ex. "32 bit float mono audio" */
 | 
													  *  Ex. "32 bit float mono audio" */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,14 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** \defgroup spa_param SPA Parameters
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** different parameter types that can be queried */
 | 
					/** different parameter types that can be queried */
 | 
				
			||||||
| 
						 | 
					@ -164,6 +172,10 @@ enum spa_param_route {
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/param/param.h>
 | 
					#include <spa/param/param.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** properties for SPA_TYPE_OBJECT_Profiler */
 | 
					/** properties for SPA_TYPE_OBJECT_Profiler */
 | 
				
			||||||
| 
						 | 
					@ -81,6 +86,10 @@ enum spa_profiler {
 | 
				
			||||||
	SPA_PROFILER_START_CUSTOM	= 0x1000000,
 | 
						SPA_PROFILER_START_CUSTOM	= 0x1000000,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/param/param.h>
 | 
					#include <spa/param/param.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** properties of SPA_TYPE_OBJECT_PropInfo */
 | 
					/** properties of SPA_TYPE_OBJECT_PropInfo */
 | 
				
			||||||
| 
						 | 
					@ -111,6 +116,10 @@ enum spa_prop {
 | 
				
			||||||
	SPA_PROP_START_CUSTOM	= 0x1000000,
 | 
						SPA_PROP_START_CUSTOM	= 0x1000000,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/param/props.h>
 | 
					#include <spa/param/props.h>
 | 
				
			||||||
#include <spa/param/format.h>
 | 
					#include <spa/param/format.h>
 | 
				
			||||||
| 
						 | 
					@ -379,6 +384,10 @@ static const struct spa_type_info spa_type_profiler[] = {
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Various Chroma settings.
 | 
					/** Various Chroma settings.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
enum spa_video_chroma_site {
 | 
					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),
 | 
						SPA_VIDEO_CHROMA_SITE_DV = (SPA_VIDEO_CHROMA_SITE_COSITED | SPA_VIDEO_CHROMA_SITE_ALT_LINE),
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
} /* extern "C" */
 | 
					} /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Possible color range values. These constants are defined for 8 bit color
 | 
					 * Possible color range values. These constants are defined for 8 bit color
 | 
				
			||||||
 * values and can be scaled for other bit depths.
 | 
					 * values and can be scaled for other bit depths.
 | 
				
			||||||
| 
						 | 
					@ -109,6 +114,10 @@ struct spa_video_colorimetry {
 | 
				
			||||||
						   *   and CIE XYZ */
 | 
											   *   and CIE XYZ */
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
} /* extern "C" */
 | 
					} /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/param/format.h>
 | 
					#include <spa/param/format.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum spa_h264_stream_format {
 | 
					enum spa_h264_stream_format {
 | 
				
			||||||
| 
						 | 
					@ -58,6 +63,10 @@ struct spa_video_info_mjpg {
 | 
				
			||||||
	struct spa_fraction max_framerate;
 | 
						struct spa_fraction max_framerate;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
} /* extern "C" */
 | 
					} /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,10 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
#include <spa/pod/parser.h>
 | 
					#include <spa/pod/parser.h>
 | 
				
			||||||
#include <spa/pod/builder.h>
 | 
					#include <spa/pod/builder.h>
 | 
				
			||||||
#include <spa/param/video/format.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));
 | 
								SPA_FORMAT_VIDEO_maxFramerate,	SPA_POD_OPT_Fraction(&info->max_framerate));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
} /* extern "C" */
 | 
					} /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/param/video/raw.h>
 | 
					#include <spa/param/video/raw.h>
 | 
				
			||||||
#include <spa/param/video/encoded.h>
 | 
					#include <spa/param/video/encoded.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -43,6 +48,10 @@ struct spa_video_info {
 | 
				
			||||||
	} info;
 | 
						} info;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
} /* extern "C" */
 | 
					} /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * All possible stereoscopic 3D and multiview representations.
 | 
					 * All possible stereoscopic 3D and multiview representations.
 | 
				
			||||||
 * In conjunction with \ref spa_video_multiview_flags, describes how
 | 
					 * In conjunction with \ref spa_video_multiview_flags, describes how
 | 
				
			||||||
| 
						 | 
					@ -118,6 +123,10 @@ enum spa_video_multiview_flags {
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
} /* extern "C" */
 | 
					} /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/param/video/chroma.h>
 | 
					#include <spa/param/video/chroma.h>
 | 
				
			||||||
#include <spa/param/video/color.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__ }
 | 
					#define SPA_VIDEO_INFO_DSP_INIT(...)	(struct spa_video_info_dsp) { __VA_ARGS__ }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
} /* extern "C" */
 | 
					} /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,10 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_param
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
#include <spa/param/video/raw.h>
 | 
					#include <spa/param/video/raw.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_TYPE_INFO_VideoFormat		SPA_TYPE_INFO_ENUM_BASE "VideoFormat"
 | 
					#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 },
 | 
						{ 0, 0, NULL, NULL },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,14 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** \defgroup spa_pod SPA POD
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_pod
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdarg.h>
 | 
					#include <stdarg.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/hook.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);
 | 
						return (struct spa_pod *) memcpy(c, pod, size);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,6 +32,11 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/pod/pod.h>
 | 
					#include <spa/pod/pod.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_pod
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct spa_command_body {
 | 
					struct spa_command_body {
 | 
				
			||||||
	struct spa_pod_object_body body;
 | 
						struct spa_pod_object_body body;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -53,6 +58,9 @@ struct spa_command {
 | 
				
			||||||
	SPA_COMMAND_INIT_FULL(struct spa_command,			\
 | 
						SPA_COMMAND_INIT_FULL(struct spa_command,			\
 | 
				
			||||||
			sizeof(struct spa_command_body), type, id)
 | 
								sizeof(struct spa_command_body), type, id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -40,6 +40,11 @@ extern "C" {
 | 
				
			||||||
#include <spa/pod/iter.h>
 | 
					#include <spa/pod/iter.h>
 | 
				
			||||||
#include <spa/pod/builder.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)
 | 
					static inline int spa_pod_compare_value(uint32_t type, const void *r1, const void *r2, uint32_t size)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	switch (type) {
 | 
						switch (type) {
 | 
				
			||||||
| 
						 | 
					@ -174,6 +179,10 @@ static inline int spa_pod_compare(const struct spa_pod *pod1,
 | 
				
			||||||
	return res;
 | 
						return res;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,11 @@ extern "C" {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/pod/pod.h>
 | 
					#include <spa/pod/pod.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_pod
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct spa_event_body {
 | 
					struct spa_event_body {
 | 
				
			||||||
	struct spa_pod_object_body body;
 | 
						struct spa_pod_object_body body;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -52,6 +57,10 @@ struct spa_event {
 | 
				
			||||||
	SPA_EVENT_INIT_FULL(struct spa_event,				\
 | 
						SPA_EVENT_INIT_FULL(struct spa_event,				\
 | 
				
			||||||
			sizeof(struct spa_event_body), type, id)
 | 
								sizeof(struct spa_event_body), type, id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,11 @@
 | 
				
			||||||
#include <spa/pod/builder.h>
 | 
					#include <spa/pod/builder.h>
 | 
				
			||||||
#include <spa/pod/compare.h>
 | 
					#include <spa/pod/compare.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_pod
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline int spa_pod_choice_fix_default(struct spa_pod_choice *choice)
 | 
					static inline int spa_pod_choice_fix_default(struct spa_pod_choice *choice)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	void *val, *alt;
 | 
						void *val, *alt;
 | 
				
			||||||
| 
						 | 
					@ -398,3 +403,7 @@ spa_pod_filter(struct spa_pod_builder *b,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return res;
 | 
						return res;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,6 +34,11 @@ extern "C" {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/pod/pod.h>
 | 
					#include <spa/pod/pod.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_pod
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct spa_pod_frame {
 | 
					struct spa_pod_frame {
 | 
				
			||||||
	struct spa_pod pod;
 | 
						struct spa_pod pod;
 | 
				
			||||||
	struct spa_pod_frame *parent;
 | 
						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);
 | 
						return spa_pod_object_fixate((struct spa_pod_object *)pod);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,6 +35,11 @@ extern "C" {
 | 
				
			||||||
#include <spa/pod/iter.h>
 | 
					#include <spa/pod/iter.h>
 | 
				
			||||||
#include <spa/pod/vararg.h>
 | 
					#include <spa/pod/vararg.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_pod
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct spa_pod_parser_state {
 | 
					struct spa_pod_parser_state {
 | 
				
			||||||
	uint32_t offset;
 | 
						uint32_t offset;
 | 
				
			||||||
	uint32_t flags;
 | 
						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__);		\
 | 
						spa_pod_parser_get_struct(&_p,##__VA_ARGS__);		\
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,6 +32,11 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/utils/type.h>
 | 
					#include <spa/utils/type.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_pod
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_POD_BODY_SIZE(pod)			(((struct spa_pod*)(pod))->size)
 | 
					#define SPA_POD_BODY_SIZE(pod)			(((struct spa_pod*)(pod))->size)
 | 
				
			||||||
#define SPA_POD_TYPE(pod)			(((struct spa_pod*)(pod))->type)
 | 
					#define SPA_POD_TYPE(pod)			(((struct spa_pod*)(pod))->type)
 | 
				
			||||||
#define SPA_POD_SIZE(pod)			(sizeof(struct spa_pod) + SPA_POD_BODY_SIZE(pod))
 | 
					#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;
 | 
						struct spa_pod_sequence_body body;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,11 @@ extern "C" {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/pod/pod.h>
 | 
					#include <spa/pod/pod.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_pod
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_POD_Prop(key,...)				\
 | 
					#define SPA_POD_Prop(key,...)				\
 | 
				
			||||||
	key, ##__VA_ARGS__
 | 
						key, ##__VA_ARGS__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -97,6 +102,10 @@ extern "C" {
 | 
				
			||||||
#define SPA_POD_PodStruct(val)				"T", val
 | 
					#define SPA_POD_PodStruct(val)				"T", val
 | 
				
			||||||
#define SPA_POD_PodChoice(val)				"V", val
 | 
					#define SPA_POD_PodChoice(val)				"V", val
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,6 +34,15 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/utils/hook.h>
 | 
					#include <spa/utils/hook.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** \defgroup spa_support SPA Support Features
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_support
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * The CPU features interface
 | 
					 * 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_FORCE		"cpu.force"		/**< force cpu flags */
 | 
				
			||||||
#define SPA_KEY_CPU_VM_TYPE		"cpu.vm.type"		/**< force a VM type */
 | 
					#define SPA_KEY_CPU_VM_TYPE		"cpu.vm.type"		/**< force a VM type */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,11 @@ extern "C" {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/support/loop.h>
 | 
					#include <spa/support/loop.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_support
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_TYPE_INTERFACE_DBus		SPA_TYPE_INFO_INTERFACE_BASE "DBus"
 | 
					#define SPA_TYPE_INTERFACE_DBus		SPA_TYPE_INFO_INTERFACE_BASE "DBus"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_VERSION_DBUS		0
 | 
					#define SPA_VERSION_DBUS		0
 | 
				
			||||||
| 
						 | 
					@ -133,6 +138,10 @@ spa_dbus_get_connection(struct spa_dbus *dbus, enum spa_dbus_type type)
 | 
				
			||||||
	return res;
 | 
						return res;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,6 +32,11 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/hook.h>
 | 
					#include <spa/utils/hook.h>
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_support
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_TYPE_INTERFACE_I18N		SPA_TYPE_INFO_INTERFACE_BASE "I18N"
 | 
					#define SPA_TYPE_INTERFACE_I18N		SPA_TYPE_INFO_INTERFACE_BASE "I18N"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_VERSION_I18N		0
 | 
					#define SPA_VERSION_I18N		0
 | 
				
			||||||
| 
						 | 
					@ -86,6 +91,10 @@ spa_i18n_ntext(struct spa_i18n *i18n, const char *msgid,
 | 
				
			||||||
	return res;
 | 
						return res;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,6 +34,11 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/type.h>
 | 
					#include <spa/utils/type.h>
 | 
				
			||||||
#include <spa/support/log.h>
 | 
					#include <spa/support/log.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_log
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline SPA_PRINTF_FUNC(6, 0) void spa_log_impl_logv(void *object,
 | 
					static inline SPA_PRINTF_FUNC(6, 0) void spa_log_impl_logv(void *object,
 | 
				
			||||||
				     enum spa_log_level level,
 | 
									     enum spa_log_level level,
 | 
				
			||||||
				     const char *file,
 | 
									     const char *file,
 | 
				
			||||||
| 
						 | 
					@ -87,6 +92,10 @@ struct {					\
 | 
				
			||||||
#define SPA_LOG_IMPL(name)			\
 | 
					#define SPA_LOG_IMPL(name)			\
 | 
				
			||||||
        SPA_LOG_IMPL_DEFINE(name) = SPA_LOG_IMPL_INIT(name)
 | 
					        SPA_LOG_IMPL_DEFINE(name) = SPA_LOG_IMPL_INIT(name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,6 +34,14 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/utils/hook.h>
 | 
					#include <spa/utils/hook.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** \defgroup spa_log SPA Logging
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_log
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum spa_log_level {
 | 
					enum spa_log_level {
 | 
				
			||||||
	SPA_LOG_LEVEL_NONE = 0,
 | 
						SPA_LOG_LEVEL_NONE = 0,
 | 
				
			||||||
	SPA_LOG_LEVEL_ERROR,
 | 
						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_TIMESTAMP		"log.timestamp"		/**< log timestamps */
 | 
				
			||||||
#define SPA_KEY_LOG_LINE		"log.line"		/**< log file and line numbers */
 | 
					#define SPA_KEY_LOG_LINE		"log.line"		/**< log file and line numbers */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,11 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/hook.h>
 | 
					#include <spa/utils/hook.h>
 | 
				
			||||||
#include <spa/support/system.h>
 | 
					#include <spa/support/system.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_support
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SPA_TYPE_INTERFACE_Loop		SPA_TYPE_INFO_INTERFACE_BASE "Loop"
 | 
					#define SPA_TYPE_INTERFACE_Loop		SPA_TYPE_INFO_INTERFACE_BASE "Loop"
 | 
				
			||||||
#define SPA_TYPE_INTERFACE_DataLoop	SPA_TYPE_INFO_INTERFACE_BASE "DataLoop"
 | 
					#define SPA_TYPE_INTERFACE_DataLoop	SPA_TYPE_INFO_INTERFACE_BASE "DataLoop"
 | 
				
			||||||
#define SPA_VERSION_LOOP		0
 | 
					#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_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__)
 | 
					#define spa_loop_utils_destroy_source(l,...)	spa_loop_utils_method_v(l,destroy_source,0,__VA_ARGS__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,6 +32,15 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/utils/dict.h>
 | 
					#include <spa/utils/dict.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \defgroup spa_handle SPA Plugin Handles
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_handle
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct spa_handle {
 | 
					struct spa_handle {
 | 
				
			||||||
	/** Version of this struct */
 | 
						/** Version of this struct */
 | 
				
			||||||
#define SPA_VERSION_HANDLE	0
 | 
					#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
 | 
													  *  the filename of the plugin without the
 | 
				
			||||||
								  *  path or the plugin extension. */
 | 
													  *  path or the plugin extension. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,6 +37,11 @@ struct itimerspec;
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/utils/hook.h>
 | 
					#include <spa/utils/hook.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_support
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * a collection of core system functions
 | 
					 * 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_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__)
 | 
					#define spa_system_signalfd_read(s,...)		spa_system_method_r(s,signalfd_read,0,__VA_ARGS__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,6 +36,14 @@ extern "C" {
 | 
				
			||||||
#include <stddef.h>
 | 
					#include <stddef.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** \defgroup spa_utils SPA Utils
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_utils
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * SPA_FALLTHROUGH is an annotation to suppress compiler warnings about switch
 | 
					 * SPA_FALLTHROUGH is an annotation to suppress compiler warnings about switch
 | 
				
			||||||
 * cases that fall through without a break or return statement. SPA_FALLTHROUGH
 | 
					 * cases that fall through without a break or return statement. SPA_FALLTHROUGH
 | 
				
			||||||
| 
						 | 
					@ -293,6 +301,10 @@ struct spa_fraction {
 | 
				
			||||||
	_strp;								\
 | 
						_strp;								\
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
} /* extern "C" */
 | 
					} /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,11 @@ extern "C" {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_utils
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct spa_dict_item {
 | 
					struct spa_dict_item {
 | 
				
			||||||
	const char *key;
 | 
						const char *key;
 | 
				
			||||||
	const char *value;
 | 
						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;
 | 
						return item ? item->value : NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,12 +32,18 @@ extern "C" {
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/utils/list.h>
 | 
					#include <spa/utils/list.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** \class spa_hook
 | 
					/** \defgroup spa_hook SPA Hooks
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \brief a list of hooks
 | 
					 * \brief a list of hooks
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * The hook list provides a way to keep track of hooks.
 | 
					 * The hook list provides a way to keep track of hooks.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_hook
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** A list of hooks */
 | 
					/** A list of hooks */
 | 
				
			||||||
struct spa_hook_list {
 | 
					struct spa_hook_list {
 | 
				
			||||||
	struct spa_list 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);
 | 
						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,
 | 
					static inline void spa_hook_list_append(struct spa_hook_list *list,
 | 
				
			||||||
					struct spa_hook *hook,
 | 
										struct spa_hook *hook,
 | 
				
			||||||
					const void *funcs, void *data)
 | 
										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);
 | 
						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,
 | 
					static inline void spa_hook_list_prepend(struct spa_hook_list *list,
 | 
				
			||||||
					 struct spa_hook *hook,
 | 
										 struct spa_hook *hook,
 | 
				
			||||||
					 const void *funcs, void *data)
 | 
										 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);
 | 
						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)
 | 
					static inline void spa_hook_remove(struct spa_hook *hook)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
        spa_list_remove(&hook->link);
 | 
					        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_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__)
 | 
					#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
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,6 +37,14 @@ extern "C" {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** \defgroup spa_json SPA JSON Parser
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_json
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* a simple JSON compatible tokenizer */
 | 
					/* a simple JSON compatible tokenizer */
 | 
				
			||||||
struct spa_json {
 | 
					struct spa_json {
 | 
				
			||||||
	const char *cur;
 | 
						const char *cur;
 | 
				
			||||||
| 
						 | 
					@ -401,6 +409,10 @@ static inline int spa_json_encode_string(char *str, int size, const char *val)
 | 
				
			||||||
	return len-1;
 | 
						return len-1;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
} /* extern "C" */
 | 
					} /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,14 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** \defgroup spa_keys  SPA Key Names
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_keys
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** for objects */
 | 
					/** for objects */
 | 
				
			||||||
#define SPA_KEY_OBJECT_PATH		"object.path"			/**< a unique path to
 | 
					#define SPA_KEY_OBJECT_PATH		"object.path"			/**< a unique path to
 | 
				
			||||||
									  *  identity the object */
 | 
														  *  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_SERVER		"api.jack.server"		/**< a jack server name */
 | 
				
			||||||
#define SPA_KEY_API_JACK_CLIENT		"api.jack.client"		/**< an internal jack client */
 | 
					#define SPA_KEY_API_JACK_CLIENT		"api.jack.client"		/**< an internal jack client */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_utils
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct spa_list {
 | 
					struct spa_list {
 | 
				
			||||||
	struct spa_list *next;
 | 
						struct spa_list *next;
 | 
				
			||||||
	struct spa_list *prev;
 | 
						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)                             \
 | 
					#define spa_list_cursor_end(cursor, member)                             \
 | 
				
			||||||
        spa_list_remove(&(cursor).member)
 | 
					        spa_list_remove(&(cursor).member)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,14 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** \defgroup spa_names SPA Factory Names
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_names
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** for factory names */
 | 
					/** for factory names */
 | 
				
			||||||
#define SPA_NAME_SUPPORT_CPU		"support.cpu"			/**< A CPU interface */
 | 
					#define SPA_NAME_SUPPORT_CPU		"support.cpu"			/**< A CPU interface */
 | 
				
			||||||
#define SPA_NAME_SUPPORT_DBUS		"support.dbus"			/**< A DBUS interface */
 | 
					#define SPA_NAME_SUPPORT_DBUS		"support.dbus"			/**< A DBUS interface */
 | 
				
			||||||
| 
						 | 
					@ -130,6 +138,10 @@ extern "C" {
 | 
				
			||||||
#define SPA_NAME_API_VULKAN_COMPUTE_SOURCE	\
 | 
					#define SPA_NAME_API_VULKAN_COMPUTE_SOURCE	\
 | 
				
			||||||
					"api.vulkan.compute.source"	/**< a vulkan compute source. */
 | 
										"api.vulkan.compute.source"	/**< a vulkan compute source. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_utils
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
#include <spa/utils/list.h>
 | 
					#include <spa/utils/list.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,6 +56,10 @@ extern "C" {
 | 
				
			||||||
	strerror(_err);			\
 | 
						strerror(_err);			\
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
} /* extern "C" */
 | 
					} /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,11 @@
 | 
				
			||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_utils
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct spa_ringbuffer;
 | 
					struct spa_ringbuffer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
| 
						 | 
					@ -49,7 +54,6 @@ struct spa_ringbuffer {
 | 
				
			||||||
 * Initialize a spa_ringbuffer with \a size.
 | 
					 * Initialize a spa_ringbuffer with \a size.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \param rbuf a spa_ringbuffer
 | 
					 * \param rbuf a spa_ringbuffer
 | 
				
			||||||
 * \param size the number of elements in the ringbuffer
 | 
					 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static inline void spa_ringbuffer_init(struct spa_ringbuffer *rbuf)
 | 
					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.
 | 
					 * Sets the pointers so that the ringbuffer contains \a size bytes.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \param rbuf a spa_ringbuffer
 | 
					 * \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)
 | 
					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
 | 
					 * 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.
 | 
					 * 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 buffer memory to read from
 | 
				
			||||||
 * \param size the size of \a buffer
 | 
					 * \param size the size of \a buffer
 | 
				
			||||||
 * \param offset offset in \a buffer to read from
 | 
					 * \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);
 | 
						__atomic_store_n(&rbuf->writeindex, index, __ATOMIC_RELEASE);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,10 +34,17 @@ extern "C" {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_utils
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * \return true if the two strings are equal, false otherwise
 | 
					 * \return true if the two strings are equal, false otherwise
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * If both \a a and \a b are NULL, the two are considered equal.
 | 
					 * 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)
 | 
					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");
 | 
						return spa_streq(str, "true") || spa_streq(str, "1");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,11 @@ extern "C" {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_types
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef SPA_TYPE_ROOT
 | 
					#ifndef SPA_TYPE_ROOT
 | 
				
			||||||
#define SPA_TYPE_ROOT	spa_types
 | 
					#define SPA_TYPE_ROOT	spa_types
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -122,6 +127,10 @@ static const struct spa_type_info spa_types[] = {
 | 
				
			||||||
	{ 0, 0, NULL, NULL }
 | 
						{ 0, 0, NULL, NULL }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,14 @@ extern "C" {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <spa/utils/defs.h>
 | 
					#include <spa/utils/defs.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** \defgroup spa_types SPA Types
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \addtogroup spa_types
 | 
				
			||||||
 | 
					 * \{
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum {
 | 
					enum {
 | 
				
			||||||
	/* Basic types */
 | 
						/* Basic types */
 | 
				
			||||||
	SPA_TYPE_START = 0x00000,
 | 
						SPA_TYPE_START = 0x00000,
 | 
				
			||||||
| 
						 | 
					@ -131,6 +139,10 @@ struct spa_type_info {
 | 
				
			||||||
	const struct spa_type_info *values;
 | 
						const struct spa_type_info *values;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \}
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}  /* extern "C" */
 | 
					}  /* extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue