Wim Taymans
0d1cef6b3a
audioconvert: move some things around
...
To make it easier to add other implementations later.
Improve selection of resampler function
2020-04-03 18:03:42 +02:00
Wim Taymans
bf3ebb67aa
neon: add alignment hints
2020-04-03 14:26:02 +02:00
Wim Taymans
167460a9bc
fmt-ops: add arm32 optimizations
2020-04-03 14:09:46 +02:00
Wim Taymans
a81e269a7e
neon: fix neon detection and compilation
2020-04-03 13:30:08 +02:00
Wim Taymans
ab3a6d3441
Fix some compiler warnings on arm
2020-04-03 13:18:02 +02:00
Wim Taymans
df5721ff47
neon: fix taps arguments
2020-04-03 10:31:55 +02:00
Wim Taymans
a87337cae8
neon: fix fallback
2020-04-03 10:22:58 +02:00
Wim Taymans
22e590c7cc
stream: somewhat implement drain better
...
Abuse the xrun callback in the adapter to emit the drained signal until
almost all data left the resampler. This needs more work with a proper
signal and a buffer flag to signal the drain.
2020-04-02 17:46:50 +02:00
Wim Taymans
1b3aaba206
fmt-ops: set the right flags on optimized functions
...
Or else we could select an avx2 version on a non-capable CPU.
Fixes #227
2020-04-02 17:34:47 +02:00
Wim Taymans
b87c0a9270
clean up options
...
make sure we can use -v for verbose mode
2020-04-02 14:34:02 +02:00
Wim Taymans
1fd5be7101
neon: fix resample interpolation
2020-04-01 13:07:52 +02:00
Wim Taymans
74665de68e
alsa-seq: keep track of last port
...
Keep track of the last port and only iterate until that port.
2020-03-31 17:52:22 +02:00
Gleb Popov
b552863ec9
Don't include alloca.h on FreeBSD.
2020-03-31 12:16:45 +02:00
Wim Taymans
e6675ff2a8
alsa-seq: unsubscribe when paused/suspended
...
When we are suspended or paused, unsubscribe from the ports so that
we don't block the hardware devices.
See #225
2020-03-31 12:14:52 +02:00
Wim Taymans
9b24a84ce6
fmt-ops: fix copy/paste error
2020-03-30 11:02:13 -04:00
Wim Taymans
527dc89365
fmt-ops: add neon optimizations for format conversion
2020-03-30 10:59:21 -04:00
Wim Taymans
67a5dd35be
resample: add neon optimizations
2020-03-27 08:27:11 -04:00
Wim Taymans
397787ec3e
spa-resample: getopt_long returns an int
2020-03-26 18:10:11 +01:00
Wim Taymans
a1846c9780
udev: don't loop forever on errors
...
When we can't find the v4l2 device id, unref the device and continue
instead of looping forever and consuming all memory.
Fixes #219
2020-03-24 15:54:58 +01:00
Wim Taymans
a880012e72
fmtconvert: order formats better
...
Place float and higher resolution formats first so that they are
selected first.
2020-03-24 11:47:41 +01:00
Wim Taymans
b8a1ea1d3a
fmt-ops: fix 32 bit compilation
...
_mm256_extract_epi64 is only for 64 bits, add workaround for 32
bits.
Fixes #220
2020-03-23 14:18:10 +01:00
Wim Taymans
c4cf5e6629
bluez5: protect against NULL transport
...
The transport can be destroyed at any time, make sure we don't
crash when it does.
2020-03-23 13:49:30 +01:00
Wim Taymans
3cb019de51
vulkan: only set flags when buffer is in the io area
2020-03-19 18:09:30 +01:00
Wim Taymans
a9b191971c
v4l2: fix buffer recycle
...
Only set the OUTSTANDING flag when we placed the buffer in an
io area and need to recycle it later.
When we captured a frame, put it in the queue. Then dequeue it
into the io area after recycling buffers.
Fixes #217
2020-03-19 13:15:49 +01:00
Wim Taymans
441fdb2333
alsa: fix buffer recycle
...
We only set the OUT flag when we put the buffer on an io area and
might need to recycle later.
Before placing the output buffer into the io area, recycle any
buffer that might be left in there.
Only emit the ready callback when we have some data queued.
2020-03-19 13:12:49 +01:00
Wim Taymans
acccccd2c0
Use SPA_IO_BUFFERS_INIT when we can
...
We should not have to initialize the state to NEED_DATA, anything
that is not HAVE_DATA is good. Also we need to set the buffer to
INVALID because else it might be recycled.
2020-03-19 13:09:21 +01:00
Wim Taymans
07f935a5ed
add some more debug
2020-03-19 13:00:35 +01:00
Wim Taymans
b6dde8d76f
vulkan: use image height of current cycle for buffer size
2020-03-18 17:21:38 +01:00
Wim Taymans
64e00165d5
Add MIT licensed compute example instead
...
Fixes #218
2020-03-18 17:20:36 +01:00
Wim Taymans
8a2af908a7
small optimizations
...
Add some SPA_LIKELY
Enable FASTPATH by default
2020-03-18 15:43:29 +01:00
Wim Taymans
57f84ae5ae
fmt-ops: use gather to read samples
2020-03-18 11:41:14 +01:00
Wim Taymans
55633ebf9a
fmt-ops: move AVX
2020-03-18 10:06:54 +01:00
Wim Taymans
949dba7bfc
fmt-ops: flesh out avx optimizations
2020-03-17 17:27:47 +01:00
Wim Taymans
72d70b0f48
Add and fix some more warnings
...
Fixes #216
2020-03-17 11:37:56 +01:00
Wim Taymans
4dcd0dacc9
fmt-ops: add more benchmark cases
2020-03-16 16:45:20 +01:00
Wim Taymans
37d3864949
merger: add some SPA_LIKELY
2020-03-16 16:12:34 +01:00
Wim Taymans
3a911dfe3b
fmt-ops: add avx2 optimized version
...
Only one optimized version but the sse2 version are compiled with
the avx2 flags so that they get optimized better.
2020-03-16 16:11:29 +01:00
Wim Taymans
6eca935e61
also test optimized versions
2020-03-16 13:08:33 +01:00
Wim Taymans
fd3dd14ebe
fmt-ops: add optimized f32 to s16 stereo conversion
2020-03-16 13:04:21 +01:00
Wim Taymans
0548fbf690
fmt-ops: fix bug in s32 to f32 conversion
2020-03-16 12:57:21 +01:00
Wim Taymans
cb7bfdf98a
sprinkly SPA_LIKELY/UNLIKELY around
2020-03-16 12:52:28 +01:00
Wim Taymans
9613f16caf
alsa-pcm: ignore error after recover
...
If we get an error after receovering, ignore it and assume we filled
the buffer completely. We need to do this or otherwise we stop the
timer and audio stops.
2020-03-12 10:52:52 +01:00
Pantelis Antoniou
4db9a1e96d
audiotestsrc: Make audiotestsrc work
...
This small patch makes audiotestsrc work.
You will need to uncomment the following lines in pipewire.conf
add-spa-lib audiotestsrc audiotestsrc/libspa-audiotestsrc
create-object adapter node.name=my-test factory.name=audiotestsrc
If you use pw-record, use --list-targets to find the target id and
record using --target=<n>
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
2020-03-05 18:41:53 +01:00
Wim Taymans
c4b2be2aad
use true and false for boolean properties
...
So that it's easier to convert them to booleans in introspection
code later.
2020-03-03 18:17:46 +01:00
Wim Taymans
8096984b7e
testsrc: remove checks in suspend and pause
...
We don't need to have a format or buffers to be able to pause.
2020-03-03 13:17:28 +01:00
Wim Taymans
e31bfc78ac
videotestsrc: mark as driver by default
2020-02-21 16:49:53 +01:00
Wim Taymans
9e625441ad
videotestsrc: implement enum port-io
2020-02-21 16:25:55 +01:00
Wim Taymans
90968bbb40
testsrc: implement suspend
2020-02-21 16:24:41 +01:00
Wim Taymans
ee617682c3
audioconvert: implement Portconfig query
2020-02-21 14:59:38 +01:00
Wim Taymans
d8bac82e72
improve logging
...
Remove some harmless warnings from the log
Remove some excessive info logging
2020-02-21 11:09:34 +01:00