mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-20 08:41:07 +00:00
20538dadc9
Original commit message from CVS: This patch fixes some issues caused by design issues in video4linux, adds some nicety to video4linux2 plugins and does some more evil stuff: * video4linux doesn't tell us which formats are supported by a card, so the only way to know this is by simply trying it out. This patch adds that. * v4lmjpegsink didnt have a bufferpool yet - is integrated now. * all copy() bufferpool functions have been removed since they're not needed. * v4lmjpegsink doesnt have a free() function, because hen playing the frames, all this is already handled. When the frame is not played, nothing has to be done. In total, the function is not needed. * adds a get_caps() function to v4l2src * some minor crap |
||
---|---|---|
.. | ||
gstv4lelement.c | ||
gstv4lelement.h | ||
gstv4lmjpegsink.c | ||
gstv4lmjpegsink.h | ||
gstv4lmjpegsrc.c | ||
gstv4lmjpegsrc.h | ||
gstv4lsrc.c | ||
gstv4lsrc.h | ||
Makefile.am | ||
README | ||
TODO | ||
v4l-overlay_calls.c | ||
v4l_calls.c | ||
v4l_calls.h | ||
v4lmjpegsink_calls.c | ||
v4lmjpegsink_calls.h | ||
v4lmjpegsrc_calls.c | ||
v4lmjpegsrc_calls.h | ||
v4lsrc_calls.c | ||
v4lsrc_calls.h | ||
videodev_mjpeg.h |
General Idea: ============= _____/ gstv4lsrc.[ch] _____/ \ v4lsrc_calls.[ch] / gstv4lelement.[ch] _/____________/ gstv4lmjpegsrc.[ch] v4l_calls.[ch] \ \ v4lmjpegsrc_calls.[ch] \_____ \_____/ gstv4lmjpegsink.[ch] \ v4lmjpegsink_calls.[ch] I.e., all the files on the right are child classes of the v4lelement 'parent' on the left. * 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 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