| GStreamer Core Plugins 1.0 Plugins Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | Signals | ||||
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
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:
- "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
Synopsis
Element Information
plugin |
coreelements |
author |
Julien Moutte <julien@moutte.net>, Jan Schmidt <thaytan@mad.scientist.com>, Wim Taymans <wim.taymans@gmail.com> |
class |
Generic |
Property Details
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) : 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. |
The "switch" signal
void 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. |
