GstBaseSink

GstBaseSink — Base class for sink elements

Synopsis


#include <gst/base/gstbasesink.h>


            GstBaseSink;
#define     GST_BASE_SINK_CLOCK             (obj)
#define     GST_BASE_SINK_PAD               (obj)
#define     GST_LIVE_BROADCAST              (elem)
#define     GST_LIVE_GET_COND               (elem)
#define     GST_LIVE_GET_LOCK               (elem)
#define     GST_LIVE_LOCK                   (elem)
#define     GST_LIVE_SIGNAL                 (elem)
#define     GST_LIVE_TIMED_WAIT             (elem, timeval)
#define     GST_LIVE_TRYLOCK                (elem)
#define     GST_LIVE_UNLOCK                 (elem)
#define     GST_LIVE_WAIT                   (elem)


Object Hierarchy


  GObject
   +----GstObject
         +----GstElement
               +----GstBaseSink
                     +----GstFakeSink
                     +----GstFileSink

Properties


  "preroll-queue-len"    guint                 : Read / Write / Construct
  "sync"                 gboolean              : Read / Write

Description

This class is for elements that do output operations.

  • one sinkpad

  • handles state changes

  • pull/push mode

  • handles seeking/query

  • handles preroll

  • EOS handling

Details

GstBaseSink

typedef struct _GstBaseSink GstBaseSink;


GST_BASE_SINK_CLOCK()

#define GST_BASE_SINK_CLOCK(obj)	(GST_BASE_SINK (obj)->clock)

Gives the pointer to the GstClock object of the element.

obj : base sink instance

GST_BASE_SINK_PAD()

#define GST_BASE_SINK_PAD(obj)		(GST_BASE_SINK (obj)->sinkpad)

Gives the pointer to the GstPad object of the element.

obj : base sink instance

GST_LIVE_BROADCAST()

#define GST_LIVE_BROADCAST(elem)              g_cond_broadcast (GST_LIVE_GET_COND (elem));

elem :

GST_LIVE_GET_COND()

#define GST_LIVE_GET_COND(elem)               (GST_BASE_SRC(elem)->live_cond)

elem :

GST_LIVE_GET_LOCK()

#define GST_LIVE_GET_LOCK(elem)               (GST_BASE_SRC(elem)->live_lock)

elem :

GST_LIVE_LOCK()

#define GST_LIVE_LOCK(elem)                   g_mutex_lock(GST_LIVE_GET_LOCK(elem))

elem :

GST_LIVE_SIGNAL()

#define GST_LIVE_SIGNAL(elem)                 g_cond_signal (GST_LIVE_GET_COND (elem));

elem :

GST_LIVE_TIMED_WAIT()

#define     GST_LIVE_TIMED_WAIT(elem, timeval)

elem :
timeval :

GST_LIVE_TRYLOCK()

#define GST_LIVE_TRYLOCK(elem)                g_mutex_trylock(GST_LIVE_GET_LOCK(elem))

elem :

GST_LIVE_UNLOCK()

#define GST_LIVE_UNLOCK(elem)                 g_mutex_unlock(GST_LIVE_GET_LOCK(elem))

elem :

GST_LIVE_WAIT()

#define GST_LIVE_WAIT(elem)                   g_cond_wait (GST_LIVE_GET_COND (elem), GST_LIVE_GET_LOCK (elem))

elem :

Properties

The "preroll-queue-len" property

  "preroll-queue-len"    guint                 : Read / Write / Construct

Number of buffers to queue during preroll.

Default value: 0


The "sync" property

  "sync"                 gboolean              : Read / Write

Sync on the clock.

Default value: TRUE

See Also

GstBaseTransform, GstBaseSource