GstPhotography

## GstPhotography GstPhotography |

## Synopsis

                        GstPhotography;
    enum                GstPhotographyNoiseReduction;
    enum                GstWhiteBalanceMode;
    enum                GstColourToneMode;
    enum                GstSceneMode;
    enum                GstFlashMode;
    enum                GstFlickerReductionMode;
    enum                GstFocusMode;
    enum                GstFocusStatus;
    enum                GstPhotoCaps;
    enum                GstPhotoShakeRisk;
    void                (*GstPhotoCapturePrepared)          (gpointer data,
                                                             const GstCaps *configured_caps);
    gboolean            gst_photography_get_ev_compensation (GstPhotography *photo,
                                                             gfloat *ev_comp);
    gboolean            gst_photography_get_iso_speed       (GstPhotography *photo,
                                                             guint *iso_speed);
    gboolean            gst_photography_get_aperture        (GstPhotography *photo,
                                                             guint *aperture);
    gboolean            gst_photography_get_exposure        (GstPhotography *photo,
                                                             guint32 *exposure);
    gboolean            gst_photography_get_white_balance_mode
                                                            (GstPhotography *photo,
                                                             GstWhiteBalanceMode *wb_mode);
    gboolean            gst_photography_get_colour_tone_mode
                                                            (GstPhotography *photo,
                                                             GstColourToneMode *tone_mode);
    gboolean            gst_photography_get_scene_mode      (GstPhotography *photo,
                                                             GstSceneMode *scene_mode);
    gboolean            gst_photography_get_flash_mode      (GstPhotography *photo,
                                                             GstFlashMode *flash_mode);
    gboolean            gst_photography_get_noise_reduction (GstPhotography *photo,
                                                             GstPhotographyNoiseReduction *noise_reduction);
    gboolean            gst_photography_get_zoom            (GstPhotography *photo,
                                                             gfloat *zoom);
    gboolean            gst_photography_set_ev_compensation (GstPhotography *photo,
                                                             gfloat ev_comp);
    gboolean            gst_photography_set_iso_speed       (GstPhotography *photo,
                                                             guint iso_speed);
    gboolean            gst_photography_set_aperture        (GstPhotography *photo,
                                                             guint aperture);
    gboolean            gst_photography_set_exposure        (GstPhotography *photo,
                                                             guint exposure);
    gboolean            gst_photography_set_white_balance_mode
                                                            (GstPhotography *photo,
                                                             GstWhiteBalanceMode wb_mode);
    gboolean            gst_photography_set_colour_tone_mode
                                                            (GstPhotography *photo,
                                                             GstColourToneMode tone_mode);
    gboolean            gst_photography_set_scene_mode      (GstPhotography *photo,
                                                             GstSceneMode scene_mode);
    gboolean            gst_photography_set_flash_mode      (GstPhotography *photo,
                                                             GstFlashMode flash_mode);
    gboolean            gst_photography_set_noise_reduction (GstPhotography *photo,
                                                             GstPhotographyNoiseReduction noise_reduction);
    gboolean            gst_photography_set_zoom            (GstPhotography *photo,
                                                             gfloat zoom);
    GstPhotoCaps        gst_photography_get_capabilities    (GstPhotography *photo);
    gboolean            gst_photography_prepare_for_capture (GstPhotography *photo,
                                                             GstPhotoCapturePrepared func,
                                                             GstCaps *capture_caps,
                                                             gpointer user_data);
    void                gst_photography_set_autofocus       (GstPhotography *photo,
                                                             gboolean on);
    gboolean            gst_photography_set_config          (GstPhotography *photo,
                                                             GstPhotoSettings *config);
    gboolean            gst_photography_get_config          (GstPhotography *photo,
                                                             GstPhotoSettings *config);

## Object Hierarchy

      GInterface
       +----GstPhotography

## Prerequisites

GstPhotography requires GstImplementsInterface and GstElement.

