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