# d3d12screencapturesrc

Direct3D12 screen capture element

## Example launch line

    gst-launch-1.0 d3d12screencapturesrc ! queue ! d3d12videosink

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseSrc
                        ╰──d3d12screencapturesrc

## Factory details

Authors: – Seungha Yang

Classification: – `Source/Video`

Rank – none

Plugin – d3d12

Package – GStreamer Bad Plug-ins

## Pad Templates

### `src`

    video/x-raw(memory:D3D12Memory):
             format: { BGRA, RGBA64_LE }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
    pixel-aspect-ratio: 1/1
        colorimetry: sRGB
    video/x-raw:
             format: { BGRA, RGBA64_LE }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
    pixel-aspect-ratio: 1/1
        colorimetry: sRGB

Presence – always

Direction – src

Object type – GstPad

## Properties

### adapter

    “adapter” gint

DXGI Adapter index for creating device when WGC mode is selected

Flags : Read / Write

Default value : -1

Since : 1.26

### capture-api

    “capture-api” D3d12screen-capture-api *

Capture API to use

Flags : Read / Write

Default value : dxgi (0)

Since : 1.26

### crop-height

    “crop-height” guint

Height of screen capture area (0 = maximum)

Flags : Read / Write

Default value : 0

### crop-width

    “crop-width” guint

Width of screen capture area (0 = maximum)

Flags : Read / Write

Default value : 0

### crop-x

    “crop-x” guint

Horizontal coordinate of top left corner for the screen capture area

Flags : Read / Write

Default value : 0

### crop-y

    “crop-y” guint

Vertical coordinate of top left corner for the screen capture area

Flags : Read / Write

Default value : 0

### monitor-handle

    “monitor-handle” guint64

A HMONITOR handle of monitor to capture

Flags : Read / Write

Default value : 0

### monitor-index

    “monitor-index” gint

Zero-based index for monitor to capture (-1 = primary monitor)

Flags : Read / Write

Default value : -1

### show-border

    “show-border” gboolean

Show border lines to capture area when WGC mode is selected. This feature requires Windows11 or newer

Flags : Read / Write

Default value : false

Since : 1.26

### show-cursor

    “show-cursor” gboolean

Whether to show mouse cursor

Flags : Read / Write

Default value : false

### tonemap

    “tonemap” D3d12screen-capture-tonemap *

Tonemapping method in case of HDR capture

Flags : Read / Write

Default value : linear (0)

Since : 1.26

### window-capture-mode

    “window-capture-mode” D3d12window-capture-mode *

Window capture mode to use

Flags : Read / Write

Default value : default (0)

Since : 1.26

### window-handle

    “window-handle” guint64

HWND window handle to capture

Flags : Read / Write

Default value : 0

Since : 1.26

## Named constants

### D3d12screen-capture-api

#### Members

`dxgi` (0) – DXGI Desktop Duplication
`wgc` (1) – Windows Graphics Capture

Since : 1.26

### D3d12screen-capture-tonemap

#### Members

`linear` (0) – Linear scaling
`reinhard` (1) – Reinhard tonemap

Since : 1.26

### D3d12window-capture-mode

#### Members

`default` (0) – Capture entire window area
`client` (1) – Capture client area

Since : 1.26

The results of the search are