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