mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-06 13:30:01 -05:00
core: remove parent_id from the global event
Remove the parent_id from the global event. Remove the parent and owner from the global object. Use properties instead to mark parents and owners of objects. Properties are easier to control for client exported objects and usually a simple parent/child is not enough. For example, a client exported node has the client as a parent but also the factory that created the node.
This commit is contained in:
parent
32ce5c4deb
commit
8db4a797aa
58 changed files with 482 additions and 464 deletions
|
|
@ -129,14 +129,9 @@ struct pw_client {
|
|||
|
||||
struct pw_global {
|
||||
struct pw_core *core; /**< the core */
|
||||
struct pw_client *owner; /**< the owner of this object, NULL when the
|
||||
* PipeWire server is the owner */
|
||||
|
||||
struct spa_list link; /**< link in core list of globals */
|
||||
uint32_t id; /**< server id of the object */
|
||||
struct pw_global *parent; /**< parent global */
|
||||
struct spa_list child_link; /**< link in parent child list of globals */
|
||||
struct spa_list child_list; /**< The list of child globals */
|
||||
|
||||
struct pw_properties *properties; /**< properties of the global */
|
||||
|
||||
|
|
@ -316,6 +311,7 @@ struct pw_device {
|
|||
|
||||
#define pw_module_emit(o,m,v,...) spa_hook_list_call(&o->listener_list, struct pw_module_events, m, v, ##__VA_ARGS__)
|
||||
#define pw_module_emit_destroy(m) pw_module_emit(m, destroy, 0)
|
||||
#define pw_module_emit_registered(m) pw_module_emit(m, registered, 0)
|
||||
|
||||
struct pw_module {
|
||||
struct pw_core *core; /**< the core object */
|
||||
|
|
@ -709,8 +705,8 @@ struct pw_remote {
|
|||
|
||||
|
||||
struct pw_stream {
|
||||
struct pw_remote *remote; /**< the owner remote */
|
||||
struct spa_list link; /**< link in the remote */
|
||||
struct pw_remote *remote; /**< the owner remote */
|
||||
struct spa_list link; /**< link in the remote */
|
||||
|
||||
char *name; /**< the name of the stream */
|
||||
struct pw_properties *properties; /**< properties of the stream */
|
||||
|
|
@ -813,8 +809,6 @@ pw_port_new(enum pw_direction direction,
|
|||
void pw_port_update_info(struct pw_port *port, const struct spa_port_info *info);
|
||||
|
||||
int pw_port_register(struct pw_port *port,
|
||||
struct pw_client *owner,
|
||||
struct pw_global *parent,
|
||||
struct pw_properties *properties);
|
||||
|
||||
/** Get the user data of a port, the size of the memory was given \ref in pw_port_new */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue