CheeseCameraDeviceMonitor

CheeseCameraDeviceMonitor — Simple object to enumerate video devices

Stability Level

Unstable, unless otherwise indicated

Signals

void added Action
void removed Action

Object Hierarchy

    GObject
    ╰── CheeseCameraDeviceMonitor

Implemented Interfaces

CheeseCameraDeviceMonitor implements GInitable and GAsyncInitable.

Includes

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

Description

CheeseCameraDeviceMonitor provides a basic interface for video device enumeration and hotplugging.

It uses GstDeviceMonitor to list video devices. It is also capable to monitor device plugging and emit a CheeseCameraDeviceMonitor::added or CheeseCameraDeviceMonitor::removed signal when an event happens.

Functions

cheese_camera_device_monitor_new ()

CheeseCameraDeviceMonitor *
cheese_camera_device_monitor_new (void);

Returns a new CheeseCameraDeviceMonitor object. The initialization may block. See cheese_camera_device_monitor_new_async() for the asynchronous version.

Returns

a new CheeseCameraDeviceMonitor object.


cheese_camera_device_monitor_new_async ()

void
cheese_camera_device_monitor_new_async
                               (GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

Creates a new CheeseCameraDeviceMonitor object asynchronously. Callback will be called when it is done. Use cheese_camera_device_monitor_new_finish() to get the result.

See cheese_camera_device_monitor_new() for the synchronous version.

Parameters

cancellable

a GCancellable or NULL

 

callback

a GAsyncReadyCallback to call when the initialization is finished

 

user_data

user data to pass to callback

 

cheese_camera_device_monitor_new_finish ()

CheeseCameraDeviceMonitor *
cheese_camera_device_monitor_new_finish
                               (GAsyncResult *result,
                                GError **error);

Finishes creating a new CheeseCameraDeviceMonitor object.

Parameters

result

the GAsyncResult from the callback

 

error

return location for errors, or NULL to ignore

 

Returns

a new CheeseCameraDeviceMonitor object or NULL if error is set.


cheese_camera_device_monitor_coldplug ()

void
cheese_camera_device_monitor_coldplug (CheeseCameraDeviceMonitor *monitor);

Enumerate plugged in cameras and emit ::added for those which already exist. This is only required when your program starts, so be sure to connect to at least the ::added signal before calling this function.

Parameters

Types and Values

struct CheeseCameraDeviceMonitorClass

struct CheeseCameraDeviceMonitorClass {
  void (*added)   (CheeseCameraDeviceMonitor *monitor,
                   CheeseCameraDevice        *device);
  void (*removed) (CheeseCameraDeviceMonitor *monitor,
                   CheeseCameraDevice        *device);
};

Class for CheeseCameraDeviceMonitor.

Members

added ()

invoked when a new video capture device is connected

 

removed ()

invoked when a video capture device is removed

 

struct CheeseCameraDeviceMonitor

struct CheeseCameraDeviceMonitor;

Use the accessor functions below.

Signal Details

The “added” signal

void
user_function (CheeseCameraDeviceMonitor *monitor,
               CheeseCameraDevice        *device,
               gpointer                   user_data)

The ::added signal is emitted when a camera is added, or on start-up after cheese_camera_device_monitor_coldplug() is called.

Parameters

monitor

the CheeseCameraDeviceMonitor that emitted the signal

 

device

a new CheeseCameraDevice representing the video capture device

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “removed” signal

void
user_function (CheeseCameraDeviceMonitor *monitor,
               CheeseCameraDevice        *device,
               gpointer                   user_data)

The ::removed signal is emitted when a camera is unplugged, or disabled on the system.

Parameters

monitor

the CheeseCameraDeviceMonitor that emitted the signal

 

device

the CheeseCameraDevice that was removed

 

user_data

user data set when the signal handler was connected.

 

Flags: Action