Your message dated Wed, 17 Feb 2010 17:02:31 +0000
with message-id <e1nhnif-0006b3...@ries.debian.org>
and subject line Bug#569090: fixed in camstream 0.27+dfsg-4
has caused the Debian Bug report #569090,
regarding Uses obsolete V4L1 API
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
569090: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=569090
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: camstream
Version: 0.27+dfsg-3
Severity: serious
Tags: patch

The V4L1 API is obsolete and does not work with most new V4L drivers.
You can use libv4l as an emulation layer; see the attached patch by
Hans de Goede.

Ben.

-- System Information:
Debian Release: squeeze/sid
  APT prefers proposed-updates
  APT policy: (500, 'proposed-updates'), (500, 'unstable'), (500, 'stable'), 
(1, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 2.6.32-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -ur camstream-0.26.3/camstream/Makefile.in camstream-0.26.3.new/camstream/Makefile.in
--- camstream-0.26.3/camstream/Makefile.in	2008-09-05 17:11:56.000000000 +0200
+++ camstream-0.26.3.new/camstream/Makefile.in	2008-09-05 17:11:22.000000000 +0200
@@ -100,10 +100,10 @@
 
 # The programs
 camstream:	$(STREAMOBJS) $(SUBS)
-	$(CXX) -o $@ $(LDFLAGS) $(STREAMOBJS) $(SUBS) $(MLIBS) $(LIBS)
+	$(CXX) -o $@ $(LDFLAGS) $(STREAMOBJS) $(SUBS) $(MLIBS) $(LIBS) -lv4l1
 
 caminfo:	$(INFOOBJS) $(SUBS)
-	$(CXX) -o $@ $(LDFLAGS) $(INFOOBJS) $(SUBS)  $(MLIBS) $(LIBS)
+	$(CXX) -o $@ $(LDFLAGS) $(INFOOBJS) $(SUBS)  $(MLIBS) $(LIBS) -lv4l1
 
 ftpput:		$(FTPOBJS) $(SUBS)
 	$(CXX) -o $@ $(LDFLAGS) $(FTPOBJS) $(SUBS) $(MLIBS) $(LIBS)
Only in camstream-0.26.3.new/camstream: Makefile.in~
diff -ur camstream-0.26.3/camstream/devices/VideoDevice.cc camstream-0.26.3.new/camstream/devices/VideoDevice.cc
--- camstream-0.26.3/camstream/devices/VideoDevice.cc	2003-11-22 03:49:27.000000000 +0100
+++ camstream-0.26.3.new/camstream/devices/VideoDevice.cc	2008-09-05 17:07:18.000000000 +0200
@@ -12,6 +12,8 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
+#include <libv4l1.h>
+
 #undef TRACE_VIDEODEV_READ
 #define TRACE_VIDEODEV_MEM
 
@@ -87,9 +89,9 @@
    pNullImage = new QImage();
    
    // Do a small test
-   CamFD = ::open((const char *)node_name, O_RDONLY);
+   CamFD = v4l1_open((const char *)node_name, O_RDONLY);
    if (CamFD >= 0) {
-     if (ioctl(CamFD, VIDIOCGCAP, &vcap) < 0) {
+     if (v4l1_ioctl(CamFD, VIDIOCGCAP, &vcap) < 0) {
        qDebug("CVideoDevice::CVideoDevice() could not query capabilities; is this really a video device?");
      }
      else {
@@ -116,7 +118,7 @@
             AudioInputs.insert(i, new CVideoAudioInput(this, i));
        }
      }
-     ::close(CamFD);
+     v4l1_close(CamFD);
    }
    else 
      if (errno == EBUSY)
@@ -135,7 +137,7 @@
      qWarning("Warning: CVideoDevice `%s' was destroyed when it was in use more than once.", (const char *)NodeName);
    CleanUp();
    if (CamFD >= 0) {
-     close(CamFD);
+     v4l1_close(CamFD);
      emit Closed();
    }
 
@@ -167,7 +169,7 @@
      return;
    }
    
