wireplumber/lib/wp
George Kiagiadakis 23ba01970f object-manager: use an idle callback to expose tmp globals instead of pw_core_sync
A core sync is not really necessary here because whatever objects the remote
pipewire daemon has to announce have already been sent to us on a message
and this message is already being processed at this point. This means, we are
not going to be returning to the main loop until all the new objects have been
announced and therefore placed into the tmp globals array. So, we can also use
an idle callback and achieve the same effect of slightly delaying until all
new globals have been announced.

With an idle callback, we can be more agile and add those new objects immediately
after the message has been processed instead of waiting for a pw_core_sync()
reply, which will come in the next message.

This fixes an odd failure of the si-standard-link test after applying the fix
for #517, which was caused by the fact that the test was previously relying on
a delay caused by some unrelated globals being prepared in the object manager
that tries to verify the graph state. After those globals were removed from the
internal preparation queue, the test would fail to detect the link objects
because they were stuck in the tmp_globals array for too long.
2023-10-23 23:14:48 +03:00
..
private lib: remove some listeners 2022-02-09 12:38:27 +01:00
client.c client: add _send_error() method 2021-10-13 11:09:11 +03:00
client.h client: add _send_error() method 2021-10-13 11:09:11 +03:00
component-loader.c docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
component-loader.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
core.c docs: Add missing '\since' attributes to types and functions that have been added in versions later than 0.4.0 2023-08-30 11:20:06 +02:00
core.h core: add API to get virtual machine type 2022-06-02 12:34:16 -04:00
dbus.c docs: Add missing '\since' attributes to types and functions that have been added in versions later than 0.4.0 2023-08-30 11:20:06 +02:00
dbus.h docs: Add missing '\since' attributes to types and functions that have been added in versions later than 0.4.0 2023-08-30 11:20:06 +02:00
defs.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
device.c device: add new wp_spa_device_managed_object_new_iterator API 2022-06-27 08:52:36 +00:00
device.h device: add new wp_spa_device_managed_object_new_iterator API 2022-06-27 08:52:36 +00:00
endpoint.c proxy: abort activation if error or destroyed 2021-12-13 08:37:07 -05:00
endpoint.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
error.c docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
error.h docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
factory.c docs: Add missing '\since' attributes to types and functions that have been added in versions later than 0.4.0 2023-08-30 11:20:06 +02:00
factory.h wp-factory: enumerate pw_factory objects 2021-10-19 05:46:46 +00:00
global-proxy.c proxy: abort activation if error or destroyed 2021-12-13 08:37:07 -05:00
global-proxy.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
iterator.c iterator: skip NULL pointers when iterating pointer arrays 2022-06-27 08:52:36 +00:00
iterator.h lib: Use #define instead of 'static const' for constants 2021-06-24 09:24:16 -04:00
link.c link: add WP_LINK_FEATURE_ESTABLISHED to track when a link is PAUSED/ACTIVE 2022-07-02 17:10:22 +03:00
link.h docs: Add missing '\since' attributes to types and functions that have been added in versions later than 0.4.0 2023-08-30 11:20:06 +02:00
log.c log: guard against NULL messages 2021-12-20 17:54:14 +02:00
log.h wp: rename debug.{h,c} to log.{h,c} 2021-05-06 15:50:07 +03:00
meson.build lib: add new WpDbus API 2022-06-02 12:34:16 -04:00
metadata.c metadata: use an object closure to avoid crashing if the core disconnects early 2022-11-30 14:34:33 +02:00
metadata.h metadata: use pw_impl_metadata for WpImplMetadata 2021-09-17 09:08:48 -04:00
module.c docs: fix warnings related to recent policy-dsp changes 2023-10-12 19:24:26 +03:00
module.h api: module: support loading arguments from file 2023-09-22 19:35:10 +03:00
node.c node: prevent crashing if the proxy isn't bound 2023-06-14 23:00:56 +03:00
node.h docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
object-interest.c object-interest: don't try to pattern-match NULL strings 2022-04-23 20:14:59 +03:00
object-interest.h lib: Use #define instead of 'static const' for constants 2021-06-24 09:24:16 -04:00
object-manager.c object-manager: use an idle callback to expose tmp globals instead of pw_core_sync 2023-10-23 23:14:48 +03:00
object-manager.h docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
object.c object: abort queued transitions if current transition failed. 2022-02-21 09:37:44 -05:00
object.h object: add new _abort_activation API 2021-12-13 08:37:01 -05:00
plugin.c docs: Add brief descriptions to all functions 2021-06-02 17:38:34 +00:00
plugin.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
port.c lua: add Port.get_direction() + documentation for it 2021-06-30 19:51:21 +03:00
port.h docs: fix C API documentation to work nicely with doxygen & sphinx 2021-05-25 14:19:53 +03:00
properties.c properties: improve documentation of _get_count() 2022-05-10 15:27:31 +03:00
properties.h properties: Add get count API 2022-03-24 06:59:39 +00:00
proxy-interfaces.c pipewire-object: change params-changed signal to take a string param name 2021-06-09 13:29:34 +03:00
proxy-interfaces.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
proxy.c registry: ensure in-progress activations are aborted when a global is removed 2021-12-22 12:51:37 +02:00
proxy.h proxy: abort activation if error or destroyed 2021-12-13 08:37:07 -05:00
session-item.c session-item: fix reference leak when getting properties 2021-07-02 11:59:42 -04:00
session-item.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
si-factory.c docs: Add brief descriptions to all functions 2021-06-02 17:38:34 +00:00
si-factory.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
si-interfaces.c si-interfaces: improve documentation on latest api additions 2022-05-10 15:16:09 +03:00
si-interfaces.h si-interfaces: improve documentation on latest api additions 2022-05-10 15:16:09 +03:00
spa-json.c docs: Add missing '\since' attributes to types and functions that have been added in versions later than 0.4.0 2023-08-30 11:20:06 +02:00
spa-json.h spa-json: add wp_spa_json_to_string() API 2022-06-27 10:07:16 +00:00
spa-pod.c lib: assert non-NULL input for wp_spa_pod_equal 2022-01-21 13:55:26 +00:00
spa-pod.h spa-pod: add missing API sentinel 2022-01-21 13:59:03 +00:00
spa-type.c default-routes: save and restore iec958Codecs 2021-10-04 10:11:03 +00:00
spa-type.h docs: Add brief descriptions to all functions 2021-06-02 17:38:34 +00:00
state.c wp: make wp_get_xdg_state_dir() private 2021-08-19 10:06:37 +03:00
state.h state: remove support for groups and propagate save errors 2021-06-04 18:36:19 +03:00
transition.c wp: fix behavior of transitions before advanced for first time 2022-03-05 23:43:02 +02:00
transition.h lib: add struct paddings to be able to maintain ABI compatibility 2021-06-08 17:38:14 +03:00
wp.c docs: Add missing '\since' attributes to types and functions that have been added in versions later than 0.4.0 2023-08-30 11:20:06 +02:00
wp.h main: add --version flag to show current version 2022-07-29 12:37:44 +00:00
wpversion.h.in lib: add a version header 2020-06-02 18:26:40 +03:00