PipeWire: buffers-types.h Source File

PipeWire 0.3.66

Loading...
Searching...
No Matches
buffers-types.h
Go to the documentation of this file.
1/* Simple Plugin API
2 *
3 * Copyright © 2018 Wim Taymans
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
14 * Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24
25#ifndef SPA_PARAM_BUFFERS_TYPES_H
26#define SPA_PARAM_BUFFERS_TYPES_H
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
37#include <spa/param/param-types.h>
38#include <spa/node/type-info.h>
39
40#include <spa/param/buffers.h>
41
42#define SPA_TYPE_INFO_PARAM_Meta SPA_TYPE_INFO_PARAM_BASE "Meta"
43#define SPA_TYPE_INFO_PARAM_META_BASE SPA_TYPE_INFO_PARAM_Meta ":"
44
45static const struct spa_type_info spa_type_param_meta[] = {
46 { SPA_PARAM_META_START, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_META_BASE, spa_type_param },
47 { SPA_PARAM_META_type, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_META_BASE "type", spa_type_meta_type },
48 { SPA_PARAM_META_size, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_META_BASE "size", NULL },
49 { 0, 0, NULL, NULL },
50};
51
55#define SPA_TYPE_INFO_PARAM_IO SPA_TYPE_INFO_PARAM_BASE "IO"
56#define SPA_TYPE_INFO_PARAM_IO_BASE SPA_TYPE_INFO_PARAM_IO ":"
57
58static const struct spa_type_info spa_type_param_io[] = {
59 { SPA_PARAM_IO_START, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_IO_BASE, spa_type_param, },
60 { SPA_PARAM_IO_id, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_IO_BASE "id", spa_type_io },
61 { SPA_PARAM_IO_size, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_IO_BASE "size", NULL },
62 { 0, 0, NULL, NULL },
63};
64
65#define SPA_TYPE_INFO_PARAM_Buffers SPA_TYPE_INFO_PARAM_BASE "Buffers"
66#define SPA_TYPE_INFO_PARAM_BUFFERS_BASE SPA_TYPE_INFO_PARAM_Buffers ":"
67
68#define SPA_TYPE_INFO_PARAM_BlockInfo SPA_TYPE_INFO_PARAM_BUFFERS_BASE "BlockInfo"
69#define SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE SPA_TYPE_INFO_PARAM_BlockInfo ":"
70
71static const struct spa_type_info spa_type_param_buffers[] = {
72 { SPA_PARAM_BUFFERS_START, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_BUFFERS_BASE, spa_type_param, },
73 { SPA_PARAM_BUFFERS_buffers, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BUFFERS_BASE "buffers", NULL },
74 { SPA_PARAM_BUFFERS_blocks, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BUFFERS_BASE "blocks", NULL },
75 { SPA_PARAM_BUFFERS_size, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "size", NULL },
76 { SPA_PARAM_BUFFERS_stride, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "stride", NULL },
77 { SPA_PARAM_BUFFERS_align, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "align", NULL },
78 { SPA_PARAM_BUFFERS_dataType, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "dataType", NULL },
79 { 0, 0, NULL, NULL },
80};
81
86#ifdef __cplusplus
87} /* extern "C" */
88#endif
89
90#endif /* SPA_PARAM_BUFFERS_TYPES_H */
spa_type_meta_type
static const struct spa_type_info spa_type_meta_type[]
Definition: buffer/type-info.h:92
spa_type_io
static const struct spa_type_info spa_type_io[]
Definition: node/type-info.h:53
spa_type_param_io
static const struct spa_type_info spa_type_param_io[]
Definition: buffers-types.h:67
spa_type_param_meta
static const struct spa_type_info spa_type_param_meta[]
Definition: buffers-types.h:52
spa_type_param_buffers
static const struct spa_type_info spa_type_param_buffers[]
Definition: buffers-types.h:84
SPA_TYPE_INFO_PARAM_META_BASE
#define SPA_TYPE_INFO_PARAM_META_BASE
Definition: buffers-types.h:50
SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE
#define SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE
Definition: buffers-types.h:82
spa_type_param
static const struct spa_type_info spa_type_param[]
Definition: param-types.h:52
SPA_TYPE_INFO_PARAM_IO_BASE
#define SPA_TYPE_INFO_PARAM_IO_BASE
Definition: buffers-types.h:65
SPA_TYPE_INFO_PARAM_BUFFERS_BASE
#define SPA_TYPE_INFO_PARAM_BUFFERS_BASE
Definition: buffers-types.h:77
SPA_PARAM_META_START
@ SPA_PARAM_META_START
Definition: spa/include/spa/param/buffers.h:57
SPA_PARAM_META_size
@ SPA_PARAM_META_size
the expected maximum size the meta (Int)
Definition: spa/include/spa/param/buffers.h:59
SPA_PARAM_META_type
@ SPA_PARAM_META_type
the metadata, one of enum spa_meta_type (Id enum spa_meta_type)
Definition: spa/include/spa/param/buffers.h:58
SPA_PARAM_IO_id
@ SPA_PARAM_IO_id
type ID, uniquely identifies the io area (Id enum spa_io_type)
Definition: spa/include/spa/param/buffers.h:65
SPA_PARAM_IO_START
@ SPA_PARAM_IO_START
Definition: spa/include/spa/param/buffers.h:64
SPA_PARAM_IO_size
@ SPA_PARAM_IO_size
size of the io area (Int)
Definition: spa/include/spa/param/buffers.h:66
SPA_PARAM_BUFFERS_dataType
@ SPA_PARAM_BUFFERS_dataType
possible memory types (Int, mask of enum spa_data_type)
Definition: spa/include/spa/param/buffers.h:52
SPA_PARAM_BUFFERS_size
@ SPA_PARAM_BUFFERS_size
size of a data block memory (Int)
Definition: spa/include/spa/param/buffers.h:49
SPA_PARAM_BUFFERS_START
@ SPA_PARAM_BUFFERS_START
Definition: spa/include/spa/param/buffers.h:46
SPA_PARAM_BUFFERS_stride
@ SPA_PARAM_BUFFERS_stride
stride of data block memory (Int)
Definition: spa/include/spa/param/buffers.h:50
SPA_PARAM_BUFFERS_align
@ SPA_PARAM_BUFFERS_align
alignment of data block memory (Int)
Definition: spa/include/spa/param/buffers.h:51
SPA_PARAM_BUFFERS_blocks
@ SPA_PARAM_BUFFERS_blocks
number of data blocks per buffer (Int)
Definition: spa/include/spa/param/buffers.h:48
SPA_PARAM_BUFFERS_buffers
@ SPA_PARAM_BUFFERS_buffers
number of buffers (Int)
Definition: spa/include/spa/param/buffers.h:47
SPA_TYPE_Int
@ SPA_TYPE_Int
Definition: spa/include/spa/utils/type.h:54
SPA_TYPE_Id
@ SPA_TYPE_Id
Definition: spa/include/spa/utils/type.h:53
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: spa/include/spa/utils/type.h:162