## decodebin

decodebin — Autoplug and decode to raw media

## Synopsis

    struct              GstDecodeBin;

## Object Hierarchy

      GObject
       +----GstObject
             +----GstElement
                   +----GstBin
                         +----GstDecodeBin

## Implemented Interfaces

GstDecodeBin implements GstChildProxy.

## Properties

      "threaded"                 gboolean              : Read / Write
      "sink-caps"                GstCaps*              : Read / Write

## Signals

      "new-decoded-pad"                                : Run Last
      "removed-decoded-pad"                            : Run Last
      "unknown-type"                                   : Run Last

## Description

GstBin that auto-magically constructs a decoding pipeline using available decoders and demuxers via auto-plugging.

When using decodebin in your application, connect a signal handler to "new-decoded-pad" and connect your sinks from within the callback function.

### Note

This element is deprecated and no longer supported. You should use the uridecodebin or decodebin2 element instead (or, even better: playbin2).

## Synopsis

### Element Information

plugin | decodebin
author | Wim Taymans <wim.taymans@gmail.com>
class | Generic/Bin/Decoder

### Element Pads

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

name | src%d
direction | source
presence | sometimes
details | ANY

## Details

### struct GstDecodeBin

    struct GstDecodeBin;

Auto-plugging decoder element structure

## Property Details

### The `"threaded"` property

      "threaded"                 gboolean              : Read / Write

Use threads.

Default value: FALSE

### The `"sink-caps"` property

      "sink-caps"                GstCaps*              : Read / Write

The caps of the input data. (NULL = use typefind element).

## Signal Details

### The `"new-decoded-pad"` signal

    void                user_function                      (GstDecodeBin *bin,
                                                            GstPad       *pad,
                                                            gboolean      islast,
                                                            gpointer      user_data)      : Run Last

This signal gets emitted as soon as a new pad of the same type as one of the valid 'raw' types is added.

`bin` : | The decodebin
`pad` : | The newly created pad
`islast` : | TRUE if this is the last pad to be added. Deprecated.
`user_data` : | user data set when the signal handler was connected.

### The `"removed-decoded-pad"` signal

    void                user_function                      (GstDecodeBin *bin,
                                                            GstPad       *pad,
                                                            gpointer      user_data)      : Run Last

This signal is emitted when a 'final' caps pad has been removed.

`bin` : | The decodebin
`pad` : | The pad that was removed
`user_data` : | user data set when the signal handler was connected.

### The `"unknown-type"` signal

    void                user_function                      (GstDecodeBin *bin,
                                                            GstPad       *pad,
                                                            GstCaps      *caps,
                                                            gpointer      user_data)      : Run Last

This signal is emitted when a pad for which there is no further possible decoding is added to the decodebin.

`bin` : | The decodebin
`pad` : | The new pad containing caps that cannot be resolved to a 'final' stream type.
`caps` : | The GstCaps of the pad that cannot be resolved.
`user_data` : | user data set when the signal handler was connected.