Accepting request 559727 from home:Zaitor:branches:multimedia:libs

- Add gst-pb-playbin3-fix-accessing-invalid-index.patch: playbin3:
  Fix accessing invalid index in GstStream when received
  select-stream event (bgo#791638).
- Clean up spec with spec-cleaner.

OBS-URL: https://build.opensuse.org/request/show/559727
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/gstreamer-plugins-base?expand=0&rev=104
This commit is contained in:
Tomáš Chvátal 2017-12-24 21:12:49 +00:00 committed by Git OBS Bridge
parent 703607dff7
commit 1da9c19504
3 changed files with 76 additions and 66 deletions

View File

@ -0,0 +1,31 @@
From 4fa7de1eb28d97837c64578c6e5f6ff835e548e4 Mon Sep 17 00:00:00 2001
From: Dongil Park <dongil.park@lge.com>
Date: Fri, 15 Dec 2017 10:50:44 +0900
Subject: playbin3: Fix accessing invalid index in GstStream when received
select-stream event
If select-stream event was send to playbin3 as missing any GstStream of ES type
(V or A or TEX) of collection then, playbin will access to invalid address of
GstStream due to invalid index limit. This caused SIGSEGV.
https://bugzilla.gnome.org/show_bug.cgi?id=791638
---
gst/playback/gstplaybin3.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gst/playback/gstplaybin3.c b/gst/playback/gstplaybin3.c
index f3f5efe..36135cb 100644
--- a/gst/playback/gstplaybin3.c
+++ b/gst/playback/gstplaybin3.c
@@ -2252,7 +2252,7 @@ get_combiner_stream_id (GstPlayBin3 * playbin, GstSourceCombine * combine,
gint i;
GList *tmp;
- for (i = 0; combine->streams->len; i++) {
+ for (i = 0; i < combine->streams->len; i++) {
GstStream *stream = (GstStream *) g_ptr_array_index (combine->streams, i);
const gchar *sid = gst_stream_get_stream_id (stream);
for (tmp = full_list; tmp; tmp = tmp->next) {
--
cgit v1.1

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Sat Dec 23 01:11:56 UTC 2017 - zaitor@opensuse.org
- Add gst-pb-playbin3-fix-accessing-invalid-index.patch: playbin3:
Fix accessing invalid index in GstStream when received
select-stream event (bgo#791638).
- Clean up spec with spec-cleaner.
-------------------------------------------------------------------
Mon Dec 11 12:37:08 UTC 2017 - zaitor@opensuse.org

View File

@ -16,39 +16,41 @@
#
Name: gstreamer-plugins-base
%define _name gst-plugins-base
%define gst_branch 1.0
Name: gstreamer-plugins-base
Version: 1.12.4
Release: 0
%define gst_branch 1.0
Url: http://gstreamer.freedesktop.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: GStreamer Streaming-Media Framework Plug-Ins
License: LGPL-2.1+ and GPL-2.0+
License: LGPL-2.1+ AND GPL-2.0+
Group: Productivity/Multimedia/Other
Url: http://gstreamer.freedesktop.org/
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-pb-playbin3-fix-accessing-invalid-index.patch bgo#791638 zaitor@opensuse.org -- playbin3: Fix accessing invalid index in GstStream when received select-stream event
Patch0: gst-pb-playbin3-fix-accessing-invalid-index.patch
BuildRequires: cdparanoia-devel
BuildRequires: fdupes
BuildRequires: glib2-devel >= 2.40.0
BuildRequires: gobject-introspection-devel >= 1.31.1
BuildRequires: gtk-doc >= 1.12
BuildRequires: libICE-devel
BuildRequires: libSM-devel
BuildRequires: libXext-devel
BuildRequires: libXv-devel
BuildRequires: orc >= 0.4.24
BuildRequires: pkgconfig
BuildRequires: python3-base
BuildRequires: python3-xml
BuildRequires: pkgconfig(gstreamer-1.0) >= 1.12.0
%if !0%{?is_opensuse}
BuildRequires: translation-update-upstream
%endif
BuildRequires: gobject-introspection-devel >= 1.31.1
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(alsa) >= 0.9.1
BuildRequires: pkgconfig(freetype2) >= 2.0.9
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.24
BuildRequires: pkgconfig(gstreamer-1.0) >= 1.12.0
BuildRequires: pkgconfig(gtk+-3.0) >= 3.10
BuildRequires: pkgconfig(gtk+-x11-3.0) >= 3.0.0
BuildRequires: pkgconfig(iso-codes)
@ -64,13 +66,16 @@ BuildRequires: pkgconfig(vorbis) >= 1.0
BuildRequires: pkgconfig(vorbisenc) >= 1.0
BuildRequires: pkgconfig(zlib)
PreReq: filesystem
%define gstreamer_plugins_base_req %(xzgrep --text "^GST[_A-Z]*_REQ" %{S:0} | sort -u | sed 's/GST_REQ=/gstreamer >= /')
Requires: %gstreamer_plugins_base_req
%define gstreamer_plugins_base_req %(xzgrep --text "^GST[_A-Z]*_REQ" %{SOURCE0} | sort -u | sed 's/GST_REQ=/gstreamer >= /')
Requires: %{gstreamer_plugins_base_req}
Recommends: %{name}-lang
Recommends: PackageKit-gstreamer-plugin
Supplements: gstreamer
# Generic name, never used in SuSE:
Provides: gst-plugins-base = %{version}
%if !0%{?is_opensuse}
BuildRequires: translation-update-upstream
%endif
%description
GStreamer is a streaming media framework based on graphs of filters
@ -405,8 +410,9 @@ This package contains documentation for the gstreamer-plugins-base
package.
%lang_package
%prep
%setup -q -n %{_name}-%{version}
%autosetup -n %{_name}-%{version} -p1
%if !0%{?is_opensuse}
translation-update-upstream po gst-plugins-base-%{gst_branch}
%endif
@ -415,7 +421,7 @@ translation-update-upstream po gst-plugins-base-%{gst_branch}
# FIXME: GTKDOC_CFLAGS, GST_OBJ_CFLAGS:
# Silently ignored compilation of uninstalled gtk-doc scanners without RPM_OPT_FLAGS.
export CFLAGS="%{optflags} -fno-strict-aliasing"
export PYTHON=/usr/bin/python3
export PYTHON=%{_bindir}/python3
%configure\
--with-package-name='openSUSE GStreamer-plugins-base package'\
--with-package-origin='http://download.opensuse.org'\
@ -427,69 +433,57 @@ export PYTHON=/usr/bin/python3
make %{?_smp_mflags}
%install
%makeinstall
%make_install
if [ -f %{buildroot}%{_datadir}/appdata/gstreamer-plugins-base.appdata.xml ]; then
echo "Please remove the added gstreamer-plugins-base.appdata.xml file from the sources - the tarball installs it"
false
else
mkdir -p %{buildroot}%{_datadir}/appdata
cp %{S:1} %{buildroot}%{_datadir}/appdata/
cp %{SOURCE1} %{buildroot}%{_datadir}/appdata/
fi
find %{buildroot} -type f -name "*.la" -print -delete
find %{buildroot} -type f -name "*.la" -delete -print
%find_lang %{_name}-%{gst_branch}
%fdupes %{buildroot}%{_datadir}/gtk-doc/html/
%post -n libgstallocators-1_0-0 -p /sbin/ldconfig
%post -n libgstallocators-1_0-0 -p /sbin/ldconfig
%postun -n libgstallocators-1_0-0 -p /sbin/ldconfig
%post -n libgstapp-1_0-0 -p /sbin/ldconfig
%post -n libgstapp-1_0-0 -p /sbin/ldconfig
%postun -n libgstapp-1_0-0 -p /sbin/ldconfig
%post -n libgstaudio-1_0-0 -p /sbin/ldconfig
%post -n libgstaudio-1_0-0 -p /sbin/ldconfig
%postun -n libgstaudio-1_0-0 -p /sbin/ldconfig
%post -n libgstfft-1_0-0 -p /sbin/ldconfig
%post -n libgstfft-1_0-0 -p /sbin/ldconfig
%postun -n libgstfft-1_0-0 -p /sbin/ldconfig
%post -n libgstpbutils-1_0-0 -p /sbin/ldconfig
%post -n libgstpbutils-1_0-0 -p /sbin/ldconfig
%postun -n libgstpbutils-1_0-0 -p /sbin/ldconfig
%post -n libgstriff-1_0-0 -p /sbin/ldconfig
%post -n libgstriff-1_0-0 -p /sbin/ldconfig
%postun -n libgstriff-1_0-0 -p /sbin/ldconfig
%post -n libgstrtp-1_0-0 -p /sbin/ldconfig
%post -n libgstrtp-1_0-0 -p /sbin/ldconfig
%postun -n libgstrtp-1_0-0 -p /sbin/ldconfig
%post -n libgstrtsp-1_0-0 -p /sbin/ldconfig
%post -n libgstrtsp-1_0-0 -p /sbin/ldconfig
%postun -n libgstrtsp-1_0-0 -p /sbin/ldconfig
%post -n libgstsdp-1_0-0 -p /sbin/ldconfig
%post -n libgstsdp-1_0-0 -p /sbin/ldconfig
%postun -n libgstsdp-1_0-0 -p /sbin/ldconfig
%post -n libgsttag-1_0-0 -p /sbin/ldconfig
%post -n libgsttag-1_0-0 -p /sbin/ldconfig
%postun -n libgsttag-1_0-0 -p /sbin/ldconfig
%post -n libgstvideo-1_0-0 -p /sbin/ldconfig
%post -n libgstvideo-1_0-0 -p /sbin/ldconfig
%postun -n libgstvideo-1_0-0 -p /sbin/ldconfig
%files
%defattr(-, root, root)
%doc COPYING COPYING.LIB
%doc %{_mandir}/man1/gst-device-monitor-*
%doc %{_mandir}/man1/gst-discoverer-*
%doc %{_mandir}/man1/gst-play-*
%{_mandir}/man1/gst-device-monitor-*
%{_mandir}/man1/gst-discoverer-*
%{_mandir}/man1/gst-play-*
%{_bindir}/gst-device-monitor-%{gst_branch}
%{_bindir}/gst-discoverer-%{gst_branch}
%{_bindir}/gst-play-%{gst_branch}
@ -528,91 +522,69 @@ find %{buildroot} -type f -name "*.la" -print -delete
%files lang -f %{_name}-%{gst_branch}.lang
%files -n libgstallocators-1_0-0
%defattr(-, root, root)
%{_libdir}/libgstallocators*.so.*
%files -n typelib-1_0-GstAllocators-1_0
%defattr(-, root, root)
%{_libdir}/girepository-1.0/GstAllocators-*.typelib
%files -n libgstapp-1_0-0
%defattr(-, root, root)
%{_libdir}/libgstapp*.so.*
%files -n typelib-1_0-GstApp-1_0
%defattr(-, root, root)
%{_libdir}/girepository-1.0/GstApp-*.typelib
%files -n libgstaudio-1_0-0
%defattr(-, root, root)
%{_libdir}/libgstaudio*.so.*
%files -n typelib-1_0-GstAudio-1_0
%defattr(-, root, root)
%{_libdir}/girepository-1.0/GstAudio-*.typelib
%files -n libgstfft-1_0-0
%defattr(-, root, root)
%{_libdir}/libgstfft*.so.*
%files -n typelib-1_0-GstFft-1_0
%defattr(-, root, root)
%{_libdir}/girepository-1.0/GstFft-*.typelib
%files -n libgstpbutils-1_0-0
%defattr(-, root, root)
%{_libdir}/libgstpbutils*.so.*
%files -n typelib-1_0-GstPbutils-1_0
%defattr(-, root, root)
%{_libdir}/girepository-1.0/GstPbutils-*.typelib
%files -n libgstriff-1_0-0
%defattr(-, root, root)
%{_libdir}/libgstriff*.so.*
%files -n libgstrtp-1_0-0
%defattr(-, root, root)
%{_libdir}/libgstrtp*.so.*
%files -n typelib-1_0-GstRtp-1_0
%defattr(-, root, root)
%{_libdir}/girepository-1.0/GstRtp-*.typelib
%files -n libgstrtsp-1_0-0
%defattr(-, root, root)
%{_libdir}/libgstrtsp*.so.*
%files -n typelib-1_0-GstRtsp-1_0
%defattr(-, root, root)
%{_libdir}/girepository-1.0/GstRtsp-*.typelib
%files -n libgstsdp-1_0-0
%defattr(-, root, root)
%{_libdir}/libgstsdp*.so.*
%files -n typelib-1_0-GstSdp-1_0
%defattr(-, root, root)
%{_libdir}/girepository-1.0/GstSdp-*.typelib
%files -n libgsttag-1_0-0
%defattr(-, root, root)
%{_libdir}/libgsttag*.so.*
%files -n typelib-1_0-GstTag-1_0
%defattr(-, root, root)
%{_libdir}/girepository-1.0/GstTag-*.typelib
%files -n libgstvideo-1_0-0
%defattr(-, root, root)
%{_libdir}/libgstvideo*.so.*
%files -n typelib-1_0-GstVideo-1_0
%defattr(-, root, root)
%{_libdir}/girepository-1.0/GstVideo-*.typelib
%files devel
%defattr(-, root, root)
%{_includedir}/gstreamer-%{gst_branch}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
@ -622,7 +594,6 @@ find %{buildroot} -type f -name "*.la" -print -delete
%{_datadir}/gst-plugins-base/%{gst_branch}/license-translations.dict
%files doc
%defattr(-, root, root)
%doc AUTHORS NEWS README RELEASE REQUIREMENTS
%{_datadir}/gtk-doc/html/gst-plugins-base-libs-%{gst_branch}
%{_datadir}/gtk-doc/html/gst-plugins-base-plugins-%{gst_branch}