# ximagesrc

This element captures your X Display and creates raw RGB video. It uses the XDamage extension if available to only capture areas of the screen that have changed since the last frame. It uses the XFixes extension if available to also capture your mouse pointer. It supports handling of mouse and keyboard events. By default it will fixate to 25 frames per second.

Applications are expected to call `XinitThreads()` before any other threads are started. For use in gst-launch-1.0 or other GStreamer command line applications it is also possible to set the GST_XINITTHREADS=1 environment variable so that `XInitThreads()` gets called when the plugin is loaded. This may be too late in other use case scenarios though, so applications should not rely on that.

## Example pipelines

     gst-launch-1.0 ximagesrc ! video/x-raw,framerate=5/1 ! videoconvert ! theoraenc ! oggmux ! filesink location=desktop.ogg

Encodes your X display to an Ogg theora video at 5 frames per second.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseSrc
                        ╰──GstPushSrc
                            ╰──ximagesrc

## Factory details

Authors: – Lutz Mueller <lutz>, Jan Schmidt <thaytan>, Zaheer Merali <zaheerabbas at merali dot org></zaheerabbas></thaytan></lutz>

Classification: – `Source/Video`

Rank – none

Plugin – ximagesrc

Package – GStreamer Good Plug-ins

## Pad Templates

### `src`

    video/x-raw:
          framerate: [ 0/1, 2147483647/1 ]
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
    pixel-aspect-ratio: [ 0/1, 2147483647/1 ]

Presence – always

Direction – src

Object type – GstPad

## Properties

### display-name

    “display-name” gchararray

X Display Name

Flags : Read / Write

Default value : NULL

### endx

    “endx” guint

X coordinate of bottom right corner of area to be recorded (0 for bottom right of screen)

Flags : Read / Write

Default value : 0

### endy

    “endy” guint

Y coordinate of bottom right corner of area to be recorded (0 for bottom right of screen)

Flags : Read / Write

Default value : 0

### remote

    “remote” gboolean

Whether the X display is remote. The element will try to use alternate calls known to work better with remote displays.

Flags : Read / Write

Default value : false

### show-pointer

    “show-pointer” gboolean

Show mouse pointer (if XFixes extension enabled)

Flags : Read / Write

Default value : true

### startx

    “startx” guint

X coordinate of top left corner of area to be recorded (0 for top left of screen)

Flags : Read / Write

Default value : 0

### starty

    “starty” guint

Y coordinate of top left corner of area to be recorded (0 for top left of screen)

Flags : Read / Write

Default value : 0

### use-damage

    “use-damage” gboolean

Use XDamage (if the XDamage extension is enabled)

Flags : Read / Write

Default value : true

### xid

    “xid” guint64

The XID of the window to capture. 0 for the root window (default).

Flags : Read / Write

Default value : 0

### xname

    “xname” gchararray

The name of the window to capture, if any.

Flags : Read / Write

Default value : NULL

The results of the search are