queue2: GStreamer Core Plugins 1.0 Plugins Reference Manual

## queue2 queue2 |

## Properties

guint | current-level-buffers | Read
guint | current-level-bytes | Read
guint64 | current-level-time | Read
gint | high-percent | Read / Write
gint | low-percent | Read / Write
guint | max-size-buffers | Read / Write
guint | max-size-bytes | Read / Write
guint64 | max-size-time | Read / Write
guint64 | ring-buffer-max-size | Read / Write
gchar * | temp-location | Read
gboolean | temp-remove | Read / Write
gchar * | temp-template | Read / Write
gboolean | use-buffering | Read / Write
gboolean | use-rate-estimate | Read / Write
gint64 | avg-in-rate | Read
gboolean | use-tags-bitrate | Read / Write
gdouble | high-watermark | Read / Write
gdouble | low-watermark | Read / Write
guint64 | bitrate | Read
gboolean | use-bitrate-query | Read / Write

## Signals

void | overrun | Run First

## Types and Values

struct | GstQueue2

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstQueue2

## Description

Data is queued until one of the limits specified by the “max-size-buffers”, “max-size-bytes” and/or “max-size-time” properties has been reached. Any attempt to push more buffers into the queue will block the pushing thread until more space becomes available.

The queue will create a new thread on the source pad to decouple the processing on sink and source pad.

You can query how many buffers are queued by reading the “current-level-buffers” property.

The default queue size limits are 100 buffers, 2MB of data, or two seconds worth of data, whichever is reached first.

If you set temp-template to a value such as /tmp/gstreamer-XXXXXX, the element will allocate a random free filename and buffer data in the file. By using this, it will buffer the entire stream data on the file independently of the queue size limits, they will only be used for buffering statistics.

The temp-location property will be used to notify the application of the allocated filename.

## Synopsis

### Element Information

plugin | coreelements
author | Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim.taymans@gmail.com>
class | Generic

### Element Pads

name | sink
direction | sink
presence | always
details | ANY

name | src
direction | source
presence | always
details | ANY

## Functions

## Types and Values

### struct GstQueue2

    struct GstQueue2;

## Property Details

### The `“current-level-buffers”` property

      “current-level-buffers”    guint

Current number of buffers in the queue.

Flags: Read

Default value: 0

### The `“current-level-bytes”` property

      “current-level-bytes”      guint

Current amount of data in the queue (bytes).

Flags: Read

Default value: 0

### The `“current-level-time”` property

      “current-level-time”       guint64

Current amount of data in the queue (in ns).

Flags: Read

Default value: 0

### The `“high-percent”` property

      “high-percent”             gint

High threshold for buffering to finish. Only used if use-buffering is True (Deprecated: use high-watermark instead).

Flags: Read / Write

Allowed values: [0,100]

Default value: 99

### The `“low-percent”` property

      “low-percent”              gint

Low threshold for buffering to start. Only used if use-buffering is True (Deprecated: use low-watermark instead).

Flags: Read / Write

Allowed values: [0,100]

Default value: 1

### The `“max-size-buffers”` property

      “max-size-buffers”         guint

Max. number of buffers in the queue (0=disable).

Flags: Read / Write

Default value: 100

### The `“max-size-bytes”` property

      “max-size-bytes”           guint

Max. amount of data in the queue (bytes, 0=disable).

Flags: Read / Write

Default value: 2097152

### The `“max-size-time”` property

      “max-size-time”            guint64

Max. amount of data in the queue (in ns, 0=disable).

Flags: Read / Write

Default value: 2000000000

### The `“ring-buffer-max-size”` property

      “ring-buffer-max-size”     guint64

The maximum size of the ring buffer in bytes. If set to 0, the ring buffer is disabled. Default 0.

Flags: Read / Write

Default value: 0

### The `“temp-location”` property

      “temp-location”            gchar *

Location to store temporary files in (Only read this property, use temp-template to configure the name template).

Flags: Read

Default value: NULL

### The `“temp-remove”` property

      “temp-remove”              gboolean

When temp-template is set, remove the temporary file when going to READY.

Flags: Read / Write

Default value: TRUE

### The `“temp-template”` property

      “temp-template”            gchar *

File template to store temporary files in, should contain directory and XXXXXX. (NULL == disabled).

Flags: Read / Write

Default value: NULL

### The `“use-buffering”` property

      “use-buffering”            gboolean

Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds.

Flags: Read / Write

Default value: FALSE

### The `“use-rate-estimate”` property

      “use-rate-estimate”        gboolean

Estimate the bitrate of the stream to calculate time level.

Flags: Read / Write

Default value: TRUE

### The `“avg-in-rate”` property

      “avg-in-rate”              gint64

The average input data rate.

Flags: Read

Allowed values: >= 0

Default value: 0

### The `“use-tags-bitrate”` property

      “use-tags-bitrate”         gboolean

Use a bitrate from upstream tags to estimate buffer duration if not provided.

Flags: Read / Write

Default value: FALSE

### The `“high-watermark”` property

      “high-watermark”           gdouble

High threshold for buffering to finish. Only used if use-buffering is True.

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.99

### The `“low-watermark”` property

      “low-watermark”            gdouble

Low threshold for buffering to start. Only used if use-buffering is True.

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.01

### The `“bitrate”` property

      “bitrate”                  guint64

The value used to convert between byte and time values for limiting the size of the queue. Values are taken from either the upstream tags or from the downstream bitrate query.

Flags: Read

Default value: 0

### The `“use-bitrate-query”` property

      “use-bitrate-query”        gboolean

Use a bitrate from a downstream query to estimate buffer duration if not provided.

Flags: Read / Write

Default value: TRUE

## Signal Details

### The `“overrun”` signal

    void
    user_function (GstQueue2 *gstqueue2,
                   gpointer   user_data)

Flags: Run First