## ClutterGstVideoTexture

ClutterGstVideoTexture — Actor for playback of video files.

## Synopsis

                        ClutterGstVideoTexture;
                        ClutterGstVideoTextureClass;
    ClutterActor *      clutter_gst_video_texture_new       (void);
    GstElement *        clutter_gst_video_texture_get_pipeline
                                                            (ClutterGstVideoTexture *texture);
    CoglHandle          clutter_gst_video_texture_get_idle_material
                                                            (ClutterGstVideoTexture *texture);
    void                clutter_gst_video_texture_set_idle_material
                                                            (ClutterGstVideoTexture *texture,
                                                             CoglHandle material);
    gchar *             clutter_gst_video_texture_get_user_agent
                                                            (ClutterGstVideoTexture *texture);
    void                clutter_gst_video_texture_set_user_agent
                                                            (ClutterGstVideoTexture *texture,
                                                             const gchar *user_agent);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----ClutterActor
                   +----ClutterTexture
                         +----ClutterGstVideoTexture

## Implemented Interfaces

ClutterGstVideoTexture implements ClutterScriptable and ClutterMedia.

## Properties

      "idle-material"            CoglHandle*           : Read / Write
      "user-agent"               gchar*                : Read / Write

## Description

ClutterGstVideoTexture is a ClutterTexture that plays video files.

## Details

### ClutterGstVideoTexture

    typedef struct _ClutterGstVideoTexture ClutterGstVideoTexture;

Subclass of ClutterTexture that displays videos using GStreamer.

The ClutterGstVideoTexture structure contains only private data and should not be accessed directly.

### ClutterGstVideoTextureClass

    typedef struct {
    } ClutterGstVideoTextureClass;

Base class for ClutterGstVideoTexture.

### clutter_gst_video_texture_new ()

    ClutterActor *      clutter_gst_video_texture_new       (void);

Creates a video texture.

### Note

This function has to be called from Clutter's main thread. While GStreamer will spawn threads to do its work, we want all the GL calls to happen in the same thread. Clutter-gst knows which thread it is by assuming this constructor is called from the Clutter thread.

Returns : | the newly created video texture actor

### clutter_gst_video_texture_get_pipeline ()

    GstElement *        clutter_gst_video_texture_get_pipeline
                                                            (ClutterGstVideoTexture *texture);

Retrieves the GstPipeline used by the `texture`, for direct use with GStreamer API.

`texture` : | a ClutterGstVideoTexture
Returns : | the pipeline element used by the video texture

### clutter_gst_video_texture_get_idle_material ()

    CoglHandle          clutter_gst_video_texture_get_idle_material
                                                            (ClutterGstVideoTexture *texture);

Retrieves the material used to draw when no media is being played.

`texture` : | a ClutterGstVideoTexture
Returns : | the CoglHandle of the idle material

Since 1.2

### clutter_gst_video_texture_set_idle_material ()

    void                clutter_gst_video_texture_set_idle_material
                                                            (ClutterGstVideoTexture *texture,
                                                             CoglHandle material);

Sets a material to use to draw when no media is being played. The ClutterGstVideoTexture holds a reference of the `material`.

The default idle material will paint the ClutterGstVideoTexture in black. If `COGL_INVALID_HANDLE` is given as `material` to this function, this default idle material will be used.

`texture` : | a ClutterGstVideoTexture
`material` : | the handle of a Cogl material

Since 1.2

### clutter_gst_video_texture_get_user_agent ()

    gchar *             clutter_gst_video_texture_get_user_agent
                                                            (ClutterGstVideoTexture *texture);

Retrieves the user agent used when streaming.

`texture` : | a ClutterGstVideoTexture
Returns : | the user agent used. The returned string has to be freed with `g_free()`

Since 1.2

### clutter_gst_video_texture_set_user_agent ()

    void                clutter_gst_video_texture_set_user_agent
                                                            (ClutterGstVideoTexture *texture,
                                                             const gchar *user_agent);

Sets the user agent to use when streaming.

When streaming content, you might want to set a custom user agent, eg. to promote your software, make it appear in statistics or because the server requires a special user agent you want to impersonate.

`texture` : | a ClutterGstVideoTexture
`user_agent` : | the user agent

Since 1.2

## Property Details

### The `"idle-material"` property

      "idle-material"            CoglHandle*           : Read / Write

Material to use for drawing when not playing.

### The `"user-agent"` property

      "user-agent"               gchar*                : Read / Write

User Agent used with network protocols.

Default value: NULL