GStreamer Core Plugins 1.0 Plugins Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
GObject +----GInitiallyUnowned +----GstObject +----GstElement +----GstInputSelector
"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
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:
plugin |
coreelements |
author |
Julien Moutte <julien@moutte.net>, Jan Schmidt <thaytan@mad.scientist.com>, Wim Taymans <wim.taymans@gmail.com> |
class |
Generic |
"select-all"
property"select-all" gboolean : Read / Write
Forwards data from all input pads.
Default value: FALSE
"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
"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
"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
"block"
signalgint64 user_function (GstInputSelector *inputselector,
gpointer user_data) : 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.
|
the GstInputSelector |
|
user data set when the signal handler was connected. |
"switch"
signalvoid user_function (GstInputSelector *gstinputselector,
GstPad *arg1,
gint64 arg2,
gint64 arg3,
gpointer user_data) : Run Last
|
the object which received the signal. |
|
user data set when the signal handler was connected. |