media-session: schedule more rescan for pending changes

Trigger/delay a rescan until the profiles, routes and stream
volume are restored.

See #789
This commit is contained in:
Wim Taymans 2021-03-08 15:14:40 +01:00
parent d603c1086a
commit 1b6060ef5f
3 changed files with 8 additions and 0 deletions

View file

@ -245,6 +245,8 @@ static int set_profile(struct device *dev, struct profile *pr)
dev->active_profile = pr->index; dev->active_profile = pr->index;
sm_media_session_schedule_rescan(dev->impl->session);
return 0; return 0;
} }

View file

@ -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, pw_device_set_param((struct pw_node*)dev->obj->obj.proxy,
SPA_PARAM_Route, 0, param); SPA_PARAM_Route, 0, param);
sm_media_session_schedule_rescan(dev->impl->session);
return 0; return 0;
} }

View file

@ -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, pw_node_set_param((struct pw_node*)str->obj->obj.proxy,
SPA_PARAM_Props, 0, param); SPA_PARAM_Props, 0, param);
sm_media_session_schedule_rescan(str->impl->session);
return 0; return 0;
} }