From e322250fb1d1c31692d1e97e3de19ead6b016d7f Mon Sep 17 00:00:00 2001 From: Santiago Carot-Nemesio Date: Thu, 28 Feb 2019 16:48:57 +0100 Subject: [PATCH] taskpool: Set error in case something goes wrong in the default handlers --- gst/gsttaskpool.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gst/gsttaskpool.c b/gst/gsttaskpool.c index 8344d9ad81..a07820ffdd 100644 --- a/gst/gsttaskpool.c +++ b/gst/gsttaskpool.c @@ -35,6 +35,7 @@ #include "gstinfo.h" #include "gsttaskpool.h" +#include "gsterror.h" GST_DEBUG_CATEGORY_STATIC (taskpool_debug); #define GST_CAT_DEFAULT (taskpool_debug) @@ -73,7 +74,7 @@ static void default_prepare (GstTaskPool * pool, GError ** error) { GST_OBJECT_LOCK (pool); - pool->pool = g_thread_pool_new ((GFunc) default_func, pool, -1, FALSE, NULL); + pool->pool = g_thread_pool_new ((GFunc) default_func, pool, -1, FALSE, error); GST_OBJECT_UNLOCK (pool); } @@ -106,6 +107,9 @@ default_push (GstTaskPool * pool, GstTaskPoolFunction func, g_thread_pool_push (pool->pool, tdata, error); else { g_slice_free (TaskData, tdata); + g_set_error_literal (error, GST_CORE_ERROR, GST_CORE_ERROR_FAILED, + "No thread pool"); + } GST_OBJECT_UNLOCK (pool);