You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
199 lines
6.8 KiB
199 lines
6.8 KiB
http://cvs.fedoraproject.org/viewvc/rpms/camorama/devel/
|
|
|
|
--- camorama-0.19/src/Makefile.am 2007-09-16 14:48:05.000000000 +0200
|
|
+++ camorama-0.19.new/src/Makefile.am 2009-06-24 15:01:37.000000000 +0200
|
|
@@ -36,7 +36,7 @@
|
|
filter.h \
|
|
$(BUILT_SOURCES)\
|
|
$(NULL)
|
|
-camorama_LDADD = $(PACKAGE_LIBS)
|
|
+camorama_LDADD = $(PACKAGE_LIBS) -lv4l1
|
|
|
|
DISTCLEANFILES=$(BUILT_SOURCES)
|
|
|
|
--- camorama-0.19/src/Makefile.in 2007-10-06 21:06:28.000000000 +0200
|
|
+++ camorama-0.19.new/src/Makefile.in 2009-06-24 15:01:50.000000000 +0200
|
|
@@ -248,7 +248,7 @@
|
|
$(BUILT_SOURCES)\
|
|
$(NULL)
|
|
|
|
-camorama_LDADD = $(PACKAGE_LIBS)
|
|
+camorama_LDADD = $(PACKAGE_LIBS) -lv4l1
|
|
DISTCLEANFILES = $(BUILT_SOURCES)
|
|
all: $(BUILT_SOURCES)
|
|
$(MAKE) $(AM_MAKEFLAGS) all-am
|
|
--- camorama-0.19/src/callbacks.c 2009-06-24 15:01:55.000000000 +0200
|
|
+++ camorama-0.19.new/src/callbacks.c 2009-06-24 14:55:42.000000000 +0200
|
|
@@ -9,6 +9,7 @@
|
|
#include <libgnomeui/gnome-propertybox.h>
|
|
#include <libgnomeui/gnome-window-icon.h>
|
|
#include <pthread.h>
|
|
+#include <libv4l1.h>
|
|
|
|
extern GtkWidget *main_window, *prefswindow;
|
|
//extern state func_state;
|
|
@@ -390,7 +391,7 @@
|
|
|
|
/*
|
|
* if(cam->read == FALSE) {
|
|
- * cam->pic = mmap(0, cam->vid_buf.size, PROT_READ | PROT_WRITE, MAP_SHARED, cam->dev, 0);
|
|
+ * cam->pic = v4l1_mmap(0, cam->vid_buf.size, PROT_READ | PROT_WRITE, MAP_SHARED, cam->dev, 0);
|
|
*
|
|
* if((unsigned char *) -1 == (unsigned char *) cam->pic) {
|
|
* if(cam->debug == TRUE) {
|
|
@@ -401,7 +402,7 @@
|
|
* }
|
|
* }else{
|
|
* cam->pic_buf = malloc(cam->x * cam->y * cam->depth);
|
|
- * read(cam->dev,cam->pic,(cam->x * cam->y * 3));
|
|
+ * v4l1_read(cam->dev,cam->pic,(cam->x * cam->y * 3));
|
|
* }
|
|
*/
|
|
|
|
@@ -427,7 +428,7 @@
|
|
* if(cam->read == FALSE) {
|
|
* * for(frame = 0; frame < cam->vid_buf.frames; frame++) {
|
|
* * cam->vid_map.frame = frame;
|
|
- * * if(ioctl(cam->dev, VIDIOCMCAPTURE, &cam->vid_map) < 0) {
|
|
+ * * if(v4l1_ioctl(cam->dev, VIDIOCMCAPTURE, &cam->vid_map) < 0) {
|
|
* * if(cam->debug == TRUE) {
|
|
* * fprintf(stderr, "Unable to capture image (VIDIOCMCAPTURE) during resize.\n");
|
|
* * }
|
|
@@ -547,7 +548,7 @@
|
|
int i, count = 0;
|
|
GdkGC *gc;
|
|
|
|
- read (cam->dev, cam->pic, (cam->x * cam->y * 3));
|
|
+ v4l1_read (cam->dev, cam->pic, (cam->x * cam->y * 3));
|
|
frames2++;
|
|
/*
|
|
* update_rec.x = 0;
|
|
@@ -588,7 +589,7 @@
|
|
|
|
i = -1;
|
|
while (i < 0) {
|
|
- i = ioctl (cam->dev, VIDIOCSYNC, &frame);
|
|
+ i = v4l1_ioctl (cam->dev, VIDIOCSYNC, &frame);
|
|
|
|
if (i < 0 && errno == EINTR) {
|
|
if (cam->debug == TRUE) {
|
|
@@ -630,7 +631,7 @@
|
|
0, cam->x, cam->y);
|
|
|
|
cam->vid_map.frame = frame;
|
|
- if (ioctl (cam->dev, VIDIOCMCAPTURE, &cam->vid_map) < 0) {
|
|
+ if (v4l1_ioctl (cam->dev, VIDIOCMCAPTURE, &cam->vid_map) < 0) {
|
|
if (cam->debug == TRUE) {
|
|
fprintf (stderr, "Unable to capture image (VIDIOCMCAPTURE)\n");
|
|
}
|
|
@@ -677,7 +678,7 @@
|
|
void init_cam (GtkWidget * capture, cam * cam)
|
|
{
|
|
cam->pic =
|
|
- mmap (0, cam->vid_buf.size, PROT_READ | PROT_WRITE,
|
|
+ v4l1_mmap (0, cam->vid_buf.size, PROT_READ | PROT_WRITE,
|
|
MAP_SHARED, cam->dev, 0);
|
|
|
|
if ((unsigned char *) -1 == (unsigned char *) cam->pic) {
|
|
@@ -692,7 +693,7 @@
|
|
cam->vid_map.format = cam->vid_pic.palette;
|
|
for (frame = 0; frame < cam->vid_buf.frames; frame++) {
|
|
cam->vid_map.frame = frame;
|
|
- if (ioctl (cam->dev, VIDIOCMCAPTURE, &cam->vid_map) < 0) {
|
|
+ if (v4l1_ioctl (cam->dev, VIDIOCMCAPTURE, &cam->vid_map) < 0) {
|
|
if (cam->debug == TRUE) {
|
|
fprintf (stderr,
|
|
"Unable to capture image (VIDIOCMCAPTURE).\n");
|
|
--- camorama-0.19/src/main.c 2009-06-24 15:01:55.000000000 +0200
|
|
+++ camorama-0.19.new/src/main.c 2009-06-24 14:59:35.000000000 +0200
|
|
@@ -9,6 +9,7 @@
|
|
#include <gdk-pixbuf-xlib/gdk-pixbuf-xlib.h>
|
|
#include <gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.h>
|
|
#include <locale.h>
|
|
+#include <libv4l1.h>
|
|
|
|
#include "camorama-display.h"
|
|
#include "camorama-stock-items.h"
|
|
@@ -206,7 +207,7 @@
|
|
gdk_pixbuf_xlib_init (display, 0);
|
|
cam->desk_depth = xlib_rgb_get_depth ();
|
|
|
|
- cam->dev = open (cam->video_dev, O_RDWR);
|
|
+ cam->dev = v4l1_open (cam->video_dev, O_RDWR);
|
|
|
|
camera_cap (cam);
|
|
get_win_info (cam);
|
|
@@ -284,5 +285,8 @@
|
|
|
|
gtk_timeout_add (2000, (GSourceFunc) fps, cam->status);
|
|
gtk_main ();
|
|
+ v4l1_munmap(cam->pic, cam->vid_buf.size);
|
|
+ v4l1_close(cam->dev);
|
|
+
|
|
return 0;
|
|
}
|
|
--- camorama-0.19/src/v4l.c 2009-06-24 15:01:55.000000000 +0200
|
|
+++ camorama-0.19.new/src/v4l.c 2009-06-24 14:54:09.000000000 +0200
|
|
@@ -2,6 +2,7 @@
|
|
#include<time.h>
|
|
#include<errno.h>
|
|
#include<gnome.h>
|
|
+#include <libv4l1.h>
|
|
#include "support.h"
|
|
|
|
extern int frame_number;
|
|
@@ -87,7 +88,7 @@
|
|
void camera_cap(cam * cam)
|
|
{
|
|
char *msg;
|
|
- if(ioctl(cam->dev, VIDIOCGCAP, &cam->vid_cap) == -1) {
|
|
+ if(v4l1_ioctl(cam->dev, VIDIOCGCAP, &cam->vid_cap) == -1) {
|
|
if(cam->debug == TRUE) {
|
|
fprintf(stderr, "VIDIOCGCAP -- could not get camera capabilities, exiting.....\n");
|
|
}
|
|
@@ -161,7 +162,7 @@
|
|
cam->vid_pic.palette = VIDEO_PALETTE_RGB24;
|
|
cam->vid_pic.depth = 24;
|
|
//cam->vid_pic.palette = VIDEO_PALETTE_YUV420P;
|
|
- if(ioctl(cam->dev, VIDIOCSPICT, &cam->vid_pic) == -1) {
|
|
+ if(v4l1_ioctl(cam->dev, VIDIOCSPICT, &cam->vid_pic) == -1) {
|
|
if(cam->debug) {
|
|
g_message("VIDIOCSPICT -- could not set picture info, exiting....");
|
|
}
|
|
@@ -176,7 +177,7 @@
|
|
//set_pic_info(cam);
|
|
char *msg;
|
|
|
|
- if(ioctl(cam->dev, VIDIOCGPICT, &cam->vid_pic) == -1) {
|
|
+ if(v4l1_ioctl(cam->dev, VIDIOCGPICT, &cam->vid_pic) == -1) {
|
|
msg = g_strdup_printf(_("Could not connect to video device (%s).\nPlease check connection."), cam->video_dev);
|
|
error_dialog(msg);
|
|
if(cam->debug == TRUE) {
|
|
@@ -201,7 +202,7 @@
|
|
void get_win_info(cam * cam)
|
|
{
|
|
gchar *msg;
|
|
- if(ioctl(cam->dev, VIDIOCGWIN, &cam->vid_win) == -1) {
|
|
+ if(v4l1_ioctl(cam->dev, VIDIOCGWIN, &cam->vid_win) == -1) {
|
|
msg = g_strdup_printf(_("Could not connect to video device (%s).\nPlease check connection."), cam->video_dev);
|
|
error_dialog(msg);
|
|
if(cam->debug == TRUE) {
|
|
@@ -222,7 +223,7 @@
|
|
void set_win_info(cam * cam)
|
|
{
|
|
gchar *msg;
|
|
- if(ioctl(cam->dev, VIDIOCSWIN, &cam->vid_win) == -1) {
|
|
+ if(v4l1_ioctl(cam->dev, VIDIOCSWIN, &cam->vid_win) == -1) {
|
|
msg = g_strdup_printf(_("Could not connect to video device (%s).\nPlease check connection."), cam->video_dev);
|
|
error_dialog(msg);
|
|
if(cam->debug == TRUE) {
|
|
@@ -239,7 +240,7 @@
|
|
void set_buffer(cam * cam)
|
|
{
|
|
char *msg;
|
|
- if(ioctl(cam->dev, VIDIOCGMBUF, &cam->vid_buf) == -1) {
|
|
+ if(v4l1_ioctl(cam->dev, VIDIOCGMBUF, &cam->vid_buf) == -1) {
|
|
msg = g_strdup_printf(_("Could not connect to video device (%s).\nPlease check connection."), cam->video_dev);
|
|
error_dialog(msg);
|
|
if(cam->debug == TRUE) {
|