[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Skype-2.0 is here!
- To: Luigi Rizzo <rizzo_(_at_)_iet_(_dot_)_unipi_(_dot_)_it>
- Subject: Re: Skype-2.0 is here!
- From: Matthias Apitz <guru_(_at_)_unixarea_(_dot_)_de>
- Date: Sat, 30 May 2009 12:32:54 +0200
- Cc: freebsd-multimedia_(_at_)_freebsd_(_dot_)_org, freebsd-emulation_(_at_)_freebsd_(_dot_)_org, Hans Petter Selasky <hselasky_(_at_)_freebsd_(_dot_)_org>, Beech Rintoul <beech_(_at_)_freebsd_(_dot_)_org>
- Reply-to: Matthias Apitz <guru_(_at_)_unixarea_(_dot_)_de>
El día Saturday, May 30, 2009 a las 11:05:40AM +0200, Luigi Rizzo escribió:
> On Sat, May 30, 2009 at 09:55:32AM +0200, Hans Petter Selasky wrote:
> >
> > Hi all,
> >
> > We need some common effort to get Video4Linux USB devices working on FreeBSD.
> > First of all we need to push a video4linux library.
> >
> > -lvideodevx
> >
> > Methods:
> >
> > int videodevx_open(int unit); /* returns a handle, not neccesarily a
> > file-handle */
> > int videodevx_read(int hdl, ptr, len);
> > int videodevx_write(int hdl, ptr, len);
> > int videodevx_ioctl(int hdl, cmd, arg);
> > int videodevx_mmap(int hdl, void *addr, size_t len, int prot, int flags, int
> > fd, off_t offset);
> > int videodevx_getfd(int hdl); /* used for polling */
> > int videodevx_close(int hdl);
> >
> > Some work in progress is available from:
> >
> > svn --username anonsvn --password anonsvn \
> > checkout svn://svn.turbocat.net/i4b/trunk/usbcam
> >
> > Download "linux-2.6.29" to "ulinux/linux"
> >
> > cd ulinux
> >
> > make clean all
> >
> > NOTE: It's not linking yet.
> >
> > Second, we need a userland port for Video4Linux, which I am working on. So
> > that the application directly receives the USB data and talks to the webcam
> > through -lvideodevx and the new BSD licensed -lusb .
> >
> > Third we need to convince everyone to use videodevx when opening video
> > devices. On linux videodevx will simply be a wrapper for
> > open/close/ioctl/... . On FreeBSD videodevx will be a complete USB webcam
> > driver library.
> >
> > Anyone that wants to join heads?
>
> Excellent summary which covers the situation for native apps.
>
> I wonder if the case is a bit different for skype and linux binaries
> in general, as they run under linux emulation so perhaps the
> it is the linuxulator that has to emulate the v4l(2?) calls,
> and i have no idea if this needs to be done in the kernel or we
> can deal with this in some libc wrapper ?
Some time ago (using RELENG_7) I did some effort to port Ekiga, PWLib
and Opal out of SVN to FreeBSD because the port versions have been
outdated at this time. I wanted to use the Ekiga client to
connect to our Polycon VC system but there was a bug in the Polycon which
could not decifer the video encoding and so this ended up for me in a
dead project :-(
old details are here:
http://wiki.ekiga.org/index.php/Compile_your_own_SVN_version_of_Ekiga_on_FreeBSD
In any case, there was support for video in
ptlib/plugins/vidinput_v4l/vidinput_v4l.cxx
and the only change I had to made to make it work in FreeBSD was the manner of picking
up the /dev/video0 and not using the Linux major and minor number:
#if defined(P_FREEBSD)
// device numbers are irrelevant here, so we match on names
// instead.
if (filename.GetLength() <= 5 || filename.Left(5) != "video")
continue;
int num = atoi(filename.Mid(6));
if (num < 0 || num > 63)
continue;
vid.SetAt(num, devname);
#else
static const int deviceNumbers[] = { 81 };
for (PINDEX i = 0; i < PARRAYSIZE(deviceNumbers); i++) {
if (MAJOR(s.st_rdev) == deviceNumbers[i]) {
PINDEX num = MINOR(s.st_rdev);
if (num <= 63 && num >= 0) {
vid.SetAt(num, devname);
}
}
}
#endif
the rest of the code was just working above the /dev/video0 device
provided by the pwc.ko.
I'm wondering if we could make use of the PTlib plug-in for this as well?
To bring it under the linuxemulator is another story, though.
CU
matthias
--
Matthias Apitz
t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211
e <guru_(_at_)_unixarea_(_dot_)_de> - w http://www.unixarea.de/
People who hate Microsoft Windows use Linux but people who love UNIX use FreeBSD.
_______________________________________________
freebsd-multimedia_(_at_)_freebsd_(_dot_)_org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia
To unsubscribe, send any mail to "freebsd-multimedia-unsubscribe_(_at_)_freebsd_(_dot_)_org"
Visit your host, monkey.org