input-selector

input-selector — N-to-1 input stream selector

Synopsis

                    GstInputSelector;

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GstObject
               +----GstElement
                     +----GstInputSelector

Properties

  "active-pad"               GstPad*               : Read / Write
  "n-pads"                   guint                 : Read
  "select-all"               gboolean              : Read / Write
  "sync-streams"             gboolean              : Read / Write
  "cache-buffers"            gboolean              : Read / Write
  "sync-mode"                GstInputSelectorSyncMode  : Read / Write

Signals

  "block"                                          : Run Last / Action
  "switch"                                         : Run Last

Description

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:

Details

GstInputSelector

typedef struct _GstInputSelector GstInputSelector;

Property Details

The "active-pad" property

  "active-pad"               GstPad*               : Read / Write

The currently active sink pad.


The "n-pads" property

  "n-pads"                   guint                 : Read

The number of sink pads.

Default value: 0


The "select-all" property

  "select-all"               gboolean              : Read / Write

Forwards data from all input pads.

Default value: FALSE


The "sync-streams" property

  "sync-streams"             gboolean              : Read / Write

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.

Default value: TRUE


The "cache-buffers" property

  "cache-buffers"            gboolean              : Read / Write

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 loosing the already consumed buffers is to enable cache.

Default value: FALSE


The "sync-mode" property

  "sync-mode"                GstInputSelectorSyncMode  : Read / Write

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.

Default value: Sync using the current active segment

Signal Details

The "block" signal

gint64              user_function                      (GstInputSelector *inputselector,
                                                        gpointer          user_data)          : Run Last / Action

Block all sink pads in preparation for a switch. Returns the stop time of the current switch segment, as a running time, or 0 if there is no current active pad or the current active pad never received data.

inputselector :

the GstInputSelector

user_data :

user data set when the signal handler was connected.

The "switch" signal

void                user_function                      (GstInputSelector *gstinputselector,
                                                        GstPad           *arg1,
                                                        gint64            arg2,
                                                        gint64            arg3,
                                                        gpointer          user_data)             : Run Last

gstinputselector :

the object which received the signal.

arg1 :

arg2 :

arg3 :

user_data :

user data set when the signal handler was connected.

See Also

GstOutputSelector