From c95bd1c3d4a55df083a41c29a01fd2177834e56f Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 25 Jan 2021 16:00:20 +0100 Subject: [PATCH] media-session: avoid restoring an unavailable profile --- src/examples/media-session/default-profile.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/examples/media-session/default-profile.c b/src/examples/media-session/default-profile.c index a6a1f6504..5985b57bc 100644 --- a/src/examples/media-session/default-profile.c +++ b/src/examples/media-session/default-profile.c @@ -123,15 +123,18 @@ static uint32_t find_profile_id(struct device *dev, const char *name) struct sm_param *p; spa_list_for_each(p, &dev->obj->param_list, link) { const char *n; - uint32_t id; + uint32_t id, available = SPA_PARAM_AVAILABILITY_unknown; if (p->id != SPA_PARAM_EnumProfile || spa_pod_parse_object(p->param, SPA_TYPE_OBJECT_ParamProfile, NULL, SPA_PARAM_PROFILE_index, SPA_POD_Int(&id), - SPA_PARAM_PROFILE_name, SPA_POD_String(&n)) < 0) { + SPA_PARAM_PROFILE_name, SPA_POD_String(&n), + SPA_PARAM_PROFILE_available, SPA_POD_OPT_Id(&available)) < 0) { continue; } + if (available == SPA_PARAM_AVAILABILITY_no) + continue; if (strcmp(n, name) == 0) return id; }