mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-19 07:00:10 -05:00
Make interface types a string
This is more in line with wayland and it allows us to create new interfaces in modules without having to add anything to the type enum. It also removes some lookups to map type_id to readable name in debug.
This commit is contained in:
parent
9657486a81
commit
f391353c7f
123 changed files with 791 additions and 1251 deletions
|
|
@ -54,7 +54,7 @@ struct spa_callbacks {
|
|||
#define SPA_CALLBACKS_INIT(_funcs,_data) (struct spa_callbacks){ _funcs, _data, }
|
||||
|
||||
struct spa_interface {
|
||||
uint32_t type;
|
||||
const char *type;
|
||||
uint32_t version;
|
||||
struct spa_callbacks cb;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -98,21 +98,6 @@ static const struct spa_type_info spa_types[] = {
|
|||
{ 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_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_System, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "System", 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_DataSystem, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "DataSystem", NULL },
|
||||
{ SPA_TYPE_INTERFACE_DataLoop, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "DataLoop", NULL },
|
||||
{ SPA_TYPE_INTERFACE_DBus, SPA_TYPE_Pointer, SPA_TYPE_INFO_INTERFACE_BASE "DBus", 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_Object, SPA_TYPE_INFO_Event, NULL },
|
||||
{ SPA_TYPE_EVENT_Device, SPA_TYPE_Object, SPA_TYPE_INFO_EVENT_BASE "Device", NULL },
|
||||
{ SPA_TYPE_EVENT_Node, SPA_TYPE_Object, SPA_TYPE_INFO_EVENT_BASE "Node", spa_type_node_event },
|
||||
|
|
|
|||
|
|
@ -63,37 +63,20 @@ enum {
|
|||
SPA_TYPE_POINTER_Dict,
|
||||
SPA_TYPE_POINTER_LAST, /**< not part of ABI */
|
||||
|
||||
/* Interfaces */
|
||||
SPA_TYPE_INTERFACE_START = 0x20000,
|
||||
SPA_TYPE_INTERFACE_Handle, /**< object handle */
|
||||
SPA_TYPE_INTERFACE_HandleFactory, /**< factory for object handles */
|
||||
SPA_TYPE_INTERFACE_Log, /**< log interface */
|
||||
SPA_TYPE_INTERFACE_System, /**< System functions */
|
||||
SPA_TYPE_INTERFACE_Loop, /**< main loop support */
|
||||
SPA_TYPE_INTERFACE_LoopControl, /**< control of loops */
|
||||
SPA_TYPE_INTERFACE_LoopUtils, /**< loop utilities */
|
||||
SPA_TYPE_INTERFACE_DataSystem, /**< System functions for data loop */
|
||||
SPA_TYPE_INTERFACE_DataLoop, /**< a data loop */
|
||||
SPA_TYPE_INTERFACE_DBus, /**< dbus connection */
|
||||
SPA_TYPE_INTERFACE_Node, /**< nodes for data processing */
|
||||
SPA_TYPE_INTERFACE_Device, /**< device managing nodes */
|
||||
SPA_TYPE_INTERFACE_CPU, /**< CPU functions */
|
||||
SPA_TYPE_INTERFACE_LAST, /**< not part of ABI */
|
||||
|
||||
/* Events */
|
||||
SPA_TYPE_EVENT_START = 0x30000,
|
||||
SPA_TYPE_EVENT_START = 0x20000,
|
||||
SPA_TYPE_EVENT_Device,
|
||||
SPA_TYPE_EVENT_Node,
|
||||
SPA_TYPE_EVENT_LAST, /**< not part of ABI */
|
||||
|
||||
/* Commands */
|
||||
SPA_TYPE_COMMAND_START = 0x40000,
|
||||
SPA_TYPE_COMMAND_START = 0x30000,
|
||||
SPA_TYPE_COMMAND_Device,
|
||||
SPA_TYPE_COMMAND_Node,
|
||||
SPA_TYPE_COMMAND_LAST, /**< not part of ABI */
|
||||
|
||||
/* Objects */
|
||||
SPA_TYPE_OBJECT_START = 0x50000,
|
||||
SPA_TYPE_OBJECT_START = 0x40000,
|
||||
SPA_TYPE_OBJECT_PropInfo,
|
||||
SPA_TYPE_OBJECT_Props,
|
||||
SPA_TYPE_OBJECT_Format,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue