GstScheduler

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);

Description

Details

GST_SCHED_PARENT()

#define GST_SCHED_PARENT(sched)		((sched)->parent)

sched : 


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)

sched : 


GST_SCHEDULE_ADD_ELEMENT()

#define     GST_SCHEDULE_ADD_ELEMENT(sched,element)

sched : 
element : 


GST_SCHEDULE_REMOVE_ELEMENT()

#define     GST_SCHEDULE_REMOVE_ELEMENT(sched,element)

sched : 
element : 


GST_SCHEDULE_ENABLE_ELEMENT()

#define     GST_SCHEDULE_ENABLE_ELEMENT(sched,element)

sched : 
element : 


GST_SCHEDULE_DISABLE_ELEMENT()

#define     GST_SCHEDULE_DISABLE_ELEMENT(sched,element)

sched : 
element : 


GST_SCHEDULE_LOCK_ELEMENT()

#define     GST_SCHEDULE_LOCK_ELEMENT(sched,element)

sched : 
element : 


GST_SCHEDULE_UNLOCK_ELEMENT()

#define     GST_SCHEDULE_UNLOCK_ELEMENT(sched,element)

sched : 
element : 


GST_SCHEDULE_PAD_CONNECT()

#define     GST_SCHEDULE_PAD_CONNECT(sched,srcpad,sinkpad)

sched : 
srcpad : 
sinkpad : 


GST_SCHEDULE_PAD_DISCONNECT()

#define     GST_SCHEDULE_PAD_DISCONNECT(sched,srcpad,sinkpad)

sched : 
srcpad : 
sinkpad : 


GST_SCHEDULE_ITERATE()

#define     GST_SCHEDULE_ITERATE(sched)

sched : 


gst_schedule_new ()

GstSchedule* gst_schedule_new               (GstElement *parent);

parent : 
Returns : 


gst_schedule_add_element ()

void        gst_schedule_add_element        (GstSchedule *sched,
                                             GstElement *element);

sched : 
element : 


gst_schedule_remove_element ()

void        gst_schedule_remove_element     (GstSchedule *sched,
                                             GstElement *element);

sched : 
element : 


gst_schedule_enable_element ()

void        gst_schedule_enable_element     (GstSchedule *sched,
                                             GstElement *element);

sched : 
element : 


gst_schedule_disable_element ()

void        gst_schedule_disable_element    (GstSchedule *sched,
                                             GstElement *element);

sched : 
element : 


gst_schedule_pad_connect ()

void        gst_schedule_pad_connect        (GstSchedule *sched,
                                             GstPad *srcpad,
                                             GstPad *sinkpad);

sched : 
srcpad : 
sinkpad : 


gst_schedule_pad_disconnect ()

void        gst_schedule_pad_disconnect     (GstSchedule *sched,
                                             GstPad *srcpad,
                                             GstPad *sinkpad);

sched : 
srcpad : 
sinkpad : 


gst_schedule_iterate ()

gboolean    gst_schedule_iterate            (GstSchedule *sched);

sched : 
Returns : 


gst_schedule_show ()

void        gst_schedule_show               (GstSchedule *sched);

sched :