gstreamermm
1.10.0
|
A class representing a pool of GStreamer streaming threads. More...
#include <gstreamermm/taskpool.h>
Public Types | |
typedef sigc::slot< void > | SlotPush |
For example, void on_do_push();. More... | |
Public Member Functions | |
TaskPool (TaskPool&& src) noexcept | |
TaskPool& | operator= (TaskPool&& src) noexcept |
~TaskPool () noexcept override | |
GstTaskPool* | gobj () |
Provides access to the underlying C GObject. More... | |
const GstTaskPool* | gobj () const |
Provides access to the underlying C GObject. More... | |
GstTaskPool* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More... | |
void | prepare () |
gpointer | push (const SlotPush& slot) |
Start the execution of a new thread from pool. More... | |
void | join (gpointer id) |
Join a task and/or return it to the pool. More... | |
void | cleanup () |
Wait for all tasks to be stopped. More... | |
virtual void | prepare_vfunc () |
Virtual function which prepares the thread pool. More... | |
virtual void | cleanup_vfunc () |
Virtual function to cleanup the thread pool. More... | |
virtual gpointer | push_vfunc (const SlotPush& slot) |
Virtual function which starts a new thread. More... | |
virtual void | join_vfunc (gpointer id) |
Virtual function to join a thread. More... | |
![]() | |
Object (Object&& src) noexcept | |
Object& | operator= (Object&& src) noexcept |
~Object () noexcept override | |
GstObject* | gobj () |
Provides access to the underlying C GObject. More... | |
const GstObject* | gobj () const |
Provides access to the underlying C GObject. More... | |
GstObject* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More... | |
bool | is_element () const |
bool | is_element_factory () const |
bool | is_pad () const |
bool | is_pad_template () const |
bool | is_bin () const |
guint32 | get_flags () const |
Returns the entire set of flags for the object. More... | |
bool | set_name (const Glib::ustring& name) |
Sets the name of object, or gives object a guaranteed unique name (if name is nullptr ). More... | |
Glib::ustring | get_name () const |
Returns a copy of the name of object. More... | |
bool | set_parent (const Glib::RefPtr< Gst::Object >& parent) |
Sets the parent of object to parent. More... | |
Glib::RefPtr< Gst::Object > | get_parent () |
Returns the parent of object. More... | |
Glib::RefPtr< const Gst::Object > | get_parent () const |
Returns the parent of object. More... | |
void | unparent () |
Clear the parent of object, removing the associated reference. More... | |
void | set_control_rate (Gst::ClockTime control_rate) |
Change the control-rate for this object. More... | |
Gst::ClockTime | get_control_rate () const |
Obtain the control-rate for this object. More... | |
Gst::ClockTime | suggest_next_sync () const |
Returns a suggestion for timestamps where buffers should be split to get best controller results. More... | |
bool | sync_values (Gst::ClockTime timestamp) |
Sets the properties of the object, according to the Gst::ControlSources that (maybe) handle them and for the given timestamp. More... | |
void | set_control_bindings_disabled (bool disabled) |
This function is used to disable all controlled properties of the object for some time, i.e. sync_values() will do nothing. More... | |
bool | has_asctive_control_bindings () const |
Check if the object has an active controlled properties. More... | |
bool | has_ancestor (const Glib::RefPtr< const Gst::Object >& ancestor) const |
Check if object has an ancestor ancestor somewhere up in the hierarchy. More... | |
bool | has_as_ancestor (const Glib::RefPtr< Gst::Object >& ancestor) const |
Check if object has an ancestor ancestor somewhere up in the hierarchy. More... | |
bool | has_as_parent (const Glib::RefPtr< Gst::Object >& parent) const |
Check if parent is the parent of object. More... | |
Glib::ustring | get_path_string () |
Generates a string describing the path of object in the object hierarchy. More... | |
Glib::PropertyProxy< Glib::ustring > | property_name () |
The name of the object. More... | |
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_name () const |
The name of the object. More... | |
Glib::PropertyProxy< Glib::RefPtr< Gst::Object > > | property_parent () |
The parent of the object. More... | |
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gst::Object > > | property_parent () const |
The parent of the object. More... | |
Glib::SignalProxy< void, const Glib::RefPtr< Gst::Object >&, GParamSpec*> | signal_deep_notify () |
int | get_refcount () const |
Static Public Member Functions | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. More... | |
static Glib::RefPtr< TaskPool > | create () |
Create a new default task pool. More... | |
![]() | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. More... | |
static bool | check_uniqueness (const Glib::ListHandle< const Gst::Object >& list, const Glib::ustring& name) |
Checks to see if there is any object named name in list. More... | |
Protected Member Functions | |
TaskPool () | |
![]() | |
virtual void | on_deep_notify (const Glib::RefPtr< Gst::Object >& prop_object, GParamSpec* prop) |
This is a default handler for the signal signal_deep_notify(). More... | |
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. More... | |
![]() | |
Glib::RefPtr< Gst::Object > | wrap (GstObject* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
A class representing a 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();.
|
noexcept |
|
overridenoexcept |
|
protected |
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.
|
virtual |
Virtual function to cleanup the thread pool.
|
static |
Create a new default task pool.
The default task pool will use a regular Glib::ThreadPool for threads.
|
static |
Get the GType for this class, for use with the underlying GObject type system.
|
inline |
Provides access to the underlying C GObject.
|
inline |
Provides access to the underlying C GObject.
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.
void Gst::TaskPool::join | ( | gpointer | id | ) |
|
virtual |
Virtual function to join a thread.
void Gst::TaskPool::prepare | ( | ) |
Glib::Error. |
|
virtual |
Virtual function which prepares the thread pool.
Glib::Error. |
gpointer Gst::TaskPool::push | ( | const SlotPush& | slot | ) |
Start the execution of a new thread from pool.
slot | The function to call. |
Glib::Error. |
|
virtual |
Virtual function which starts a new thread.
Glib::Error. |
|
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. |