## 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.

## 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.