From 08d62744ce179137987154e526e27296cdb1d345 Mon Sep 17 00:00:00 2001 From: Arkadiusz Bokowy Date: Sun, 28 May 2023 01:14:58 +0200 Subject: [PATCH] media: Register app objects in proxy_added_cb() The proxy_added_cb() function is called every time a new client is added to the application object manager. Registering media endpoint and player in that proxy_added_cb() callback function will allow to register new endpoints and players not only during the initial RegisterApplication call, but also during the application lifetime. For instance, this might allow to dynamically enable/disable support for additional codecs. --- profiles/audio/media.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/profiles/audio/media.c b/profiles/audio/media.c index 6ce668e31..4c42b7817 100644 --- a/profiles/audio/media.c +++ b/profiles/audio/media.c @@ -2821,9 +2821,6 @@ static void client_ready_cb(GDBusClient *client, void *user_data) goto reply; } - queue_foreach(app->proxies, app_register_endpoint, app); - queue_foreach(app->proxies, app_register_player, app); - if (app->err) { if (app->err == -EPROTONOSUPPORT) reply = btd_error_not_supported(app->reg); @@ -2867,6 +2864,10 @@ static void proxy_added_cb(GDBusProxy *proxy, void *user_data) path = g_dbus_proxy_get_path(proxy); DBG("Proxy added: %s, iface: %s", path, iface); + + app_register_endpoint(proxy, app); + app_register_player(proxy, app); + } static bool match_endpoint_by_path(const void *a, const void *b) -- 2.47.3