| Top |  |  |  |  | 
| void | (*GstTaskPoolFunction) () | 
| GstTaskPool * | gst_task_pool_new () | 
| void | gst_task_pool_prepare () | 
| gpointer | gst_task_pool_push () | 
| void | gst_task_pool_join () | 
| void | gst_task_pool_cleanup () | 
This object provides an abstraction for creating threads. The default implementation uses a regular GThreadPool to start tasks.
Subclasses can be made to create custom threads.
void
(*GstTaskPoolFunction) (void *user_data);
Task function, see gst_task_pool_push().
GstTaskPool *
gst_task_pool_new (void);
Create a new default task pool. The default task pool will use a regular GThreadPool for threads.
void gst_task_pool_prepare (GstTaskPool *pool,GError **error);
Prepare the taskpool for accepting gst_task_pool_push() operations.
MT safe.
gpointer gst_task_pool_push (GstTaskPool *pool,GstTaskPoolFunction func,gpointer user_data,GError **error);
Start the execution of a new thread from pool
.
| pool | ||
| func | the function to call. | [scope async] | 
| user_data | data to pass to  | [closure] | 
| error | return location for an error | 
a pointer that should be used
for the gst_task_pool_join function. This pointer can be NULL, you
must check error
to detect errors. 
[transfer none][nullable]
void gst_task_pool_join (GstTaskPool *pool,gpointer id);
Join a task and/or return it to the pool. id
 is the id obtained from
gst_task_pool_push().
void
gst_task_pool_cleanup (GstTaskPool *pool);
Wait for all tasks to be stopped. This is mainly used internally to ensure proper cleanup of internal data structures in test suites.
MT safe.
struct GstTaskPoolClass {
  GstObjectClass parent_class;
  void      (*prepare)  (GstTaskPool *pool, GError **error);
  void      (*cleanup)  (GstTaskPool *pool);
  gpointer  (*push)     (GstTaskPool *pool, GstTaskPoolFunction func,
                         gpointer user_data, GError **error);
  void      (*join)     (GstTaskPool *pool, gpointer id);
};
The GstTaskPoolClass object.