GstPhotography

GstPhotography — Interface for digital image capture elements

Stability Level

Unstable, unless otherwise indicated

Synopsis

                    GstPhotography;
enum                GstPhotographyNoiseReduction;
enum                GstPhotographyWhiteBalanceMode;
enum                GstPhotographyColorToneMode;
enum                GstPhotographySceneMode;
enum                GstPhotographyFlashMode;
enum                GstPhotographyFlickerReductionMode;
enum                GstPhotographyFocusMode;
enum                GstPhotographyFocusStatus;
enum                GstPhotographyCaps;
enum                GstPhotographyShakeRisk;
void                (*GstPhotographyCapturePrepared)    (gpointer data,
                                                         const GstCaps *configured_caps);
#define             GST_PHOTOGRAPHY_AUTOFOCUS_DONE
#define             GST_PHOTOGRAPHY_SHAKE_RISK
#define             GST_PHOTOGRAPHY_PROP_WB_MODE
#define             GST_PHOTOGRAPHY_PROP_SCENE_MODE
#define             GST_PHOTOGRAPHY_PROP_FLASH_MODE
#define             GST_PHOTOGRAPHY_PROP_NOISE_REDUCTION
#define             GST_PHOTOGRAPHY_PROP_FOCUS_STATUS
#define             GST_PHOTOGRAPHY_PROP_CAPABILITIES
#define             GST_PHOTOGRAPHY_PROP_SHAKE_RISK
#define             GST_PHOTOGRAPHY_PROP_EV_COMP
#define             GST_PHOTOGRAPHY_PROP_ISO_SPEED
#define             GST_PHOTOGRAPHY_PROP_APERTURE
#define             GST_PHOTOGRAPHY_PROP_IMAGE_CAPTURE_SUPPORTED_CAPS
#define             GST_PHOTOGRAPHY_PROP_IMAGE_PREVIEW_SUPPORTED_CAPS
#define             GST_PHOTOGRAPHY_PROP_FLICKER_MODE
#define             GST_PHOTOGRAPHY_PROP_FOCUS_MODE
#define             GST_PHOTOGRAPHY_PROP_ZOOM
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,
                                                         GstPhotographyWhiteBalanceMode *wb_mode);
gboolean            gst_photography_get_color_tone_mode (GstPhotography *photo,
                                                         GstPhotographyColorToneMode *tone_mode);
gboolean            gst_photography_get_scene_mode      (GstPhotography *photo,
                                                         GstPhotographySceneMode *scene_mode);
gboolean            gst_photography_get_flash_mode      (GstPhotography *photo,
                                                         GstPhotographyFlashMode *flash_mode);
gboolean            gst_photography_get_flicker_mode    (GstPhotography *photo,
                                                         GstPhotographyFlickerReductionMode *mode);
gboolean            gst_photography_get_focus_mode      (GstPhotography *photo,
                                                         GstPhotographyFocusMode *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,
                                                         GstPhotographyWhiteBalanceMode wb_mode);
gboolean            gst_photography_set_color_tone_mode (GstPhotography *photo,
                                                         GstPhotographyColorToneMode tone_mode);
gboolean            gst_photography_set_scene_mode      (GstPhotography *photo,
                                                         GstPhotographySceneMode scene_mode);
gboolean            gst_photography_set_flash_mode      (GstPhotography *photo,
                                                         GstPhotographyFlashMode flash_mode);
gboolean            gst_photography_set_flicker_mode    (GstPhotography *photo,
                                                         GstPhotographyFlickerReductionMode mode);
gboolean            gst_photography_set_focus_mode      (GstPhotography *photo,
                                                         GstPhotographyFocusMode mode);
gboolean            gst_photography_set_noise_reduction (GstPhotography *photo,
                                                         GstPhotographyNoiseReduction noise_reduction);
gboolean            gst_photography_set_zoom            (GstPhotography *photo,
                                                         gfloat zoom);
GstPhotographyCaps  gst_photography_get_capabilities    (GstPhotography *photo);
gboolean            gst_photography_prepare_for_capture (GstPhotography *photo,
                                                         GstPhotographyCapturePrepared func,
                                                         GstCaps *capture_caps,
                                                         gpointer user_data);
