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.
Last reviewed on 2009-04-23 (0.10.24)
void
(*GstTaskPoolFunction) (void *data
);
Task function, see gst_task_pool_push()
.
Since: 0.10.24
GstTaskPool *
gst_task_pool_new (void
);
Create a new default task pool. The default task pool will use a regular GThreadPool for threads.
Since: 0.10.24
void gst_task_pool_prepare (GstTaskPool *pool
,GError **error
);
Prepare the taskpool for accepting gst_task_pool_push()
operations.
MT safe.
Since: 0.10.24
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 |
|
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.
Since: 0.10.24
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()
.
Since: 0.10.24
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.
Since: 0.10.24
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.