2001-12-23 19:14:18 +00:00
|
|
|
General Idea:
|
|
|
|
=============
|
2001-12-23 15:31:15 +00:00
|
|
|
|
2001-12-23 19:14:18 +00:00
|
|
|
_____/ gstv4lsrc.[ch]
|
|
|
|
_____/ \ v4lsrc_calls.[ch]
|
|
|
|
/
|
|
|
|
gstv4lelement.[ch] _/____________/ gstv4lmjpegsrc.[ch]
|
|
|
|
v4l_calls.[ch] \ \ v4lmjpegsrc_calls.[ch]
|
|
|
|
\_____
|
|
|
|
\_____/ gstv4lmjpegsink.[ch]
|
|
|
|
\ v4lmjpegsink_calls.[ch]
|
2001-12-23 15:31:15 +00:00
|
|
|
|
2001-12-23 19:14:18 +00:00
|
|
|
I.e., all the files on the right are child classes of
|
2001-12-24 21:43:31 +00:00
|
|
|
the v4lelement 'parent' on the left.
|
2001-12-23 15:31:15 +00:00
|
|
|
|
|
|
|
* v4lelement handles generic v4l stuff (picture settings,
|
|
|
|
audio, norm/input setting, open()/close())
|
|
|
|
* v4lsrc, v4lmjpegsrc handle the capture specific
|
|
|
|
functions. Maybe we'd need a v4lmpegsrc too
|
|
|
|
* v4lmjpegsink handles mjpeg hardware playback of video
|
2001-12-23 19:14:18 +00:00
|
|
|
|
|
|
|
Useful Documentation:
|
|
|
|
=====================
|
|
|
|
MJPEG/V4L API : ./videodev_mjpeg.h
|
|
|
|
V4L API : /usr/include/linux/videodev.h or
|
|
|
|
http://roadrunner.swansea.uk.linux.org/v4l.shtml
|
|
|
|
V4L2 API : http://www.thedirks.org/v4l2/
|
|
|
|
BSD/Meteor API: /usr/include/machine/ioctl_meteor.h
|
|
|
|
mjpegtools : http://www.sourceforge.net/projects/mjpeg
|