GstSurfaceConverter

## GstSurfaceConverter GstSurfaceConverter — Interface for GstSurfaceBuffer convertion |

## Functions

GType | gst_surface_converter_get_type ()
gboolean | gst_surface_converter_upload ()

## Types and Values

| GstSurfaceConverter
struct | GstSurfaceConverterInterface

## Description

Objects implementing this interface are used as a convertion context. This allow element optimizing the upload by keeping required resources between uploads. The context must be discarded when the pipeline goes to GST_STATE_NULL or renewed whenever the caps are changed.

The GstVideoContext interface is unstable API and may change in future. One can define GST_USE_UNSTABLE_API to acknowledge and avoid this warning.

### Example uploading to GL texture

    1
    2
    3
    4
    if (G_UNLIKELY (priv->converter == NULL))
      priv->converter = gst_surface_buffer_create_converter (surface, "opengl", &value);

    gst_surface_converter_uplaod (priv->converter, surface);

## Functions

### gst_surface_converter_get_type ()

    GType
    gst_surface_converter_get_type (void);

### gst_surface_converter_upload ()

    gboolean
    gst_surface_converter_upload (GstSurfaceConverter *converter,
                                  GstSurfaceBuffer *buffer);

Convert and uploads the GstSurfaceBuffer to the converter destination.

#### Parameters

converter | a GstSurfaceConverter |
buffer | the GstSurfaceBuffer to upload |

#### Returns

TRUE on success, FALSE otherwise

## Types and Values

### GstSurfaceConverter

    typedef struct _GstSurfaceConverter GstSurfaceConverter;

### struct GstSurfaceConverterInterface

    struct GstSurfaceConverterInterface {
      GTypeInterface parent;

      gboolean (*upload) (GstSurfaceConverter *converter,
                          GstSurfaceBuffer *buffer);
    };

GstSurfaceConverterInterface interface.

#### Members

GTypeInterface `parent`; | parent interface type. |
`upload` () | vmethod to upload GstSurfaceBuffer. |