Age | Commit message (Collapse) | Author | Files | Lines |
|
Also emit a device change event when the availability of the
active port changes.
|
|
First move all completed operations to a new list, then complete
the operations and cancel the ones that are not completed correctly.
This ensures that new operations from the callbacks don't get
completed immediately as well.
|
|
|
|
|
|
|
|
Track the current route and the properties independently. Else we
might skip parsing the volumes/mute properties when the current
route didn't change.
Fixes #281
|
|
Implement setting a custom poll function. When there is a custom
function, just poll the epoll fd in it.
Fixes #276
|
|
Use a global sync that both syncs the globals and completes the
operations.
In the case of a card profile change, first the nodes are removed
and added and then the Profile and Route info updated. We need to
be able to bind to the new node and get the device.profile.id
before we can find the active port of the node.
See #279
|
|
|
|
|
|
Track the proxies we load in a module_info and free the proxy
on unload or exit.
|
|
Also make sure the main pulseaudio binary can't be started.
|
|
|
|
Implement load_module of the null sink
Keep track of sink_input/source_output linked sink/source in a
better way.
Associate the global with our streams and the streams with the
global.
Don't emit the sink_input/source_output before there is a linked device
and before our stream is READY.
Improve server info to make it more look like pulse.
|
|
|
|
|
|
It's possible that the object was removed right after doing the call, in
that case we need to return NOENTITY because apps handle this
gracefully.
|
|
|
|
.. instead of the suspended callback
|
|
|
|
Small cleanups
|
|
|
|
Only check defaults when subject is PW_ID_CORE
Handle NULL keys: remove the defaults
|
|
|
|
|
|
|
|
Check if there is a device.api property on the sink/source and
if there is, mark the sink/source as a hardware device.
|
|
|
|
This tool detects and fixes common English spelling mistakes, with
generally very few mistakes.
Here is the command I used to generate this commit. There were a few
changes that had to be done manually, and of course adding the ignore
file:
```shell
codespell -I .codespell-ignore -x .codespell-ignore -w
```
I didn’t add it to the CI, but this would be a good place for it.
|
|
Most just return nothing or say that the extension is not supported.
Remove some warnings, they should show up in the log from setting
the error in the context.
|
|
Makes paman work
|
|
The ports have references to the profile info.
|
|
|
|
Add the list of possible ports for a device.
Pass the allowed devices in the routes.
Store the active port in the device.
Fixes enumeration of ports on devices with UCM.
|
|
master -> driving
priority_master -> priority_driver
segment_master -> segment_owner
|
|
|
|
The pipewire stream might have been destroyed when the pulse stream
is freed.
|
|
Always get the registry, even if we're not using the introspect API
we still need it to keep track of the linked devices.
|
|
|
|
When we disconnect, let the operation emit the TERMINATED state
because some apps expect this state to be emited asynchronously.
Makes GStreamer pulsesink work.
Fixes #210
|
|
|
|
|
|
|
|
Or else we might add the memory to the free list again when
we free the buffers. Fixes audacity using the pulseaudio backend
in portaudio.
|
|
|
|
We don't actually need to store all the metadata, we just need to
track the default sink and source property and store the value.
|
|
Use user data field in param to check for changes and only
perform a clear+enum when it changed.
|
|
|
|
|
|
|