GstDevice

GstDevice — Object representing a device

Functions

Types and Values

struct GstDevice
struct GstDeviceClass

Includes

#include <gst/gst.h>

Description

GstDevice are objects representing a device, they contain relevant metadata about the device, such as its class and the GstCaps representing the media types it can produce or handle.

GstDevice are created by GstDeviceProvider objects which can be aggregated by GstDeviceMonitor objects.

Functions

gst_device_create_element ()

GstElement *
gst_device_create_element (GstDevice *device,
                           const gchar *name);

Creates the element with all of the required paramaters set to use this device.

Parameters

device

a GstDevice

 

name

name of new element, or NULL to automatically create a unique name.

[allow-none]

Returns

a new GstElement configured to use this device.

[transfer full]

Since 1.4


gst_device_get_caps ()

GstCaps *
gst_device_get_caps (GstDevice *device);

Getter for the GstCaps that this device supports.

Parameters

device

a GstDevice

 

Returns

The GstCaps supported by this device. Unref with gst_caps_unref() when done.

Since 1.4


gst_device_get_device_class ()

gchar *
gst_device_get_device_class (GstDevice *device);

Gets the "class" of a device. This is a "/" separated list of classes that represent this device. They are a subset of the classes of the GstDeviceProvider that produced this device.

Parameters

device

a GstDevice

 

Returns

The device class. Free with g_free() after use.

Since 1.4


gst_device_get_display_name ()

gchar *
gst_device_get_display_name (GstDevice *device);

Gets the user-friendly name of the device.

Parameters

device

a GstDevice

 

Returns

The device name. Free with g_free() after use.

Since 1.4


gst_device_has_classes ()

gboolean
gst_device_has_classes (GstDevice *device,
                        const gchar *classes);

Check if device matches all of the given classes

Parameters

device

a GstDevice

 

classes

a "/" separate list of device classes to match, only match if all classes are matched

 

Returns

TRUE if device matches.

Since 1.4


gst_device_has_classesv ()

gboolean
gst_device_has_classesv (GstDevice *device,
                         gchar **classes);

Check if factory matches all of the given classes

Parameters

device

a GstDevice

 

classes

a NULL terminated array of classes to match, only match if all classes are matched.

[array zero-terminated=1]

Returns

TRUE if device matches.

Since 1.4


gst_device_reconfigure_element ()

gboolean
gst_device_reconfigure_element (GstDevice *device,
                                GstElement *element);

Tries to reconfigure an existing element to use the device. If this function fails, then one must destroy the element and create a new one using gst_device_create_element().

Note: This should only be implemented for elements can change their device in the PLAYING state.

Parameters

device

a GstDevice

 

element

a GstElement

 

Returns

TRUE if the element could be reconfigured to use this device, FALSE otherwise.

Since 1.4

Types and Values

struct GstDevice

struct GstDevice {
  GstObject         parent;
};

A device object.

Members

GstObject parent;

The parent GstObject strucuture.

 

Since 1.4


struct GstDeviceClass

struct GstDeviceClass {
  GstObjectClass    parent_class;

  GstElement * (*create_element) (GstDevice * device, const gchar * name);
  gboolean (*reconfigure_element) (GstDevice * device, GstElement * element);
};

The class structure for a GstDevice object.

Members

GstObjectClass parent_class;

The parent GstObjectClass strucuture.

 

create_element ()

Creates the fully configured element to access this device. Subclasses need to override this and return a new element.

 

reconfigure_element ()

This only needs to be implemented by subclasses if the element can be reconfigured to use a different device. See the documentation for gst_device_reconfigure_element().

 

Since 1.4

See Also

GstDeviceProvider