- Feb 14, 2020
-
-
George Kiagiadakis authored
... in case the global is removed from the registry before the initial augment completes
-
George Kiagiadakis authored
When a new global is created, it is not certain if the registry global event or the proxy bound event will be fired first. In order to make sure we associate all proxies to their WpGlobals correctly, we now wait a core sync before exposing globals to the object managers, so that in case the implementation proxy receives the bound event after the registry creates the WpGlobal, we can make sure to use this proxy instead of constructing a new one through the object managers
-
George Kiagiadakis authored
wp_exported_export() used to do that internally, but it's cleaner to do it this way now
-
George Kiagiadakis authored
There are 3 kinds of WpProxy objects: * the ones that are created as a result of binding a global from the registry * the ones that are created as a result of calling into a remote factory (wp_node_new_from_factory, etc...) * the ones that are a local implementation of an object (WpImplNode, etc...) and are exported Previously the object manager was only able to track the first kind. With these changes we can now also have globals associated with WpProxies that were created earlier (and caused the creation of the global). This saves some resources and reduces round-trips (in case client code wants to change properties of an object that is locally implemented, it shouldn't need to do a round-trip through the server)
-
- Feb 12, 2020
-
-
George Kiagiadakis authored
-
George Kiagiadakis authored
-
George Kiagiadakis authored
-
George Kiagiadakis authored
-
- Feb 11, 2020
-
-
George Kiagiadakis authored
* core no longer exposes create_remote/local_object * node, device & link have constructor methods to enable the create_remote_object functionality * added WpImplNode to wrap pw_impl_node and allow creating "local" node instances * added WpSpaDevice to wrap spa_device and allow creating "local" device instances * exporting objects in all cases now happens by requesting FEATURE_BOUND from the proxy, eliminating the need for WpExported * replaced WpMonitor by new, simpler code directly in module-monitor * the proxy type lookup table in WpProxy is gone, we now use a field on the class structure of every WpProxy subclass and iterate through all the class structures instead; this is more flexible and extensible
-
- Feb 10, 2020
-
-
George Kiagiadakis authored
+ use the pw_proxy API to find the bound id instead of relying on WpGlobal This has the advantage that it works also for exported objects and for objects that have been created by calling into a remote factory (such as the link-factory), so we can now know the global id of all proxies, not only the ones that have been created by the registry.
-
- Jan 22, 2020
-
-
George Kiagiadakis authored
-
George Kiagiadakis authored
-
George Kiagiadakis authored
This is not used anymore. It was useful when we were using it as a detail in the global-added signal, but that is gone now.
-
George Kiagiadakis authored
They are equivalent, there is no real benefit in having both
-
George Kiagiadakis authored
-
- Jan 16, 2020
-
-
George Kiagiadakis authored
-
- Jan 14, 2020
-
-
Julian Bouzas authored
-
Julian Bouzas authored
-
- Jan 13, 2020
-
-
Julian Bouzas authored
-
Julian Bouzas authored
-
Julian Bouzas authored
-
- Jan 10, 2020
-
-
Julian Bouzas authored
-
Julian Bouzas authored
-
Julian Bouzas authored
-
Julian Bouzas authored
-
- Jan 09, 2020
-
-
Julian Bouzas authored
-
Julian Bouzas authored
This module allows wireplumber to create static nodes that match a specific device using a spa node factory. Matching is optional, and if there is no match, the node will always be created.
-
Julian Bouzas authored
-
Julian Bouzas authored
-
- Jan 08, 2020
-
-
Julian Bouzas authored
-
- Jan 07, 2020
-
-
Julian Bouzas authored
-
- Dec 27, 2019
-
-
Julian Bouzas authored
-
- Dec 23, 2019
-
-
George Kiagiadakis authored
-
George Kiagiadakis authored
-
- Dec 19, 2019
-
-
George Kiagiadakis authored
-
George Kiagiadakis authored
This ensures that endpoints with keep=false will still have a chance to link when ones with keep=true exist. This also effectively means that role priority does not matter when keep=true: we keep these links active no matter what, while policy still applies normally for all others. For example, a final sorted list with these endpoints will end up looking like this: * ep1, role priority=25, keep=false * ep2, role priority=20, keep=false * ep3, role priority=25, keep=true * ep4, role priority=75, keep=true ... which will effectively cause ep1, ep3 and ep4 to be linked.
-
George Kiagiadakis authored
keep=true should work in both ways: * keep the endpoint with this property linked at all times * keep other already linked endpoints when linking this one
-
George Kiagiadakis authored
This is no longer needed since we sort endpoints by role priority before trying to link them and we link only the highest priority one. After this sorting, the highest priority endpoint is guaranteed to be able to link, so _can_link_stream() always returns TRUE.
-
George Kiagiadakis authored
-
- Dec 18, 2019
-
-
George Kiagiadakis authored
-