## GstGLDownload GstGLDownload — an object that downloads GL textures |

## Functions

GstGLDownload * | gst_gl_download_new ()
void | gst_gl_download_set_format ()
gboolean | gst_gl_download_perform_with_data ()

## Types and Values

| GstGLDownload

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstGLDownload

## Description

GstGLDownload is an object that downloads GL textures into system memory.

A GstGLDownload can be created with `gst_gl_download_new()`

## Functions

### gst_gl_download_new ()

    GstGLDownload *
    gst_gl_download_new (GstGLContext *context);

#### Parameters

context | a GstGLContext |

#### Returns

a new GstGLDownload object

### gst_gl_download_set_format ()

    void
    gst_gl_download_set_format (GstGLDownload *download,
                                GstVideoInfo *out_info);

Initializes `download` with the information required for download.

#### Parameters

download | a GstGLDownload |
v_format | a GstVideoFormat |
out_width | the width to download to |
out_height | the height to download to |

### gst_gl_download_perform_with_data ()

    gboolean
    gst_gl_download_perform_with_data (GstGLDownload *download,
                                       GLuint texture_id,
                                       gpointer data[GST_VIDEO_MAX_PLANES]);

Downloads `texture_id` into `data` . `data` size and format is specified by the GstVideoFormat passed to `gst_gl_download_set_format()`

#### Parameters

download | a GstGLDownload |
texture_id | the texture id to download |
data | where the downloaded data should go. | [out]

#### Returns

whether the download was successful

## Types and Values

### GstGLDownload

    typedef struct _GstGLDownload GstGLDownload;

Opaque GstGLDownload object

## See Also

GstGLUpload, GstGLMemory