v4l2codecs_sources = [ 'plugin.c', 'gstv4l2codecallocator.c', 'gstv4l2codecdevice.c', 'gstv4l2codech264dec.c', 'gstv4l2codech265dec.c', 'gstv4l2codecmpeg2dec.c', 'gstv4l2codecpool.c', 'gstv4l2codecvp8dec.c', 'gstv4l2codecvp9dec.c', 'gstv4l2decoder.c', 'gstv4l2format.c', 'gstv4l2codecalphadecodebin.c', ] libgudev_dep = dependency('gudev-1.0', required: get_option('v4l2codecs')) if get_option('v4l2codecs').disabled() have_v4l2 = false message('V4L2 CODECs plugin is disabled') else # Should only be built on Linux, check for Linux kernel headers even though # we have our own copy. have_v4l2 = cc.has_header('linux/videodev2.h') if get_option('v4l2codecs').enabled() and not have_v4l2 error('V4L2i CODECs is requested but kernel headers were not found') endif # Find makedev in various header files. Different operating systems put the # macro in different header files. foreach name: ['mkdev', 'sysmacros', 'types'] have_makedev = cc.has_header_symbol('sys/@0@.h'.format(name), 'makedev') cdata.set10('HAVE_MAKEDEV_IN_' + name.to_upper(), have_makedev) endforeach endif if have_v4l2 and libgudev_dep.found() gstv4l2codecs = library('gstv4l2codecs', v4l2codecs_sources, c_args : gst_plugins_bad_args, cpp_args: gst_plugins_bad_args, include_directories : [configinc], dependencies : [gstbase_dep, gstcodecs_dep, gstallocators_dep, libgudev_dep, gstpbutils_dep,], install : true, install_dir : plugins_install_dir, ) pkgconfig.generate(gstv4l2codecs, install_dir : plugins_pkgconfig_install_dir) plugins += [gstv4l2codecs] endif