Hello Linux / DV users,
Summary: I think I have a fix for the problem with pix_video that has effected several people on some linux distributions. Please read on if this matters to you.
Note: this is probably for the pd-dev list, but I am not on it, so I
hope
that one of the PD-dev people can pick up on this and say "aha! I can
do this!"
I am using a machine with udev on it, so the device names are
not the ones expected by the pix_video object. In particular around
line 213 of videoDV4L.cpp I see that /dev/ieee1394/dv/host0/PAL/in is
being looked at, then
/dev/dv1394.
The error that I think I am seeing is that buf is being set to /dev/
ieee1394/dv/host0/PAL/in
then this is not working (it doesn't exist) and the next attempt to
access /dev/dv1394
is finding that this is a directory (on my machine). So I get the
nonsensical
error:
/dev/ieee1394/dv/host0/PAL/in: Is a directory
On my machine at least, the devices are /dev/dv1394/0 and /dev/dv1394/1. When I make a link from /dev/ieee1394/dv/host0/PAL/in to /dev/dv1394/0 then all is well.
Suggested solution: add more possibilities in this series of tests.
snprintf(buf, 32, "/dev/ieee1394/dv/host%d/%s/in", devnum,
(m_norm==NTSC)?"NTSC":"PAL");
if ((fd = open(buf, O_RDWR)) < 0) {
if ((fd=open("/dev/dv1394", O_RDWR)) < 0) {
snprintf(buf, 32, "/dev/dv1394/%d", devnum); /* new for
debian udev */
if ((fd=open(buf, O_RDWR)) < 0) {
perror(buf);
return -1;
}
}
}
I am sorry that I am not currently a developer and cannot do this
myself. I am sure someone else out there is clever enough to make it
work
quickly!
I am sure there is a more elegant way to go about this, but I cannot
work
out how to locate the appropriate devices using the "ever so clever"
udev
system. It seems that people who want to should be able to set up udev
to have special names for special devices. One possibly solution
would be to allow
a message to pass a device name to pix_video, then this device name
would be
used instead of pix_video trying to guess. In that case I might have
been able to
use a openpanel to point pix_video at the correct /dev/dv1394/0.
Perhaps other people who cannot get this to work can try to find out
what
the correct name on their machine is. The names that might work are like
/dev/dv1394, if I ls -l /dev/1394/0 on my machine I see
crw-rw---- 1 root video 171, 32 2007-08-22 03:42 /dev/dv1394/0
which means I am the right place: the c at the start tells me that this
is a "special character" device and the "major number" 171 tells me
(I think!)
that this is a video device.
So if you want to find some other devices that should be looked at in this opening routine, then perhaps suggest them now so that someone can add them to the source...
I am also not sure that this way of working through the list of possible places for the camera and reporting an error about the last one that was tried and failed is the best. But that's something for another day.
Cheers,
Tim
On 15/08/2007, at 2:55 PM, Joseph Barrows wrote:
Hi, I'm having the same problem under fedore core 6 - there is no /dev/ video
any advice? (there is no /dev/ieee1394 either
(kino see the camera fine)
thanks, Joseph
On 15/08/07, Tim Boykett tim@timesup.org wrote: Hi Kids!
Time for a new adventure. I would like to have a working firewire camera input for manipulation in Gem on a linux box that is sitting here purring at me. The cam works fine with Kino and dvgrab, so the linux-firewire connection is all well.
But I am having no luck with pix_video or pdp_v4l. The main problem seems to be that (apparently) recently the naming conventions in debian and possibly linux in general were changed. So there is no more /dev/video0 for the v4l mode, and for pix_video trying to work directly with ieee1394, I get complaints that /dev/ieee1394/dv/ host/PAL/in "Is a directory".
Has anyone had more luck? Do I need to going from stable to testing in some parts of debian? Do I need to use some special somethings?
Looking forward to the d'Oh moment,
Tim
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
-- Joseph Barrows live video performance; web site design; new media artist jjbarrows.artwww.net jjbarrows@artwww.net _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list