Gst::TaskPool - Pool of GStreamer streaming threads. More...
#include <taskpool.h>
Public Types | |
typedef sigc::slot<void> | SlotPush |
For example, void on_do_push();. | |
Public Member Functions | |
virtual | ~TaskPool () |
GstTaskPool* | gobj () |
Provides access to the underlying C GObject. | |
const GstTaskPool* | gobj () const |
Provides access to the underlying C GObject. | |
GstTaskPool* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. | |
void | prepare () |
Prepare the taskpool for accepting push() operations. | |
gpointer | push (const SlotPush& slot) |
Start the execution of a new thread from pool. | |
void | join (gpointer id) |
Join a task and/or return it to the pool. | |
void | cleanup () |
Wait for all tasks to be stopped. | |
Static Public Member Functions | |
static Glib::RefPtr<TaskPool> | create () |
Create a new default task pool. | |
Related Functions | |
(Note that these are not member functions.) | |
Glib::RefPtr<Gst::TaskPool> | wrap (GstTaskPool* object, bool take_copy=false) |
A Glib::wrap() method for this object. |
Gst::TaskPool - Pool of GStreamer streaming threads.
This object provides an abstraction for creating threads. The default implementation uses a regular Glib::ThreadPool to start tasks.
Subclasses can be made to create custom threads.
Last reviewed on 2009-04-23 (0.10.24)
typedef sigc::slot<void> Gst::TaskPool::SlotPush |
For example, void on_do_push();.
virtual Gst::TaskPool::~TaskPool | ( | ) | [virtual] |
void Gst::TaskPool::cleanup | ( | ) |
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.
static Glib::RefPtr<TaskPool> Gst::TaskPool::create | ( | ) | [static] |
Create a new default task pool.
The default task pool will use a regular Glib::ThreadPool for threads.
const GstTaskPool* Gst::TaskPool::gobj | ( | ) | const [inline] |
Provides access to the underlying C GObject.
Reimplemented from Gst::Object.
GstTaskPool* Gst::TaskPool::gobj | ( | ) | [inline] |
Provides access to the underlying C GObject.
Reimplemented from Gst::Object.
GstTaskPool* Gst::TaskPool::gobj_copy | ( | ) |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Reimplemented from Gst::Object.
void Gst::TaskPool::join | ( | gpointer | id | ) |
void Gst::TaskPool::prepare | ( | ) |
Prepare the taskpool for accepting push() operations.
Glib::Error. | MT safe. |
gpointer Gst::TaskPool::push | ( | const SlotPush& | slot | ) |
Start the execution of a new thread from pool.
slot | The function to call. |
Glib::Error. |
Glib::RefPtr<Gst::TaskPool> wrap | ( | GstTaskPool * | object, | |
bool | take_copy = false | |||
) | [related] |
A Glib::wrap() method for this object.
object | The C instance. | |
take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref. |