| GStreamer Base Plugins 0.9 Library Reference Manual |
|---|
gstringbuffergstringbuffer — an implementation of an audio ringbuffer |
typedef struct {
GCond *cond;
gboolean open;
gboolean acquired;
GstBuffer *data;
GstRingBufferSpec spec;
GstRingBufferSegState *segstate;
gint samples_per_seg; /* number of samples per segment */
guint8 *empty_seg;
gint state; /* state of the buffer */
gint segdone; /* number of segments processed since last start */
gint segbase; /* segment corresponding to segment 0 */
gint waiting; /* when waiting for a segment to be freed */
} GstRingBuffer;
typedef struct {
GstObjectClass parent_class;
/* just open the device, don't set any params or allocate anything */
gboolean (*open_device) (GstRingBuffer *buf);
/* allocate the resources for the ringbuffer using the given specs */
gboolean (*acquire) (GstRingBuffer *buf, GstRingBufferSpec *spec);
/* free resources of the ringbuffer */
gboolean (*release) (GstRingBuffer *buf);
/* close the device */
gboolean (*close_device) (GstRingBuffer *buf);
/* playback control */
gboolean (*start) (GstRingBuffer *buf);
gboolean (*pause) (GstRingBuffer *buf);
gboolean (*resume) (GstRingBuffer *buf);
gboolean (*stop) (GstRingBuffer *buf);
/* number of samples queued in device */
guint (*delay) (GstRingBuffer *buf);
} GstRingBufferClass;
| << gstaudio | Interfaces Library >> |