Package: gqcam
Version: 0.9.1-5
Severity: normal
Tags: patch
Sorry, my previous patch does not cleanly applied to 0.9.1-5, here is a
corrected one. In the frontend.c:freeze() function I set
GTK_TOGGLE_BUTTON (widget)->active = TRUE;
so the "freeze" button work as previously. This change is necessary because
of the "value computed is not used" warning message.
However, I don't know if there is any reason doing this because in the
previous line this "active" field was checked against TRUE.
diff -upr gqcam-0.9.1-5.orig/color.c gqcam-0.9.1-5/color.c
--- gqcam-0.9.1-5.orig/color.c 2005-04-04 03:25:09.000000000 +0200
+++ gqcam-0.9.1-5/color.c 2008-10-20 19:58:33.000000000 +0200
@@ -37,8 +37,6 @@ void create_controls_color(struct Camera
GtkWidget *scalecolor;
GSList *camera->controls.radiogroup;
*/
- int ib=130, ic=30, iw=150, i, count=32;
- gint context_id;
/* Create new outerbox */
camera->controltop = gtk_hbox_new (FALSE, 0);
diff -upr gqcam-0.9.1-5.orig/filters.c gqcam-0.9.1-5/filters.c
--- gqcam-0.9.1-5.orig/filters.c 2005-04-04 03:25:09.000000000 +0200
+++ gqcam-0.9.1-5/filters.c 2008-10-20 19:58:33.000000000 +0200
@@ -39,8 +39,8 @@
void swap_rgb24(struct Camera *camera)
{
- char c;
- char *p = camera->pic;
+ unsigned char c;
+ unsigned char *p = camera->pic;
int i = camera->vid_win.width*camera->vid_win.height;
int bytes_per_rgb = 3;
diff -upr gqcam-0.9.1-5.orig/frontend.c gqcam-0.9.1-5/frontend.c
--- gqcam-0.9.1-5.orig/frontend.c 2008-10-20 19:55:21.000000000 +0200
+++ gqcam-0.9.1-5/frontend.c 2008-10-20 20:03:19.000000000 +0200
@@ -52,23 +52,26 @@ static struct symbolic_list v4l_palette_
{ -1,NULL }
};
+static gint configure_event (GtkWidget*, GdkEventConfigure*, struct Camera*);
+static gint expose_event (GtkWidget*, GdkEventExpose*, struct Camera*);
+
void closedialog(GtkWidget *widget, GtkWidget *dialog)
{
gtk_widget_destroy(dialog);
}
-void errordialog(char *message, struct Camera *camera)
+void errordialog(char *message)
{
- GtkWidget *errordialog;
+ GtkWidget *werrordialog;
GtkWidget *button;
GtkWidget *label;
- errordialog = gtk_dialog_new();
+ werrordialog = gtk_dialog_new();
button = gtk_button_new_with_label("Oops...");
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG(errordialog)->action_area), button, TRUE, TRUE, 0);
- gtk_signal_connect (GTK_OBJECT(button), "clicked", (GtkSignalFunc) closedialog, errordialog);
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG(werrordialog)->action_area), button, TRUE, TRUE, 0);
+ gtk_signal_connect (GTK_OBJECT(button), "clicked", (GtkSignalFunc) closedialog, werrordialog);
gtk_widget_show (button);
@@ -76,7 +79,7 @@ void errordialog(char *message, struct C
gtk_box_pack_start (GTK_BOX (GTK_DIALOG(errordialog)->vbox), label, TRUE, TRUE, 8);
gtk_widget_show (label);
- gtk_widget_show(errordialog);
+ gtk_widget_show(werrordialog);
return;
}
@@ -506,7 +509,7 @@ void freeze(GtkWidget *widget, struct Ca
{
/* correct our state */
if( !camera->frozen && ( GTK_TOGGLE_BUTTON (widget)->active ) ) {
- GTK_TOGGLE_BUTTON (widget)->active;
+ GTK_TOGGLE_BUTTON (widget)->active = TRUE;
}
/* Careful, if we aren't capturing we don't want to grab the freeze lock,
or we will deadlock */
@@ -531,23 +534,23 @@ int create_frontend(struct Camera *camer
{
GtkWidget *window;
GtkWidget *topbox;
- GtkWidget *outerbox;
+// GtkWidget *outerbox;
GtkWidget *innerbox;
- GtkWidget *scalebox;
+// GtkWidget *scalebox;
GtkWidget *frame;
- GtkObject *adjb;
- GtkWidget *scaleb;
- GtkObject *adjw;
- GtkWidget *scalew;
- GtkObject *adjc;
- GtkWidget *scalec;
- GtkWidget *radiobutton;
+// GtkObject *adjb;
+// GtkWidget *scaleb;
+// GtkObject *adjw;
+// GtkWidget *scalew;
+// GtkObject *adjc;
+// GtkWidget *scalec;
+// GtkWidget *radiobutton;
GtkWidget *dockbutton;
- GSList *radiogroup;
+// GSList *radiogroup;
GtkWidget *button;
- GdkDrawable *drawable;
+// GdkDrawable *drawable;
GtkTooltips *tooltips;
- GtkWidget *statusbar;
+// GtkWidget *statusbar;
GtkWidget *menubar;
GtkWidget *filemenu;
@@ -555,13 +558,13 @@ int create_frontend(struct Camera *camer
GtkWidget *quititem;
GtkWidget *saveitem;
GtkWidget *openitem;
- GtkWidget *closeitem;
+// GtkWidget *closeitem;
GtkWidget *prefitem;
GtkWidget *seperator;
GtkWidget *cameramenu;
GtkWidget *cameraitem;
GtkWidget *infoitem;
- GtkWidget *updateitem;
+// GtkWidget *updateitem;
GtkWidget *startitem;
GtkWidget *stopitem;
GtkWidget *timeritem;
@@ -569,11 +572,13 @@ int create_frontend(struct Camera *camer
GtkWidget *helpitem;
GtkWidget *aboutitem;
+ char title[50] = "gqcam - ";
+/*
guchar *gbuff;
GdkColor c;
- char title[50] = "gqcam - ";
struct video_clip vid_clips[32];
int ib=130, ic=30, iw=150, i, count=32;
+*/
strcat(title, camera->vid_caps.name);
/*
diff -upr gqcam-0.9.1-5.orig/frontend.h gqcam-0.9.1-5/frontend.h
--- gqcam-0.9.1-5.orig/frontend.h 2005-04-04 03:25:09.000000000 +0200
+++ gqcam-0.9.1-5/frontend.h 2008-10-20 19:58:33.000000000 +0200
@@ -1,7 +1,12 @@
+
+#ifndef _FRONTEND_H
+#define _FRONTEND_H
+
+#include <gtk/gtk.h>
+#include "gqcam.h"
+
int create_frontend(struct Camera*);
-static gint configure_event (GtkWidget*, GdkEventConfigure*, struct Camera*);
-static gint expose_event (GtkWidget*, GdkEventExpose*, struct Camera*);
void freeze(GtkWidget*, struct Camera*);
void setbrightness(GtkAdjustment*, struct Camera*);
@@ -19,3 +24,6 @@ void clearimg(struct Camera*);
void update_controls(struct Camera*);
void dock_controls(GtkWidget*, struct Camera*);
void closedialog(GtkWidget *widget, GtkWidget *dialog);
+void errordialog(char *message);
+
+#endif
diff -upr gqcam-0.9.1-5.orig/gqcam.c gqcam-0.9.1-5/gqcam.c
--- gqcam-0.9.1-5.orig/gqcam.c 2008-10-20 19:55:21.000000000 +0200
+++ gqcam-0.9.1-5/gqcam.c 2008-10-20 19:58:33.000000000 +0200
@@ -41,6 +41,7 @@
#include "filters.h"
#include "jpeg.h"
#include "yuv_to_rgb.h"
+#include "preferences.h"
char version[] = VERSION;
@@ -204,7 +205,6 @@ void open_cam(struct Camera *camera)
void close_cam(struct Camera *camera, int quiting)
{
- int debug = 0;
pthread_mutex_lock( &camera->iscam_mutex );
if(camera->dev > 0){
close(camera->dev);
@@ -269,10 +269,9 @@ void display(struct Camera *camera)
void grab_image(struct Camera *camera)
{
- const JPEG_HEADER_SIZE = 2;
+ const int JPEG_HEADER_SIZE = 2;
GdkRectangle update_rec;
- GdkEventExpose *event;
int input_type;
struct ov511_frame temp;
size_t read_size;
@@ -423,7 +422,8 @@ int next_frame(struct Camera *camera) {
return 1;
}
-int increment_second_counter(struct Camera *camera) {
+gboolean increment_second_counter(gpointer data) {
+ struct Camera *camera = (struct Camera*)data;
static int x_seconds = 0;
x_seconds++;
@@ -435,7 +435,8 @@ int increment_second_counter(struct Came
camera->fps_avg = x_frames / x_seconds;
camera->fps_current = y_frames;
y_frames = 0;
- return;
+
+ return TRUE;
}
int main(int argc, char *argv[])
@@ -444,8 +445,7 @@ int main(int argc, char *argv[])
pthread_t grab_thread;
pthread_t draw_thread;
guint timeoutid;
- int i, brightness=180, contrast=104, whiteness=155;
- unsigned char buff[3];
+ int brightness=180, contrast=104, whiteness=155;
char *filename = NULL, readfile[255];
int done = 0;
FILE *preffile;
@@ -627,22 +627,11 @@ void print_usage() {
int dump_pict( struct Camera *camera, char *filename, int brightness, int contrast, int whiteness )
{
- FILE *outf = NULL;
if( filename != NULL ){
strcpy(camera->savefile, filename);
strcpy(camera->savefileclean, filename);
}
- /*
- outf = fopen( filename, "w" );
- if( !outf ) {
- fprintf( stderr, "Couldn't open %s for writing!\n" );
- return 1;
- }
- }
- else {
- outf = stdout;
- }
-*/
+
fprintf( stderr, "Dumping...\n" );
open_cam(camera);
get_cam_info(camera);
Only in gqcam-0.9.1-5: gqcam.c.orig
diff -upr gqcam-0.9.1-5.orig/gqcam.h gqcam-0.9.1-5/gqcam.h
--- gqcam-0.9.1-5.orig/gqcam.h 2005-04-04 03:25:09.000000000 +0200
+++ gqcam-0.9.1-5/gqcam.h 2008-10-20 19:58:33.000000000 +0200
@@ -16,6 +16,9 @@
*
*/
+#ifndef _GQCAM_H
+#define _GQCAM_H
+
enum Input_Types {
INPUT_NOT_FORCED = 0,
INPUT_JPEG = 1,
@@ -244,3 +247,5 @@ void dump_locks( struct Camera *camera )
int dump_pict( struct Camera *camera, char *tofile, int brightness, int contrast, int whiteness );
void print_usage();
int next_frame( struct Camera *camera );
+
+#endif
diff -upr gqcam-0.9.1-5.orig/jpeg.c gqcam-0.9.1-5/jpeg.c
--- gqcam-0.9.1-5.orig/jpeg.c 2005-04-04 03:25:09.000000000 +0200
+++ gqcam-0.9.1-5/jpeg.c 2008-10-20 19:58:33.000000000 +0200
@@ -1,6 +1,7 @@
/* jpeg decompression code added from libjpeg with original comments */
#include <stdio.h>
+#include <string.h>
#include "jpeg.h"
#define SIZEOF(object) ((size_t) sizeof(object))
diff -upr gqcam-0.9.1-5.orig/Makefile gqcam-0.9.1-5/Makefile
--- gqcam-0.9.1-5.orig/Makefile 2008-10-20 19:55:21.000000000 +0200
+++ gqcam-0.9.1-5/Makefile 2008-10-20 19:58:33.000000000 +0200
@@ -7,7 +7,7 @@ LDFLAGS = `gtk-config --libs gthread` -l
PROG = gqcam
VERSION = 0.9.1
-CFLAGS = -g `gtk-config --cflags`
+CFLAGS = -g `gtk-config --cflags` -Wall -O2
INCLUDES =
OBJS =
diff -upr gqcam-0.9.1-5.orig/preferences.h gqcam-0.9.1-5/preferences.h
--- gqcam-0.9.1-5.orig/preferences.h 2005-04-04 03:25:09.000000000 +0200
+++ gqcam-0.9.1-5/preferences.h 2008-10-20 19:58:33.000000000 +0200
@@ -1,4 +1,15 @@
+
+#ifndef _PREFERENCES_H
+#define _PREFERENCES_H
+
+#include <stdio.h>
+#include <gtk/gtk.h>
+#include "gqcam.h"
+
void pref_dialog(GtkWidget *widget, struct Camera *camera);
void read_pref_file(FILE *input, struct Camera *camera);
void apply_prefs(GtkWidget *widget, struct Camera *camera);
+void save_pref_file(FILE *output, struct Camera *camera);
void ok_prefs(GtkWidget *widget, struct Camera *camera);
+
+#endif
diff -upr gqcam-0.9.1-5.orig/save.c gqcam-0.9.1-5/save.c
--- gqcam-0.9.1-5.orig/save.c 2005-04-04 03:25:09.000000000 +0200
+++ gqcam-0.9.1-5/save.c 2008-10-20 19:58:33.000000000 +0200
@@ -80,18 +80,6 @@ void file_select(GtkWidget *widget, stru
void save_ok(GtkWidget *widget, struct Camera *camera)
{
- int ls=0, x, y;
- int i;
- int lines, pixels_per_line;
- FILE *outfile;
- unsigned char buff[3];
-
- struct jpeg_compress_struct cinfo;
- struct jpeg_error_mgr jerr;
- JSAMPROW row_pointer[1]; // pointer to JSAMPLE row(s)
- int row_stride; // physical row width in image buffer
-
- png_byte interlace;
if(strlen(gtk_entry_get_text(GTK_ENTRY(camera->save_struct.textbox))) > 255){
errordialog("File name too long...\n");
@@ -167,16 +155,14 @@ void save_ok(GtkWidget *widget, struct C
void png_save(struct Camera *camera)
{
- FILE *fp;
+ FILE *fp = stdout;
png_structp png_ptr;
png_infop info_ptr;
- png_uint_32 k, height, width;
+ png_uint_32 k;
png_bytep row_pointers[camera->vid_win.height];
/* open the file */
- if(!strcmp(camera->savefile, ""))
- fp = stdout;
- else if(camera->savefile != NULL)
+ if (camera->savefile != NULL && strcmp(camera->savefile, "") != 0)
fp = fopen(camera->savefile, "w");
if (fp == NULL){
@@ -371,13 +357,11 @@ void png_save(struct Camera *camera)
void ppm_save(struct Camera *camera)
{
- FILE *outfile;
+ FILE *outfile = stdout;
unsigned char buff[3];
int i;
- if(!strcmp(camera->savefile, ""))
- outfile = stdout;
- else if(camera->savefile != NULL)
+ if (camera->savefile != NULL && strcmp(camera->savefile, "") != 0)
outfile = fopen(camera->savefile, "w");
if (outfile == NULL){
@@ -423,19 +407,13 @@ void ppm_save(struct Camera *camera)
void jpeg_save(struct Camera *camera)
{
- FILE *outfile;
- int ls=0, x, y;
- int i;
- int lines, pixels_per_line;
- unsigned char buff[3];
+ FILE *outfile = stdout;
struct jpeg_compress_struct cinfo;
struct jpeg_error_mgr jerr;
JSAMPROW row_pointer[1]; // pointer to JSAMPLE row(s)
int row_stride; // physical row width in image buffer
- if(!strcmp(camera->savefile, ""))
- outfile = stdout;
- else if(camera->savefile != NULL)
+ if (camera->savefile != NULL && strcmp(camera->savefile, "") != 0)
outfile = fopen(camera->savefile, "w");
if (outfile == NULL){
@@ -481,19 +459,9 @@ void jpeg_save(struct Camera *camera)
void raw_save(struct Camera *camera)
{
- FILE *outfile;
- int ls=0, x, y;
- int i;
- int lines, pixels_per_line;
- unsigned char buff[3];
- struct jpeg_compress_struct cinfo;
- struct jpeg_error_mgr jerr;
- JSAMPROW row_pointer[1]; // pointer to JSAMPLE row(s)
- int row_stride; // physical row width in image buffer
+ FILE *outfile = stdout;
- if(!strcmp(camera->savefile, ""))
- outfile = stdout;
- else if(camera->savefile != NULL)
+ if (camera->savefile != NULL && strcmp(camera->savefile, "") != 0)
outfile = fopen(camera->savefile, "w");
if (outfile == NULL){
@@ -559,7 +527,7 @@ void switch_page_ppm(GtkWidget *widget,
void save_dialog(GtkWidget *widget, struct Camera *camera)
{
- GtkWidget *notebook;
+// GtkWidget *notebook;
GtkWidget *window;
GtkWidget *label;
GtkWidget *button;
@@ -820,7 +788,7 @@ void savefile_append_time(struct Camera
else
length = (dotlocation - camera->savefileclean)/(sizeof(char));
strncpy(prefix, camera->savefileclean, length);
- sprintf(curtime, "-%d", time(NULL));
+ sprintf(curtime, "-%ld", time(NULL));
strcpy(prefix+length, curtime);
strcpy(prefix+length+strlen(curtime), camera->savefileclean+length);
// printf("%s\n", prefix);
diff -upr gqcam-0.9.1-5.orig/timer.c gqcam-0.9.1-5/timer.c
--- gqcam-0.9.1-5.orig/timer.c 2005-04-04 03:25:09.000000000 +0200
+++ gqcam-0.9.1-5/timer.c 2008-10-20 19:58:33.000000000 +0200
@@ -82,7 +82,7 @@ void timer_ok(GtkWidget *widget, struct
camera->on_timer = 1;
- if(strnlen(gtk_entry_get_text(GTK_ENTRY(camera->timer_struct.commandentry))) != 0){
+ if(strlen(gtk_entry_get_text(GTK_ENTRY(camera->timer_struct.commandentry))) != 0){
strcpy(camera->timer_struct.command, gtk_entry_get_text(GTK_ENTRY(camera->timer_struct.commandentry)));
camera->timer_struct.iscommand = 1;
}