glmosaic
glmixer sub element. N gl sink pads to 1 source pad. N + 1 OpenGL contexts shared together. N <= 6 because the rendering is more a like a cube than a mosaic Each opengl input stream is rendered on a cube face
Examples
gst-launch-1.0 videotestsrc ! video/x-raw, format=YUY2 ! glupload ! glcolorconvert ! queue ! glmosaic name=m ! glimagesink \
videotestsrc pattern=12 ! video/x-raw, format=I420, framerate=5/1, width=100, height=200 ! glupload ! glcolorconvert ! queue ! m. \
videotestsrc ! video/x-raw, framerate=15/1, width=1500, height=1500 ! glupload ! gleffects effect=3 ! queue ! m. \
videotestsrc ! glupload ! gleffects effect=2 ! queue ! m. \
videotestsrc ! glupload ! glfiltercube ! queue ! m. \
videotestsrc ! glupload ! gleffects effect=6 ! queue ! m.
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstAggregator ╰──GstVideoAggregator ╰──GstGLBaseMixer ╰──GstGLMixer ╰──glmosaic
Factory details
Authors: – Julien Isorce
Classification: – Filter/Effect/Video
Rank – none
Plugin – gstopengl
Package – GStreamer Base Plug-ins
Pad Templates
sink_%u
video/x-raw(memory:GLMemory):
format: RGBA
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
src
video/x-raw(memory:GLMemory):
format: RGBA
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
Properties
latency
“latency” guint64
Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (in nanoseconds)
Flags : Read / Write
Default value : 0
min-upstream-latency
“min-upstream-latency” guint64
When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (nanoseconds)
Flags : Read / Write
Default value : 0
start-time
“start-time” guint64
Start time to use if start-time-selection=set
Flags : Read / Write
Default value : 18446744073709551615
start-time-selection
“start-time-selection” GstAggregatorStartTimeSelection *
Decides which start time is output
Flags : Read / Write
Default value : zero (0)
GstGLMixerPad
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstPad ╰──GstAggregatorPad ╰──GstVideoAggregatorPad ╰──GstGLBaseMixerPad ╰──GstGLMixerPad
Signals
buffer-consumed
buffer_consumed_callback (GstElement * param_0, GstBuffer * arg0, gpointer udata)
def buffer_consumed_callback (param_0, arg0, udata):
#python callback for the 'buffer-consumed' signal
function buffer_consumed_callback(param_0: GstElement * param_0, arg0: GstBuffer * arg0, udata: gpointer udata): {
// javascript callback for the 'buffer-consumed' signal
}
Parameters:
param_0
–
arg0
–
udata
–
Flags: Run First
Properties
emit-signals
“emit-signals” gboolean
Send signals to signal data consumption
Flags : Read / Write
Default value : false
max-last-buffer-repeat
“max-last-buffer-repeat” guint64
Repeat last buffer for time (in ns, -1=until EOS), behaviour on EOS is not affected
Flags : Read / Write
Default value : 18446744073709551615
repeat-after-eos
“repeat-after-eos” gboolean
Repeat the last frame after EOS until all pads are EOS
Flags : Read / Write
Default value : false
The results of the search are