diff options
author | Wim Taymans <wtaymans@redhat.com> | 2015-07-10 16:05:29 +0200 |
---|---|---|
committer | David King <amigadave@amigadave.com> | 2015-08-17 16:37:45 +0100 |
commit | 8dda8bf18b5fb82f6b1087dc4e2ccb2415d5611b (patch) | |
tree | 3f7ea94e2b6872d5734da7e054133b80bb280d5c /src | |
parent | 88699b2fa0d9f23f13f51b2c461d099d239a0cf2 (diff) | |
download | cheese-8dda8bf18b5fb82f6b1087dc4e2ccb2415d5611b.tar.gz |
device-monitor: port to GstDeviceMonitor
Use GstDeviceMonitor to monitor the GStreamer devices.
Diffstat (limited to 'src')
-rw-r--r-- | src/cheese-preferences.vala | 16 | ||||
-rw-r--r-- | src/vapi/cheese-common.vapi | 17 |
2 files changed, 14 insertions, 19 deletions
diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala index 21b68f38..8a3eb7ea 100644 --- a/src/cheese-preferences.vala +++ b/src/cheese-preferences.vala @@ -108,7 +108,7 @@ public PreferencesDialog (Cheese.Camera camera) devices.foreach(add_camera_device); - settings.set_string ("camera", camera.get_selected_device ().get_device_node ()); + settings.set_string ("camera", camera.get_selected_device ().get_name ()); setup_resolutions_for_device (camera.get_selected_device ()); } @@ -196,10 +196,10 @@ public PreferencesDialog (Cheese.Camera camera) combo.get_active_iter (out iter); combo.model.get (iter, 1, out dev); - camera.set_device_by_device_node (dev.get_device_node ()); + camera.set_device (dev); camera.switch_camera_device (); setup_resolutions_for_device (camera.get_selected_device ()); - settings.set_string ("camera", dev.get_device_node ()); + settings.set_string ("camera", dev.get_name ()); } /** @@ -387,7 +387,7 @@ public PreferencesDialog (Cheese.Camera camera) camera_model.get (iter, 1, out new_device, -1); // Found the device that was removed. - if (strcmp (old_device.device_node, new_device.device_node) != 0) + if (old_device != new_device) { remove_camera_device (iter, new_device, active_device); device_removed = true; @@ -406,7 +406,7 @@ public PreferencesDialog (Cheese.Camera camera) } } - settings.set_string ("camera", camera.get_selected_device ().get_device_node ()); + settings.set_string ("camera", camera.get_selected_device ().get_name ()); setup_resolutions_for_device (camera.get_selected_device ()); } @@ -425,10 +425,10 @@ public PreferencesDialog (Cheese.Camera camera) camera_model.append (out iter); camera_model.set (iter, - 0, dev.get_name () + " (" + dev.get_device_node () + ")", + 0, dev.get_name (), 1, dev); - if (camera.get_selected_device ().get_device_node () == dev.get_device_node ()) + if (camera.get_selected_device () == dev) source_combo.set_active_iter (iter); if (camera_model.iter_n_children (null) > 1) @@ -448,7 +448,7 @@ public PreferencesDialog (Cheese.Camera camera) unowned GLib.PtrArray devices = camera.get_camera_devices (); // Check if the camera that we want to remove, is the active one - if (strcmp (device_node.device_node, active_device_node.device_node) == 0) + if (device_node == active_device_node) { if (devices.len > 0) set_new_available_camera_device (iter); diff --git a/src/vapi/cheese-common.vapi b/src/vapi/cheese-common.vapi index a926725b..702d7012 100644 --- a/src/vapi/cheese-common.vapi +++ b/src/vapi/cheese-common.vapi @@ -43,8 +43,7 @@ namespace Cheese public bool has_camera (); public void play (); public void set_balance_property (string property, double value); - public void set_device_by_device_node (string file); - public void set_device_by_uuid (string uuid); + public void set_device (Cheese.CameraDevice device); public void set_effect (Cheese.Effect effect); public void toggle_effects_pipeline (bool active); public void connect_effect_texture (Cheese.Effect effect, Clutter.Texture texture); @@ -77,17 +76,13 @@ namespace Cheese public CameraDevice (string uuid, string device_node, string name, int v4lapi_version) throws GLib.Error; public Cheese.VideoFormat get_best_format (); public Gst.Caps get_caps_for_format (Cheese.VideoFormat format); - public unowned string get_device_node (); public GLib.List<unowned Cheese.VideoFormat> get_format_list (); - public unowned string get_uuid (); public unowned string get_name (); - public unowned string get_src (); + public Gst.Element get_src (); [NoAccessorMethod] - public uint v4l_api_version {get; construct;} - public string device_node {get; construct;} + public Gst.Device device {get; construct;} [NoAccessorMethod] - public string uuid {owned get; construct;} - public string name {get; construct;} + public string name {get;} } [CCode (cheader_filename = "cheese-camera-device-monitor.h")] @@ -96,8 +91,8 @@ namespace Cheese [CCode (has_construct_function = false)] public CameraDeviceMonitor (); public void coldplug (); - public virtual signal void added (string uuid, string device_file, string product_name, uint api_version); - public virtual signal void removed (string id); + public virtual signal void added (Gst.Device device); + public virtual signal void removed (Gst.Device device); } |