openbsd-ports/graphics/scratch/patches/patch-src_plugins_camera_sqCamera-linux_c
sthen a44996c26b update to Scratch 1.4.0.7, from stu@ (maintainer), tested by Lars Engblom.
"I'll do the update today" stu@, 18 April. it's been a while, so committing
for him ;) additional tweak: build dep on squeak, to avoid wasting time on
!squeak arches.
2013-05-14 09:42:47 +00:00

89 lines
2.0 KiB
Plaintext

$OpenBSD: patch-src_plugins_camera_sqCamera-linux_c,v 1.1 2013/05/14 09:42:47 sthen Exp $
Use libc instead of libv4l
Fix bpp calc bug
Quash compiler warnings
--- src/plugins/camera/sqCamera-linux.c.orig Tue Oct 18 17:24:46 2011
+++ src/plugins/camera/sqCamera-linux.c Sun Sep 30 01:44:40 2012
@@ -45,10 +45,20 @@
#include <sys/ioctl.h>
#include <dlfcn.h>
+#ifdef __linux__
#include <asm/types.h> /* for videodev2.h */
#include <linux/videodev2.h>
+#endif
+#ifdef __OpenBSD__
+#include <sys/videoio.h>
+#define vd_open open
+#define vd_close close
+#define vd_ioctl ioctl
+#define vd_mmap mmap
+#define vd_munmap munmap
+#endif
#define sqInt int
#define true 1
@@ -71,6 +81,7 @@
#endif
+#ifdef __linux__
/* >>>>> LIBV4L2 USAGE >>>>>
/
/ Attempting to get best-of-all-worlds so
@@ -88,6 +99,7 @@ int (*vd_ioctl)(int, unsigned long int, ...);
ssize_t (*vd_read)(int, void *, size_t);
void * (*vd_mmap)(void *, size_t, int, int, int, int64_t);
int (*vd_munmap)(void *, size_t);
+#endif
/* >>>>>>> MULTI-CAMERA SUPPORT >>>>> */
@@ -176,6 +188,7 @@ libCon(void)
int devNum;
camPtr cam;
+#ifdef __linux__
vd_open = open;
vd_close = close;
vd_dup = dup;
@@ -196,6 +209,7 @@ libCon(void)
vd_mmap = dlsym(hLibv4l2, "v4l2_mmap");
vd_munmap = dlsym(hLibv4l2, "v4l2_munmap");
}
+#endif
/* Init camInfo array... */
@@ -634,7 +648,7 @@ init_device (camPtr cam, int w, int h)
struct v4l2_cropcap cropcap;
struct v4l2_crop crop;
struct v4l2_format fmt;
- int bpp;
+ int bpp = 0;
unsigned int min;
if (!xioctl (cam, VIDIOC_QUERYCAP, &cap)) return false;
@@ -696,7 +710,7 @@ init_device (camPtr cam, int w, int h)
bpp = 2;
break;
case V4L2_PIX_FMT_YUYV: /* printf("V4L2_PIX_FMT_YUYV\n"); */
- bpp = 4;
+ bpp = 2;
break;
}
@@ -776,7 +790,7 @@ initCamera(camPtr cam, int w, int h)
sqInt
CameraGetParam(int camNum, int paramNum)
{
- camPtr cam = &camInfo[camNum-1];
+/* camPtr cam = &camInfo[camNum-1]; */
return false;
}