Hello community, here is the log from the commit of package gstreamer-plugins-base for openSUSE:Leap:15.2 checked in at 2020-05-04 08:22:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/gstreamer-plugins-base (Old) and /work/SRC/openSUSE:Leap:15.2/.gstreamer-plugins-base.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-base" Mon May 4 08:22:44 2020 rev:33 rq:799722 version:1.16.2 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/gstreamer-plugins-base/gstreamer-plugins-base.changes 2020-01-30 14:49:56.750887957 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.gstreamer-plugins-base.new.2738/gstreamer-plugins-base.changes 2020-05-04 08:22:46.576379794 +0200 @@ -1,0 +2,39 @@ +Fri May 1 17:42:26 UTC 2020 - Michael Gorse <mgo...@suse.com> + +- Remove is_opensuse conditionals / really enable orc on SLE 15 + (jsc#SLE-12265). + +------------------------------------------------------------------- +Fri Mar 6 08:42:07 UTC 2020 - Dominique Leuenberger <dims...@opensuse.org> + +- Add gstreamer-plugins-base-gl-deps.patch: Workaround incomplete + gstreamer-gl.pc file, which is missing the (dynamic) dependency + on wayland. + +------------------------------------------------------------------- +Wed Feb 26 22:42:38 UTC 2020 - Bjørn Lie <bjorn....@gmail.com> + +- Enable meson build conditionally for Tumbleweed. + +------------------------------------------------------------------- +Fri Jan 31 23:03:20 UTC 2020 - Bjørn Lie <bjorn....@gmail.com> + +- No longer recommend -lang: supplements are in use. + +------------------------------------------------------------------- +Mon Jan 6 10:17:50 UTC 2020 - Bjørn Lie <bjorn....@gmail.com> + +- Add upstream bugfix patches: + + gst-base-playbin-handle-error.patch: playbin: Handle error + message with redirection indication. + + gst-base-audioencoder-fix-leak.patch: audioencoder: fix segment + event leak. + + gst-base-fft-update-kiss-version.patch: fft: Update our kiss + fft version. + +------------------------------------------------------------------- +Fri Dec 13 15:18:03 UTC 2019 - Frederic Crozat <fcro...@suse.com> + +- Enable orc / wayland-egl on SLE15. + +------------------------------------------------------------------- New: ---- gst-base-audioencoder-fix-leak.patch gst-base-fft-update-kiss-version.patch gst-base-playbin-handle-error.patch gstreamer-plugins-base-gl-deps.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gstreamer-plugins-base.spec ++++++ --- /var/tmp/diff_new_pack.QPCheW/_old 2020-05-04 08:22:46.936380566 +0200 +++ /var/tmp/diff_new_pack.QPCheW/_new 2020-05-04 08:22:46.936380566 +0200 @@ -1,7 +1,7 @@ # # spec file for package gstreamer-plugins-base # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,8 +20,12 @@ %define gst_branch 1.0 %define gstreamer_plugins_base_req %(xzgrep --text "^GST[_A-Z]*_REQ.*=" %{SOURCE0} | sort -u | sed 's/GST_REQ=/gstreamer >= /') -# Disable for now. Plugin docs aren't being generated +# Enable for tumbleweed only for now +%if 0%{?suse_version} >= 1550 +%define use_meson 1 +%else %define use_meson 0 +%endif Name: gstreamer-plugins-base Version: 1.16.2 @@ -33,6 +37,14 @@ Source0: https://gstreamer.freedesktop.org/src/gst-plugins-base/%{_name}-%{version}.tar.xz Source1: gstreamer-plugins-base.appdata.xml Source2: baselibs.conf +# PATCH-FIX-UPSTREAM gst-base-playbin-handle-error.patch -- playbin: Handle error message with redirection indication +Patch0: gst-base-playbin-handle-error.patch +# PATCH-FIX-UPSTREAM gst-base-audioencoder-fix-leak.patch -- audioencoder: fix segment event leak +Patch1: gst-base-audioencoder-fix-leak.patch +# PATCH-FIX-UPSTREAM gst-base-fft-update-kiss-version.patch -- fft: Update our kiss fft version +Patch2: gst-base-fft-update-kiss-version.patch +# PATCH-FIX-OPENSUSE gstreamer-plugins-base-gl-deps.patch dims...@opensuse.org -- Local workaround for https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/735 +Patch3: gstreamer-plugins-base-gl-deps.patch BuildRequires: Mesa-libGLESv3-devel BuildRequires: cdparanoia-devel @@ -93,12 +105,9 @@ %if 0%{?suse_version} >= 1500 BuildRequires: pkgconfig(graphene-1.0) %endif -%if 0%{?is_opensuse} BuildRequires: orc >= 0.4.24 BuildRequires: pkgconfig(wayland-egl) >= 1.0 -%endif Requires: %{gstreamer_plugins_base_req} -Recommends: %{name}-lang Recommends: PackageKit-gstreamer-plugin Supplements: gstreamer # Generic name, never used in SuSE: @@ -478,9 +487,7 @@ -Dpackage-origin='http://download.opensuse.org'\ -Dgtk_doc=enabled \ -Dintrospection=enabled \ -%if 0%{?is_opensuse} -Dorc=enabled \ -%endif -Dexamples=disabled \ -Dtremor=disabled \ %{nil} @@ -493,9 +500,7 @@ --enable-gtk-doc \ --enable-introspection \ --disable-examples \ -%if 0%{?is_opensuse} --enable-orc \ -%endif %{nil} %make_build %endif ++++++ gst-base-audioencoder-fix-leak.patch ++++++ >From c61767dc2f7f99e3de93aee09695a6a06202f619 Mon Sep 17 00:00:00 2001 From: Jonas Holmberg <jona...@axis.com> Date: Fri, 20 Dec 2019 13:35:53 +0100 Subject: [PATCH] audioencoder: fix segment event leak Segment event was leaked if format != _TIME. --- gst-libs/gst/audio/gstaudioencoder.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gst-libs/gst/audio/gstaudioencoder.c b/gst-libs/gst/audio/gstaudioencoder.c index c2f0382ae..031a40b7f 100644 --- a/gst-libs/gst/audio/gstaudioencoder.c +++ b/gst-libs/gst/audio/gstaudioencoder.c @@ -1551,6 +1551,7 @@ gst_audio_encoder_sink_event_default (GstAudioEncoder * enc, GstEvent * event) GST_DEBUG_OBJECT (enc, "received SEGMENT %" GST_SEGMENT_FORMAT, &seg); GST_DEBUG_OBJECT (enc, "unsupported format; ignoring"); res = TRUE; + gst_event_unref (event); break; } -- 2.24.1 ++++++ gst-base-fft-update-kiss-version.patch ++++++ ++++ 2258 lines (skipped) ++++++ gst-base-playbin-handle-error.patch ++++++ >From 0375d3a393385f8098928c06520ce03f456f1b28 Mon Sep 17 00:00:00 2001 From: Thibault Saunier <tsaun...@igalia.com> Date: Tue, 3 Sep 2019 16:03:49 -0400 Subject: [PATCH] playbin: Handle error message with redirection indication There are in the wild (mp4) streams that basically contain no tracks but do have a redirect info[0], in which case, qtdemux won't be able to expose any pad (there are no tracks) so can't post anything but an error on the bus, as: - it can't send EOS downstream, it has no pad, - posting an EOS message will be useless as PAUSED state can't be reached and there is no sink in the pipeline meaning GstBin will simply ignore it In that case, currently the application could try to handle that but it is pretty complex as it will get the REDIRECT message on the bus at which point it could set the URL but playbin will ignore it, as it will only be for the next EOS, it thus need to set the pipeline to NULL (READY won't do as it is already in READY at that point). And it needs to figure out the following ERROR message on the bus needs to be ignored, which is not really simple. The approach here is to allow element to add details to the ERROR message with a `redirect-location` field which elements like playbin handle and use right away. We could also use the element 'redirect' message in playbin, but the issue with that approach is that the element will still emit the ERROR message on the bus, leading to wrong behaviour. That can't be avoided since in the case the app/parent pipeline is not handling the redirect instruction, the ERROR message is necessary (and there is no way to detect that the message has been "handled" from the element emitting the redirect). [0]: http://movietrailers.apple.com/movies/paramount/terminator-dark-fate/terminator-dark-fate-trailer-2_480p.mov --- gst/playback/gstplaybin2.c | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c index 1f3d9faf0..cec4b36b7 100644 --- a/gst/playback/gstplaybin2.c +++ b/gst/playback/gstplaybin2.c @@ -170,6 +170,10 @@ * type. The new location may be a relative or an absolute URI. Examples * for such redirects can be found in many quicktime movie trailers. * + * NOTE: playbin will internally handle the redirect messages in the case + * that the redirecting stream doesn't contain any tracks and thus + * needs to report an error message on the bus. + * * ## Examples * |[ * gst-launch-1.0 -v playbin uri=file:///path/to/somefile.mp4 @@ -3027,6 +3031,42 @@ gst_play_bin_handle_message (GstBin * bin, GstMessage * msg) no_more_pads_cb (NULL, group); } } + } else { + const GstStructure *details = NULL; + + gst_message_parse_error_details (msg, &details); + if (details && gst_structure_has_field (details, "redirect-location")) { + gchar *uri = NULL; + const gchar *location = + gst_structure_get_string ((GstStructure *) details, + "redirect-location"); + + if (gst_uri_is_valid (location)) { + uri = g_strdup (location); + } else { + uri = gst_uri_join_strings (group->uri, location); + } + + if (g_strcmp0 (uri, group->uri)) { + GST_PLAY_BIN_LOCK (playbin); + if (playbin->next_group && playbin->next_group->valid) { + GST_DEBUG_OBJECT (playbin, + "User already setup next uri %s, using it", + playbin->next_group->uri); + } else { + GST_DEBUG_OBJECT (playbin, + "Using newly configured redirect URI: %s", uri); + gst_play_bin_set_uri (playbin, uri); + } + GST_PLAY_BIN_UNLOCK (playbin); + + setup_next_source (playbin, GST_STATE_PAUSED); + gst_message_unref (msg); + msg = NULL; + } + + g_free (uri); + } } } -- 2.24.1 ++++++ gstreamer-plugins-base-gl-deps.patch ++++++ Workaround incomplete gstreamer-gl.pc, missing dependency on wayland-client. This patch is not suitable for upstream, as it does not cater for the possible alternative implementations being built (e.g. without wayland support) https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/735 Index: gst-plugins-base-1.16.2/pkgconfig/gstreamer-gl.pc.in =================================================================== --- gst-plugins-base-1.16.2.orig/pkgconfig/gstreamer-gl.pc.in +++ gst-plugins-base-1.16.2/pkgconfig/gstreamer-gl.pc.in @@ -10,7 +10,7 @@ gl_apis=@GL_APIS@ Name: GStreamer OpenGL Plugins Libraries Description: Streaming media framework, OpenGL plugins libraries Version: @VERSION@ -Requires: gstreamer-video-@GST_API_VERSION@ gstreamer-base-@GST_API_VERSION@ gstreamer-@GST_API_VERSION@ +Requires: gstreamer-video-@GST_API_VERSION@ gstreamer-base-@GST_API_VERSION@ gstreamer-@GST_API_VERSION@ wayland-client Libs: -L${libdir} -lgstgl-@GST_API_VERSION@ Cflags: -I${includedir} -I${libdir}/gstreamer-@GST_API_VERSION@/include @GL_CFLAGS@