# valve

The valve is a simple element that drops buffers when the drop property is set to TRUE and lets then through otherwise.

Any downstream error received while the drop property is TRUE is ignored. So downstream element can be set to GST_STATE_NULL and removed, without using pad blocking.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──valve

## Factory details

Authors: – Olivier Crete <olivier.crete></olivier.crete>

Classification: – `Filter`

Rank – none

Plugin – coreelements

Package – GStreamer

## Pad Templates

### `sink`

    ANY

Presence – always

Direction – sink

Object type – GstPad

### `src`

    ANY

Presence – always

Direction – src

Object type – GstPad

## Properties

### drop

    “drop” gboolean

Whether to drop buffers and events or let them through

Flags : Read / Write

Default value : false

### drop-mode

    “drop-mode” Valve-drop-mode *

Drop mode to use. By default all buffers and events are dropped.

Flags : Read / Write

Default value : drop-all (0)

Since : 1.20

## Named constants

### Valve-drop-mode

#### Members

`drop-all` (0) – Drop all buffers and events
`forward-sticky-events` (1) – Drop all buffers but forward sticky events
`transform-to-gap` (2) – Convert all dropped buffers into gap events and forward sticky events

Since : 1.20

The results of the search are