diff options
author | luigi <luigi@FreeBSD.org> | 2007-02-07 08:45:08 +0800 |
---|---|---|
committer | luigi <luigi@FreeBSD.org> | 2007-02-07 08:45:08 +0800 |
commit | f49e48763142b94af444615d5f5d5f8783a4e052 (patch) | |
tree | 4d18cd606c61c458681289ce1f5610b579715c2f /devel | |
parent | af7d8b37524d3408f1eb8225a5e36e88fd14cff3 (diff) | |
download | freebsd-ports-gnome-f49e48763142b94af444615d5f5d5f8783a4e052.tar.gz freebsd-ports-gnome-f49e48763142b94af444615d5f5d5f8783a4e052.tar.zst freebsd-ports-gnome-f49e48763142b94af444615d5f5d5f8783a4e052.zip |
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
Diffstat (limited to 'devel')
-rw-r--r-- | devel/pwlib/files/patch-plugins-vidinput_v4l-vidinput_v4l.cxx | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/devel/pwlib/files/patch-plugins-vidinput_v4l-vidinput_v4l.cxx b/devel/pwlib/files/patch-plugins-vidinput_v4l-vidinput_v4l.cxx new file mode 100644 index 000000000000..11c6e52b70d8 --- /dev/null +++ b/devel/pwlib/files/patch-plugins-vidinput_v4l-vidinput_v4l.cxx @@ -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 + } + } + } |