![]() |
![]() |
![]() |
GStreamer 0.10 Core Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy |
#include <gst/gst.h> struct GstTaskPool; struct GstTaskPoolClass; void (*GstTaskPoolFunction) (void *data
); GstTaskPool * gst_task_pool_new (void
); void gst_task_pool_prepare (GstTaskPool *pool
,GError **error
); gpointer gst_task_pool_push (GstTaskPool *pool
,GstTaskPoolFunction func
,gpointer user_data
,GError **error
); void gst_task_pool_join (GstTaskPool *pool
,gpointer id
); void gst_task_pool_cleanup (GstTaskPool *pool
);
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)
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.
GstObjectClass |
the parent class structure |
prepare the threadpool | |
make sure all threads are stopped | |
start a new thread | |
join a thread |
void (*GstTaskPoolFunction) (void *data
);
Task function, see gst_task_pool_push()
.
|
user data for the task function |
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.
Returns : |
a new GstTaskPool. gst_object_unref() after usage. [transfer full]
|
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.
|
a GstTaskPool |
|
an error return location |
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
.
|
a GstTaskPool |
|
the function to call |
|
data to pass to func . [closure]
|
|
return location for an error |
Returns : |
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()
.
|
a GstTaskPool |
|
the id |
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.
|
a GstTaskPool |
Since 0.10.24