# cccombiner

Combines GstVideoCaptionMeta with video input stream

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstAggregator
                        ╰──cccombiner

## Factory details

Authors: – Sebastian Dröge <sebastian@centricular.com></sebastian@centricular.com>

Classification: – `Filter`

Rank – none

Plugin – closedcaption

Package – GStreamer Bad Plug-ins

## Pad Templates

### `caption`

    closedcaption/x-cea-608:
             format: { raw, s334-1a }
    closedcaption/x-cea-708:
             format: { cc_data, cdp }

Presence – request

Direction – sink

Object type – GstAggregatorPad

### `sink`

    ANY

Presence – always

Direction – sink

Object type – GstAggregatorPad

### `src`

    ANY

Presence – always

Direction – src

Object type – GstAggregatorPad

## Properties

### cea608-padding-strategy

    “cea608-padding-strategy” Ccbuffer-cea608padding-strategy *

Controls the transformations that may be done on padding CEA-608 data.

Flags : Read / Write

Default value : valid

Since : 1.26

### cea608-padding-valid-timeout

    “cea608-padding-valid-timeout” guint64

Timeout to apply when padding strategy contains "valid". After this time hase passed, CEA-608 padding will be signalled as invalid until new valid CEA-608 non-padding data is received.

Flags : Read / Write

Default value : 18446744073709551615

Since : 1.26

### input-meta-processing

    “input-meta-processing” Cccombiner-input-processing *

Controls how input closed caption meta is processed.

Flags : Read / Write

Default value : append (0)

Since : 1.26

### max-scheduled

    “max-scheduled” guint

Controls the number of scheduled buffers after which the element will start dropping old buffers from its internal queues. See schedule.

Flags : Read / Write

Default value : 30

Since : 1.20

### output-padding

    “output-padding” gboolean

When schedule is TRUE, this property controls whether the output closed caption meta stream will be padded.

Flags : Read / Write

Default value : true

Since : 1.22

### schedule

    “schedule” gboolean

Controls whether caption buffers should be smoothly scheduled in order to have exactly one per output video buffer.

This can involve rewriting input captions, for example when the input is CDP sequence counters are rewritten, time codes are dropped and potentially re-injected if the input video frame had a time code meta.

Caption buffers may also get split up in order to assign captions to the correct field when the input is interlaced.

This can also imply that the input will drift from synchronization, when there isn't enough padding in the input stream to catch up. In that case the element will start dropping old caption buffers once the number of buffers in its internal queue reaches max-scheduled.

When this is set to FALSE, the behaviour of this element is essentially that of a funnel.

Flags : Read / Write

Default value : true

Since : 1.20

### schedule-timeout

    “schedule-timeout” guint64

Timeout to apply when the caption pad is EOS and schedule=true. On reaching the timeout, no caption data will be placed on the outgoing buffers until receiving a new stream.

Flags : Read / Write

Default value : 18446744073709551615

Since : 1.26

## Named constants

### Ccbuffer-cea608padding-strategy

#### Members

`input-remove` (0x00000001) – Remove padding from input data
`valid` (0x00000002) – Write 608 padding as valid

Since : 1.26

### Cccombiner-input-processing

Possible processing types for the input-meta-processing property.

#### Members

`append` (0) – append aggregated CC to existing metas on video buffer
`drop` (1) – drop existing CC metas on input video buffer
`favor` (2) – discard aggregated CC when input video buffers hold CC metas already
`force` (3) – discard aggregated CC even when input video buffers do not hold CC

Since : 1.26

The results of the search are