aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia/gstreamer1
diff options
context:
space:
mode:
authorkwm <kwm@FreeBSD.org>2014-04-20 18:36:47 +0800
committerkwm <kwm@FreeBSD.org>2014-04-20 18:36:47 +0800
commit67c48424f57fe22fdd069991a6f5a16a4e32ea4c (patch)
treee7f3f1c9e88f3312fa2bd27f13793c5be0728aa8 /multimedia/gstreamer1
parent5ab7157a7623416522530a185ce84ac444241035 (diff)
downloadfreebsd-ports-gnome-67c48424f57fe22fdd069991a6f5a16a4e32ea4c.tar.gz
freebsd-ports-gnome-67c48424f57fe22fdd069991a6f5a16a4e32ea4c.tar.zst
freebsd-ports-gnome-67c48424f57fe22fdd069991a6f5a16a4e32ea4c.zip
Add patch to make sure the mutex is locked before trying to unlock it.
This fixes a startup crash in cheese 3.12. Submitted by: Gustau Perez Obtained from: Gstreamer upstream
Diffstat (limited to 'multimedia/gstreamer1')
-rw-r--r--multimedia/gstreamer1/Makefile4
-rw-r--r--multimedia/gstreamer1/files/patch-libs_gst_base_gstbasesrc.c28
2 files changed, 30 insertions, 2 deletions
diff --git a/multimedia/gstreamer1/Makefile b/multimedia/gstreamer1/Makefile
index 0329a0f6be9c..6caa1f921c29 100644
--- a/multimedia/gstreamer1/Makefile
+++ b/multimedia/gstreamer1/Makefile
@@ -4,6 +4,7 @@
PORTNAME= gstreamer1
PORTVERSION= 1.2.3
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= http://gstreamer.freedesktop.org/src/gstreamer/
DISTNAME= ${PORTNAME:S/1//}-${PORTVERSION}
@@ -16,8 +17,7 @@ LICENSE= LGPL20
PORTSCOUT= limitw:1,even
CFLAGS:= ${CFLAGS} -O2 -Wno-format
-USES= bison gettext gmake libtool pathfix pkgconfig
-USE_XZ= yes
+USES= bison gettext gmake libtool pathfix pkgconfig tar:xz
USE_GNOME= glib20 gnomehier introspection:build
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-tests \
diff --git a/multimedia/gstreamer1/files/patch-libs_gst_base_gstbasesrc.c b/multimedia/gstreamer1/files/patch-libs_gst_base_gstbasesrc.c
new file mode 100644
index 000000000000..3881355bdd94
--- /dev/null
+++ b/multimedia/gstreamer1/files/patch-libs_gst_base_gstbasesrc.c
@@ -0,0 +1,28 @@
+From 63c17280408410d799e1c2f2ed49c5ab04cc80ae Mon Sep 17 00:00:00 2001
+From: Sebastian Dröge <sebastian@centricular.com>
+Date: Sun, 20 Apr 2014 09:59:02 +0000
+Subject: basesrc: Make sure to always hold the LIVE_LOCK when going to the flushing label
+
+https://bugzilla.gnome.org/show_bug.cgi?id=728596
+---
+diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c
+index 9f2e52c..fc5a3af 100644
+--- libs/gst/base/gstbasesrc.c
++++ libs/gst/base/gstbasesrc.c
+@@ -2684,10 +2684,12 @@ gst_base_src_loop (GstPad * pad)
+ if (gst_pad_check_reconfigure (pad)) {
+ if (!gst_base_src_negotiate (src)) {
+ gst_pad_mark_reconfigure (pad);
+- if (GST_PAD_IS_FLUSHING (pad))
++ if (GST_PAD_IS_FLUSHING (pad)) {
++ GST_LIVE_LOCK (src);
+ goto flushing;
+- else
++ } else {
+ goto negotiate_failed;
++ }
+ }
+ }
+
+--
+cgit v0.9.0.2-2-gbebe