void                gst_photography_set_autofocus       (GstPhotography *photo,
                                                         gboolean on);
gboolean            gst_photography_set_config          (GstPhotography *photo,
                                                         GstPhotographySettings *config);
gboolean            gst_photography_get_config          (GstPhotography *photo,
                                                         GstPhotographySettings *config);

Description

The interface allows access to some common digital image capture parameters.

Note

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

Details

GstPhotography

typedef struct _GstPhotography GstPhotography;

Opaque GstPhotography data structure.


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;

Noise Reduction features of a photography capture or filter element.

GST_PHOTOGRAPHY_NOISE_REDUCTION_BAYER

Adaptive noise reduction on Bayer format

GST_PHOTOGRAPHY_NOISE_REDUCTION_YCC

reduces the noise on Y and 2-chroma images.

GST_PHOTOGRAPHY_NOISE_REDUCTION_TEMPORAL

Multi-frame adaptive NR, provided for the video mode

GST_PHOTOGRAPHY_NOISE_REDUCTION_FIXED

Fixed Pattern Noise refers to noise that does not change between frames. The noise is removed from the sensor image, by subtracting a previously-captured black image in memory.

GST_PHOTOGRAPHY_NOISE_REDUCTION_EXTRA

Extra Noise Reduction. In the case of high-ISO capturing, some noise remains after YCC NR. XNR reduces this remaining noise.

enum GstPhotographyWhiteBalanceMode

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,
  GST_PHOTOGRAPHY_WB_MODE_MANUAL,
  GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT,
  GST_PHOTOGRAPHY_WB_MODE_SHADE
} GstPhotographyWhiteBalanceMode;

Modes for white balance control.

GST_PHOTOGRAPHY_WB_MODE_AUTO

Choose white balance mode automatically

GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT

Mode for daylight conditions

GST_PHOTOGRAPHY_WB_MODE_CLOUDY

Mode for cloudy conditions

GST_PHOTOGRAPHY_WB_MODE_SUNSET

Mode for sunset conditions

GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN

Mode for tungsten lighting

GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT

Mode for fluorescent lighting

GST_PHOTOGRAPHY_WB_MODE_MANUAL

Disable automatic white balance adjustment and keep current values.

GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT

Mode for warm fluorescent lighting (Since 1.2)

GST_PHOTOGRAPHY_WB_MODE_SHADE

Mode for shade lighting (Since 1.2)

enum GstPhotographyColorToneMode

typedef enum {
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL = 0,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD,
  GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA
} GstPhotographyColorToneMode;

Modes for special color effects.

GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL

No effects

GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA

Sepia

GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE

Negative

GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE

Grayscale

GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL

Natural

GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID

Vivid

GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP

Colorswap

GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE

Solarize

GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS

Out of focus

GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE

Sky blue

GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN

Grass green

GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN

Skin whiten

GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE

Posterize (Since 1.2)

GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD

Whiteboard (Since 1.2)

GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD

Blackboard (Since 1.2)

GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA

Aqua (Since 1.2)

enum GstPhotographySceneMode

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,
  GST_PHOTOGRAPHY_SCENE_MODE_ACTION,
  GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT,
  GST_PHOTOGRAPHY_SCENE_MODE_THEATRE,
  GST_PHOTOGRAPHY_SCENE_MODE_BEACH,
  GST_PHOTOGRAPHY_SCENE_MODE_SNOW,
  GST_PHOTOGRAPHY_SCENE_MODE_SUNSET,
  GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO,
  GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS,
  GST_PHOTOGRAPHY_SCENE_MODE_PARTY,
  GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT,
  GST_PHOTOGRAPHY_SCENE_MODE_BARCODE
} GstPhotographySceneMode;

Each mode contains preset GstPhotography options in order to produce good capturing result in certain scene.

GST_PHOTOGRAPHY_SCENE_MODE_MANUAL

Set individual options manually

GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP

Mode for close objects

GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT

Mode for portraits

GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE

Mode for landscapes

GST_PHOTOGRAPHY_SCENE_MODE_SPORT

Mode for scene with fast motion

GST_PHOTOGRAPHY_SCENE_MODE_NIGHT

Mode for night conditions

GST_PHOTOGRAPHY_SCENE_MODE_AUTO