## Properties

      "aperture"                 guint                 : Read / Write
      "capabilities"             gulong                : Read
      "colour-tone-mode"         GstColourToneMode     : Read / Write
      "ev-compensation"          gfloat                : Read / Write
      "exposure"                 guint                 : Read / Write
      "flash-mode"               GstFlashMode          : Read / Write
      "flicker-mode"             GstFlickerReductionMode  : Read / Write
      "focus-mode"               GstFocusMode          : Read / Write
      "image-capture-supported-caps" GstCaps*              : Read
      "iso-speed"                guint                 : Read / Write
      "scene-mode"               GstSceneMode          : Read / Write
      "white-balance-mode"       GstWhiteBalanceMode   : Read / Write
      "image-preview-supported-caps" GstCaps*              : Read
      "noise-reduction"          GstPhotographyNoiseReduction  : Read / Write
      "zoom"                     gfloat                : Read / Write

## Description

## Details

### GstPhotography

    typedef struct _GstPhotography GstPhotography;

### enum GstPhotographyNoiseReduction

    typedef enum {
      GST_PHOTOGRAPHY_NOISE_REDUCTION_BAYER = ( 1<<0 ),
      GST_PHOTOGRAPHY_NOISE_REDUCTION_YCC = ( 1<<1 ),
      GST_PHOTOGRAPHY_NOISE_REDUCTION_TEMPORAL= ( 1<< 2),
      GST_PHOTOGRAPHY_NOISE_REDUCTION_FIXED = (1 << 3),
      GST_PHOTOGRAPHY_NOISE_REDUCTION_EXTRA = (1 << 4)
    } GstPhotographyNoiseReduction;

### enum GstWhiteBalanceMode

    typedef enum {
      GST_PHOTOGRAPHY_WB_MODE_AUTO = 0,
      GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT,
      GST_PHOTOGRAPHY_WB_MODE_CLOUDY,
      GST_PHOTOGRAPHY_WB_MODE_SUNSET,
      GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN,
      GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT
    } GstWhiteBalanceMode;

### enum GstColourToneMode

    typedef enum {
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_NORMAL = 0,
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_SEPIA,
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_NEGATIVE,
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_GRAYSCALE,
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_NATURAL,
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_VIVID,
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_COLORSWAP,
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_SOLARIZE,
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_OUT_OF_FOCUS,
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_SKY_BLUE,
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_GRASS_GREEN,
      GST_PHOTOGRAPHY_COLOUR_TONE_MODE_SKIN_WHITEN
    } GstColourToneMode;

### enum GstSceneMode

    typedef enum {
      GST_PHOTOGRAPHY_SCENE_MODE_MANUAL = 0,
      GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP,
      GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT,
      GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE,
      GST_PHOTOGRAPHY_SCENE_MODE_SPORT,
      GST_PHOTOGRAPHY_SCENE_MODE_NIGHT,
      GST_PHOTOGRAPHY_SCENE_MODE_AUTO
    } GstSceneMode;

### enum GstFlashMode

    typedef enum {
      GST_PHOTOGRAPHY_FLASH_MODE_AUTO = 0,
      GST_PHOTOGRAPHY_FLASH_MODE_OFF,
      GST_PHOTOGRAPHY_FLASH_MODE_ON,
      GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN,
      GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE
    } GstFlashMode;

### enum GstFlickerReductionMode

    typedef enum {
      GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF = 0,
      GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ,
      GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ,
      GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO,
    } GstFlickerReductionMode;

### enum GstFocusMode

    typedef enum {
        GST_PHOTOGRAPHY_FOCUS_MODE_AUTO = 0,
        GST_PHOTOGRAPHY_FOCUS_MODE_MACRO,
        GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT,
        GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY,
        GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL,
        GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED,
        GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL,
        GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED,
    } GstFocusMode;

### enum GstFocusStatus

    typedef enum {
      GST_PHOTOGRAPHY_FOCUS_STATUS_NONE = 0,
      GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING,
      GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL,
      GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS
    } GstFocusStatus;

