GstGLUpload

GstGLUpload — an object that uploads to GL textures

Synopsis

                    GstGLUpload;
GstGLUpload *       gst_gl_upload_new                   (GstGLContext *context);
void                gst_gl_upload_get_caps              (GstGLUpload *upload,
                                                         GstCaps **in_caps,
                                                         GstCaps **out_caps);
gboolean            gst_gl_upload_set_caps              (GstGLUpload *upload,
                                                         GstCaps *in_caps,
                                                         GstCaps *out_caps);
void                gst_gl_upload_propose_allocation    (GstGLUpload *upload,
                                                         GstQuery *decide_query,
                                                         GstQuery *query);
GstCaps *           gst_gl_upload_transform_caps        (GstGLContext *context,
                                                         GstPadDirection direction,
                                                         GstCaps *caps,
                                                         GstCaps *filter);
GstGLUploadReturn   gst_gl_upload_perform_with_buffer   (GstGLUpload *upload,
                                                         GstBuffer *buffer,
                                                         GstBuffer **outbuf_ptr);
GstCaps *           gst_gl_upload_get_input_template_caps
                                                        (void);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GstObject
               +----GstGLUpload

Description

GstGLUpload is an object that uploads data from system memory into GL textures.

A GstGLUpload can be created with gst_gl_upload_new()

Details

GstGLUpload

typedef struct _GstGLUpload GstGLUpload;

Opaque GstGLUpload object


gst_gl_upload_new ()

GstGLUpload *       gst_gl_upload_new                   (GstGLContext *context);

context :

a GstGLContext

Returns :

a new GstGLUpload object

gst_gl_upload_get_caps ()

void                gst_gl_upload_get_caps              (GstGLUpload *upload,
                                                         GstCaps **in_caps,
                                                         GstCaps **out_caps);

upload :

a GstGLUpload

in_caps :

the input GstCaps. [transfer full][allow-none][out]

out_caps :

the output GstCaps. [transfer full][allow-none][out]

Returns :

The GstCaps set by gst_gl_upload_set_caps(). [transfer none]

gst_gl_upload_set_caps ()

gboolean            gst_gl_upload_set_caps              (GstGLUpload *upload,
                                                         GstCaps *in_caps,
                                                         GstCaps *out_caps);

Initializes upload with the information required for upload.

upload :

a GstGLUpload

in_caps :

input GstCaps

out_caps :

output GstCaps

Returns :

whether in_caps and out_caps could be set on upload

gst_gl_upload_propose_allocation ()

void                gst_gl_upload_propose_allocation    (GstGLUpload *upload,
                                                         GstQuery *decide_query,
                                                         GstQuery *query);

Adds the required allocation parameters to support uploading.

upload :

a GstGLUpload

decide_query :

a GstQuery from a decide allocation. [allow-none]

query :

the proposed allocation query

gst_gl_upload_transform_caps ()

GstCaps *           gst_gl_upload_transform_caps        (GstGLContext *context,
                                                         GstPadDirection direction,
                                                         GstCaps *caps,
                                                         GstCaps *filter);

gst_gl_upload_perform_with_buffer ()

GstGLUploadReturn   gst_gl_upload_perform_with_buffer   (GstGLUpload *upload,
                                                         GstBuffer *buffer,
                                                         GstBuffer **outbuf_ptr);

Uploads buffer using the transformation specified by gst_gl_upload_set_caps() creating a new GstBuffer in outbuf_ptr.

upload :

a GstGLUpload

buffer :

input GstBuffer

outbuf_ptr :

resulting GstBuffer

Returns :

whether the upload was successful

gst_gl_upload_get_input_template_caps ()

GstCaps *           gst_gl_upload_get_input_template_caps
                                                        (void);

See Also

GstGLDownload, GstGLMemory