Choose scene mode automatically

GST_PHOTOGRAPHY_SCENE_MODE_ACTION

Take photos of fast moving objects (Since 1.2)

GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT

Take people pictures at night (Since 1.2)

GST_PHOTOGRAPHY_SCENE_MODE_THEATRE

Take photos in a theater (Since 1.2)

GST_PHOTOGRAPHY_SCENE_MODE_BEACH

Take pictures on the beach (Since 1.2)

GST_PHOTOGRAPHY_SCENE_MODE_SNOW

Take pictures on the snow (Since 1.2)

GST_PHOTOGRAPHY_SCENE_MODE_SUNSET

Take sunset photos (Since 1.2)

GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO

Avoid blurry pictures (for example, due to hand shake) (Since 1.2)

GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS

For shooting firework displays (Since 1.2)

GST_PHOTOGRAPHY_SCENE_MODE_PARTY

Take indoor low-light shot (Since 1.2)

GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT

Capture the naturally warm color of scenes lit by candles (Since 1.2)

GST_PHOTOGRAPHY_SCENE_MODE_BARCODE

Applications are looking for a barcode (Since 1.2)

enum GstPhotographyFlashMode

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
} GstPhotographyFlashMode;

Modes for flash control.

GST_PHOTOGRAPHY_FLASH_MODE_AUTO

Fire flash automatically according to lighting conditions.

GST_PHOTOGRAPHY_FLASH_MODE_OFF

Never fire flash

GST_PHOTOGRAPHY_FLASH_MODE_ON

Always fire flash

GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN

Fill in flash

GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE

Flash mode for reducing chance of capturing red eyes

enum GstPhotographyFlickerReductionMode

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

Reduce flicker in video caused by light source fluctuation.

GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF

Disable flicker reduction

GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ

50Hz flicker reduction

GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ

60Hz flicker reduction

GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO

Choose mode automatically

enum GstPhotographyFocusMode

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,
    GST_PHOTOGRAPHY_FOCUS_MODE_MANUAL
} GstPhotographyFocusMode;

Choose mode for focusing algorithm.

GST_PHOTOGRAPHY_FOCUS_MODE_AUTO

Choose focus mode automatically

GST_PHOTOGRAPHY_FOCUS_MODE_MACRO

Mode for focusing objects close to lens

GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT

Mode for portraits

GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY

Mode for landscapes and far away objects

GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL

Mode for maximum depth of field, keeping focus acceptable both in infinify and as close objects as possible

GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED

Extended focus mode

GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL

Continuous autofocus mode

GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED

Extended continuous autofocus mode

GST_PHOTOGRAPHY_FOCUS_MODE_MANUAL

Disable automatic focusing and keep current value. "lens-focus" property can be used to change focus manually.

enum GstPhotographyFocusStatus

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

Status of the focusing operation, used in GST_PHOTOGRAPHY_AUTOFOCUS_DONE message.

GST_PHOTOGRAPHY_FOCUS_STATUS_NONE

No status available

GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING

Focusing is ongoing

GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL

Focusing failed

GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS

Focusing succeeded

enum GstPhotographyCaps

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_WHITE_BALANCE = (1 << 11),
  GST_PHOTOGRAPHY_CAPS_NOISE_REDUCTION = (1 << 12),
  GST_PHOTOGRAPHY_CAPS_FLICKER_REDUCTION = (1 << 13),
  GST_PHOTOGRAPHY_CAPS_ALL = (~0)
} GstPhotographyCaps;

Bitmask that indicates which GstPhotography interface features an instance supports.

GST_PHOTOGRAPHY_CAPS_NONE

GST_PHOTOGRAPHY_CAPS_EV_COMP

GST_PHOTOGRAPHY_CAPS_ISO_SPEED

GST_PHOTOGRAPHY_CAPS_WB_MODE

GST_PHOTOGRAPHY_CAPS_TONE

GST_PHOTOGRAPHY_CAPS_SCENE

GST_PHOTOGRAPHY_CAPS_FLASH

GST_PHOTOGRAPHY_CAPS_ZOOM

GST_PHOTOGRAPHY_CAPS_FOCUS

GST_PHOTOGRAPHY_CAPS_APERTURE

