# GstGLDisplayEGL

GstGLDisplayEGL represents a connection to an EGL `EGLDisplay` handle created internally (gst_gl_display_egl_new or gst_gl_display_egl_new_surfaceless) or wrapped by the application (gst_gl_display_egl_new_with_egl_display)

## GstGLDisplayEGL

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstGLDisplay
                    ╰──GstGLDisplayEGL

the contents of a GstGLDisplayEGL are private and should only be accessed through the provided API

### Members

`parent` (GstGLDisplay) –
No description available

### Class structure

#### GstGLDisplayEGLClass

##### Fields

`object_class` (GstGLDisplayClass) –
No description available
`_padding` (gpointer *) –
No description available

### GstGLEGL.GLDisplayEGLClass

##### Attributes

`object_class` (GstGL.GLDisplayClass) –
No description available
`_padding` ([ Object ]) –
No description available

### GstGLEGL.GLDisplayEGLClass

##### Attributes

`object_class` (GstGL.GLDisplayClass) –
No description available
`_padding` ([ object ]) –
No description available

## GstGLEGL.GLDisplayEGL

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──GstGL.GLDisplay
                    ╰──GstGLEGL.GLDisplayEGL

the contents of a GstGLEGL.GLDisplayEGL are private and should only be accessed through the provided API

### Members

`parent` (GstGL.GLDisplay) –
No description available

## GstGLEGL.GLDisplayEGL

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──GstGL.GLDisplay
                    ╰──GstGLEGL.GLDisplayEGL

the contents of a GstGLEGL.GLDisplayEGL are private and should only be accessed through the provided API

### Members

`parent` (GstGL.GLDisplay) –
No description available

### Constructors

#### gst_gl_display_egl_new

    GstGLDisplayEGL *
    gst_gl_display_egl_new ()

Create a new GstGLDisplayEGL using the default EGL_DEFAULT_DISPLAY.

The returned GstGLDisplayEGL will by default free all EGL resources when finalized. See gst_gl_display_egl_set_foreign for details on if you need the EGLDisplay to remain alive.

Returns ( [transfer: full][nullable]) –

a new GstGLDisplayEGL or NULL

#### GstGLEGL.GLDisplayEGL.prototype.new

    function GstGLEGL.GLDisplayEGL.prototype.new(): {
        // javascript wrapper for 'gst_gl_display_egl_new'
    }

Create a new GstGLEGL.GLDisplayEGL using the default EGL_DEFAULT_DISPLAY.

The returned GstGLEGL.GLDisplayEGL will by default free all EGL resources when finalized. See GstGLEGL.GLDisplayEGL.prototype.set_foreign for details on if you need the EGLDisplay to remain alive.

Returns (GstGLEGL.GLDisplayEGL) –

a new GstGLEGL.GLDisplayEGL or null

#### GstGLEGL.GLDisplayEGL.new

    def GstGLEGL.GLDisplayEGL.new ():
        #python wrapper for 'gst_gl_display_egl_new'

Create a new GstGLEGL.GLDisplayEGL using the default EGL_DEFAULT_DISPLAY.

The returned GstGLEGL.GLDisplayEGL will by default free all EGL resources when finalized. See GstGLEGL.GLDisplayEGL.set_foreign for details on if you need the EGLDisplay to remain alive.

Returns (GstGLEGL.GLDisplayEGL) –

a new GstGLEGL.GLDisplayEGL or None

#### gst_gl_display_egl_new_surfaceless

    GstGLDisplayEGL *
    gst_gl_display_egl_new_surfaceless ()

Create a new surfaceless GstGLDisplayEGL using the Mesa3D EGL_PLATFORM_SURFACELESS_MESA extension.

Returns ( [transfer: full][nullable]) –

a new GstGLDisplayEGL or NULL

Since : 1.24

#### GstGLEGL.GLDisplayEGL.prototype.new_surfaceless

    function GstGLEGL.GLDisplayEGL.prototype.new_surfaceless(): {
        // javascript wrapper for 'gst_gl_display_egl_new_surfaceless'
    }

Create a new surfaceless GstGLEGL.GLDisplayEGL using the Mesa3D EGL_PLATFORM_SURFACELESS_MESA extension.

Returns (GstGLEGL.GLDisplayEGL) –

a new GstGLEGL.GLDisplayEGL or null

Since : 1.24

#### GstGLEGL.GLDisplayEGL.new_surfaceless

    def GstGLEGL.GLDisplayEGL.new_surfaceless ():
        #python wrapper for 'gst_gl_display_egl_new_surfaceless'

Create a new surfaceless GstGLEGL.GLDisplayEGL using the Mesa3D EGL_PLATFORM_SURFACELESS_MESA extension.

Returns (GstGLEGL.GLDisplayEGL) –

a new GstGLEGL.GLDisplayEGL or None

