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
Wim Taymans
78765e8d82
v4l2: set port ref to implementation
2019-08-15 18:40:22 +02:00
Wim Taymans
37b57caf11
loop: pass loop as first argument in function
2019-08-15 18:38:32 +02:00
Wim Taymans
0af87d2685
client-node: keep port buffers in special location
...
Keep the output port buffers in a special mix info. They should
stay there even when the mix is removed and should only be cleared
explicitly with a NULL Format or 0 use_buffers.
2019-08-15 11:49:32 +02:00
Wim Taymans
96ba0fbdeb
client-node: only clear buffers when format cleared
...
.. like we don on the client.
2019-08-14 17:07:22 +02:00
Wim Taymans
87ae7a8011
channelmix: apply channel volumes correctly
2019-08-14 14:56:16 +02:00
Wim Taymans
449d98910b
proxy: remove unncessary link in remote
2019-08-14 12:09:49 +02:00
Wim Taymans
e3d19993e9
stream: EIO on format and buffers when disconnecting
2019-08-14 11:59:00 +02:00
Wim Taymans
35f617157f
proxy: improve proxy cleanup
...
When we destroy a proxy, mark it as zombie until the server removes
the id. This way we can still keep the id locked with a valid entry
and remove it later.
2019-08-14 11:52:59 +02:00
Wim Taymans
d86e462dca
client-node: clean up buffers and other memory
2019-08-14 11:45:28 +02:00
Wim Taymans
c879b85884
export-sink: add more buffer space
2019-08-14 11:44:37 +02:00
Wim Taymans
6a8fe43a0c
improve debug
2019-08-14 11:44:16 +02:00
Wim Taymans
23812807ad
pulse: update module
2019-08-13 18:48:05 +02:00
Wim Taymans
e4a6782c48
stream: always require the amount of buffers
2019-08-13 18:47:30 +02:00
Wim Taymans
d5b13a1de2
stream: improve control update
...
When setting the volume, update the stream controls with the new values
and update the internal state with the control_info event.
2019-08-13 18:46:27 +02:00
Wim Taymans
f6fca48459
client-node: always remove the previous io memory
2019-08-13 18:43:22 +02:00
Wim Taymans
fa792a91a0
fmtconvert: always prefer just 1 buffer
2019-08-13 18:42:40 +02:00
Wim Taymans
697976f416
audioconvert: only emit node_info once in add_listener
2019-08-13 18:42:21 +02:00
Wim Taymans
ab069d45be
stream: improve debug
2019-08-13 18:41:55 +02:00
Wim Taymans
e827d65659
stream: make the control info const
2019-08-13 18:41:22 +02:00
Wim Taymans
990357d724
node: fix method index
2019-08-13 15:34:04 +02:00
Wim Taymans
b90c5b925a
examples: add example of memfd upload
...
Add an example of a client that allocates the buffer memory and
uploads the fds to the server.
2019-08-12 16:54:05 +02:00