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
Wim Taymans
935de18aa5
port: return async result from use_buffers if any
2019-08-12 16:50:10 +02:00
Wim Taymans
3e674f1646
stream: find right media_class from format
2019-08-12 15:14:39 +02:00
Wim Taymans
c6a7b3eedb
channelmix: implement per channel volume
...
Implement per channel volume on channelmix. Extend control on stream to
take an array of values when possible.
Remove name argument from pw_node_new and pw_device_new. We can pass
this as a property instead.
Improve properties on nodes to more closely match what pulseaudio does.
Don't let the monitor do too much with the udev properties but let the
session manager set the description and icon-names.
Remove some change_mask flags for things that don't change in
introspect. Use the flags to mark changes in -cli and -monitor.
2019-08-12 15:14:39 +02:00
Wim Taymans
1c27f48992
params: add PortConfig debug info
2019-08-12 15:14:39 +02:00
Wim Taymans
b8b2e494bd
audioconvert: improve proxy of internal params
2019-08-12 15:14:39 +02:00
Wim Taymans
4449cf61ad
audioadapter: filter filtering
2019-08-12 15:14:39 +02:00