Hello community,

here is the log from the commit of package dleyna-renderer for openSUSE:Factory 
checked in at 2019-10-14 12:41:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dleyna-renderer (Old)
 and      /work/SRC/openSUSE:Factory/.dleyna-renderer.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dleyna-renderer"

Mon Oct 14 12:41:32 2019 rev:8 rq:737907 version:0.6.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/dleyna-renderer/dleyna-renderer.changes  
2018-02-16 21:46:09.603868281 +0100
+++ 
/work/SRC/openSUSE:Factory/.dleyna-renderer.new.2352/dleyna-renderer.changes    
    2019-10-14 12:41:38.138679294 +0200
@@ -1,0 +2,7 @@
+Sat Oct 12 15:51:19 UTC 2019 - Bjørn Lie <[email protected]>
+
+- Add dleyna-renderer-port-gupnp.patch: Port to use new gupnp-1.2.
+  Replace pkgconfig(gssdp-1.0) and pkgconfig(gupnp-1.0) with
+  pkgconfig(gssdp-1.2) and pkgconfig(gupnp-1.2) BuildRequires.
+
+-------------------------------------------------------------------

New:
----
  dleyna-renderer-port-gupnp.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dleyna-renderer.spec ++++++
--- /var/tmp/diff_new_pack.dPcDdD/_old  2019-10-14 12:41:38.734677735 +0200
+++ /var/tmp/diff_new_pack.dPcDdD/_new  2019-10-14 12:41:38.738677725 +0200
@@ -22,16 +22,18 @@
 Summary:        Discover and manipulate Digital Media Renderers
 License:        LGPL-2.1
 Group:          System/Libraries
-Url:            http://01.org/dleyna
+URL:            http://01.org/dleyna
 Source:         
https://01.org/sites/default/files/downloads/dleyna/%{name}-%{version}.tar_2.gz
+# PATCH-FIX-UPSTREAM dleyna-renderer-port-gupnp.patch -- Port to gunpn-1.2
+Patch:          dleyna-renderer-port-gupnp.patch
 
 BuildRequires:  libtool
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(dleyna-core-1.0) >= 0.6.0
 BuildRequires:  pkgconfig(gio-2.0) >= 2.28
 BuildRequires:  pkgconfig(glib-2.0) >= 2.28
-BuildRequires:  pkgconfig(gssdp-1.0) >= 0.13.2
-BuildRequires:  pkgconfig(gupnp-1.0) >= 0.20.5
+BuildRequires:  pkgconfig(gssdp-1.2)
+BuildRequires:  pkgconfig(gupnp-1.2)
 BuildRequires:  pkgconfig(gupnp-av-1.0) >= 0.11.5
 BuildRequires:  pkgconfig(gupnp-dlna-2.0) >= 0.9.4
 BuildRequires:  pkgconfig(libsoup-2.4) >= 2.28.2
@@ -52,14 +54,14 @@
 Digital Media Renderers. An implementation of such a service for linux is also 
included
 
 %prep
-%setup -q
+%autosetup -p1
 
 %build
 autoreconf -fi
 %configure \
        --disable-static \
        %{nil}
-make %{?_smp_mflags}
+%make_build
 
 %install
 %make_install


++++++ dleyna-renderer-port-gupnp.patch ++++++
 configure.ac                |  4 ++--
 libdleyna/renderer/device.c | 51 +++++++++++++++++++++++++++++++++++++++++++--
 libdleyna/renderer/upnp.c   |  4 ++--
 3 files changed, 53 insertions(+), 6 deletions(-)

diff --git c/configure.ac i/configure.ac
index 271ee92..364659d 100644
--- c/configure.ac
+++ i/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 c/libdleyna/renderer/device.c i/libdleyna/renderer/device.c
index 7acef89..f6d571e 100644
--- c/libdleyna/renderer/device.c
+++ i/libdleyna/renderer/device.c
@@ -2121,33 +2121,80 @@ 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,
                                                 double *min_rate,
                                                 double *max_rate,
                                                 gboolean *can_get_byte_pos)
 {
        const GUPnPServiceStateVariableInfo *svi;
        const GUPnPServiceActionInfo *sai;
        GUPnPServiceIntrospection *introspection;
        GError *error = NULL;
        GVariant *speeds = NULL;
        GList *allowed_values;
        gpointer weak_ref = NULL;
        gboolean  device_alive = TRUE;
 
        /* TODO: this weak_ref hack is needed as
           gupnp_service_info_get_introspection iterates the main loop.
           This can result in our device getting deleted before this
           function returns.  Ultimately, this code needs to be re-written
           to use gupnp_service_info_get_introspection_async but this cannot
           really be done until GUPnP provides a way to cancel this function. */
 
        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 c/libdleyna/renderer/upnp.c i/libdleyna/renderer/upnp.c
index 17cbda7..068912b 100644
--- c/libdleyna/renderer/upnp.c
+++ i/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;


Reply via email to