DeviceMonitor
Object Hierarchy:
Gst.DeviceMonitor
Gst.DeviceMonitor
Gst.DeviceMonitor
Gst.Object
Gst.Object
Gst.Object->Gst.DeviceMonitor
GLib.InitiallyUnowned
GLib.InitiallyUnowned
GLib.InitiallyUnowned->Gst.Object
GLib.Object
GLib.Object
GLib.Object->GLib.InitiallyUnowned
Description:
[
CCode ( type_id =
"gst_device_monitor_get_type ()" ) ]
[
Version ( since =
"1.4" ) ]
public class DeviceMonitor :
Object
Applications should create a DeviceMonitor when they want to probe, list and monitor devices of a specific
type.
The DeviceMonitor will create the appropriate
DeviceProvider objects and manage them. It will then post messages on its Bus for 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; }
Content:
Properties:
Creation methods:
Methods:
public uint add_filter (string ? classes, Caps ? caps)
Adds a filter for which
Device will be monitored, any device that matches all these classes and the
Caps will be returned.
public Bus get_bus ()
Gets the Bus of this
DeviceMonitor
public List <Device >? get_devices ()
Gets a list of devices from all of the relevant monitors.
public string [] get_providers ()
Get a list of the currently selected device provider factories.
public bool get_show_all_devices ()
Get if this is currently showing all
devices, even those from hidden providers.
public bool remove_filter (uint filter_id)
Removes a filter from the DeviceMonitor
using the id that was returned by add_filter .
public void set_show_all_devices (bool show_all)
Set if all devices should be visible, even those devices from hidden
providers.
public bool start ()
Starts monitoring the devices, one this has succeeded, the
DEVICE_ADDED and
DEVICE_REMOVED messages will be emitted on the bus when the list
of devices changes.
public void stop ()
Stops monitoring the devices.
Inherited Members:
All known members inherited from class Gst.Object
All known members inherited from class GLib.Object
@get
@new
@ref
@set
add_toggle_ref
add_weak_pointer
bind_property
connect
constructed
disconnect
dispose
dup_data
dup_qdata
force_floating
freeze_notify
get_class
get_data
get_property
get_qdata
get_type
getv
interface_find_property
interface_install_property
interface_list_properties
is_floating
new_valist
new_with_properties
newv
notify
notify_property
ref_count
ref_sink
remove_toggle_ref
remove_weak_pointer
replace_data
replace_qdata
set_data
set_data_full
set_property
set_qdata
set_qdata_full
set_valist
setv
steal_data
steal_qdata
thaw_notify
unref
watch_closure
weak_ref
weak_unref