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
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
19067dde17
buffer-alloc: add helpers for buffer allocation
...
Add some helpers to calculate buffers memory sizes and
construct buffer structures in memory.
2018-04-06 17:44:33 +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
aada47252d
pipewire: add helper to load spa plugin
2018-04-05 15:34:33 +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
7db732e2e2
spa: some more defines
2018-04-03 16:29:36 +02:00
Wim Taymans
36f7578aa8
export-sink: small cleanup
2018-04-03 16:29:36 +02:00
Wim Taymans
8481356f4b
stream: add const to format event
2018-04-03 16:29:36 +02:00
Wim Taymans
95d45e4206
proxy: reuse id when server removed it
...
reset number of fds before we begin reading.
When we destroy the proxy, just clear the id. We then remove the id
completely when the server sends a remove_id request. This avoid
reusing the proxy id before the server has finished with it.
Add some debug
2018-04-03 16:29:36 +02:00
Wim Taymans
41a3a924ef
stream: add pw_stream_new_simple
...
Make a new method that also makes a remote and connects to it
transparently. This saves some lines of code.
2018-04-03 16:29:36 +02:00
Wim Taymans
f9ceedb714
stream: improve stream API
...
Simplify the stream API. make just 2 methods to queue and dequeue
buffers. Make just one callback when new buffers can be dequeued.
Add support for driver nodes such as the video-src.
Pass a pw_buffer structure to add/remove_buffer and make it possible
to attach metadata to it. This makes it a lot easier to implement
the gstreamer pipewire pool.
Call the stream process function from the main loop and use a lockfree
ringbuffer to pass buffers between the threads. Make it possible to
also call process from the RT thread.
unmap the buffer data when needed.
2018-04-03 16:29:36 +02:00
Wim Taymans
97547d726f
client-node: track io areas per mixer
2018-04-03 16:29:36 +02:00
Wim Taymans
a10d7a4e90
remote: improve memory handling
...
Better tracking of buffer memory and io areas
Activate/deactivate areas
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
c725f1f7b6
stream: rewrite using remote node
2018-04-03 16:29:36 +02:00
Wim Taymans
97952e9312
video-src: mark as driver node
2018-04-03 16:29:36 +02:00
Wim Taymans
811ea2b1c9
client-node: manage io areas
...
Manage the memory of io areas
2018-04-03 16:29:36 +02:00
Wim Taymans
76ed4e9468
node: add finish hook
...
Add a finish hook to signal when the graph of a driver node
finished.
2018-04-03 16:29:36 +02:00