Commit graph

30 commits

Author SHA1 Message Date
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