![]() |
![]() |
![]() |
GStreamer 0.9 Core Reference Manual | ![]() |
---|
GstBaseSinkGstBaseSink — Base class for sink elements |
#include <gst/base/gstbasesink.h> GstBaseSink; GstBaseSinkClass; #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)
GObject +----GstObject +----GstElement +----GstBaseSink +----GstFakeSink +----GstFileSink
This class is for elements that do output operations.
one sinkpad
handles state changes
pull/push mode
handles seeking/query
handles preroll
EOS handling
typedef struct { GstElementClass parent_class; /* get caps from subclass */ GstCaps* (*get_caps) (GstBaseSink *sink); /* notify subclass of new caps */ gboolean (*set_caps) (GstBaseSink *sink, GstCaps *caps); /* allocate a new buffer with given caps */ GstFlowReturn (*buffer_alloc) (GstBaseSink *sink, guint64 offset, guint size, GstCaps *caps, GstBuffer **buf); /* get the start and end times for syncing on this buffer */ void (*get_times) (GstBaseSink *sink, GstBuffer *buffer, GstClockTime *start, GstClockTime *end); /* start and stop processing, ideal for opening/closing the resource */ gboolean (*start) (GstBaseSink *sink); gboolean (*stop) (GstBaseSink *sink); /* unlock any pending access to the resource. subclasses should unlock * any function ASAP. */ gboolean (*unlock) (GstBaseSink *sink); /* notify subclass of event, preroll buffer or real buffer */ gboolean (*event) (GstBaseSink *sink, GstEvent *event); GstFlowReturn (*preroll) (GstBaseSink *sink, GstBuffer *buffer); GstFlowReturn (*render) (GstBaseSink *sink, GstBuffer *buffer); } GstBaseSinkClass;
#define GST_BASE_SINK_CLOCK(obj) (GST_BASE_SINK (obj)->clock)
obj : |
base sink instance |
#define GST_BASE_SINK_PAD(obj) (GST_BASE_SINK (obj)->sinkpad)
obj : |
base sink instance |
#define GST_LIVE_BROADCAST(elem) g_cond_broadcast (GST_LIVE_GET_COND (elem));
elem : |
preroll-queue-len
" property"preroll-queue-len" guint : Read / Write / Construct
Number of buffers to queue during preroll.
Default value: 0
<< GstBaseSrc | GstBaseTransform >> |