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
Wim Taymans
97473c8e8b
audioconvert: fix scheduling
2018-05-10 11:28:59 +02:00
Wim Taymans
22b8a6f01a
logger: make info lines green
2018-05-10 11:28:25 +02:00
Wim Taymans
6d79ce2589
small cleanups
2018-05-10 11:28:02 +02:00
Wim Taymans
1ede97577b
small cleanups
2018-05-08 12:23:23 +02:00
Wim Taymans
d93dd5ec93
graph: remove io from graph port, it's not needed
2018-05-08 12:21:57 +02:00
Wim Taymans
249110eb79
graph: trigger does not need to be a callback
2018-05-08 12:19:54 +02:00
Wim Taymans
7bb0e4da85
small cleanups
2018-05-08 10:42:17 +02:00
Wim Taymans
b8a37381da
alsa: adjust latency based on buffer size
2018-04-30 09:27:20 +02:00
Wim Taymans
c2cd56d903
loop: inline frequently used function
2018-04-27 17:29:39 +02:00
Wim Taymans
3e68dee7ff
alsa-source: don't use htimestamp, it's not accurate
2018-04-27 17:29:11 +02:00
Wim Taymans
db77de9258
fmtconvert: only produce output when need_buffer
2018-04-26 17:23:47 +02:00
Wim Taymans
60d74d442f
alsa: fix capture
2018-04-26 17:22:17 +02:00
Wim Taymans
8961e6d1c7
logger: add colors
...
Add colors and option to enable them
2018-04-26 09:47:24 +02:00
Wim Taymans
e74c41bdf6
splitter: fix bpf
...
Number of channels does not influence bytes-per-frame for
non-interleaved audio.
Add layout to get_format
2018-04-26 09:29:10 +02:00
Wim Taymans
ced868c208
graph: improve debug
2018-04-25 15:49:08 +02:00
Wim Taymans
f9bda23e56
a2dp-sink: remove sources only once
2018-04-24 17:21:23 +02:00
Wim Taymans
08484b92f5
bluez5: handle remove of devices
...
Fix a2dp-sink for new scheduling
2018-04-24 17:02:19 +02:00
Wim Taymans
4c9c939527
alsa-monitor: keep track of cards and devices
...
Keep better track of cards and devices so that we can remove them
without having to open (the removed device).
2018-04-24 17:01:04 +02:00
Wim Taymans
0eb73f0f06
loop: add back the destroy loop
...
We need to keep the sources around until all sources are dispatched. If
not: source A and B are active after poll, A is dispatched first and
removes B, when B is then dispatched, the memory is gone. We don't
free the source but simply mark the fd invalid and move it do a
destroy list. After all sources are dispatched we destroy.
This is safe because removing a source is either done from the poll
context (with invoke) or when holding the right locks.
2018-04-20 16:28:47 +02:00
Wim Taymans
d165b3b842
pipewire: improve memory cleanup
...
Add method to unload a spa interface.
Various other memory cleanups
2018-04-20 16:27:19 +02:00
Wim Taymans
ebd13a2a74
loop: blocking wait
...
Release the locks before waiting.
2018-04-19 22:01:18 +02:00
Wim Taymans
64d1307684
alsa: do the wakeup differently
...
Directly write from the process thread, reduces potential latency.
2018-04-19 22:00:42 +02:00
Wim Taymans
550b544aa0
test: also test resampler
2018-04-19 20:12:51 +02:00
Wim Taymans
06dd7095fc
audioconvert: various fixes
2018-04-19 20:12:24 +02:00
Wim Taymans
3b8ffdfb4e
io: make status as flags
...
This way we can return status of both input and output
2018-04-19 20:10:47 +02:00
Wim Taymans
e125f9a9a7
alsa: add format layout
2018-04-19 20:10:07 +02:00
Wim Taymans
30d8df7d25
add layout to format
2018-04-19 20:09:10 +02:00
Wim Taymans
e869d5bcb0
splitter: add channel splitter
...
Splits a buffer with multiple non-interleaved channels to multiple
buffers, each with 1 channel.
2018-04-13 20:00:30 +02:00
Wim Taymans
f4f2e4bf68
small cleanups
2018-04-13 19:57:34 +02:00
Wim Taymans
8b74a3c0d2
small cleanups
2018-04-12 09:42:19 +02:00
Wim Taymans
008df86c8f
small cleanups
2018-04-11 10:54:47 +02:00
Wim Taymans
d88b88444d
resample: use speex resampler for now
2018-04-10 16:54:15 +02:00
Wim Taymans
b3b47d3fe9
more work on audioconvert
...
Implement audioconvert as a complex element of fmtconver,
channelmix and resample.
Make copying resample just to test.
Plug the converter into pw_stream.
2018-04-10 15:54:29 +02:00
Wim Taymans
de36330917
handle: make method to get size
2018-04-09 10:06:17 +02:00
Wim Taymans
53e03019da
buffer: more work on buffer allocation
...
Separate buffer sizes in the info. Make it possible to not set
data pointers for when we use memfd for the memory.
Improve format conversion.
Work on in-place conversion in test-convert2
2018-04-09 09:30:56 +02:00
Wim Taymans
142ef38df9
stream: more work on converter
2018-04-06 18:39:40 +02:00