## appsink appsink — Allow the application to get access to raw buffer |

## Properties

GstCaps * | caps | Read / Write
gboolean | drop | Read / Write
gboolean | emit-signals | Read / Write
gboolean | eos | Read
guint | max-buffers | Read / Write

## Signals

void | eos | Run Last
GstFlowReturn | new-preroll | Run Last
GstFlowReturn | new-sample | Run Last
GstSample* | pull-preroll | Action
GstSample* | pull-sample | Action

## Types and Values

struct | GstAppSink

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstBaseSink
                        ╰── GstAppSink

## Implemented Interfaces

GstAppSink implements GstURIHandler.

## Description

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.

## Synopsis

### Element Information

plugin | app
author | David Schleef <ds@schleef.org>, Wim Taymans <wim.taymans@gmail.com>
class | Generic/Sink

### Element Pads

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

## Functions

## Types and Values

### struct GstAppSink

    struct GstAppSink;

## Property Details

### The `“caps”` property

      “caps”                     GstCaps *

The allowed caps for the sink pad.

Flags: Read / Write

### The `“drop”` property

      “drop”                     gboolean

Drop old buffers when the buffer queue is filled.

Flags: Read / Write

Default value: FALSE

### The `“emit-signals”` property

      “emit-signals”             gboolean

Emit new-preroll and new-sample signals.

Flags: Read / Write

Default value: FALSE

### The `“eos”` property

      “eos”                      gboolean

Check if the sink is EOS or not started.

Flags: Read

Default value: TRUE

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

      “max-buffers”              guint

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

Flags: Read / Write

Default value: 0

## Signal Details

### The `“eos”` signal

    void
    user_function (GstAppSink *gstappsink,
                   gpointer    user_data)

#### Parameters

gstappsink | the object which received the signal. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“new-preroll”` signal

    GstFlowReturn
    user_function (GstAppSink *gstappsink,
                   gpointer    user_data)

#### Parameters

gstappsink | the object which received the signal. |
user_data | user data set when the signal handler was connected. |

#### Returns

Flags: Run Last

### The `“new-sample”` signal

    GstFlowReturn
    user_function (GstAppSink *gstappsink,
                   gpointer    user_data)

#### Parameters

gstappsink | the object which received the signal. |
user_data | user data set when the signal handler was connected. |

#### Returns

Flags: Run Last

### The `“pull-preroll”` signal

    GstSample*
    user_function (GstAppSink *gstappsink,
                   gpointer    user_data)

#### Parameters

gstappsink | the object which received the signal. |
user_data | user data set when the signal handler was connected. |

#### Returns

Flags: Action

### The `“pull-sample”` signal

    GstSample*
    user_function (GstAppSink *gstappsink,
                   gpointer    user_data)

#### Parameters

gstappsink | the object which received the signal. |
user_data | user data set when the signal handler was connected. |

#### Returns

Flags: Action