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);