mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
reorganize some struct members to remove holes
This commit is contained in:
parent
658c1da52f
commit
f45e0b8966
27 changed files with 533 additions and 539 deletions
|
|
@ -37,12 +37,12 @@ struct spa_buffer_alloc_info {
|
|||
#define SPA_BUFFER_ALLOC_FLAG_INLINE_ALL 0b111
|
||||
#define SPA_BUFFER_ALLOC_FLAG_NO_DATA (1<<3) /**< don't set data pointers */
|
||||
uint32_t flags;
|
||||
uint32_t max_align; /**< max of all alignments */
|
||||
uint32_t n_metas;
|
||||
struct spa_meta *metas;
|
||||
uint32_t n_datas;
|
||||
struct spa_meta *metas;
|
||||
struct spa_data *datas;
|
||||
uint32_t *data_aligns;
|
||||
uint32_t max_align; /**< max of all alignments */
|
||||
size_t skel_size; /**< size of the struct spa_buffer and inlined meta/chunk/data */
|
||||
size_t meta_size; /**< size of the meta if not inlined */
|
||||
size_t chunk_size; /**< size of the chunk if not inlined */
|
||||
|
|
|
|||
|
|
@ -45,11 +45,11 @@ extern "C" {
|
|||
#define SPA_TYPE_INFO_DATA_FD_BASE SPA_TYPE_INFO_DATA_Fd ":"
|
||||
|
||||
static const struct spa_type_info spa_type_data_type[] = {
|
||||
{ SPA_DATA_Invalid, SPA_TYPE_INFO_DATA_BASE "Invalid", SPA_TYPE_Int, NULL },
|
||||
{ SPA_DATA_MemPtr, SPA_TYPE_INFO_DATA_BASE "MemPtr", SPA_TYPE_Int, NULL },
|
||||
{ SPA_DATA_MemFd, SPA_TYPE_INFO_DATA_FD_BASE "MemFd", SPA_TYPE_Int, NULL },
|
||||
{ SPA_DATA_DmaBuf, SPA_TYPE_INFO_DATA_FD_BASE "DmaBuf", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_DATA_Invalid, SPA_TYPE_Int, SPA_TYPE_INFO_DATA_BASE "Invalid", NULL },
|
||||
{ SPA_DATA_MemPtr, SPA_TYPE_Int, SPA_TYPE_INFO_DATA_BASE "MemPtr", NULL },
|
||||
{ SPA_DATA_MemFd, SPA_TYPE_Int, SPA_TYPE_INFO_DATA_FD_BASE "MemFd", NULL },
|
||||
{ SPA_DATA_DmaBuf, SPA_TYPE_Int, SPA_TYPE_INFO_DATA_FD_BASE "DmaBuf", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_Meta SPA_TYPE_INFO_POINTER_BASE "Meta"
|
||||
|
|
@ -62,13 +62,13 @@ static const struct spa_type_info spa_type_data_type[] = {
|
|||
#define SPA_TYPE_INFO_META_REGION_ARRAY_BASE SPA_TYPE_INFO_META_RegionArray ":"
|
||||
|
||||
static const struct spa_type_info spa_type_meta_type[] = {
|
||||
{ SPA_META_Invalid, SPA_TYPE_INFO_META_BASE "Invalid", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_META_Header, SPA_TYPE_INFO_META_BASE "Header", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_META_VideoCrop, SPA_TYPE_INFO_META_REGION_BASE "VideoCrop", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_META_VideoDamage, SPA_TYPE_INFO_META_REGION_ARRAY_BASE "VideoDamage", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_META_Bitmap, SPA_TYPE_INFO_META_BASE "Bitmap", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_META_Cursor, SPA_TYPE_INFO_META_BASE "Cursor", SPA_TYPE_Pointer, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_META_Invalid, SPA_TYPE_Pointer, SPA_TYPE_INFO_META_BASE "Invalid", NULL },
|
||||
{ SPA_META_Header, SPA_TYPE_Pointer, SPA_TYPE_INFO_META_BASE "Header", NULL },
|
||||
{ SPA_META_VideoCrop, SPA_TYPE_Pointer, SPA_TYPE_INFO_META_REGION_BASE "VideoCrop", NULL },
|
||||
{ SPA_META_VideoDamage, SPA_TYPE_Pointer, SPA_TYPE_INFO_META_REGION_ARRAY_BASE "VideoDamage", NULL },
|
||||
{ SPA_META_Bitmap, SPA_TYPE_Pointer, SPA_TYPE_INFO_META_BASE "Bitmap", NULL },
|
||||
{ SPA_META_Cursor, SPA_TYPE_Pointer, SPA_TYPE_INFO_META_BASE "Cursor", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -38,10 +38,10 @@ extern "C" {
|
|||
#define SPA_TYPE_INFO_CONTROL_BASE SPA_TYPE_INFO_Control ":"
|
||||
|
||||
static const struct spa_type_info spa_type_control[] = {
|
||||
{ SPA_CONTROL_Invalid, SPA_TYPE_INFO_CONTROL_BASE "Invalid", SPA_TYPE_Int, NULL },
|
||||
{ SPA_CONTROL_Properties, SPA_TYPE_INFO_CONTROL_BASE "Properties", SPA_TYPE_Int, NULL },
|
||||
{ SPA_CONTROL_Midi, SPA_TYPE_INFO_CONTROL_BASE "Midi", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_CONTROL_Invalid, SPA_TYPE_Int, SPA_TYPE_INFO_CONTROL_BASE "Invalid", NULL },
|
||||
{ SPA_CONTROL_Properties, SPA_TYPE_Int, SPA_TYPE_INFO_CONTROL_BASE "Properties", NULL },
|
||||
{ SPA_CONTROL_Midi, SPA_TYPE_Int, SPA_TYPE_INFO_CONTROL_BASE "Midi", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -36,51 +36,51 @@ extern "C" {
|
|||
#define SPA_TYPE_INFO_MONITOR_EVENT_BASE SPA_TYPE_INFO_MonitorEvent ":"
|
||||
|
||||
static const struct spa_type_info spa_type_monitor_event_id[] = {
|
||||
{ SPA_MONITOR_EVENT_Added, SPA_TYPE_INFO_MONITOR_EVENT_BASE "Added", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MONITOR_EVENT_Removed, SPA_TYPE_INFO_MONITOR_EVENT_BASE "Removed", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MONITOR_EVENT_Changed, SPA_TYPE_INFO_MONITOR_EVENT_BASE "Changed", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_MONITOR_EVENT_Added, SPA_TYPE_Int, SPA_TYPE_INFO_MONITOR_EVENT_BASE "Added", NULL },
|
||||
{ SPA_MONITOR_EVENT_Removed, SPA_TYPE_Int, SPA_TYPE_INFO_MONITOR_EVENT_BASE "Removed", NULL },
|
||||
{ SPA_MONITOR_EVENT_Changed, SPA_TYPE_Int, SPA_TYPE_INFO_MONITOR_EVENT_BASE "Changed", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
static const struct spa_type_info spa_type_monitor_event[] = {
|
||||
{ 0, SPA_TYPE_INFO_MONITOR_EVENT_BASE, SPA_TYPE_Id, spa_type_monitor_event_id },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ 0, SPA_TYPE_Id, SPA_TYPE_INFO_MONITOR_EVENT_BASE, spa_type_monitor_event_id },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_MonitorItemFlags SPA_TYPE_INFO_FLAGS_BASE "MonitorItemFlags"
|
||||
#define SPA_TYPE_INFO_MONITOR_ITEM_FLAGS_BASE SPA_TYPE_INFO_MonitorItemFlags ":"
|
||||
|
||||
static const struct spa_type_info spa_type_monitor_item_flags[] = {
|
||||
{ SPA_MONITOR_ITEM_FLAG_NONE, SPA_TYPE_INFO_MONITOR_ITEM_FLAGS_BASE "none", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_MONITOR_ITEM_FLAG_NONE, SPA_TYPE_Int, SPA_TYPE_INFO_MONITOR_ITEM_FLAGS_BASE "none", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_MonitorItemState SPA_TYPE_INFO_ENUM_BASE "MonitorItemState"
|
||||
#define SPA_TYPE_INFO_MONITOR_ITEM_STATE_BASE SPA_TYPE_INFO_MonitorItemState ":"
|
||||
|
||||
static const struct spa_type_info spa_type_monitor_item_state[] = {
|
||||
{ SPA_MONITOR_ITEM_STATE_Available, SPA_TYPE_INFO_MONITOR_ITEM_STATE_BASE "Available", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MONITOR_ITEM_STATE_Disabled, SPA_TYPE_INFO_MONITOR_ITEM_STATE_BASE "Disabled", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MONITOR_ITEM_STATE_Unavailable, SPA_TYPE_INFO_MONITOR_ITEM_STATE_BASE "Unavailable", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_MONITOR_ITEM_STATE_Available, SPA_TYPE_Int, SPA_TYPE_INFO_MONITOR_ITEM_STATE_BASE "Available", NULL },
|
||||
{ SPA_MONITOR_ITEM_STATE_Disabled, SPA_TYPE_Int, SPA_TYPE_INFO_MONITOR_ITEM_STATE_BASE "Disabled", NULL },
|
||||
{ SPA_MONITOR_ITEM_STATE_Unavailable, SPA_TYPE_Int, SPA_TYPE_INFO_MONITOR_ITEM_STATE_BASE "Unavailable", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_MonitorItem SPA_TYPE_INFO_OBJECT_BASE "MonitorItem"
|
||||
#define SPA_TYPE_INFO_MONITOR_ITEM_BASE SPA_TYPE_INFO_MonitorItem ":"
|
||||
|
||||
static const struct spa_type_info spa_type_monitor_item[] = {
|
||||
{ SPA_MONITOR_ITEM_START, SPA_TYPE_INFO_MONITOR_ITEM_BASE, SPA_TYPE_Int, NULL },
|
||||
{ SPA_MONITOR_ITEM_id, SPA_TYPE_INFO_MONITOR_ITEM_BASE "id", SPA_TYPE_String, NULL },
|
||||
{ SPA_MONITOR_ITEM_flags, SPA_TYPE_INFO_MONITOR_ITEM_BASE "flags", SPA_TYPE_Id,
|
||||
{ SPA_MONITOR_ITEM_START, SPA_TYPE_Int, SPA_TYPE_INFO_MONITOR_ITEM_BASE, NULL },
|
||||
{ SPA_MONITOR_ITEM_id, SPA_TYPE_String, SPA_TYPE_INFO_MONITOR_ITEM_BASE "id", NULL },
|
||||
{ SPA_MONITOR_ITEM_flags, SPA_TYPE_Id, SPA_TYPE_INFO_MONITOR_ITEM_BASE "flags",
|
||||
spa_type_monitor_item_flags },
|
||||
{ SPA_MONITOR_ITEM_state, SPA_TYPE_INFO_MONITOR_ITEM_BASE "state", SPA_TYPE_Id,
|
||||
{ SPA_MONITOR_ITEM_state, SPA_TYPE_Id, SPA_TYPE_INFO_MONITOR_ITEM_BASE "state",
|
||||
spa_type_monitor_item_state },
|
||||
{ SPA_MONITOR_ITEM_name, SPA_TYPE_INFO_MONITOR_ITEM_BASE "name", SPA_TYPE_String, NULL },
|
||||
{ SPA_MONITOR_ITEM_class, SPA_TYPE_INFO_MONITOR_ITEM_BASE "class", SPA_TYPE_String, NULL },
|
||||
{ SPA_MONITOR_ITEM_info, SPA_TYPE_INFO_MONITOR_ITEM_BASE "info", SPA_TYPE_Pod, NULL },
|
||||
{ SPA_MONITOR_ITEM_factory, SPA_TYPE_INFO_MONITOR_ITEM_BASE "factory", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_MONITOR_ITEM_type, SPA_TYPE_INFO_MONITOR_ITEM_BASE "type", SPA_TYPE_Id, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_MONITOR_ITEM_name, SPA_TYPE_String, SPA_TYPE_INFO_MONITOR_ITEM_BASE "name", NULL },
|
||||
{ SPA_MONITOR_ITEM_class, SPA_TYPE_String, SPA_TYPE_INFO_MONITOR_ITEM_BASE "class", NULL },
|
||||
{ SPA_MONITOR_ITEM_info, SPA_TYPE_Pod, SPA_TYPE_INFO_MONITOR_ITEM_BASE "info", NULL },
|
||||
{ SPA_MONITOR_ITEM_factory, SPA_TYPE_Pointer, SPA_TYPE_INFO_MONITOR_ITEM_BASE "factory", NULL },
|
||||
{ SPA_MONITOR_ITEM_type, SPA_TYPE_Id, SPA_TYPE_INFO_MONITOR_ITEM_BASE "type", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -39,51 +39,51 @@ extern "C" {
|
|||
#define SPA_TYPE_INFO_IO_BASE SPA_TYPE_INFO_IO ":"
|
||||
|
||||
static const struct spa_type_info spa_type_io[] = {
|
||||
{ SPA_IO_Invalid, SPA_TYPE_INFO_IO_BASE "Invalid", SPA_TYPE_Int, NULL },
|
||||
{ SPA_IO_Buffers, SPA_TYPE_INFO_IO_BASE "Buffers", SPA_TYPE_Int, NULL },
|
||||
{ SPA_IO_Range, SPA_TYPE_INFO_IO_BASE "Range", SPA_TYPE_Int, NULL },
|
||||
{ SPA_IO_Clock, SPA_TYPE_INFO_IO_BASE "Clock", SPA_TYPE_Int, NULL },
|
||||
{ SPA_IO_Latency, SPA_TYPE_INFO_IO_BASE "Latency", SPA_TYPE_Int, NULL },
|
||||
{ SPA_IO_Control, SPA_TYPE_INFO_IO_BASE "Control", SPA_TYPE_Int, NULL },
|
||||
{ SPA_IO_Notify, SPA_TYPE_INFO_IO_BASE "Notify", SPA_TYPE_Int, NULL },
|
||||
{ SPA_IO_Position, SPA_TYPE_INFO_IO_BASE "Position", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_IO_Invalid, SPA_TYPE_Int, SPA_TYPE_INFO_IO_BASE "Invalid", NULL },
|
||||
{ SPA_IO_Buffers, SPA_TYPE_Int, SPA_TYPE_INFO_IO_BASE "Buffers", NULL },
|
||||
{ SPA_IO_Range, SPA_TYPE_Int, SPA_TYPE_INFO_IO_BASE "Range", NULL },
|
||||
{ SPA_IO_Clock, SPA_TYPE_Int, SPA_TYPE_INFO_IO_BASE "Clock", NULL },
|
||||
{ SPA_IO_Latency, SPA_TYPE_Int, SPA_TYPE_INFO_IO_BASE "Latency", NULL },
|
||||
{ SPA_IO_Control, SPA_TYPE_Int, SPA_TYPE_INFO_IO_BASE "Control", NULL },
|
||||
{ SPA_IO_Notify, SPA_TYPE_Int, SPA_TYPE_INFO_IO_BASE "Notify", NULL },
|
||||
{ SPA_IO_Position, SPA_TYPE_Int, SPA_TYPE_INFO_IO_BASE "Position", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_NodeEvent SPA_TYPE_INFO_EVENT_BASE "Node"
|
||||
#define SPA_TYPE_INFO_NODE_EVENT_BASE SPA_TYPE_INFO_NodeEvent ":"
|
||||
|
||||
static const struct spa_type_info spa_type_node_event_id[] = {
|
||||
{ SPA_NODE_EVENT_Error, SPA_TYPE_INFO_NODE_EVENT_BASE "Error", SPA_TYPE_Int, NULL },
|
||||
{ SPA_NODE_EVENT_Buffering, SPA_TYPE_INFO_NODE_EVENT_BASE "Buffering", SPA_TYPE_Int, NULL },
|
||||
{ SPA_NODE_EVENT_RequestRefresh, SPA_TYPE_INFO_NODE_EVENT_BASE "RequestRefresh", SPA_TYPE_Int, NULL },
|
||||
{ SPA_NODE_EVENT_PortsChanged, SPA_TYPE_INFO_NODE_EVENT_BASE "PortsChanged", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_NODE_EVENT_Error, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_EVENT_BASE "Error", NULL },
|
||||
{ SPA_NODE_EVENT_Buffering, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_EVENT_BASE "Buffering", NULL },
|
||||
{ SPA_NODE_EVENT_RequestRefresh, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_EVENT_BASE "RequestRefresh", NULL },
|
||||
{ SPA_NODE_EVENT_PortsChanged, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_EVENT_BASE "PortsChanged", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
static const struct spa_type_info spa_type_node_event[] = {
|
||||
{ 0, SPA_TYPE_INFO_NODE_EVENT_BASE, SPA_TYPE_Id, spa_type_node_event_id },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ 0, SPA_TYPE_Id, SPA_TYPE_INFO_NODE_EVENT_BASE, spa_type_node_event_id },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_NodeCommand SPA_TYPE_INFO_COMMAND_BASE "Node"
|
||||
#define SPA_TYPE_INFO_NODE_COMMAND_BASE SPA_TYPE_INFO_NodeCommand ":"
|
||||
|
||||
static const struct spa_type_info spa_type_node_command_id[] = {
|
||||
{ SPA_NODE_COMMAND_Suspend, SPA_TYPE_INFO_NODE_COMMAND_BASE "Suspend", SPA_TYPE_Int, NULL },
|
||||
{ SPA_NODE_COMMAND_Pause, SPA_TYPE_INFO_NODE_COMMAND_BASE "Pause", SPA_TYPE_Int, NULL },
|
||||
{ SPA_NODE_COMMAND_Start, SPA_TYPE_INFO_NODE_COMMAND_BASE "Start", SPA_TYPE_Int, NULL },
|
||||
{ SPA_NODE_COMMAND_Enable, SPA_TYPE_INFO_NODE_COMMAND_BASE "Enable", SPA_TYPE_Int, NULL },
|
||||
{ SPA_NODE_COMMAND_Disable, SPA_TYPE_INFO_NODE_COMMAND_BASE "Disable", SPA_TYPE_Int, NULL },
|
||||
{ SPA_NODE_COMMAND_Flush, SPA_TYPE_INFO_NODE_COMMAND_BASE "Flush", SPA_TYPE_Int, NULL },
|
||||
{ SPA_NODE_COMMAND_Drain, SPA_TYPE_INFO_NODE_COMMAND_BASE "Drain", SPA_TYPE_Int, NULL },
|
||||
{ SPA_NODE_COMMAND_Marker, SPA_TYPE_INFO_NODE_COMMAND_BASE "Marker", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_NODE_COMMAND_Suspend, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_COMMAND_BASE "Suspend", NULL },
|
||||
{ SPA_NODE_COMMAND_Pause, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_COMMAND_BASE "Pause", NULL },
|
||||
{ SPA_NODE_COMMAND_Start, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_COMMAND_BASE "Start", NULL },
|
||||
{ SPA_NODE_COMMAND_Enable, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_COMMAND_BASE "Enable", NULL },
|
||||
{ SPA_NODE_COMMAND_Disable, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_COMMAND_BASE "Disable", NULL },
|
||||
{ SPA_NODE_COMMAND_Flush, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_COMMAND_BASE "Flush", NULL },
|
||||
{ SPA_NODE_COMMAND_Drain, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_COMMAND_BASE "Drain", NULL },
|
||||
{ SPA_NODE_COMMAND_Marker, SPA_TYPE_Int, SPA_TYPE_INFO_NODE_COMMAND_BASE "Marker", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
static const struct spa_type_info spa_type_node_command[] = {
|
||||
{ 0, SPA_TYPE_INFO_NODE_COMMAND_BASE, SPA_TYPE_Id, spa_type_node_command_id },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ 0, SPA_TYPE_Id, SPA_TYPE_INFO_NODE_COMMAND_BASE, spa_type_node_command_id },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -35,102 +35,102 @@ extern "C" {
|
|||
#define SPA_TYPE_INFO_AUDIO_FORMAT_BASE SPA_TYPE_INFO_AudioFormat ":"
|
||||
|
||||
static const struct spa_type_info spa_type_audio_format[] = {
|
||||
{ SPA_AUDIO_FORMAT_UNKNOWN, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "UNKNOWN", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_ENCODED, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "ENCODED", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S8, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S8", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U8, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U8", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S16_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S16LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S16_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S16BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U16_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U16LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U16_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U16BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24_32_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24_32LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24_32_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24_32BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U24_32_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U24_32LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U24_32_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U24_32BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S32_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S32LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S32_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S32BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U32_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U32LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U32_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U32BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U24_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U24LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U24_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U24BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S20_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S20LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S20_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S20BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U20_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U20LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U20_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U20BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S18_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S18LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S18_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S18BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U18_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U18LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U18_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U18BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_F32_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F32LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_F32_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F32BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_F64_LE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F64LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_F64_BE, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F64BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_UNKNOWN, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "UNKNOWN", NULL },
|
||||
{ SPA_AUDIO_FORMAT_ENCODED, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "ENCODED", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S8, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S8", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U8, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U8", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S16_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S16LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S16_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S16BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U16_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U16LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U16_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U16BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24_32_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24_32LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24_32_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24_32BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U24_32_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U24_32LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U24_32_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U24_32BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S32_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S32LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S32_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S32BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U32_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U32LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U32_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U32BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U24_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U24LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U24_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U24BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S20_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S20LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S20_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S20BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U20_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U20LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U20_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U20BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S18_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S18LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S18_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S18BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U18_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U18LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_U18_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U18BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_F32_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F32LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_F32_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F32BE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_F64_LE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F64LE", NULL },
|
||||
{ SPA_AUDIO_FORMAT_F64_BE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F64BE", NULL },
|
||||
|
||||
{ SPA_AUDIO_FORMAT_U8P, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U8P", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S16P, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S16P", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24_32P, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24_32P", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S32P, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S32P", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24P, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24P", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_F32P, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F32P", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_F64P, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F64P", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FORMAT_U8P, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "U8P", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S16P, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S16P", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24_32P, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24_32P", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S32P, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S32P", NULL },
|
||||
{ SPA_AUDIO_FORMAT_S24P, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "S24P", NULL },
|
||||
{ SPA_AUDIO_FORMAT_F32P, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F32P", NULL },
|
||||
{ SPA_AUDIO_FORMAT_F64P, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FORMAT_BASE "F64P", NULL },
|
||||
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_AudioFlags SPA_TYPE_INFO_FLAGS_BASE "AudioFlags"
|
||||
#define SPA_TYPE_INFO_AUDIO_FLAGS_BASE SPA_TYPE_INFO_AudioFlags ":"
|
||||
|
||||
static const struct spa_type_info spa_type_audio_flags[] = {
|
||||
{ SPA_AUDIO_FLAG_NONE, SPA_TYPE_INFO_AUDIO_FLAGS_BASE "none", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_FLAG_UNPOSITIONED, SPA_TYPE_INFO_AUDIO_FLAGS_BASE "unpositioned", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_AUDIO_FLAG_NONE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FLAGS_BASE "none", NULL },
|
||||
{ SPA_AUDIO_FLAG_UNPOSITIONED, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_FLAGS_BASE "unpositioned", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_AudioChannel SPA_TYPE_INFO_ENUM_BASE "AudioChannel"
|
||||
#define SPA_TYPE_INFO_AUDIO_CHANNEL_BASE SPA_TYPE_INFO_AudioChannel ":"
|
||||
|
||||
static const struct spa_type_info spa_type_audio_channel[] = {
|
||||
{ SPA_AUDIO_CHANNEL_UNKNOWN, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "UNK", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_NA, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "NA", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_MONO, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "MONO", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FL, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FL", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FR, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FR", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_LFE, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "LFE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_SL, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "SL", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_SR, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "SR", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FLC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FLC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FRC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FRC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RL, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RL", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RR, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RR", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TFL, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TFL", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TFC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TFC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TFR, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TFR", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TRL, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TRL", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TRC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TRC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TRR, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TRR", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RLC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RLC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RRC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RRC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FLW, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FLW", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FRW, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FRW", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_LFE2, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "LFE2", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FLH, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FLH", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FCH, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FCH", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FRH, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FRH", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TFLC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TFLC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TFRC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TFRC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TSL, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TSL", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TSR, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TSR", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_LLFE, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "LLFR", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RLFE, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RLFE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_BC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "BC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_BLC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "BLC", SPA_TYPE_Int, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_BRC, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "BRC", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_AUDIO_CHANNEL_UNKNOWN, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "UNK", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_NA, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "NA", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_MONO, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "MONO", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FL, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FL", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FR, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FR", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_LFE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "LFE", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_SL, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "SL", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_SR, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "SR", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FLC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FLC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FRC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FRC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RL, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RL", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RR, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RR", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TFL, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TFL", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TFC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TFC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TFR, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TFR", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TRL, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TRL", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TRC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TRC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TRR, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TRR", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RLC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RLC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RRC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RRC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FLW, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FLW", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FRW, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FRW", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_LFE2, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "LFE2", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FLH, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FLH", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FCH, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FCH", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_FRH, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "FRH", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TFLC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TFLC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TFRC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TFRC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TSL, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TSL", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_TSR, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "TSR", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_LLFE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "LLFR", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_RLFE, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "RLFE", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_BC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "BC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_BLC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "BLC", NULL },
|
||||
{ SPA_AUDIO_CHANNEL_BRC, SPA_TYPE_Int, SPA_TYPE_INFO_AUDIO_CHANNEL_BASE "BRC", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -40,17 +40,17 @@ extern "C" {
|
|||
#define SPA_TYPE_INFO_PARAM_ID_BASE SPA_TYPE_INFO_ParamId ":"
|
||||
|
||||
static const struct spa_type_info spa_type_param[] = {
|
||||
{ SPA_PARAM_Invalid, SPA_TYPE_INFO_PARAM_ID_BASE "Invalid", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_List, SPA_TYPE_INFO_PARAM_ID_BASE "List", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_PropInfo, SPA_TYPE_INFO_PARAM_ID_BASE "PropInfo", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_Props, SPA_TYPE_INFO_PARAM_ID_BASE "Props", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_EnumFormat, SPA_TYPE_INFO_PARAM_ID_BASE "EnumFormat", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_Format, SPA_TYPE_INFO_PARAM_ID_BASE "Format", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_Buffers, SPA_TYPE_INFO_PARAM_ID_BASE "Buffers", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_Meta, SPA_TYPE_INFO_PARAM_ID_BASE "Meta", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_IO, SPA_TYPE_INFO_PARAM_ID_BASE "IO", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_Profile, SPA_TYPE_INFO_PARAM_ID_BASE "Profile", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_PARAM_Invalid, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_ID_BASE "Invalid", NULL },
|
||||
{ SPA_PARAM_List, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_ID_BASE "List", NULL },
|
||||
{ SPA_PARAM_PropInfo, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_ID_BASE "PropInfo", NULL },
|
||||
{ SPA_PARAM_Props, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_ID_BASE "Props", NULL },
|
||||
{ SPA_PARAM_EnumFormat, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_ID_BASE "EnumFormat", NULL },
|
||||
{ SPA_PARAM_Format, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_ID_BASE "Format", NULL },
|
||||
{ SPA_PARAM_Buffers, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_ID_BASE "Buffers", NULL },
|
||||
{ SPA_PARAM_Meta, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_ID_BASE "Meta", NULL },
|
||||
{ SPA_PARAM_IO, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_ID_BASE "IO", NULL },
|
||||
{ SPA_PARAM_Profile, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_ID_BASE "Profile", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
/* base for parameter objects */
|
||||
|
|
@ -62,47 +62,47 @@ static const struct spa_type_info spa_type_param[] = {
|
|||
#define SPA_TYPE_INFO_PARAM_LIST_BASE SPA_TYPE_INFO_PARAM_List ":"
|
||||
|
||||
static const struct spa_type_info spa_type_param_list[] = {
|
||||
{ SPA_PARAM_LIST_START, SPA_TYPE_INFO_PARAM_LIST_BASE, SPA_TYPE_Id, spa_type_param },
|
||||
{ SPA_PARAM_LIST_id, SPA_TYPE_INFO_PARAM_LIST_BASE "id", SPA_TYPE_Id, spa_type_param },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_PARAM_LIST_START, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_LIST_BASE, spa_type_param },
|
||||
{ SPA_PARAM_LIST_id, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_LIST_BASE "id", spa_type_param },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_Props SPA_TYPE_INFO_PARAM_BASE "Props"
|
||||
#define SPA_TYPE_INFO_PROPS_BASE SPA_TYPE_INFO_Props ":"
|
||||
|
||||
static const struct spa_type_info spa_type_props[] = {
|
||||
{ SPA_PROP_START, SPA_TYPE_INFO_PROPS_BASE, SPA_TYPE_Id, spa_type_param, },
|
||||
{ SPA_PROP_unknown, SPA_TYPE_INFO_PROPS_BASE "unknown", SPA_TYPE_None, NULL },
|
||||
{ SPA_PROP_device, SPA_TYPE_INFO_PROPS_BASE "device", SPA_TYPE_String, NULL },
|
||||
{ SPA_PROP_deviceName, SPA_TYPE_INFO_PROPS_BASE "deviceName", SPA_TYPE_String, NULL },
|
||||
{ SPA_PROP_deviceFd, SPA_TYPE_INFO_PROPS_BASE "deviceFd", SPA_TYPE_Fd, NULL },
|
||||
{ SPA_PROP_card, SPA_TYPE_INFO_PROPS_BASE "card", SPA_TYPE_String, NULL },
|
||||
{ SPA_PROP_cardName, SPA_TYPE_INFO_PROPS_BASE "cardName", SPA_TYPE_String, NULL },
|
||||
{ SPA_PROP_minLatency, SPA_TYPE_INFO_PROPS_BASE "minLatency", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_maxLatency, SPA_TYPE_INFO_PROPS_BASE "maxLatency", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_periods, SPA_TYPE_INFO_PROPS_BASE "periods", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_periodSize, SPA_TYPE_INFO_PROPS_BASE "periodSize", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_periodEvent, SPA_TYPE_INFO_PROPS_BASE "periodEvent", SPA_TYPE_Bool, NULL },
|
||||
{ SPA_PROP_live, SPA_TYPE_INFO_PROPS_BASE "live", SPA_TYPE_Bool, NULL },
|
||||
{ SPA_PROP_rate, SPA_TYPE_INFO_PROPS_BASE "rate", SPA_TYPE_Double, NULL },
|
||||
{ SPA_PROP_START, SPA_TYPE_Id, SPA_TYPE_INFO_PROPS_BASE, spa_type_param, },
|
||||
{ SPA_PROP_unknown, SPA_TYPE_None, SPA_TYPE_INFO_PROPS_BASE "unknown", NULL },
|
||||
{ SPA_PROP_device, SPA_TYPE_String, SPA_TYPE_INFO_PROPS_BASE "device", NULL },
|
||||
{ SPA_PROP_deviceName, SPA_TYPE_String, SPA_TYPE_INFO_PROPS_BASE "deviceName", NULL },
|
||||
{ SPA_PROP_deviceFd, SPA_TYPE_Fd, SPA_TYPE_INFO_PROPS_BASE "deviceFd", NULL },
|
||||
{ SPA_PROP_card, SPA_TYPE_String, SPA_TYPE_INFO_PROPS_BASE "card", NULL },
|
||||
{ SPA_PROP_cardName, SPA_TYPE_String, SPA_TYPE_INFO_PROPS_BASE "cardName", NULL },
|
||||
{ SPA_PROP_minLatency, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "minLatency", NULL },
|
||||
{ SPA_PROP_maxLatency, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "maxLatency", NULL },
|
||||
{ SPA_PROP_periods, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "periods", NULL },
|
||||
{ SPA_PROP_periodSize, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "periodSize", NULL },
|
||||
{ SPA_PROP_periodEvent, SPA_TYPE_Bool, SPA_TYPE_INFO_PROPS_BASE "periodEvent", NULL },
|
||||
{ SPA_PROP_live, SPA_TYPE_Bool, SPA_TYPE_INFO_PROPS_BASE "live", NULL },
|
||||
{ SPA_PROP_rate, SPA_TYPE_Double, SPA_TYPE_INFO_PROPS_BASE "rate", NULL },
|
||||
|
||||
{ SPA_PROP_waveType, SPA_TYPE_INFO_PROPS_BASE "waveType", SPA_TYPE_Id, NULL },
|
||||
{ SPA_PROP_frequency, SPA_TYPE_INFO_PROPS_BASE "frequency", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_volume, SPA_TYPE_INFO_PROPS_BASE "volume", SPA_TYPE_Float, NULL },
|
||||
{ SPA_PROP_mute, SPA_TYPE_INFO_PROPS_BASE "mute", SPA_TYPE_Bool, NULL },
|
||||
{ SPA_PROP_patternType, SPA_TYPE_INFO_PROPS_BASE "patternType", SPA_TYPE_Id, NULL },
|
||||
{ SPA_PROP_ditherType, SPA_TYPE_INFO_PROPS_BASE "ditherType", SPA_TYPE_Id, NULL },
|
||||
{ SPA_PROP_truncate, SPA_TYPE_INFO_PROPS_BASE "truncate", SPA_TYPE_Bool, NULL },
|
||||
{ SPA_PROP_waveType, SPA_TYPE_Id, SPA_TYPE_INFO_PROPS_BASE "waveType", NULL },
|
||||
{ SPA_PROP_frequency, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "frequency", NULL },
|
||||
{ SPA_PROP_volume, SPA_TYPE_Float, SPA_TYPE_INFO_PROPS_BASE "volume", NULL },
|
||||
{ SPA_PROP_mute, SPA_TYPE_Bool, SPA_TYPE_INFO_PROPS_BASE "mute", NULL },
|
||||
{ SPA_PROP_patternType, SPA_TYPE_Id, SPA_TYPE_INFO_PROPS_BASE "patternType", NULL },
|
||||
{ SPA_PROP_ditherType, SPA_TYPE_Id, SPA_TYPE_INFO_PROPS_BASE "ditherType", NULL },
|
||||
{ SPA_PROP_truncate, SPA_TYPE_Bool, SPA_TYPE_INFO_PROPS_BASE "truncate", NULL },
|
||||
|
||||
{ SPA_PROP_brightness, SPA_TYPE_INFO_PROPS_BASE "brightness", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_contrast, SPA_TYPE_INFO_PROPS_BASE "contrast", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_saturation, SPA_TYPE_INFO_PROPS_BASE "saturation", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_hue, SPA_TYPE_INFO_PROPS_BASE "hue", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_gamma, SPA_TYPE_INFO_PROPS_BASE "gamma", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_exposure, SPA_TYPE_INFO_PROPS_BASE "exposure", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_gain, SPA_TYPE_INFO_PROPS_BASE "gain", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PROP_sharpness, SPA_TYPE_INFO_PROPS_BASE "sharpness", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_PROP_brightness, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "brightness", NULL },
|
||||
{ SPA_PROP_contrast, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "contrast", NULL },
|
||||
{ SPA_PROP_saturation, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "saturation", NULL },
|
||||
{ SPA_PROP_hue, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "hue", NULL },
|
||||
{ SPA_PROP_gamma, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "gamma", NULL },
|
||||
{ SPA_PROP_exposure, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "exposure", NULL },
|
||||
{ SPA_PROP_gain, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "gain", NULL },
|
||||
{ SPA_PROP_sharpness, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "sharpness", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
/** Enum Property info */
|
||||
|
|
@ -110,22 +110,22 @@ static const struct spa_type_info spa_type_props[] = {
|
|||
#define SPA_TYPE_INFO_PROP_INFO_BASE SPA_TYPE_INFO_PropInfo ":"
|
||||
|
||||
static const struct spa_type_info spa_type_prop_info[] = {
|
||||
{ SPA_PROP_INFO_START, SPA_TYPE_INFO_PROP_INFO_BASE, SPA_TYPE_Id, spa_type_param, },
|
||||
{ SPA_PROP_INFO_id, SPA_TYPE_INFO_PROP_INFO_BASE "id", SPA_TYPE_Id, spa_type_props },
|
||||
{ SPA_PROP_INFO_name, SPA_TYPE_INFO_PROP_INFO_BASE "name", SPA_TYPE_String, NULL },
|
||||
{ SPA_PROP_INFO_type, SPA_TYPE_INFO_PROP_INFO_BASE "type", SPA_TYPE_Pod, NULL },
|
||||
{ SPA_PROP_INFO_labels, SPA_TYPE_INFO_PROP_INFO_BASE "labels", SPA_TYPE_Struct, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_PROP_INFO_START, SPA_TYPE_Id, SPA_TYPE_INFO_PROP_INFO_BASE, spa_type_param, },
|
||||
{ SPA_PROP_INFO_id, SPA_TYPE_Id, SPA_TYPE_INFO_PROP_INFO_BASE "id", spa_type_props },
|
||||
{ SPA_PROP_INFO_name, SPA_TYPE_String, SPA_TYPE_INFO_PROP_INFO_BASE "name", NULL },
|
||||
{ SPA_PROP_INFO_type, SPA_TYPE_Pod, SPA_TYPE_INFO_PROP_INFO_BASE "type", NULL },
|
||||
{ SPA_PROP_INFO_labels, SPA_TYPE_Struct, SPA_TYPE_INFO_PROP_INFO_BASE "labels", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_PARAM_Meta SPA_TYPE_INFO_PARAM_BASE "Meta"
|
||||
#define SPA_TYPE_INFO_PARAM_META_BASE SPA_TYPE_INFO_PARAM_Meta ":"
|
||||
|
||||
static const struct spa_type_info spa_type_param_meta[] = {
|
||||
{ SPA_PARAM_META_START, SPA_TYPE_INFO_PARAM_META_BASE, SPA_TYPE_Id, spa_type_param },
|
||||
{ SPA_PARAM_META_type, SPA_TYPE_INFO_PARAM_META_BASE "type", SPA_TYPE_Id, spa_type_meta_type },
|
||||
{ SPA_PARAM_META_size, SPA_TYPE_INFO_PARAM_META_BASE "size", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_PARAM_META_START, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_META_BASE, spa_type_param },
|
||||
{ SPA_PARAM_META_type, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_META_BASE "type", spa_type_meta_type },
|
||||
{ SPA_PARAM_META_size, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_META_BASE "size", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
/** Base for parameters that describe IO areas to exchange data,
|
||||
|
|
@ -135,10 +135,10 @@ static const struct spa_type_info spa_type_param_meta[] = {
|
|||
#define SPA_TYPE_INFO_PARAM_IO_BASE SPA_TYPE_INFO_PARAM_IO ":"
|
||||
|
||||
static const struct spa_type_info spa_type_param_io[] = {
|
||||
{ SPA_PARAM_IO_START, SPA_TYPE_INFO_PARAM_IO_BASE, SPA_TYPE_Id, spa_type_param, },
|
||||
{ SPA_PARAM_IO_id, SPA_TYPE_INFO_PARAM_IO_BASE "id", SPA_TYPE_Id, spa_type_io },
|
||||
{ SPA_PARAM_IO_size, SPA_TYPE_INFO_PARAM_IO_BASE "size", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_PARAM_IO_START, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_IO_BASE, spa_type_param, },
|
||||
{ SPA_PARAM_IO_id, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_IO_BASE "id", spa_type_io },
|
||||
{ SPA_PARAM_IO_size, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_IO_BASE "size", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_Format SPA_TYPE_INFO_PARAM_BASE "Format"
|
||||
|
|
@ -151,53 +151,53 @@ static const struct spa_type_info spa_type_param_io[] = {
|
|||
#include <spa/param/video/type-info.h>
|
||||
|
||||
static const struct spa_type_info spa_type_media_type[] = {
|
||||
{ SPA_MEDIA_TYPE_unknown, SPA_TYPE_INFO_MEDIA_TYPE_BASE "unknown", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_TYPE_audio, SPA_TYPE_INFO_MEDIA_TYPE_BASE "audio", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_TYPE_video, SPA_TYPE_INFO_MEDIA_TYPE_BASE "video", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_TYPE_image, SPA_TYPE_INFO_MEDIA_TYPE_BASE "image", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_TYPE_binary, SPA_TYPE_INFO_MEDIA_TYPE_BASE "binary", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_TYPE_stream, SPA_TYPE_INFO_MEDIA_TYPE_BASE "stream", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_MEDIA_TYPE_unknown, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_TYPE_BASE "unknown", NULL },
|
||||
{ SPA_MEDIA_TYPE_audio, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_TYPE_BASE "audio", NULL },
|
||||
{ SPA_MEDIA_TYPE_video, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_TYPE_BASE "video", NULL },
|
||||
{ SPA_MEDIA_TYPE_image, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_TYPE_BASE "image", NULL },
|
||||
{ SPA_MEDIA_TYPE_binary, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_TYPE_BASE "binary", NULL },
|
||||
{ SPA_MEDIA_TYPE_stream, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_TYPE_BASE "stream", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_MediaSubtype SPA_TYPE_INFO_ENUM_BASE "MediaSubtype"
|
||||
#define SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE SPA_TYPE_INFO_MediaSubtype ":"
|
||||
|
||||
static const struct spa_type_info spa_type_media_subtype[] = {
|
||||
{ SPA_MEDIA_SUBTYPE_unknown, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "unknown", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_unknown, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "unknown", NULL },
|
||||
/* generic subtypes */
|
||||
{ SPA_MEDIA_SUBTYPE_raw, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "raw", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_raw, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "raw", NULL },
|
||||
/* audio subtypes */
|
||||
{ SPA_MEDIA_SUBTYPE_mp3, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mp3", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_aac, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "aac", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_vorbis, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "vorbis", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_wma, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "wma", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_ra, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "ra", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_sbc, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "sbc", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_adpcm, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "adpcm", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_g723, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "g723", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_g726, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "g726", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_g729, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "g729", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_amr, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "amr", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_gsm, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "gsm", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_mp3, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mp3", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_aac, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "aac", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_vorbis, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "vorbis", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_wma, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "wma", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_ra, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "ra", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_sbc, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "sbc", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_adpcm, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "adpcm", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_g723, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "g723", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_g726, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "g726", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_g729, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "g729", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_amr, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "amr", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_gsm, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "gsm", NULL },
|
||||
/* video subtypes */
|
||||
{ SPA_MEDIA_SUBTYPE_h264, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "h264", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_mjpg, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mjpg", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_dv, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "dv", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_mpegts, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mpegts", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_h263, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "h263", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_mpeg1, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mpeg1", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_mpeg2, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mpeg2", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_mpeg4, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mpeg4", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_xvid, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "xvid", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_vc1, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "vc1", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_vp8, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "vp8", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_vp9, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "vp9", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_jpeg, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "jpeg", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_bayer, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "bayer", SPA_TYPE_Int, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_h264, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "h264", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_mjpg, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mjpg", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_dv, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "dv", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_mpegts, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mpegts", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_h263, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "h263", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_mpeg1, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mpeg1", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_mpeg2, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mpeg2", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_mpeg4, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "mpeg4", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_xvid, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "xvid", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_vc1, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "vc1", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_vp8, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "vp8", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_vp9, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "vp9", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_jpeg, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "jpeg", NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_bayer, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "bayer", NULL },
|
||||
|
||||
{ SPA_MEDIA_SUBTYPE_midi, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "midi", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_MEDIA_SUBTYPE_midi, SPA_TYPE_Int, SPA_TYPE_INFO_MEDIA_SUBTYPE_BASE "midi", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_FormatAudio SPA_TYPE_INFO_FORMAT_BASE "Audio"
|
||||
|
|
@ -210,42 +210,43 @@ static const struct spa_type_info spa_type_media_subtype[] = {
|
|||
#define SPA_TYPE_INFO_FORMAT_VIDEO_H264_BASE SPA_TYPE_INFO_FORMAT_VIDEO_H264 ":"
|
||||
|
||||
static const struct spa_type_info spa_type_format[] = {
|
||||
{ SPA_FORMAT_START, SPA_TYPE_INFO_FORMAT_BASE, SPA_TYPE_Id, spa_type_param, },
|
||||
{ SPA_FORMAT_START, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_BASE, spa_type_param, },
|
||||
|
||||
{ SPA_FORMAT_mediaType, SPA_TYPE_INFO_FORMAT_BASE "mediaType", SPA_TYPE_Id,
|
||||
{ SPA_FORMAT_mediaType, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_BASE "mediaType",
|
||||
spa_type_media_type, },
|
||||
{ SPA_FORMAT_mediaSubtype, SPA_TYPE_INFO_FORMAT_BASE "mediaSubtype", SPA_TYPE_Id,
|
||||
{ SPA_FORMAT_mediaSubtype, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_BASE "mediaSubtype",
|
||||
spa_type_media_subtype, },
|
||||
|
||||
{ SPA_FORMAT_AUDIO_format, SPA_TYPE_INFO_FORMAT_AUDIO_BASE "format", SPA_TYPE_Id,
|
||||
{ SPA_FORMAT_AUDIO_format, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_AUDIO_BASE "format",
|
||||
spa_type_audio_format },
|
||||
{ SPA_FORMAT_AUDIO_flags, SPA_TYPE_INFO_FORMAT_AUDIO_BASE "flags", SPA_TYPE_Id,
|
||||
{ SPA_FORMAT_AUDIO_flags, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_AUDIO_BASE "flags",
|
||||
spa_type_audio_flags },
|
||||
{ SPA_FORMAT_AUDIO_rate, SPA_TYPE_INFO_FORMAT_AUDIO_BASE "rate", SPA_TYPE_Int, NULL },
|
||||
{ SPA_FORMAT_AUDIO_channels, SPA_TYPE_INFO_FORMAT_AUDIO_BASE "channels", SPA_TYPE_Int, NULL },
|
||||
{ SPA_FORMAT_AUDIO_position, SPA_TYPE_INFO_FORMAT_AUDIO_BASE "position", SPA_TYPE_Id, spa_type_audio_channel },
|
||||
{ SPA_FORMAT_AUDIO_rate, SPA_TYPE_Int, SPA_TYPE_INFO_FORMAT_AUDIO_BASE "rate", NULL },
|
||||
{ SPA_FORMAT_AUDIO_channels, SPA_TYPE_Int, SPA_TYPE_INFO_FORMAT_AUDIO_BASE "channels", NULL },
|
||||
{ SPA_FORMAT_AUDIO_position, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_AUDIO_BASE "position",
|
||||
spa_type_audio_channel },
|
||||
|
||||
{ SPA_FORMAT_VIDEO_format, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "format", SPA_TYPE_Id,
|
||||
{ SPA_FORMAT_VIDEO_format, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "format",
|
||||
spa_type_video_format, },
|
||||
{ SPA_FORMAT_VIDEO_size, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "size", SPA_TYPE_Rectangle, NULL },
|
||||
{ SPA_FORMAT_VIDEO_framerate, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "framerate", SPA_TYPE_Fraction, NULL },
|
||||
{ SPA_FORMAT_VIDEO_maxFramerate, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "maxFramerate", SPA_TYPE_Fraction, NULL },
|
||||
{ SPA_FORMAT_VIDEO_views, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "views", SPA_TYPE_Int, NULL },
|
||||
{ SPA_FORMAT_VIDEO_interlaceMode, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "interlaceMode", SPA_TYPE_Id, NULL },
|
||||
{ SPA_FORMAT_VIDEO_pixelAspectRatio, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "pixelAspectRatio", SPA_TYPE_Fraction, NULL },
|
||||
{ SPA_FORMAT_VIDEO_multiviewMode, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "multiviewMode", SPA_TYPE_Id, NULL },
|
||||
{ SPA_FORMAT_VIDEO_multiviewFlags, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "multiviewFlags", SPA_TYPE_Id, NULL },
|
||||
{ SPA_FORMAT_VIDEO_chromaSite, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "chromaSite", SPA_TYPE_Id, NULL },
|
||||
{ SPA_FORMAT_VIDEO_colorRange, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "colorRange", SPA_TYPE_Id, NULL },
|
||||
{ SPA_FORMAT_VIDEO_colorMatrix, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "colorMatrix", SPA_TYPE_Id, NULL },
|
||||
{ SPA_FORMAT_VIDEO_transferFunction, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "transferFunction", SPA_TYPE_Id, NULL },
|
||||
{ SPA_FORMAT_VIDEO_colorPrimaries, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "colorPrimaries", SPA_TYPE_Id, NULL },
|
||||
{ SPA_FORMAT_VIDEO_profile, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "profile", SPA_TYPE_Int, NULL },
|
||||
{ SPA_FORMAT_VIDEO_level, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "level", SPA_TYPE_Int, NULL },
|
||||
{ SPA_FORMAT_VIDEO_size, SPA_TYPE_Rectangle, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "size", NULL },
|
||||
{ SPA_FORMAT_VIDEO_framerate, SPA_TYPE_Fraction, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "framerate", NULL },
|
||||
{ SPA_FORMAT_VIDEO_maxFramerate, SPA_TYPE_Fraction, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "maxFramerate", NULL },
|
||||
{ SPA_FORMAT_VIDEO_views, SPA_TYPE_Int, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "views", NULL },
|
||||
{ SPA_FORMAT_VIDEO_interlaceMode, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "interlaceMode", NULL },
|
||||
{ SPA_FORMAT_VIDEO_pixelAspectRatio, SPA_TYPE_Fraction, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "pixelAspectRatio", NULL },
|
||||
{ SPA_FORMAT_VIDEO_multiviewMode, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "multiviewMode", NULL },
|
||||
{ SPA_FORMAT_VIDEO_multiviewFlags, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "multiviewFlags", NULL },
|
||||
{ SPA_FORMAT_VIDEO_chromaSite, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "chromaSite", NULL },
|
||||
{ SPA_FORMAT_VIDEO_colorRange, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "colorRange", NULL },
|
||||
{ SPA_FORMAT_VIDEO_colorMatrix, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "colorMatrix", NULL },
|
||||
{ SPA_FORMAT_VIDEO_transferFunction, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "transferFunction", NULL },
|
||||
{ SPA_FORMAT_VIDEO_colorPrimaries, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "colorPrimaries", NULL },
|
||||
{ SPA_FORMAT_VIDEO_profile, SPA_TYPE_Int, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "profile", NULL },
|
||||
{ SPA_FORMAT_VIDEO_level, SPA_TYPE_Int, SPA_TYPE_INFO_FORMAT_VIDEO_BASE "level", NULL },
|
||||
|
||||
{ SPA_FORMAT_VIDEO_H264_streamFormat, SPA_TYPE_INFO_FORMAT_VIDEO_H264_BASE "streamFormat", SPA_TYPE_Id, NULL },
|
||||
{ SPA_FORMAT_VIDEO_H264_alignment, SPA_TYPE_INFO_FORMAT_VIDEO_H264_BASE "alignment", SPA_TYPE_Id, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_FORMAT_VIDEO_H264_streamFormat, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_VIDEO_H264_BASE "streamFormat", NULL },
|
||||
{ SPA_FORMAT_VIDEO_H264_alignment, SPA_TYPE_Id, SPA_TYPE_INFO_FORMAT_VIDEO_H264_BASE "alignment", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_PARAM_Buffers SPA_TYPE_INFO_PARAM_BASE "Buffers"
|
||||
|
|
@ -255,25 +256,25 @@ static const struct spa_type_info spa_type_format[] = {
|
|||
#define SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE SPA_TYPE_INFO_PARAM_BlockInfo ":"
|
||||
|
||||
static const struct spa_type_info spa_type_param_buffers[] = {
|
||||
{ SPA_PARAM_BUFFERS_START, SPA_TYPE_INFO_PARAM_BUFFERS_BASE, SPA_TYPE_Id, spa_type_param, },
|
||||
{ SPA_PARAM_BUFFERS_buffers, SPA_TYPE_INFO_PARAM_BUFFERS_BASE "buffers", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_BUFFERS_blocks, SPA_TYPE_INFO_PARAM_BUFFERS_BASE "blocks", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_BUFFERS_size, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "size", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_BUFFERS_stride, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "stride", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_BUFFERS_align, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "align", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_PARAM_BUFFERS_START, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_BUFFERS_BASE, spa_type_param, },
|
||||
{ SPA_PARAM_BUFFERS_buffers, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BUFFERS_BASE "buffers", NULL },
|
||||
{ SPA_PARAM_BUFFERS_blocks, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BUFFERS_BASE "blocks", NULL },
|
||||
{ SPA_PARAM_BUFFERS_size, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "size", NULL },
|
||||
{ SPA_PARAM_BUFFERS_stride, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "stride", NULL },
|
||||
{ SPA_PARAM_BUFFERS_align, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_BLOCK_INFO_BASE "align", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#define SPA_TYPE_INFO_PARAM_Profile SPA_TYPE_INFO_PARAM_BASE "Profile"
|
||||
#define SPA_TYPE_INFO_PARAM_PROFILE_BASE SPA_TYPE_INFO_PARAM_Profile ":"
|
||||
|
||||
static const struct spa_type_info spa_type_param_profile[] = {
|
||||
{ SPA_PARAM_PROFILE_START, SPA_TYPE_INFO_PARAM_PROFILE_BASE, SPA_TYPE_Id, spa_type_param, },
|
||||
{ SPA_PARAM_PROFILE_index, SPA_TYPE_INFO_PARAM_PROFILE_BASE "index", SPA_TYPE_Int, NULL },
|
||||
{ SPA_PARAM_PROFILE_name, SPA_TYPE_INFO_PARAM_PROFILE_BASE "name", SPA_TYPE_String, NULL },
|
||||
{ SPA_PARAM_PROFILE_direction, SPA_TYPE_INFO_PARAM_PROFILE_BASE "direction", SPA_TYPE_Id, spa_type_direction },
|
||||
{ SPA_PARAM_PROFILE_format, SPA_TYPE_INFO_PARAM_PROFILE_BASE "format", SPA_TYPE_Object, NULL, },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_PARAM_PROFILE_START, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_PROFILE_BASE, spa_type_param, },
|
||||
{ SPA_PARAM_PROFILE_index, SPA_TYPE_Int, SPA_TYPE_INFO_PARAM_PROFILE_BASE "index", NULL },
|
||||
{ SPA_PARAM_PROFILE_name, SPA_TYPE_String, SPA_TYPE_INFO_PARAM_PROFILE_BASE "name", NULL },
|
||||
{ SPA_PARAM_PROFILE_direction, SPA_TYPE_Id, SPA_TYPE_INFO_PARAM_PROFILE_BASE "direction", spa_type_direction },
|
||||
{ SPA_PARAM_PROFILE_format, SPA_TYPE_Object, SPA_TYPE_INFO_PARAM_PROFILE_BASE "format", NULL, },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -35,84 +35,84 @@ extern "C" {
|
|||
#define SPA_TYPE_INFO_VIDEO_FORMAT_BASE SPA_TYPE_INFO_VideoFormat ":"
|
||||
|
||||
static const struct spa_type_info spa_type_video_format[] = {
|
||||
{ SPA_VIDEO_FORMAT_ENCODED, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "encoded", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_I420, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_YV12, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YV12", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_YUY2, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YUY2", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_UYVY, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "UYVY", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_AYUV, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "AYUV", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGBx, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGBx", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_BGRx, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "BGRx", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_xRGB, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "xRGB", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_xBGR, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "xBGR", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGBA, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGBA", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_BGRA, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "BGRA", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_ARGB, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "ARGB", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_ABGR, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "ABGR", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGB, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGB", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_BGR, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "BGR", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y41B, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y41B", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y42B, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y42B", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_YVYU, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YVYU", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y444, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y444", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_v210, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "v210", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_v216, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "v216", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV12, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV12", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV21, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV21", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GRAY8, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GRAY8", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GRAY16_BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GRAY16_BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GRAY16_LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GRAY16_LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_v308, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "v308", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGB16, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGB16", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_BGR16, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "BGR16", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGB15, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGB15", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_BGR15, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "BGR15", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_UYVP, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "UYVP", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_A420, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A420", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGB8P, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGB8P", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_YUV9, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YUV9", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_YVU9, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YVU9", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_IYU1, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "IYU1", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_ARGB64, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "ARGB64", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_AYUV64, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "AYUV64", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_r210, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "r210", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_I420_10BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420_10BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_I420_10LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420_10LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_I422_10BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I422_10BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_I422_10LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I422_10LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y444_10BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y444_10BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y444_10LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y444_10LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBR, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBR", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBR_10BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBR_10BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBR_10LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBR_10LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV16, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV16", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV24, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV24", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV12_64Z32, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV12_64Z32", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_A420_10BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A420_10BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_A420_10LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A420_10LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_A422_10BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A422_10BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_A422_10LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A422_10LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_A444_10BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A444_10BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_A444_10LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A444_10LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV61, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV61", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_P010_10BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "P010_10BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_P010_10LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "P010_10LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_IYU2, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "IYU2", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_VYUY, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "VYUY", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBRA, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBRA", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBRA_10BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBRA_10BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBRA_10LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBRA_10LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBR_12BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBR_12BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBR_12LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBR_12LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBRA_12BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBRA_12BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBRA_12LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBRA_12LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_I420_12BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420_12BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_I420_12LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420_12LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_I422_12BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I422_12BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_I422_12LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I422_12LE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y444_12BE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y444_12BE", SPA_TYPE_Int, NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y444_12LE, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y444_12LE", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ SPA_VIDEO_FORMAT_ENCODED, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "encoded", NULL },
|
||||
{ SPA_VIDEO_FORMAT_I420, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420", NULL },
|
||||
{ SPA_VIDEO_FORMAT_YV12, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YV12", NULL },
|
||||
{ SPA_VIDEO_FORMAT_YUY2, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YUY2", NULL },
|
||||
{ SPA_VIDEO_FORMAT_UYVY, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "UYVY", NULL },
|
||||
{ SPA_VIDEO_FORMAT_AYUV, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "AYUV", NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGBx, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGBx", NULL },
|
||||
{ SPA_VIDEO_FORMAT_BGRx, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "BGRx", NULL },
|
||||
{ SPA_VIDEO_FORMAT_xRGB, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "xRGB", NULL },
|
||||
{ SPA_VIDEO_FORMAT_xBGR, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "xBGR", NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGBA, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGBA", NULL },
|
||||
{ SPA_VIDEO_FORMAT_BGRA, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "BGRA", NULL },
|
||||
{ SPA_VIDEO_FORMAT_ARGB, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "ARGB", NULL },
|
||||
{ SPA_VIDEO_FORMAT_ABGR, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "ABGR", NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGB, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGB", NULL },
|
||||
{ SPA_VIDEO_FORMAT_BGR, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "BGR", NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y41B, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y41B", NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y42B, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y42B", NULL },
|
||||
{ SPA_VIDEO_FORMAT_YVYU, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YVYU", NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y444, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y444", NULL },
|
||||
{ SPA_VIDEO_FORMAT_v210, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "v210", NULL },
|
||||
{ SPA_VIDEO_FORMAT_v216, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "v216", NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV12, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV12", NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV21, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV21", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GRAY8, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GRAY8", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GRAY16_BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GRAY16_BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GRAY16_LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GRAY16_LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_v308, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "v308", NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGB16, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGB16", NULL },
|
||||
{ SPA_VIDEO_FORMAT_BGR16, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "BGR16", NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGB15, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGB15", NULL },
|
||||
{ SPA_VIDEO_FORMAT_BGR15, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "BGR15", NULL },
|
||||
{ SPA_VIDEO_FORMAT_UYVP, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "UYVP", NULL },
|
||||
{ SPA_VIDEO_FORMAT_A420, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A420", NULL },
|
||||
{ SPA_VIDEO_FORMAT_RGB8P, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "RGB8P", NULL },
|
||||
{ SPA_VIDEO_FORMAT_YUV9, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YUV9", NULL },
|
||||
{ SPA_VIDEO_FORMAT_YVU9, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "YVU9", NULL },
|
||||
{ SPA_VIDEO_FORMAT_IYU1, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "IYU1", NULL },
|
||||
{ SPA_VIDEO_FORMAT_ARGB64, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "ARGB64", NULL },
|
||||
{ SPA_VIDEO_FORMAT_AYUV64, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "AYUV64", NULL },
|
||||
{ SPA_VIDEO_FORMAT_r210, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "r210", NULL },
|
||||
{ SPA_VIDEO_FORMAT_I420_10BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420_10BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_I420_10LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420_10LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_I422_10BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I422_10BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_I422_10LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I422_10LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y444_10BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y444_10BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y444_10LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y444_10LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBR, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBR", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBR_10BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBR_10BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBR_10LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBR_10LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV16, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV16", NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV24, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV24", NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV12_64Z32, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV12_64Z32", NULL },
|
||||
{ SPA_VIDEO_FORMAT_A420_10BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A420_10BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_A420_10LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A420_10LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_A422_10BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A422_10BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_A422_10LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A422_10LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_A444_10BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A444_10BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_A444_10LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "A444_10LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_NV61, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "NV61", NULL },
|
||||
{ SPA_VIDEO_FORMAT_P010_10BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "P010_10BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_P010_10LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "P010_10LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_IYU2, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "IYU2", NULL },
|
||||
{ SPA_VIDEO_FORMAT_VYUY, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "VYUY", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBRA, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBRA", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBRA_10BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBRA_10BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBRA_10LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBRA_10LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBR_12BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBR_12BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBR_12LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBR_12LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBRA_12BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBRA_12BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_GBRA_12LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "GBRA_12LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_I420_12BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420_12BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_I420_12LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I420_12LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_I422_12BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I422_12BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_I422_12LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "I422_12LE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y444_12BE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y444_12BE", NULL },
|
||||
{ SPA_VIDEO_FORMAT_Y444_12LE, SPA_TYPE_Int, SPA_TYPE_INFO_VIDEO_FORMAT_BASE "Y444_12LE", NULL },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -41,12 +41,13 @@ struct spa_dict_item {
|
|||
#define SPA_DICT_ITEM_INIT(key,value) (struct spa_dict_item) { key, value }
|
||||
|
||||
struct spa_dict {
|
||||
const struct spa_dict_item *items;
|
||||
uint32_t flags;
|
||||
uint32_t n_items;
|
||||
const struct spa_dict_item *items;
|
||||
};
|
||||
|
||||
#define SPA_DICT_INIT(items,n_items) (struct spa_dict) { items, n_items }
|
||||
#define SPA_DICT_INIT_ARRAY(items) (struct spa_dict) { items, SPA_N_ELEMENTS(items) }
|
||||
#define SPA_DICT_INIT(items,n_items) (struct spa_dict) { 0, n_items, items }
|
||||
#define SPA_DICT_INIT_ARRAY(items) (struct spa_dict) { 0, SPA_N_ELEMENTS(items), items }
|
||||
|
||||
#define spa_dict_for_each(item, dict) \
|
||||
for ((item) = (dict)->items; \
|
||||
|
|
|
|||
|
|
@ -47,9 +47,9 @@ static inline bool spa_type_is_a(const char *type, const char *parent)
|
|||
#define SPA_TYPE_INFO_DIRECTION_BASE SPA_TYPE_INFO_Direction ":"
|
||||
|
||||
static const struct spa_type_info spa_type_direction[] = {
|
||||
{ SPA_DIRECTION_INPUT, SPA_TYPE_INFO_DIRECTION_BASE "Input", SPA_TYPE_Int, NULL },
|
||||
{ SPA_DIRECTION_OUTPUT, SPA_TYPE_INFO_DIRECTION_BASE "Output", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL }
|
||||
{ SPA_DIRECTION_INPUT, SPA_TYPE_Int, SPA_TYPE_INFO_DIRECTION_BASE "Input", NULL },
|
||||
{ SPA_DIRECTION_OUTPUT, SPA_TYPE_Int, SPA_TYPE_INFO_DIRECTION_BASE "Output", NULL },
|
||||
{ 0, 0, NULL, NULL }
|
||||
};
|
||||
|
||||
#include <spa/monitor/type-info.h>
|
||||
|
|
@ -62,77 +62,77 @@ static const struct spa_type_info spa_type_direction[] = {
|
|||
#define SPA_TYPE_INFO_CHOICE_BASE SPA_TYPE_INFO_Choice ":"
|
||||
|
||||
static const struct spa_type_info spa_type_choice[] = {
|
||||
{ SPA_CHOICE_None, SPA_TYPE_INFO_CHOICE_BASE "None", SPA_TYPE_Int, NULL },
|
||||
{ SPA_CHOICE_Range, SPA_TYPE_INFO_CHOICE_BASE "Range", SPA_TYPE_Int, NULL },
|
||||
{ SPA_CHOICE_Step, SPA_TYPE_INFO_CHOICE_BASE "Step", SPA_TYPE_Int, NULL },
|
||||
{ SPA_CHOICE_Enum, SPA_TYPE_INFO_CHOICE_BASE "Enum", SPA_TYPE_Int, NULL },
|
||||
{ SPA_CHOICE_Flags, SPA_TYPE_INFO_CHOICE_BASE "Flags", SPA_TYPE_Int, NULL },
|
||||
{ 0, NULL, 0, NULL }
|
||||
{ SPA_CHOICE_None, SPA_TYPE_Int, SPA_TYPE_INFO_CHOICE_BASE "None", NULL },
|
||||
{ SPA_CHOICE_Range, SPA_TYPE_Int, SPA_TYPE_INFO_CHOICE_BASE "Range", NULL },
|
||||
{ SPA_CHOICE_Step, SPA_TYPE_Int, SPA_TYPE_INFO_CHOICE_BASE "Step", NULL },
|
||||
{ SPA_CHOICE_Enum, SPA_TYPE_Int, SPA_TYPE_INFO_CHOICE_BASE "Enum", NULL },
|
||||
{ SPA_CHOICE_Flags, SPA_TYPE_Int, SPA_TYPE_INFO_CHOICE_BASE "Flags", NULL },
|
||||
{ 0, 0, NULL, NULL }
|
||||
};
|
||||
|
||||
static const struct spa_type_info spa_types[] = {
|
||||
/* Basic types */
|
||||
{ SPA_TYPE_START, SPA_TYPE_INFO_BASE, SPA_TYPE_START, NULL },
|
||||
{ SPA_TYPE_None, SPA_TYPE_INFO_BASE "None", SPA_TYPE_None, NULL },
|
||||
{ SPA_TYPE_Bool, SPA_TYPE_INFO_BASE "Bool", SPA_TYPE_Bool, NULL },
|
||||
{ SPA_TYPE_Id, SPA_TYPE_INFO_BASE "Id", SPA_TYPE_Int, NULL },
|
||||
{ SPA_TYPE_Int, SPA_TYPE_INFO_BASE "Int", SPA_TYPE_Int, NULL },
|
||||
{ SPA_TYPE_Long, SPA_TYPE_INFO_BASE "Long", SPA_TYPE_Long, NULL },
|
||||
{ SPA_TYPE_Float, SPA_TYPE_INFO_BASE "Float", SPA_TYPE_Float, NULL },
|
||||
{ SPA_TYPE_Double, SPA_TYPE_INFO_BASE "Double", SPA_TYPE_Double, NULL },
|
||||
{ SPA_TYPE_String, SPA_TYPE_INFO_BASE "String", SPA_TYPE_String, NULL },
|
||||
{ SPA_TYPE_Bytes, SPA_TYPE_INFO_BASE "Bytes", SPA_TYPE_Bytes, NULL },
|
||||
{ SPA_TYPE_Rectangle, SPA_TYPE_INFO_BASE "Rectangle", SPA_TYPE_Rectangle, NULL },
|
||||
{ SPA_TYPE_Fraction, SPA_TYPE_INFO_BASE "Fraction", SPA_TYPE_Fraction, NULL },
|
||||
{ SPA_TYPE_Bitmap, SPA_TYPE_INFO_BASE "Bitmap", SPA_TYPE_Bitmap, NULL },
|
||||
{ SPA_TYPE_Array, SPA_TYPE_INFO_BASE "Array", SPA_TYPE_Array, NULL },
|
||||
{ SPA_TYPE_Pod, SPA_TYPE_INFO_Pod, SPA_TYPE_Pod, NULL },
|
||||
{ SPA_TYPE_Struct, SPA_TYPE_INFO_Struct, SPA_TYPE_Pod, NULL },
|
||||
{ SPA_TYPE_Object, SPA_TYPE_INFO_Object, SPA_TYPE_Pod, NULL },
|
||||
{ SPA_TYPE_Sequence, SPA_TYPE_INFO_POD_BASE "Sequence", SPA_TYPE_Pod, NULL },
|
||||
{ SPA_TYPE_Pointer, SPA_TYPE_INFO_Pointer, SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_Fd, SPA_TYPE_INFO_BASE "Fd", SPA_TYPE_Fd, NULL },
|
||||
{ SPA_TYPE_Choice, SPA_TYPE_INFO_POD_BASE "Choice", SPA_TYPE_Pod, NULL },
|
||||
{ SPA_TYPE_START, SPA_TYPE_START, SPA_TYPE_INFO_BASE, NULL },
|
||||
{ SPA_TYPE_None, SPA_TYPE_None, SPA_TYPE_INFO_BASE "None", NULL },
|
||||
{ SPA_TYPE_Bool, SPA_TYPE_Bool, SPA_TYPE_INFO_BASE "Bool", NULL },
|
||||
{ SPA_TYPE_Id, SPA_TYPE_Int, SPA_TYPE_INFO_BASE "Id", NULL },
|
||||
{ SPA_TYPE_Int, SPA_TYPE_Int, SPA_TYPE_INFO_BASE "Int", NULL },
|
||||
{ SPA_TYPE_Long, SPA_TYPE_Long, SPA_TYPE_INFO_BASE "Long", NULL },
|
||||
{ SPA_TYPE_Float, SPA_TYPE_Float, SPA_TYPE_INFO_BASE "Float", NULL },
|
||||
{ SPA_TYPE_Double, SPA_TYPE_Double, SPA_TYPE_INFO_BASE "Double", NULL },
|
||||
{ SPA_TYPE_String, SPA_TYPE_String, SPA_TYPE_INFO_BASE "String", NULL },
|
||||
{ SPA_TYPE_Bytes, SPA_TYPE_Bytes, SPA_TYPE_INFO_BASE "Bytes", NULL },
|
||||
{ SPA_TYPE_Rectangle, SPA_TYPE_Rectangle, SPA_TYPE_INFO_BASE "Rectangle", NULL },
|
||||
{ SPA_TYPE_Fraction, SPA_TYPE_Fraction, SPA_TYPE_INFO_BASE "Fraction", NULL },
|
||||
{ SPA_TYPE_Bitmap, SPA_TYPE_Bitmap, SPA_TYPE_INFO_BASE "Bitmap", NULL },
|
||||
{ SPA_TYPE_Array, SPA_TYPE_Array, SPA_TYPE_INFO_BASE "Array", NULL },
|
||||
{ SPA_TYPE_Pod, SPA_TYPE_Pod, SPA_TYPE_INFO_Pod, NULL },
|
||||
{ SPA_TYPE_Struct, SPA_TYPE_Pod, SPA_TYPE_INFO_Struct, NULL },
|
||||
{ SPA_TYPE_Object, SPA_TYPE_Pod, SPA_TYPE_INFO_Object, NULL },
|
||||
{ SPA_TYPE_Sequence, SPA_TYPE_Pod, SPA_TYPE_INFO_POD_BASE "Sequence", NULL },
|
||||
{ SPA_TYPE_Pointer, SPA_TYPE_Pointer, SPA_TYPE_INFO_Pointer, NULL },
|
||||
{ SPA_TYPE_Fd, SPA_TYPE_Fd, SPA_TYPE_INFO_BASE "Fd", NULL },
|
||||
{ SPA_TYPE_Choice, SPA_TYPE_Pod, SPA_TYPE_INFO_POD_BASE "Choice", NULL },
|
||||
|
||||
{ SPA_TYPE_POINTER_START, SPA_TYPE_INFO_Pointer, SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_POINTER_Buffer, SPA_TYPE_INFO_POINTER_BASE "Buffer", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_POINTER_Meta, SPA_TYPE_INFO_POINTER_BASE "Meta", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_POINTER_Dict, SPA_TYPE_INFO_POINTER_BASE "Dict", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_POINTER_START, SPA_TYPE_Pointer, SPA_TYPE_INFO_Pointer, NULL },
|
||||
{ SPA_TYPE_POINTER_Buffer, SPA_TYPE_Pointer, SPA_TYPE_INFO_POINTER_BASE "Buffer", NULL },
|
||||
{ SPA_TYPE_POINTER_Meta, SPA_TYPE_Pointer, SPA_TYPE_INFO_POINTER_BASE "Meta", NULL },
|
||||
{ SPA_TYPE_POINTER_Dict, SPA_TYPE_Pointer, SPA_TYPE_INFO_POINTER_BASE "Dict", NULL },
|
||||
|
||||
{ SPA_TYPE_INTERFACE_START, SPA_TYPE_INFO_Interface, SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_Handle, SPA_TYPE_INFO_INTERFACE_BASE "Handle", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_HandleFactory, SPA_TYPE_INFO_INTERFACE_BASE "HandleFactory", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_Log, SPA_TYPE_INFO_INTERFACE_BASE "Log", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_Loop, SPA_TYPE_INFO_INTERFACE_BASE "Loop", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_LoopControl, SPA_TYPE_INFO_INTERFACE_BASE "LoopControl", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_LoopUtils, SPA_TYPE_INFO_INTERFACE_BASE "LoopUtils", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_DataLoop, SPA_TYPE_INFO_INTERFACE_BASE "DataLoop", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_MainLoop, SPA_TYPE_INFO_INTERFACE_BASE "MainLoop", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_DBus, SPA_TYPE_INFO_INTERFACE_BASE "DBus", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_Monitor, SPA_TYPE_INFO_INTERFACE_BASE "Monitor", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_Node, SPA_TYPE_INFO_INTERFACE_BASE "Node", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_Device, SPA_TYPE_INFO_INTERFACE_BASE "Device", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_CPU, SPA_TYPE_INFO_INTERFACE_BASE "CPU", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_TYPE_INTERFACE_START, SPA_TYPE_Pointer, SPA_TYPE_INFO_Interface, NULL },
|
||||
{ SPA_TYPE_INTERFACE_Handle, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "Handle", NULL },
|
||||
{ SPA_TYPE_INTERFACE_HandleFactory, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "HandleFactory", NULL },
|
||||
{ SPA_TYPE_INTERFACE_Log, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "Log", NULL },
|
||||
{ SPA_TYPE_INTERFACE_Loop, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "Loop", NULL },
|
||||
{ SPA_TYPE_INTERFACE_LoopControl, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "LoopControl", NULL },
|
||||
{ SPA_TYPE_INTERFACE_LoopUtils, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "LoopUtils", NULL },
|
||||
{ SPA_TYPE_INTERFACE_DataLoop, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "DataLoop", NULL },
|
||||
{ SPA_TYPE_INTERFACE_MainLoop, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "MainLoop", NULL },
|
||||
{ SPA_TYPE_INTERFACE_DBus, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "DBus", NULL },
|
||||
{ SPA_TYPE_INTERFACE_Monitor, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "Monitor", NULL },
|
||||
{ SPA_TYPE_INTERFACE_Node, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "Node", NULL },
|
||||
{ SPA_TYPE_INTERFACE_Device, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "Device", NULL },
|
||||
{ SPA_TYPE_INTERFACE_CPU, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "CPU", NULL },
|
||||
|
||||
{ SPA_TYPE_EVENT_START, SPA_TYPE_INFO_Event, SPA_TYPE_Object, NULL },
|
||||
{ SPA_TYPE_EVENT_Monitor, SPA_TYPE_INFO_EVENT_BASE "Monitor", SPA_TYPE_Object, spa_type_monitor_event },
|
||||
{ SPA_TYPE_EVENT_Node, SPA_TYPE_INFO_EVENT_BASE "Node", SPA_TYPE_Object, spa_type_node_event },
|
||||
{ SPA_TYPE_EVENT_START, SPA_TYPE_Object, SPA_TYPE_INFO_Event, NULL },
|
||||
{ SPA_TYPE_EVENT_Monitor, SPA_TYPE_Object, SPA_TYPE_INFO_EVENT_BASE "Monitor", spa_type_monitor_event },
|
||||
{ SPA_TYPE_EVENT_Node, SPA_TYPE_Object, SPA_TYPE_INFO_EVENT_BASE "Node", spa_type_node_event },
|
||||
|
||||
{ SPA_TYPE_COMMAND_START, SPA_TYPE_INFO_Command, SPA_TYPE_Object, NULL },
|
||||
{ SPA_TYPE_COMMAND_Node, SPA_TYPE_INFO_COMMAND_BASE "Node", SPA_TYPE_Object, spa_type_node_command },
|
||||
{ SPA_TYPE_COMMAND_START, SPA_TYPE_Object, SPA_TYPE_INFO_Command, NULL },
|
||||
{ SPA_TYPE_COMMAND_Node, SPA_TYPE_Object, SPA_TYPE_INFO_COMMAND_BASE "Node", spa_type_node_command },
|
||||
|
||||
{ SPA_TYPE_OBJECT_START, SPA_TYPE_INFO_Object, SPA_TYPE_Object, NULL },
|
||||
{ SPA_TYPE_OBJECT_MonitorItem, SPA_TYPE_INFO_MonitorItem, SPA_TYPE_Object, spa_type_monitor_item },
|
||||
{ SPA_TYPE_OBJECT_ParamList, SPA_TYPE_INFO_PARAM_List, SPA_TYPE_Object, spa_type_param_list, },
|
||||
{ SPA_TYPE_OBJECT_PropInfo, SPA_TYPE_INFO_PropInfo, SPA_TYPE_Object, spa_type_prop_info, },
|
||||
{ SPA_TYPE_OBJECT_Props, SPA_TYPE_INFO_Props, SPA_TYPE_Object, spa_type_props },
|
||||
{ SPA_TYPE_OBJECT_Format, SPA_TYPE_INFO_Format, SPA_TYPE_Object, spa_type_format },
|
||||
{ SPA_TYPE_OBJECT_ParamBuffers, SPA_TYPE_INFO_PARAM_Buffers, SPA_TYPE_Object, spa_type_param_buffers, },
|
||||
{ SPA_TYPE_OBJECT_ParamMeta, SPA_TYPE_INFO_PARAM_Meta, SPA_TYPE_Object, spa_type_param_meta },
|
||||
{ SPA_TYPE_OBJECT_ParamIO, SPA_TYPE_INFO_PARAM_IO, SPA_TYPE_Object, spa_type_param_io },
|
||||
{ SPA_TYPE_OBJECT_ParamProfile, SPA_TYPE_INFO_PARAM_Profile, SPA_TYPE_Object, spa_type_param_profile },
|
||||
{ SPA_TYPE_OBJECT_START, SPA_TYPE_Object, SPA_TYPE_INFO_Object, NULL },
|
||||
{ SPA_TYPE_OBJECT_MonitorItem, SPA_TYPE_Object, SPA_TYPE_INFO_MonitorItem, spa_type_monitor_item },
|
||||
{ SPA_TYPE_OBJECT_ParamList, SPA_TYPE_Object, SPA_TYPE_INFO_PARAM_List, spa_type_param_list, },
|
||||
{ SPA_TYPE_OBJECT_PropInfo, SPA_TYPE_Object, SPA_TYPE_INFO_PropInfo, spa_type_prop_info, },
|
||||
{ SPA_TYPE_OBJECT_Props, SPA_TYPE_Object, SPA_TYPE_INFO_Props, spa_type_props },
|
||||
{ SPA_TYPE_OBJECT_Format, SPA_TYPE_Object, SPA_TYPE_INFO_Format, spa_type_format },
|
||||
{ SPA_TYPE_OBJECT_ParamBuffers, SPA_TYPE_Object, SPA_TYPE_INFO_PARAM_Buffers, spa_type_param_buffers, },
|
||||
{ SPA_TYPE_OBJECT_ParamMeta, SPA_TYPE_Object, SPA_TYPE_INFO_PARAM_Meta, spa_type_param_meta },
|
||||
{ SPA_TYPE_OBJECT_ParamIO, SPA_TYPE_Object, SPA_TYPE_INFO_PARAM_IO, spa_type_param_io },
|
||||
{ SPA_TYPE_OBJECT_ParamProfile, SPA_TYPE_Object, SPA_TYPE_INFO_PARAM_Profile, spa_type_param_profile },
|
||||
|
||||
{ 0, NULL, 0, NULL }
|
||||
{ 0, 0, NULL, NULL }
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -141,8 +141,8 @@ enum {
|
|||
|
||||
struct spa_type_info {
|
||||
uint32_t type;
|
||||
const char *name;
|
||||
uint32_t parent;
|
||||
const char *name;
|
||||
const struct spa_type_info *values;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -806,10 +806,7 @@ static const struct spa_dict_item info_items[] = {
|
|||
{ "factory.description", "Play audio with the alsa API" },
|
||||
};
|
||||
|
||||
static const struct spa_dict info = {
|
||||
info_items,
|
||||
SPA_N_ELEMENTS(info_items),
|
||||
};
|
||||
static const struct spa_dict info = SPA_DICT_INIT_ARRAY(info_items);
|
||||
|
||||
const struct spa_handle_factory spa_alsa_sink_factory = {
|
||||
SPA_VERSION_HANDLE_FACTORY,
|
||||
|
|
|
|||
|
|
@ -816,10 +816,7 @@ static const struct spa_dict_item info_items[] = {
|
|||
{ "factory.description", "Record audio with the alsa API" },
|
||||
};
|
||||
|
||||
static const struct spa_dict info = {
|
||||
info_items,
|
||||
SPA_N_ELEMENTS(info_items)
|
||||
};
|
||||
static const struct spa_dict info = SPA_DICT_INIT_ARRAY(info_items);
|
||||
|
||||
const struct spa_handle_factory spa_alsa_source_factory = {
|
||||
SPA_VERSION_HANDLE_FACTORY,
|
||||
|
|
|
|||
|
|
@ -1108,10 +1108,7 @@ static const struct spa_dict_item info_items[] = {
|
|||
{ "factory.description", "Generate an audio test pattern" },
|
||||
};
|
||||
|
||||
static const struct spa_dict info = {
|
||||
info_items,
|
||||
SPA_N_ELEMENTS(info_items)
|
||||
};
|
||||
static const struct spa_dict info = SPA_DICT_INIT_ARRAY(info_items);
|
||||
|
||||
const struct spa_handle_factory spa_audiotestsrc_factory = {
|
||||
SPA_VERSION_HANDLE_FACTORY,
|
||||
|
|
|
|||
|
|
@ -1421,10 +1421,7 @@ static const struct spa_dict_item info_items[] = {
|
|||
{ "factory.description", "Play audio with the a2dp" },
|
||||
};
|
||||
|
||||
static const struct spa_dict info = {
|
||||
info_items,
|
||||
SPA_N_ELEMENTS(info_items),
|
||||
};
|
||||
static const struct spa_dict info = SPA_DICT_INIT_ARRAY(info_items);
|
||||
|
||||
struct spa_handle_factory spa_a2dp_sink_factory = {
|
||||
SPA_VERSION_HANDLE_FACTORY,
|
||||
|
|
|
|||
|
|
@ -982,10 +982,7 @@ static const struct spa_dict_item info_items[] = {
|
|||
{ "factory.description", "Generate a video test pattern" },
|
||||
};
|
||||
|
||||
static const struct spa_dict info = {
|
||||
info_items,
|
||||
SPA_N_ELEMENTS(info_items)
|
||||
};
|
||||
static const struct spa_dict info = SPA_DICT_INIT_ARRAY(info_items);
|
||||
|
||||
const struct spa_handle_factory spa_videotestsrc_factory = {
|
||||
SPA_VERSION_HANDLE_FACTORY,
|
||||
|
|
|
|||
|
|
@ -919,12 +919,12 @@ static const struct pw_protocol_native_demarshal pw_protocol_native_client_node_
|
|||
static const struct pw_protocol_marshal pw_protocol_native_client_node_marshal = {
|
||||
PW_TYPE_INTERFACE_ClientNode,
|
||||
PW_VERSION_CLIENT_NODE,
|
||||
PW_CLIENT_NODE_PROXY_METHOD_NUM,
|
||||
PW_CLIENT_NODE_PROXY_EVENT_NUM,
|
||||
&pw_protocol_native_client_node_method_marshal,
|
||||
&pw_protocol_native_client_node_method_demarshal,
|
||||
PW_CLIENT_NODE_PROXY_METHOD_NUM,
|
||||
&pw_protocol_native_client_node_event_marshal,
|
||||
pw_protocol_native_client_node_event_demarshal,
|
||||
PW_CLIENT_NODE_PROXY_EVENT_NUM,
|
||||
};
|
||||
|
||||
struct pw_protocol *pw_protocol_native_ext_client_node_init(struct pw_core *core)
|
||||
|
|
|
|||
|
|
@ -1500,12 +1500,12 @@ static const struct pw_protocol_native_demarshal pw_protocol_native_core_event_d
|
|||
static const struct pw_protocol_marshal pw_protocol_native_core_marshal = {
|
||||
PW_TYPE_INTERFACE_Core,
|
||||
PW_VERSION_CORE,
|
||||
PW_CORE_PROXY_METHOD_NUM,
|
||||
PW_CORE_PROXY_EVENT_NUM,
|
||||
&pw_protocol_native_core_method_marshal,
|
||||
pw_protocol_native_core_method_demarshal,
|
||||
PW_CORE_PROXY_METHOD_NUM,
|
||||
&pw_protocol_native_core_event_marshal,
|
||||
pw_protocol_native_core_event_demarshal,
|
||||
PW_CORE_PROXY_EVENT_NUM
|
||||
};
|
||||
|
||||
static const struct pw_registry_proxy_methods pw_protocol_native_registry_method_marshal = {
|
||||
|
|
@ -1533,12 +1533,12 @@ static const struct pw_protocol_native_demarshal pw_protocol_native_registry_eve
|
|||
const struct pw_protocol_marshal pw_protocol_native_registry_marshal = {
|
||||
PW_TYPE_INTERFACE_Registry,
|
||||
PW_VERSION_REGISTRY,
|
||||
PW_REGISTRY_PROXY_METHOD_NUM,
|
||||
PW_REGISTRY_PROXY_EVENT_NUM,
|
||||
&pw_protocol_native_registry_method_marshal,
|
||||
pw_protocol_native_registry_method_demarshal,
|
||||
PW_REGISTRY_PROXY_METHOD_NUM,
|
||||
&pw_protocol_native_registry_event_marshal,
|
||||
pw_protocol_native_registry_event_demarshal,
|
||||
PW_REGISTRY_PROXY_EVENT_NUM,
|
||||
};
|
||||
|
||||
static const struct pw_module_proxy_events pw_protocol_native_module_event_marshal = {
|
||||
|
|
@ -1553,10 +1553,11 @@ static const struct pw_protocol_native_demarshal pw_protocol_native_module_event
|
|||
const struct pw_protocol_marshal pw_protocol_native_module_marshal = {
|
||||
PW_TYPE_INTERFACE_Module,
|
||||
PW_VERSION_MODULE,
|
||||
NULL, NULL, 0,
|
||||
0,
|
||||
PW_MODULE_PROXY_EVENT_NUM,
|
||||
NULL, NULL,
|
||||
&pw_protocol_native_module_event_marshal,
|
||||
pw_protocol_native_module_event_demarshal,
|
||||
PW_MODULE_PROXY_EVENT_NUM,
|
||||
};
|
||||
|
||||
static const struct pw_factory_proxy_events pw_protocol_native_factory_event_marshal = {
|
||||
|
|
@ -1571,10 +1572,11 @@ static const struct pw_protocol_native_demarshal pw_protocol_native_factory_even
|
|||
const struct pw_protocol_marshal pw_protocol_native_factory_marshal = {
|
||||
PW_TYPE_INTERFACE_Factory,
|
||||
PW_VERSION_FACTORY,
|
||||
NULL, NULL, 0,
|
||||
0,
|
||||
PW_FACTORY_PROXY_EVENT_NUM,
|
||||
NULL, NULL,
|
||||
&pw_protocol_native_factory_event_marshal,
|
||||
pw_protocol_native_factory_event_demarshal,
|
||||
PW_FACTORY_PROXY_EVENT_NUM,
|
||||
};
|
||||
|
||||
static const struct pw_device_proxy_methods pw_protocol_native_device_method_marshal = {
|
||||
|
|
@ -1602,12 +1604,12 @@ static const struct pw_protocol_native_demarshal pw_protocol_native_device_event
|
|||
static const struct pw_protocol_marshal pw_protocol_native_device_marshal = {
|
||||
PW_TYPE_INTERFACE_Device,
|
||||
PW_VERSION_DEVICE,
|
||||
PW_DEVICE_PROXY_METHOD_NUM,
|
||||
PW_DEVICE_PROXY_EVENT_NUM,
|
||||
&pw_protocol_native_device_method_marshal,
|
||||
pw_protocol_native_device_method_demarshal,
|
||||
PW_DEVICE_PROXY_METHOD_NUM,
|
||||
&pw_protocol_native_device_event_marshal,
|
||||
pw_protocol_native_device_event_demarshal,
|
||||
PW_DEVICE_PROXY_EVENT_NUM,
|
||||
};
|
||||
|
||||
static const struct pw_node_proxy_methods pw_protocol_native_node_method_marshal = {
|
||||
|
|
@ -1637,12 +1639,12 @@ static const struct pw_protocol_native_demarshal pw_protocol_native_node_event_d
|
|||
static const struct pw_protocol_marshal pw_protocol_native_node_marshal = {
|
||||
PW_TYPE_INTERFACE_Node,
|
||||
PW_VERSION_NODE,
|
||||
PW_NODE_PROXY_METHOD_NUM,
|
||||
PW_NODE_PROXY_EVENT_NUM,
|
||||
&pw_protocol_native_node_method_marshal,
|
||||
pw_protocol_native_node_method_demarshal,
|
||||
PW_NODE_PROXY_METHOD_NUM,
|
||||
&pw_protocol_native_node_event_marshal,
|
||||
pw_protocol_native_node_event_demarshal,
|
||||
PW_NODE_PROXY_EVENT_NUM,
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -1669,12 +1671,12 @@ static const struct pw_protocol_native_demarshal pw_protocol_native_port_event_d
|
|||
static const struct pw_protocol_marshal pw_protocol_native_port_marshal = {
|
||||
PW_TYPE_INTERFACE_Port,
|
||||
PW_VERSION_PORT,
|
||||
PW_PORT_PROXY_METHOD_NUM,
|
||||
PW_PORT_PROXY_EVENT_NUM,
|
||||
&pw_protocol_native_port_method_marshal,
|
||||
pw_protocol_native_port_method_demarshal,
|
||||
PW_PORT_PROXY_METHOD_NUM,
|
||||
&pw_protocol_native_port_event_marshal,
|
||||
pw_protocol_native_port_event_demarshal,
|
||||
PW_PORT_PROXY_EVENT_NUM,
|
||||
};
|
||||
|
||||
static const struct pw_client_proxy_methods pw_protocol_native_client_method_marshal = {
|
||||
|
|
@ -1706,12 +1708,12 @@ static const struct pw_protocol_native_demarshal pw_protocol_native_client_event
|
|||
static const struct pw_protocol_marshal pw_protocol_native_client_marshal = {
|
||||
PW_TYPE_INTERFACE_Client,
|
||||
PW_VERSION_CLIENT,
|
||||
PW_CLIENT_PROXY_METHOD_NUM,
|
||||
PW_CLIENT_PROXY_EVENT_NUM,
|
||||
&pw_protocol_native_client_method_marshal,
|
||||
pw_protocol_native_client_method_demarshal,
|
||||
PW_CLIENT_PROXY_METHOD_NUM,
|
||||
&pw_protocol_native_client_event_marshal,
|
||||
pw_protocol_native_client_event_demarshal,
|
||||
PW_CLIENT_PROXY_EVENT_NUM,
|
||||
};
|
||||
|
||||
static const struct pw_link_proxy_events pw_protocol_native_link_event_marshal = {
|
||||
|
|
@ -1726,10 +1728,11 @@ static const struct pw_protocol_native_demarshal pw_protocol_native_link_event_d
|
|||
static const struct pw_protocol_marshal pw_protocol_native_link_marshal = {
|
||||
PW_TYPE_INTERFACE_Link,
|
||||
PW_VERSION_LINK,
|
||||
NULL, NULL, 0,
|
||||
0,
|
||||
PW_LINK_PROXY_EVENT_NUM,
|
||||
NULL, NULL,
|
||||
&pw_protocol_native_link_event_marshal,
|
||||
pw_protocol_native_link_event_demarshal,
|
||||
PW_LINK_PROXY_EVENT_NUM,
|
||||
};
|
||||
|
||||
void pw_protocol_native_init(struct pw_protocol *protocol)
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@ struct pw_core_info *pw_core_info_update(struct pw_core_info *info,
|
|||
return NULL;
|
||||
}
|
||||
info->id = update->id;
|
||||
info->cookie = update->cookie;
|
||||
info->change_mask = update->change_mask;
|
||||
|
||||
if (update->change_mask & PW_CORE_CHANGE_MASK_USER_NAME) {
|
||||
|
|
@ -154,8 +155,6 @@ struct pw_core_info *pw_core_info_update(struct pw_core_info *info,
|
|||
free((void *) info->name);
|
||||
info->name = update->name ? strdup(update->name) : NULL;
|
||||
}
|
||||
if (update->change_mask & PW_CORE_CHANGE_MASK_COOKIE)
|
||||
info->cookie = update->cookie;
|
||||
if (update->change_mask & PW_CORE_CHANGE_MASK_PROPS) {
|
||||
if (info->props)
|
||||
pw_spa_dict_destroy(info->props);
|
||||
|
|
|
|||
|
|
@ -80,19 +80,18 @@ const char * pw_link_state_as_string(enum pw_link_state state);
|
|||
/** The core information. Extra information can be added in later versions \memberof pw_introspect */
|
||||
struct pw_core_info {
|
||||
uint32_t id; /**< id of the global */
|
||||
uint32_t cookie; /**< a random cookie for identifying this instance of PipeWire */
|
||||
#define PW_CORE_CHANGE_MASK_USER_NAME (1 << 0)
|
||||
#define PW_CORE_CHANGE_MASK_HOST_NAME (1 << 1)
|
||||
#define PW_CORE_CHANGE_MASK_VERSION (1 << 2)
|
||||
#define PW_CORE_CHANGE_MASK_NAME (1 << 3)
|
||||
#define PW_CORE_CHANGE_MASK_COOKIE (1 << 4)
|
||||
#define PW_CORE_CHANGE_MASK_PROPS (1 << 5)
|
||||
#define PW_CORE_CHANGE_MASK_PROPS (1 << 4)
|
||||
#define PW_CORE_CHANGE_MASK_ALL (~0)
|
||||
uint64_t change_mask; /**< bitfield of changed fields since last call */
|
||||
const char *user_name; /**< name of the user that started the core */
|
||||
const char *host_name; /**< name of the machine the core is running on */
|
||||
const char *version; /**< version of the core */
|
||||
const char *name; /**< name of the core */
|
||||
uint32_t cookie; /**< a random cookie for identifying this instance of PipeWire */
|
||||
struct spa_dict *props; /**< extra properties */
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -43,29 +43,29 @@
|
|||
#define MAX_SUPPORT 32
|
||||
|
||||
struct plugin {
|
||||
int ref;
|
||||
struct spa_list link;
|
||||
char *filename;
|
||||
void *hnd;
|
||||
spa_handle_factory_enum_func_t enum_func;
|
||||
struct spa_list handles;
|
||||
int ref;
|
||||
};
|
||||
|
||||
struct handle {
|
||||
int ref;
|
||||
struct spa_list link;
|
||||
struct plugin *plugin;
|
||||
const char *factory_name;
|
||||
struct spa_handle *handle;
|
||||
struct spa_list interfaces;
|
||||
int ref;
|
||||
};
|
||||
|
||||
struct interface {
|
||||
int ref;
|
||||
struct spa_list link;
|
||||
struct handle *handle;
|
||||
uint32_t type;
|
||||
void *iface;
|
||||
uint32_t type;
|
||||
int ref;
|
||||
};
|
||||
|
||||
struct registry {
|
||||
|
|
@ -77,8 +77,8 @@ struct support {
|
|||
const char *plugin_dir;
|
||||
struct plugin *support_plugin;
|
||||
struct spa_support support[MAX_SUPPORT];
|
||||
uint32_t n_support;
|
||||
struct registry *registry;
|
||||
uint32_t n_support;
|
||||
};
|
||||
|
||||
static struct registry global_registry;
|
||||
|
|
@ -634,18 +634,18 @@ const char* pw_get_library_version(void)
|
|||
}
|
||||
|
||||
static const struct spa_type_info type_info[] = {
|
||||
{ PW_TYPE_INTERFACE_Core, PW_TYPE_INFO_INTERFACE_BASE "Core", SPA_TYPE_Pointer, NULL },
|
||||
{ PW_TYPE_INTERFACE_Registry, PW_TYPE_INFO_INTERFACE_BASE "Registry", SPA_TYPE_Pointer, NULL },
|
||||
{ PW_TYPE_INTERFACE_Node, PW_TYPE_INFO_INTERFACE_BASE "Node", SPA_TYPE_Pointer, NULL },
|
||||
{ PW_TYPE_INTERFACE_Port, PW_TYPE_INFO_INTERFACE_BASE "Port", SPA_TYPE_Pointer, NULL },
|
||||
{ PW_TYPE_INTERFACE_Factory, PW_TYPE_INFO_INTERFACE_BASE "Factory", SPA_TYPE_Pointer, NULL },
|
||||
{ PW_TYPE_INTERFACE_Link, PW_TYPE_INFO_INTERFACE_BASE "Link", SPA_TYPE_Pointer, NULL },
|
||||
{ PW_TYPE_INTERFACE_Client, PW_TYPE_INFO_INTERFACE_BASE "Client", SPA_TYPE_Pointer, NULL },
|
||||
{ PW_TYPE_INTERFACE_Module, PW_TYPE_INFO_INTERFACE_BASE "Module", SPA_TYPE_Pointer, NULL },
|
||||
{ PW_TYPE_INTERFACE_ClientNode, PW_TYPE_INFO_INTERFACE_BASE "ClientNode", SPA_TYPE_Pointer, NULL },
|
||||
{ PW_TYPE_INTERFACE_Device, PW_TYPE_INFO_INTERFACE_BASE "Device", SPA_TYPE_Pointer, NULL },
|
||||
{ SPA_ID_INVALID, "spa_types", SPA_ID_INVALID, spa_types },
|
||||
{ 0, NULL, 0, NULL },
|
||||
{ PW_TYPE_INTERFACE_Core, SPA_TYPE_Pointer, PW_TYPE_INFO_INTERFACE_BASE "Core", NULL },
|
||||
{ PW_TYPE_INTERFACE_Registry, SPA_TYPE_Pointer, PW_TYPE_INFO_INTERFACE_BASE "Registry", NULL },
|
||||
{ PW_TYPE_INTERFACE_Node, SPA_TYPE_Pointer, PW_TYPE_INFO_INTERFACE_BASE "Node", NULL },
|
||||
{ PW_TYPE_INTERFACE_Port, SPA_TYPE_Pointer, PW_TYPE_INFO_INTERFACE_BASE "Port", NULL },
|
||||
{ PW_TYPE_INTERFACE_Factory, SPA_TYPE_Pointer, PW_TYPE_INFO_INTERFACE_BASE "Factory", NULL },
|
||||
{ PW_TYPE_INTERFACE_Link, SPA_TYPE_Pointer, PW_TYPE_INFO_INTERFACE_BASE "Link", NULL },
|
||||
{ PW_TYPE_INTERFACE_Client, SPA_TYPE_Pointer, PW_TYPE_INFO_INTERFACE_BASE "Client", NULL },
|
||||
{ PW_TYPE_INTERFACE_Module, SPA_TYPE_Pointer, PW_TYPE_INFO_INTERFACE_BASE "Module", NULL },
|
||||
{ PW_TYPE_INTERFACE_ClientNode, SPA_TYPE_Pointer, PW_TYPE_INFO_INTERFACE_BASE "ClientNode", NULL },
|
||||
{ PW_TYPE_INTERFACE_Device, SPA_TYPE_Pointer, PW_TYPE_INFO_INTERFACE_BASE "Device", NULL },
|
||||
{ SPA_ID_INVALID, SPA_ID_INVALID, "spa_types", spa_types },
|
||||
{ 0, 0, NULL, NULL },
|
||||
};
|
||||
|
||||
SPA_EXPORT
|
||||
|
|
|
|||
|
|
@ -53,10 +53,10 @@ typedef int (*pw_command_func_t) (struct pw_command *command, struct pw_core *co
|
|||
|
||||
/** \cond */
|
||||
struct pw_command {
|
||||
uint32_t id; /**< id of command */
|
||||
struct spa_list link; /**< link in list of commands */
|
||||
pw_command_func_t func;
|
||||
char **args;
|
||||
uint32_t id; /**< id of command */
|
||||
int n_args;
|
||||
};
|
||||
|
||||
|
|
@ -100,7 +100,6 @@ struct pw_client {
|
|||
struct spa_list link; /**< link in core object client list */
|
||||
struct pw_global *global; /**< global object created for this client */
|
||||
struct spa_hook global_listener;
|
||||
bool registered;
|
||||
|
||||
pw_permission_func_t permission_func; /**< get permissions of an object */
|
||||
void *permission_data; /**< data passed to permission function */
|
||||
|
|
@ -108,21 +107,22 @@ struct pw_client {
|
|||
struct pw_properties *properties; /**< Client properties */
|
||||
|
||||
struct pw_client_info info; /**< client info */
|
||||
bool ucred_valid; /**< if the ucred member is valid */
|
||||
struct ucred ucred; /**< ucred information */
|
||||
|
||||
struct pw_resource *core_resource; /**< core resource object */
|
||||
|
||||
struct pw_map objects; /**< list of resource objects */
|
||||
|
||||
bool busy;
|
||||
|
||||
struct spa_hook_list listener_list;
|
||||
|
||||
struct pw_protocol *protocol; /**< protocol in use */
|
||||
struct spa_list protocol_link; /**< link in the protocol client_list */
|
||||
|
||||
void *user_data; /**< extra user data */
|
||||
|
||||
struct ucred ucred; /**< ucred information */
|
||||
int registered:1;
|
||||
int ucred_valid:1; /**< if the ucred member is valid */
|
||||
int busy:1;
|
||||
};
|
||||
|
||||
#define pw_global_events_emit(o,m,v,...) spa_hook_list_call(&o->listener_list, struct pw_global_events, m, v, ##__VA_ARGS__)
|
||||
|
|
@ -210,8 +210,8 @@ struct pw_data_loop {
|
|||
|
||||
struct spa_source *event;
|
||||
|
||||
bool running;
|
||||
pthread_t thread;
|
||||
int running:1;
|
||||
};
|
||||
|
||||
#define pw_main_loop_events_emit(o,m,v,...) spa_hook_list_call(&o->listener_list, struct pw_main_loop_events, m, v, ##__VA_ARGS__)
|
||||
|
|
@ -223,7 +223,7 @@ struct pw_main_loop {
|
|||
struct spa_hook_list listener_list;
|
||||
struct spa_source *event;
|
||||
|
||||
bool running;
|
||||
int running:1;
|
||||
};
|
||||
|
||||
struct allocation {
|
||||
|
|
@ -258,7 +258,6 @@ struct pw_device {
|
|||
struct spa_list link; /**< link in the core device_list */
|
||||
struct pw_global *global; /**< global object for this device */
|
||||
struct spa_hook global_listener;
|
||||
bool registered;
|
||||
|
||||
struct pw_properties *properties; /**< properties of the device */
|
||||
struct pw_device_info info; /**< introspectable device info */
|
||||
|
|
@ -269,6 +268,8 @@ struct pw_device {
|
|||
struct spa_list node_list;
|
||||
|
||||
void *user_data; /**< device user_data */
|
||||
|
||||
int registered:1;
|
||||
};
|
||||
|
||||
#define pw_module_events_emit(o,m,v,...) spa_hook_list_call(&o->listener_list, struct pw_module_events, m, v, ##__VA_ARGS__)
|
||||
|
|
@ -327,21 +328,23 @@ struct pw_node {
|
|||
struct spa_list link; /**< link in core node_list */
|
||||
struct pw_global *global; /**< global for this node */
|
||||
struct spa_hook global_listener;
|
||||
bool registered;
|
||||
|
||||
struct pw_properties *properties; /**< properties of the node */
|
||||
|
||||
struct pw_node_info info; /**< introspectable node info */
|
||||
|
||||
bool enabled; /**< if the node is enabled */
|
||||
bool active; /**< if the node is active */
|
||||
bool live; /**< if the node is live */
|
||||
bool driver; /**< if the node can drive the graph */
|
||||
bool exported; /**< if the node is exported */
|
||||
bool remote; /**< if the node is implemented remotely */
|
||||
bool master; /**< a master node is one of the driver nodes that
|
||||
int registered:1;
|
||||
int enabled:1; /**< if the node is enabled */
|
||||
int active:1; /**< if the node is active */
|
||||
int live:1; /**< if the node is live */
|
||||
int driver:1; /**< if the node can drive the graph */
|
||||
int exported:1; /**< if the node is exported */
|
||||
int remote:1; /**< if the node is implemented remotely */
|
||||
int master:1; /**< a master node is one of the driver nodes that
|
||||
* is selected to drive the graph */
|
||||
|
||||
uint32_t port_user_data_size; /**< extra size for port user data */
|
||||
|
||||
struct pw_node *driver_node;
|
||||
struct pw_node *driver_root;
|
||||
struct spa_list driver_list;
|
||||
|
|
@ -349,16 +352,15 @@ struct pw_node {
|
|||
|
||||
struct spa_node *node; /**< SPA node implementation */
|
||||
|
||||
uint32_t port_user_data_size; /**< extra size for port user data */
|
||||
|
||||
struct spa_list input_ports; /**< list of input ports */
|
||||
struct pw_map input_port_map; /**< map from port_id to port */
|
||||
struct spa_list output_ports; /**< list of output ports */
|
||||
struct pw_map output_port_map; /**< map from port_id to port */
|
||||
|
||||
uint32_t n_used_input_links; /**< number of active input links */
|
||||
uint32_t idle_used_input_links; /**< number of active input to be idle */
|
||||
uint32_t n_ready_input_links; /**< number of ready input links */
|
||||
|
||||
struct spa_list output_ports; /**< list of output ports */
|
||||
struct pw_map output_port_map; /**< map from port_id to port */
|
||||
uint32_t n_used_output_links; /**< number of active output links */
|
||||
uint32_t idle_used_output_links; /**< number of active output to be idle */
|
||||
uint32_t n_ready_output_links; /**< number of ready output links */
|
||||
|
|
@ -430,12 +432,11 @@ struct pw_port {
|
|||
enum pw_direction direction; /**< port direction */
|
||||
uint32_t port_id; /**< port id */
|
||||
|
||||
enum pw_port_state state; /**< state of the port */
|
||||
|
||||
struct pw_properties *properties; /**< properties of the port */
|
||||
struct pw_port_info info;
|
||||
|
||||
enum pw_port_state state; /**< state of the port */
|
||||
|
||||
bool allocated; /**< if buffers are allocated */
|
||||
struct allocation allocation;
|
||||
|
||||
struct spa_list links; /**< list of \ref pw_link */
|
||||
|
|
@ -451,6 +452,9 @@ struct pw_port {
|
|||
#define PW_PORT_MIX_FLAG_MULTI (1<<0) /**< multi input or output */
|
||||
#define PW_PORT_MIX_FLAG_MIX_ONLY (1<<1) /**< only negotiate mix ports */
|
||||
uint32_t mix_flags; /**< flags for the mixing */
|
||||
|
||||
int allocated:1; /**< if buffers are allocated */
|
||||
|
||||
struct pw_map mix_port_map; /**< map from port_id from mixer */
|
||||
uint32_t n_mix;
|
||||
uint32_t n_mix_configure;
|
||||
|
|
@ -483,11 +487,9 @@ struct pw_link {
|
|||
struct spa_list link; /**< link in core link_list */
|
||||
struct pw_global *global; /**< global for this link */
|
||||
struct spa_hook global_listener;
|
||||
bool registered;
|
||||
|
||||
struct pw_link_info info; /**< introspectable link info */
|
||||
struct pw_properties *properties; /**< extra link properties */
|
||||
bool feedback;
|
||||
|
||||
struct spa_io_buffers *io; /**< link io area */
|
||||
|
||||
|
|
@ -505,6 +507,9 @@ struct pw_link {
|
|||
} rt;
|
||||
|
||||
void *user_data;
|
||||
|
||||
int registered:1;
|
||||
int feedback:1;
|
||||
};
|
||||
|
||||
#define pw_resource_events_emit(o,m,v,...) spa_hook_list_call(&o->listener_list, struct pw_resource_events, m, v, ##__VA_ARGS__)
|
||||
|
|
@ -593,10 +598,10 @@ struct pw_stream {
|
|||
struct spa_list link; /**< link in the remote */
|
||||
|
||||
char *name; /**< the name of the stream */
|
||||
uint32_t node_id; /**< node id for remote node, available from
|
||||
* CONFIGURE state and higher */
|
||||
struct pw_properties *properties; /**< properties of the stream */
|
||||
|
||||
uint32_t node_id; /**< node id for remote node, available from
|
||||
* CONFIGURE state and higher */
|
||||
enum pw_stream_state state; /**< stream state */
|
||||
char *error; /**< error reason when state is in error */
|
||||
|
||||
|
|
@ -615,7 +620,6 @@ struct pw_factory {
|
|||
struct spa_list link; /**< link in core node_factory_list */
|
||||
struct pw_global *global; /**< global for this factory */
|
||||
struct spa_hook global_listener;
|
||||
bool registered;
|
||||
|
||||
struct pw_factory_info info; /**< introspectable factory info */
|
||||
struct pw_properties *properties; /**< properties of the factory */
|
||||
|
|
@ -626,6 +630,8 @@ struct pw_factory {
|
|||
void *implementation_data;
|
||||
|
||||
void *user_data;
|
||||
|
||||
int registered:1;
|
||||
};
|
||||
|
||||
#define pw_control_events_emit(c,m,v,...) spa_hook_list_call(&c->listener_list, struct pw_control_events, m, v, ##__VA_ARGS__)
|
||||
|
|
|
|||
|
|
@ -75,12 +75,12 @@ struct pw_protocol_server {
|
|||
struct pw_protocol_marshal {
|
||||
uint32_t type; /**< interface type */
|
||||
uint32_t version; /**< version */
|
||||
uint32_t n_methods; /**< number of methods in the interface */
|
||||
uint32_t n_events; /**< number of events in the interface */
|
||||
const void *method_marshal;
|
||||
const void *method_demarshal;
|
||||
uint32_t n_methods; /**< number of methods in the interface */
|
||||
const void *event_marshal;
|
||||
const void *event_demarshal;
|
||||
uint32_t n_events; /**< number of events in the interface */
|
||||
};
|
||||
|
||||
struct pw_protocol_implementaton {
|
||||
|
|
|
|||
|
|
@ -80,8 +80,8 @@ struct param {
|
|||
#define DEFAULT_VOLUME 1.0
|
||||
|
||||
struct props {
|
||||
bool changed;
|
||||
float volume;
|
||||
int changed:1;
|
||||
};
|
||||
|
||||
static void reset_props(struct props *props)
|
||||
|
|
@ -101,7 +101,6 @@ struct stream {
|
|||
enum spa_direction direction;
|
||||
enum pw_stream_flags flags;
|
||||
|
||||
bool async_connect;
|
||||
struct spa_hook remote_listener;
|
||||
|
||||
struct pw_node *node;
|
||||
|
|
@ -112,27 +111,28 @@ struct stream {
|
|||
void *callbacks_data;
|
||||
struct spa_io_buffers *io;
|
||||
struct spa_io_sequence *io_control;
|
||||
uint32_t io_control_size;
|
||||
struct spa_io_sequence *io_notify;
|
||||
uint32_t io_notify_size;
|
||||
struct spa_io_position *position;
|
||||
uint32_t io_control_size;
|
||||
uint32_t io_notify_size;
|
||||
|
||||
struct pw_array params;
|
||||
|
||||
struct buffer buffers[MAX_BUFFERS];
|
||||
uint32_t n_buffers;
|
||||
|
||||
uint32_t pending_seq;
|
||||
|
||||
struct queue dequeued;
|
||||
struct queue queued;
|
||||
|
||||
uint32_t pending_seq;
|
||||
bool disconnecting;
|
||||
|
||||
bool free_data;
|
||||
struct data data;
|
||||
|
||||
uintptr_t seq;
|
||||
struct pw_time time;
|
||||
|
||||
int async_connect:1;
|
||||
int disconnecting:1;
|
||||
int free_data:1;
|
||||
};
|
||||
|
||||
static struct param *add_param(struct pw_stream *stream,
|
||||
|
|
|
|||
|
|
@ -43,7 +43,6 @@ struct pw_thread_loop {
|
|||
pthread_cond_t cond;
|
||||
pthread_cond_t accept_cond;
|
||||
|
||||
bool running;
|
||||
pthread_t thread;
|
||||
|
||||
struct spa_hook hook;
|
||||
|
|
@ -52,6 +51,7 @@ struct pw_thread_loop {
|
|||
|
||||
int n_waiting;
|
||||
int n_waiting_for_accept;
|
||||
int running:1;
|
||||
};
|
||||
/** \endcond */
|
||||
|
||||
|
|
|
|||
|
|
@ -33,24 +33,24 @@
|
|||
|
||||
/** \cond */
|
||||
struct work_item {
|
||||
uint32_t id;
|
||||
void *obj;
|
||||
uint32_t id;
|
||||
uint32_t seq;
|
||||
int res;
|
||||
pw_work_func_t func;
|
||||
void *data;
|
||||
struct spa_list link;
|
||||
int res;
|
||||
};
|
||||
|
||||
struct pw_work_queue {
|
||||
struct pw_loop *loop;
|
||||
|
||||
struct spa_source *wakeup;
|
||||
uint32_t counter;
|
||||
|
||||
struct spa_list work_list;
|
||||
struct spa_list free_list;
|
||||
int n_queued;
|
||||
uint32_t counter;
|
||||
uint32_t n_queued;
|
||||
};
|
||||
/** \endcond */
|
||||
|
||||
|
|
|
|||
|
|
@ -151,13 +151,13 @@ static void on_core_info(void *data, const struct pw_core_info *info)
|
|||
bool print_all = true, print_mark = false;
|
||||
|
||||
printf("\ttype: %s\n", spa_debug_type_find_name(pw_type_info(), PW_TYPE_INTERFACE_Core));
|
||||
printf("\tcookie: %u\n", info->cookie);
|
||||
if (print_all) {
|
||||
printf("%c\tuser-name: \"%s\"\n", MARK_CHANGE(0), info->user_name);
|
||||
printf("%c\thost-name: \"%s\"\n", MARK_CHANGE(1), info->host_name);
|
||||
printf("%c\tversion: \"%s\"\n", MARK_CHANGE(2), info->version);
|
||||
printf("%c\tname: \"%s\"\n", MARK_CHANGE(3), info->name);
|
||||
printf("%c\tcookie: %u\n", MARK_CHANGE(4), info->cookie);
|
||||
print_properties(info->props, MARK_CHANGE(5));
|
||||
print_properties(info->props, MARK_CHANGE(4));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue