Add proxy destroy

Make the current destroy method on the core for proxies to remove the
server side resource.
Make a new destroy method on the registry to destroy globals.
Remove the destroy method on the client-node
media-session: monitor the dsp and device node states to manage the
session state
This commit is contained in:
Wim Taymans 2018-09-21 16:43:11 +02:00
parent ce4cfd78e7
commit 59f10ad453
10 changed files with 276 additions and 157 deletions

View file

@ -58,8 +58,7 @@ struct pw_client_node_position {
#define PW_CLIENT_NODE_PROXY_METHOD_PORT_UPDATE 2
#define PW_CLIENT_NODE_PROXY_METHOD_SET_ACTIVE 3
#define PW_CLIENT_NODE_PROXY_METHOD_EVENT 4
#define PW_CLIENT_NODE_PROXY_METHOD_DESTROY 5
#define PW_CLIENT_NODE_PROXY_METHOD_NUM 6
#define PW_CLIENT_NODE_PROXY_METHOD_NUM 5
/** \ref pw_client_node methods */
struct pw_client_node_proxy_methods {
@ -120,10 +119,6 @@ struct pw_client_node_proxy_methods {
* \param event the event to send
*/
void (*event) (void *object, struct spa_event *event);
/**
* Destroy the client_node
*/
void (*destroy) (void *object);
};
static inline void
@ -176,13 +171,6 @@ pw_client_node_proxy_event(struct pw_client_node_proxy *p, struct spa_event *eve
pw_proxy_do((struct pw_proxy*)p, struct pw_client_node_proxy_methods, event, event);
}
static inline void
pw_client_node_proxy_destroy(struct pw_client_node_proxy *p)
{
pw_proxy_do((struct pw_proxy*)p, struct pw_client_node_proxy_methods, destroy);
}
#define PW_CLIENT_NODE_PROXY_EVENT_ADD_MEM 0
#define PW_CLIENT_NODE_PROXY_EVENT_TRANSPORT 1
#define PW_CLIENT_NODE_PROXY_EVENT_SET_PARAM 2