![]() | ![]() | ![]() | GStreamer 0.8 Core API Reference (0.8.3.2) | ![]() |
---|
GstThread — A GstBin that executes automatically using a separate thread
struct GstThread; extern GPrivate *gst_thread_current; enum GstThreadState; GstElement* gst_thread_new (const gchar *name); void gst_thread_set_priority (GstThread *thread, GThreadPriority priority); GstThread* gst_thread_get_current (void);
GObject +----GstObject +----GstElement +----GstBin +----GstThread
"priority" GstThreadPriority : Read / Write
A bin that will become a thread if possible when the pipeline is started up. It can contain any set of GstObjects.
A Thread can act as a toplevel bin as it has its own scheduler.
typedef enum { GST_THREAD_STATE_SPINNING = GST_BIN_FLAG_LAST, GST_THREAD_STATE_REAPING, /* when iterating with mutex locked (special cases) may only be set by thread itself */ GST_THREAD_MUTEX_LOCKED, /* padding */ GST_THREAD_FLAG_LAST = GST_BIN_FLAG_LAST + 4 } GstThreadState;
Thread flags:
GST_THREAD_STATE_SPINNING | The thread is runnning |
GST_THREAD_STATE_REAPING | The thread is ending. |
GST_THREAD_MUTEX_LOCKED | |
GST_THREAD_FLAG_LAST | subclass use this to start their enumeration |
GstElement* gst_thread_new (const gchar *name);
Create a new thread with the given name.
name : | the name of the thread |
Returns : | The new thread |
void gst_thread_set_priority (GstThread *thread, GThreadPriority priority);
change the thread's priority
thread : | the thread to change |
priority : | the new priority for the thread |
<< GstTagInterface | GstTypeFindElement >> |