Wim Taymans
d5e658e8f9
audio-dsp: add support for s32 format as well
2018-04-27 17:30:45 +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
09cec04380
audio-dsp: implement capture
2018-04-26 17:23:27 +02:00
Wim Taymans
60d74d442f
alsa: fix capture
2018-04-26 17:22:17 +02:00
Wim Taymans
7f6ac1162d
stream: improve node.name
2018-04-26 10:26:56 +02:00
Wim Taymans
a6cb6b740c
client-node: make it possible to skip signal
...
Add an option to not signal the remote implementation when we still
have enough data.
2018-04-26 09:49:29 +02:00
Wim Taymans
f784da5505
pipewire: add info to interface load
...
Make it possible to pass info to interface load
Enable color logs
2018-04-26 09:48:19 +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
b3c842a7ec
stream: handle driver sources and sinks
2018-04-25 15:58:38 +02:00
Wim Taymans
9376ba6098
client-stream: improve case without adapter
...
Handle the case where we don't have/need an adapter.
Add the adapter and client-node to the graph
2018-04-25 15:56:39 +02:00
Wim Taymans
013b606a89
node: add driver graph field and schedule it for drivers
2018-04-25 15:55:30 +02:00
Wim Taymans
20692cf173
link: cleanups
2018-04-25 15:54:00 +02:00
Wim Taymans
e9839bade6
autolink: link to specified node unconditionally
2018-04-25 15:50:17 +02:00
Wim Taymans
bad8dac56e
autolink: fix else branch
2018-04-25 15:49:59 +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
b122f86e11
stream: always listen to the remote events
...
So that we can give a stream error on disconnect.
2018-04-24 17:11:21 +02:00
Wim Taymans
c4414bc9bc
node: register ports in the registering event
...
That way we send registry events in order but only signal global_add
when the node is completely registered.
2018-04-24 17:10:17 +02:00
Wim Taymans
5e89e9421c
link: only assume ports registered when registering the link
2018-04-24 17:09:34 +02:00
Wim Taymans
c24044108a
link: always pause ports on deactivate
2018-04-24 17:08:57 +02:00
Wim Taymans
592cdfe90d
global: add registering signal
...
Add a new signal that can be used to register child objects
2018-04-24 17:07:56 +02:00
Wim Taymans
23dbf76e85
spa-node: first activate, then register
2018-04-24 17:07:01 +02:00
Wim Taymans
d7f1be0376
monitor: add time when device was plugged
2018-04-24 17:06:37 +02:00
Wim Taymans
f8222c765e
autolink: prefer latest plugged device
2018-04-24 17:05:48 +02:00
Wim Taymans
d2c545be8d
audio-dsp: handle node remove
...
Handle dynamic samplerate and channels
Improve node names
Keep track of removed nodes
2018-04-24 17:03:56 +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
0dc036ac84
client-stream: improvements
2018-04-19 22:02:11 +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
57cbc5e503
various cleanups
2018-04-19 20:15:30 +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
1f73143d55
connection: improve some return values
2018-04-19 20:04:25 +02:00
Wim Taymans
ae905530ba
monitor: safely remove pending requests
2018-04-19 20:02:06 +02:00
Wim Taymans
63ce244c79
add client-stream
...
A client stream is a more specialized way to send 1 stream to pipewire.
On the client side and receiver side it can do conversion and the
buffer size of the client can be choosen arbitrarily.
2018-04-13 20:06:37 +02:00
Wim Taymans
efa35c2911
node: add option to not register a node
2018-04-13 20:05:46 +02:00
Wim Taymans
fa07400c2e
port_mix: place io area in separate field
...
We would like to remove it from the spa_graph_port...
2018-04-13 20:04:22 +02:00
Wim Taymans
adf8bc7804
client-node: fix buffer data offset
2018-04-13 20:03:14 +02:00
Wim Taymans
04f3044f1c
client-node: implement add/remove port
2018-04-13 20:02:35 +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
eea05cc139
improve format
2018-04-13 19:58:55 +02:00