Commit graph

14 commits

Author SHA1 Message Date
Barnabás Pőcze
bd510bf602 pulse-server: pending-sample: add on_ prefix to event handlers 2023-05-10 18:57:20 +00:00
Barnabás Pőcze
0395424461 pulse-server: add operation_free_by_tag() 2023-05-10 18:57:20 +00:00
Barnabás Pőcze
dd5f0e6bea pulse-server: pending-sample: only start operation if not replied already 2023-05-10 18:57:20 +00:00
Barnabás Pőcze
c25b6c973e pulse-server: pending-sample: factor out freeing logic 2023-05-10 18:57:20 +00:00
Barnabás Pőcze
cc702dac69 pulse-server: pending-sample: only send reply once 2023-05-10 18:57:20 +00:00
Barnabás Pőcze
edad053911 pulse-server: pending-sample: set replied flag on error
Set the `pending_sample::replied` flag when an error reply
is sent to the client.
2023-05-10 18:57:20 +00:00
Barnabás Pőcze
dd7c47bb3d pulse-server: pending-sample: rename ready to replied
Rename `pending_sample::ready` to `pending_sample::replied` because
it is set when a reply is sent, not when the ready signal comes.
2023-05-10 18:57:20 +00:00
Barnabás Pőcze
e37da42632 pulse-server: move sample playing into pending-sample.c 2023-05-10 18:57:20 +00:00
Barnabás Pőcze
934ab3036e treewide: use SPDX tags to specify copyright information
SPDX tags make the licensing information easy to understand and clear,
and they are machine parseable.

See https://spdx.dev for more information.
2023-02-16 10:54:48 +00:00
Wim Taymans
d7793501fd pulse-server: free pending sample reply
If the sample finished playing before we finished the roundtrip to
get the sink_index, it will be destroyed. When the roundtrip completes,
it will try to use invalid memoryy and crash.

Make sure we destroy all pending replies before destroying the sample
to avoid this problem.

Fixes #2151
2022-02-20 21:34:53 +01:00
Barnabás Pőcze
bc2914b3e9 pulse-server: pending-sample: move reference counting
Move the reference counting from `pending_sample_free()`
into `on_sample_done()` so that the client's references
are managed in a single place.

The reason why `pending_sample_free()` cannot simply call
`client_unref()` is that `client_free()` may be called from
`manager_disconnect()` regardless of the reference count,
and, in turn, `pending_sample_free()` may be called,
which could then lead to a recursive call to `client_free()`.
2022-02-02 15:40:43 +00:00
Peter Hutterer
52a96bb602 modules: add log topics to module-protocol-pulse
This ends up using a nested namespace: mod.protocol-pulse for the module
itself, mod.protocol-pulse.foo for the various submodules and
extensions.
2021-09-28 09:35:39 +02:00
Barnabás Pőcze
49d31ea0af pulse-server: split out reply, operation, client, stream
Part of !776.
2021-06-25 03:23:27 +02:00
Barnabás Pőcze
8a0f52ab78 pulse-server: split out pending-sample
Part of !776.
2021-06-25 03:23:15 +02:00