Commit graph

1431 commits

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