ClutterGstCamera

ClutterGstCamera — A player of camera streams.

Synopsis

struct              ClutterGstCamera;
struct              ClutterGstCameraClass;
ClutterGstCamera *  clutter_gst_camera_new              (void);
gboolean            clutter_gst_camera_get_brightness   (ClutterGstCamera *self,
                                                         gdouble *cur_value);
gboolean            clutter_gst_camera_get_brightness_range
                                                        (ClutterGstCamera *self,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);
ClutterGstCameraDevice * clutter_gst_camera_get_camera_device
                                                        (ClutterGstCamera *self);
gboolean            clutter_gst_camera_get_color_balance_property
                                                        (ClutterGstCamera *self,
                                                         const gchar *property,
                                                         gdouble *cur_value);
gboolean            clutter_gst_camera_get_color_balance_property_range
                                                        (ClutterGstCamera *self,
                                                         const gchar *property,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);
gboolean            clutter_gst_camera_get_contrast     (ClutterGstCamera *self,
                                                         gdouble *cur_value);
gboolean            clutter_gst_camera_get_contrast_range
                                                        (ClutterGstCamera *self,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);
GstElement *        clutter_gst_camera_get_filter       (ClutterGstCamera *self);
gboolean            clutter_gst_camera_get_gamma        (ClutterGstCamera *self,
                                                         gdouble *cur_value);
gboolean            clutter_gst_camera_get_gamma_range  (ClutterGstCamera *self,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);
gboolean            clutter_gst_camera_get_hue          (ClutterGstCamera *self,
                                                         gdouble *cur_value);
gboolean            clutter_gst_camera_get_hue_range    (ClutterGstCamera *self,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);
gboolean            clutter_gst_camera_get_saturation   (ClutterGstCamera *self,
                                                         gdouble *cur_value);
gboolean            clutter_gst_camera_get_saturation_range
                                                        (ClutterGstCamera *self,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);
gboolean            clutter_gst_camera_is_ready_for_capture
                                                        (ClutterGstCamera *self);
gboolean            clutter_gst_camera_is_recording_video
                                                        (ClutterGstCamera *self);
gboolean            clutter_gst_camera_remove_filter    (ClutterGstCamera *self);
gboolean            clutter_gst_camera_set_brightness   (ClutterGstCamera *self,
                                                         gdouble value);
gboolean            clutter_gst_camera_set_camera_device
                                                        (ClutterGstCamera *self,
                                                         ClutterGstCameraDevice *device);
gboolean            clutter_gst_camera_set_color_balance_property
                                                        (ClutterGstCamera *self,
                                                         const gchar *property,
                                                         gdouble value);
gboolean            clutter_gst_camera_set_contrast     (ClutterGstCamera *self,
                                                         gdouble value);
gboolean            clutter_gst_camera_set_filter       (ClutterGstCamera *self,
                                                         GstElement *filter);
gboolean            clutter_gst_camera_set_gamma        (ClutterGstCamera *self,
                                                         gdouble value);
gboolean            clutter_gst_camera_set_hue          (ClutterGstCamera *self,
                                                         gdouble value);
void                clutter_gst_camera_set_photo_profile
                                                        (ClutterGstCamera *self,
                                                         GstEncodingProfile *profile);
gboolean            clutter_gst_camera_set_saturation   (ClutterGstCamera *self,
                                                         gdouble value);
void                clutter_gst_camera_set_video_profile
                                                        (ClutterGstCamera *self,
                                                         GstEncodingProfile *profile);
gboolean            clutter_gst_camera_start_video_recording
                                                        (ClutterGstCamera *self,
                                                         const gchar *filename);
void                clutter_gst_camera_stop_video_recording
                                                        (ClutterGstCamera *self);
gboolean            clutter_gst_camera_supports_color_balance
                                                        (ClutterGstCamera *self);
gboolean            clutter_gst_camera_supports_gamma_correction
                                                        (ClutterGstCamera *self);
gboolean            clutter_gst_camera_take_photo       (ClutterGstCamera *self,
                                                         const gchar *filename);
gboolean            clutter_gst_camera_take_photo_pixbuf
                                                        (ClutterGstCamera *self);

Object Hierarchy

  GObject
   +----ClutterGstCamera

Implemented Interfaces

ClutterGstCamera implements ClutterGstPlayer.

Properties

  "device"                   ClutterGstCameraDevice*  : Read / Write

Signals

  "photo-saved"                                    : Action
  "photo-taken"                                    : Action
  "ready-for-capture"                              : Run Last
  "video-saved"                                    : Action

Description

ClutterGstCamera implements the ClutterGstPlayer interface and plays camera streams.

Details

struct ClutterGstCamera

struct ClutterGstCamera;

Implementation of ClutterGstPlayer that displays camera streams using GStreamer.

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


struct ClutterGstCameraClass

struct ClutterGstCameraClass {
};

Base class for ClutterGstCamera.


clutter_gst_camera_new ()

ClutterGstCamera *  clutter_gst_camera_new              (void);

Create a camera actor.

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 camera actor

clutter_gst_camera_get_brightness ()

gboolean            clutter_gst_camera_get_brightness   (ClutterGstCamera *self,
                                                         gdouble *cur_value);


clutter_gst_camera_get_brightness_range ()

gboolean            clutter_gst_camera_get_brightness_range
                                                        (ClutterGstCamera *self,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);


clutter_gst_camera_get_camera_device ()

ClutterGstCameraDevice * clutter_gst_camera_get_camera_device
                                                        (ClutterGstCamera *self);

Retrieve the current selected camera device.

self :

a ClutterGstCamera

Returns :

The currently selected camera device. [transfer none]

clutter_gst_camera_get_color_balance_property ()

gboolean            clutter_gst_camera_get_color_balance_property
                                                        (ClutterGstCamera *self,
                                                         const gchar *property,
                                                         gdouble *cur_value);

Retrieve the current value for the color balance property property,

This method will return FALSE if property does not exist or color balance is not supported on self. See clutter_gst_camera_supports_color_balance().

self :

a ClutterGstCamera

property :

Property name

cur_value :

Pointer to store the current value of property

Returns :

TRUE if successful, FALSE otherwise

clutter_gst_camera_get_color_balance_property_range ()

gboolean            clutter_gst_camera_get_color_balance_property_range
                                                        (ClutterGstCamera *self,
                                                         const gchar *property,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);

Retrieve the minimum, maximum and default values for the color balance property property,

This method will return FALSE if property does not exist or color balance is not supported on self. See clutter_gst_camera_supports_color_balance().

self :

a ClutterGstCamera

property :

Property name

min_value :

Pointer to store the minimum value of property, or NULL

max_value :

Pointer to store the maximum value of property, or NULL

default_value :

Pointer to store the default value of property, or NULL

Returns :

TRUE if successful, FALSE otherwise

clutter_gst_camera_get_contrast ()

gboolean            clutter_gst_camera_get_contrast     (ClutterGstCamera *self,
                                                         gdouble *cur_value);


clutter_gst_camera_get_contrast_range ()

gboolean            clutter_gst_camera_get_contrast_range
                                                        (ClutterGstCamera *self,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);


clutter_gst_camera_get_filter ()

GstElement *        clutter_gst_camera_get_filter       (ClutterGstCamera *self);

Retrieve the current filter being used.

self :

a ClutterGstCamera

Returns :

The current filter or NULL if none is set. [transfer none]

clutter_gst_camera_get_gamma ()

gboolean            clutter_gst_camera_get_gamma        (ClutterGstCamera *self,
                                                         gdouble *cur_value);

Retrieve the current gamma value.

This method will return FALSE if gamma correction is not supported on self. See clutter_gst_camera_supports_gamma_correction().

self :

a ClutterGstCamera

cur_value :

Pointer to store the current gamma value

Returns :

TRUE if successful, FALSE otherwise

clutter_gst_camera_get_gamma_range ()

gboolean            clutter_gst_camera_get_gamma_range  (ClutterGstCamera *self,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);

Retrieve the minimum, maximum and default gamma values.

This method will return FALSE if gamma correction is not supported on self. See clutter_gst_camera_supports_gamma_correction().

self :

a ClutterGstCamera

min_value :

Pointer to store the minimum gamma value, or NULL

max_value :

Pointer to store the maximum gamma value, or NULL

default_value :

