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. The- Gst.DeviceMonitorwill create the appropriate- Gst.DeviceProviderobjects and manage them. It will then post messages on its- Gst.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.DeviceMonitor- New 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 the- Gst.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 by- Gst.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.Listof- Gst.Device
- Return type:
- [ - Gst.Device] or- None
 - 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 by- Gst.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_ADDEDand- Gst.MessageType.DEVICE_REMOVEDmessages will be emitted on the bus when the list of devices changes.- New in version 1.4.