# 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

## Implemented interfaces

    GstChildProxy

## Factory details

Authors: – Julien Isorce <julien.isorce></julien.isorce>

Classification: – `Filter/Effect/Video`

Rank – none

Plugin – opengl

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 ]

Presence – request

Direction – sink

Object type – GstGLMixerPad

### `src`

    video/x-raw(memory:GLMemory):
             format: RGBA
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – src

Object type – GstAggregatorPad

The results of the search are