Add device-fd property to make it possible to apps to call ioctl's.
authorEdgard Lima <edgard.lima@indt.org.br>
Wed, 26 Mar 2008 15:10:08 +0000 (15:10 +0000)
committerEdgard Lima <edgard.lima@indt.org.br>
Wed, 26 Mar 2008 15:10:08 +0000 (15:10 +0000)
Original commit message from CVS:
Add device-fd property to make it possible to apps to call ioctl's.

ChangeLog
sys/v4l2/gstv4l2object.c
sys/v4l2/gstv4l2object.h

index ee738bd..d4e2d38 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-03-26  Edgard Lima  <edgard.lima@indt.org.br>
+
+       * sys/v4l2/gstv4l2object.c:
+       * sys/v4l2/gstv4l2object.h:
+       Add device-fd property to make it possible to apps to call ioctl's.
+
 2008-03-25  Wim Taymans  <wim.taymans@collabora.co.uk>
 
        * gst/qtdemux/qtdemux.c: (next_entry_size):
index c842e8b..9dfcd34 100644 (file)
@@ -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;
index d08d274..0c5cdbc 100644 (file)
@@ -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 */