Wim Taymans
f86ca63597
client-node: refuse params on the wrong side of our mixers
2019-08-22 18:00:55 +02:00
Wim Taymans
42f144e097
jack: fix frame time
2019-08-22 14:30:44 +02:00
Wim Taymans
93fbe121d0
node: tweak CPU load values
...
JACK uses a CPU calculation with an exponential moving average
with degree of 1/2.
2019-08-22 14:06:59 +02:00
Wim Taymans
45f0e7c35b
jack: signal xrun callbacks
...
Keep track of the number of xruns and signal the callback when
it changes.
CPU load must be expressed in percent.
2019-08-22 13:56:39 +02:00
Wim Taymans
6ad4adc194
node: add xrun callback
...
Let alsa emit xrun callbacks.
Write the xrun stats to the activation area of the node so all
clients can read it.
2019-08-22 13:25:38 +02:00
Wim Taymans
84071d2cac
jack: implement statistics
2019-08-22 13:25:01 +02:00
Wim Taymans
570575f052
pod: cleanup event and command init
2019-08-22 12:47:27 +02:00
Wim Taymans
c9e177827b
node: calculate cpu time
2019-08-22 10:59:53 +02:00
Wim Taymans
33cac9932c
jack: report cpu load
...
Find the driver activation and use it to get stats.
2019-08-22 10:59:16 +02:00
Julian Bouzas
3a43fac0c2
sco-sink: fix several timeout issues
2019-08-22 00:07:04 +02:00
Wim Taymans
1a4713ee3a
jack: update
2019-08-21 20:37:36 +02:00
Wim Taymans
2c25b8c216
jack: always unmap old io area
2019-08-21 20:36:29 +02:00
Wim Taymans
9351b14bf4
remote-node: avoid map and unmap for our own node
2019-08-21 20:35:28 +02:00
Wim Taymans
8ed3cfe679
audioconvert: be more careful when clearing buffers
...
clean_convert() removes the internally negotiated formats but
it does not set the format (or buffers) of the externally visible
ports. Therefore, don't clear the buffers_set flags.
Instead, clear the buffers_set flag when we explicitly reconfigure
the ports, when we also clear the format.
Also clear the port buffers when we set a NULL format.
Fixes #178
2019-08-21 19:52:53 +02:00
Wim Taymans
f8d5b3947a
jack: update
2019-08-21 18:37:57 +02:00
Wim Taymans
44b7eb4630
jack: implement some more
...
Implement some parts of metadata and uuid
2019-08-21 18:37:02 +02:00
Wim Taymans
f746c29768
jack: more improvements
...
Fill in the position and clock fields with jack values.
Advertize PARAMS correctly.
2019-08-21 15:20:57 +02:00
Wim Taymans
6f5e6568c9
node: warn when we can't set position on a driver
2019-08-21 15:16:59 +02:00
Wim Taymans
dd69b1dd7d
alsa: advertize node params correctly
2019-08-21 13:05:52 +02:00
Wim Taymans
5b9869200f
jack: add jack source and sink
...
Makes a device with a source and sink that automatically
proxies all physical ports from jack. Jack then drives our
PipeWire pipeline from its own thread.
2019-08-20 20:35:41 +02:00
Wim Taymans
d00c641559
protocol: we need to read Fd into int64_t
2019-08-20 10:51:58 +02:00
Julian Bouzas
4b202b9656
a2dp-sink: fix infinite loop when buffer could not be encoded
2019-08-20 00:22:40 +02:00
Wim Taymans
4f31ca5383
vulkan: only send out buffers when ready
...
Keep track of the buffer that is rendering and when it finishes,
move it to the ready queue.
2019-08-19 18:16:32 +02:00
Wim Taymans
38169ec5db
vulkan: update some properties
2019-08-19 16:47:02 +02:00
Wim Taymans
97b3c6d1d5
travis: disable vulkan option
2019-08-19 16:39:24 +02:00
George Kiagiadakis
0af5e981e0
pipewire-cli: add interface filter in the list-objects command
...
so that you can now write, for example, "list-objects Node"
and see only the nodes, instead of seeing all the objects, which
can be hundreds...
2019-08-19 16:35:13 +02:00
George Kiagiadakis
f1d60d6009
protocol-native: downgrade getsockopt SO_PEERSEC error to warning
...
Getting SO_PEERSEC on distributions that do not use a LSM by default,
results always in a "protocol error", which is just annoying and not
a real problem for pipewire's operation.
2019-08-19 16:34:18 +02:00
Wim Taymans
9799b0e679
vulkan: add vulkan compute source
...
Add a source that runs a compute shader and exports the GPU buffer
as a DmaBuf to the clients.
2019-08-19 16:32:22 +02:00
Wim Taymans
edbd9eb077
video: add support for RGBA with 16 and 32 bit float
2019-08-19 16:22:12 +02:00
Wim Taymans
09eb121099
videotestsrc: fix format description
2019-08-19 16:21:11 +02:00
Wim Taymans
d9050fcb72
connection: use right size
2019-08-16 22:57:24 +02:00
Wim Taymans
8db4a797aa
core: remove parent_id from the global event
...
Remove the parent_id from the global event. Remove the parent
and owner from the global object.
Use properties instead to mark parents and owners of objects.
Properties are easier to control for client exported objects and
usually a simple parent/child is not enough. For example, a client
exported node has the client as a parent but also the factory that
created the node.
2019-08-16 22:11:42 +02:00
Wim Taymans
a560e8b92f
jack: use properties instead of parent_id
2019-08-16 22:10:38 +02:00
Wim Taymans
2308318b39
use properties instead of parent_id
2019-08-16 22:10:08 +02:00
Wim Taymans
32ce5c4deb
properties: add function to copy list of keys
2019-08-16 21:54:49 +02:00
Wim Taymans
774e11bc10
keys: rename device.id to device.bus-id
2019-08-16 21:52:32 +02:00
Wim Taymans
9807e7fdab
pulse: sync
2019-08-16 15:23:35 +02:00
Wim Taymans
f9fce3cb30
stream: use the stream drain method to drain
2019-08-16 15:23:05 +02:00
Wim Taymans
23a875e2bf
context: remove core listeners
2019-08-16 15:22:38 +02:00
Wim Taymans
84ec90da2d
proxy: add refcount to keep the proxy alive in demarshal
...
We need to keep the proxy alive during demarshal because the callbacks
might decide to destroy the proxy.
2019-08-16 15:19:19 +02:00
Wim Taymans
58fd46ebd1
remote: remove our listener when the core_proxy is destroyed
2019-08-16 15:18:49 +02:00
Wim Taymans
23fe46b698
stream: implement drain
...
Set the drained flag.
If the server calls us and we're out of buffers and the drained
flag is set, emit the drained signal.
Deactivate the node on disconnect.
Make sure we have no more pending process callbacks in the invoke
queue before when we pause.
2019-08-16 15:14:23 +02:00
Wim Taymans
7ad111de47
connection: return INVALID for invalid fds
2019-08-16 15:12:30 +02:00
Wim Taymans
2f28e59c63
protocol: use Fd pod for fd indexes for easier debugging
2019-08-16 15:11:04 +02:00
Wim Taymans
8da7222c7e
protocol-native: avoid NULL pointer access
2019-08-16 15:09:16 +02:00
Wim Taymans
aa2e2f192b
client-node: dont' send peer_added with our own node
...
.. because it's just ignored in the client anyway.
2019-08-16 15:08:21 +02:00
Wim Taymans
47f0f1f9a3
loop: flush items in invoke from thread
...
When we do invoke from the loop thread, first process the pending
invoke items before handling ours. This can be used to sync the
invoke queue before cleanup.
2019-08-16 15:04:27 +02:00
Wim Taymans
954c96632c
channelmix: try to handle 1 channel as MONO/FC
2019-08-16 15:03:16 +02:00
Wim Taymans
6f16d6ff8e
example: remove some unused fields
2019-08-16 15:02:48 +02:00
Wim Taymans
dff1cfe13e
fix example
2019-08-15 19:07:03 +02:00