## appsink

appsink — Allow the application to get access to raw buffer

## Synopsis

    struct              GstAppSink;

## Object Hierarchy

      GObject
       +----GstObject
             +----GstElement
                   +----GstBaseSink
                         +----GstAppSink

## Implemented Interfaces

GstAppSink implements GstURIHandler.

## Properties

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

## Signals

      "eos"                                            : Run Last
      "new-buffer"                                     : Run Last
      "new-preroll"                                    : Run Last
      "pull-buffer"                                    : Action
      "pull-preroll"                                   : Action
      "new-buffer-list"                                : Run Last
      "pull-buffer-list"                               : Action

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

## Details

### struct GstAppSink

    struct GstAppSink;

## Property Details

### The `"caps"` property

      "caps"                     GstCaps*              : Read / Write

The allowed caps for the sink pad.

### The `"drop"` property

      "drop"                     gboolean              : Read / Write

Drop old buffers when the buffer queue is filled.

Default value: FALSE

### The `"emit-signals"` property

      "emit-signals"             gboolean              : Read / Write

Emit new-preroll, new-buffer and new-buffer-list signals.

Default value: FALSE

### The `"eos"` property

      "eos"                      gboolean              : Read

Check if the sink is EOS or not started.

Default value: TRUE

### The `"max-buffers"` property

      "max-buffers"              guint                 : Read / Write

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

Default value: 0

## Signal Details

### The `"eos"` signal

    void                user_function                      (GstAppSink *gstappsink,
                                                            gpointer    user_data)       : Run Last

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

### The `"new-buffer"` signal

    void                user_function                      (GstAppSink *gstappsink,
                                                            gpointer    user_data)       : Run Last

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

### The `"new-preroll"` signal

    void                user_function                      (GstAppSink *gstappsink,
                                                            gpointer    user_data)       : Run Last

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

### The `"pull-buffer"` signal

    GstBuffer*          user_function                      (GstAppSink *gstappsink,
                                                            gpointer    user_data)       : Action

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

### The `"pull-preroll"` signal

    GstBuffer*          user_function                      (GstAppSink *gstappsink,
                                                            gpointer    user_data)       : Action

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

### The `"new-buffer-list"` signal

    void                user_function                      (GstAppSink *gstappsink,
                                                            gpointer    user_data)       : Run Last

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

### The `"pull-buffer-list"` signal

    GstBufferList*      user_function                      (GstAppSink *gstappsink,
                                                            gpointer    user_data)       : Action

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