Hello community,

here is the log from the commit of package gstreamer-plugins-bad for 
openSUSE:Factory checked in at 2018-01-01 22:10:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-bad (Old)
 and      /work/SRC/openSUSE:Factory/.gstreamer-plugins-bad.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gstreamer-plugins-bad"

Mon Jan  1 22:10:19 2018 rev:71 rq:560899 version:1.12.4

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gstreamer-plugins-bad/gstreamer-plugins-bad.changes  
    2017-12-14 10:52:16.494700471 +0100
+++ 
/work/SRC/openSUSE:Factory/.gstreamer-plugins-bad.new/gstreamer-plugins-bad.changes
 2018-01-01 22:10:36.029383827 +0100
@@ -1,0 +2,20 @@
+Fri Dec 29 19:26:46 UTC 2017 - zai...@opensuse.org
+
+- Add gst-bad-player-transfer-ownership.patch: player: transfer
+  ownership of info properties (bgo#791982).
+
+-------------------------------------------------------------------
+Sat Dec 23 14:29:12 UTC 2017 - zai...@opensuse.org
+
+- Add gst-bad-vtdec-destroy-create-fix.patch: vtdec: destroy and
+  create the GL context on start()/stop(). Removes a reference
+  count loop.
+- Add python3-xml BuildRequires and switch to using plain make
+  instead of make_build macro, and add conditional for
+  pkgconfig(graphene-1.0), pkgconfig(wayland-client),
+  pkgconfig(wayland-cursor), pkgconfig(wayland-egl),
+  pkgconfig(wayland-protocols) and pkgconfig(wayland-scanner)
+  BuildRequires and the .so and sub-package produced, fix build for
+  old versions of openSUSE.
+
+-------------------------------------------------------------------

New:
----
  gst-bad-player-transfer-ownership.patch
  gst-bad-vtdec-destroy-create-fix.patch

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

Other differences:
------------------
++++++ gstreamer-plugins-bad.spec ++++++
--- /var/tmp/diff_new_pack.EG3hI6/_old  2018-01-01 22:10:40.199991432 +0100
+++ /var/tmp/diff_new_pack.EG3hI6/_new  2018-01-01 22:10:40.203990098 +0100
@@ -33,6 +33,11 @@
 Source:         
https://gstreamer.freedesktop.org/src/gst-plugins-bad/%{_name}-%{version}.tar.xz
 Source2:        gstreamer-plugins-bad.appdata.xml
 Source99:       baselibs.conf
+# PATCH-FIX-UPSTREAM gst-bad-vtdec-destroy-create-fix.patch 
zai...@opensuse.org -- vtdec: destroy and create the GL context on 
start()/stop()
+Patch0:         gst-bad-vtdec-destroy-create-fix.patch
+# PATCH-FIX-UPSTREAM gst-bad-player-transfer-ownership.patch bgo#791982 
zai...@opensuse.org -- player: transfer ownership of info properties
+Patch1:         gst-bad-player-transfer-ownership.patch
+
 BuildRequires:  Mesa-libGLESv3-devel
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
@@ -45,6 +50,7 @@
 BuildRequires:  libmpcdec-devel
 BuildRequires:  orc >= 0.4.11
 BuildRequires:  python3-base
+BuildRequires:  python3-xml
 BuildRequires:  pkgconfig(OpenEXR)
 BuildRequires:  pkgconfig(bluez)
 BuildRequires:  pkgconfig(bzip2)
@@ -102,11 +108,13 @@
 BuildRequires:  pkgconfig(soundtouch)
 BuildRequires:  pkgconfig(spandsp) >= 0.0.6
 BuildRequires:  pkgconfig(vdpau)
+%if 0%{?suse_version} >= 1500
 BuildRequires:  pkgconfig(wayland-client) >= 1.0.0
 BuildRequires:  pkgconfig(wayland-cursor) >= 1.0
 BuildRequires:  pkgconfig(wayland-egl) >= 9.0
 BuildRequires:  pkgconfig(wayland-protocols) >= 1.4
 BuildRequires:  pkgconfig(wayland-scanner) >= 1.4.0
+%endif
 BuildRequires:  pkgconfig(webrtc-audio-processing) >= 0.2
 BuildRequires:  pkgconfig(x11)
 BuildRequires:  pkgconfig(xcb) >= 1.10
@@ -114,7 +122,9 @@
 %if 0%{?is_opensuse}
 BuildRequires:  libbs2b-devel
 BuildRequires:  pkgconfig(fluidsynth)
+%if 0%{?suse_version} >= 1500
 BuildRequires:  pkgconfig(graphene-1.0) >= 1.4.0
+%endif
 BuildRequires:  pkgconfig(libchromaprint)
 BuildRequires:  pkgconfig(libopenjp2)
 BuildRequires:  pkgconfig(openal)
@@ -263,6 +273,7 @@
 videos. Its plug-in-based architecture means that new data types or
 processing capabilities can be added simply by installing new plug-ins.
 
+%if 0%{?suse_version} >= 1500
 %package -n libgstwayland-1_0-0
 Summary:        GStreamer Streaming-Media Framework Plug-Ins - Wayland backend
 Group:          System/Libraries
@@ -273,6 +284,7 @@
 anything media-related,from real-time sound processing to playing
 videos. Its plug-in-based architecture means that new data types or
 processing capabilities can be added simply by installing new plug-ins.
+%endif
 
 %package -n libgstcodecparsers-1_0-0
 Summary:        GStreamer Streaming-Media Framework Plug-Ins
@@ -358,7 +370,9 @@
 Requires:       libgstphotography-1_0-0 = %{version}
 Requires:       libgstplayer-1_0-0 = %{version}
 Requires:       libgsturidownloader-1_0-0 = %{version}
+%if 0%{?suse_version} >= 1500
 Requires:       libgstwayland-1_0-0 = %{version}
+%endif
 Requires:       typelib-1_0-GstBadAllocators-1_0 = %{version}
 Requires:       typelib-1_0-GstGL-1_0 = %{version}
 Requires:       typelib-1_0-GstInsertBin-1_0 = %{version}
@@ -455,7 +469,7 @@
 %lang_package
 
 %prep
-%setup -q -n %{_name}-%{version}
+%autosetup -n %{_name}-%{version} -p1
 
 %build
 export PYTHON=/usr/bin/python3
@@ -477,7 +491,7 @@
        --enable-wayland \
        --enable-introspection \
        %{nil}
-%make_build
+make %{?_smp_mflags}
 
 %install
 %make_install
@@ -517,7 +531,9 @@
 %post -n libgstphotography-1_0-0 -p /sbin/ldconfig
 %post -n libgstplayer-1_0-0 -p /sbin/ldconfig
 %post -n libgsturidownloader-1_0-0 -p /sbin/ldconfig
+%if 0%{?suse_version} >= 1500
 %post -n libgstwayland-1_0-0 -p /sbin/ldconfig
+%endif
 
 %postun -n libgstadaptivedemux-1_0-0 -p /sbin/ldconfig
 %postun -n libgstbadallocators-1_0-0 -p /sbin/ldconfig
@@ -532,7 +548,9 @@
 %postun -n libgstcodecparsers-1_0-0 -p /sbin/ldconfig
 %postun -n libgstinsertbin-1_0-0 -p /sbin/ldconfig
 %postun -n libgsturidownloader-1_0-0 -p /sbin/ldconfig
+%if 0%{?suse_version} >= 1500
 %postun -n libgstwayland-1_0-0 -p /sbin/ldconfig
+%endif
 
 %files
 %doc COPYING COPYING.LIB
@@ -633,7 +651,9 @@
 %{_libdir}/gstreamer-%{gst_branch}/libgstvideoparsersbad.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstvideosignal.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstvmnc.so
+%if 0%{?suse_version} >= 1500
 %{_libdir}/gstreamer-%{gst_branch}/libgstwaylandsink.so
+%endif
 %{_libdir}/gstreamer-%{gst_branch}/libgstwebrtcdsp.so
 %{_libdir}/gstreamer-%{gst_branch}/libgsty4mdec.so
 %{_libdir}/gstreamer-%{gst_branch}/libgstyadif.so
@@ -695,8 +715,10 @@
 %files -n libgstvdpau
 %{_libdir}/gstreamer-%{gst_branch}/libgstvdpau.so
 
+%if 0%{?suse_version} >= 1500
 %files -n libgstwayland-1_0-0
 %{_libdir}/libgstwayland-1.0.so.*
+%endif
 
 %files -n typelib-1_0-GstBadAllocators-1_0
 %defattr(-, root, root)

++++++ gst-bad-player-transfer-ownership.patch ++++++
>From 46897797c2ab835ca525e098f3d48db2f8a475d4 Mon Sep 17 00:00:00 2001
From: Philippe Normand <ph...@igalia.com>
Date: Wed, 27 Dec 2017 13:08:18 +0000
Subject: player: transfer ownership of info properties

The previous code would emit GObject critical warnings when the info properties
are NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=791982
---
 gst-libs/gst/player/gstplayer.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/gst-libs/gst/player/gstplayer.c b/gst-libs/gst/player/gstplayer.c
index 6ee2023..d0d9f26 100644
--- a/gst-libs/gst/player/gstplayer.c
+++ b/gst-libs/gst/player/gstplayer.c
@@ -773,29 +773,25 @@ gst_player_get_property (GObject * object, guint prop_id,
     }
     case PROP_MEDIA_INFO:{
       GstPlayerMediaInfo *media_info = gst_player_get_media_info (self);
-      g_value_set_object (value, media_info);
-      g_object_unref (media_info);
+      g_value_take_object (value, media_info);
       break;
     }
     case PROP_CURRENT_AUDIO_TRACK:{
       GstPlayerAudioInfo *audio_info =
           gst_player_get_current_audio_track (self);
-      g_value_set_object (value, audio_info);
-      g_object_unref (audio_info);
+      g_value_take_object (value, audio_info);
       break;
     }
     case PROP_CURRENT_VIDEO_TRACK:{
       GstPlayerVideoInfo *video_info =
           gst_player_get_current_video_track (self);
-      g_value_set_object (value, video_info);
-      g_object_unref (video_info);
+      g_value_take_object (value, video_info);
       break;
     }
     case PROP_CURRENT_SUBTITLE_TRACK:{
       GstPlayerSubtitleInfo *subtitle_info =
           gst_player_get_current_subtitle_track (self);
-      g_value_set_object (value, subtitle_info);
-      g_object_unref (subtitle_info);
+      g_value_take_object (value, subtitle_info);
       break;
     }
     case PROP_VOLUME:
-- 
cgit v1.1
++++++ gst-bad-vtdec-destroy-create-fix.patch ++++++
>From be5b414e3455d643bf0c6d2139ae693f66393be7 Mon Sep 17 00:00:00 2001
From: Matthew Waters <matt...@centricular.com>
Date: Fri, 22 Sep 2017 14:27:51 +1000
Subject: vtdec: destroy and create the GL context on start()/stop()

Removes a reference count loop
---
 sys/applemedia/vtdec.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c
index d9c943d..57847a8 100644
--- a/sys/applemedia/vtdec.c
+++ b/sys/applemedia/vtdec.c
@@ -156,7 +156,6 @@ static void
 gst_vtdec_init (GstVtdec * vtdec)
 {
   vtdec->reorder_queue = g_async_queue_new ();
-  vtdec->ctxh = gst_gl_context_helper_new (GST_ELEMENT (vtdec));
 }
 
 void
@@ -167,7 +166,6 @@ gst_vtdec_finalize (GObject * object)
   GST_DEBUG_OBJECT (vtdec, "finalize");
 
   g_async_queue_unref (vtdec->reorder_queue);
-  gst_gl_context_helper_free (vtdec->ctxh);
 
   G_OBJECT_CLASS (gst_vtdec_parent_class)->finalize (object);
 }
