Wim Taymans
7763154239
a2dp: increase temp buffer
...
ldac frames are larger and need more space.
See #449
2020-12-11 19:23:30 +01:00
Wim Taymans
d71259a02c
alsa: handle batch devices
...
For batch devices that are not usb devices, lower the period and
add an extra period of heardoom to avoid xruns.
See !330
2020-12-11 17:38:27 +01:00
Wim Taymans
6bc8ab18dc
bluez5: aptx wants S24 input sample format
2020-12-11 15:13:59 +01:00
Wim Taymans
8b52e44836
bluez5: support other ldac bit depth
...
Make the format_info const in codec_init, we just need to read the
final negotiated format in some cases.
Add some more ldac bit depths we support.
2020-12-11 13:30:11 +01:00
Wim Taymans
8cb1db5a61
alsa-udev: add property to emit ACP devices
2020-12-11 10:10:20 +01:00
Haochen Tong
7dd69651b8
test-audioconvert: fix test failure after 7d73f0b8
2020-12-10 14:30:28 +01:00
Wim Taymans
0237821b38
a2dp: reorder codecs a little
...
Move higher quality codecs first.
2020-12-09 20:56:29 +01:00
Wim Taymans
7768a87a0b
alsa: make it possible to fix format
2020-12-09 20:33:57 +01:00
Wim Taymans
7d73f0b8d0
audioconvert: use some defines for the max ports
2020-12-09 20:32:44 +01:00
Wim Taymans
e1b8f24d17
a2dp: improve LDAC
...
When we update the quality, get the new num_blocks.
Set the channel positions correctly.
2020-12-09 20:29:22 +01:00
Wim Taymans
34a9b1dc1a
a2dp: set channel map
2020-12-09 18:08:24 +01:00
Wim Taymans
29fe356fdf
a2dp: copy aptx config in configure
2020-12-09 18:00:42 +01:00
Frédéric Danis
8bc711ce4d
bluez5: backend-ofono: Add mSBC support
...
oFono tries to use the best codec when setting up the audio connection, so
the codec to use is known during call to `acquire` function, after the
transport has been created.
To get the codec before creating the transport, an audio connection is
set-up and discarded during `ofono_audio_card_found()`. It should return
the best codec available, which should not change during the time the
remote is connected.
mSBC can be enabled by passing "bluez5.msbc-support=true" parameter to
pipewire-media-session.
mSBC is automatically selected if remote device supports it.
2020-12-09 16:28:30 +00:00
Wim Taymans
bd4663b3cc
v4l2: log open/close as info
2020-12-09 17:24:54 +01:00
Wim Taymans
4e7be858e4
node: Add ParamBegin/End
...
Use these commands to mark the begin and end of a series of Param
enumerations and configuration, like when doing format negotiation. The
idea is that the device can remain open while we do this.
Use this in adapter when negotiating a format.
2020-12-09 17:10:52 +01:00
Wim Taymans
ec77979890
alsa-pcm: default to max channels
...
When nothing else is specified, suggest the max number of channels
for a device.
See #467
2020-12-09 12:10:13 +01:00
Wim Taymans
d776a0917d
alsa: refactor dll code
2020-12-09 12:09:40 +01:00
Wim Taymans
78e7a45e6e
audioconvert: remap channels
...
We also need to remap channels for the splitter and merger.
Remember the port-config format and its channel layout. Internally,
we use a canonical channel layout which is simply all channels sorted
by id. Remap the channels accordingly.
Fixes #445
2020-12-07 14:21:21 +01:00
Wim Taymans
2d8a7809f1
audioconvert: set port-config flags
2020-12-07 14:20:56 +01:00
Wim Taymans
6566f52a7e
a2dp-sink: don't accept more data when we need to flush
...
See #449
2020-12-06 15:56:04 +01:00
Wim Taymans
d2ff341263
a2dp: use right struct for ldac
...
Fixes #449
2020-12-06 13:03:05 +01:00
Wim Taymans
136fc028a5
prefer S24 over S16 formats
...
Prefer the higher quality over performance.
Fixes #457
2020-12-06 10:37:40 +01:00
Wim Taymans
316a96d501
improve debug
2020-12-06 09:32:12 +01:00
Wim Taymans
6d494c120f
bluez5: improve debug
2020-12-05 20:56:56 +01:00
Wim Taymans
7996b44036
a2dp: fail if no ldac samplerate was found
2020-12-05 20:16:25 +01:00
Kamil Sołtysik
0a8a854721
Fix codec names in comments
2020-12-05 19:23:27 +01:00
Wim Taymans
c3c1a1184c
a2dp: use unsigned for sizes
2020-12-05 08:30:14 +01:00
Wim Taymans
4797018e4f
ldac: fix sample rates
...
Fix selection of sample rates.
Higer samplerates are not supported by the library so disable them.
See #449
2020-12-05 08:18:01 +01:00
Wim Taymans
635a378ca4
bluez5: don't error on 0 decode length
...
It can happen for the first frame when the codec is filling up.
2020-12-04 12:00:42 +01:00
Wim Taymans
a592eb60a8
bluez5: fix buffer filled check
...
Just check if the encode buffer is full. The max number of frames
has been obtained before.
2020-12-04 11:59:40 +01:00
Wim Taymans
106d597305
bluez5: add aptX and aptX HD codecs
...
They need the libopenaptx libraries from
https://github.com/pali/libopenaptx
2020-12-04 11:34:38 +01:00
Wim Taymans
9818582abe
a2dp: fix aac codec compilation
2020-12-03 19:03:38 +01:00
Wim Taymans
73b13e8ad5
a2dp: deinit codec_data in stop
2020-12-03 18:11:06 +01:00
Wim Taymans
8bf0b7b4db
a2dp: delay codec init to after acquire
...
Some codecs need the MTU as a parameter so wait until we acquire
with creating the codec context.
Make some method to enumerate the parameters from the transport
config and use that for the EnumFormat param.
2020-12-03 18:05:57 +01:00
Wim Taymans
67694a1491
a2dp-ldac: free handle on error
2020-12-03 11:18:27 +01:00
Wim Taymans
908e3f3d1f
bluez5: only register available A2DP encoder/decoder
2020-12-03 11:09:13 +01:00
Wim Taymans
dd8573a5c2
bluez5: add ldac codec
2020-12-03 10:16:14 +01:00
Wim Taymans
3363544d05
bluez5: use start_decode to skip the header
2020-12-02 17:01:22 +01:00
Wim Taymans
57886c1198
spa: add audio.position support in null sink
2020-12-02 12:59:50 +01:00
Wim Taymans
4c486c7ae3
spa: remove media.class from null-audio-sink
...
We can use it with othe media.class values as well
2020-12-02 11:47:08 +01:00
Wim Taymans
73e0bb255a
props: add container property to PROP_INFO
...
So we can mark a property should be inside a container.
Use this info in pw_stream to construct properties.
2020-12-01 12:58:18 +01:00
Wim Taymans
d098c2ba86
acp: add option to disable hardware mixer
...
See #426
2020-12-01 10:43:39 +01:00
Wim Taymans
75a4cff450
improve debug
2020-11-29 16:38:36 +01:00
Wim Taymans
b8300c663b
improve some errors
...
Silence some -ENOENT warnings, they can happen when the object we
are introspecting is destroyed
2020-11-29 16:22:50 +01:00
Wim Taymans
a417ffcd38
alsa: add timerfd based playback example
2020-11-27 10:30:54 +01:00
Wim Taymans
119678e8d1
Revert "alsa: sync to latest acp"
...
This reverts commit f611e34456 .
There is something wrong with this
2020-11-26 12:40:44 +01:00
Wim Taymans
f611e34456
alsa: sync to latest acp
2020-11-26 11:16:31 +01:00
Wim Taymans
4d62899375
acp: sync versions
2020-11-26 10:42:26 +01:00
Wim Taymans
d77c563ae8
null-audio-sink: return fixed values for rate/channels when set
2020-11-26 10:21:36 +01:00
Wim Taymans
ddfb310087
alsa-pcm: improve recover from suspended state debug
2020-11-26 09:24:57 +01:00