pipewire/src/pipewire
Wim Taymans 9b80855821 impl-node: make exported nodes complete state change sync
Don't queue an async state change completion for exported nodes. The
server sends a ping to check for completion and we want this ping reply
to happen after the state completion.

Consider the case where we have a follower and a driver, the follower is
sent the Start/Ping commands and replies to the ping but is still
processing the state change async. The server can then Start the driver,
which will then try to schedule the (still starting) follower and fail.

We could add the ping to the work queue as well but that creates
complications because modules (clients) and server share the same work
queues right now and block each other completions.

We could also make a method to process the work queue immediately but
that would be dangerous as well because it could contain a BUSY item
from some module that would block things.
2024-10-01 10:44:12 +02:00
..
extensions impl-node: add compat with old nodes 2024-06-14 12:41:03 +02:00
array.h Fix typos 2024-05-22 09:19:34 +02:00
buffers.c mem: MAPPABLE -> UNMAPPABLE 2024-04-10 13:11:54 +02:00
buffers.h buffers: add new ASYNC flag 2023-03-30 15:03:29 +02:00
client.h pipewire: allow setting metadata on more objects 2023-07-28 11:18:12 +02:00
conf.c spa: add spa_json_object_next 2024-09-16 09:50:36 +02:00
conf.h conf: support property rules 2024-03-15 12:10:41 +01:00
context.c spa: add spa_json_object_next 2024-09-16 09:50:36 +02:00
context.h modules: use acquire/release loop 2024-04-22 16:19:02 +02:00
control.c mem: MAPPABLE -> UNMAPPABLE 2024-04-10 13:11:54 +02:00
control.h docs: Multiple clarifications to documentation 2024-01-12 11:55:28 +01:00
core.c core: handle import errors better 2024-05-03 15:56:13 +02:00
core.h mem: MAPPABLE -> UNMAPPABLE 2024-04-10 13:11:54 +02:00
data-loop.c keys: add and use some loop keys 2024-04-23 11:49:12 +02:00
data-loop.h data-loop: add functions to get name and class 2024-04-22 11:00:22 +02:00
device.h pipewire: allow setting metadata on more objects 2023-07-28 11:18:12 +02:00
factory.h pipewire: allow setting metadata on more objects 2023-07-28 11:18:12 +02:00
filter.c filter: Use the stream DSP format to negotiate control types 2024-07-30 09:38:18 +02:00
filter.h Fixed two small typoes in documentation: conneced -> connected. 2024-06-07 07:21:09 +00:00
global.c global: avoid recursive destroy calls 2024-09-04 18:05:29 +02:00
global.h perm: add permission mask to global 2023-07-28 10:22:12 +02:00
i18n.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
impl-client.c mem: MAPPABLE -> UNMAPPABLE 2024-04-10 13:11:54 +02:00
impl-client.h doc: link \page and \group by \see 2023-11-04 15:22:18 +02:00
impl-core.c Ensure all globals have PW_KEY_OBJECT_SERIAL prop 2024-02-09 14:45:05 +00:00
impl-core.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
impl-device.c pipewire: remove cleanup.h 2024-05-16 17:35:58 +02:00
impl-device.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
impl-factory.c Ensure all globals have PW_KEY_OBJECT_SERIAL prop 2024-02-09 14:45:05 +00:00
impl-factory.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
impl-link.c impl-link: also handle unprepared active links 2024-09-24 10:46:21 +02:00
impl-link.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
impl-metadata.c pipewire: remove cleanup.h 2024-05-16 17:35:58 +02:00
impl-metadata.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
impl-module.c pipewire: remove cleanup.h 2024-05-16 17:35:58 +02:00
impl-module.h docs: Multiple clarifications to documentation 2024-01-12 11:55:28 +01:00
impl-node.c impl-node: make exported nodes complete state change sync 2024-10-01 10:44:12 +02:00
impl-node.h impl-node: don't report xrun when pending <= 0 2024-04-04 22:01:01 +02:00
impl-port.c spa: add spa_json_begin_array/object and relaxed versions 2024-09-16 09:50:33 +02:00
impl-port.h Port: Add tag param 2023-08-29 14:22:13 +02:00
impl.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
introspect.c pipewire: introspect: do not leave spa_param_infos uninitialized 2023-06-01 16:57:42 +00:00
keys.h loop: don't usleep when queue is full 2024-08-06 12:05:11 +02:00
link.h core: X permissions is needed to destroy a global 2023-07-28 10:22:28 +02:00
log.c pipewire: remove cleanup.h 2024-05-16 17:35:58 +02:00
log.h log: add pw_log_topic_custom_enabled() 2024-01-04 17:40:57 +01:00
loop.c keys: add and use some loop keys 2024-04-23 11:49:12 +02:00
loop.h loop: move the loop name to pw_loop 2024-04-22 15:18:26 +02:00
main-loop.c loop: clarify the pw_main_loop_run returned value 2024-06-04 15:34:59 +00:00
main-loop.h loop: clarify the pw_main_loop_run returned value 2024-06-04 15:34:59 +00:00
map.h pipewire: map: allow lookup and iteration on const maps 2023-10-06 15:57:43 +02:00
mem.c core: handle import errors better 2024-05-03 15:56:13 +02:00
mem.h mem: MAPPABLE -> UNMAPPABLE 2024-04-10 13:11:54 +02:00
meson.build
module.h pipewire: allow setting metadata on more objects 2023-07-28 11:18:12 +02:00
node.h perm: add a new L permissions 2023-07-28 11:01:43 +02:00
permission.h perm: add a new L permissions 2023-07-28 11:01:43 +02:00
pipewire.c pipewire: remove cleanup.h 2024-05-16 17:35:58 +02:00
pipewire.h pipewire: remove pw_in_valgrind() 2023-11-22 23:05:03 +01:00
port.h pipewire: document permissions needed for methods 2023-07-28 10:51:20 +02:00
private.h impl-node: only process RequestProcess after state change 2024-09-19 19:12:54 +02:00
properties.c properties: Fix memory leak 2024-09-27 11:59:54 +02:00
properties.h pipewire: remove cleanup.h 2024-05-16 17:35:58 +02:00
protocol.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
protocol.h protocol-native: add security context API 2024-03-13 12:53:04 +01:00
proxy.c pipewire: proxy: remove pw_proxy_get_core() 2023-07-03 19:40:25 +02:00
proxy.h doc: link \page and \group by \see 2023-11-04 15:22:18 +02:00
resource.c core: add bound_props event 2023-03-21 17:22:27 +01:00
resource.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
settings.c spa: add spa_json_begin_array/object and relaxed versions 2024-09-16 09:50:33 +02:00
stream.c stream: emit the Pause command early 2024-09-24 10:50:14 +02:00
stream.h stream: improve the docs 2024-09-20 15:52:26 +02:00
thread-loop.c loop: move the loop name to pw_loop 2024-04-22 15:18:26 +02:00
thread-loop.h doc: link \page and \group by \see 2023-11-04 15:22:18 +02:00
thread.c Include <pthread_np.h> on FreeBSD to access pthread_setaffinity 2024-09-23 08:09:45 +00:00
thread.h thread: expose pw_thread_fill_attr() 2023-07-13 12:10:21 +02:00
type.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
utils.c spa: add spa_json_begin_array/object and relaxed versions 2024-09-16 09:50:33 +02:00
utils.h pipewire: remove cleanup.h 2024-05-16 17:35:58 +02:00
version.h.in pipewire: add missing stdbool.h include to version.h.in 2023-07-24 12:48:33 +02:00
work-queue.c Fix typos 2024-05-22 09:19:34 +02:00
work-queue.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00