svn commit: r484458 - in head/sysutils/xfburn: . files
Guido Falsi
madpilot at FreeBSD.org
Thu Nov 8 15:00:36 UTC 2018
Author: madpilot
Date: Thu Nov 8 15:00:34 2018
New Revision: 484458
URL: https://svnweb.freebsd.org/changeset/ports/484458
Log:
Add patch to stop xfburn crashing when trying to burn an audio CD.
Reported and tested by: Holger Wagemann <Holger.Wagemann at posteo.de>
Added:
head/sysutils/xfburn/files/patch-xfburn_xfburn-transcoder-gst.c (contents, props changed)
Modified:
head/sysutils/xfburn/Makefile
Modified: head/sysutils/xfburn/Makefile
==============================================================================
--- head/sysutils/xfburn/Makefile Thu Nov 8 14:57:44 2018 (r484457)
+++ head/sysutils/xfburn/Makefile Thu Nov 8 15:00:34 2018 (r484458)
@@ -3,6 +3,7 @@
PORTNAME= xfburn
PORTVERSION= 0.5.5
+PORTREVISION= 1
CATEGORIES= sysutils
MASTER_SITES= XFCE/src/apps/${PORTNAME}/${PORTVERSION:R}
DIST_SUBDIR= xfce4
Added: head/sysutils/xfburn/files/patch-xfburn_xfburn-transcoder-gst.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/xfburn/files/patch-xfburn_xfburn-transcoder-gst.c Thu Nov 8 15:00:34 2018 (r484458)
@@ -0,0 +1,50 @@
+--- xfburn/xfburn-transcoder-gst.c.orig 2017-12-14 12:34:57 UTC
++++ xfburn/xfburn-transcoder-gst.c
+@@ -221,8 +221,8 @@ xfburn_transcoder_gst_init (XfburnTranscoderGst * obj)
+
+ /* if the mutex is locked, then we're not currently seeking
+ * information from gst */
++ /* Actual locking in prepare and finish */
+ g_mutex_init (&priv->gst_mutex);
+- g_mutex_lock (&priv->gst_mutex);
+
+ priv->discoverer = gst_discoverer_new(GST_SECOND, NULL);
+ }
+@@ -492,19 +492,9 @@ bus_call (GstBus *bus, GstMessage *msg, gpointer data)
+
+ if (strcmp (GST_OBJECT_NAME (GST_MESSAGE_SRC (msg)), "decoder") != 0)
+ break;
+-
+- if (!g_mutex_trylock (&priv->gst_mutex)) {
+- g_critical ("Lock held by another thread, can't signal transcoding start!");
+- break;
+- } else {
+-#if DEBUG_GST > 0
+- DBG ("Locked mutex to signal transcoding start");
+-#endif
+- }
+
+ priv->gst_done = TRUE;
+ g_cond_signal (&priv->gst_cond);
+- g_mutex_unlock (&priv->gst_mutex);
+ break;
+ } /* switch of priv->state */
+
+@@ -835,6 +825,8 @@ prepare (XfburnTranscoder *trans, GError **error)
+ gboolean ret;
+ gint64 end_time;
+
++ g_mutex_lock(&priv->gst_mutex);
++
+ priv->tracks = g_slist_reverse (priv->tracks);
+
+ priv->state = XFBURN_TRANSCODER_GST_STATE_TRANSCODE_START;
+@@ -933,6 +925,8 @@ finish (XfburnTranscoder *trans)
+ }
+ */
+ recreate_pipeline (gst);
++
++ g_mutex_unlock (&priv->gst_mutex);
+ }
+
+
More information about the svn-ports-all
mailing list