mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-07 13:30:09 -05:00
Work on cleanup
Add signal handlers for daemon to shut down Add destroy listeners for modules and do cleanup Fix some leaks Simplify port registration in new nodes Hide some more data structures Let the node implementation take care of the reuse_buffer signal because then we can get to the graph nodes to find the destination port. Destroy modules in core cleanup. Modules should undo everything they have done. Activate the link after we negotiated format and buffers.
This commit is contained in:
parent
12e2fae8ab
commit
c25834a692
31 changed files with 586 additions and 344 deletions
|
|
@ -37,6 +37,24 @@ struct pw_command {
|
|||
const char *name; /**< command name */
|
||||
};
|
||||
|
||||
struct pw_protocol {
|
||||
struct spa_list link; /**< link in core protocol_list */
|
||||
struct pw_core *core; /**< core for this protocol */
|
||||
|
||||
char *name; /**< type name of the protocol */
|
||||
|
||||
struct spa_list marshal_list; /**< list of marshallers for supported interfaces */
|
||||
struct spa_list client_list; /**< list of current clients */
|
||||
struct spa_list server_list; /**< list of current servers */
|
||||
struct spa_hook_list listener_list; /**< event listeners */
|
||||
|
||||
const struct pw_protocol_implementaton *implementation; /**< implementation of the protocol */
|
||||
|
||||
const void *extension; /**< extension API */
|
||||
|
||||
void *user_data; /**< user data for the implementation */
|
||||
};
|
||||
|
||||
struct pw_client {
|
||||
struct pw_core *core; /**< core object */
|
||||
struct spa_list link; /**< link in core object client list */
|
||||
|
|
@ -316,7 +334,7 @@ struct pw_remote {
|
|||
struct spa_list stream_list; /**< list of \ref pw_stream objects */
|
||||
struct spa_list remote_node_list; /**< list of \ref pw_remote_node objects */
|
||||
|
||||
struct pw_protocol_connection *conn; /**< the protocol connection */
|
||||
struct pw_protocol_client *conn; /**< the protocol client connection */
|
||||
|
||||
enum pw_remote_state state;
|
||||
char *error;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue