| Top |  |  |  |  | 
GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰── GstAggregator ╰── GstVideoAggregator ╰── GstGLBaseMixer ╰── GstGLMixer ╰── GstGLMosaic
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
| 1 2 3 4 5 6 | gst-launch-1.0 videotestsrc ! video/x-raw, format=YUY2 ! queue ! glmosaic name=m ! glimagesink \ videotestsrc pattern=12 ! video/x-raw, format=I420, framerate=5/1, width=100, height=200 ! queue ! m. \ videotestsrc ! video/x-raw, framerate=15/1, width=1500, height=1500 ! gleffects effect=3 ! queue ! m. \ videotestsrc ! gleffects effect=2 ! queue ! m. \ videotestsrc ! glfiltercube ! queue ! m. \ videotestsrc ! gleffects effect=6 ! queue ! m. | 
FBO (Frame Buffer Object) is required.
| plugin | opengl | 
| author | Julien Isorce <julien.isorce@gmail.com> | 
| class | Filter/Effect/Video | 
| name | sink_%u | 
| direction | sink | 
| presence | request | 
| details | video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] | 
| name | src | 
| direction | source | 
| presence | always | 
| details | video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] |