diff options
author | Edgard Lima <edgard.lima@indt.org.br> | 2008-03-26 15:10:08 +0000 |
---|---|---|
committer | Edgard Lima <edgard.lima@indt.org.br> | 2008-03-26 15:10:08 +0000 |
commit | 70ee2ee5e08c424f76462fdc3f00f7cc219dbe44 (patch) | |
tree | 797b7f576a7cadc727977001d683704200d2ad28 /sys | |
parent | 7f18fb8c35153a5dc4c561e87dc3263718c69d50 (diff) |
Add device-fd property to make it possible to apps to call ioctl's.
Original commit message from CVS:
Add device-fd property to make it possible to apps to call ioctl's.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/v4l2/gstv4l2object.c | 13 | ||||
-rw-r--r-- | sys/v4l2/gstv4l2object.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c index c842e8b9..9dfcd343 100644 --- a/sys/v4l2/gstv4l2object.c +++ b/sys/v4l2/gstv4l2object.c @@ -37,6 +37,7 @@ #define DEFAULT_PROP_DEVICE "/dev/video0" #define DEFAULT_PROP_DEVICE_NAME NULL +#define DEFAULT_PROP_DEVICE_FD -1 #define DEFAULT_PROP_FLAGS 0 #define DEFAULT_PROP_NORM NULL #define DEFAULT_PROP_CHANNEL NULL @@ -241,6 +242,10 @@ gst_v4l2_object_install_properties_helper (GObjectClass * gobject_class) g_object_class_install_property (gobject_class, PROP_DEVICE_NAME, g_param_spec_string ("device-name", "Device name", "Name of the device", DEFAULT_PROP_DEVICE_NAME, G_PARAM_READABLE)); + g_object_class_install_property (gobject_class, PROP_DEVICE_FD, + g_param_spec_int ("device-fd", "File descriptor", + "File descriptor of the device", -1, G_MAXINT, DEFAULT_PROP_DEVICE_FD, + G_PARAM_READABLE)); g_object_class_install_property (gobject_class, PROP_FLAGS, g_param_spec_flags ("flags", "Flags", "Device type flags", GST_TYPE_V4L2_DEVICE_FLAGS, DEFAULT_PROP_FLAGS, G_PARAM_READABLE)); @@ -377,6 +382,14 @@ gst_v4l2_object_get_property_helper (GstV4l2Object * v4l2object, g_value_set_string (value, (gchar *) new); break; } + case PROP_DEVICE_FD: + { + if (GST_V4L2_IS_OPEN (v4l2object)) + g_value_set_int (value, v4l2object->video_fd); + else + g_value_set_int (value, DEFAULT_PROP_DEVICE_FD); + break; + } case PROP_FLAGS: { guint flags = 0; diff --git a/sys/v4l2/gstv4l2object.h b/sys/v4l2/gstv4l2object.h index d08d2743..0c5cdbcb 100644 --- a/sys/v4l2/gstv4l2object.h +++ b/sys/v4l2/gstv4l2object.h @@ -114,6 +114,7 @@ GType gst_v4l2_object_get_type (void); #define V4L2_STD_OBJECT_PROPS \ PROP_DEVICE, \ PROP_DEVICE_NAME, \ + PROP_DEVICE_FD, \ PROP_FLAGS /* create/destroy */ |