Commit graph

5488 commits

Author SHA1 Message Date
Wim Taymans
32a3913933 alsa-plugin: use MIN_BUFFERS for max as well
To get a more reasonable max
2021-02-04 17:15:46 +01:00
thedannysmith
5e9246e1f7 alsa-plugin: change hw-constrainy buffer-size 2021-02-04 17:14:19 +01:00
Wim Taymans
3450bea416 jack: implement some missing methods
to make qjackctl 0.9.0 work
2021-02-04 15:48:36 +01:00
Wim Taymans
20008b4846 pulse-server: actually fill in the maxlenght and fragsize.. 2021-02-04 14:53:28 +01:00
Wim Taymans
5aa7746c95 rework param updates
Make it possible to add a NULL param to the pending list. The NULL
param removes all previous updates.
When applying the updates, the NULL param removes the params from
the target list.

This has two advantages: it actually removes params that become
unreadable or that got removed and it allows us to update the target
list more efficiently in one single loop.
2021-02-04 13:26:35 +01:00
Wim Taymans
62cf8c6130 alsa-plugin: improve client name 2021-02-04 12:52:23 +01:00
Wim Taymans
1581b6cfce media-session: give more permissions to Manager flatpaks
If a flatpak app has the Manager media.category set, assign more
permissions to it for now. We should later check with the
permission store if this is really allowed.
2021-02-04 11:53:03 +01:00
Wim Taymans
d85862af71 module-access: fall back to client requested access mode
When nothing else was decided, use the client requested access
method. The idea is that pipewire-pulse will detect a flatpak client
an performs the pipewire connection on behalf of the client,
requesting flatpak access restrictions.
2021-02-04 11:48:45 +01:00
Wim Taymans
3659d70aef acp: complain louder when profile files are missing 2021-02-04 10:31:55 +01:00
Pauli Virtanen
4cf0826b4f bluez5: connect to SBC endpoints in order of preference
High sampling frequencies should be preferred.  SBC-XQ should also
prefer dual channel.
2021-02-04 00:05:34 +02:00
Pauli Virtanen
fdbcaeb20f bluez5: fix bug in endpoint sort function 2021-02-03 23:00:33 +02:00
Wim Taymans
4c46495c38 pw-dump: don't print unreadable params 2021-02-03 19:27:57 +01:00
Wim Taymans
885748dfbd 0.3.21 2021-02-03 15:20:26 +01:00
Raghavendra
ec1861c5d9 libcamera: fix the build and capture issues with latest libcamera version. 2021-02-03 16:57:09 +05:30
Pauli Virtanen
0346b477ad bluez5: make routes compatible with default-route
default-route wants to have SPA_PARAM_ROUTE_devices and
card.profile.devices before it will restore routes. Add these
also for bluez5-devices.

Fixes restoring volumes on Bluetooth profile change.
2021-02-03 10:49:30 +00:00
Wim Taymans
be7415dac8 pw-top: improve period and rate columns 2021-02-03 11:46:01 +01:00
Wim Taymans
c9e13bc70f README: add donate link 2021-02-03 10:34:07 +01:00
Wim Taymans
8befe9e238 pulse-server: allow objects with priority 0 to be default
Also use the object with priority 0 as a best option when there
is not yet anything else.
2021-02-03 10:02:22 +01:00
Wim Taymans
a48a4fc1bd conf: add comments for the other access permissions 2021-02-02 17:48:25 +01:00
Wim Taymans
b8ef0fc5bb module-access: make access.allowed an array
Reformat the config file a little
2021-02-02 17:48:25 +01:00
Huang-Huang
ab4223601f
bluez5: fix type of 'Codec' on remote endpoint
Vendor codec(LDAC, aptX) uses codec ID 0xff, use uint8 to fill it.
2021-02-03 00:01:29 +08:00
Wim Taymans
7c0081eb6f pulse-server: move memblock back to debug 2021-02-02 15:24:05 +01:00
Wim Taymans
379cbeaa5d pw-cat: fix option for playback
Fixes #665
2021-02-02 15:17:38 +01:00
Wim Taymans
0d2b9104d1 pulse-server: fix seek modes
Adjust missing when seeking and update the filled level correctly.

