[GEM-dev] V4L2

Georg Holzmann grh at mur.at
Wed Apr 2 15:29:30 CEST 2008


Hallo!

> ./make does compile the 3 externals, but fail for the plugins :
> Dans le fichier inclus à partir de plugins/FileReadGst.cpp:20:
> plugins/FileReadGst.h:26:32: erreur: gst/app/gstappsink.h : Aucun 
> fichier ou répertoire de ce type
> plugins/FileReadGst.h:27:34: erreur: gst/app/gstappbuffer.h : Aucun 
> fichier ou répertoire de ce type
> 
> and then i've got lot's of error...
> 
> (it mean that some include from plugins/FileReadGst.cpp:20: can't be 
> find (gst/app/gstappsink.h and gst/app/gstappbuffer.h).
> 
> i don't have the app folder in /usr/include/gstreamer-0.10/gst.
> this is certainly because i don't have the gstreamer-plugins-bad headers.
> i have gstreamer-plugins-bad, but i don't have any 
> gstreamer-plugins-bad-dev package. where should i get it?

Yes thats the problem why I haven't released the external yet.
You will need the gstreamer-plugins-bad headers and there is no dev 
package - so you have to download directly the gstreamer source for 
gstreamer-plugins-bad:
http://gstreamer.freedesktop.org/src/

> moreover, i don't understand GLIB_INCLUDE1 and GLIB_INCLUDE2.
> should they be like : GLIB_INCLUDE1=/usr/include/glib-2.0/gobject/
> GLIB_INCLUDE2=/usr/include/glib-2.0/glib/
> ?

I have it like this:
GLIB_INCLUDE1=/usr/include/glib-2.0
GLIB_INCLUDE2=/usr/lib/glib-2.0/include/
on ubuntu 7.10

> for now, this objects crash when i open the helpfile because : No 
> VideoIO Plugin found! Be sure that they are in the right path 
> (/usr/lib/videoIO) !

Yes, that's clear because you have no plugin ...

> this "dazzle" device i'm using have 2 input : TV and analog input.
> 
> using mplayer i get the analog input with :
> mplayer -tv  driver=v4l2:device=/dev/video0:input=1:width=640:height=480 
> tv://
> 
> while tv input is the same but with input=0
> 
> does pix_device_read can select the input 1?
> (i can't see something like this in the help)

Hm, I haven't tested it ... you can specify the video device during 
open, but I don't know if this will help you.
However, you can change the following propoerties in the gstreamer 
element (see [1]) - if it's in there you can just add the property.

I also just realized that we only implemented v4l - but you can change 
the "v4lsrc" to "v4l2src" in DeviceReadGst.cpp line 321.
You can also set additional properties (as in [1]) like done in line 324 
in that file.

If this works for you (v4l2) then I will add it also to the videoIO 
external ...

LG
Georg


[1]:
Element Properties:
   name                : The name of the object
                         flags: readable, writable
                         String. Default: null Current: "v4lsrc0"
   blocksize           : Size in bytes to read per buffer (0 = default)
                         flags: readable, writable
                         Unsigned Long. Range: 0 - 4294967295 Default: 
4096 Current: 4096
   num-buffers         : Number of buffers to output before sending EOS
                         flags: readable, writable
                         Integer. Range: -1 - 2147483647 Default: -1 
Current: -1
   typefind            : Run typefind before negotiating
                         flags: readable, writable
                         Boolean. Default: false Current: false
   device              : Device location
                         flags: readable, writable
                         String. Default: null Current: "/dev/video0"
   device-name         : Name of the device
                         flags: readable
                         String. Default: null Current: null
   flags               : Device type flags
                         flags: readable
                         Flags "GstV4lDeviceTypeFlags" Current: 0, "(none)"
                            (0x00000001): Device can capture - CAPTURE
                            (0x00000002): Device has a tuner - TUNER
                            (0x00000008): Device can do overlay - OVERLAY
                            (0x00000400): Device can decode MPEG - 
MPEG_DECODER
                            (0x00000800): Device can encode MPEG - 
MPEG_ENCODER
                            (0x00001000): Device can decode MJPEG - 
MJPEG_DECODER
                            (0x00002000): Device can encode MJPEG - 
MJPEG_ENCODER
                            (0x00010000): Device handles audio - AUDIO
   autoprobe           : Whether the device should be probed for all 
possible features
                         flags: readable, writable
                         Boolean. Default: true Current: true
   autoprobe-fps       : Whether the device should be probed for framerates
                         flags: readable, writable
                         Boolean. Default: true Current: true
   copy-mode           : Whether to send out copies of buffers, or 
direct pointers to the mmap region
                         flags: readable, writable
                         Boolean. Default: true Current: true
   timestamp-offset    : A time offset subtracted from timestamps set on 
buffers (in ns)
                         flags: readable, writable
                         Integer64. Range: -9223372036854775808 - 
9223372036854775807 Default: 0 Current: 0




More information about the GEM-dev mailing list