Pointer to store the default gamma value, or NULL

Returns :

TRUE if successful, FALSE otherwise

clutter_gst_camera_get_hue ()

gboolean            clutter_gst_camera_get_hue          (ClutterGstCamera *self,
                                                         gdouble *cur_value);


clutter_gst_camera_get_hue_range ()

gboolean            clutter_gst_camera_get_hue_range    (ClutterGstCamera *self,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);


clutter_gst_camera_get_saturation ()

gboolean            clutter_gst_camera_get_saturation   (ClutterGstCamera *self,
                                                         gdouble *cur_value);


clutter_gst_camera_get_saturation_range ()

gboolean            clutter_gst_camera_get_saturation_range
                                                        (ClutterGstCamera *self,
                                                         gdouble *min_value,
                                                         gdouble *max_value,
                                                         gdouble *default_value);


clutter_gst_camera_is_ready_for_capture ()

gboolean            clutter_gst_camera_is_ready_for_capture
                                                        (ClutterGstCamera *self);

Check whether the self is ready for video/photo capture.

self :

a ClutterGstCamera

Returns :

TRUE if self is ready for capture, FALSE otherwise

clutter_gst_camera_is_recording_video ()

gboolean            clutter_gst_camera_is_recording_video
                                                        (ClutterGstCamera *self);

Check whether the self is recording video.

self :

a ClutterGstCamera

Returns :

TRUE if self is recording video, FALSE otherwise

clutter_gst_camera_remove_filter ()

gboolean            clutter_gst_camera_remove_filter    (ClutterGstCamera *self);

Remove the current filter, if any.

self :

a ClutterGstCamera

Returns :

TRUE on success, FALSE otherwise

clutter_gst_camera_set_brightness ()

gboolean            clutter_gst_camera_set_brightness   (ClutterGstCamera *self,
                                                         gdouble value);


clutter_gst_camera_set_camera_device ()

gboolean            clutter_gst_camera_set_camera_device
                                                        (ClutterGstCamera *self,
                                                         ClutterGstCameraDevice *device);

Set the new active camera device.

self :

a ClutterGstCamera

device :

a ClutterGstCameraDevice

Returns :

TRUE on success, FALSE otherwise

clutter_gst_camera_set_color_balance_property ()

gboolean            clutter_gst_camera_set_color_balance_property
                                                        (ClutterGstCamera *self,
                                                         const gchar *property,
                                                         gdouble value);

Set the value for the color balance property property to value. Allowed values can be retrieved with clutter_gst_camera_get_color_balance_property_range().

This method will return FALSE if property does not exist or color balance is not supported on self. See clutter_gst_camera_supports_color_balance().

self :

a ClutterGstCamera

property :

Property name

value :

The value to set

Returns :

TRUE if successful, FALSE otherwise

clutter_gst_camera_set_contrast ()

gboolean            clutter_gst_camera_set_contrast     (ClutterGstCamera *self,
                                                         gdouble value);


clutter_gst_camera_set_filter ()

gboolean            clutter_gst_camera_set_filter       (ClutterGstCamera *self,
                                                         GstElement *filter);

Set the filter element to be used. Filters can be used for effects, image processing, etc.

self :

a ClutterGstCamera

filter :

a GstElement for the filter

Returns :

TRUE on success, FALSE otherwise

clutter_gst_camera_set_gamma ()

gboolean            clutter_gst_camera_set_gamma        (ClutterGstCamera *self,
                                                         gdouble value);

Set the gamma value. Allowed values can be retrieved with clutter_gst_camera_get_gamma_range().

This method will return FALSE if gamma correction is not supported on self. See clutter_gst_camera_supports_gamma_correction().

self :

a ClutterGstCamera

value :

The value to set

Returns :

TRUE if successful, FALSE otherwise

clutter_gst_camera_set_hue ()

gboolean            clutter_gst_camera_set_hue          (ClutterGstCamera *self,
                                                         gdouble value);


clutter_gst_camera_set_photo_profile ()

void                clutter_gst_camera_set_photo_profile
                                                        (ClutterGstCamera *self,
                                                         GstEncodingProfile *profile);

Set the encoding profile to be used for photo captures. The default profile saves photos as JPEG images.

self :

a ClutterGstCamera

