From d7c716d56289bb74dc95cea25eb8601475e57911 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Mon, 14 Jun 2021 13:16:30 -0400 Subject: [PATCH] transcoder: Fix usage of g_error_propagate In the error callback we were propagating an error we were not owning which is incorrect use of the API. Also we were clearing a GError we already propagated which is wrong as propagating gives ownership away. Part-of: --- gst-libs/gst/transcoder/gsttranscoder.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gst-libs/gst/transcoder/gsttranscoder.c b/gst-libs/gst/transcoder/gsttranscoder.c index 72a7d38a7c..48c5c708e5 100644 --- a/gst-libs/gst/transcoder/gsttranscoder.c +++ b/gst-libs/gst/transcoder/gsttranscoder.c @@ -938,7 +938,7 @@ static void _error_cb (RunSyncData * data, GError * error, GstStructure * details) { if (data->error == NULL) - g_propagate_error (&data->error, error); + data->error = g_error_copy (error); if (data->loop) { g_main_loop_quit (data->loop); @@ -990,7 +990,6 @@ gst_transcoder_run (GstTranscoder * self, GError ** error) if (error) g_propagate_error (error, data.error); - g_clear_error (&data.error); return FALSE; }