### enum GstPhotoCaps

    typedef enum {
      GST_PHOTOGRAPHY_CAPS_NONE = (0 << 0),
      GST_PHOTOGRAPHY_CAPS_EV_COMP = (1 << 0),
      GST_PHOTOGRAPHY_CAPS_ISO_SPEED = (1 << 1),
      GST_PHOTOGRAPHY_CAPS_WB_MODE = (1 << 2),
      GST_PHOTOGRAPHY_CAPS_TONE = (1 << 3),
      GST_PHOTOGRAPHY_CAPS_SCENE = (1 << 4),
      GST_PHOTOGRAPHY_CAPS_FLASH = (1 << 5),
      GST_PHOTOGRAPHY_CAPS_ZOOM = (1 << 6),
      GST_PHOTOGRAPHY_CAPS_FOCUS = (1 << 7),
      GST_PHOTOGRAPHY_CAPS_APERTURE = (1 << 8),
      GST_PHOTOGRAPHY_CAPS_EXPOSURE = (1 << 9),
      GST_PHOTOGRAPHY_CAPS_SHAKE = (1 << 10),
      GST_PHOTOGRAPHY_CAPS_NOISE_REDUCTION = (1 << 11),
      GST_PHOTOGRAPHY_CAPS_FLICKER_REDUCTION = (1 << 12),
      GST_PHOTOGRAPHY_CAPS_ALL = (~0)
    } GstPhotoCaps;

### enum GstPhotoShakeRisk

    typedef enum {
      GST_PHOTOGRAPHY_SHAKE_RISK_LOW = 0,
      GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM,
      GST_PHOTOGRAPHY_SHAKE_RISK_HIGH,
    } GstPhotoShakeRisk;

### GstPhotoCapturePrepared ()

    void                (*GstPhotoCapturePrepared)          (gpointer data,
                                                             const GstCaps *configured_caps);

### gst_photography_get_ev_compensation ()

    gboolean            gst_photography_get_ev_compensation (GstPhotography *photo,
                                                             gfloat *ev_comp);

### gst_photography_get_iso_speed ()

    gboolean            gst_photography_get_iso_speed       (GstPhotography *photo,
                                                             guint *iso_speed);

### gst_photography_get_aperture ()

    gboolean            gst_photography_get_aperture        (GstPhotography *photo,
                                                             guint *aperture);

### gst_photography_get_exposure ()

    gboolean            gst_photography_get_exposure        (GstPhotography *photo,
                                                             guint32 *exposure);

### gst_photography_get_white_balance_mode ()

    gboolean            gst_photography_get_white_balance_mode
                                                            (GstPhotography *photo,
                                                             GstWhiteBalanceMode *wb_mode);

### gst_photography_get_colour_tone_mode ()

    gboolean            gst_photography_get_colour_tone_mode
                                                            (GstPhotography *photo,
                                                             GstColourToneMode *tone_mode);

### gst_photography_get_scene_mode ()

    gboolean            gst_photography_get_scene_mode      (GstPhotography *photo,
                                                             GstSceneMode *scene_mode);

### gst_photography_get_flash_mode ()

    gboolean            gst_photography_get_flash_mode      (GstPhotography *photo,
                                                             GstFlashMode *flash_mode);

### gst_photography_get_noise_reduction ()

    gboolean            gst_photography_get_noise_reduction (GstPhotography *photo,
                                                             GstPhotographyNoiseReduction *noise_reduction);

### gst_photography_get_zoom ()

    gboolean            gst_photography_get_zoom            (GstPhotography *photo,
                                                             gfloat *zoom);

### gst_photography_set_ev_compensation ()

    gboolean            gst_photography_set_ev_compensation (GstPhotography *photo,
                                                             gfloat ev_comp);

### gst_photography_set_iso_speed ()

    gboolean            gst_photography_set_iso_speed       (GstPhotography *photo,
                                                             guint iso_speed);

### gst_photography_set_aperture ()

    gboolean            gst_photography_set_aperture        (GstPhotography *photo,
                                                             guint aperture);

### gst_photography_set_exposure ()

    gboolean            gst_photography_set_exposure        (GstPhotography *photo,
                                                             guint exposure);

### gst_photography_set_white_balance_mode ()

    gboolean            gst_photography_set_white_balance_mode
                                                            (GstPhotography *photo,
                                                             GstWhiteBalanceMode wb_mode);

### gst_photography_set_colour_tone_mode ()

    gboolean            gst_photography_set_colour_tone_mode
                                                            (GstPhotography *photo,
                                                             GstColourToneMode tone_mode);

### gst_photography_set_scene_mode ()

    gboolean            gst_photography_set_scene_mode      (GstPhotography *photo,
                                                             GstSceneMode scene_mode);