@@ -179,6 +177,9 @@ gst_vtdec_start (GstVideoDecoder * decoder)
 
   GST_DEBUG_OBJECT (vtdec, "start");
 
+  if (!vtdec->ctxh)
+    vtdec->ctxh = gst_gl_context_helper_new (GST_ELEMENT (decoder));
+
   return TRUE;
 }
 
@@ -198,6 +199,10 @@ gst_vtdec_stop (GstVideoDecoder * decoder)
     gst_video_texture_cache_free (vtdec->texture_cache);
   vtdec->texture_cache = NULL;
 
+  if (vtdec->ctxh)
+    gst_gl_context_helper_free (vtdec->ctxh);
+  vtdec->ctxh = NULL;
+
   GST_DEBUG_OBJECT (vtdec, "stop");
 
   return TRUE;
@@ -320,6 +325,8 @@ gst_vtdec_negotiate (GstVideoDecoder * decoder)
     /* call this regardless of whether caps have changed or not since a new
      * local context could have become available
      */
+    if (!vtdec->ctxh)
+      vtdec->ctxh = gst_gl_context_helper_new (GST_ELEMENT (vtdec));
     gst_gl_context_helper_ensure_context (vtdec->ctxh);
 
     GST_INFO_OBJECT (vtdec, "pushing textures, context %p old context %p",
@@ -1016,6 +1023,8 @@ gst_vtdec_set_context (GstElement * element, GstContext * 
context)
 
   GST_INFO_OBJECT (element, "setting context %s",
       gst_context_get_context_type (context));
+  if (!vtdec->ctxh)
+    vtdec->ctxh = gst_gl_context_helper_new (element);
   gst_gl_handle_set_context (element, context,
       &vtdec->ctxh->display, &vtdec->ctxh->other_context);
   GST_ELEMENT_CLASS (gst_vtdec_parent_class)->set_context (element, context);
-- 
cgit v1.1


Reply via email to