## identity

identity — Pass data without modification

## Synopsis

    struct              GstIdentity;

## Object Hierarchy

      GObject
       +----GstObject
             +----GstElement
                   +----GstBaseTransform
                         +----GstIdentity

## Properties

      "check-perfect"            gboolean              : Read / Write
      "datarate"                 gint                  : Read / Write
      "drop-probability"         gfloat                : Read / Write
      "dump"                     gboolean              : Read / Write
      "error-after"              gint                  : Read / Write
      "last-message"             gchar*                : Read
      "silent"                   gboolean              : Read / Write
      "single-segment"           gboolean              : Read / Write
      "sleep-time"               guint                 : Read / Write
      "sync"                     gboolean              : Read / Write
      "check-imperfect-offset"   gboolean              : Read / Write
      "check-imperfect-timestamp" gboolean              : Read / Write
      "signal-handoffs"          gboolean              : Read / Write

## Signals

      "handoff"                                        : Run Last

## Description

Dummy element that passes incoming data through unmodified. It has some useful diagnostic functions, such as offset and timestamp checking.

## Synopsis

### Element Information

plugin | coreelements
author | Erik Walthinsen <omega@cse.ogi.edu>
class | Generic

### Element Pads

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

name | src
direction | source
presence | always
details | ANY

## Details

### struct GstIdentity

    struct GstIdentity;

Opaque GstIdentity data structure

## Property Details

### The `"check-perfect"` property

      "check-perfect"            gboolean              : Read / Write

Verify that the stream is time- and data-contiguous. This only logs in the debug log. This will be deprecated in favor of the check-imperfect-timestamp/offset properties.

Default value: FALSE

### The `"datarate"` property

      "datarate"                 gint                  : Read / Write

(Re)timestamps buffers with number of bytes per second (0 = inactive).

Allowed values: >= 0

Default value: 0

### The `"drop-probability"` property

      "drop-probability"         gfloat                : Read / Write

The Probability a buffer is dropped.

Allowed values: [0,1]

Default value: 0

### The `"dump"` property

      "dump"                     gboolean              : Read / Write

Dump buffer contents to stdout.

Default value: FALSE

### The `"error-after"` property

      "error-after"              gint                  : Read / Write

Error after N buffers.

Default value: -1

### The `"last-message"` property

      "last-message"             gchar*                : Read

last-message.

Default value: NULL

### The `"silent"` property

      "silent"                   gboolean              : Read / Write

silent.

Default value: FALSE

### The `"single-segment"` property

      "single-segment"           gboolean              : Read / Write

Timestamp buffers and eat newsegments so as to appear as one segment.

Default value: FALSE

### The `"sleep-time"` property

      "sleep-time"               guint                 : Read / Write

Microseconds to sleep between processing.

Default value: 0

### The `"sync"` property

      "sync"                     gboolean              : Read / Write

Synchronize to pipeline clock.

Default value: FALSE

### The `"check-imperfect-offset"` property

      "check-imperfect-offset"   gboolean              : Read / Write

Send element messages if offset and offset_end do not match up.

Default value: FALSE

### The `"check-imperfect-timestamp"` property

      "check-imperfect-timestamp" gboolean              : Read / Write

Send element messages if timestamps and durations do not match up.

Default value: FALSE

### The `"signal-handoffs"` property

      "signal-handoffs"          gboolean              : Read / Write

If set to TRUE, the identity will emit a handoff signal when handling a buffer. When set to FALSE, no signal will be emited, which might improve performance.

Default value: TRUE

Since 0.10.16

## Signal Details

### The `"handoff"` signal

    void                user_function                      (GstIdentity *identity,
                                                            GstBuffer   *buffer,
                                                            gpointer     user_data)      : Run Last

This signal gets emitted before passing the buffer downstream.

`identity` : | the identity instance
`buffer` : | the buffer that just has been received
`pad` : | the pad that received it
`user_data` : | user data set when the signal handler was connected.