Gst.DeviceMonitor¶
- Subclasses:
None
Methods¶
- Inherited:
- Structs:
class |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Virtual Methods¶
- Inherited:
Properties¶
- Inherited:
Name |
Type |
Flags |
Short Description |
|---|---|---|---|
r/w |
Show all devices, even those from hidden providers |
Signals¶
- Inherited:
Fields¶
- Inherited:
Name |
Type |
Access |
Description |
|---|---|---|---|
parent |
r |
the parent |
Class Details¶
- class Gst.DeviceMonitor(**kwargs)¶
- Bases:
- Abstract:
No
- Structure:
Applications should create a
Gst.DeviceMonitorwhen they want to probe, list and monitor devices of a specific type. TheGst.DeviceMonitorwill create the appropriateGst.DeviceProviderobjects and manage them. It will then post messages on itsGst.Busfor devices that have been added and removed.The device monitor will monitor all devices matching the filters that the application has set.
The basic use pattern of a device monitor is as follows:
static gboolean my_bus_func (GstBus * bus, GstMessage * message, gpointer user_data) { GstDevice *device; gchar *name; switch (GST_MESSAGE_TYPE (message)) { case GST_MESSAGE_DEVICE_ADDED: gst_message_parse_device_added (message, &device); name = gst_device_get_display_name (device); g_print("Device added: %s\n", name); g_free (name); gst_object_unref (device); break; case GST_MESSAGE_DEVICE_REMOVED: gst_message_parse_device_removed (message, &device); name = gst_device_get_display_name (device); g_print("Device removed: %s\n", name); g_free (name); gst_object_unref (device); break; default: break; } return G_SOURCE_CONTINUE; } GstDeviceMonitor * setup_raw_video_source_device_monitor (void) { GstDeviceMonitor *monitor; GstBus *bus; GstCaps *caps; monitor = gst_device_monitor_new (); bus = gst_device_monitor_get_bus (monitor); gst_bus_add_watch (bus, my_bus_func, NULL); gst_object_unref (bus); caps = gst_caps_new_empty_simple ("video/x-raw"); gst_device_monitor_add_filter (monitor, "Video/Source", caps); gst_caps_unref (caps); gst_device_monitor_start (monitor); return monitor; }New in version 1.4.
- classmethod new()[source]¶
- Returns:
a new device monitor.
- Return type:
Create a new
Gst.DeviceMonitorNew in version 1.4.
- add_filter(classes, caps)[source]¶
- Parameters:
- Returns:
The id of the new filter or 0 if no provider matched the filter’s classes.
- Return type:
Adds a filter for which
Gst.Devicewill be monitored, any device that matches all these classes and theGst.Capswill be returned.If this function is called multiple times to add more filters, each will be matched independently. That is, adding more filters will not further restrict what devices are matched.
The
Gst.Capssupported by the device as returned byGst.Device.get_caps() are not intersected with caps filters added using this function.Filters must be added before the
Gst.DeviceMonitoris started.New in version 1.4.
- get_bus()[source]¶
-
Gets the
Gst.Busof thisGst.DeviceMonitorNew in version 1.4.
- get_devices()[source]¶
- Returns:
a
GLib.ListofGst.Device- Return type:
[
Gst.Device] orNone
Gets a list of devices from all of the relevant monitors. This may actually probe the hardware if the monitor is not currently started.
New in version 1.4.
- get_providers()[source]¶
- Returns:
A list of device provider factory names that are currently being monitored by self or
Nonewhen nothing is being monitored.- Return type:
[
str]
Get a list of the currently selected device provider factories.
This
New in version 1.6.
- get_show_all_devices()[source]¶
-
Get if self is currently showing all devices, even those from hidden providers.
New in version 1.6.
- remove_filter(filter_id)[source]¶
- Parameters:
filter_id (
int) – the id of the filter- Returns:
- Return type:
Removes a filter from the
Gst.DeviceMonitorusing the id that was returned byGst.DeviceMonitor.add_filter().New in version 1.4.
- set_show_all_devices(show_all)[source]¶
- Parameters:
show_all (
bool) – show all devices
Set if all devices should be visible, even those devices from hidden providers. Setting show_all to true might show some devices multiple times.
New in version 1.6.
- start()[source]¶
- Returns:
Trueif the device monitoring could be started, i.e. at least a single device provider was started successfully.- Return type:
Starts monitoring the devices, one this has succeeded, the
Gst.MessageType.DEVICE_ADDEDandGst.MessageType.DEVICE_REMOVEDmessages will be emitted on the bus when the list of devices changes.New in version 1.4.