profile :

A GstEncodingProfile to be used for photo captures.

clutter_gst_camera_set_saturation ()

gboolean            clutter_gst_camera_set_saturation   (ClutterGstCamera *self,
                                                         gdouble value);


clutter_gst_camera_set_video_profile ()

void                clutter_gst_camera_set_video_profile
                                                        (ClutterGstCamera *self,
                                                         GstEncodingProfile *profile);

Set the encoding profile to be used for video recording. The default profile saves videos as Ogg/Theora videos.

self :

a ClutterGstCamera

profile :

A GstEncodingProfile to be used for video recording.

clutter_gst_camera_start_video_recording ()

gboolean            clutter_gst_camera_start_video_recording
                                                        (ClutterGstCamera *self,
                                                         const gchar *filename);

Start a video recording with the self and save it to filename. This method requires that self is playing and ready for capture.

The ::video-saved signal will be emitted when the video is saved.

self :

a ClutterGstCamera

filename :

the name of the video file to where the recording will be saved. [type filename]

Returns :

TRUE if the video recording was successfully started, FALSE otherwise

clutter_gst_camera_stop_video_recording ()

void                clutter_gst_camera_stop_video_recording
                                                        (ClutterGstCamera *self);

Stop recording video on the self.

self :

a ClutterGstCamera

clutter_gst_camera_supports_color_balance ()

gboolean            clutter_gst_camera_supports_color_balance
                                                        (ClutterGstCamera *self);

Check whether the self supports color balance.

self :

a ClutterGstCamera

Returns :

TRUE if self supports color balance, FALSE otherwise

clutter_gst_camera_supports_gamma_correction ()

gboolean            clutter_gst_camera_supports_gamma_correction
                                                        (ClutterGstCamera *self);

Check whether the self supports gamma correction.

self :

a ClutterGstCamera

Returns :

TRUE if self supports gamma correction, FALSE otherwise

clutter_gst_camera_take_photo ()

gboolean            clutter_gst_camera_take_photo       (ClutterGstCamera *self,
                                                         const gchar *filename);

Take a photo with the self and save it to filename. This method requires that self is playing and ready for capture.

The ::photo-saved signal will be emitted when the video is saved.

self :

a ClutterGstCamera

filename :

the name of the file to where the photo will be saved. [type filename]

Returns :

TRUE if the photo was successfully captured, FALSE otherwise

clutter_gst_camera_take_photo_pixbuf ()

gboolean            clutter_gst_camera_take_photo_pixbuf
                                                        (ClutterGstCamera *self);

Take a photo with the self and emit it in the ::photo-taken signal as a GdkPixbuf. This method requires that self is playing and ready for capture.

self :

a ClutterGstCamera

Returns :

TRUE if the photo was successfully captured, FALSE otherwise

Property Details

The "device" property

  "device"                   ClutterGstCameraDevice*  : Read / Write

Camera Device.

Signal Details

The "photo-saved" signal

void                user_function                      (ClutterGstCamera *self,
                                                        gpointer          user_data)      : Action

The ::photo-saved signal is emitted when a photo was saved to disk.

self :

the actor which received the signal

user_data :

user data set when the signal handler was connected.

The "photo-taken" signal

void                user_function                      (ClutterGstCamera *self,
                                                        GdkPixbuf        *pixbuf,
                                                        gpointer          user_data)      : Action

The ::photo-taken signal is emitted when a photo was taken.

self :

the actor which received the signal

pixbuf :

the photo taken as a GdkPixbuf

user_data :

user data set when the signal handler was connected.

The "ready-for-capture" signal

void                user_function                      (ClutterGstCamera *self,
                                                        gboolean          ready,
                                                        gpointer          user_data)      : Run Last

The ::ready-for-capture signal is emitted whenever the value of clutter_gst_camera_is_ready_for_capture changes.

self :

the actor which received the signal

ready :

whether the self is ready for a new capture

user_data :

user data set when the signal handler was connected.

The "video-saved" signal

void                user_function                      (ClutterGstCamera *self,
                                                        gpointer          user_data)      : Action

The ::video-saved signal is emitted when a video was saved to disk.

self :

the actor which received the signal

user_data :

user data set when the signal handler was connected.