Fixes #653
2021-02-02 15:13:49 +01:00
Wim Taymans
2b44f42845 pass the complete buffer size to snprintf
There is no reason to pass size-1, snprintf will always put a \0
at the end.
2021-02-02 12:09:29 +01:00
Wim Taymans
41063578a5 bluez5: use for_each_safe when items can be removed
Removing items when iterating a list of only allowed when using the
_safe versions of for_each
2021-02-02 11:48:47 +01:00
Wim Taymans
47b6ce84b2 channelmix: initialize with float 2021-02-02 11:01:01 +01:00
Wim Taymans
9d74bd61a7 bluez5: fix debug line 2021-02-02 11:00:16 +01:00
Pauli Virtanen
f841bc0b5b bluez5: remove pipewire device when bluez device disappears
The pipewire device holds a pointer to the device, and should be removed
when BlueZ removes the underlying device.
2021-02-02 09:56:30 +00:00
Pauli Virtanen
4d9e9fcc33 bluez5: emit events on profile change and handle them
BlueZ may connect transports long after DEVICE_PROFILE_TRANSPORT_SEC has
passed on already existing devices.  When this occurs, the bluez5
pipewire device should notify that the profile enumeration has changed.

Ignore these events during A2DP codec switch, and handle any changes
when the switch completes.
2021-02-02 09:56:29 +00:00
Pauli Virtanen
8ffde47080 bluez5: deal with device removal while we're switching the codec
Don't remove devices when there's a codec switch active, but check if
they should be removed once it completes.
2021-02-02 09:56:29 +00:00
Pauli Virtanen
5d97351970 bluez5: expose different A2DP codecs as separate profiles
The codecs probably should become a separate param later on, but this
workaround at least makes existing UIs work.
2021-02-02 09:56:29 +00:00
Pauli Virtanen
0c74b90f0e bluez5: helper functions for querying codecs on device 2021-02-02 09:56:29 +00:00
Pauli Virtanen
b642c7f209 bluez5: support device capability checks beyond A2DP caps + split sbc-xq to separate codec
We would like to have BT device codec capability checks beyond what's
possible based on A2DP caps.

Split SBC-XQ to a separate codec, and enable it in the device-dependent
check (although currently it just uses the config option).
2021-02-02 09:56:29 +00:00
Pauli Virtanen
e860f2bb4e bluez5: basic codec-switching framework 2021-02-02 09:56:29 +00:00
Pauli Virtanen
0908588d0c bluez5: add codec check_caps + check vendor codec id for ldac & aptx 2021-02-02 09:56:29 +00:00
Pauli Virtanen
ce335b6d88 bluez5: keep track of remote endpoints 2021-02-02 09:56:29 +00:00
Wim Taymans
748e205453 pulse-server: hand out silence when corked
In the corked state we simply hand out silence and don't try to
consume data from our ringbuffer.
Also set the corked state before syncing this with the data thread.

Fixes #662
2021-02-02 10:42:34 +01:00
Wim Taymans
a18a8c9e32 media-session: save and restore profile ports
Save the last explicitly set ports per profile.
When a profile change happens, restore the saved ports or select
the best port when nothing was saved.
2021-02-01 18:02:32 +01:00
Wim Taymans
be6410909f audioadapter: remove some unused code 2021-02-01 15:16:39 +01:00
Wim Taymans
5e15411af4 alsa-monitor: use max channels on non-ACP devices
Otherwise, they might still negotiate to something less than the
max channels.
2021-02-01 15:16:39 +01:00
Wim Taymans
80368ab8ae pulse-server: remove unused macro 2021-02-01 15:16:39 +01:00
Huang-Huang
b9f2e6a8c4
bluez5: disable HSP AG by default in native backend 2021-02-01 03:39:49 +08:00
Huang-Huang
f6cc45f736 bluez5: allow headset roles selecting 2021-01-31 18:12:07 +00:00
Huang-Huang
b66e67db14
bluez5: unregister HSP dbus object paths when current HSP/HFP registration fails 2021-02-01 00:01:23 +08:00
Huang-Huang
c778bd734c
a2dp: improve codec specific transport socket send buffer size setting 2021-01-31 09:01:40 +08:00
Wim Taymans
60aef11072 pulse-server: if prebuf == 0, keep increasing playing_for
Or else the client pauses and time stops. Makes GStreamer
pipelines complete.
2021-01-30 21:04:07 +01:00
Wim Taymans
d1c0244512 pulser-server: keep updating missing bytes if prebuf == 0 2021-01-30 20:38:47 +01:00
Wim Taymans
d37742b410 pulse-server: handle prebuf better
prebuf == 0 should keep the read pointer updating
prebuf > 0 should pause
2021-01-30 19:48:01 +01:00
Wim Taymans
98dab7903a pulse-server: add buffer attributes as properties 2021-01-30 19:32:13 +01:00