![]() | ![]() | ![]() | 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 >> |