Wim Taymans
73073eb33f
alsa: redirect alsa output to log file
...
Make a custom snd_output object that redirects output to the log
file.
2022-08-05 14:01:37 +02:00
Wim Taymans
0dc5a08bfd
alsa: debug hw_params
2022-08-05 13:00:44 +02:00
Wim Taymans
a9ced45d4b
acp: add debug for open and close
...
Debug open and close calls.
Make pa_alsa_close to close the device.
2022-08-05 12:31:28 +02:00
Wim Taymans
34c1c1614e
alsa: add some more debug
...
See #2614
2022-08-04 14:25:24 +02:00
Wim Taymans
1118c35956
acp: handle some more mixer NULL cases
...
These are in pulseaudio handled with asserts.
Fixes #2612
2022-08-04 09:06:28 +02:00
Wim Taymans
6c5ec409bf
audioconvert: Improve buffer params
...
Scale the default size of the buffer with the sample rate conversion
factor.
2022-08-03 17:21:48 +02:00
Wim Taymans
6144d037ce
acp: handle NULL mixer_handle
...
It can be NULL for some UCM configs.
Fixes #2612
2022-08-03 12:34:13 +02:00
Wim Taymans
e22e522ab8
alsa-pcm: limit the target to the buffer size
...
Don't try to wait for more samples than can fit in the ringbuffer.
See #2603
2022-08-03 12:22:38 +02:00
Wim Taymans
a23d154952
audioconvert: always use DSP rate on DSP ports
...
Always use the DSP rate on DSP ports for format conversion, not the
previous used rate.
This avoids some resampler reconfiguration as it negotiates a non-passthrough
rate conversion and then switches to passthrough when the rate correction is
done to match the graph rate.
See #2614
2022-08-03 11:32:10 +02:00
Frédéric Danis
e7f17e1523
bluez5: use lower case for UUIDs
...
BlueZ uses lower case version for the UUIDs in its DBus interface.
This will simplify future UUID tests.
2022-08-03 06:15:54 +00:00
Frédéric Danis
76adcfaabe
bluez5: Add AAC decoder
2022-08-02 11:12:25 +02:00
Isa Mert Gurbuz
f32017c874
bluez5: Disable hw-volume for Soundcore Motion B
2022-08-01 19:34:39 +00:00
Pauli Virtanen
3579857a64
bluez5: opus: tweak ABR
...
Count retry from last non-good interval. Minimum retry interval 5sec.
2022-08-01 19:23:07 +00:00
Pauli Virtanen
5724d405d6
bluez5: opus: better default bitrates
...
Use smaller bitrate caps, as it's not necessary to use all bandwidth
available.
2022-08-01 19:23:07 +00:00
Barnabás Pőcze
aab15433c8
spa: aec: rename first argument of methods in spa_audio_aec_methods
...
The first parameter is a pointer to the object implementing the aec
interface, the name `object` is better than `data`.
2022-07-23 08:58:18 +00:00
Barnabás Pőcze
44e7817702
spa: aec: mark aec method tables const
2022-07-23 08:58:18 +00:00
Barnabás Pőcze
c2d357b5af
spa: aec: null: remove unnecessary cast
2022-07-23 08:58:18 +00:00
Barnabás Pőcze
e88df3a324
spa: aec: null: initialize variable when defined
2022-07-23 08:58:18 +00:00
Barnabás Pőcze
98c0092ee7
spa: aec: null: specify vtable version
2022-07-23 08:58:18 +00:00
Barnabás Pőcze
c9cc2fe6dc
spa: aec: mark handle factory objects static
2022-07-23 08:58:18 +00:00
Barnabás Pőcze
a506ddd799
spa: aec: webrtc: use static_cast to cast from void *
2022-07-23 08:58:18 +00:00
Barnabás Pőcze
35c011b955
spa: aec: webrtc: simplify webrtc_get_spa_bool()
2022-07-23 08:58:18 +00:00
Huang-Huang Bao
c5bce24f01
bluez5: correct type of arguments to a dbus function
...
The 3rd "value" arguments to dbus_message_iter_append_basic() should be the address of a basic-typed value.
Fixes #2591
2022-07-23 16:35:01 +08:00
Frédéric Danis
343ae88bbf
bluez5: Simplify DBus append_basic_* helpers
...
String key is used in all calls to append_basic_variant_dict_entry() and
append_basic_array_variant_dict_entry().
2022-07-22 19:10:26 +00:00
Frédéric Danis
e560468800
bluez5: Removed unused variables in meson.build
2022-07-22 18:46:35 +02:00
Wim Taymans
b1b8b0985a
audioconvert: fix rounding on arm neon
...
Add the neon functions to the test
2022-07-21 17:24:55 +02:00
Pauli Virtanen
67c41336db
bluez5: fix minor issues / warnings
...
Make static analysis happier.
2022-07-21 07:12:22 +00:00
Wim Taymans
38b3d027ec
audioconvert: remove S32_SCALE
...
We don't use it, we use S24_SCALE and then shift. Also adjust the
S32_MIN and S32_MAX values, based on S24 values.
2022-07-20 17:45:34 +02:00
Barnabás Pőcze
5cdf4d6c64
spa: libcamera: remove unnecessary cast
2022-07-20 10:48:24 +00:00
Barnabás Pőcze
8bccad3ade
spa: libcamera: only add "api.libcamera.location" property when available
2022-07-20 10:48:24 +00:00
Barnabás Pőcze
4072f63ab6
spa: libcamera: make cameraLoc() return a static string
...
There is no compelling reason to use `std::string`.
2022-07-20 10:48:24 +00:00
Barnabás Pőcze
237174b7f2
spa: libcamera: mark two functions static
...
`cameraLoc()` and `cameraModel()` are only used in one
translation unit.
2022-07-20 10:48:24 +00:00
Barnabás Pőcze
89d5d51bb3
spa: libcamera: fix build error due to return type change
...
libcamera commit 1c4d4801850559d6f919eef5c2ffbaf7675dbc46
changed the return type of libcamera::ControlList::get()
to be std::optional<T>. Adapt the code to this change.
Fixes #2575
2022-07-20 10:48:24 +00:00
Wim Taymans
0bf7911b37
audioconvert: tweak resampler window some more
...
By: Kevin Yin
R->A calculation removed: it wasn't valid anyway. No behavior change.
Placed existing A in there directly.
cosh window -> strangely tweaked exp window: remove the discontinuity
at the border, which is wrong for a window function. If A changes in the
future, this window will be better. With the current A, you will not be
able to tell the difference on any graph. (Of course, it's not a cosh
window anymore.)
Fixes #2574
2022-07-20 10:18:47 +02:00
Wim Taymans
5a8af97a40
audioconvert: use SPA_CLAMPF to clamp floats
...
It generates better assembler.
2022-07-19 17:59:14 +02:00
Pauli Virtanen
434cc6a90b
bluez5: add Opus as a (Pipewire-specific) A2DP vendor codec
...
Support Opus as A2DP vendor codec.
The specification for vendor A2DP codec is our Pipewire-specific one, so
it is compatible only with devices running Pipewire.
2022-07-19 13:44:56 +00:00
Pauli Virtanen
bf52b2acff
bluez5: add opus-a2dp-0.5 caps
2022-07-19 13:44:56 +00:00
Pauli Virtanen
b6d237fa43
bluez5: add OPUS-A2DP specification
2022-07-19 13:44:56 +00:00
Pauli Virtanen
0dc8255057
bluez5: handle sink vs. source correctly in get_supported_codecs
...
Make a distinction between sink and source endpoints when determining
supported codecs.
2022-07-19 13:44:56 +00:00
Pauli Virtanen
889d507e9c
bluez5: enable logging for codecs
...
Add codec->set_log for setting the logging object for each codec.
Bump codec API.
2022-07-19 13:44:56 +00:00
Pauli Virtanen
d29aafd857
bluez5: enable A2DP duplex volume boost only if codec asks for it
...
Make A2DP volume boost conditional on a flag the codec sets.
Bump codec API version.
2022-07-19 13:44:56 +00:00
Pauli Virtanen
92b2b44954
bluez5: pass global setting dict to codec select_config / preference_cmp
...
The device is not know at SelectConfiguration time, so the settings
argument in select_config is currently unused. Pass on a global settings
dict instead, so that codec parameters can be configured.
Also add settings argument to caps_preference_cmp.
Bump codec API version.
2022-07-19 13:44:56 +00:00
Pauli Virtanen
a8eb146d39
bluez5: tell the codec whether endpoint is sink or source
...
Add a flag A2DP_CODEC_FLAG_SINK to incidate a sink endpoint.
Also enum_config and caps_preference_cmp may need to know whether the
codec is being configured for SRC or SNK. Also add the flags argument to
init_props.
Bump codec API version.
2022-07-19 13:44:56 +00:00
Pauli Virtanen
8d66b2b2f7
bluez5: a2dp-source: more duplex codec workarounds
...
a2dp-sink writing duplex data to the BT socket breaks a2dp-source source
polling, also in A2DP source role. Hence, use the timer-based polling
workaround always in duplex mode.
2022-07-19 13:44:56 +00:00
Pauli Virtanen
f593a44069
bluez5: a2dp-sink: support duplex codec
...
Allow running a2dp-sink using the duplex codec, when the local endpoint
is the A2DP sink.
2022-07-19 13:44:56 +00:00
Wim Taymans
aaa015d0c0
avb: fix compilation on big endian
2022-07-19 13:06:52 +02:00
Wim Taymans
3c87541219
Revert "mixer-dsp: mix a quantum of data at a time"
...
This reverts commit ecc0eecf0f .
The io-position is not actually set or updated on the mixer node so it
might use the wrong values.
Fixes #2525
2022-07-18 21:34:57 +02:00
Pauli Virtanen
d82cd959e7
audioconvert: add different channel remap testcase
2022-07-18 20:33:05 +02:00
Pauli Virtanen
977d6e2321
audioconvert: fix input remapping
...
As currently implemented, input format convert channel remap is no-op.
This is because although the out_datas array is permuted, the original
pointer array is not referred to later on, so the only effect is that
the temporary data array is stored in permuted order.
Fix the permutation by permuting the pointers only for the conversion
step.
2022-07-18 20:31:46 +02:00
Wim Taymans
4eb81b13ac
audioconvert: add test
...
Add test for F32_7p1_remapped to F32P_7p1_remapped
See #1324
2022-07-18 18:55:30 +02:00