diff --git a/spa/plugins/libcamera/libcamera_wrapper.cpp b/spa/plugins/libcamera/libcamera_wrapper.cpp index fdadda2d7..aed3dccf5 100644 --- a/spa/plugins/libcamera/libcamera_wrapper.cpp +++ b/spa/plugins/libcamera/libcamera_wrapper.cpp @@ -39,6 +39,8 @@ #include #include +#include + #include #include #include @@ -63,6 +65,14 @@ using namespace controls; #define DEFAULT_HEIGHT 480 #define DEFAULT_PIXEL_FMT DRM_FORMAT_YUYV +/* Compressed formats + * + * TODO: Should be removed when the format gets merged in the + * libdrm.*/ +#ifndef DRM_FORMAT_MJPEG +# define DRM_FORMAT_MJPEG fourcc_code('M', 'J', 'P', 'G') /* Motion-JPEG */ +#endif + extern "C" { static struct { diff --git a/spa/plugins/libcamera/meson.build b/spa/plugins/libcamera/meson.build index 75d378cec..eeb4e72bf 100644 --- a/spa/plugins/libcamera/meson.build +++ b/spa/plugins/libcamera/meson.build @@ -4,9 +4,13 @@ libcamera_sources = ['libcamera.c', 'libcamera-source.c', 'libcamera_wrapper.cpp'] +libdrm_dep = dependency('libdrm', version : '>= 2.4.98', + required : get_option('libcamera')) +if libdrm_dep.found() libcameralib = shared_library('spa-libcamera', libcamera_sources, include_directories : [ spa_inc ], - dependencies : [ libudev_dep, libcamera_dep, pthread_lib ], + dependencies : [ libudev_dep, libcamera_dep, pthread_lib, libdrm_dep ], install : true, install_dir : join_paths(spa_plugindir, 'libcamera')) +endif