From cc6dcce5302bef008643f9e3fb55586eb70ecff8 Mon Sep 17 00:00:00 2001 From: Marinus Schraal Date: Mon, 17 Jan 2005 14:16:30 +0000 Subject: [PATCH] add deadlock fix --- media-plugins/gst-plugins-alsa/ChangeLog | 7 +++- media-plugins/gst-plugins-alsa/Manifest | 15 ++++---- ...0.8.7 => digest-gst-plugins-alsa-0.8.7-r1} | 0 ...gst-plugins-alsa-0.8.7-alsa_deadlock.patch | 35 +++++++++++++++++++ .../gst-plugins-alsa-0.8.7-r1.ebuild | 20 +++++++++++ .../gst-plugins-alsa-0.8.7.ebuild | 10 ------ 6 files changed, 69 insertions(+), 18 deletions(-) rename media-plugins/gst-plugins-alsa/files/{digest-gst-plugins-alsa-0.8.7 => digest-gst-plugins-alsa-0.8.7-r1} (100%) create mode 100644 media-plugins/gst-plugins-alsa/files/gst-plugins-alsa-0.8.7-alsa_deadlock.patch create mode 100644 media-plugins/gst-plugins-alsa/gst-plugins-alsa-0.8.7-r1.ebuild delete mode 100644 media-plugins/gst-plugins-alsa/gst-plugins-alsa-0.8.7.ebuild diff --git a/media-plugins/gst-plugins-alsa/ChangeLog b/media-plugins/gst-plugins-alsa/ChangeLog index 0812fc93853f..aaf893c75bf8 100644 --- a/media-plugins/gst-plugins-alsa/ChangeLog +++ b/media-plugins/gst-plugins-alsa/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for media-plugins/gst-plugins-alsa # Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-alsa/ChangeLog,v 1.27 2005/01/12 16:59:13 gmsoft Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-alsa/ChangeLog,v 1.28 2005/01/17 14:16:30 foser Exp $ + +*gst-plugins-alsa-0.8.7-r1 (17 jan 2005) + + 17 Jan 2005; foser gst-plugins-alsa00.8.7-r1.ebuild : + Add patch to fix deadlock issue (http://bugzilla.gnome.org/show_bug.cgi?id=164069) 12 Jan 2005; Guy Martin gst-plugins-alsa-0.8.5-r1.ebuild: diff --git a/media-plugins/gst-plugins-alsa/Manifest b/media-plugins/gst-plugins-alsa/Manifest index 23b96d997eed..6269878c0290 100644 --- a/media-plugins/gst-plugins-alsa/Manifest +++ b/media-plugins/gst-plugins-alsa/Manifest @@ -1,16 +1,17 @@ -MD5 8738ce79a8edd992fd40ce4268760b95 ChangeLog 3147 +MD5 a4ca6319541148c50e732fd87a3ae704 gst-plugins-alsa-0.8.5-r1.ebuild 464 MD5 d516995f66da8bbf9e908c00e46aa231 gst-plugins-alsa-0.8.1.ebuild 503 -MD5 43fb4bc0896f557629986e7594f86ad6 gst-plugins-alsa-0.8.2-r1.ebuild 660 +MD5 83e3a4bb17af853e8681b3e5c9279b80 gst-plugins-alsa-0.8.7-r1.ebuild 545 MD5 8063a8aa48b0d3d6e95a0af3c3d04b8e gst-plugins-alsa-0.8.3.ebuild 520 -MD5 a4ca6319541148c50e732fd87a3ae704 gst-plugins-alsa-0.8.5-r1.ebuild 464 +MD5 43fb4bc0896f557629986e7594f86ad6 gst-plugins-alsa-0.8.2-r1.ebuild 660 MD5 31c09ae85e98b1abd901c5fba1fa7fca gst-plugins-alsa-0.8.5.ebuild 524 -MD5 b4793a02bc974c87ef15108ff394bcdc gst-plugins-alsa-0.8.7.ebuild 376 +MD5 3dcabaf1c70e4e00549d9cd92b097b54 ChangeLog 3349 MD5 6cf6f97e79b43eaf70fa938c431342a3 metadata.xml 181 MD5 d454a981aba7bfc51b76556d18ef0357 files/digest-gst-plugins-alsa-0.8.1 71 -MD5 fdc36508749cec2850c94b4bff5cc0a2 files/digest-gst-plugins-alsa-0.8.2-r1 71 MD5 b34b0c2aff88ed12404f38ecc09f44f0 files/digest-gst-plugins-alsa-0.8.3 71 MD5 acf565d7ba42d81f95f66ad754ab8be9 files/digest-gst-plugins-alsa-0.8.5 71 +MD5 fdc36508749cec2850c94b4bff5cc0a2 files/digest-gst-plugins-alsa-0.8.2-r1 71 MD5 acf565d7ba42d81f95f66ad754ab8be9 files/digest-gst-plugins-alsa-0.8.5-r1 71 -MD5 1d2b17e15b2072757c3db8f184b7d174 files/digest-gst-plugins-alsa-0.8.7 71 -MD5 41606d2ca893d5ca7b2bb16b7ef3fef0 files/gst-plugins-alsa-0.8.2-alsasink_seek_fix.patch 1274 +MD5 1d2b17e15b2072757c3db8f184b7d174 files/digest-gst-plugins-alsa-0.8.7-r1 71 MD5 2f0d0555805bf8c87467d40987b7aa72 files/gst-plugins-alsa-0.8.5-cvs_fixes.patch 13011 +MD5 629efc20767a1bd436ba6d55c28220d8 files/gst-plugins-alsa-0.8.7-alsa_deadlock.patch 1371 +MD5 41606d2ca893d5ca7b2bb16b7ef3fef0 files/gst-plugins-alsa-0.8.2-alsasink_seek_fix.patch 1274 diff --git a/media-plugins/gst-plugins-alsa/files/digest-gst-plugins-alsa-0.8.7 b/media-plugins/gst-plugins-alsa/files/digest-gst-plugins-alsa-0.8.7-r1 similarity index 100% rename from media-plugins/gst-plugins-alsa/files/digest-gst-plugins-alsa-0.8.7 rename to media-plugins/gst-plugins-alsa/files/digest-gst-plugins-alsa-0.8.7-r1 diff --git a/media-plugins/gst-plugins-alsa/files/gst-plugins-alsa-0.8.7-alsa_deadlock.patch b/media-plugins/gst-plugins-alsa/files/gst-plugins-alsa-0.8.7-alsa_deadlock.patch new file mode 100644 index 000000000000..56207c5cc176 --- /dev/null +++ b/media-plugins/gst-plugins-alsa/files/gst-plugins-alsa-0.8.7-alsa_deadlock.patch @@ -0,0 +1,35 @@ +=================================================================== +RCS file: /cvs/gstreamer/gst-plugins/ext/alsa/gstalsaclock.c,v +retrieving revision 1.7 +retrieving revision 1.8 +diff -u -r1.7 -r1.8 +--- gstreamer/gst-plugins/ext/alsa/gstalsaclock.c 2004/06/17 14:11:18 1.7 ++++ gstreamer/gst-plugins/ext/alsa/gstalsaclock.c 2005/01/17 12:45:27 1.8 +@@ -166,9 +166,10 @@ + static GstClockEntryStatus + gst_alsa_clock_wait (GstClock * clock, GstClockEntry * entry) + { +- GstClockTime target, entry_time; ++ GstClockTime target, entry_time, glib_start, glib_cur; + GstClockTimeDiff diff; + GstAlsaClock *this = GST_ALSA_CLOCK (clock); ++ GTimeVal t; + + entry_time = gst_alsa_clock_get_internal_time (clock); + diff = GST_CLOCK_ENTRY_TIME (entry) - gst_clock_get_time (clock); +@@ -192,10 +193,14 @@ + GST_TIME_ARGS (target), GST_TIME_ARGS (GST_CLOCK_ENTRY_TIME (entry)), + GST_TIME_ARGS (entry_time)); + ++ g_get_current_time (&t); ++ glib_cur = glib_start = GST_TIMEVAL_TO_TIME (t); + while (gst_alsa_clock_get_internal_time (clock) < target && +- this->last_unlock < entry_time) { ++ this->last_unlock < entry_time && glib_start + diff * 1.5 > glib_cur) { + g_usleep (gst_alsa_clock_get_resolution (clock) * G_USEC_PER_SEC / + GST_SECOND); ++ g_get_current_time (&t); ++ glib_cur = GST_TIMEVAL_TO_TIME (t); + } + + return entry->status; diff --git a/media-plugins/gst-plugins-alsa/gst-plugins-alsa-0.8.7-r1.ebuild b/media-plugins/gst-plugins-alsa/gst-plugins-alsa-0.8.7-r1.ebuild new file mode 100644 index 000000000000..1e224cccc6c4 --- /dev/null +++ b/media-plugins/gst-plugins-alsa/gst-plugins-alsa-0.8.7-r1.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-alsa/gst-plugins-alsa-0.8.7-r1.ebuild,v 1.1 2005/01/17 14:16:30 foser Exp $ + +inherit eutils gst-plugins + +KEYWORDS="~x86 ~ppc ~amd64 ~ia64 ~mips ~hppa ~ppc64 ~sparc" +IUSE="" + +DEPEND=">=media-libs/alsa-lib-1.0.7" + +src_unpack() { + + gst-plugins_src_unpack + + # fixes http://bugzilla.gnome.org/show_bug.cgi?id=164069 + cd ${S}/ext/alsa + epatch ${FILESDIR}/${P}-alsa_deadlock.patch + +} diff --git a/media-plugins/gst-plugins-alsa/gst-plugins-alsa-0.8.7.ebuild b/media-plugins/gst-plugins-alsa/gst-plugins-alsa-0.8.7.ebuild deleted file mode 100644 index 2c5cc409ec2f..000000000000 --- a/media-plugins/gst-plugins-alsa/gst-plugins-alsa-0.8.7.ebuild +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-alsa/gst-plugins-alsa-0.8.7.ebuild,v 1.1 2005/01/05 23:20:47 foser Exp $ - -inherit eutils gst-plugins - -KEYWORDS="~x86 ~ppc ~amd64 ~ia64 ~mips ~hppa ~ppc64 ~sparc" -IUSE="" - -DEPEND=">=media-libs/alsa-lib-1.0.7" -- 2.26.2