GST_PHOTOGRAPHY_CAPS_EXPOSURE

GST_PHOTOGRAPHY_CAPS_SHAKE

GST_PHOTOGRAPHY_CAPS_WHITE_BALANCE

GST_PHOTOGRAPHY_CAPS_NOISE_REDUCTION

GST_PHOTOGRAPHY_CAPS_FLICKER_REDUCTION

GST_PHOTOGRAPHY_CAPS_ALL


enum GstPhotographyShakeRisk

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

Risk level of captured image becoming "shaken" due to camera movement and too long exposure time. Used in GST_PHOTOGRAPHY_SHAKE_RISK GstMessage.

GST_PHOTOGRAPHY_SHAKE_RISK_LOW

Low risk

GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM

Medium risk

GST_PHOTOGRAPHY_SHAKE_RISK_HIGH

High risk

GstPhotographyCapturePrepared ()

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

This callback will be called when the element has finished preparations and is ready for image capture. The next buffer that element produces will be of configured_caps format, so this callback allows the application to e.g. reconfigure capsfilters in pipeline if any.

data :

user data that has been given, when registering the callback

configured_caps :

GstCaps defining the configured capture format. Ownership of these caps stays in the element.

GST_PHOTOGRAPHY_AUTOFOCUS_DONE

#define GST_PHOTOGRAPHY_AUTOFOCUS_DONE "autofocus-done"

Name of custom GstMessage that will be posted to GstBus when autofocusing is complete. This message contains following fields:

  • GstPhotographyFocusStatus "status": Tells if focusing succeeded or failed.

  • G_TYPE_INT "focus-window-rows": Tells number of focus matrix rows.

  • G_TYPE_INT "focus-window-columns": Tells number of focus matrix columns.

  • G_TYPE_INT "focus-window-mask": Bitmask containing rows x columns bits which mark the focus points in the focus matrix. Lowest bit (LSB) always represents the top-left corner of the focus matrix. This field is only valid when focusing status is SUCCESS.


GST_PHOTOGRAPHY_SHAKE_RISK

#define GST_PHOTOGRAPHY_SHAKE_RISK "shake-risk"

Name of custom GstMessage that is posted to GstBus during autofocusing process. It is posted if there is change in the risk of captured image becoming "shaken" due to camera movement and too long exposure time.

This message contains following fields:


GST_PHOTOGRAPHY_PROP_WB_MODE

#define GST_PHOTOGRAPHY_PROP_WB_MODE      "white-balance-mode"

GST_PHOTOGRAPHY_PROP_SCENE_MODE

#define GST_PHOTOGRAPHY_PROP_SCENE_MODE   "scene-mode"

GST_PHOTOGRAPHY_PROP_FLASH_MODE

#define GST_PHOTOGRAPHY_PROP_FLASH_MODE   "flash-mode"

GST_PHOTOGRAPHY_PROP_NOISE_REDUCTION

#define GST_PHOTOGRAPHY_PROP_NOISE_REDUCTION   "noise-reduction"

GST_PHOTOGRAPHY_PROP_FOCUS_STATUS

#define GST_PHOTOGRAPHY_PROP_FOCUS_STATUS "focus-status"

GST_PHOTOGRAPHY_PROP_CAPABILITIES

#define GST_PHOTOGRAPHY_PROP_CAPABILITIES "capabilities"

GST_PHOTOGRAPHY_PROP_SHAKE_RISK

#define GST_PHOTOGRAPHY_PROP_SHAKE_RISK   "shake-risk"

GST_PHOTOGRAPHY_PROP_EV_COMP

#define GST_PHOTOGRAPHY_PROP_EV_COMP      "ev-compensation"

GST_PHOTOGRAPHY_PROP_ISO_SPEED

#define GST_PHOTOGRAPHY_PROP_ISO_SPEED    "iso-speed"

GST_PHOTOGRAPHY_PROP_APERTURE

#define GST_PHOTOGRAPHY_PROP_APERTURE     "aperture"

GST_PHOTOGRAPHY_PROP_IMAGE_CAPTURE_SUPPORTED_CAPS

#define             GST_PHOTOGRAPHY_PROP_IMAGE_CAPTURE_SUPPORTED_CAPS