Since : 1.24

#### gst_gl_display_egl_new_with_egl_display

    GstGLDisplayEGL *
    gst_gl_display_egl_new_with_egl_display (gpointer display)

Parameters:

`display` –
No description available
Returns –
No description available

#### GstGLEGL.GLDisplayEGL.prototype.new_with_egl_display

    function GstGLEGL.GLDisplayEGL.prototype.new_with_egl_display(display: Object): {
        // javascript wrapper for 'gst_gl_display_egl_new_with_egl_display'
    }

Parameters:

`display` (Object) –
No description available
Returns (GstGLEGL.GLDisplayEGL) –
No description available

#### GstGLEGL.GLDisplayEGL.new_with_egl_display

    def GstGLEGL.GLDisplayEGL.new_with_egl_display (display):
        #python wrapper for 'gst_gl_display_egl_new_with_egl_display'

Parameters:

`display` (object) –
No description available
Returns (GstGLEGL.GLDisplayEGL) –
No description available

### Methods

#### gst_gl_display_egl_set_foreign

    gst_gl_display_egl_set_foreign (GstGLDisplayEGL * display_egl,
                                    gboolean foreign)

Configure whether or not this EGL display is foreign and is managed by an external application/library.

A display marked as foreign will not have display global resources freed when this display is finalized. As such, any external API using the same `EGLDisplay` must keep the `EGLDisplay` alive while GStreamer is using any EGL or GL resources associated with that `EGLDisplay`. The reverse is also true and a foreign GstGLDisplayEGL must not be used after the associated `EGLDisplay` has been destroyed externally with `eglTerminate()`.

A non-foreign GstGLDisplayEGL will destroy the associated `EGLDisplay` on finalization. This can also be useful when a user would like GStreamer to assume ownership of the `EGLDisplay` after calling e.g. gst_gl_display_egl_new_with_egl_display.

Parameters:

`display_egl` –

a GstGLDisplayEGL

`foreign` –

whether display_egl should be marked as containing a foreign `EGLDisplay`

Since : 1.26

#### GstGLEGL.GLDisplayEGL.prototype.set_foreign

    function GstGLEGL.GLDisplayEGL.prototype.set_foreign(foreign: Number): {
        // javascript wrapper for 'gst_gl_display_egl_set_foreign'
    }

Configure whether or not this EGL display is foreign and is managed by an external application/library.

A display marked as foreign will not have display global resources freed when this display is finalized. As such, any external API using the same `EGLDisplay` must keep the `EGLDisplay` alive while GStreamer is using any EGL or GL resources associated with that `EGLDisplay`. The reverse is also true and a foreign GstGLEGL.GLDisplayEGL must not be used after the associated `EGLDisplay` has been destroyed externally with `eglTerminate()`.

A non-foreign GstGLEGL.GLDisplayEGL will destroy the associated `EGLDisplay` on finalization. This can also be useful when a user would like GStreamer to assume ownership of the `EGLDisplay` after calling e.g. GstGLEGL.GLDisplayEGL.prototype.new_with_egl_display.

Parameters:

`display_egl` (GstGLEGL.GLDisplayEGL) –

a GstGLEGL.GLDisplayEGL

`foreign` (Number) –

whether display_egl should be marked as containing a foreign `EGLDisplay`

Since : 1.26

#### GstGLEGL.GLDisplayEGL.set_foreign

    def GstGLEGL.GLDisplayEGL.set_foreign (self, foreign):
        #python wrapper for 'gst_gl_display_egl_set_foreign'

Configure whether or not this EGL display is foreign and is managed by an external application/library.

A display marked as foreign will not have display global resources freed when this display is finalized. As such, any external API using the same `EGLDisplay` must keep the `EGLDisplay` alive while GStreamer is using any EGL or GL resources associated with that `EGLDisplay`. The reverse is also true and a foreign GstGLEGL.GLDisplayEGL must not be used after the associated `EGLDisplay` has been destroyed externally with `eglTerminate()`.

A non-foreign GstGLEGL.GLDisplayEGL will destroy the associated `EGLDisplay` on finalization. This can also be useful when a user would like GStreamer to assume ownership of the `EGLDisplay` after calling e.g. GstGLEGL.GLDisplayEGL.new_with_egl_display.

Parameters:

`display_egl` (GstGLEGL.GLDisplayEGL) –

a GstGLEGL.GLDisplayEGL

`foreign` (bool) –

whether display_egl should be marked as containing a foreign `EGLDisplay`

Since : 1.26

### Functions

#### gst_gl_display_egl_from_gl_display

    GstGLDisplayEGL *
    gst_gl_display_egl_from_gl_display (GstGLDisplay * display)

Creates a EGL display connection from a native Display.

This function will return the same value for multiple calls with the same display.

