Commit graph

5302 commits

Author SHA1 Message Date
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
Wim Taymans
32afd8d228 video-src: the size is a range 2018-10-31 10:57:26 +00:00
Wim Taymans
aeb77e37f7 gst: don't dup, use DONT_CLOSE flag on fd_allocator 2018-10-31 09:36:19 +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
Jan Grulich
a813afd810 Fix build with c++ compilers 2018-10-31 07:48:28 +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
ee72023629 media-session: try to connect to the node directly
If we can't find a session for the target node, try to connect to the
node directly if it exists.
2018-10-30 16:30:16 +00:00
Wim Taymans
e1583146ff video-src: Add alternative style format pod example 2018-10-30 15:34:54 +00:00
Wim Taymans
83517e22ac media-session: set permissions on restricted access clients 2018-10-29 08:47:45 +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
1c450ce2c1 client: add check_access signal
Fire the check access signal right after creating a client to make it
possible to set permissions.
2018-10-29 08:44:56 +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
bbf718cc98 global: add revoke and grant methods
Add methods to grant or revoke access to a global for a client.
2018-10-27 17:26:17 +01:00
Wim Taymans
bd9b74f2d8 global: add list of resources in the global
Remove the list of resources from objects to the global
2018-10-27 17:24:15 +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
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
723d4d9db7 client-node: use spa_io_position
Remove old internal structure
2018-10-24 10:34:28 +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
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
e59a7c0848 media-session: set node volume 2018-10-18 15:16:59 +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
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
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
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
8377d7e8d1 stream: implement properties update 2018-10-16 09:53:56 +02:00
Wim Taymans
3ebad5c182 client-stream: update properties when client info changes 2018-10-16 09:52:47 +02:00
Wim Taymans
3018c17622 remote: also keep track of ParamList params 2018-10-15 17:55:14 +02:00
Wim Taymans
0fe0d5dd85 media-session: also enable session for video 2018-10-15 17:51:47 +02:00
Wim Taymans
87d30a0e04 port: don't keep port flags
Always query the port flags when we need them because they can change
and there is therefore no need to keep them around.
2018-10-15 17:49:54 +02:00
Wim Taymans
2b096993ed media-session: only enable session when format is known 2018-10-15 12:46:50 +02:00
Wim Taymans
b3189bb5e7 media-session: handle port without node
Don't crash when the node proxy is destroyed before the port proxy.
2018-10-11 15:56:49 +02:00
Wim Taymans
bfcaec75c7 daemon: put version in config
Fixes #88
2018-10-11 09:41:30 +02:00
Wim Taymans
805240258b Improve channel positions
Sort the channel positions as the suggested format
Use the session node channel positions as the target profile
2018-10-09 20:11:01 +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
9dba8f3a36 stream: add flush and drain command 2018-10-09 16:33:54 +02:00
Wim Taymans
754782f302 add some more debug 2018-10-09 15:17:31 +02:00