GST_PHOTOGRAPHY_PROP_IMAGE_PREVIEW_SUPPORTED_CAPS

#define             GST_PHOTOGRAPHY_PROP_IMAGE_PREVIEW_SUPPORTED_CAPS

GST_PHOTOGRAPHY_PROP_FLICKER_MODE

#define GST_PHOTOGRAPHY_PROP_FLICKER_MODE "flicker-mode"

GST_PHOTOGRAPHY_PROP_FOCUS_MODE

#define GST_PHOTOGRAPHY_PROP_FOCUS_MODE   "focus-mode"

GST_PHOTOGRAPHY_PROP_ZOOM

#define GST_PHOTOGRAPHY_PROP_ZOOM   "zoom"

gst_photography_get_ev_compensation ()

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

Get the ev compensation value for the GstElement

photo :

GstPhotography interface of a GstElement

ev_comp :

ev compensation value to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_get_iso_speed ()

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

Get the ISO value (light sensivity) for the GstElement

photo :

GstPhotography interface of a GstElement

iso_speed :

ISO speed value to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_get_aperture ()

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

Get the aperture value for the GstElement

photo :

GstPhotography interface of a GstElement

aperture :

aperture value to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_get_exposure ()

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

Get the fixed exposure time (in us) for the GstElement

photo :

GstPhotography interface of a GstElement

exposure :

exposure time to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_get_white_balance_mode ()

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

Get the white balance mode for the GstElement

photo :

GstPhotography interface of a GstElement

wb_mode :

GstPhotographyWhiteBalanceMode to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_get_color_tone_mode ()

gboolean            gst_photography_get_color_tone_mode (GstPhotography *photo,
                                                         GstPhotographyColorToneMode *tone_mode);

Get the color tone mode for the GstElement

photo :

GstPhotography interface of a GstElement

tone_mode :

GstPhotographyColorToneMode to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_get_scene_mode ()

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

Get the scene mode for the GstElement

photo :

GstPhotography interface of a GstElement

scene_mode :

GstPhotographySceneMode to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_get_flash_mode ()

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

Get the flash mode for the GstElement

photo :

GstPhotography interface of a GstElement

flash_mode :

GstPhotographyFlashMode to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_get_flicker_mode ()

gboolean            gst_photography_get_flicker_mode    (GstPhotography *photo,
                                                         GstPhotographyFlickerReductionMode *mode);

Get the flicker mode value for the GstElement

photo :

GstPhotography interface of a GstElement

flicker_mode :

flicker mode value to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_get_focus_mode ()

gboolean            gst_photography_get_focus_mode      (GstPhotography *photo,
                                                         GstPhotographyFocusMode *mode);

Get the focus mode value for the GstElement

photo :

GstPhotography interface of a GstElement

focus_mode :

focus_mode value to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_get_noise_reduction ()

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

Get the noise reduction mode for the GstElement

photo :

GstPhotography interface of a GstElement

noise_reduction :

GstPhotographyNoiseReductionMode to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_get_zoom ()

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

Get the zoom value for the GstElement

photo :

GstPhotography interface of a GstElement

zoom :

zoom value to get

Returns :

TRUE if getting the value succeeded, FALSE otherwise

gst_photography_set_ev_compensation ()

gboolean            gst_photography_set_ev_compensation (GstPhotography *photo,
                                                         gfloat ev_comp);

Set the ev compensation value for the GstElement

photo :

GstPhotography interface of a GstElement

ev_comp :

ev compensation value to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_set_iso_speed ()

gboolean            gst_photography_set_iso_speed       (GstPhotography *photo,
                                                         guint iso_speed);

Set the ISO value (light sensivity) for the GstElement

photo :

GstPhotography interface of a GstElement

iso_speed :

ISO speed value to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_set_aperture ()

gboolean            gst_photography_set_aperture        (GstPhotography *photo,
                                                         guint aperture);

Set the aperture value for the GstElement

photo :

GstPhotography interface of a GstElement

aperture :

aperture value to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_set_exposure ()

gboolean            gst_photography_set_exposure        (GstPhotography *photo,
                                                         guint exposure);

Set the fixed exposure time (in us) for the GstElement

photo :

GstPhotography interface of a GstElement

