Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.3
camsource
camsource-v4l1.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File camsource-v4l1.patch of Package camsource
--- camsource-0.7.0/configure.ac 2003-05-01 14:27:00.000000000 +0400 +++ camsource-0.7.0.new/configure.ac 2013-01-19 13:23:29.628830443 +0400 @@ -13,7 +13,7 @@ AC_C_BIGENDIAN AC_HEADER_STDC -AC_CHECK_HEADER(linux/videodev.h,, [AC_MSG_ERROR([Could not find linux/videodev.h])]) +AC_CHECK_HEADER(libv4l1.h,, [AC_MSG_ERROR([Could not find libv4l1.h])]) AC_CHECK_HEADER(jpeglib.h,, [AC_MSG_ERROR([Could not find jpeglib.h])]) AC_FUNC_MALLOC @@ -25,6 +25,7 @@ AC_CHECK_SIZEOF(long) # Libs for main prog +AC_CHECK_LIB(v4l1, v4l1_open,, [AC_MSG_ERROR([Could not find libv4l1])]) AC_CHECK_LIB(dl, dlopen,, [AC_MSG_ERROR([Could not find dynamic link lib])]) AC_CHECK_LIB(pthread, pthread_create,, [AC_MSG_ERROR([Could not find posix thread lib])]) --- camsource-0.7.0/src/input_v4l.c 2003-04-21 01:53:35.000000000 +0400 +++ camsource-0.7.0.new/src/input_v4l.c 2013-01-19 13:38:53.060346764 +0400 @@ -3,7 +3,7 @@ #include <string.h> #include <errno.h> #include <libxml/parser.h> -#include <linux/videodev.h> +#include <libv4l1.h> #include <fcntl.h> #include <sys/ioctl.h> #include <sys/mman.h> @@ -113,19 +113,19 @@ } } - newcamdev.fd = open(path, O_RDONLY); + newcamdev.fd = v4l1_open(path, O_RDONLY); if (newcamdev.fd < 0) { printf("Unable to open %s (%s)\n", path, strerror(errno)); return -1; } - ret = ioctl(newcamdev.fd, VIDIOCGCAP, &newcamdev.vidcap); + ret = v4l1_ioctl(newcamdev.fd, VIDIOCGCAP, &newcamdev.vidcap); if (ret != 0) { printf("ioctl \"get video cap\" failed: %s\n", strerror(errno)); closenerr: - close(newcamdev.fd); + v4l1_close(newcamdev.fd); return -1; } if (!(newcamdev.vidcap.type & VID_TYPE_CAPTURE)) @@ -140,7 +140,7 @@ vidchan.channel = channel; if (norm >= 0) vidchan.norm = norm; - ret = ioctl(newcamdev.fd, VIDIOCSCHAN, &vidchan); + ret = v4l1_ioctl(newcamdev.fd, VIDIOCSCHAN, &vidchan); if (ret) printf("ioctl \"set input channel\" failed, continuing anyway: %s\n", strerror(errno)); } @@ -158,14 +158,14 @@ vidwin.flags |= (fps & 0x3f) << 16; - ret = ioctl(newcamdev.fd, VIDIOCSWIN, &vidwin); + ret = v4l1_ioctl(newcamdev.fd, VIDIOCSWIN, &vidwin); if (ret != 0) { printf("ioctl \"set grab window\" failed: %s\n", strerror(errno)); printf("Trying again without the fps option...\n"); vidwin.flags &= ~(0x3f << 16); - ret = ioctl(newcamdev.fd, VIDIOCSWIN, &vidwin); + ret = v4l1_ioctl(newcamdev.fd, VIDIOCSWIN, &vidwin); if (!ret) { printf("ioctl \"set grab window\" succeeded without fps option.\n"); @@ -181,12 +181,12 @@ } } else { - ret = ioctl(newcamdev.fd, VIDIOCGWIN, &vidwin); + ret = v4l1_ioctl(newcamdev.fd, VIDIOCGWIN, &vidwin); if (!ret) - ioctl(newcamdev.fd, VIDIOCSWIN, &vidwin); + v4l1_ioctl(newcamdev.fd, VIDIOCSWIN, &vidwin); } - ret = ioctl(newcamdev.fd, VIDIOCGPICT, &newcamdev.vidpic); + ret = v4l1_ioctl(newcamdev.fd, VIDIOCGPICT, &newcamdev.vidpic); if (ret != 0) { printf("ioctl \"get pict props\" failed: %s\n", strerror(errno)); @@ -206,8 +206,8 @@ newcamdev.vidpic.contrast = contrast; if (whiteness >= 0) newcamdev.vidpic.whiteness = whiteness; - ioctl(newcamdev.fd, VIDIOCSPICT, &newcamdev.vidpic); - ioctl(newcamdev.fd, VIDIOCGPICT, &newcamdev.vidpic); + v4l1_ioctl(newcamdev.fd, VIDIOCSPICT, &newcamdev.vidpic); + v4l1_ioctl(newcamdev.fd, VIDIOCGPICT, &newcamdev.vidpic); if (newcamdev.vidpic.palette == pal->val) goto palfound; /* break */ } @@ -247,7 +247,7 @@ if (camdev->usemmap < 0) { do - ret = ioctl(camdev->fd, VIDIOCGMBUF, &camdev->mbuf); + ret = v4l1_ioctl(camdev->fd, VIDIOCGMBUF, &camdev->mbuf); while (ret < 0 && errno == EINTR); if (ret < 0) { @@ -256,7 +256,7 @@ camdev->usemmap = 0; goto sysread; } - camdev->mbufp = mmap(NULL, camdev->mbuf.size, PROT_READ, MAP_PRIVATE, camdev->fd, 0); + camdev->mbufp = v4l1_mmap(NULL, camdev->mbuf.size, PROT_READ, MAP_PRIVATE, camdev->fd, 0); if (camdev->mbufp == MAP_FAILED) goto nommap; camdev->usemmap = 1; @@ -268,17 +268,17 @@ mmapctx.height = gcamdev->y; mmapctx.format = gcamdev->pal->val; do - ret = ioctl(camdev->fd, VIDIOCMCAPTURE, &mmapctx); + ret = v4l1_ioctl(camdev->fd, VIDIOCMCAPTURE, &mmapctx); while (ret < 0 && errno == EINTR); if (ret < 0) { unmap: - munmap(camdev->mbufp, camdev->mbuf.size); + v4l1_munmap(camdev->mbufp, camdev->mbuf.size); goto nommap; } ret = camdev->mbufframe; do - ret = ioctl(camdev->fd, VIDIOCSYNC, &ret); + ret = v4l1_ioctl(camdev->fd, VIDIOCSYNC, &ret); while (ret < 0 && errno == EINTR); if (ret < 0) goto unmap; @@ -294,7 +294,7 @@ sysread: do - ret = read(camdev->fd, camdev->imgbuf, camdev->bpf); + ret = v4l1_read(camdev->fd, camdev->imgbuf, camdev->bpf); while (ret < 0 && errno == EINTR); if (ret < 0) { @@ -366,7 +366,7 @@ if (!(brightness < camdev->autobrightness -1 || brightness > camdev->autobrightness +1)) return; - if (ioctl(camdev->fd, VIDIOCGPICT, &camdev->vidpic) == -1) { + if (v4l1_ioctl(camdev->fd, VIDIOCGPICT, &camdev->vidpic) == -1) { perror ("ioctl (VIDIOCGPICT)"); return; } @@ -387,7 +387,7 @@ camdev->vidpic.brightness += (int)change; /*printf("Setting camera brightness to %i\n", camdev->vidpic.brightness);*/ } - if (ioctl(camdev->fd, VIDIOCSPICT, &camdev->vidpic) == -1) { + if (v4l1_ioctl(camdev->fd, VIDIOCSPICT, &camdev->vidpic) == -1) { perror ("ioctl (VIDIOCSPICT)"); } } @@ -418,7 +418,7 @@ return; } - ret = ioctl(fd, VIDIOCGCAP, &vidcap); + ret = v4l1_ioctl(fd, VIDIOCGCAP, &vidcap); if (ret < 0) { printf("ioctl(VIDIOCGCAP) (get video capabilites) failed: %s\n", strerror(errno)); @@ -442,7 +442,7 @@ printf(" Min: %ix%i\n", vidcap.minwidth, vidcap.minheight); printf(" Max: %ix%i\n", vidcap.maxwidth, vidcap.maxheight); - ret = ioctl(fd, VIDIOCGPICT, &vidpic); + ret = v4l1_ioctl(fd, VIDIOCGPICT, &vidpic); if (ret != 0) { printf("ioctl(VIDIOCGPICT) (get picture properties) failed: %s\n", strerror(errno)); @@ -467,8 +467,8 @@ { vidpic.palette = pal->val; vidpic.depth = pal->depth; - ioctl(fd, VIDIOCSPICT, &vidpic); - ioctl(fd, VIDIOCGPICT, &vidpic); + v4l1_ioctl(fd, VIDIOCSPICT, &vidpic); + v4l1_ioctl(fd, VIDIOCGPICT, &vidpic); if (vidpic.palette == pal->val) printf(" Palette \"%s\" supported: Yes, with depth %u\n", pal->name, vidpic.depth); else @@ -476,5 +476,5 @@ } closenout: - close(fd); + v4l1_close(fd); } --- camsource-0.7.0/src/vloopback.c 2003-01-05 00:42:48.000000000 +0300 +++ camsource-0.7.0.new/src/vloopback.c 2013-01-19 13:37:56.140691991 +0400 @@ -3,7 +3,7 @@ #include <stdio.h> #include <fcntl.h> #include <sys/ioctl.h> -#include <linux/videodev.h> +#include <libv4l1.h> #include <memory.h> #include "config.h" @@ -38,28 +38,28 @@ struct video_window vid_win; struct video_picture vid_pic; - mctx->dev_out =open (mctx->dev_name, O_RDWR); + mctx->dev_out =v4l1_open (mctx->dev_name, O_RDWR); if (mctx->dev_out < 0) { perror ("Failed to open video device"); } - if (ioctl (mctx->dev_out, VIDIOCGPICT, &vid_pic)== -1) { + if (v4l1_ioctl (mctx->dev_out, VIDIOCGPICT, &vid_pic)== -1) { perror ("ioctl VIDIOCGPICT"); return (1); } vid_pic.palette=mctx->format; - if (ioctl (mctx->dev_out, VIDIOCSPICT, &vid_pic)== -1) { + if (v4l1_ioctl (mctx->dev_out, VIDIOCSPICT, &vid_pic)== -1) { perror ("ioctl VIDIOCSPICT"); return (1); } - if (ioctl (mctx->dev_out, VIDIOCGWIN, &vid_win)== -1) { + if (v4l1_ioctl (mctx->dev_out, VIDIOCGWIN, &vid_win)== -1) { perror ("ioctl VIDIOCGWIN"); return (1); } vid_win.width=mctx->width; vid_win.height=mctx->height; - if (ioctl (mctx->dev_out, VIDIOCSWIN, &vid_win)== -1) { + if (v4l1_ioctl (mctx->dev_out, VIDIOCSWIN, &vid_win)== -1) { perror ("ioctl VIDIOCSWIN"); return (1); } --- camsource-0.7.0/src/unpalette.c 2013-01-19 13:55:39.936283019 +0400 +++ camsource-0.7.0.new/src/unpalette.c 2013-01-19 13:25:58.427219854 +0400 @@ -1,7 +1,7 @@ #include <stdio.h> #include <sys/types.h> #include <string.h> -#include <linux/videodev.h> +#include <libv4l1.h> #include "config.h"
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor