GstScheduler

Name

GstScheduler -- An abstract class for plugable schedulers.

Synopsis


#include <gst/gst.h>


#define     GST_SCHED_PARENT                (sched)
void        gst_scheduler_add_element       (GstScheduler *sched,
                                             GstElement *element);
void        gst_scheduler_remove_element    (GstScheduler *sched,
                                             GstElement *element);
void        gst_scheduler_enable_element    (GstScheduler *sched,
                                             GstElement *element);
void        gst_scheduler_disable_element   (GstScheduler *sched,
                                             GstElement *element);
void        gst_scheduler_pad_connect       (GstScheduler *sched,
                                             GstPad *srcpad,
                                             GstPad *sinkpad);
void        gst_scheduler_pad_disconnect    (GstScheduler *sched,
                                             GstPad *srcpad,
                                             GstPad *sinkpad);
GstPad*     gst_scheduler_pad_select        (GstScheduler *sched,
                                             GList *padlist);
gboolean    gst_scheduler_iterate           (GstScheduler *sched);
void        gst_scheduler_show              (GstScheduler *sched);
void        gst_scheduler_lock_element      (GstScheduler *sched,
                                             GstElement *element);
void        gst_scheduler_unlock_element    (GstScheduler *sched,
                                             GstElement *element);

Description

This is a base class for custom schedulers.

Details

GST_SCHED_PARENT()

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

Get the parent GstElement of this scheduler.

sched :the scheduler to query.


gst_scheduler_add_element ()

void        gst_scheduler_add_element       (GstScheduler *sched,
                                             GstElement *element);

Add an element to the schedulerr.

sched : the schedulerr
element : the element to add to the schedulerr


gst_scheduler_remove_element ()

void        gst_scheduler_remove_element    (GstScheduler *sched,
                                             GstElement *element);

Remove an element from the schedulerr.

sched : the schedulerr
element : the element to remove


gst_scheduler_enable_element ()

void        gst_scheduler_enable_element    (GstScheduler *sched,
                                             GstElement *element);

Enable an element for scheduling.

sched : the schedulerr
element : the element to enable


gst_scheduler_disable_element ()

void        gst_scheduler_disable_element   (GstScheduler *sched,
                                             GstElement *element);

Disable an element for scheduling.

sched : the schedulerr
element : the element to disable


gst_scheduler_pad_connect ()

void        gst_scheduler_pad_connect       (GstScheduler *sched,
                                             GstPad *srcpad,
                                             GstPad *sinkpad);

Connect the srcpad to the given sinkpad.

sched : the schedulerr
srcpad : the srcpad to connect
sinkpad : the sinkpad to connect to


gst_scheduler_pad_disconnect ()

void        gst_scheduler_pad_disconnect    (GstScheduler *sched,
                                             GstPad *srcpad,
                                             GstPad *sinkpad);

Disconnect the srcpad to the given sinkpad.

sched : the schedulerr
srcpad : the srcpad to disconnect
sinkpad : the sinkpad to disconnect from


gst_scheduler_pad_select ()

GstPad*     gst_scheduler_pad_select        (GstScheduler *sched,
                                             GList *padlist);

register the given padlist for a select operation.

sched : the schedulerr
padlist : the padlist to select on
Returns : the pad which received a buffer.


gst_scheduler_iterate ()

gboolean    gst_scheduler_iterate           (GstScheduler *sched);

Perform one iteration on the schedulerr.

sched : the schedulerr
Returns : a boolean indicating something usefull has happened.


gst_scheduler_show ()

void        gst_scheduler_show              (GstScheduler *sched);

Dump the state of the schedulerr

sched : the schedulerr


gst_scheduler_lock_element ()

void        gst_scheduler_lock_element      (GstScheduler *sched,
                                             GstElement *element);

Acquire a lock on the given element in the given scheduler.

sched : the schedulerr
element : the element to lock


gst_scheduler_unlock_element ()

void        gst_scheduler_unlock_element    (GstScheduler *sched,
                                             GstElement *element);

Release the lock on the given element in the given scheduler.

sched : the schedulerr
element : the element to unlock