Wim Taymans
8669fd03a6
initialize variables better
2020-05-20 15:24:25 +02:00
Wim Taymans
eb93f259e0
avoid some useless assignments
2020-05-20 15:24:25 +02:00
Wim Taymans
4f60dcadc6
vulkan: check results of stat
2020-05-20 15:24:25 +02:00
Wim Taymans
f1dc3d9728
vulkan: fix macro variables
2020-05-20 15:24:25 +02:00
Wim Taymans
ff4a314022
use fstat when we can
...
This avoids having things change between the stat and open.
2020-05-20 15:24:25 +02:00
Wim Taymans
45c62dfde6
a2dp: check and log return value of fcntl
2020-05-20 15:24:25 +02:00
Wim Taymans
a19bab4b16
avoid following NULL pointers
2020-05-20 15:24:25 +02:00
Wim Taymans
1b2f64917e
format: handle NULL type info
2020-05-20 15:24:25 +02:00
Wim Taymans
98780cdbe1
utils: fix spa_assert_se
2020-05-18 18:59:49 +02:00
Wim Taymans
fea16cca14
channelmix: support Midi volume control
2020-05-13 15:41:50 +02:00
Wim Taymans
498cb91750
channelmix: fix enum_params
...
0 should be returned when enum is done or else we loop forever.
2020-05-13 15:41:47 +02:00
Martin Koch
fefdc26f84
plugin: workaround for AVX intrinsic: "_mm256_setr_m128()" missing in GCC
...
Signed-off-by: Martin Koch <martin.koch@ese.de>
2020-05-13 08:53:43 +00:00
Martin Koch
cee1a26be6
build: skip unsupported compiler option
...
-Wimplicit-fallthrough for gcc version before 7.x
Signed-off-by: Martin Koch <martin.koch@ese.de>
2020-05-13 08:11:30 +00:00
Wim Taymans
4000409c80
channelmix: allow smaller control buffers
2020-05-12 18:01:47 +02:00
Wim Taymans
055c8d6b63
channelmix: improve control handling
...
We can't write to the input control buffer so keep track of the
control offset ourselves ans skip what we already handled.
2020-05-12 17:52:06 +02:00
Julian Bouzas
5e37131cf8
channelmix: add control port to process control sequences
...
Channelmix has now a control port that receives control sequences. Each Control
of those sequences are handled individually by channelmix in order to change
properties when a specific amount of samples have been processed.
Co-authored-by: Wim Taymans
2020-05-12 17:51:16 +02:00
Wim Taymans
8d5571fa4c
audiotestsrc: fix function signature
2020-05-12 17:23:35 +02:00
Wim Taymans
0a54249718
fix error reporting
...
dlopen and dlsym don't set errno
2020-05-12 17:23:30 +02:00
Wim Taymans
42af40675d
v4l2: mark data CORRUPTED
...
We need to mark the data corrupted in the chunk, not buffer flags.
2020-05-09 19:38:16 +02:00
Wim Taymans
8dcd6c4417
improve debug
2020-05-09 19:21:55 +02:00
Wim Taymans
1ca7713057
implement NEAREST flag
...
when the NEAREST flag is set and the param could not be completely
set, set_param should return 1 to indicate this.
2020-05-08 17:52:30 +02:00
Wim Taymans
12b8e095c7
v4l2: log error when format doesn't match
2020-05-08 17:35:57 +02:00
Wim Taymans
8513150bdf
resample: use calloc to make sure fields are 0
2020-05-08 16:13:34 +02:00
Wim Taymans
b53cc6feb8
improve debug
...
Log device name and stream direction
Don't log xrun errors in alsa, we signal the xrun signal, which should
take care of logging if any.
Log quantum in xrun.
ratelimit xrun messages.
2020-05-08 12:13:59 +02:00
Wim Taymans
6203fb967c
log: make line==0 suppress the file/line/func output
...
Disable file/line/func output for pod debug
2020-05-07 20:42:52 +02:00
Wim Taymans
79fd4c941f
debug: Don't debug EBUSY params
...
When a device returned EBUSY when enumerating params, don't try to
enumerate (and fail) them again.
2020-05-07 17:15:46 +02:00
Wim Taymans
9174e5ca20
parser: handle SPA_POD_None() in parser
...
SPA_POD_None will have a NULL as the destination address of the pod
value, so don't try to write to that.
2020-05-06 15:45:19 +02:00
Wim Taymans
995fafa5be
alsa-seq: remove the queue for system announce port
...
The announce messages are not put in a queue so we don't need
to allocate one (and a timer). Without the timer, we avoid wakeups
and consume less power.
See #225
2020-05-06 11:19:46 +02:00
Wim Taymans
713f242853
audioadapter: handle -ENOENT from enum_param
2020-05-03 11:45:06 +02:00
Wim Taymans
e83bf8a33f
log: use printf attribute for log fallback
...
Fixes #233
2020-05-01 11:18:28 +02:00
Wim Taymans
2220d5b9b6
support: add dummy driver
...
Add a dummy driver node with high priority. All nodes not linked
to a device node will be linked to this when they require a driver.
2020-04-27 20:21:31 +02:00
Wim Taymans
93211549a4
log: add option to disable line numbers
2020-04-27 11:18:49 +02:00
Wim Taymans
7f271ef982
system: don't use _GNU_SOURCE in public header
...
Use a forward declaration instead for itimerspec.
Fixes #230
2020-04-24 13:11:32 +02:00
Wim Taymans
03027153e2
system: define _GNU_SOURCE for itimerspec
...
Fixes #230
2020-04-24 12:54:08 +02:00
Wim Taymans
4cb2d58e89
factory: do more version checks
...
So that we don't accidentally load an old plugin.
2020-04-22 18:10:26 +02:00
Wim Taymans
539be881ba
plugin: increment version and avoid inspecting old versions
...
There are incompatible version 0 plugins around (the compat ones)
that crash spa-inspect. Increment the version number to avoid this.
2020-04-22 17:52:54 +02:00
Wim Taymans
aafd1e7298
improve debug
...
Improve log so that debug level 3 gives a reasonably readable overview
of what is going on.
2020-04-22 12:47:18 +02:00
Wim Taymans
e73431d541
resample: use right define to compile sse functions
...
See #220
2020-04-14 20:29:27 +02:00
Wim Taymans
d1beeeade0
loop: handle file fd with eventfd
...
epoll return EPERM for file fds like stdin/stdout because they are
always ready for IO. use an idle source to handle these cases.
2020-04-14 18:05:45 +02:00
Wim Taymans
c446dfb1d6
resample: improve debug
2020-04-12 20:46:59 +02:00
Wim Taymans
2bb2e50eef
audioadapter: stop when the follower needs data
2020-04-12 20:44:56 +02:00
Wim Taymans
c1f3593ef0
audioadapter: small cleanup
2020-04-12 20:44:19 +02:00
Wim Taymans
b18dacde9a
spa: improve draining
...
Make a new DRAINED status.
Place the DRAINED status on an input IO when a stream is out of
buffers and draining.
All nodes that don't have HAVE_DATA on the input io need to copy
it to the output io and return the status. This makes sure the
DRAINED is forwarded and nodes return DRAINED from _process()
DRAINED on the resampler flushes out the last queued samples and then
forwards the DRAINED in the next iteration.
Emit a new drained signal from the context when a node returns
DRAINED. Use this to trigger the drained signal in the stream.
2020-04-07 17:58:43 +02:00
Wim Taymans
fdb5911e86
resample: use a 0 sized buffer to drain
2020-04-06 18:01:38 +02:00
Wim Taymans
7febf7ea25
improve debug
2020-04-06 18:01:19 +02:00
Wim Taymans
95906ca52e
audioconvert: fix compilation
2020-04-04 20:03:11 +02:00
Wim Taymans
a5b0553328
Fix some -Wenum-conversion errors
...
Make pw_direction and spa_direction the same
Explicitly cast some enums or use the right enums
2020-04-04 20:03:08 +02:00
Wim Taymans
6937ec5e63
audioconvert: compile c version with right flags
2020-04-03 18:12:04 +02:00
Wim Taymans
28b0da626e
Add missing file
2020-04-03 18:05:29 +02:00
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