alsa-endpoint: move to separate service

Let the session manager monitor device objects as well.

Make the alsa-endpoint monitor a separate service instead of letting
the alsa-monitor call it directly. This means that it listens for
device objects and then tries to configure the endpoints when the
device profile is set to active. This does not work yet because we
can't link the nodes to the device yet because there is no way to know
what the global id is of the device we created.

Make sure implementations of objects run in a separate remote connection
because the main remote connection might block while waiting for a
return value from the implementation.

Trigger an object update after all object info is collected. We do this
by triggering a roundtrip after receiving the info event. When we get
the reply, we can assume all info is flushed. This includes the
parameters that we received.
This commit is contained in:
Wim Taymans 2019-11-28 11:13:53 +01:00
parent 8c06760480
commit e1ef01c860
6 changed files with 417 additions and 226 deletions

View file

@ -47,6 +47,7 @@ executable('export-spa-device',
executable('media-session',
'media-session/alsa-midi.c',
'media-session/alsa-monitor.c',
'media-session/alsa-endpoint.c',
'media-session/bluez-monitor.c',
'media-session/media-session.c',
'media-session/metadata.c',