Commit graph

8950 commits

Author SHA1 Message Date
Wim Taymans
f74b59b39f examples: fix volume fade in and out with control 2022-06-16 09:09:27 +02:00
Wim Taymans
c160cd0176 audioconvert2: implement control port
Add a control port when requested in the PortConfig.
Fix the sequence loop.
Make a copy of the sample pointers before changing them.
2022-06-16 09:09:27 +02:00
Wim Taymans
5a60fd7041 audioconvert2: remove unused monitor field 2022-06-16 09:09:27 +02:00
Wim Taymans
194b8e2d97 audioconvert2: emit param change when volume changes 2022-06-16 09:09:27 +02:00
Wim Taymans
0ec41e60ef audioconvert2: fix for quantum changes
Use the offset as the buffer size.
Use the amount of requested - amount of used samples as queued samples.
2022-06-16 09:09:27 +02:00
Wim Taymans
708b57aa64 examples: add control support to adapter
Based on patches by Julian Bouzas  in !222
2022-06-16 09:09:27 +02:00
Wim Taymans
fa9baa6488 examples: fix up adapter-control
Negotiate format, then buffers.
Give quantum-limit as a property when making nodes.
Set clock and position io and fill in rate and duration.
2022-06-16 09:09:27 +02:00
Wim Taymans
db49021104 audioconvert2: add control port processing 2022-06-16 09:09:27 +02:00
Wim Taymans
d5c28149f1 audioconvert2: fix in/out queued samples 2022-06-16 09:09:27 +02:00
Wim Taymans
7fe15ee5db audioconvert2: add beginnings of control ports 2022-06-16 09:09:27 +02:00
Wim Taymans
d3baa16559 audioconvert2: reset node in Flush/Suspend 2022-06-16 09:09:27 +02:00
Wim Taymans
8e6a8a705b audioconvert2: clamp in and output samples
Make sure we don't read or write more samples than available in the
buffers.
2022-06-16 09:09:27 +02:00
Wim Taymans
9e93fe3c36 audioconvert2: remap volumes to right channels
We get the volumes with a channelmap of the input/output, remap this to
the channelmixer internal layout.
2022-06-16 09:09:27 +02:00
Wim Taymans
50c37cc801 audioconvert2: rearrange some code
Move some code around so that we don't have to prepare the output
buffers when there is no input to process.
2022-06-16 09:09:27 +02:00
Wim Taymans
d5e333eea7 audioconvert2: in merge mode, always process quant samples 2022-06-16 09:09:27 +02:00
Wim Taymans
c4d77d421a audioconver2: process monitor ports immediately 2022-06-16 09:09:27 +02:00
Wim Taymans
f45f1acd82 audioconvert2: use the position rate as resampler rate
For the DSP inputs, use the position rate.
2022-06-16 09:09:27 +02:00
Wim Taymans
58abc1ec15 audioconvert2: Improvements
Suggest 2 buffers by default.
Improve rate match flow.
monitor does not need the out_offset
Update rate match when we know the queued samples.
2022-06-16 09:09:27 +02:00
Wim Taymans
2352ae33c3 audioconvert2: add queueing
Use in and out offset to read/write partial input/output.
2022-06-16 09:09:27 +02:00
Wim Taymans
d728076d33 audioconvert2: handle drain 2022-06-16 09:09:27 +02:00
Wim Taymans
1c4058b947 audioconvert2: clamp offset and size 2022-06-16 09:09:27 +02:00
Wim Taymans
229a7b6019 audioconvert2: fix default settings 2022-06-16 09:09:27 +02:00
Wim Taymans
f2c1fe106d audioconvert2: more fixes 2022-06-16 09:09:27 +02:00
Wim Taymans
3806cdaa6f audioconvert2: more improvements
Use a wildcard rate for DSP ports.
Handle wildcards for rate and channels.
Calculate required in/out samples using quantum
Limit monitor and output number of samples.
2022-06-16 09:09:27 +02:00
Wim Taymans
c0f34e9d9d audioconvert2: set blocks a stride for DSP ports
They might not get connected and negotiated but we still need to
use empty buffers in that case.
2022-06-16 09:09:27 +02:00
Wim Taymans
2d6bf00acc audioconvert2: add options 2022-06-16 09:09:27 +02:00
Wim Taymans
75ebdbdfa0 audioconvert2: start working on monitor ports 2022-06-16 09:09:27 +02:00
Wim Taymans
db2cbdf906 audioconvert2: DSP mode without format gives no ports 2022-06-16 09:09:27 +02:00
Wim Taymans
d53311099f audioconvert2: format is optional for convert mode 2022-06-16 09:09:27 +02:00
Wim Taymans
e78a93d358 audioconvert2: fix audio rate property 2022-06-16 09:09:27 +02:00
Wim Taymans
9babdee6cd audioconvert2: do input and output remapping
We remap the input channels to our cannonical layout and then remap it
to the target layout.
2022-06-16 09:09:27 +02:00
Wim Taymans
922a088129 audioconvert2: handle volume 2022-06-16 09:09:27 +02:00
Wim Taymans
0099b80098 audioconvert2: add properties 2022-06-16 09:09:27 +02:00
Wim Taymans
8cb0d9fd7b audioconvert: add channelmix and resample 2022-06-16 09:09:27 +02:00
Wim Taymans
399f638eb1 audioconvert: more work 2022-06-16 09:09:27 +02:00
Wim Taymans
7f9ddd0f15 Add audioconvert2 2022-06-16 09:09:27 +02:00
Barnabás Pőcze
2d060a5a72 INSTALL.md: add note about uninstallation
At the moment, meson stores the list of installed files
in the build directory, and this list must be kept intact
for uninstallation to work. Add a note about it.
2022-06-15 19:11:50 +00:00
Barnabás Pőcze
33a8cf2a23 INSTALL.md: remove unnecessary colon 2022-06-15 19:11:50 +00:00
Barnabás Pőcze
c757ed6d41 INSTALL.md: do not specify sudo for installation
Depending on the installation prefix and destination dreictory,
`sudo` may be unnecessary, so remove it from the command,
but mention that it may be needed.
2022-06-15 19:11:50 +00:00
Barnabás Pőcze
78d5315c76 INSTALL.md: emphasize some things with monospace font
Make some mentions of paths, programs, environmental variables monospace.
2022-06-15 19:11:50 +00:00
Barnabás Pőcze
c195b5eda0 INSTALL.md: specify build directory for (un)installation
Most meson command invocations specify the build directory
in the document, do the same for `meson install` and
uninstallation.
2022-06-15 19:11:50 +00:00
Barnabás Pőcze
f6ddac3f8e INSTALL.md: use meson compile
The "compile" subcommand is available since meson 0.54,
and it provides a backend agnostic way to start the build.
2022-06-15 19:11:50 +00:00
Barnabás Pőcze
24177c3bae INSTALL.md: link to meson and ninja websites 2022-06-15 19:11:50 +00:00
Jonas Holmberg
671fc51d27 pw-cli: Work without readline too
Build and install pw-cli using getline() (standardized in POSIX.1-2008)
if readline is not found.
2022-06-15 16:37:01 +02:00
Wim Taymans
b9fa0e6f28 pw-cat: also set rate/latency for pipe
Move the latency and rate properties to a separate function so that
we can call it in all cases and not just for sndfile io.
Simplify format handling.
2022-06-15 12:35:56 +02:00
Ole Salscheider
3695611b20 channelmix: Assign slev in mixing matrix when generating side/rear from front
This way, PSD upmixing sounds much more natural and is in line with the
original publication.
2022-06-14 10:58:25 +00:00
Wim Taymans
68bafcf166 pulse-server: Don't send more than fragsize chunks
Send exactly fragsize chunks when capturing.

See #2418 and #2434
2022-06-14 11:20:18 +02:00
Peter Oliver
d3597ed149 alsa: Disable IEC958 on Audioengine HD3
As discussed in #2112.
2022-06-14 06:58:41 +00:00
Wim Taymans
8e1f0628f7 channelmix: add 3p1_2 and use this for quad conversions
Simplify some SSE versions
2022-06-13 20:35:00 +02:00
Wim Taymans
c1a61a7941 pulse-server: only append .monitor for capture streams 2022-06-13 20:12:10 +02:00