# capssetter

Sets or merges caps on a stream's buffers. That is, a buffer's caps are updated using (fields of) GstCapsSetter: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 GstCapsSetter: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 GstCapsSetter: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