Accepting request 345073 from multimedia:libs

1

OBS-URL: https://build.opensuse.org/request/show/345073
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gstreamer?expand=0&rev=30
This commit is contained in:
Stephan Kulow 2015-11-24 21:28:55 +00:00 committed by Git OBS Bridge
commit 36bd4a2762
8 changed files with 161 additions and 154 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:40801aa7f979024526258a0e94707ba42b8ab6f7d2206e56adbc4433155cb0ae
size 3324052

3
gstreamer-1.6.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:973a3f213c8d41d6dd0e4e7e38fd6cccacd5ae1ac09e1179a8d5d869ef0a5c9c
size 3552476

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Sat Oct 31 02:21:50 UTC 2015 - zaitor@opensuse.org
- Run pre_checkin.sh to get in sync with gstreamer.
- Add gstreamer-revert-bogus-automake-version.patch, needed to
lower automake version.
-------------------------------------------------------------------
Tue Oct 27 10:19:02 UTC 2015 - zaitor@opensuse.org
- Run pre_checkin.sh to get in sync with gstreamer.
-------------------------------------------------------------------
Sun Mar 1 14:56:54 UTC 2015 - dap.darkness@gmail.com

View File

@ -19,14 +19,14 @@
Name: gstreamer-doc
%define _name gstreamer
%define build_doc 1
Version: 1.4.5
Version: 1.6.1
Release: 0
%define gst_branch 1.0
Summary: Streaming-Media Framework Runtime
License: LGPL-2.1+
Group: Productivity/Multimedia/Other
Url: http://gstreamer.freedesktop.org/
Source0: http://gstreamer.freedesktop.org/src/gstreamer/%{_name}-%{version}.tar.xz
Source0: http://download.gnome.org/sources/gstreamer/1.6/%{_name}-%{version}.tar.xz
Source1: gstreamer.macros
Source2: gstreamer.prov
Source99: baselibs.conf
@ -34,9 +34,8 @@ Source99: baselibs.conf
Patch0: gstreamer-no-gtk-doc-for-reals.patch
# PATCH-FEATURE-UPSTREAM gstreamer-rpm-prov.patch bgo#588783 dimstar@opensuse.org -- Add --rpm parameter to allow creation of rpm provides, patch from fedora
Patch1: gstreamer-rpm-prov.patch
# http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=da7847d1adde
# PATCH-FIX-UPSTREAM gstreamer-message-delivery.patch dap.darkness@gmail.com -- to fix async message delivery
Patch2: gstreamer-message-delivery.patch
# PATCH-FIX-OPENSUSE gstreamer-revert-bogus-automake-version.patch bgo#747624 zaitor@opensuse.org -- Upstream needed feature in automake 1.12, so for good measure they bumped to 1.14 - revert that commit as we have at least 1.13.4...
Patch2: gstreamer-revert-bogus-automake-version.patch
BuildRequires: bison
BuildRequires: check-devel
BuildRequires: fdupes
@ -46,6 +45,7 @@ BuildRequires: gnome-patch-translation
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: translation-update-upstream
BuildRequires: pkgconfig(bash-completion)
%ifarch %ix86 ppc x86_64
BuildRequires: valgrind-devel
%endif
@ -153,7 +153,7 @@ gnome-patch-translation-prepare po gstreamer-%{gst_branch}
%patch0 -p1
%endif
%patch1 -p1
%patch2 -p1
%patch2 -p1 -R
gnome-patch-translation-update po gstreamer-%{gst_branch}
%build
@ -198,6 +198,9 @@ rm -rf %{buildroot}%{_mandir}
rm -rf %{buildroot}%{_datadir}/gir-1.0/
rm -rf %{buildroot}%{_datadir}/gstreamer-%{gst_branch}
rm -rf %{buildroot}%{_libexecdir}/gstreamer-%{gst_branch}/gst-plugin-scanner
rm -rf %{buildroot}%{_libexecdir}/gstreamer-%{gst_branch}/gst-ptp-helper
rm -rf %{buildroot}%{_datadir}/bash-completion/completions/
rm -rf %{buildroot}%{_datadir}/bash-completion/helpers/
%else
rm -rf %{buildroot}%{_datadir}/gtk-doc
rm -rf %{buildroot}%{_docdir}/%{name}/manual
@ -247,6 +250,9 @@ rm -rf %{buildroot}
%{_libdir}/gstreamer-%{gst_branch}/*.so
%dir %{_libexecdir}/gstreamer-%{gst_branch}
%{_libexecdir}/gstreamer-%{gst_branch}/gst-plugin-scanner
%{_libexecdir}/gstreamer-%{gst_branch}/gst-ptp-helper
%{_datadir}/bash-completion/completions/
%{_datadir}/bash-completion/helpers/
%files lang -f %{name}-%{gst_branch}.lang
@ -273,6 +279,9 @@ rm -rf %{buildroot}
%defattr(-, root, root)
%{_datadir}/aclocal/*.m4
%{_includedir}/*
%dir %{_libdir}/gstreamer-1.0/include/
%dir %{_libdir}/gstreamer-1.0/include/gst
%{_libdir}/gstreamer-1.0/include/gst/gstconfig.h
%{_libdir}/*.so
%{_libdir}/*.*a
%{_libdir}/pkgconfig/*.pc

View File

@ -1,139 +0,0 @@
From da7847d1adde088b4d8bcfc76642cf942e735dd3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
Date: Mon, 16 Feb 2015 22:39:42 +0000
Subject: message, bus: fix async message delivery
Async message delivery (where the posting thread gets blocked
until the message has been processed and/or freed) was pretty
much completely broken.
For one, don't use GMutex implementation details to check
whether a mutex has been initialized or not, esp. not
implementation details that don't hold true any more with
newer GLib versions where atomic ops and futexes are used
(spotted by Josep Torras). This led to async message
delivery no longer blocking with newer GLib versions on
Linux.
Secondly, after async delivery don't free mutex/GCond
embedded inside the just-freed message structure.
Use a new (private) mini object flag to signal GstMessage
that the message being freed is part of an async delivery
on the bus so that the dispose handler can keep the message
alive and the bus can free it once it's done cleaning up
stuff.
diff --git a/gst/gst_private.h b/gst/gst_private.h
index 8c9cb4b..d0aefb4 100644
--- a/gst/gst_private.h
+++ b/gst/gst_private.h
@@ -426,5 +426,8 @@ struct _GstDeviceProviderFactoryClass {
gpointer _gst_reserved[GST_PADDING];
};
+/* privat flag used by GstBus / GstMessage */
+#define GST_MESSAGE_FLAG_ASYNC_DELIVERY (GST_MINI_OBJECT_FLAG_LAST << 0)
+
G_END_DECLS
#endif /* __GST_PRIVATE_H__ */
diff --git a/gst/gstbus.c b/gst/gstbus.c
index ff458cd..13b0546 100644
--- a/gst/gstbus.c
+++ b/gst/gstbus.c
@@ -308,6 +308,10 @@ gst_bus_post (GstBus * bus, GstMessage * message)
GST_DEBUG_OBJECT (bus, "[msg %p] posting on bus %" GST_PTR_FORMAT, message,
message);
+ /* check we didn't accidentally add a public flag that maps to same value */
+ g_assert (!GST_MINI_OBJECT_FLAG_IS_SET (message,
+ GST_MESSAGE_FLAG_ASYNC_DELIVERY));
+
GST_OBJECT_LOCK (bus);
/* check if the bus is flushing */
if (GST_OBJECT_FLAG_IS_SET (bus, GST_BUS_FLUSHING))
@@ -357,6 +361,8 @@ gst_bus_post (GstBus * bus, GstMessage * message)
g_cond_init (cond);
g_mutex_init (lock);
+ GST_MINI_OBJECT_FLAG_SET (message, GST_MESSAGE_FLAG_ASYNC_DELIVERY);
+
GST_DEBUG_OBJECT (bus, "[msg %p] waiting for async delivery", message);
/* now we lock the message mutex, send the message to the async
@@ -369,12 +375,18 @@ gst_bus_post (GstBus * bus, GstMessage * message)
/* now block till the message is freed */
g_cond_wait (cond, lock);
+
+ /* we acquired a new ref from gst_message_dispose() so we can clean up */
g_mutex_unlock (lock);
GST_DEBUG_OBJECT (bus, "[msg %p] delivered asynchronously", message);
+ GST_MINI_OBJECT_FLAG_UNSET (message, GST_MESSAGE_FLAG_ASYNC_DELIVERY);
+
g_mutex_clear (lock);
g_cond_clear (cond);
+
+ gst_message_unref (message);
break;
}
default:
diff --git a/gst/gstmessage.c b/gst/gstmessage.c
index 8d3892c..9f4d286 100644
--- a/gst/gstmessage.c
+++ b/gst/gstmessage.c
@@ -166,6 +166,26 @@ gst_message_type_to_quark (GstMessageType type)
return 0;
}
+static gboolean
+_gst_message_dispose (GstMessage * message)
+{
+ gboolean do_free = TRUE;
+
+ if (GST_MINI_OBJECT_FLAG_IS_SET (message, GST_MESSAGE_FLAG_ASYNC_DELIVERY)) {
+ GST_INFO ("[msg %p] signalling async free", message);
+
+ GST_MESSAGE_LOCK (message);
+ GST_MESSAGE_SIGNAL (message);
+ GST_MESSAGE_UNLOCK (message);
+
+ /* don't free it yet, let bus finish with it first */
+ gst_message_ref (message);
+ do_free = FALSE;
+ }
+
+ return do_free;
+}
+
static void
_gst_message_free (GstMessage * message)
{
@@ -181,12 +201,6 @@ _gst_message_free (GstMessage * message)
GST_MESSAGE_SRC (message) = NULL;
}
- if (message->lock.p) {
- GST_MESSAGE_LOCK (message);
- GST_MESSAGE_SIGNAL (message);
- GST_MESSAGE_UNLOCK (message);
- }
-
structure = GST_MESSAGE_STRUCTURE (message);
if (structure) {
gst_structure_set_parent_refcount (structure, NULL);
@@ -235,7 +249,8 @@ gst_message_init (GstMessageImpl * message, GstMessageType type,
GstObject * src)
{
gst_mini_object_init (GST_MINI_OBJECT_CAST (message), 0, _gst_message_type,
- (GstMiniObjectCopyFunction) _gst_message_copy, NULL,
+ (GstMiniObjectCopyFunction) _gst_message_copy,
+ (GstMiniObjectDisposeFunction) _gst_message_dispose,
(GstMiniObjectFreeFunction) _gst_message_free);
GST_MESSAGE_TYPE (message) = type;
--
cgit v0.10.2

View File

@ -0,0 +1,32 @@
From 307dce442a70a91d7075afef0408f7f7b3491072 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
Date: Wed, 22 Apr 2015 09:47:39 +0100
Subject: configure: bump automake requirement to 1.14 and autoconf to 2.69
This is only required for builds from git, people can still
build tarballs if they only have older autotools.
https://bugzilla.gnome.org//show_bug.cgi?id=747624
diff --git a/configure.ac b/configure.ac
index 8013c96..a4b9680 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_PREREQ([2.68])
+AC_PREREQ([2.69])
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
@@ -8,7 +8,7 @@ AC_INIT([GStreamer],[1.5.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=G
AG_GST_INIT
dnl initialize automake (we require GNU make)
-AM_INIT_AUTOMAKE([-Wno-portability 1.11 no-dist-gzip dist-xz tar-ustar subdir-objects])
+AM_INIT_AUTOMAKE([-Wno-portability 1.14 no-dist-gzip dist-xz tar-ustar subdir-objects])
dnl define PACKAGE_VERSION_* variables
AS_VERSION
--
cgit v0.10.2

View File

@ -1,3 +1,87 @@
-------------------------------------------------------------------
Sat Oct 31 02:16:23 UTC 2015 - zaitor@opensuse.org
- Update to version 1.6.1:
+ Valgrind 3.7.0 chokes on match-leak-kinds in gst.supp.
+ Gstreamer: Fix sample memory leaks.
+ gstreamer-1.6.0 doesn't compile on OS X 10.6: header file issue
in gst-ptp-helper.c.
+ multiqueue: Improve incoming SEGMENT handling.
+ segment_to_stream_time and position_from_stream_time
miscalculate when applied_rate < 0.
+ pad: gst_pad_probe_info_get_buffer_list() has wrong ownership
transfer.
+ uri: incorrect behavior when merging uris ending in ..
+ pad: Unblock blocking pad probes when receiving FLUSH_START in
send_event() too.
- Add gstreamer-revert-bogus-automake-version.patch: Upstream
needed feature in automake 1.12, so for good measure they bumped
to 1.14, this patch reverts this.
-------------------------------------------------------------------
Sat Sep 26 22:07:21 UTC 2015 - zaitor@opensuse.org
- Update to version 1.6.0:
+ Stereoscopic 3D and multiview video support.
+ Trick mode API for key-frame only fast-forward/fast-reverse
playback etc.
+ Improved DTS (decoding timestamp) vs. PTS (presentation
timestamp) handling to account for negative DTS.
+ New GstVideoConverter API for more optimised and more correct
conversion of raw video frames between all supported formats,
with rescaling.
+ v4l2src now supports renegotiation.
+ v4l2transform can now do scaling.
+ V4L2 Element now report Colorimetry properly.
+ Easier chunked recording of MP4, Matroska, Ogg, MPEG-TS: new
splitmuxsink and multifilesink improvements.
+ Content Protection signalling API and Common Encryption (CENC)
support for DASH/MP4.
+ Many adaptive streaming (DASH, HLS and MSS) improvements.
+ New PTP and NTP network client clocks and better remote clock
tracking stability.
+ High-quality text subtitle overlay at display resolutions with
glimagesink or gtkglsink.
+ RECORD support for the GStreamer RTSP Server.
+ Retransmissions (RTX) support in RTSP server and client.
+ RTSP seeking support in client and server has been fixed.
+ RTCP scheduling improvements and reduced size RTCP support.
+ MP4/MOV muxer acquired a new "robust" mode of operation which
attempts to keep the output file in a valid state at all times.
+ Live mixing support in aggregator, audiomixer and compositor
was improved a lot.
+ Compositor now supports rescaling and converting inputs streams
on the fly.
+ New audiointerleave element with proper input synchronisation
and live input support.
+ Blackmagic Design DeckLink capture and playback card support
was rewritten from scratch; 2k/4k support; mode sensing.
+ KLV metadata support in RTP and MPEG-TS.
+ H.265 video encoder (x265), decoders (libav, libde265) and RTP
payloader and depayloaders.
+ New DTLS plugin and SRTP/DTLS support.
+ OpenGL3 support, multiple contexts and context propagation, 3D
video, transfer/conversion separation, subtitle blending.
+ New OpenGL-based QML video sink, Gtk GL video sink,
CoreAnimation CAOpenGLLayerSink video sink.
+ gst-libav switched to ffmpeg as libav-provider, gains support
for 3D/multiview video, trick modes, and the CAVS codec.
+ GstHarness API for unit tests.
+ gst-editing-services got a completely new ges-launch-1.0.
interface, improved mixing support and integration into
gst-validate.
+ gnonlin has been deprecated in favor of nle (Non Linear Engine)
in gst-editing-services.
+ gst-validate has a new plugin system, an extensive default
testsuite, support for concurrent test runs and valgrind
support.
+ cerbero build tool for SDK binary packages gains new
'bundle-source' command.
+ Various improvements to the Android, iOS, OS X and Windows
platform support.
- Drop gstreamer-message-delivery.patch: Fixed upstream.
- Add pkgconfig(bash-completion) BuildRequires: New dependency.
-------------------------------------------------------------------
Sun Mar 1 14:56:54 UTC 2015 - dap.darkness@gmail.com

View File

@ -19,14 +19,14 @@
Name: gstreamer
%define _name gstreamer
%define build_doc 0
Version: 1.4.5
Version: 1.6.1
Release: 0
%define gst_branch 1.0
Summary: Streaming-Media Framework Runtime
License: LGPL-2.1+
Group: Productivity/Multimedia/Other
Url: http://gstreamer.freedesktop.org/
Source0: http://gstreamer.freedesktop.org/src/gstreamer/%{_name}-%{version}.tar.xz
Source0: http://download.gnome.org/sources/gstreamer/1.6/%{_name}-%{version}.tar.xz
Source1: gstreamer.macros
Source2: gstreamer.prov
Source99: baselibs.conf
@ -34,9 +34,8 @@ Source99: baselibs.conf
Patch0: gstreamer-no-gtk-doc-for-reals.patch
# PATCH-FEATURE-UPSTREAM gstreamer-rpm-prov.patch bgo#588783 dimstar@opensuse.org -- Add --rpm parameter to allow creation of rpm provides, patch from fedora
Patch1: gstreamer-rpm-prov.patch
# http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=da7847d1adde
# PATCH-FIX-UPSTREAM gstreamer-message-delivery.patch dap.darkness@gmail.com -- to fix async message delivery
Patch2: gstreamer-message-delivery.patch
# PATCH-FIX-OPENSUSE gstreamer-revert-bogus-automake-version.patch bgo#747624 zaitor@opensuse.org -- Upstream needed feature in automake 1.12, so for good measure they bumped to 1.14 - revert that commit as we have at least 1.13.4...
Patch2: gstreamer-revert-bogus-automake-version.patch
BuildRequires: bison
BuildRequires: check-devel
BuildRequires: fdupes
@ -46,6 +45,7 @@ BuildRequires: gnome-patch-translation
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: translation-update-upstream
BuildRequires: pkgconfig(bash-completion)
%ifarch %ix86 ppc x86_64
BuildRequires: valgrind-devel
%endif
@ -153,7 +153,7 @@ gnome-patch-translation-prepare po gstreamer-%{gst_branch}
%patch0 -p1
%endif
%patch1 -p1
%patch2 -p1
%patch2 -p1 -R
gnome-patch-translation-update po gstreamer-%{gst_branch}
%build
@ -198,6 +198,9 @@ rm -rf %{buildroot}%{_mandir}
rm -rf %{buildroot}%{_datadir}/gir-1.0/
rm -rf %{buildroot}%{_datadir}/gstreamer-%{gst_branch}
rm -rf %{buildroot}%{_libexecdir}/gstreamer-%{gst_branch}/gst-plugin-scanner
rm -rf %{buildroot}%{_libexecdir}/gstreamer-%{gst_branch}/gst-ptp-helper
rm -rf %{buildroot}%{_datadir}/bash-completion/completions/
rm -rf %{buildroot}%{_datadir}/bash-completion/helpers/
%else
rm -rf %{buildroot}%{_datadir}/gtk-doc
rm -rf %{buildroot}%{_docdir}/%{name}/manual
@ -247,6 +250,9 @@ rm -rf %{buildroot}
%{_libdir}/gstreamer-%{gst_branch}/*.so
%dir %{_libexecdir}/gstreamer-%{gst_branch}
%{_libexecdir}/gstreamer-%{gst_branch}/gst-plugin-scanner
%{_libexecdir}/gstreamer-%{gst_branch}/gst-ptp-helper
%{_datadir}/bash-completion/completions/
%{_datadir}/bash-completion/helpers/
%files lang -f %{name}-%{gst_branch}.lang
@ -273,6 +279,9 @@ rm -rf %{buildroot}
%defattr(-, root, root)
%{_datadir}/aclocal/*.m4
%{_includedir}/*
%dir %{_libdir}/gstreamer-1.0/include/
%dir %{_libdir}/gstreamer-1.0/include/gst
%{_libdir}/gstreamer-1.0/include/gst/gstconfig.h
%{_libdir}/*.so
%{_libdir}/*.*a
%{_libdir}/pkgconfig/*.pc