--- 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 ---