Commit graph

4710 commits

Author SHA1 Message Date
Wim Taymans
a4ff7296b2 remote: don't try to update the source when it's gone 2018-10-24 15:45:03 +02:00
Wim Taymans
f5c78cc2a2 remote: use right io_position enum 2018-10-24 15:44:39 +02:00
Wim Taymans
06fe3af7fb update submodules 2018-10-24 10:35:41 +02:00
Wim Taymans
1ffee101fb jack: use spa_io_position 2018-10-24 10:34:49 +02:00
Wim Taymans
723d4d9db7 client-node: use spa_io_position
Remove old internal structure
2018-10-24 10:34:28 +02:00
Wim Taymans
2206deb3e8 alsa: implement set_io and handle position io
Use position io for deciding the size of the output buffers in
alsasrc
2018-10-24 10:27:57 +02:00
Wim Taymans
4aab226047 io: add size of current cycle to position 2018-10-24 10:27:06 +02:00
Wim Taymans
0395897856 node: only run the graph when we are the selected driver
Update submodules
2018-10-23 16:52:28 +02:00
Wim Taymans
98992d88d3 jack: add jack_port_rename 2018-10-23 16:50:59 +02:00
Wim Taymans
2a1328533f stream: use pw_stream_update_properties 2018-10-23 16:50:17 +02:00
Wim Taymans
34db9be04b io: add io areas for position information 2018-10-23 16:14:17 +02:00
Wim Taymans
66de372e9a add node set_io function
Also allow setting io areas on nodes. We need this to set the
graph clock and period size on the nodes.
2018-10-23 12:31:41 +02:00
Wim Taymans
a121164df9 stream: handle update_properties before connect 2018-10-22 16:11:57 +02:00
Wim Taymans
d2570142fa resample: don't output 0 buffers 2018-10-22 11:32:53 +02:00
Wim Taymans
8b2781b494 submodule update 2018-10-19 17:15:56 +02:00
Wim Taymans
a14e16806f mainloop-glib: destroy the source 2018-10-19 17:15:19 +02:00
Wim Taymans
926392a701 update pulseaudio 2018-10-19 17:06:33 +02:00
Wim Taymans
e4c94bf12d proplist: fix compilation 2018-10-19 17:00:25 +02:00
Wim Taymans
01aa9a5960 introspect: implement enough to make gnome-control-center work
We can see sources and sink and change the volume/mute of streams
2018-10-19 16:57:03 +02:00
Wim Taymans
faccc8d506 implement more methods
Implement extensions with dummies
Implement some more introspection, enough to make pavucontrol start
Implement volume changes on sink_input
2018-10-19 13:30:20 +02:00
Wim Taymans
5498d9c726 glib-mainloop: implement glib mainloop support 2018-10-19 13:27:58 +02:00
Wim Taymans
693fd3a366 meson: only add dependencies when requested 2018-10-19 13:21:52 +02:00
Wim Taymans
e59a7c0848 media-session: set node volume 2018-10-18 15:16:59 +02:00
Wim Taymans
f2e03077a8 audioconvert: add volume and mute property
Expose volume and mute property in channelmix and use this
in audioconvert.
2018-10-18 15:04:40 +02:00
Wim Taymans
842abad9e1 client-stream: implement enum_param and set_param better
Make it possible to enumerate the parameters and get/set properties
when available on the adapter.
2018-10-18 12:59:31 +02:00
Wim Taymans
c0a6c83227 client-stream: add media.class on node
Add the media.class property on the node as well.
2018-10-18 12:56:10 +02:00
Wim Taymans
fd5e315a10 media-session: handle default media roles better
Use the media.class to derive a better role.
2018-10-18 12:53:30 +02:00
Wim Taymans
79e976e5d7 audioconvert: small cleanups 2018-10-18 12:47:46 +02:00
Wim Taymans
c6551cead4 protocol-native: return errno when server failed
this gives a better error code
2018-10-18 12:36:53 +02:00
Wim Taymans
c28d0f1282 protocol-native: -1 is for invalid fd, not 1 2018-10-18 12:36:44 +02:00
Wim Taymans
88d6e52cc7 add systemd socket activation 2018-10-18 12:36:10 +02:00
Wim Taymans
e29229b6e0 protocol-native: return errno when server failed
this gives a better error code
2018-10-18 11:15:27 +02:00
Wim Taymans
6266cd0f48 protocol-native: -1 is for invalid fd, not 1 2018-10-18 11:14:52 +02:00
Wim Taymans
e5dcacdefb add systemd socket activation 2018-10-18 10:47:21 +02:00
Wim Taymans
a086fc5c0c port: just number unknown channels
Ports with unknown channel layout are just numbered.
2018-10-17 12:45:50 +02:00
Wim Taymans
6590d3a258 alsa: sanitize channel map
Remove unknown channels
Remove duplicate channels
Fill unknown channels with default channels
2018-10-17 12:44:05 +02:00
Wim Taymans
e22762d502 link: also handle success case 2018-10-17 10:56:47 +02:00
Wim Taymans
4b4f85afe5 link: renegotiate when no format set
When the port has lost the format, renegotiate.
2018-10-17 10:40:03 +02:00
Wim Taymans
d27674722a improve debug and error handling 2018-10-17 10:02:44 +02:00
Wim Taymans
6c7d2d0e1e alsa-utils: enumerate channels using channel map
When there is a channelmap, return format descriptions for each layout
otherwise return a range.
2018-10-16 18:10:43 +02:00
Wim Taymans
7186bd2583 gst: remove old format id conversion code 2018-10-16 17:13:27 +02:00
Wim Taymans
e079552dc8 link: fix negotiation
Don't use the current best format as a filter to get the current format.
It might be different and then we fail.
2018-10-16 17:12:12 +02:00
Wim Taymans
d91e545e1d stream: set state to unconnected when unconnecting 2018-10-16 17:08:19 +02:00
Wim Taymans
4615c5781a test-v4l2: call process before looking at io 2018-10-16 17:07:49 +02:00
Wim Taymans
ad35e8ef3b pod: fix pod compare 2018-10-16 16:50:06 +02:00
Wim Taymans
aa5bc5846f v4l2: fix preoperty get 2018-10-16 16:49:41 +02:00
Wim Taymans
6267e69638 add uninstalled target
Also update submodules
2018-10-16 11:30:38 +02:00
Wim Taymans
7e513ea243 alsa: clamp the period size to something sensible
some clients (sweep) want to negotiate the smallest possible period
size we can support, which is expressed in bytes and independent
of samplerate, format and number of channels.

For files with high samplerate and channelcount, this results in periods
of 8 frames, which is too small to handle.

Instead round up the period size to something we can likely handle,
taking into account the samplerate and number of channels.
2018-10-16 10:57:53 +02:00
Wim Taymans
b742d7533e stream: only queue buffer when filled
We need to completely fill the buffer before we queue the buffer. If we
don't do this, we might have reported a larger writable size than
what we actually can do and that makes clients fail.

This is not entirely completely correct because a client can expect to
have its buffer sent as soon as it completes the write. We should really
just queue the data in a separate queue when we run out of buffers.
2018-10-16 09:58:14 +02:00
Wim Taymans
f74a0fb9bd stream: implement _set_name 2018-10-16 09:56:12 +02:00