From 1b6060ef5f10de09da23481e36f1ea4b131a257b Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 8 Mar 2021 15:14:40 +0100 Subject: [PATCH] media-session: schedule more rescan for pending changes Trigger/delay a rescan until the profiles, routes and stream volume are restored. See #789 --- src/examples/media-session/default-profile.c | 2 ++ src/examples/media-session/default-routes.c | 3 +++ src/examples/media-session/restore-stream.c | 3 +++ 3 files changed, 8 insertions(+) diff --git a/src/examples/media-session/default-profile.c b/src/examples/media-session/default-profile.c index 818e363ea..b7f4adf28 100644 --- a/src/examples/media-session/default-profile.c +++ b/src/examples/media-session/default-profile.c @@ -245,6 +245,8 @@ static int set_profile(struct device *dev, struct profile *pr) dev->active_profile = pr->index; + sm_media_session_schedule_rescan(dev->impl->session); + return 0; } diff --git a/src/examples/media-session/default-routes.c b/src/examples/media-session/default-routes.c index e151b84c7..538e75702 100644 --- a/src/examples/media-session/default-routes.c +++ b/src/examples/media-session/default-routes.c @@ -417,6 +417,9 @@ static int restore_route_params(struct device *dev, const char *val, struct rout pw_device_set_param((struct pw_node*)dev->obj->obj.proxy, SPA_PARAM_Route, 0, param); + + sm_media_session_schedule_rescan(dev->impl->session); + return 0; } diff --git a/src/examples/media-session/restore-stream.c b/src/examples/media-session/restore-stream.c index d0b23fc58..aeebf4a26 100644 --- a/src/examples/media-session/restore-stream.c +++ b/src/examples/media-session/restore-stream.c @@ -363,6 +363,9 @@ static int restore_stream(struct stream *str, const char *val) pw_node_set_param((struct pw_node*)str->obj->obj.proxy, SPA_PARAM_Props, 0, param); + + sm_media_session_schedule_rescan(str->impl->session); + return 0; }