Frédéric Danis
db0c224b06
bluez5: Make native and ofono backends optional
2020-07-22 18:59:58 +02:00
Frédéric Danis
ebdaac160c
bluez5: backend-ofono: Fix SCO nodes not created on oFono's CardAdded
...
oFono's CardAdded signal from can occur after BlueZ's ServicesResolved
signal. In this case the device is created without SCO nodes.
This is fixed by not enforcing device creation on ServicesResolved signal.
2020-07-22 18:59:58 +02:00
Frédéric Danis
18da8fd21f
bluez5: backend-ofono: Add spa_bt_transport support
2020-07-22 18:59:58 +02:00
Frédéric Danis
9b6dd9461e
bluez5: Create backend skeleton for HFP support using oFono
2020-07-22 18:59:58 +02:00
Wim Taymans
2955182e4e
use spa_debug_type_short_name() when we can
2020-07-22 11:22:11 +02:00
Wim Taymans
875236631f
acp: don't ignore return value
2020-07-21 15:42:04 +02:00
Julian Bouzas
03bc36a502
resample-native: substract num of skipped samples after processing input
...
Takes into account the number of skipped samples when deciding whether
we should copy the remaining samples in the history or not.
Fixes dropping audio issue when resampling from high frequencies
such as 48KHz to low requencies such as 8KHz.
2020-07-20 15:25:02 -04:00
Frédéric Danis
2d91e62a19
bluez5: Workaround incorrect SCO MTU
...
It seems that some BT adapters don't return correct SCO MTU, see
https://marc.info/?t=148586768600002&r=1&w=2
Do not try to autodetect the MTU and use a fix MTU size of 48 bytes.
2020-07-17 19:36:33 +02:00
Frédéric Danis
06a6e11806
bluez5: Create backend for native HSP support
2020-07-17 18:34:33 +02:00
Julian Bouzas
23788ee617
sco-sink: clean up and write data at a constant bitrate
...
Audio data received by HSP/HFP devices need to be sent at a constant
bitrate to achieve smooth playback
2020-07-17 15:13:03 +00:00
Julian Bouzas
551844c0ef
sco-source: initialize read mtu and read chunks of its size
...
The mtu value returned by the kernel seems to be incorrect, we use
the hardcoded value of 48 for now (like bluezalsa)
2020-07-17 15:13:03 +00:00
Wim Taymans
9b4b7d1a2c
evl: add include for spa_strerror
...
See #244
2020-07-14 14:19:26 +02:00
Wim Taymans
f28ca843a6
format: fix typo
2020-07-14 10:21:35 +02:00
Julian Bouzas
ba96eecba0
sco-source: clean up and support different buffer sizes
2020-07-13 12:05:01 -04:00
Julian Bouzas
f743fff694
sco-source: add RateMatch IO
2020-07-13 12:04:56 -04:00
Wim Taymans
a459c1f226
acp: sync with master
2020-07-13 14:39:27 +02:00
Wim Taymans
ee59bcd632
acp: emit volume/mute changes on change
2020-07-08 17:24:23 +02:00
Wim Taymans
b896d65723
acp: emit param change when port changed
2020-07-08 16:16:43 +02:00
Julian Bouzas
2ae4322cca
a2dpsource: fill the buffer as much as possible
...
Fills the buffer until the buffer data size is maxsize / frame_size
2020-07-07 15:34:57 +00:00
Julian Bouzas
60eb8dae87
a2dpsource: add RateMatch IO
2020-07-07 15:34:57 +00:00
Frédéric Danis
e17688a43b
Fix missing headers check
...
Current Gillab CI fails with:
$ ./check_missing_headers.sh
spa/monitor/event.h not installed
2020-07-07 17:33:57 +02:00
Wim Taymans
e030445e49
acp: add volume base and step
...
Add a READONLY property flag to makr properties READONLY
Set the base_volume and volume_step in the acp device
Send the base volume and step as REAONLY properties. Use these
in pulse layer.
2020-07-07 13:12:57 +02:00
Wim Taymans
cf8db93cd4
pod: add HARDWARE flag to spa_pod_prop
...
Add HARDWARE flag to mark a property that does some hardware control.
Mark the device volume/mute property as HARDWARE or not.
Use the HARDWARE property in pulse to set the right flags.
2020-07-06 17:46:32 +02:00
Wim Taymans
b9d412e618
monitor: add device event
...
Add device events and signal soft volume with an object config
event.
2020-07-06 17:25:05 +02:00
Wim Taymans
d80d593271
acp: add support for soft volume
...
Add a set_soft_volume/mute event.
If we can't configure the hardware volume completely, notify
the remainder with the soft_volume/mute events.
2020-07-06 17:22:42 +02:00
Wim Taymans
ea6dfe204c
acp: don't install library for now
2020-07-06 12:58:33 +02:00
Wim Taymans
1612f5e4d2
alsa-acp: Add libacp based card device
...
libacp is a port and wrapper around the pulseaudio card profile code.
It uses a set of templates for construct a card profile and mixer port
settings. It also has support for UCM when available for the hardware.
2020-07-06 12:20:09 +02:00
Wim Taymans
8ad769b943
bluez: improve profile description
2020-07-03 16:25:46 +02:00
Wim Taymans
49332eb30f
bluez5: handle suspend
2020-07-03 16:23:17 +02:00
Wim Taymans
7778f8d70e
bluez5: remove devices correctly
...
Remember how many devices we emited for the current profile and
remove them all when we switch profile.
2020-07-03 16:12:19 +02:00
Wim Taymans
7b129c1020
sco: remove transport hooks on destroy
2020-07-03 16:10:46 +02:00
Wim Taymans
357868eeb5
a2dp: remove transport hooks on destroy
2020-07-03 16:08:53 +02:00
Wim Taymans
1091d2eaf1
bluez5: improve profile enumeration
2020-07-03 12:14:00 +02:00
Frédéric Danis
0b970ec965
bluez: Update BT profiles
...
Only provide high-level A2DP and HSP/HFP profiles in pw.
Expose nodes based on pw profiles and BT profiles available on remote
device.
2020-07-03 11:53:52 +02:00
Wim Taymans
a520335581
fmt-ops: add sse2 version of f32 to s16 planar/interleaved
2020-07-03 11:05:26 +02:00
Wim Taymans
5295caf0f3
examples: dlclose on some errors
2020-07-02 16:07:54 +02:00
Wim Taymans
3695488241
spa: remove wrong comment
2020-07-01 15:27:55 +02:00
Wim Taymans
698509ef55
alsa: set classes in the profile
...
parse classes in the pulse layer
2020-07-01 13:39:10 +02:00
Wim Taymans
1ee8944a2a
alsa: improve debug
2020-07-01 13:16:37 +02:00
Wim Taymans
8168dfdbc1
alsa-pcm: allow setting number of channels
...
Allow passing the number of channels when creating a device to
restrict the negotiated channels.
2020-07-01 12:54:27 +02:00
Wim Taymans
267eabaf69
alsa: add default channel map when not given
2020-07-01 12:46:03 +02:00
Wim Taymans
f65d71dd5b
alsa: support planar formats
2020-07-01 11:43:25 +02:00
Wim Taymans
6e03b4005d
increase amount of datas in a buffer
2020-07-01 11:43:22 +02:00
Wim Taymans
ef0e5ee09e
param: rename properties, use info for key/value info
...
Add props field for configurable route properties (like volumue/mute)
2020-06-27 20:04:05 +02:00
Frédéric Danis
41d7ccc336
a2dpsink: Process right amount of data with sbc_encode
...
sbc_encode() can only process data with at least this->codesize bytes.
When encode_buffer() is called with less then codesize bytes, accumulate
those bytes in a temporary buffer up to codesize length, then SBC encode
them.
Maximum size for SBC buffer is (subbands * blocks * channels * 2) with max
subbands = 8, max blocks = 16, max channels = 2, i.e. 512.
Fixes !277
2020-06-27 13:03:24 +02:00
Wim Taymans
2e914ac10e
param: add properties to route and profile
2020-06-26 11:42:34 +02:00
Wim Taymans
43d0aa49c1
Route: add more fields
2020-06-24 19:37:50 +02:00
Wim Taymans
d22beb4d05
param: add classes to the PROFILE param
...
classes is an enumeration of class-name/count pairs to enumerate
the kinds of classes and count that are created from this profile.
2020-06-24 19:37:45 +02:00
Wim Taymans
cab833ade7
profiler: add docs for the param contents
2020-06-24 19:37:37 +02:00
Wim Taymans
0f7a488d61
param: add available to Profile params
2020-06-24 19:37:27 +02:00