Commit graph

549 commits

Author SHA1 Message Date
Wim Taymans
a37694fde5 alsa: handle invalid timestamp from broken drivers 2018-08-14 16:07:27 +02:00
Wim Taymans
c710b6f6a4 debug: add specific format debug 2018-08-14 15:30:48 +02:00
Wim Taymans
a6ad8f747f remove spalib 2018-08-14 15:29:25 +02:00
Wim Taymans
f532fd8681 don't link with spalib when we don't have to 2018-08-14 14:54:31 +02:00
Wim Taymans
3b1c40f17f pod: move compare and filter functions out of the library 2018-08-14 14:52:32 +02:00
Wim Taymans
60d4473e7b make spa-lib versioned
Fixes #60
2018-08-14 14:41:50 +02:00
Wim Taymans
41c63149f9 audioconvert: remove unused fields 2018-08-03 17:39:28 +02:00
Wim Taymans
a63523650d hooks: enforce version on hook emission
Pass the minimum required version to the hook emission and only call
events when the handler is recent enough.
Add some macros to make event emission easier to read.
2018-08-01 21:41:25 +02:00
Wim Taymans
a72e3cefd7 fmt: fix 24 bits audio 2018-08-01 18:15:17 +02:00
Wim Taymans
ea66ac4075 alsa: update write offset after each write 2018-07-31 17:40:32 +02:00
Wim Taymans
ca898a00db work on separating port mixers
Make it possible to assign an arbitary node as the port mixer.
Also remove dynamically added ports.
Improve negotiation and allocation on the mixer ports
Add some more SSE optimisations
Move float mixer from the audio dsp to the port
Remove pw_node_get_free_port() and do things more explicitly.
Handle mixer ports in client-node
2018-07-31 12:23:35 +02:00
Wim Taymans
f55cb422cb hook: add priv fields for future expansion 2018-07-20 10:34:27 +02:00
Wim Taymans
b67fb6fa5b io: add latency io area 2018-07-19 15:17:21 +02:00
Wim Taymans
0d148654c0 stream: add more timing info
Keep track of queued data in the stream
Pass delay field around to make it possible to know about the raw
software read/write pointer and the hardware one.
Start stream position at 0
2018-07-19 13:30:27 +02:00
Wim Taymans
d3c203b744 spa: use clock info
Use the port clock io area to get timing info and use this as
the time in the graph when we wake up.
2018-07-17 17:37:55 +02:00
Wim Taymans
fba00fb791 clock: remove clock interface
Remove the clock interface, we need to get timing information with an io
area to get the required precision and performance.
2018-07-17 09:50:51 +02:00
Wim Taymans
e5807cd467 small cleanups 2018-07-13 11:43:06 +02:00
Wim Taymans
5a3eee9cac command: remove clock-update 2018-07-12 13:22:50 +02:00
Wim Taymans
f49ab32874 meta: add video damage region metadata
Add damage region meta
Implement damage region in video-src and export-sink
2018-07-09 12:07:30 +02:00
Wim Taymans
c98fbfe0a9 meta: make safer find_meta_data function 2018-07-09 12:04:23 +02:00
Wim Taymans
33427b4cd3 small cleanups 2018-07-08 15:23:56 +02:00
Wim Taymans
8f97e0dd31 audioconvert: add volume control 2018-07-03 21:34:22 +02:00
Wim Taymans
e5c2896fca pod: add padding to float pod 2018-07-03 21:28:48 +02:00
Wim Taymans
2fe392dd30 alsa: limit silence to threshold and available size 2018-06-27 11:11:00 +02:00
Wim Taymans
a13b5cfdc3 increase number of buffers 2018-06-26 16:54:18 +02:00
Wim Taymans
1a786e04f9 resample: improve output buffer size
If we don't have an output size configued, produce output as soon as we
can.
2018-06-25 17:09:45 +02:00
Wim Taymans
9773e2245f fmtconvert: implement merge and convert 2018-06-25 17:09:11 +02:00
Wim Taymans
e9885a8ebb fmt-ops: fix f32 to u8 conversion 2018-06-25 17:08:34 +02:00
Wim Taymans
8f41031933 alsa: clamp threshold to configured max 2018-06-25 17:07:59 +02:00
Wim Taymans
75a18d5c7f audioconvert: fix s24 samples
Various cleanups
2018-06-25 14:34:36 +02:00
Wim Taymans
725e41d715 audioconvert: improve scheduling 2018-06-22 17:27:57 +02:00
Wim Taymans
4afda5405f alsa: fill silence when nothing written 2018-06-22 17:23:52 +02:00
Wim Taymans
91a10d7c9e v4l2: Check device node
Check the device node on init.
Only remove the source once
2018-06-18 11:33:06 +02:00
Wim Taymans
18f0194008 audioconvert: apply ouput range to resampler as well 2018-06-15 12:45:04 +02:00
Wim Taymans
4ac21aea53 stream: remove conversion
Improve audioconvert to also split the output.
Remove the format conversion from the stream and move into the
server client-stream.
2018-06-15 11:31:42 +02:00
Wim Taymans
0c359a6819 spa: make a #define for default rate and channels 2018-06-15 11:26:03 +02:00
Wim Taymans
b53f96eae9 alloc: fix buffer data mem
We also need to skip over the metadata and chunk memory
2018-06-15 11:13:02 +02:00
Wim Taymans
1b37db8add resample: fix resample length
Don't use output sizes as input size for the next channel.
2018-06-08 12:27:19 +02:00
Wim Taymans
1bfb1d9228 loop: return number of dispatched fds and update docs 2018-06-01 11:16:53 +02:00
Wim Taymans
6f5a2701f3 utils: add some more helpers 2018-06-01 11:08:25 +02:00
Wim Taymans
b6500bcb80 audioconvert: fix max number of links 2018-05-24 18:09:54 +02:00
Wim Taymans
5a1bd77fb5 buffer: add dummy field for better alignment 2018-05-24 16:15:40 +02:00
Wim Taymans
2e0e68e46e prefer 48KHz and 32 bit samples when we can 2018-05-24 16:14:53 +02:00
Wim Taymans
2d34a405e8 audioconvert: improve negotiation 2018-05-24 16:09:31 +02:00
Wim Taymans
ef9fcd1093 node: keep better track of driver node
When a session disappears, try to move nodes to another session.
2018-05-17 17:40:08 +02:00
Wim Taymans
69d4144932 audioconvert: handle cleanup and renegotiation 2018-05-17 17:27:14 +02:00
Wim Taymans
c61d579d99 small cleanups 2018-05-17 17:26:09 +02:00
Wim Taymans
65e00631da hook: make safer
Also protect against removal of the next hook by using a cursor.
2018-05-17 17:21:30 +02:00
Wim Taymans
e02b3181da audio-session - >media-session
Also implement video in the media session
Small cleanups
Improve exclusive mode
2018-05-14 13:07:01 +02:00
Wim Taymans
bd3b7e8ee4 alsa: cleanups
Use a periodic timer to catch underruns
Small cleanups
2018-05-11 09:56:46 +02:00