CheeseCameraDevice

CheeseCameraDevice — Object to represent a video capture device

Stability Level

Unstable, unless otherwise indicated

Functions

Properties

gchar * device-node Read / Write / Construct Only
gchar * name Read / Write / Construct Only
gchar * uuid Read / Write / Construct Only
guint v4l-api-version Read / Write / Construct Only

Types and Values

Object Hierarchy

    GBoxed
    ╰── CheeseVideoFormat
    GObject
    ╰── CheeseCameraDevice

Implemented Interfaces

CheeseCameraDevice implements GInitable.

Includes

#include <cheese/cheese-camera-device.h>

Description

CheeseCameraDevice provides an abstraction of a video capture device.

Functions

cheese_camera_device_new ()

CheeseCameraDevice *
cheese_camera_device_new (const gchar *uuid,
                          const gchar *device_node,
                          const gchar *name,
                          guint v4l_api_version,
                          GError **error);

Tries to create a new CheeseCameraDevice with the supplied parameters. If construction fails, NULL is returned, and error is set.

Parameters

uuid

UUID of the device, as supplied by udev

 

device_node

path to the device node of the video capture device.

[type filename]

name

human-readable name of the device, as supplied by udev

 

v4l_api_version

version of the Video4Linux API that the device uses. Currently either 1 or 2

 

error

a location to store errors

 

Returns

a new CheeseCameraDevice, or NULL


cheese_camera_device_get_name ()

const gchar *
cheese_camera_device_get_name (CheeseCameraDevice *device);

Get a human-readable name for the device, as reported by udev, which is suitable for display to a user.

Parameters

device

a CheeseCameraDevice

 

Returns

the human-readable name of the video capture device.

[transfer none]


cheese_camera_device_get_uuid ()

const gchar *
cheese_camera_device_get_uuid (CheeseCameraDevice *device);

Get the UUID of the device , as reported by udev.

Parameters

device

a CheeseCameraDevice

 

Returns

the UUID of the video capture device.

[transfer none]


cheese_camera_device_get_device_node ()

const gchar *
cheese_camera_device_get_device_node (CheeseCameraDevice *device);

Get the path to the device node associated with the device .

Parameters

device

a CheeseCameraDevice

 

Returns

the path to the device node of the video capture device.

[transfer none]


cheese_camera_device_get_best_format ()

CheeseVideoFormat *
cheese_camera_device_get_best_format (CheeseCameraDevice *device);

Get the CheeseVideoFormat with the highest resolution with a width greater than 640 pixels and a framerate of greater than 15 FPS for this device . If no such format is found, get the highest available resolution instead.

Parameters

device

a CheeseCameraDevice

 

Returns

the highest-resolution supported CheeseVideoFormat.

[transfer full]


cheese_camera_device_get_caps_for_format ()

GstCaps *
cheese_camera_device_get_caps_for_format
                               (CheeseCameraDevice *device,
                                CheeseVideoFormat *format);

Get the GstCaps for the given format on the device .

Parameters

device

a CheeseCameraDevice

 

format

a CheeseVideoFormat

 

Returns

the GstCaps for the given format .

[transfer full]


cheese_camera_device_get_format_list ()

GList *
cheese_camera_device_get_format_list (CheeseCameraDevice *device);

Get the sorted list of CheeseVideoFormat that the device supports.

Parameters

device

a CheeseCameraDevice

 

Returns

list of CheeseVideoFormat.

[element-type Cheese.VideoFormat][transfer container]


cheese_camera_device_get_src ()

const gchar *
cheese_camera_device_get_src (CheeseCameraDevice *device);

Get the name of the source GStreamer element for the device . Currently, this will be either v4lsrc or v4l2src, depending on the version of the Video4Linux API that the device supports.

Parameters

device

a CheeseCameraDevice

 

Returns

the name of the source GStreamer element.

[transfer none]

Types and Values

struct CheeseCameraDevice

struct CheeseCameraDevice;

Use the accessor functions below.


struct CheeseVideoFormat

struct CheeseVideoFormat {
  gint width;
  gint height;
};

A description of the resolution, in pixels, of the format to capture with a CheeseCameraDevice.

Members

gint width;

the width of of the video, in pixels

 

gint height;

the height of the video, in pixels

 

Property Details

The “device-node” property

  “device-node”              gchar *

Path to the device node of the video capture device.

Flags: Read / Write / Construct Only

Default value: NULL


The “name” property

  “name”                     gchar *

Human-readable name of the video capture device, for display to the user.

Flags: Read / Write / Construct Only

Default value: NULL


The “uuid” property

  “uuid”                     gchar *

UUID of the video capture device.

Flags: Read / Write / Construct Only

Default value: NULL


The “v4l-api-version” property

  “v4l-api-version”          guint

Version of the Video4Linux API that the device supports. Currently, either 1 or 2 are supported.

Flags: Read / Write / Construct Only

Allowed values: [1,2]

Default value: 2