summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Alfredsen <loki_val@gentoo.org>2009-01-09 12:54:19 +0000
committerPeter Alfredsen <loki_val@gentoo.org>2009-01-09 12:54:19 +0000
commit526b04ba4638fead44be47a27db254a8c7c24760 (patch)
tree00699da60d90a308dba004705feb55c4aa38010b /media-libs/gstreamer
parentversion bump (diff)
downloadhistorical-526b04ba4638fead44be47a27db254a8c7c24760.tar.gz
historical-526b04ba4638fead44be47a27db254a8c7c24760.tar.bz2
historical-526b04ba4638fead44be47a27db254a8c7c24760.zip
Fix bug 250704, upstream bug 555631, Banshee crashing or doing a tail-spin with gstreamer. Bump masked version to -r10, the new 'ordinary' version is -r3.
Package-Manager: portage-2.2_rc20/cvs/Linux 2.6.28 x86_64
Diffstat (limited to 'media-libs/gstreamer')
-rw-r--r--media-libs/gstreamer/ChangeLog15
-rw-r--r--media-libs/gstreamer/Manifest7
-rw-r--r--media-libs/gstreamer/files/gstreamer-0.10.21-b.g.o-555631.patch100
-rw-r--r--media-libs/gstreamer/gstreamer-0.10.21-r10.ebuild (renamed from media-libs/gstreamer/gstreamer-0.10.21-r2.ebuild)7
-rw-r--r--media-libs/gstreamer/gstreamer-0.10.21-r3.ebuild (renamed from media-libs/gstreamer/gstreamer-0.10.21-r1.ebuild)7
5 files changed, 125 insertions, 11 deletions
diff --git a/media-libs/gstreamer/ChangeLog b/media-libs/gstreamer/ChangeLog
index c1c8a9980e8b..319397a376b2 100644
--- a/media-libs/gstreamer/ChangeLog
+++ b/media-libs/gstreamer/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for media-libs/gstreamer
-# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/gstreamer/ChangeLog,v 1.215 2008/12/24 13:39:17 ssuominen Exp $
+# Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/gstreamer/ChangeLog,v 1.216 2009/01/09 12:54:19 loki_val Exp $
+
+*gstreamer-0.10.21-r10 (09 Jan 2009)
+*gstreamer-0.10.21-r3 (09 Jan 2009)
+
+ 09 Jan 2009; Peter Alfredsen <loki_val@gentoo.org>
+ +files/gstreamer-0.10.21-b.g.o-555631.patch, -gstreamer-0.10.21-r1.ebuild,
+ -gstreamer-0.10.21-r2.ebuild, +gstreamer-0.10.21-r3.ebuild,
+ +gstreamer-0.10.21-r10.ebuild:
+ Fix bug 250704, upstream bug 555631, Banshee crashing or doing a tail-spin
+ with gstreamer. Bump masked version to -r10, the new 'ordinary' version is
+ -r3.
*gstreamer-0.10.21-r2 (24 Dec 2008)
diff --git a/media-libs/gstreamer/Manifest b/media-libs/gstreamer/Manifest
index 270636251084..67f3a0bd0d4c 100644
--- a/media-libs/gstreamer/Manifest
+++ b/media-libs/gstreamer/Manifest
@@ -1,4 +1,5 @@
AUX gstreamer-0.10.14-gstcaps.patch 506 RMD160 7d77743a78dfae975c025f659c7f3036a6de306f SHA1 05c590413953105fcbb0e071ed1b38c6103a7802 SHA256 d77061a547f4a658548b14f2de9579989ed1190381c41bbe9a4da578c734d57e
+AUX gstreamer-0.10.21-b.g.o-555631.patch 3719 RMD160 0fda33acf5113ad9e9c1333fff791cea485f01d2 SHA1 85ccb9ac759b0ed1349a052e6df1904f1a10a7b6 SHA256 419373c261dac2443ec850e96a9939fd55f4e0d7c5587cd0a6793d4768c81594
AUX gstreamer-0.10.21-bison241.patch 547 RMD160 257a17ee81688e3c86eb3a62e8f4146d85dc793a SHA1 8da50114a524a12695835379ee6564c769cd3a79 SHA256 136f74dab6bd8233b3ae5be771474758e7aaca06ae7b0e6a6904bda841984d55
AUX gstreamer-0.10.21-gtkdoc.patch 816 RMD160 70b89d12357dcf8fa063ead4f337ad39b3494db9 SHA1 7b6080f563afd9e31ae28f38bcbfcab3e4bc6564 SHA256 592d2257a038aa267b4e01a0dbdc3625ab55a00f763f85b75c573e413872a0b3
DIST gstreamer-0.10.14.tar.bz2 2004318 RMD160 6e6f75c89da223ac42a0ab3cc1642b24007a9181 SHA1 29e02be4dbf50272086e436f3fab2dcfadaaff2b SHA256 e684179e63262c7271dbc50e64ead205cae013daac7264d8effbf60fed3f2438
@@ -6,8 +7,8 @@ DIST gstreamer-0.10.20.tar.bz2 2253801 RMD160 8b3fa0ebdd30071c820bd3a9f7fec2104f
DIST gstreamer-0.10.21.tar.bz2 2662621 RMD160 d801ff66390ef41880cf0be1fee6f7aebf177876 SHA1 892daa9517dd7603e80b009dc059e20f4daea66f SHA256 94c185a0452b5fcddb538f6b686ff959b7afca8340c48fdbe47c87a2a459c3d3
EBUILD gstreamer-0.10.14.ebuild 2216 RMD160 cb317baf6a9067db2168bef6651b44dec393cbc0 SHA1 cda76a7b901d36bdcae18bfec4b059aaf21d6c5e SHA256 1efc0053fc3c9ee53a55d0c3488bb2bc3cd4e0e5e4664ff6516be9aa65f3dee3
EBUILD gstreamer-0.10.20.ebuild 1605 RMD160 2d272fc2dfa4e8ebe08f9cac87fdd21b32919181 SHA1 ec88e83229ae62d377cc68dd32196d93cdb31595 SHA256 039d93accf50fa58eb0af9696cd515f11810a86b9723434a7fcd6307ef440a0b
-EBUILD gstreamer-0.10.21-r1.ebuild 1811 RMD160 c1e162f2e6d5c5200a6f3d81c24291ce4ea60066 SHA1 1daeddbede262bba2151b59460dd1aa7a2cc3ad3 SHA256 a6bf6b09cd56b4787450871bb0edaeca953a626ee497c4a4e7869abe27586b30
-EBUILD gstreamer-0.10.21-r2.ebuild 1934 RMD160 af9bd5188debbaa04a8d3fa30494c1514ab977d3 SHA1 c973442ecc81c08fc7ed1048de6bd53c9b33bf17 SHA256 a6dfaef7bd5f4bb4bbdc73a16590281e08160f5365b8f225b164044fc376337f
+EBUILD gstreamer-0.10.21-r10.ebuild 1976 RMD160 5553b5d161afe277c696c2405cf3a356929583ac SHA1 aef400ffc92bb2462d7f1a317313e4317c7ce054 SHA256 f97da256b67f0bc1e4880df51ea0d1171c2f5af7403eb50f4069039c58fdfa71
+EBUILD gstreamer-0.10.21-r3.ebuild 1852 RMD160 659eb9ff60496395e830f35dae95efd4709b9390 SHA1 e8a69f6f74d4c4aa5e61ce2fa11c606572bda523 SHA256 e3933355d0eafb4363e96b85a84f98325872aae0cc86cbde353e4f8924c35e97
EBUILD gstreamer-0.10.21.ebuild 1734 RMD160 297a0b864b20c938f45b49cd26f5368c90bdbf8d SHA1 e75dde85f3808ff79b26e18b2c179424b1a80ba6 SHA256 9fdd963c15ca509e2f9f8576ed2eb8e33789ad619164fe7e32d9bb1a8062fabf
-MISC ChangeLog 28002 RMD160 49405f96b20ac48354b40256eb2e557f98550b08 SHA1 64e1a2d8e2d03b7f2aa709a84d26a3a11ce44986 SHA256 71c4e3584d89c1a1a607b3a213cbfb14d46f44d799ffb7efc127733a2b353a23
+MISC ChangeLog 28462 RMD160 95cc4d5dbcb7f90cad04bf0bd5c89a1fb850f4b7 SHA1 51ed6c58441d387af2ce6179d021d5c79d657506 SHA256 92c145cbdb424b2f8455dba0ebc05ab04f4d4a3d8fd53af77ba8827f94e4b53f
MISC metadata.xml 181 RMD160 51814fbdcf7f32cfe70018b3af7fc798e41ff90d SHA1 faf40c45bd66b0072b95556cf7ab097d3be19511 SHA256 22c215902ccdc7fd8cdb765750fb23ea9d9b6c9d3edb1b45325c3469f8f6ffc5
diff --git a/media-libs/gstreamer/files/gstreamer-0.10.21-b.g.o-555631.patch b/media-libs/gstreamer/files/gstreamer-0.10.21-b.g.o-555631.patch
new file mode 100644
index 000000000000..922d8beb3cfa
--- /dev/null
+++ b/media-libs/gstreamer/files/gstreamer-0.10.21-b.g.o-555631.patch
@@ -0,0 +1,100 @@
+
+* libs/gst/base/gstbasetransform.c:
+(gst_base_transform_prepare_output_buffer),
+(gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
+Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
+refcount problems as seen in banshee and maybe also in farsight2.
+Remove atomic int now that we need to take the lock anyways.
+
+http://bugzilla.gnome.org/show_bug.cgi?id=555631
+http://bugs.gentoo.org/show_bug.cgi?id=250704
+http://webcvs.freedesktop.org/gstreamer/gstreamer/libs/gst/base/gstbasetransform.c?r1=1.126&r2=1.127
+
+--- gstreamer/libs/gst/base/gstbasetransform.c 2008/10/20 13:29:06 1.126
++++ gstreamer/libs/gst/base/gstbasetransform.c 2008/10/21 16:30:41 1.127
+@@ -251,7 +251,7 @@
+ /* upstream caps and size suggestions */
+ GstCaps *sink_suggest;
+ guint size_suggest;
+- gint suggest_pending;
++ gboolean suggest_pending;
+
+ gboolean reconfigure;
+ };
+@@ -1224,7 +1224,7 @@
+ gst_caps_unref (priv->sink_suggest);
+ priv->sink_suggest = gst_caps_ref (othercaps);
+ priv->size_suggest = size_suggest;
+- g_atomic_int_set (&trans->priv->suggest_pending, 1);
++ trans->priv->suggest_pending = TRUE;
+ GST_OBJECT_UNLOCK (trans->sinkpad);
+ }
+ gst_caps_unref (othercaps);
+@@ -1366,7 +1366,7 @@
+ GstBaseTransform *trans;
+ GstBaseTransformPrivate *priv;
+ GstFlowReturn res;
+- gboolean proxy, suggest;
++ gboolean proxy, suggest, same_caps;
+ GstCaps *sink_suggest;
+ guint size_suggest;
+
+@@ -1384,8 +1384,12 @@
+
+ /* we remember our previous alloc request to quickly see if we can proxy or
+ * not. We skip this check if we have a pending suggestion. */
+- if (g_atomic_int_get (&priv->suggest_pending) == 0 && caps &&
+- gst_caps_is_equal (priv->sink_alloc, caps)) {
++ GST_OBJECT_LOCK (pad);
++ same_caps = !priv->suggest_pending && caps &&
++ gst_caps_is_equal (priv->sink_alloc, caps);
++ GST_OBJECT_UNLOCK (pad);
++
++ if (same_caps) {
+ /* we have seen this before, see below if we need to proxy */
+ GST_DEBUG_OBJECT (trans, "have old caps");
+ sink_suggest = caps;
+@@ -1414,7 +1418,7 @@
+ size_suggest = size;
+ suggest = FALSE;
+ }
+- g_atomic_int_set (&priv->suggest_pending, 0);
++ priv->suggest_pending = FALSE;
+ GST_OBJECT_UNLOCK (pad);
+
+ /* check if we actually handle this format on the sinkpad */
+@@ -1462,7 +1466,10 @@
+ }
+ }
+ /* remember the new caps */
++ GST_OBJECT_LOCK (pad);
+ gst_caps_replace (&priv->sink_alloc, sink_suggest);
++ GST_OBJECT_UNLOCK (pad);
++
+ proxy = priv->proxy_alloc;
+ GST_DEBUG_OBJECT (trans, "doing default alloc, proxy %d", proxy);
+
+@@ -1487,11 +1494,13 @@
+ if (!gst_caps_is_equal (newcaps, caps)) {
+ GST_DEBUG_OBJECT (trans, "caps are new");
+ /* we have new caps, see if we can proxy downstream */
+- if (gst_pad_peer_accept_caps (trans->sinkpad, newcaps)) {
++ if (gst_pad_peer_accept_caps (pad, newcaps)) {
+ /* peer accepts the caps, return a buffer in this format */
+ GST_DEBUG_OBJECT (trans, "peer accepted new caps");
+ /* remember the format */
++ GST_OBJECT_LOCK (pad);
+ gst_caps_replace (&priv->sink_alloc, newcaps);
++ GST_OBJECT_UNLOCK (pad);
+ } else {
+ GST_DEBUG_OBJECT (trans, "peer did not accept new caps");
+ /* peer does not accept the caps, free the buffer we received and
+@@ -2306,7 +2315,7 @@
+ caps = gst_caps_copy (caps);
+ trans->priv->sink_suggest = caps;
+ trans->priv->size_suggest = size;
+- g_atomic_int_set (&trans->priv->suggest_pending, 1);
++ trans->priv->suggest_pending = TRUE;
+ GST_DEBUG_OBJECT (trans, "new suggest %" GST_PTR_FORMAT, caps);
+ GST_OBJECT_UNLOCK (trans->sinkpad);
+ }
diff --git a/media-libs/gstreamer/gstreamer-0.10.21-r2.ebuild b/media-libs/gstreamer/gstreamer-0.10.21-r10.ebuild
index 754a34e24385..e8b6723a4895 100644
--- a/media-libs/gstreamer/gstreamer-0.10.21-r2.ebuild
+++ b/media-libs/gstreamer/gstreamer-0.10.21-r10.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2008 Gentoo Foundation
+# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/gstreamer/gstreamer-0.10.21-r2.ebuild,v 1.3 2008/12/31 03:30:47 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/gstreamer/gstreamer-0.10.21-r10.ebuild,v 1.1 2009/01/09 12:54:19 loki_val Exp $
EAPI=2
@@ -30,7 +30,8 @@ src_prepare() {
# Needed for sane .so versioning on Gentoo/FreeBSD
#elibtoolize
epatch "${FILESDIR}"/${P}-gtkdoc.patch \
- "${FILESDIR}"/${P}-bison241.patch
+ "${FILESDIR}"/${P}-bison241.patch \
+ "${FILESDIR}"/${P}-b.g.o-555631.patch
AT_M4DIR="common/m4" eautoreconf
}
diff --git a/media-libs/gstreamer/gstreamer-0.10.21-r1.ebuild b/media-libs/gstreamer/gstreamer-0.10.21-r3.ebuild
index a5657c7226ec..7908f18dce18 100644
--- a/media-libs/gstreamer/gstreamer-0.10.21-r1.ebuild
+++ b/media-libs/gstreamer/gstreamer-0.10.21-r3.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2008 Gentoo Foundation
+# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/gstreamer/gstreamer-0.10.21-r1.ebuild,v 1.3 2008/12/31 03:30:47 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/gstreamer/gstreamer-0.10.21-r3.ebuild,v 1.1 2009/01/09 12:54:19 loki_val Exp $
EAPI=2
@@ -30,7 +30,8 @@ src_prepare() {
# Needed for sane .so versioning on Gentoo/FreeBSD
#elibtoolize
epatch "${FILESDIR}"/${P}-gtkdoc.patch \
- "${FILESDIR}"/${P}-bison241.patch
+ "${FILESDIR}"/${P}-bison241.patch \
+ "${FILESDIR}"/${P}-b.g.o-555631.patch
AT_M4DIR="common/m4" eautoreconf
}