- 08 Jun, 2022 4 commits
-
-
Wim Taymans authored
When in monitor mode, also dump object removal with info/props as NULL. Fixes #2426
-
Wim Taymans authored
Use a preallocated array of modifiers instead of using a dynamically allocated one that is too small.
-
-
We were writing twice in the same space, leaving another one undefined.
-
- 07 Jun, 2022 1 commit
-
-
P V authored
It causes some headsets behave strangely. See #2391, #1853. The BlueZ issue of AVRCP volume sometimes missing that this worked around was fixed in recent versions. The issue of some headsets not sending volume without AVRCP player remains, but it appears this breaks more headsets than fixes.
-
- 06 Jun, 2022 8 commits
-
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
The filter can now run shadertoy filters.
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
-
- 05 Jun, 2022 5 commits
-
-
Don't try to reconnect or wait for profiles, which cannot be connected because the adapter doesn't have the counterpart sink/source profile. E.g. we should not reconnect/wait for HFP HF on remote device, if we don't have the corresponding HFP AG.
-
If A2DP remote does not acquire its pending transport within a timeout, we won't get a write error in a2dp-sink, but instead the transport becomes idle. Currently, we continue writing to the socket as if everything was fine, even though the data won't be processed at the remote end. Handle this by stopping the node and emitting a node error event. Pipewire may then restart the node to retry.
-
If the follower of the adapter emits an error event, the adapter needs to forward it to upper levels so that they know the node has errored, and handle the situation.
-
As Coverity correctly points out, the `if (blocklist)` condition is never true after the `out` label, so this commit makes some changes to remove the dead code. First of all, the `regex_t` object is directly embedded in the module's data struct, so the `malloc()` call can be removed, and thus there is no need for the cleanup code anymore, so everything after the `out` label is also removed. Furthermore, two NULL checks are removed which check `d->blocklist` from `module_switch_on_connect_unload()` and `manager_added()` because both of those functions can only ever run if the `d->blocklist` regex object has been successfully initialized in `module_switch_on_connect_prepare()`. Those checks were not strictly needed to begin with.
-
Endpoints without decode/encode capability are skipped in the object manager, but we should also skip them in the registration calls (even though in practice this doesn't appear to matter).
-
- 04 Jun, 2022 7 commits
-
-
Wim Taymans authored
-
Barnabás Pőcze authored
The client needs to be cleaned up properly, otherwise references to its storage may remain, which can later result in use-after-frees. For example, the via the various embedded `spa_hook`s in it. See #2394
-
Barnabás Pőcze authored
Check pointers before calling the destructors (where needed), so that a not fully constructed `client` object may be passed to `jack_client_close()`. Furthermore, remove the metadata proxy and object listeners as well.
-
Barnabás Pőcze authored
Move the client-node setup code right after the client-node creation, so that they are close to each other.
-
Barnabás Pőcze authored
Move the initialization of some of `client`'s members right after allocation, so that it will be simpler to tear down the client object even if `jack_client_open()` fails later. Furthermore, initialize `client::driver_id` to `SPA_ID_INVALID`.
-
Wim Taymans authored
So that we don't cause memory errors with invalid input.
-
Wim Taymans authored
FIxes #2422
-
- 03 Jun, 2022 11 commits
-
-
Barnabás Pőcze authored
It is already logged by the module loading code when a module is successfully loaded, so there is no need to print it on a per-module basis at the same log level.
-
Wim Taymans authored
Keep track of the last known peer of a stream and send a moved message when it changes. Fixes #2407
-
Wim Taymans authored
-
Wim Taymans authored
-
Wim Taymans authored
Check all pending streams to see if the new link completes their creation. It is possible that the link linked 2 pending streams and then we want to complete them both.
-
Wim Taymans authored
When we get a new link object, only check if a pending stream is linked according to the new link instead of iterating all links.
-
Wim Taymans authored
To update the client properties of the connection. Fixes #1573
-
Wim Taymans authored
-
Wim Taymans authored
Source for a source, sink for a sink. We use capture and playback for streams that link to a source/sink respectively.
-
Wim Taymans authored
-
Wim Taymans authored
-
- 02 Jun, 2022 4 commits
-
-
Barnabás Pőcze authored
Since 37fa911a ("pulse-server: module: rework registry") none of the module methods need to have external linkage.
-
Barnabás Pőcze authored
Now that the method does not actually create the `module` object, it would be somewhat misleading to call it "create", so rename it to "prepare".
-
Barnabás Pőcze authored
All modules need to manually create a `module` object and check if it was successfully created. The same with argument parsing. To simplify modules, move the module object creation and argument parsing into `module_create()`, and pass the already initialized module to `module_info::create()`. The semantics of `module_info::create()` are kept, that is, if it fails, `module_info::unload()` will not be called.
-
Barnabás Pőcze authored
Now that the module's properties are served from `module_info::properties`, there is no need for modules to put their static properties into the `module::props` dictionary.
-