mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
Enable proper detection of video4linux devices.
The original code detects video devices using the major/minor numbers. On FreeBSD this does not work, so rely on the name /dev/video* instead. Approved by: Steve Ames
This commit is contained in:
parent
bcee6b713e
commit
3e8f93ae0e
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=184447
1 changed files with 26 additions and 0 deletions
|
@ -0,0 +1,26 @@
|
||||||
|
--- 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue