summaryrefslogtreecommitdiff
path: root/pipewire-pulseaudio
AgeCommit message (Collapse)AuthorFilesLines
2020-09-09pulse: keep track of availability of active portWim Taymans2-4/+13
Also emit a device change event when the availability of the active port changes.
2020-09-09pulse: improve operation handlingWim Taymans1-1/+12
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.
2020-09-09pulse: call operation_done at end of callbackWim Taymans3-6/+7
2020-09-09pulse: improve debugWim Taymans2-16/+42
2020-09-09context: don't leak device port infoWim Taymans1-0/+2
2020-09-07context: handle route changes betterWim Taymans1-10/+40
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
2020-09-07pulse: implement custom mainloop poll functionWim Taymans2-3/+40
Implement setting a custom poll function. When there is a custom function, just poll the epoll fd in it. Fixes #276
2020-09-07pulse: rework syncWim Taymans3-75/+98
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
2020-09-03stream: move some debug to traceWim Taymans1-5/+5
2020-08-21introspect: fix sink monitor nameWim Taymans1-1/+3
2020-08-21pulse: track loaded modulesWim Taymans3-5/+62
Track the proxies we load in a module_info and free the proxy on unload or exit.
2020-08-21pulse: fix crash when cleaning up signalsWim Taymans3-8/+12
Also make sure the main pulseaudio binary can't be started.
2020-08-21pulse: implement more directoriesWim Taymans1-2/+32
2020-08-20pulse: implement load_module of null-sinkWim Taymans4-56/+204
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.
2020-08-20pulse: DSP -> MONITORWim Taymans3-6/+6
2020-08-20pulse: always update and debug the errorWim Taymans1-1/+1
2020-08-19pulse: return NOENTITY when an item was not foundWim Taymans1-15/+15
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.
2020-08-19stream: call latency_update callbackWim Taymans1-1/+5
2020-08-19stream: call started callback when startedWim Taymans1-2/+2
.. instead of the suspended callback
2020-08-19stream: call the moved_callback when movedWim Taymans1-2/+5
2020-08-19pulse: don't leak device_nameWim Taymans2-8/+12
Small cleanups
2020-08-19stream: guard against old timestampsWim Taymans1-5/+7
2020-08-18metadata: improve default sink/sourceWim Taymans1-8/+10
Only check defaults when subject is PW_ID_CORE Handle NULL keys: remove the defaults
2020-08-18pulse: improve debugWim Taymans1-1/+1
2020-08-18context: make sure required fields are not NULLWim Taymans1-0/+6
2020-08-18context: also find monitor namesWim Taymans1-3/+15
2020-08-17pulse: use device.api property to mark HARDWAREWim Taymans1-3/+5
Check if there is a device.api property on the sink/source and if there is, mark the sink/source as a hardware device.
2020-08-17pulse: add symbol to check for PipeWire libWim Taymans1-0/+6
2020-08-17Run codespell on the entire codebaseEmmanuel Gil Peyrot2-7/+7
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.
2020-08-17pulse: implement some more extensionsWim Taymans4-32/+153
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.
2020-08-17pulse: implement some more methodsWim Taymans1-5/+125
Makes paman work
2020-08-13pulse: also update ports after profilesWim Taymans1-0/+1
The ports have references to the profile info.
2020-08-13pulse: also update the profiles when the active one changesWim Taymans1-3/+5
2020-08-10acp: add per device port listWim Taymans3-16/+39
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.
2020-08-06Improve namingWim Taymans2-4/+4
master -> driving priority_master -> priority_driver segment_master -> segment_owner
2020-08-05pulse: enable rtkit on the clientWim Taymans1-1/+5
2020-08-04pulse: handle NULL pw_streamWim Taymans1-1/+2
The pipewire stream might have been destroyed when the pulse stream is freed.
2020-08-04pulse: always load the registryWim Taymans3-105/+7
Always get the registry, even if we're not using the introspect API we still need it to keep track of the linked devices.
2020-08-04pulse: handle device_name of NULL as errorWim Taymans1-4/+2
2020-08-04stream: let the operation emit the TERMINATED stateWim Taymans1-2/+1
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
2020-08-04pulse: handle memory user_data of NULLWim Taymans1-1/+2
2020-08-04pulse: improve debugWim Taymans1-8/+8
2020-08-04pulse: actually remember the default sourceWim Taymans1-0/+1
2020-08-03stream: clear user data on flushWim Taymans1-3/+22
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.
2020-08-03stream: fix printf modifierWim Taymans1-1/+1
2020-07-31pulse: remove metadata storeWim Taymans5-148/+24
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.
2020-07-31pulse: improve param enumerationWim Taymans1-16/+29
Use user data field in param to check for changes and only perform a clear+enum when it changed.
2020-07-31pulse: refactor param enumerationWim Taymans2-19/+27
2020-07-30pulse: also use PIPEWIRE_LATENCY as a fallbackWim Taymans1-2/+15
2020-07-30pulse: use the right sample specWim Taymans1-1/+1