|  |  |  | GStreamer 0.8 Core API Reference (0.8.4) |  | 
|---|
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);
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 | 
void user_function (GstThread *gstthread, gpointer user_data);
| gstthread : | the object which received the signal. | 
| user_data : | user data set when the signal handler was connected. | 
| << GstTagInterface | GstTypeFindElement >> |