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
Wim Taymans
28376d1db2
bluez: avoid warning
2021-01-30 19:31:52 +01:00
Pauli Virtanen
494194c4bf
bluez5: allow selecting codecs to use in config file
...
For debugging, it may be useful to disable some of the codecs. Enable
configuring this in config file, to make it more convenient for users,
who may not know how to recompile/install pipewire.
2021-01-30 17:23:07 +00:00
Pauli Virtanen
f7db158bd6
media-session: give bluez5 objects driver.priority
...
Makes bluez devices as automatic default devices, with priority slightly
larger than alsa devices. The priority.driver is also used by
pulse-server on determining automatic default devices, when no default
has been manually set.
2021-01-30 15:00:33 +02:00
Wim Taymans
8fd120cb23
media-session: recheck route status when != available
...
Save the new state so we can detect changes
Check for available != yes to also recheck when the state becomes
unknown.
2021-01-29 17:23:02 +01:00
Wim Taymans
f43bcca35e
media-session: implement route selection and restore
...
Disable automatic port configuration in acp and move the logic
to the session manager.
Implement initial port selection and restore on profile activation.
Implement route switch when unavailable
Implement port settings save.
2021-01-29 16:59:17 +01:00
Wim Taymans
7cc5026c02
pulse-server: remove useless _pop()
2021-01-29 16:58:17 +01:00
Wim Taymans
2a1875fc35
bluez: disable pause on idle by default
2021-01-29 15:37:32 +01:00
Wim Taymans
ab5059cd07
alsa: add array of devices in EnumProfile
...
So that we can enumerate the possible Routes per device for
this profile as well.
2021-01-29 15:27:25 +01:00
Wim Taymans
1ea8282a24
pulse-server: don't update ringbuffer in underrun
2021-01-29 10:45:26 +01:00