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
b6500bcb80
audioconvert: fix max number of links
2018-05-24 18:09:54 +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
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
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
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
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
06dd7095fc
audioconvert: various fixes
2018-04-19 20:12:24 +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
Wim Taymans
b171361204
stream: for format conversion
2018-04-05 15:38:10 +02:00
Wim Taymans
ba518c0d9b
small fixes
2018-04-05 15:37:34 +02:00
Wim Taymans
0b4cef586f
audioconvert: improvements
2018-04-03 16:29:36 +02:00
Wim Taymans
2cfb206d7c
add audioconvert beginnings
2018-04-03 16:29:36 +02:00
Wim Taymans
a7341ce583
node: fix support for remote driver nodes
2018-04-03 16:29:36 +02:00
Wim Taymans
33a322b96e
graph: new scheduling model
...
Make explicit links between elements that are used to activate the
next element in the graph.
Make subgraphs a special regular node. Make a link from the
subgraph children to the parent so that the subgraph completes when
all the children completed.
Implement a single process function in plugins
Remove many messages in the client node
2018-04-03 16:29:36 +02:00
Wim Taymans
9b0a880afb
simplify things with just 1 process function
...
Make just one process function in spa node. With the io area states
we can do more complicated io patterns.
2018-04-03 16:29:36 +02:00
Wim Taymans
933635f63f
WIP: work on per driver graphs
...
Make a graph per driver node and let nodes that link to this join this
graph
Work on an idea for an even simpler scheduling mechanism.
2018-04-03 16:29:36 +02:00
Wim Taymans
52efeb5181
alsa: only pull once
2018-04-03 16:29:36 +02:00
Wim Taymans
c018d27078
alsa-sink: cleanup
2018-04-03 16:29:36 +02:00