Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Nov 2018 15:00:34 +0000 (UTC)
From:      Guido Falsi <madpilot@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r484458 - in head/sysutils/xfburn: . files
Message-ID:  <201811081500.wA8F0YSF076574@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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);
+ }
+ 
+ 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201811081500.wA8F0YSF076574>