# appsink

Appsink is a sink plugin that supports many different methods for making the application get a handle on the GStreamer data in a pipeline. Unlike most GStreamer elements, Appsink provides external API functions.

For the documentation of the API, please see the

libgstapp section in the GStreamer Plugins Base Libraries documentation.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseSink
                        ╰──appsink

## Factory details

Authors: – David Schleef , Wim Taymans

Classification: – `Generic/Sink`

Rank – none

Plugin – gstapp

Package – GStreamer Base Plug-ins

## Pad Templates

### `sink`

    ANY

Presence – always

Direction – sink

Object type – GstPad

## Signals

### eos

    eos_callback (GstElement * param_0,
                  gpointer udata)

    def eos_callback (param_0, udata):
        #python callback for the 'eos' signal

    function eos_callback(param_0: GstElement * param_0, udata: gpointer udata): {
        // javascript callback for the 'eos' signal
    }

Parameters:

`param_0` –
No description available
`udata` –
No description available

Flags: Run Last

### new-preroll

    GstFlowReturn *
    new_preroll_callback (GstElement * param_0,
                          gpointer udata)

    def new_preroll_callback (param_0, udata):
        #python callback for the 'new-preroll' signal

    function new_preroll_callback(param_0: GstElement * param_0, udata: gpointer udata): {
        // javascript callback for the 'new-preroll' signal
    }

Parameters:

`param_0` –
No description available
`udata` –
No description available
Returns ( GstFlowReturn * ) –
No description available

Flags: Run Last

### new-sample

    GstFlowReturn *
    new_sample_callback (GstElement * param_0,
                         gpointer udata)

    def new_sample_callback (param_0, udata):
        #python callback for the 'new-sample' signal

    function new_sample_callback(param_0: GstElement * param_0, udata: gpointer udata): {
        // javascript callback for the 'new-sample' signal
    }

Parameters:

`param_0` –
No description available
`udata` –
No description available
Returns ( GstFlowReturn * ) –
No description available

Flags: Run Last

### pull-preroll

    GstSample *
    pull_preroll_callback (GstElement * param_0,
                           gpointer udata)

    def pull_preroll_callback (param_0, udata):
        #python callback for the 'pull-preroll' signal

    function pull_preroll_callback(param_0: GstElement * param_0, udata: gpointer udata): {
        // javascript callback for the 'pull-preroll' signal
    }

Parameters:

`param_0` –
No description available
`udata` –
No description available
Returns ( GstSample * ) –
No description available

Flags: Run Last / Action

### pull-sample

    GstSample *
    pull_sample_callback (GstElement * param_0,
                          gpointer udata)

    def pull_sample_callback (param_0, udata):
        #python callback for the 'pull-sample' signal

    function pull_sample_callback(param_0: GstElement * param_0, udata: gpointer udata): {
        // javascript callback for the 'pull-sample' signal
    }

Parameters:

`param_0` –
No description available
`udata` –
No description available
Returns ( GstSample * ) –
No description available

Flags: Run Last / Action

### try-pull-preroll

    GstSample *
    try_pull_preroll_callback (GstElement * param_0,
                               guint64 arg0,
                               gpointer udata)

    def try_pull_preroll_callback (param_0, arg0, udata):
        #python callback for the 'try-pull-preroll' signal

    function try_pull_preroll_callback(param_0: GstElement * param_0, arg0: guint64 arg0, udata: gpointer udata): {
        // javascript callback for the 'try-pull-preroll' signal
    }

Parameters:

`param_0` –
No description available
`arg0` –
No description available
`udata` –
No description available
Returns ( GstSample * ) –
No description available

Flags: Run Last / Action

### try-pull-sample

    GstSample *
    try_pull_sample_callback (GstElement * param_0,
                              guint64 arg0,
                              gpointer udata)

    def try_pull_sample_callback (param_0, arg0, udata):
        #python callback for the 'try-pull-sample' signal

    function try_pull_sample_callback(param_0: GstElement * param_0, arg0: guint64 arg0, udata: gpointer udata): {
        // javascript callback for the 'try-pull-sample' signal
    }

Parameters:

`param_0` –
No description available
`arg0` –
No description available
`udata` –
No description available
Returns ( GstSample * ) –
No description available

Flags: Run Last / Action

## Properties

### async

    “async” gboolean

Go asynchronously to PAUSED

Flags : Read / Write

Default value : true

### blocksize

    “blocksize” guint

Size in bytes to pull per buffer (0 = default)

Flags : Read / Write

Default value : 4096

### buffer-list

    “buffer-list” gboolean

Use buffer lists

Flags : Read / Write

Default value : false

### caps

    “caps” GstCaps *

The allowed caps for the sink pad

Flags : Read / Write

### drop

    “drop” gboolean

Drop old buffers when the buffer queue is filled

Flags : Read / Write

Default value : false

### emit-signals

    “emit-signals” gboolean

Emit new-preroll and new-sample signals

Flags : Read / Write

Default value : false

### enable-last-sample

    “enable-last-sample” gboolean

Enable the last-sample property

Flags : Read / Write

Default value : true

### eos

    “eos” gboolean

Check if the sink is EOS or not started

Flags : Read

Default value : true

### last-sample

    “last-sample” GstSample *

The last sample received in the sink

Flags : Read

### max-bitrate

    “max-bitrate” guint64

The maximum bits per second to render (0 = disabled)

Flags : Read / Write

Default value : 0

### max-buffers

    “max-buffers” guint

The maximum number of buffers to queue internally (0 = unlimited)

Flags : Read / Write

Default value : 0

### max-lateness

    “max-lateness” gint64

Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)

Flags : Read / Write

Default value : 18446744073709551615

### processing-deadline

    “processing-deadline” guint64

Maximum processing time for a buffer in nanoseconds

Flags : Read / Write

Default value : 20000000

### qos

    “qos” gboolean

Generate Quality-of-Service events upstream

Flags : Read / Write

Default value : false

### render-delay

    “render-delay” guint64

Additional render delay of the sink in nanoseconds

Flags : Read / Write

Default value : 0

### stats

    “stats” GstStructure *

Sink Statistics

Flags : Read

Default value :

    application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;

### sync

    “sync” gboolean

Sync on the clock

Flags : Read / Write

Default value : true

### throttle-time

    “throttle-time” guint64

The time to keep between rendered buffers (0 = disabled)

Flags : Read / Write

Default value : 0

### ts-offset

    “ts-offset” gint64

Timestamp offset in nanoseconds

Flags : Read / Write

Default value : 0

### wait-on-eos

    “wait-on-eos” gboolean

Wait for all buffers to be processed after receiving an EOS

Flags : Read / Write

Default value : true

The results of the search are