### gst_photography_set_flash_mode ()

    gboolean            gst_photography_set_flash_mode      (GstPhotography *photo,
                                                             GstFlashMode flash_mode);

### gst_photography_set_noise_reduction ()

    gboolean            gst_photography_set_noise_reduction (GstPhotography *photo,
                                                             GstPhotographyNoiseReduction noise_reduction);

### gst_photography_set_zoom ()

    gboolean            gst_photography_set_zoom            (GstPhotography *photo,
                                                             gfloat zoom);

### gst_photography_get_capabilities ()

    GstPhotoCaps        gst_photography_get_capabilities    (GstPhotography *photo);

### gst_photography_prepare_for_capture ()

    gboolean            gst_photography_prepare_for_capture (GstPhotography *photo,
                                                             GstPhotoCapturePrepared func,
                                                             GstCaps *capture_caps,
                                                             gpointer user_data);

### gst_photography_set_autofocus ()

    void                gst_photography_set_autofocus       (GstPhotography *photo,
                                                             gboolean on);

### gst_photography_set_config ()

    gboolean            gst_photography_set_config          (GstPhotography *photo,
                                                             GstPhotoSettings *config);

### gst_photography_get_config ()

    gboolean            gst_photography_get_config          (GstPhotography *photo,
                                                             GstPhotoSettings *config);

## Property Details

### The `"aperture"` property

      "aperture"                 guint                 : Read / Write

Aperture defines the size of lens opening (0 = auto).

Allowed values: <= 255

Default value: 0

### The `"capabilities"` property

      "capabilities"             gulong                : Read

Tells the photo capabilities of the device.

### The `"colour-tone-mode"` property

      "colour-tone-mode"         GstColourToneMode     : Read / Write

Colour tone setting changes colour shading in the photo.

Default value: GST_PHOTOGRAPHY_COLOUR_TONE_MODE_NORMAL

### The `"ev-compensation"` property

      "ev-compensation"          gfloat                : Read / Write

EV compensation affects the brightness of the image.

Allowed values: [-2.5,2.5]

Default value: 0

### The `"exposure"` property

      "exposure"                 guint                 : Read / Write

Exposure time defines how long the shutter will stay open (0 = auto).

Default value: 0

### The `"flash-mode"` property

      "flash-mode"               GstFlashMode          : Read / Write

Flash mode defines how the flash light should be used.

Default value: GST_PHOTOGRAPHY_FLASH_MODE_AUTO

### The `"flicker-mode"` property

      "flicker-mode"             GstFlickerReductionMode  : Read / Write

Flicker reduction mode defines a line frequency for flickering prevention.

Default value: GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF

### The `"focus-mode"` property

      "focus-mode"               GstFocusMode          : Read / Write

Focus mode defines the range of focal lengths to use in autofocus search.

Default value: GST_PHOTOGRAPHY_FOCUS_MODE_AUTO

### The `"image-capture-supported-caps"` property

      "image-capture-supported-caps" GstCaps*              : Read

Caps describing supported image capture formats.

### The `"iso-speed"` property

      "iso-speed"                guint                 : Read / Write

ISO speed defines the light sensitivity (0 = auto).

Allowed values: <= 6400

Default value: 0

### The `"scene-mode"` property

      "scene-mode"               GstSceneMode          : Read / Write

Scene mode works as a preset for different photo shooting mode settings.

Default value: GST_PHOTOGRAPHY_SCENE_MODE_AUTO

### The `"white-balance-mode"` property

      "white-balance-mode"       GstWhiteBalanceMode   : Read / Write

White balance affects the color temperature of the photo.

Default value: GST_PHOTOGRAPHY_WB_MODE_AUTO

### The `"image-preview-supported-caps"` property

      "image-preview-supported-caps" GstCaps*              : Read

Caps describing supported image preview formats.

### The `"noise-reduction"` property

      "noise-reduction"          GstPhotographyNoiseReduction  : Read / Write

Which noise reduction modes are enabled (0 = disabled).

### The `"zoom"` property

      "zoom"                     gfloat                : Read / Write

How much the resulted image will be zoomed.

Allowed values: [1,10]

Default value: 1