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.
This commit is contained in:
Edgard Lima 2008-03-26 15:10:08 +00:00
parent 7f18fb8c35
commit 70ee2ee5e0
3 changed files with 20 additions and 0 deletions

View file

@ -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> 2008-03-25 Wim Taymans <wim.taymans@collabora.co.uk>
* gst/qtdemux/qtdemux.c: (next_entry_size): * gst/qtdemux/qtdemux.c: (next_entry_size):

View file

@ -37,6 +37,7 @@
#define DEFAULT_PROP_DEVICE "/dev/video0" #define DEFAULT_PROP_DEVICE "/dev/video0"
#define DEFAULT_PROP_DEVICE_NAME NULL #define DEFAULT_PROP_DEVICE_NAME NULL
#define DEFAULT_PROP_DEVICE_FD -1
#define DEFAULT_PROP_FLAGS 0 #define DEFAULT_PROP_FLAGS 0
#define DEFAULT_PROP_NORM NULL #define DEFAULT_PROP_NORM NULL
#define DEFAULT_PROP_CHANNEL 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_object_class_install_property (gobject_class, PROP_DEVICE_NAME,
g_param_spec_string ("device-name", "Device name", g_param_spec_string ("device-name", "Device name",
"Name of the device", DEFAULT_PROP_DEVICE_NAME, G_PARAM_READABLE)); "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_object_class_install_property (gobject_class, PROP_FLAGS,
g_param_spec_flags ("flags", "Flags", "Device type flags", g_param_spec_flags ("flags", "Flags", "Device type flags",
GST_TYPE_V4L2_DEVICE_FLAGS, DEFAULT_PROP_FLAGS, G_PARAM_READABLE)); 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); g_value_set_string (value, (gchar *) new);
break; 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: case PROP_FLAGS:
{ {
guint flags = 0; guint flags = 0;

View file

@ -114,6 +114,7 @@ GType gst_v4l2_object_get_type (void);
#define V4L2_STD_OBJECT_PROPS \ #define V4L2_STD_OBJECT_PROPS \
PROP_DEVICE, \ PROP_DEVICE, \
PROP_DEVICE_NAME, \ PROP_DEVICE_NAME, \
PROP_DEVICE_FD, \
PROP_FLAGS PROP_FLAGS
/* create/destroy */ /* create/destroy */