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
Wim Taymans
67754ad3bc
meson: remove sse_args from plain c build
2022-07-18 13:00:12 +02:00
Wim Taymans
ada39f3048
audioconvert: improve noise bits
...
Make a new noise method called PATTERN and use it to add a slow (every
1024 samples) repeating pattern of -1, 0.
Only use this method when we don't already use triangular dither.
See #2540
2022-07-18 11:41:57 +02:00
Wim Taymans
57f63feb92
audioconvert: Fix Wannamaker name
2022-07-18 10:22:21 +02:00
Wim Taymans
9dbd016f9d
audioconvert: fix compilation warnings
2022-07-17 13:15:00 +02:00
Wim Taymans
a4db745a7e
audioconvert: improve noise shaping
...
Reorganize things a little so we can add more noise shapers.
Add sloped triangular noise.
Add wanamaker3 noise shaping.
2022-07-15 12:36:15 +02:00
Wim Taymans
a458b39774
tests: add test for rounding
2022-07-14 10:48:37 +02:00
Wim Taymans
419517fd55
audioconvert: build C versions with -Ofast and -ffast-math
...
Move resampler implementations to a -c version.
Compile some of the functions with other flags to make them more
optimized.
2022-07-14 10:07:07 +02:00
Wim Taymans
0ba3e7c5db
audioconvert: round instead of truncate, to reduce distortion
...
See #2543
2022-07-13 20:56:13 +02:00
Wim Taymans
d18428f8bb
audiconvert: make macros for conversions
...
Make a common macro for float to int and int to float so that we can
change the algorithms easily.
2022-07-13 18:10:25 +02:00