input-selector

Direct one out of N input streams to the output pad.

The input pads are from a GstPad subclass and have additional properties, which users may find useful, namely:

  • "running-time": Running time of stream on pad (#gint64)
  • "tags": The currently active tags on the pad (#GstTagList, boxed type)
  • "active": If the pad is currently active (#gboolean)
  • "always-ok" : Make an inactive pads return GST_FLOW_OK instead of GST_FLOW_NOT_LINKED

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──input-selector

Factory details

Authors: – Julien Moutte , Jan Schmidt , Wim Taymans

Classification:Generic

Rank – none

Plugin – coreelements

Package – GStreamer

Pad Templates

sink_%u

ANY

Presencerequest

Directionsink

Object typeGstSelectorPad


src

ANY

Presencealways

Directionsrc

Object typeGstPad


Properties

active-pad

“active-pad” GstPad *

The currently active sink pad

Flags : Read / Write


cache-buffers

“cache-buffers” gboolean

If set to TRUE and GstInputSelector:sync-streams is also set to TRUE, the active pad will cache the buffers still considered valid (after current running time, see sync-mode) to avoid missing frames if/when the pad is reactivated.

The active pad may push more buffers than what is currently displayed/consumed and when changing pads those buffers will be discarded and the only way to reactivate that pad without losing the already consumed buffers is to enable cache.

Flags : Read / Write

Default value : false


drop-backwards

“drop-backwards” gboolean

If set to TRUE and GstInputSelector:sync-streams is also set to TRUE, every time the input is switched, buffers that would go backwards related to the last output buffer pre-switch will be dropped.

Flags : Read / Write

Default value : false

Since : 1.22


n-pads

“n-pads” guint

The number of sink pads

Flags : Read

Default value : 0


sync-mode

“sync-mode” Input-selector-sync-mode *

Select how input-selector will sync buffers when in sync-streams mode.

Note that when using the "active-segment" mode, the "active-segment" may be ahead of current clock time when switching the active pad, as the current active pad may have pushed more buffers than what was displayed/consumed, which may cause delays and some missing buffers.

Flags : Read / Write

Default value : active-segment (0)


sync-streams

“sync-streams” gboolean

If set to TRUE all inactive streams will be synced to the running time of the active stream or to the current clock.

To make sure no buffers are dropped by input-selector that might be needed when switching the active pad, sync-mode should be set to "clock" and cache-buffers to TRUE.

Flags : Read / Write

Default value : true


Named constants

Input-selector-sync-mode

The different ways that input-selector can behave when in sync-streams mode.

Members

active-segment (0) – Sync using the current active segment
clock (1) – Sync using the clock

The results of the search are