## GstDataQueue GstDataQueue |

## Functions

gboolean | (*GstDataQueueCheckFullFunction) ()
void | (*GstDataQueueEmptyCallback) ()
void | (*GstDataQueueFullCallback) ()
GstDataQueue * | gst_data_queue_new ()
gboolean | gst_data_queue_push ()
gboolean | gst_data_queue_push_force ()
gboolean | gst_data_queue_pop ()
gboolean | gst_data_queue_peek ()
void | gst_data_queue_flush ()
void | gst_data_queue_set_flushing ()
gboolean | gst_data_queue_drop_head ()
gboolean | gst_data_queue_is_full ()
gboolean | gst_data_queue_is_empty ()
void | gst_data_queue_get_level ()
void | gst_data_queue_limits_changed ()

## Types and Values

struct | GstDataQueue
struct | GstDataQueueSize
struct | GstDataQueueItem

## Includes

    #include <gst/base/gstdataqueue.h>

## Description

## Functions

### GstDataQueueCheckFullFunction ()

    gboolean
    (*GstDataQueueCheckFullFunction) (GstDataQueue *queue,
                                      guint visible,
                                      guint bytes,
                                      guint64 time,
                                      gpointer checkdata);

### GstDataQueueEmptyCallback ()

    void
    (*GstDataQueueEmptyCallback) (GstDataQueue *queue,
                                  gpointer checkdata);

### GstDataQueueFullCallback ()

    void
    (*GstDataQueueFullCallback) (GstDataQueue *queue,
                                 gpointer checkdata);

### gst_data_queue_new ()

    GstDataQueue *
    gst_data_queue_new (GstDataQueueCheckFullFunction checkfull,
                        GstDataQueueFullCallback fullcallback,
                        GstDataQueueEmptyCallback emptycallback,
                        gpointer checkdata);

### gst_data_queue_push ()

    gboolean
    gst_data_queue_push (GstDataQueue *queue,
                         GstDataQueueItem *item);

### gst_data_queue_push_force ()

    gboolean
    gst_data_queue_push_force (GstDataQueue *queue,
                               GstDataQueueItem *item);

### gst_data_queue_pop ()

    gboolean
    gst_data_queue_pop (GstDataQueue *queue,
                        GstDataQueueItem **item);

### gst_data_queue_peek ()

    gboolean
    gst_data_queue_peek (GstDataQueue *queue,
                         GstDataQueueItem **item);

### gst_data_queue_flush ()

    void
    gst_data_queue_flush (GstDataQueue *queue);

### gst_data_queue_set_flushing ()

    void
    gst_data_queue_set_flushing (GstDataQueue *queue,
                                 gboolean flushing);

### gst_data_queue_drop_head ()

    gboolean
    gst_data_queue_drop_head (GstDataQueue *queue,
                              GType type);

### gst_data_queue_is_full ()

    gboolean
    gst_data_queue_is_full (GstDataQueue *queue);

### gst_data_queue_is_empty ()

    gboolean
    gst_data_queue_is_empty (GstDataQueue *queue);

### gst_data_queue_get_level ()

    void
    gst_data_queue_get_level (GstDataQueue *queue,
                              GstDataQueueSize *level);

### gst_data_queue_limits_changed ()

    void
    gst_data_queue_limits_changed (GstDataQueue *queue);

## Types and Values

### struct GstDataQueue

    struct GstDataQueue {
      GObject object;
    };

### struct GstDataQueueSize

    struct GstDataQueueSize {
      guint visible;
      guint bytes;
      guint64 time;
    };

### struct GstDataQueueItem

    struct GstDataQueueItem {
      GstMiniObject *object;
      guint size;
      guint64 duration;
      gboolean visible;

      /* user supplied destroy function */
      GDestroyNotify destroy;
    };