-   if (ioctl(CamFD, VIDIOCGPICT, &VPic) < 0) {
+   if (v4l1_ioctl(CamFD, VIDIOCGPICT, &VPic) < 0) {
      qDebug("CVideoDevice::Init: could not get picture parameters. (duh?)");
      return;
    }
@@ -175,7 +177,7 @@
 
    HasFramerate = FALSE;
    memset(&vwin, 0, sizeof(struct video_window));
-   if (ioctl(CamFD, VIDIOCGWIN, &vwin) == 0) {
+   if (v4l1_ioctl(CamFD, VIDIOCGWIN, &vwin) == 0) {
 #if defined(PWC_FPS_SHIFT)
      if ((vwin.flags & PWC_FPS_FRMASK) >> PWC_FPS_SHIFT) {
        HasFramerate = TRUE;
@@ -191,7 +193,7 @@
    VMBuf.size = 0;
    VMBuf.frames = 0;
    vid_io_buffer_size = 0;
-   if (ioctl(CamFD, VIDIOCGMBUF, &VMBuf) == 0) {
+   if (v4l1_ioctl(CamFD, VIDIOCGMBUF, &VMBuf) == 0) {
 qDebug("Using mmap(), VMBuf.size = %d", VMBuf.size);
      vid_io_buffer_size = VMBuf.size;
      if (Buffers > 0) {
@@ -211,7 +213,7 @@
    
    /* See if we can actually mmap() the memory */
    if (VMBuf.size > 0) {
-     vid_io_buffer = (uchar *)mmap(NULL, vid_io_buffer_size, PROT_READ, MAP_SHARED, CamFD, 0);
+     vid_io_buffer = (uchar *)v4l1_mmap(NULL, vid_io_buffer_size, PROT_READ, MAP_SHARED, CamFD, 0);
      if (vid_io_buffer == (uchar *)-1) {
        qWarning("CVideoDevice::Init(): mmap() failed (%d). Falling back to non-mmap()ed mode.", errno);
        VMBuf.size = 0;
@@ -248,7 +250,7 @@
 {
    if (VMBuf.size > 0) {
      MSync(); // Just to make sure
-     munmap(vid_io_buffer, vid_io_buffer_size);
+     v4l1_munmap(vid_io_buffer, vid_io_buffer_size);
      VMBuf.size = 0;
    }
    else
@@ -268,10 +270,10 @@
 {
    VPic.palette = pal;
    VPic.depth = depth;
-   if (ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
+   if (v4l1_ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
      return FALSE;
    /* Sigh. It was to be expected. The OV511 and IBMCam don't pay attention to the palette field */
-   if (ioctl(CamFD, VIDIOCGPICT, &VPic) < 0)
+   if (v4l1_ioctl(CamFD, VIDIOCGPICT, &VPic) < 0)
      return FALSE;
    if (VPic.palette == pal) {
      Palette = pal;
@@ -350,7 +352,7 @@
 #ifdef TRACE_VIDEODEV_READ
    qDebug("CVideoDevice::MCapture(): buffer %d, format %d, size (%dx%d)", buf, Palette, image_w, image_h);
 #endif  
-   if (ioctl(CamFD, VIDIOCMCAPTURE, &vm) < 0) {
+   if (v4l1_ioctl(CamFD, VIDIOCMCAPTURE, &vm) < 0) {
      perror("CVideoDevice::MCapture() ioctl");
      return -errno;
    }
@@ -368,7 +370,7 @@
 #ifdef TRACE_VIDEODEV_READ
    qDebug("CVideoDevice::MSync()   : buffer %d", CurBuffer);
 #endif  
-   if (ioctl(CamFD, VIDIOCSYNC, &CurBuffer) < 0) {
+   if (v4l1_ioctl(CamFD, VIDIOCSYNC, &CurBuffer) < 0) {
      perror("CVideoDevice::MSync() ioctl");
      return -errno;
    }
@@ -580,7 +582,7 @@
      qWarning("Warning: VideoDevice already opened ?!?!");
      return 0;
    }
-   CamFD = ::open(NodeName, O_RDONLY);
+   CamFD = v4l1_open(NodeName, O_RDONLY);
    if (CamFD < 0) {
      Opened = 0;
      return -errno;
@@ -619,7 +621,7 @@
        delete pImageSocket;
        pImageSocket = NULL;
        CleanUp();
-       close(CamFD);
+       v4l1_close(CamFD);
        CamFD = -1;
        emit Closed();
      }
@@ -753,7 +755,7 @@
 
    image_w = 0;
    image_h = 0;
-   if (CamFD >= 0 && ioctl(CamFD, VIDIOCGWIN, &vwin) == 0) {
+   if (CamFD >= 0 && v4l1_ioctl(CamFD, VIDIOCGWIN, &vwin) == 0) {
      image_w = vwin.width;
      image_h = vwin.height;
    }
@@ -803,7 +805,7 @@
 printf("CVideoDevice::SetSize(%d, %d)\n", width, height);
    if (CamFD < 0 || width > max_w || height > max_h)
      return FALSE;
-   if (ioctl(CamFD, VIDIOCGWIN, &vwin) < 0) {
+   if (v4l1_ioctl(CamFD, VIDIOCGWIN, &vwin) < 0) {
      perror("GWIN: ");
      return FALSE;
    }
@@ -813,7 +815,7 @@
    vwin.width = width;
    vwin.height = height;
    vwin.clipcount = 0;
-   if (ioctl(CamFD, VIDIOCSWIN, &vwin) < 0) {
+   if (v4l1_ioctl(CamFD, VIDIOCSWIN, &vwin) < 0) {
      perror("SWIN");
    }
    else {
@@ -867,7 +869,7 @@
    if (CamFD < 0)
      return -1;
    if (HasFramerate) {
-     if (ioctl(CamFD, VIDIOCGWIN, &vwin) < 0)
+     if (v4l1_ioctl(CamFD, VIDIOCGWIN, &vwin) < 0)
        return -1;
 #if defined(PWC_FPS_SHIFT)       
      return (vwin.flags & PWC_FPS_FRMASK) >> PWC_FPS_SHIFT;
@@ -890,7 +892,7 @@
 {
    struct video_window vwin;
 qDebug("CVideoDevice::SetFramerate(%d)", fps);
-   if (CamFD < 0 || ioctl(CamFD, VIDIOCGWIN, &vwin) < 0)
+   if (CamFD < 0 || v4l1_ioctl(CamFD, VIDIOCGWIN, &vwin) < 0)
      return FALSE;
 
    if (HasFramerate) {
@@ -904,7 +906,7 @@
      vwin.flags = (vwin.flags & ~PWC_FPS_MASK) | (FrameRate << PWC_FPS_SHIFT);
 //qDebug("Setting framerate -> 0x%x\n", vwin.flags);
 #endif     
-     if (ioctl(CamFD, VIDIOCSWIN, &vwin) < 0)
+     if (v4l1_ioctl(CamFD, VIDIOCSWIN, &vwin) < 0)
        return FALSE;
 //     MCapture(CurBuffer); // Try to grab new frame
    }
@@ -1010,8 +1012,8 @@
    ret = FALSE;
    if (CamFD >= 0 && (number >= 0 && number < (int)VideoInputs.count())) {
      arg.channel = number;
-     if (ioctl(CamFD, VIDIOCGCHAN, &arg) == 0) {
-       if (ioctl(CamFD, VIDIOCSCHAN, &arg) == 0) {
+     if (v4l1_ioctl(CamFD, VIDIOCGCHAN, &arg) == 0) {
+       if (v4l1_ioctl(CamFD, VIDIOCSCHAN, &arg) == 0) {
          CurrentVideoInput = number;
          emit ChangedVideoInput(number);
          ret = TRUE;
@@ -1074,9 +1076,9 @@
    
    if (CamFD >= 0 && (number >= 0 && number < (int)AudioInputs.count())) {
      va.audio = number;
-     if (ioctl(CamFD, VIDIOCGAUDIO, &va) == 0) {
+     if (v4l1_ioctl(CamFD, VIDIOCGAUDIO, &va) == 0) {
        va.audio = number;
-       if (ioctl(CamFD, VIDIOCSAUDIO, &va) == 0) {
+       if (v4l1_ioctl(CamFD, VIDIOCSAUDIO, &va) == 0) {
          CurrentAudioInput = number;
          // FIXME emit ChangedAudioInput(number)
          ret = TRUE;
@@ -1117,7 +1119,7 @@
      return FALSE;
 
    VPic.brightness = val & 0xffff;
-   if (ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
+   if (v4l1_ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
      return FALSE;
    return TRUE;
 }
@@ -1147,7 +1149,7 @@
      return FALSE;
 
    VPic.contrast = val & 0xffff;
-   if (ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
+   if (v4l1_ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
      return FALSE;
    return TRUE;
 }
@@ -1181,7 +1183,7 @@
      return FALSE;
 
    VPic.hue = val & 0xffff;
-   if (ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
+   if (v4l1_ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
      return FALSE;
    return TRUE;
 }
@@ -1217,7 +1219,7 @@
      return FALSE;
 
    VPic.colour = val & 0xffff;
-   if (ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
+   if (v4l1_ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
      return FALSE;
    return TRUE;
 }
@@ -1253,7 +1255,7 @@
      return FALSE;
 
    VPic.whiteness = val & 0xffff;
-   if (ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
+   if (v4l1_ioctl(CamFD, VIDIOCSPICT, &VPic) < 0)
      return FALSE;
    return TRUE;
 }
@@ -1286,7 +1288,7 @@
        MCapture((CurBuffer + 1) % Buffers); 
    }
    else {
-     if (read(CamFD, src, vid_io_image_size) < 0)
+     if (v4l1_read(CamFD, src, vid_io_image_size) < 0)
        return -errno;
    }
    
Only in camstream-0.26.3.new/camstream/devices: VideoDevice.cc~
diff -ur camstream-0.26.3/camstream/gui/VideoSettingsDlg.cc camstream-0.26.3.new/camstream/gui/VideoSettingsDlg.cc
--- camstream-0.26.3/camstream/gui/VideoSettingsDlg.cc	2002-05-01 02:23:21.000000000 +0200
+++ camstream-0.26.3.new/camstream/gui/VideoSettingsDlg.cc	2008-09-05 17:07:28.000000000 +0200
@@ -14,6 +14,8 @@
 #include <qslider.h>
 #include <qtabwidget.h>
 
+#include <libv4l1.h>
+
 #include "VideoDeviceInput.h"
 #include "VideoSettingsDlg.h" 
 #include "pwc-ioctl.h"
@@ -125,7 +127,7 @@
      struct pwc_probe probe;
 
      memset(&probe, 0, sizeof(probe));
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCPROBE, &probe) == 0) {
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCPROBE, &probe) == 0) {
        if (vidname == probe.name)
          IsPhilips = TRUE;
      }
@@ -138,7 +140,7 @@
      qDebug("Philips webcam detected, enabling extensions");
      PhilipsTab->show();
 
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAGC, &agc) < 0) {
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAGC, &agc) < 0) {
        qDebug("No VIDIOCPWCGAGC");
        AGCBox->setEnabled(FALSE);
        AGCValue->setEnabled(FALSE);
@@ -148,7 +150,7 @@
        AGCValue->setValue(abs(agc) / 256);
      }
 
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCGCONTOUR, &contour) < 0) {
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCGCONTOUR, &contour) < 0) {
        qDebug("No VIDIOCPWCGCONTOUR");
        ContourBox->setEnabled(FALSE);
        ContourValue->setEnabled(FALSE);
@@ -159,14 +161,14 @@
          ContourValue->setValue(contour / 256);
      }
 
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCGBACKLIGHT, &backlight) < 0) {
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCGBACKLIGHT, &backlight) < 0) {
        qDebug("No VIDIOCPWCGBACKLIGHT");
        BacklightBox->setEnabled(FALSE);
      }
      else
        BacklightBox->setChecked(backlight != 0);
 
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCGFLICKER, &flicker) < 0) {
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCGFLICKER, &flicker) < 0) {
        qDebug("No VIDIOCPWCGFLICKER");
        FlickerBox->setEnabled(FALSE);
      }
@@ -176,21 +178,21 @@
      ShutterBox->setChecked(TRUE);
 
 
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCGDYNNOISE, &dynnoise) < 0) {
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCGDYNNOISE, &dynnoise) < 0) {
        qDebug("No VIDIOCPWCGDYNNOISE");
        m_NoiseReduction->setEnabled(FALSE);
      }
      else
        m_NoiseReduction->setCurrentItem(dynnoise);
 
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCGCQUAL, &compr) < 0) {
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCGCQUAL, &compr) < 0) {
        qDebug("VIDIOCPWCGCQUAL failed");
        m_CompressionSelection->setEnabled(FALSE);
      }
      else
        m_CompressionSelection->setCurrentItem(compr);
 
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAWB, &wb) < 0) {
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAWB, &wb) < 0) {
        m_WhiteBalance->setEnabled(FALSE);
        m_RedDial->setEnabled(FALSE);
        m_BlueDial->setEnabled(FALSE);
@@ -200,7 +202,7 @@
        m_WhiteBalance->setCurrentItem(wb.mode);
        ChangedWB(wb.mode);
      }
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAWBSPEED, &wbs) < 0) {
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAWBSPEED, &wbs) < 0) {
        m_WBSpeed->setEnabled(FALSE);
        m_WBDelay->setEnabled(FALSE);
      }
@@ -309,12 +311,12 @@
 
    if (IsPhilips) {
      if (AGCBox->isChecked()) {
-       if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAGC, &agc) == 0) {
+       if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAGC, &agc) == 0) {
          AGCValue->setValue(-agc / 256);
        }
      }
      if (m_WBMode == PWC_WB_AUTO) {
-       if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAWB, &wb) == 0) {
+       if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAWB, &wb) == 0) {
          m_RedDial->setValue(wb.read_red / 256);
          m_BlueDial->setValue(wb.read_blue / 256);
        }
@@ -553,7 +555,7 @@
    AGCValue->setEnabled(!on);
    if (on) {
      int agc = -1;
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAGC, &agc) < 0)
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAGC, &agc) < 0)
        perror("VIDIOCPWCSAGC");
    }
 }
@@ -564,7 +566,7 @@
 
    if (!AGCBox->isChecked()) {
      agc = value * 256;
-     ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAGC, &agc);
+     v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAGC, &agc);
    }
 }
 
@@ -576,7 +578,7 @@
      ShutterValue->show();
    if (on) {
      int speed = -1;
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCSSHUTTER, &speed) < 0)
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSSHUTTER, &speed) < 0)
        perror("VIDIOCPWCSSHUTTER");
    }
 }
@@ -587,7 +589,7 @@
 
    if (!ShutterBox->isChecked()) {
      speed = value * 256;
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCSSHUTTER, &speed) < 0)
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSSHUTTER, &speed) < 0)
        perror("VIDIOCPWCSSHUTTER");
    }
 }
@@ -600,7 +602,7 @@
      ContourValue->show();
    if (on) {
      int contour = -1;
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCSCONTOUR, &contour) < 0)
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSCONTOUR, &contour) < 0)
        perror("VIDIOCPWCSCONTOUR");
    }
 }
@@ -611,7 +613,7 @@
 
    if (!ContourBox->isChecked()) {
      contour = value * 256;
-     if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCSCONTOUR, &contour) < 0)
+     if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSCONTOUR, &contour) < 0)
        perror("VIDIOCPWCSCONTOUR");
    }
 }
