PipeWire
1.0.0
Main Page
Pages
API Reference
type.h
1
/* Simple Plugin API */
2
/* SPDX-FileCopyrightText: Copyright © 2018 Wim Taymans */
3
/* SPDX-License-Identifier: MIT */
4
5
#ifndef SPA_TYPE_H
6
#define SPA_TYPE_H
7
8
#ifdef __cplusplus
9
extern
"C"
{
10
#endif
11
12
#include <spa/utils/defs.h>
13
23
enum
{
24
/* Basic types */
25
SPA_TYPE_START
= 0x00000,
26
SPA_TYPE_None
,
27
SPA_TYPE_Bool
,
28
SPA_TYPE_Id
,
29
SPA_TYPE_Int
,
30
SPA_TYPE_Long
,
31
SPA_TYPE_Float
,
32
SPA_TYPE_Double
,
33
SPA_TYPE_String
,
34
SPA_TYPE_Bytes
,
35
SPA_TYPE_Rectangle
,
36
SPA_TYPE_Fraction
,
37
SPA_TYPE_Bitmap
,
38
SPA_TYPE_Array
,
39
SPA_TYPE_Struct
,
40
SPA_TYPE_Object
,
41
SPA_TYPE_Sequence
,
42
SPA_TYPE_Pointer
,
43
SPA_TYPE_Fd
,
44
SPA_TYPE_Choice
,
45
SPA_TYPE_Pod
,
46
_SPA_TYPE_LAST
,
48
/* Pointers */
49
SPA_TYPE_POINTER_START
= 0x10000,
50
SPA_TYPE_POINTER_Buffer
,
51
SPA_TYPE_POINTER_Meta
,
52
SPA_TYPE_POINTER_Dict
,
53
_SPA_TYPE_POINTER_LAST
,
55
/* Events */
56
SPA_TYPE_EVENT_START
= 0x20000,
57
SPA_TYPE_EVENT_Device
,
58
SPA_TYPE_EVENT_Node
,
59
_SPA_TYPE_EVENT_LAST
,
61
/* Commands */
62
SPA_TYPE_COMMAND_START
= 0x30000,
63
SPA_TYPE_COMMAND_Device
,
64
SPA_TYPE_COMMAND_Node
,
65
_SPA_TYPE_COMMAND_LAST
,
67
/* Objects */
68
SPA_TYPE_OBJECT_START
= 0x40000,
69
SPA_TYPE_OBJECT_PropInfo
,
70
SPA_TYPE_OBJECT_Props
,
71
SPA_TYPE_OBJECT_Format
,
72
SPA_TYPE_OBJECT_ParamBuffers
,
73
SPA_TYPE_OBJECT_ParamMeta
,
74
SPA_TYPE_OBJECT_ParamIO
,
75
SPA_TYPE_OBJECT_ParamProfile
,
76
SPA_TYPE_OBJECT_ParamPortConfig
,
77
SPA_TYPE_OBJECT_ParamRoute
,
78
SPA_TYPE_OBJECT_Profiler
,
79
SPA_TYPE_OBJECT_ParamLatency
,
80
SPA_TYPE_OBJECT_ParamProcessLatency
,
81
SPA_TYPE_OBJECT_ParamTag
,
82
_SPA_TYPE_OBJECT_LAST
,
84
/* vendor extensions */
85
SPA_TYPE_VENDOR_PipeWire
= 0x02000000,
86
87
SPA_TYPE_VENDOR_Other
= 0x7f000000,
88
};
89
90
#define SPA_TYPE_INFO_BASE "Spa:"
91
92
#define SPA_TYPE_INFO_Flags SPA_TYPE_INFO_BASE "Flags"
93
#define SPA_TYPE_INFO_FLAGS_BASE SPA_TYPE_INFO_Flags ":"
94
95
#define SPA_TYPE_INFO_Enum SPA_TYPE_INFO_BASE "Enum"
96
#define SPA_TYPE_INFO_ENUM_BASE SPA_TYPE_INFO_Enum ":"
97
98
#define SPA_TYPE_INFO_Pod SPA_TYPE_INFO_BASE "Pod"
99
#define SPA_TYPE_INFO_POD_BASE SPA_TYPE_INFO_Pod ":"
100
101
#define SPA_TYPE_INFO_Struct SPA_TYPE_INFO_POD_BASE "Struct"
102
#define SPA_TYPE_INFO_STRUCT_BASE SPA_TYPE_INFO_Struct ":"
103
104
#define SPA_TYPE_INFO_Object SPA_TYPE_INFO_POD_BASE "Object"
105
#define SPA_TYPE_INFO_OBJECT_BASE SPA_TYPE_INFO_Object ":"
106
107
#define SPA_TYPE_INFO_Pointer SPA_TYPE_INFO_BASE "Pointer"
108
#define SPA_TYPE_INFO_POINTER_BASE SPA_TYPE_INFO_Pointer ":"
109
110
#define SPA_TYPE_INFO_Interface SPA_TYPE_INFO_POINTER_BASE "Interface"
111
#define SPA_TYPE_INFO_INTERFACE_BASE SPA_TYPE_INFO_Interface ":"
112
113
#define SPA_TYPE_INFO_Event SPA_TYPE_INFO_OBJECT_BASE "Event"
114
#define SPA_TYPE_INFO_EVENT_BASE SPA_TYPE_INFO_Event ":"
115
116
#define SPA_TYPE_INFO_Command SPA_TYPE_INFO_OBJECT_BASE "Command"
117
#define SPA_TYPE_INFO_COMMAND_BASE SPA_TYPE_INFO_Command ":"
118
119
struct
spa_type_info
{
120
uint32_t
type
;
121
uint32_t
parent
;
122
const
char
*name;
123
const
struct
spa_type_info
*
values
;
124
};
125
130
#ifdef __cplusplus
131
}
/* extern "C" */
132
#endif
133
134
#endif
/* SPA_TYPE_H */
SPA_TYPE_OBJECT_START
Definition:
type.h:73
spa_type_info::type
uint32_t type
Definition:
type.h:144
SPA_TYPE_COMMAND_START
Definition:
type.h:67
SPA_TYPE_START
Definition:
type.h:30
_SPA_TYPE_COMMAND_LAST
not part of ABI
Definition:
type.h:70
SPA_TYPE_Pointer
Definition:
type.h:47
SPA_TYPE_POINTER_Meta
Definition:
type.h:56
SPA_TYPE_Fraction
Definition:
type.h:41
SPA_TYPE_COMMAND_Node
Definition:
type.h:69
SPA_TYPE_OBJECT_ParamLatency
Definition:
type.h:84
SPA_TYPE_Bytes
Definition:
type.h:39
SPA_TYPE_Sequence
Definition:
type.h:46
SPA_TYPE_String
Definition:
type.h:38
SPA_TYPE_EVENT_Node
Definition:
type.h:63
SPA_TYPE_OBJECT_ParamProcessLatency
Definition:
type.h:85
SPA_TYPE_OBJECT_ParamIO
Definition:
type.h:79
_SPA_TYPE_OBJECT_LAST
not part of ABI
Definition:
type.h:87
spa_type_info
Definition:
type.h:143
SPA_TYPE_VENDOR_PipeWire
Definition:
type.h:90
SPA_TYPE_Bitmap
Definition:
type.h:42
_SPA_TYPE_EVENT_LAST
not part of ABI
Definition:
type.h:64
SPA_TYPE_OBJECT_Profiler
Definition:
type.h:83
SPA_TYPE_OBJECT_ParamRoute
Definition:
type.h:82
SPA_TYPE_Array
Definition:
type.h:43
SPA_TYPE_Bool
Definition:
type.h:32
SPA_TYPE_OBJECT_Props
Definition:
type.h:75
_SPA_TYPE_LAST
not part of ABI
Definition:
type.h:51
_SPA_TYPE_POINTER_LAST
not part of ABI
Definition:
type.h:58
SPA_TYPE_OBJECT_ParamBuffers
Definition:
type.h:77
spa_type_info::parent
uint32_t parent
Definition:
type.h:145
SPA_TYPE_Float
Definition:
type.h:36
SPA_TYPE_POINTER_Buffer
Definition:
type.h:55
SPA_TYPE_POINTER_Dict
Definition:
type.h:57
SPA_TYPE_Double
Definition:
type.h:37
SPA_TYPE_OBJECT_Format
Definition:
type.h:76
SPA_TYPE_OBJECT_ParamMeta
Definition:
type.h:78
SPA_TYPE_Pod
Definition:
type.h:50
SPA_TYPE_Id
Definition:
type.h:33
SPA_TYPE_Object
Definition:
type.h:45
SPA_TYPE_VENDOR_Other
Definition:
type.h:92
SPA_TYPE_Int
Definition:
type.h:34
SPA_TYPE_COMMAND_Device
Definition:
type.h:68
SPA_TYPE_POINTER_START
Definition:
type.h:54
SPA_TYPE_OBJECT_PropInfo
Definition:
type.h:74
SPA_TYPE_OBJECT_ParamProfile
Definition:
type.h:80
spa_type_info::values
const struct spa_type_info * values
Definition:
type.h:147
SPA_TYPE_OBJECT_ParamPortConfig
Definition:
type.h:81
SPA_TYPE_Struct
Definition:
type.h:44
SPA_TYPE_EVENT_Device
Definition:
type.h:62
SPA_TYPE_Choice
Definition:
type.h:49
SPA_TYPE_OBJECT_ParamTag
Definition:
type.h:86
SPA_TYPE_Long
Definition:
type.h:35
SPA_TYPE_None
Definition:
type.h:31
SPA_TYPE_Fd
Definition:
type.h:48
SPA_TYPE_EVENT_START
Definition:
type.h:61
SPA_TYPE_Rectangle
Definition:
type.h:40
spa
utils
type.h
Generated by
1.8.10