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
Wim Taymans
f4f2e4bf68
small cleanups
2018-04-13 19:57:34 +02:00
Wim Taymans
03b914405d
client-node: remove transport area
...
We don't need the area anymore
2018-04-12 10:12:40 +02:00
Wim Taymans
10fff4b2f8
node: add better node autolink
...
Add node media, category and role properties and use those to select
the target node.
Tag the DSP node with the right media.class
2018-04-12 09:55:03 +02:00
Wim Taymans
bd27b32c39
stream: install converter based on format
2018-04-12 09:50:12 +02:00
Wim Taymans
e33c76f728
stream: map buffers when using converter
2018-04-12 09:48:49 +02:00
Wim Taymans
96c87c3f7f
stream: only install converter io once
2018-04-12 09:47:43 +02:00
Wim Taymans
b07c4932cd
stream: remove client_reuse
...
We can't have client-reuse with the client-node interface.
2018-04-12 09:45:07 +02:00
Wim Taymans
8b74a3c0d2
small cleanups
2018-04-12 09:42:19 +02:00
Wim Taymans
c9fb320987
remote: improve mapped memory tracking
2018-04-11 10:55:12 +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
11f42d6262
port: add filter to pw_port_for_each_filtered_param
2018-04-09 09:33:09 +02:00