PipeWire: spa/param/buffers-types.h Source File

PipeWire 1.4.7

Loading...
Searching...
No Matches
buffers-types.h
Go to the documentation of this file.
1/* Simple Plugin API */
2/* SPDX-FileCopyrightText: Copyright © 2018 Wim Taymans */
3/* SPDX-License-Identifier: MIT */
4
5#ifndef SPA_PARAM_BUFFERS_TYPES_H
6#define SPA_PARAM_BUFFERS_TYPES_H
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
16
17#include <spa/param/param-types.h>
18#include <spa/node/type-info.h>
19
20#include <spa/param/buffers.h>
21
22#define SPA_TYPE_INFO_PARAM_Meta SPA_TYPE_INFO_PARAM_BASE "Meta"
23#define SPA_TYPE_INFO_PARAM_META_BASE SPA_TYPE_INFO_PARAM_Meta ":"
24
25static const struct spa_type_info spa_type_param_meta[] = {
26 { SPA_PARAM_META_START, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_META_BASE, spa_type_param },
27 { SPA_PARAM_META_type, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_META_BASE "type", spa_type_meta_type },
28 { SPA_PARAM_META_size, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_META_BASE "size", NULL },
29 { 0, 0, NULL, NULL },
30};
31
32/** Base for parameters that describe IO areas to exchange data,
33 * control and properties with a node.
34 */
35#define SPA_TYPE_INFO_PARAM_IO SPA_TYPE_INFO_PARAM_BASE "IO"
36#define SPA_TYPE_INFO_PARAM_IO_BASE SPA_TYPE_INFO_PARAM_IO ":"
37
38static const struct spa_type_info spa_type_param_io[] = {
39 { SPA_PARAM_IO_START, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_IO_BASE, spa_type_param, },
40 { SPA_PARAM_IO_id, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_IO_BASE "id", spa_type_io },
41 { SPA_PARAM_IO_size, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_IO_BASE "size", NULL },
42 { 0, 0, NULL, NULL },
43};
44
45#define SPA_TYPE_INFO_PARAM_Buffers SPA_TYPE_INFO_PARAM_BASE "Buffers"
46#define SPA_TYPE_INFO_PARAM_BUFFERS_BASE SPA_TYPE_INFO_PARAM_Buffers ":"
47
48#define SPA_TYPE_INFO_PARAM_BlockInfo SPA_TYPE_INFO_PARAM_BUFFERS_BASE "BlockInfo"
49#define SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE SPA_TYPE_INFO_PARAM_BlockInfo ":"
50
51static const struct spa_type_info spa_type_param_buffers[] = {
52 { SPA_PARAM_BUFFERS_START, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_BUFFERS_BASE, spa_type_param, },
53 { SPA_PARAM_BUFFERS_buffers, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BUFFERS_BASE "buffers", NULL },
54 { SPA_PARAM_BUFFERS_blocks, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BUFFERS_BASE "blocks", NULL },
55 { SPA_PARAM_BUFFERS_size, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "size", NULL },
56 { SPA_PARAM_BUFFERS_stride, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "stride", NULL },
57 { SPA_PARAM_BUFFERS_align, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "align", NULL },
58 { SPA_PARAM_BUFFERS_dataType, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "dataType", NULL },
59 { SPA_PARAM_BUFFERS_metaType, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "metaType", NULL },
60 { 0, 0, NULL, NULL },
61};
62
64 * \}
65 */
66
67#ifdef __cplusplus
68} /* extern "C" */
69#endif
70
71#endif /* SPA_PARAM_BUFFERS_TYPES_H */
spa_type_meta_type
static const struct spa_type_info spa_type_meta_type[]
Definition type-info.h:91
spa_type_io
static const struct spa_type_info spa_type_io[]
Definition type-info.h:33
spa_type_param_io
static const struct spa_type_info spa_type_param_io[]
Definition buffers-types.h:47
spa_type_param_meta
static const struct spa_type_info spa_type_param_meta[]
Definition buffers-types.h:32
spa_type_param_buffers
static const struct spa_type_info spa_type_param_buffers[]
Definition buffers-types.h:64
SPA_TYPE_INFO_PARAM_META_BASE
#define SPA_TYPE_INFO_PARAM_META_BASE
Definition buffers-types.h:30
SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE
#define SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE
Definition buffers-types.h:62
spa_type_param
static const struct spa_type_info spa_type_param[]
Definition param-types.h:32
SPA_TYPE_INFO_PARAM_IO_BASE
#define SPA_TYPE_INFO_PARAM_IO_BASE
Definition buffers-types.h:45
SPA_TYPE_INFO_PARAM_BUFFERS_BASE
#define SPA_TYPE_INFO_PARAM_BUFFERS_BASE
Definition buffers-types.h:57
SPA_PARAM_META_START
@ SPA_PARAM_META_START
Definition buffers.h:38
SPA_PARAM_META_size
@ SPA_PARAM_META_size
the expected maximum size the meta (Int)
Definition buffers.h:40
SPA_PARAM_META_type
@ SPA_PARAM_META_type
the metadata, one of enum spa_meta_type (Id enum spa_meta_type)
Definition buffers.h:39
SPA_PARAM_IO_id
@ SPA_PARAM_IO_id
type ID, uniquely identifies the io area (Id enum spa_io_type)
Definition buffers.h:46
SPA_PARAM_IO_START
@ SPA_PARAM_IO_START
Definition buffers.h:45
SPA_PARAM_IO_size
@ SPA_PARAM_IO_size
size of the io area (Int)
Definition buffers.h:47
SPA_PARAM_BUFFERS_dataType
@ SPA_PARAM_BUFFERS_dataType
possible memory types (flags choice Int, mask of enum spa_data_type)
Definition buffers.h:32
SPA_PARAM_BUFFERS_size
@ SPA_PARAM_BUFFERS_size
size of a data block memory (Int)
Definition buffers.h:29
SPA_PARAM_BUFFERS_START
@ SPA_PARAM_BUFFERS_START
Definition buffers.h:26
SPA_PARAM_BUFFERS_stride
@ SPA_PARAM_BUFFERS_stride
stride of data block memory (Int)
Definition buffers.h:30
SPA_PARAM_BUFFERS_align
@ SPA_PARAM_BUFFERS_align
alignment of data block memory (Int)
Definition buffers.h:31
SPA_PARAM_BUFFERS_blocks
@ SPA_PARAM_BUFFERS_blocks
number of data blocks per buffer (Int)
Definition buffers.h:28
SPA_PARAM_BUFFERS_buffers
@ SPA_PARAM_BUFFERS_buffers
number of buffers (Int)
Definition buffers.h:27
SPA_PARAM_BUFFERS_metaType
@ SPA_PARAM_BUFFERS_metaType
required meta data types (Int, mask of enum spa_meta_type)
Definition buffers.h:33
SPA_TYPE_Int
@ SPA_TYPE_Int
Definition type.h:45
SPA_TYPE_Id
@ SPA_TYPE_Id
Definition type.h:44
type-info.h
spa/node/type-info.h
param-types.h
spa/param/param-types.h
buffers.h
spa/param/buffers.h
spa_type_info
Definition type.h:154