[Xfce4-commits] [apps/xfburn] 01/01: Bug #14857 : Fix crashing on FreeBSD
noreply at xfce.org
noreply at xfce.org
Mon Apr 22 00:18:14 CEST 2019
This is an automated email from the git hooks/post-receive script.
s k u n n y k p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository apps/xfburn.
commit 81ca7f2a6badb6d559a1970ae481a4b0bcf88ab5
Author: Guido Falsi <madpilot at FreeBSD.org>
Date: Sun Apr 21 23:58:28 2019 +0200
Bug #14857 : Fix crashing on FreeBSD
- xfburn crashing on FreeBSD when burning audio CDs (gst mutex locking issue)
---
xfburn/xfburn-transcoder-gst.c | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/xfburn/xfburn-transcoder-gst.c b/xfburn/xfburn-transcoder-gst.c
index 7318db4..d35ed33 100644
--- a/xfburn/xfburn-transcoder-gst.c
+++ b/xfburn/xfburn-transcoder-gst.c
@@ -222,7 +222,7 @@ xfburn_transcoder_gst_init (XfburnTranscoderGst * obj)
/* if the mutex is locked, then we're not currently seeking
* information from gst */
g_mutex_init (&priv->gst_mutex);
- g_mutex_lock (&priv->gst_mutex);
+ /* Actual lock acquired in prepare() and relased in finish() */
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);
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list