# capssetter

Sets or merges caps on a stream's buffers. That is, a buffer's caps are updated using (fields of) caps. Note that this may contain multiple structures (though not likely recommended), but each of these must be fixed (or will otherwise be rejected).

If join is TRUE, then the incoming caps' mime-type is compared to the mime-type(s) of provided caps and only matching structure(s) are considered for updating.

If replace is TRUE, then any caps update is preceded by clearing existing fields, making provided fields (as a whole) replace incoming ones. Otherwise, no clearing is performed, in which case provided fields are added/merged onto incoming caps

Although this element might mainly serve as debug helper, it can also practically be used to correct a faulty pixel-aspect-ratio, or to modify a yuv fourcc value to effectively swap chroma components or such alike.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseTransform
                        ╰──capssetter

## Factory details

Authors: – Mark Nauwelaerts

Classification: – `Generic`

Rank – none

Plugin – debug

Package – GStreamer Good Plug-ins

## Pad Templates

### `sink`

    ANY

Presence – always

Direction – sink

Object type – GstPad

### `src`

    ANY

Presence – always

Direction – src

Object type – GstPad

## Properties

### caps

    “caps” GstCaps *

Merge these caps (thereby overwriting) in the stream

Flags : Read / Write

Default value :

    ANY

### join

    “join” gboolean

Match incoming caps' mime-type to mime-type of provided caps

Flags : Read / Write

Default value : true

### replace

    “replace” gboolean

Drop fields of incoming caps

Flags : Read / Write

Default value : false

The results of the search are