Wim Taymans
e918f9f77c
fix sign confusion
2019-01-07 15:52:42 +01:00
Wim Taymans
098b80aa0c
protocol: pass state as id
2019-01-07 15:39:59 +01:00
Wim Taymans
de796d34ad
pod: handle pod copy failure
...
Don't check NULL in pw_spa_pod_copy so that we can check for allocation
failures when the functions returns NULL.
2019-01-07 15:36:19 +01:00
Wim Taymans
0984096089
free() can handle NULL just fine so skip the check
...
Fixes #117
2018-12-19 17:47:25 +01:00
Wim Taymans
02585c6ca9
merger: add monitor ports
...
Add an option to enable monitor ports. Use this in the audio dsp
to expose monitor ports on the audio dsp nodes.
2018-12-11 16:35:40 +01:00
Wim Taymans
4d780e87aa
client-stream: activate peaks resampler when monitoring
2018-12-05 16:00:52 +01:00
Wim Taymans
bdc97ae140
client-stream: fix cleanup
...
first let the client-stream node cleanup and then destroy our
client-node.
2018-12-04 16:20:57 +01:00
Wim Taymans
7c54b4b89c
audio-dsp: improve properties
2018-11-28 13:24:33 +01:00
Wim Taymans
417c1cd756
device: add media.class to global properties
2018-11-28 11:12:36 +01:00
maxice8
3b117d9ecf
module-rtkit: define RLIMIT_RTTIME in case it isn't defined.
...
musl libc doesn't define RLIMIT_RTTIME
2018-11-26 13:24:27 +01:00
maxice8
b911c36793
meson: don't add systemd_dep to dependencies if systemd option is false.
2018-11-26 13:24:23 +01:00
Wim Taymans
7bc9c1ebfe
node: remove info from node interface
...
Replace with info event emited when callbacks are set. This makes it
easier to implement dynamic changes.
2018-11-26 12:41:40 +01:00
Wim Taymans
57e94f7bc4
monitor: remove enum_items
...
Make the monitor and device emit the info and items when the callbacks
are set. This makes it easier to implement the monitor because there
is much less state to keep around and invalidate etc.
Rework the monitors
Add bluez5 device
2018-11-26 12:18:53 +01:00
Wim Taymans
5b303b5883
protocol: add name to device
2018-11-23 19:29:04 +01:00
Wim Taymans
3ae39180ca
improve monitors
2018-11-23 19:14:47 +01:00
Wim Taymans
e23c209a5f
alsa: implement monitor and device
2018-11-23 17:41:39 +01:00
Wim Taymans
e1bd12e599
device: add device object
...
Make a device object, let the v4l2 monitor create device objects
The device object is responsible for dynamically creating nodes.
2018-11-23 12:43:47 +01:00
Wim Taymans
85f2e93c54
Relicense as MIT/X11
...
Remove some obsolete files
2018-11-05 17:48:52 +01:00
Wim Taymans
e107d75248
protocol-native: improve permission checks
2018-11-05 15:27:13 +01:00
Wim Taymans
eb0a561f8c
permissions: pass pw_permission struct around
...
Use a pw_permission struct to express permissions of object.
Improve client permissions, add/remove globals when permissions
are changed.
2018-11-05 15:02:08 +01:00
Wim Taymans
f994b7eb70
protocol-native: only add fd if client active
2018-11-05 14:58:13 +01:00
Wim Taymans
8089d856c8
protocol: add more debug and check right permissions
2018-10-31 16:31:15 +00:00
Wim Taymans
0bc6ba8559
node: allow for setting driver root
...
The driver root is the graph that should be run when a remote driver
starts the graph and can be different from the node itself when it's
part of a subgraph like in client-stream.
2018-10-31 10:57:26 +00:00
Nicolas Dufresne
02e3713cf1
rtkit: Allow disabling with DISABLE_RTKIT
...
Allow disabling real time thread, this is useful to run inside
valgrind without being killed.
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
2018-10-31 07:49:35 +00:00
Wim Taymans
df4a5efb89
client-node: don't try to modify the clock
...
The clock position should match the buffer timestamps and we should
not try to change it. If a client wants to align stream it will
have to do this itself.
2018-10-30 16:32:25 +00:00
Wim Taymans
9364253886
module-access: use check_access signal
...
Add restricted, blacklisted and flatpak access types.
2018-10-29 08:46:09 +00:00
Wim Taymans
dfde479b20
protocol-native: put client properties in global
2018-10-29 08:43:53 +00:00
Wim Taymans
5088bcce60
module-access: make new access module
...
Rename the flatpak module to access module. The access module should
either let the client connect or mask the client busy while the
permissions are being configured. It is then up to the session manager
to collect the right permissions of the objects and configure those
in the client.
Let the media session monitor the clients and configure the permissions.
2018-10-27 17:33:21 +01:00
Wim Taymans
e026f55c97
protocol: add more methods on client
...
Add method to get and set permissions on a client
Add method to send error to client.
2018-10-27 17:31:03 +01:00
Wim Taymans
2accfc84d7
Add version to hello
2018-10-27 17:19:50 +01:00
Wim Taymans
537598726b
protocol-native: first bind, then register
...
First let the client bind to the core, then register the client.
This way, the client is ready to receive methods on the core.
2018-10-27 17:10:01 +01:00
Wim Taymans
723d4d9db7
client-node: use spa_io_position
...
Remove old internal structure
2018-10-24 10:34:28 +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
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
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
a086fc5c0c
port: just number unknown channels
...
Ports with unknown channel layout are just numbered.
2018-10-17 12:45:50 +02:00
Wim Taymans
d27674722a
improve debug and error handling
2018-10-17 10:02:44 +02:00
Wim Taymans
3ebad5c182
client-stream: update properties when client info changes
2018-10-16 09:52:47 +02:00
Wim Taymans
1edf2dd210
client-stream: just stop feeding the graph in paused
...
Stop feeding the graph in paused instead of going to idle. We might
want to idle in the future when we can get the clock resume as well.
2018-10-09 16:34:37 +02:00
Wim Taymans
caa3e83eb1
client-stream: link controls after profile was set
2018-10-08 18:19:59 +02:00
Wim Taymans
63333adca3
port: don't keep port_info around but make copy
2018-10-08 13:00:18 +02:00
Wim Taymans
e1ec1bad23
spa: add profile param
...
Make a profile param that can be used to configure a node with a
certain profile.
Use the profile to configure the ports on splitter and merger and
get rid of the dynamic ports.
Use the profile to configure the client-node and audio-dsp.
Don't try to link more ports than available between client-node and
dsp.
2018-10-08 11:45:52 +02:00
Wim Taymans
f81588f439
client-stream: there is always and adapter
2018-10-04 16:36:09 +02:00
Wim Taymans
8f1ebe0c7e
client-stream: enum_params works to the client node
2018-10-04 16:32:42 +02:00
Wim Taymans
8de1d03feb
audioconvert: use splitter/merger
...
Remove the split/merge functionality from fmtconvert.
Make audioconvert use the splitter/merger.
Let client-stream decide what mode to configure audioconvert in.
2018-10-04 16:03:14 +02:00
Wim Taymans
d8827e2109
client-stream: add started variable
2018-10-04 15:53:49 +02:00
Wim Taymans
0e2885b599
client-node: make the client parent
2018-10-03 20:09:47 +02:00