exposure :

exposure time to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_set_white_balance_mode ()

gboolean            gst_photography_set_white_balance_mode
                                                        (GstPhotography *photo,
                                                         GstPhotographyWhiteBalanceMode wb_mode);

Set the white balance mode for the GstElement

photo :

GstPhotography interface of a GstElement

wb_mode :

GstPhotographyWhiteBalanceMode to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_set_color_tone_mode ()

gboolean            gst_photography_set_color_tone_mode (GstPhotography *photo,
                                                         GstPhotographyColorToneMode tone_mode);

Set the color tone mode for the GstElement

photo :

GstPhotography interface of a GstElement

tone_mode :

GstPhotographyColorToneMode to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_set_scene_mode ()

gboolean            gst_photography_set_scene_mode      (GstPhotography *photo,
                                                         GstPhotographySceneMode scene_mode);

Set the scene mode for the GstElement

photo :

GstPhotography interface of a GstElement

scene_mode :

GstPhotographySceneMode to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_set_flash_mode ()

gboolean            gst_photography_set_flash_mode      (GstPhotography *photo,
                                                         GstPhotographyFlashMode flash_mode);

Set the flash mode for the GstElement

photo :

GstPhotography interface of a GstElement

flash_mode :

GstPhotographyFlashMode to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_set_flicker_mode ()

gboolean            gst_photography_set_flicker_mode    (GstPhotography *photo,
                                                         GstPhotographyFlickerReductionMode mode);

Set the flicker mode value for the GstElement.

photo :

GstPhotography interface of a GstElement

flicker_mode :

flicker mode value to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_set_focus_mode ()

gboolean            gst_photography_set_focus_mode      (GstPhotography *photo,
                                                         GstPhotographyFocusMode mode);

Set the focus mode value for the GstElement.

photo :

GstPhotography interface of a GstElement

focus_mode :

focus mode value to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_set_noise_reduction ()

gboolean            gst_photography_set_noise_reduction (GstPhotography *photo,
                                                         GstPhotographyNoiseReduction noise_reduction);

Set the noise reduction mode for the GstElement

photo :

GstPhotography interface of a GstElement

noise_reduction :

GstPhotographyNoiseReductionMode to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_set_zoom ()

gboolean            gst_photography_set_zoom            (GstPhotography *photo,
                                                         gfloat zoom);

Set the zoom value for the GstElement. E.g. 1.0 to get original image and 3.0 for 3x zoom and so on.

photo :

GstPhotography interface of a GstElement

zoom :

zoom value to set

Returns :

TRUE if setting the value succeeded, FALSE otherwise

gst_photography_get_capabilities ()

GstPhotographyCaps  gst_photography_get_capabilities    (GstPhotography *photo);

Get GstPhotographyCaps bitmask value that indicates what photography interface features the GstElement supports

photo :

GstPhotography interface of a GstElement

Returns :

GstPhotographyCaps value

gst_photography_prepare_for_capture ()

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

Start preparations for capture. Preparations can take indeterminate amount of time and func callback is called after preparations are done. Image capture will begin after callback returns.

photo :

GstPhotography interface of a GstElement

func :

callback that is called after capturing has been prepared

capture_caps :

GstCaps defining the desired format of the captured image

user_data :

user data that will be passed to the callback func

Returns :

TRUE if preparations were started (caps were OK), otherwise FALSE.

gst_photography_set_autofocus ()

void                gst_photography_set_autofocus       (GstPhotography *photo,
                                                         gboolean on);

Start or stop autofocusing. GST_PHOTOGRAPHY_AUTOFOCUS_DONE message is posted to bus when autofocusing has finished.

photo :

GstPhotography interface of a GstElement

on :

TRUE to start autofocusing, FALSE to stop autofocusing

gst_photography_set_config ()

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

Set all configuration settings at once.

photo :

GstPhotography interface of a GstElement

config :

GstPhotographySettings containg the configuration

Returns :

TRUE if configuration was set successfully, otherwise FALSE.

gst_photography_get_config ()

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

Get all configuration settings at once.

photo :

GstPhotography interface of a GstElement

config :

GstPhotographySettings containg the configuration

Returns :

TRUE if configuration was got successfully, otherwise FALSE.