diff options
author | Khem Raj <raj.khem@gmail.com> | 2020-02-18 14:20:43 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-02-18 18:17:20 -0800 |
commit | 140846ddc57d00f20128c76c631a7bd7a4ffefaf (patch) | |
tree | 02d38eee6376836571a46532608c4c919f0126fb /meta-multimedia | |
parent | ee45667af882ed9cf025d55ae5b4c3905186adf9 (diff) | |
download | meta-openembedded-contrib-140846ddc57d00f20128c76c631a7bd7a4ffefaf.tar.gz |
dleyna-renderer: Fix build with gupnp 1.2+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-multimedia')
-rw-r--r-- | meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer/0001-add-gupnp-1.2-API-support.patch | 123 | ||||
-rw-r--r-- | meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb | 4 |
2 files changed, 126 insertions, 1 deletions
diff --git a/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer/0001-add-gupnp-1.2-API-support.patch b/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer/0001-add-gupnp-1.2-API-support.patch new file mode 100644 index 0000000000..8f54658a11 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer/0001-add-gupnp-1.2-API-support.patch @@ -0,0 +1,123 @@ +From 7c945e7960cf7dffd9dd0bb5f7ec6bee4dc0bca3 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 18 Feb 2020 14:17:55 -0800 +Subject: [PATCH] add gupnp 1.2 API support + +Takes from https://git.archlinux.org/svntogit/packages.git/tree/trunk/gupnp-1.2.diff?h=packages/dleyna-renderer +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.ac | 4 +-- + libdleyna/renderer/device.c | 51 +++++++++++++++++++++++++++++++++++-- + libdleyna/renderer/upnp.c | 4 +-- + 3 files changed, 53 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 271ee92..364659d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -38,8 +38,8 @@ LT_LANG([C]) + PKG_PROG_PKG_CONFIG(0.16) + PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.28]) + PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.28]) +-PKG_CHECK_MODULES([GSSDP], [gssdp-1.0 >= 0.13.2]) +-PKG_CHECK_MODULES([GUPNP], [gupnp-1.0 >= 0.20.5]) ++PKG_CHECK_MODULES([GSSDP], [gssdp-1.2 >= 1.2.0]) ++PKG_CHECK_MODULES([GUPNP], [gupnp-1.2 >= 1.2.0]) + PKG_CHECK_MODULES([GUPNPAV], [gupnp-av-1.0 >= 0.11.5]) + PKG_CHECK_MODULES([GUPNPDLNA], [gupnp-dlna-2.0 >= 0.9.4]) + PKG_CHECK_MODULES([SOUP], [libsoup-2.4 >= 2.28.2]) +diff --git a/libdleyna/renderer/device.c b/libdleyna/renderer/device.c +index 783fb52..c7b9fc3 100644 +--- a/libdleyna/renderer/device.c ++++ b/libdleyna/renderer/device.c +@@ -2121,6 +2121,53 @@ exit: + return; + } + ++typedef struct ++{ ++ GMainLoop *loop; ++ GUPnPServiceIntrospection *introspection; ++ GError **error; ++} GetIntrospectionAsyncData; ++ ++static void ++get_introspection_async_cb (GUPnPServiceInfo *info, ++ GUPnPServiceIntrospection *introspection, ++ const GError *error, ++ gpointer user_data) ++{ ++ GetIntrospectionAsyncData *data = user_data; ++ data->introspection = introspection; ++ if (data->error) ++ *data->error = g_error_copy (error); ++ g_main_loop_quit (data->loop); ++} ++ ++static GUPnPServiceIntrospection * ++_gupnp_service_info_get_introspection (GUPnPServiceInfo *info, ++ GError **error) ++{ ++ GetIntrospectionAsyncData data; ++ GMainContext *context; ++ ++ context = g_main_context_new (); ++ data.loop = g_main_loop_new (context, FALSE); ++ data.error = error; ++ ++ g_main_context_push_thread_default (context); ++ ++ gupnp_service_info_get_introspection_async (info, ++ get_introspection_async_cb, ++ &data); ++ ++ g_main_loop_run (data.loop); ++ ++ g_main_context_pop_thread_default (context); ++ ++ g_main_loop_unref (data.loop); ++ g_main_context_unref (context); ++ ++ return data.introspection; ++} ++ + static gboolean prv_get_av_service_states_values(GUPnPServiceProxy *av_proxy, + GVariant **mpris_tp_speeds, + GPtrArray **upnp_tp_speeds, +@@ -2147,7 +2194,7 @@ static gboolean prv_get_av_service_states_values(GUPnPServiceProxy *av_proxy, + weak_ref = av_proxy; + g_object_add_weak_pointer(G_OBJECT(av_proxy), &weak_ref); + +- introspection = gupnp_service_info_get_introspection( ++ introspection = _gupnp_service_info_get_introspection( + GUPNP_SERVICE_INFO(av_proxy), + &error); + +@@ -2215,7 +2262,7 @@ static gboolean prv_get_rc_service_states_values(GUPnPServiceProxy *rc_proxy, + weak_ref = rc_proxy; + g_object_add_weak_pointer(G_OBJECT(rc_proxy), &weak_ref); + +- introspection = gupnp_service_info_get_introspection( ++ introspection = _gupnp_service_info_get_introspection( + GUPNP_SERVICE_INFO(rc_proxy), + &error); + +diff --git a/libdleyna/renderer/upnp.c b/libdleyna/renderer/upnp.c +index ac1b08a..b762226 100644 +--- a/libdleyna/renderer/upnp.c ++++ b/libdleyna/renderer/upnp.c +@@ -243,8 +243,8 @@ static void prv_server_unavailable_cb(GUPnPControlPoint *cp, + + udn = gupnp_device_info_get_udn((GUPnPDeviceInfo *)proxy); + +- ip_address = gupnp_context_get_host_ip( +- gupnp_control_point_get_context(cp)); ++ ip_address = gssdp_client_get_host_ip( ++ GSSDP_CLIENT(gupnp_control_point_get_context(cp))); + + if (!udn || !ip_address) + goto on_error; +-- +2.25.1 + diff --git a/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb b/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb index b30aee9fbe..642f21bd53 100644 --- a/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb +++ b/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb @@ -11,7 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ DEPENDS = "glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4 dleyna-core" RDEPENDS_${PN} = "dleyna-connector-dbus" -SRC_URI = "git://github.com/01org/${BPN}.git" +SRC_URI = "git://github.com/01org/${BPN}.git \ + file://0001-add-gupnp-1.2-API-support.patch \ + " SRCREV = "50fd1ec9d51328e7dea98874129dc8d6fe3ea1dd" S = "${WORKDIR}/git" |