Re: [Ekiga-list] Ekiga && V4L && FreeBSD
- From: Steve Ames <steve energistic com>
- To: Matthias Apitz <matthias apitz oclc org>
- Cc: Ekiga mailing list <ekiga-list gnome org>
- Subject: Re: [Ekiga-list] Ekiga && V4L && FreeBSD
- Date: Wed, 19 Mar 2008 09:58:10 -0400
On Wed, Mar 19, 2008 at 01:09:46PM +0100, Matthias Apitz wrote:
> Yes, it is an issue of major/minor numbers which are diffrent in Linux
> and FreeBSD vor the cam; with this small change:
>
> # pwd
> /usr/ports/devel/pwlib/work/pwlib_Phobos_release2/plugins/vidinput_v4l
> # diff vidinput_v4l.cxx*
> 462,464c462
> < // static const int deviceNumbers[] = { 81 };
> < // for FreeBSD's pwc driver the major number is 0 and minor is 146
> < static const int deviceNumbers[] = { 0 };
> ---
> > static const int deviceNumbers[] = { 81 };
> 468,469c466
> < // if (num <= 63 && num >= 0) {
> < if (num <= 146 && num >= 146) {
> ---
> > if (num <= 63 && num >= 0) {
>
> the driver attaches without any problem; to whom to talk about get this
> integrated into pwlib?
The following patch exists in the freebsd port, does it already
address this issue?
--- plugins/vidinput_v4l/vidinput_v4l.cxx.orig Wed Jan 3 23:37:37 2007
+++ plugins/vidinput_v4l/vidinput_v4l.cxx Wed Feb 7 01:30:50 2007
@@ -484,6 +484,15 @@
struct stat s;
if (lstat(devname, &s) == 0) {
+#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]) {
@@ -493,6 +502,7 @@
}
}
}
+#endif
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]