Name
GstScheduler -- An abstract class for plugable schedulers.
Synopsis
#include <gst/gst.h>
#define GST_SCHED_PARENT (sched)
struct GstScheduleChain;
#define GST_SCHEDULE_SAFETY (sched)
#define GST_SCHEDULE_ADD_ELEMENT (sched,element)
#define GST_SCHEDULE_REMOVE_ELEMENT (sched,element)
#define GST_SCHEDULE_ENABLE_ELEMENT (sched,element)
#define GST_SCHEDULE_DISABLE_ELEMENT (sched,element)
#define GST_SCHEDULE_LOCK_ELEMENT (sched,element)
#define GST_SCHEDULE_UNLOCK_ELEMENT (sched,element)
#define GST_SCHEDULE_PAD_CONNECT (sched,srcpad,sinkpad)
#define GST_SCHEDULE_PAD_DISCONNECT (sched,srcpad,sinkpad)
#define GST_SCHEDULE_ITERATE (sched)
GstSchedule* gst_schedule_new (GstElement *parent);
void gst_schedule_add_element (GstSchedule *sched,
GstElement *element);
void gst_schedule_remove_element (GstSchedule *sched,
GstElement *element);
void gst_schedule_enable_element (GstSchedule *sched,
GstElement *element);
void gst_schedule_disable_element (GstSchedule *sched,
GstElement *element);
void gst_schedule_pad_connect (GstSchedule *sched,
GstPad *srcpad,
GstPad *sinkpad);
void gst_schedule_pad_disconnect (GstSchedule *sched,
GstPad *srcpad,
GstPad *sinkpad);
gboolean gst_schedule_iterate (GstSchedule *sched);
void gst_schedule_show (GstSchedule *sched);
|
Details
GST_SCHED_PARENT()
#define GST_SCHED_PARENT(sched) ((sched)->parent) |
struct GstScheduleChain
struct GstScheduleChain {
GstSchedule *sched;
GList *disabled;
GList *elements;
gint num_elements;
GstElement *entry;
gint cothreaded_elements;
gboolean schedule;
}; |
GST_SCHEDULE_SAFETY()
#define GST_SCHEDULE_SAFETY(sched) if (sched) |
GST_SCHEDULE_ADD_ELEMENT()
#define GST_SCHEDULE_ADD_ELEMENT(sched,element) |
GST_SCHEDULE_REMOVE_ELEMENT()
#define GST_SCHEDULE_REMOVE_ELEMENT(sched,element) |
GST_SCHEDULE_ENABLE_ELEMENT()
#define GST_SCHEDULE_ENABLE_ELEMENT(sched,element) |
GST_SCHEDULE_DISABLE_ELEMENT()
#define GST_SCHEDULE_DISABLE_ELEMENT(sched,element) |
GST_SCHEDULE_LOCK_ELEMENT()
#define GST_SCHEDULE_LOCK_ELEMENT(sched,element) |
GST_SCHEDULE_UNLOCK_ELEMENT()
#define GST_SCHEDULE_UNLOCK_ELEMENT(sched,element) |
GST_SCHEDULE_PAD_CONNECT()
#define GST_SCHEDULE_PAD_CONNECT(sched,srcpad,sinkpad) |
GST_SCHEDULE_PAD_DISCONNECT()
#define GST_SCHEDULE_PAD_DISCONNECT(sched,srcpad,sinkpad) |
GST_SCHEDULE_ITERATE()
#define GST_SCHEDULE_ITERATE(sched) |
gst_schedule_new ()
GstSchedule* gst_schedule_new (GstElement *parent); |
gst_schedule_add_element ()
void gst_schedule_add_element (GstSchedule *sched,
GstElement *element); |
gst_schedule_remove_element ()
void gst_schedule_remove_element (GstSchedule *sched,
GstElement *element); |
gst_schedule_enable_element ()
void gst_schedule_enable_element (GstSchedule *sched,
GstElement *element); |
gst_schedule_disable_element ()
void gst_schedule_disable_element (GstSchedule *sched,
GstElement *element); |
gst_schedule_pad_connect ()
void gst_schedule_pad_connect (GstSchedule *sched,
GstPad *srcpad,
GstPad *sinkpad); |
gst_schedule_pad_disconnect ()
void gst_schedule_pad_disconnect (GstSchedule *sched,
GstPad *srcpad,
GstPad *sinkpad); |
gst_schedule_iterate ()
gboolean gst_schedule_iterate (GstSchedule *sched); |
gst_schedule_show ()
void gst_schedule_show (GstSchedule *sched); |