@@ -620,7 +622,7 @@
 {
    int backlight;
    backlight = on ? 1 : 0;
-   if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCSBACKLIGHT, &backlight) < 0)
+   if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSBACKLIGHT, &backlight) < 0)
      perror("VIDIOCPWCSBACKLIGHT");
 }
 
@@ -628,36 +630,36 @@
 {
    int flicker;
    flicker = on ? 1 : 0;
-   if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCSFLICKER, &flicker) < 0)
+   if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSFLICKER, &flicker) < 0)
      perror("VIDIOCPWCSFLICKER");
 }
 
 
 void CVideoSettingsDlg::ChangedNoise(int noise)
 {
-   if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCSDYNNOISE, &noise) < 0)
+   if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSDYNNOISE, &noise) < 0)
      perror("VIDIOCPWCSDYNNOISE");
 }
 
 void CVideoSettingsDlg::ChangedCompression(int compression)
 {
-   if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCSCQUAL, &compression) < 0)
+   if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSCQUAL, &compression) < 0)
      perror("VIDIOCPWCSCQUAL");
 }
 
 void CVideoSettingsDlg::ClickedSaveUser()
 {
-   ioctl(pVideo->GetDescriptor(), VIDIOCPWCSUSER);
+   v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSUSER);
 }
 
 void CVideoSettingsDlg::ClickedRestoreUser()
 {
-   ioctl(pVideo->GetDescriptor(), VIDIOCPWCRUSER);
+   v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCRUSER);
 }
 
 void CVideoSettingsDlg::ClickedRestoreFactory()
 {
-   ioctl(pVideo->GetDescriptor(), VIDIOCPWCFACTORY);
+   v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCFACTORY);
 }
 
 /**
@@ -676,7 +678,7 @@
    wb.mode = m_WBMode;
    wb.manual_red = m_RedDial->value() * 256;
    wb.manual_blue = m_BlueDial->value() * 256;
-   ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAWB, &wb);
+   v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAWB, &wb);
    
    if (m_WBMode == PWC_WB_MANUAL || m_WBMode == PWC_WB_AUTO) {
      m_RedDial->show();
@@ -688,7 +690,7 @@
        m_BlueDial->setValue(wb.manual_blue / 256);
      }
      else {
-       if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAWB, &wb) < 0)
+       if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCGAWB, &wb) < 0)
          perror("VIDIOCPWCGAWB 3");
        m_RedDial->setValue(wb.read_red / 256);
        m_BlueDial->setValue(wb.read_blue / 256);
@@ -707,7 +709,7 @@
    wb.mode = m_WBMode;
    wb.manual_red = m_RedDial->value() * 256;
    wb.manual_blue = m_BlueDial->value() * 256;
-   ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAWB, &wb);
+   v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAWB, &wb);
 }
 
 void CVideoSettingsDlg::MovedBlue(int blue)
@@ -717,7 +719,7 @@
    wb.mode = m_WBMode;
    wb.manual_red = m_RedDial->value() * 256;
    wb.manual_blue = m_BlueDial->value() * 256;
-   ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAWB, &wb);
+   v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAWB, &wb);
 }
 
 void CVideoSettingsDlg::MovedWBSpeed(int speed)
@@ -728,7 +730,7 @@
    wbs.control_speed = (255 - speed) << 8;
    wbs.control_delay = 0;
 
-   if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAWBSPEED, &wbs) < 0)
+   if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAWBSPEED, &wbs) < 0)
      perror("VIDIOCPWCSAWBSPEED speed");
 }
 
@@ -739,7 +741,7 @@
    wbs.control_speed = 0;
    wbs.control_delay = delay << 8;
 
-   if (ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAWBSPEED, &wbs) < 0)
+   if (v4l1_ioctl(pVideo->GetDescriptor(), VIDIOCPWCSAWBSPEED, &wbs) < 0)
      perror("VIDIOCPWCSAWBSPEED delay");
 }
 
Only in camstream-0.26.3.new/camstream/gui: VideoSettingsDlg.cc~
diff -up ./camstream-0.26.3/camstream/lib/FTPClient.cc~ ./camstream-0.26.3/camstream/lib/FTPClient.cc
--- camstream-0.26.3/camstream/lib/FTPClient.cc~	2008-09-05 18:00:15.000000000 +0200
+++ camstream-0.26.3/camstream/lib/FTPClient.cc	2008-09-05 18:00:15.000000000 +0200
@@ -231,7 +231,7 @@ int CFTPClient::SetupLocal(const QString
      ::close(LocalFileFD);
    }
    if (write)
-     LocalFileFD = ::open((const char *)filename, O_WRONLY | O_CREAT);
+     LocalFileFD = ::open((const char *)filename, O_WRONLY | O_CREAT, 0644);
    else
      LocalFileFD = ::open((const char *)filename, O_RDONLY);
 qDebug("CFTPClient::SetupLocal() Opened local file fd [%d].", LocalFileFD);

--- End Message ---
--- Begin Message ---
Source: camstream
Source-Version: 0.27+dfsg-4

We believe that the bug you reported is fixed in the latest version of
camstream, which is due to be installed in the Debian FTP archive:

camstream-doc_0.27+dfsg-4_all.deb
  to main/c/camstream/camstream-doc_0.27+dfsg-4_all.deb
camstream_0.27+dfsg-4.diff.gz
  to main/c/camstream/camstream_0.27+dfsg-4.diff.gz
camstream_0.27+dfsg-4.dsc
  to main/c/camstream/camstream_0.27+dfsg-4.dsc
camstream_0.27+dfsg-4_i386.deb
  to main/c/camstream/camstream_0.27+dfsg-4_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 569...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Martín Ferrari <tin...@debian.org> (supplier of updated camstream package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Wed, 17 Feb 2010 16:14:06 +0100
Source: camstream
Binary: camstream camstream-doc
Architecture: source i386 all
Version: 0.27+dfsg-4
Distribution: unstable
Urgency: low
Maintainer: Martín Ferrari <tin...@debian.org>
Changed-By: Martín Ferrari <tin...@debian.org>
Description: 
 camstream  - collection of tools for webcams and other video-devices
 camstream-doc - documentation for CamStream
Closes: 569090
Changes: 
 camstream (0.27+dfsg-4) unstable; urgency=low
 .
   * debian/patches/use_libv4l1.patch: Use the libv4l1 compatibility library.
     Closes: #569090.
   * debian/control: Add libv4l dependency. Remove duplicate Section.
   * debian/control: Bumped Standards-Version to 3.8.4; changes required:
     - debian/README.source: quilt boilerplate README.
     - debian/patches: add descriptions.
Checksums-Sha1: 
 9a011098b95d16db12347b13b1be68a2e04c29de 1202 camstream_0.27+dfsg-4.dsc
 fbaef327f0da5d71b039254e93cd60688cdcd744 23809 camstream_0.27+dfsg-4.diff.gz
 bdc172f63f400a50fcf3c544b9224d2daa349030 366480 camstream_0.27+dfsg-4_i386.deb
 2cc2a455d201a141a483237a8b1146f39e02f450 2982580 
camstream-doc_0.27+dfsg-4_all.deb
Checksums-Sha256: 
 8a6740c790c4949c5a2a5a438c60bba75c7e5ba8244b6c0c5487c527da2c5af2 1202 
camstream_0.27+dfsg-4.dsc
 0c4e18c4d907db8305220911a4ec0d3cdf898847c0a953cf92ef59b5ed9030b5 23809 
camstream_0.27+dfsg-4.diff.gz
 4659d890542dd8245af1e3a6df58cf397f3b8c5eff60ee2c29a015856651528e 366480 
camstream_0.27+dfsg-4_i386.deb
 5a4e1c645b7c5a84df3b3368846320dd2dcf5b312a1d3907f445de41ab390fe9 2982580 
camstream-doc_0.27+dfsg-4_all.deb
Files: 
 4265e9a310e74cee26e4ba31545d65d4 1202 misc optional camstream_0.27+dfsg-4.dsc
 6911f36ab5054cf7b8cbb66b10780027 23809 misc optional 
camstream_0.27+dfsg-4.diff.gz
 eee3ddbd63ecda1fef575ab1d403592b 366480 misc optional 
camstream_0.27+dfsg-4_i386.deb
 54ea92702ff9f8807d3333277c0feb82 2982580 doc optional 
camstream-doc_0.27+dfsg-4_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAkt8CLQACgkQaWQ2v1ddCnYjrgCeNXHrtPG+Snrs7j5g//inHf4A
deEAnigCxYjkDpV0VkJIK4h4fttGrBap
=1oHO
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to