The returned GstGLDisplayEGL will *not* be marked as foreign and will free some display global EGL resources on finalization. If an external API/user will be also handling the lifetime of the `EGLDisplay`, you should mark the returned GstGLDisplayEGL as foreign by calling gst_gl_display_egl_set_foreign.

Parameters:

`display` ( [transfer: none]) –

an existing GstGLDisplay

Returns ( [transfer: full][nullable]) –

a new GstGLDisplayEGL

Since : 1.12

#### GstGLEGL.GLDisplayEGL.prototype.from_gl_display

    function GstGLEGL.GLDisplayEGL.prototype.from_gl_display(display: GstGL.GLDisplay): {
        // javascript wrapper for 'gst_gl_display_egl_from_gl_display'
    }

Creates a EGL display connection from a native Display.

This function will return the same value for multiple calls with the same display.

The returned GstGLEGL.GLDisplayEGL will *not* be marked as foreign and will free some display global EGL resources on finalization. If an external API/user will be also handling the lifetime of the `EGLDisplay`, you should mark the returned GstGLEGL.GLDisplayEGL as foreign by calling GstGLEGL.GLDisplayEGL.prototype.set_foreign.

Parameters:

`display` (GstGL.GLDisplay) –

an existing GstGL.GLDisplay

Returns (GstGLEGL.GLDisplayEGL) –

a new GstGLEGL.GLDisplayEGL

Since : 1.12

#### GstGLEGL.GLDisplayEGL.from_gl_display

    def GstGLEGL.GLDisplayEGL.from_gl_display (display):
        #python wrapper for 'gst_gl_display_egl_from_gl_display'

Creates a EGL display connection from a native Display.

This function will return the same value for multiple calls with the same display.

The returned GstGLEGL.GLDisplayEGL will *not* be marked as foreign and will free some display global EGL resources on finalization. If an external API/user will be also handling the lifetime of the `EGLDisplay`, you should mark the returned GstGLEGL.GLDisplayEGL as foreign by calling GstGLEGL.GLDisplayEGL.set_foreign.

Parameters:

`display` (GstGL.GLDisplay) –

an existing GstGL.GLDisplay

Returns (GstGLEGL.GLDisplayEGL) –

a new GstGLEGL.GLDisplayEGL

Since : 1.12

#### gst_gl_display_egl_get_from_native

    gpointer
    gst_gl_display_egl_get_from_native (GstGLDisplayType type,
                                        guintptr display)

Attempts to create a new `EGLDisplay` from display. If type is GST_GL_DISPLAY_TYPE_ANY or GST_GL_DISPLAY_TYPE_EGL_SURFACELESS, then display must be 0. type must not be GST_GL_DISPLAY_TYPE_NONE.

Parameters:

`type` –

a GstGLDisplayType

`display` –

pointer to a display (or 0)

Returns ( [nullable]) –

A `EGLDisplay` or `EGL_NO_DISPLAY`

Since : 1.12

#### GstGLEGL.GLDisplayEGL.prototype.get_from_native

    function GstGLEGL.GLDisplayEGL.prototype.get_from_native(type: GstGL.GLDisplayType, display: Number): {
        // javascript wrapper for 'gst_gl_display_egl_get_from_native'
    }

Attempts to create a new `EGLDisplay` from display. If type is GstGL.GLDisplayType.ANY or GstGL.GLDisplayType.EGL_SURFACELESS, then display must be 0. type must not be GstGL.GLDisplayType.NONE.

Parameters:

`type` (GstGL.GLDisplayType) –

a GstGL.GLDisplayType

`display` (Number) –

pointer to a display (or 0)

Returns (Object) –

A `EGLDisplay` or `EGL_NO_DISPLAY`

Since : 1.12

#### GstGLEGL.GLDisplayEGL.get_from_native

    def GstGLEGL.GLDisplayEGL.get_from_native (type, display):
        #python wrapper for 'gst_gl_display_egl_get_from_native'

Attempts to create a new `EGLDisplay` from display. If type is GstGL.GLDisplayType.ANY or GstGL.GLDisplayType.EGL_SURFACELESS, then display must be 0. type must not be GstGL.GLDisplayType.NONE.

Parameters:

`type` (GstGL.GLDisplayType) –

a GstGL.GLDisplayType

`display` (int) –

pointer to a display (or 0)

Returns (object) –

A `EGLDisplay` or `EGL_NO_DISPLAY`

Since : 1.12

## Function Macros

### GST_GL_DISPLAY_EGL_CAST

    #define GST_GL_DISPLAY_EGL_CAST(obj)        ((GstGLDisplayEGL*)(obj))

## Constants

### GST_GL_DISPLAY_EGL_NAME

    #define GST_GL_DISPLAY_EGL_NAME "gst.gl.display.egl"

### GstGLEGL.GL_DISPLAY_EGL_NAME

The results of the search are