summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorEdgard Lima <edgard.lima@indt.org.br>2008-03-26 15:10:08 +0000
committerEdgard Lima <edgard.lima@indt.org.br>2008-03-26 15:10:08 +0000
commit70ee2ee5e08c424f76462fdc3f00f7cc219dbe44 (patch)
tree797b7f576a7cadc727977001d683704200d2ad28 /sys
parent7f18fb8c35153a5dc4c561e87dc3263718c69d50 (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.c13
-rw-r--r--sys/v4l2/gstv4l2object.h1
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 */