libv4l2: Add plugin support to libv4l
A libv4l2 plugin will sit in between libv4l2 itself and the actual
/dev/video device node a fd refers to. It will be called each time
libv4l2 wants to do an operation (read/write/ioctl) on the actual
/dev/video node in question.
Changes before merge by Hans de Goede:
-export libv4l2_default_dev_ops for apps which directly use libv4lconvert
-use libv4l2_default_dev_ops in qv4l2 rather then defining our own there
-swap 1st 2 arguments to v4l2_plugin_cleanup to match v4l2_plugin_init order
-v4l2_plugin_init: return the address of the plugins devops, rather then
always returning the address of the default dev_ops and overriding the
individual default dev_ops with those of the plugin. The latter is a bad idea
when multiple /dev/video devices are opened in the same process space as
they may use different plugins
-use $LIBDIR/libv4l/plugins as pluginsdir instead of hardcoded
/usr/lib/libv4l/plugins
Signed-off-by: Yordan Kamenov <ykamenov@mm-sol.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
14 files changed: