# opusdec

This element decodes a OPUS stream to raw integer audio.

## Example pipelines

     gst-launch-1.0 -v filesrc location=opus.ogg ! oggdemux ! opusdec ! audioconvert ! audioresample ! alsasink

Decode an Ogg/Opus file. To create an Ogg/Opus file refer to the documentation of opusenc.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstAudioDecoder
                        ╰──opusdec

## Factory details

Authors: – Vincent Penquerc'h

Classification: – `Codec/Decoder/Audio/Converter`

Rank – primary

Plugin – opus

Package – GStreamer Base Plug-ins

## Pad Templates

### `sink`

    audio/x-opus:
    channel-mapping-family: 0
    audio/x-opus:
    channel-mapping-family: [ 1, 255 ]
           channels: [ 1, 255 ]
       stream-count: [ 1, 255 ]
      coupled-count: [ 0, 255 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    audio/x-raw:
             format: S16LE
             layout: interleaved
               rate: { (int)48000, (int)24000, (int)16000, (int)12000, (int)8000 }
           channels: [ 1, 8 ]

Presence – always

Direction – src

Object type – GstPad

## Properties

### apply-gain

    “apply-gain” gboolean

Apply gain if any is specified in the header

Flags : Read / Write

Default value : true

### phase-inversion

    “phase-inversion” gboolean

Set to true to enable phase inversion, this will slightly improve stereo quality, but will have side effects when downmixed to mono.

Flags : Read / Write

Default value : false

### stats

    “stats” GstStructure *

Various decoder statistics. This property returns a GstStructure with name application/x-opusdec-stats with the following fields:

- guint64 `num-pushed`: the number of packets pushed out.
- guint64 `num-gap`: the number of gap packets received.
- guint64 `plc-num-samples`: the number of samples generated using PLC
- guint64 `plc-duration`: the total duration, in ns, of samples generated using PLC
- guint32 `bandwidth`: decoder last bandpass, in kHz, or 0 if unknown
- guint32 `sample-rate`: decoder sampling rate, or 0 if unknown
- guint32 `gain`: decoder gain adjustement, in Q8 dB units, or 0 if unknown
- guint32 `last-packet-duration`: duration, in samples, of the last packet successfully decoded or concealed, or 0 if unknown
- guint `channels`: the number of channels

Flags : Read

Default value :

    application/x-opusdec-stats, num-pushed=(guint64)0, num-gap=(guint64)0, plc-num-samples=(guint64)0, plc-duration=(guint64)0, bandwidth=(uint)0, sample-rate=(uint)0, gain=(uint)0, last-packet-duration=(uint)0, channels=(uint)0;

### use-inband-fec

    “use-inband-fec” gboolean

Use forward error correction if available (needs PLC enabled)

Flags : Read / Write

Default value : false

The results of the search are