1 10992 elaine --- pwlib/plugins/vidinput_v4l2/vidinput_names.cxx.ori 2007-02-14 17:32:48.517613000 +0800 2 10992 elaine +++ pwlib/plugins/vidinput_v4l2/vidinput_names.cxx 2007-02-14 17:35:27.289899000 +0800 3 10992 elaine @@ -51,6 +51,19 @@ 4 10992 elaine if (!devdir.Open()) 5 10992 elaine return; 6 10992 elaine 7 10992 elaine +#ifdef SOLARIS 8 10992 elaine + int devnum = 0; 9 10992 elaine + do { 10 10992 elaine + PString filename = devdir.GetEntryName(); 11 10992 elaine + if (!filename.NumCompare("video", 5 , 0)) { 12 10992 elaine + PString devname = devdir + filename; 13 10992 elaine + struct stat s; 14 10992 elaine + if (lstat(devname, &s) == 0) { 15 10992 elaine + vid.SetAt(devnum++, devname); 16 10992 elaine + } 17 10992 elaine + } 18 10992 elaine + } while (devdir.Next()); 19 10992 elaine +#else 20 10992 elaine do { 21 10992 elaine PString filename = devdir.GetEntryName(); 22 10992 elaine PString devname = devdir + filename; 23 10992 elaine @@ -76,6 +89,7 @@ 24 10992 elaine } 25 10992 elaine } 26 10992 elaine } while (devdir.Next()); 27 10992 elaine +#endif 28 10992 elaine } 29 10992 elaine 30 10992 elaine void V4LXNames::PopulateDictionary() 31 10992 elaine --- pwlib/plugins/vidinput_v4l2/vidinput_v4l2.cxx.ori 2007-02-14 17:33:09.683507000 +0800 32 10992 elaine +++ pwlib/plugins/vidinput_v4l2/vidinput_v4l2.cxx 2007-02-14 17:33:36.649737000 +0800 33 10992 elaine @@ -1122,11 +1122,7 @@ 34 10992 elaine } 35 10992 elaine if (inputDeviceNames.GetSize() == 0) { 36 10992 elaine POrdinalToString vid; 37 10992 elaine -#ifdef SOLARIS 38 10992 elaine - vid.SetAt(0,"/dev/video"); 39 10992 elaine -#else 40 10992 elaine ReadDeviceDirectory("/dev/", vid); 41 10992 elaine -#endif 42 10992 elaine 43 10992 elaine for (PINDEX i = 0; i < vid.GetSize(); i++) { 44 10992 elaine PINDEX cardnum = vid.GetKeyAt(i); 45 10992 elaine --- pwlib/plugins/vidinput_v4l2/vidinput_v4l2.h.ori 2007-02-14 17:39:38.651980000 +0800 46 10992 elaine +++ pwlib/plugins/vidinput_v4l2/vidinput_v4l2.h 2007-01-25 10:26:27.910294000 +0800 47 10992 elaine @@ -74,7 +74,7 @@ 48 10992 elaine #include <ptlib/vconvert.h> 49 10992 elaine 50 10992 elaine #ifdef SOLARIS 51 10992 elaine -#include <videodev2.h> 52 10992 elaine +#include <sys/videodev2.h> 53 10992 elaine #else 54 10992 elaine #include <linux/videodev.h> 55 10992 elaine #endif 56 10992 elaine --- pwlib/plugins/configure.in.ori 2007-02-14 17:43:08.093963000 +0800 57 10992 elaine +++ pwlib/plugins/configure.in 2007-02-14 18:08:25.537939000 +0800 58 10992 elaine @@ -129,7 +129,7 @@ 59 10992 elaine 60 10992 elaine if test "${enable_v4l2}z" = "yesz" ; then 61 10992 elaine if test "${OSTYPE}z" = "solaris2.11z"; then 62 10992 elaine - VIDEODEV="videodev2.h" 63 10992 elaine + VIDEODEV="sys/videodev2.h" 64 10992 elaine else 65 10992 elaine VIDEODEV="linux/videodev2.h" 66 10992 elaine fi 67 10992 elaine @@ -138,6 +138,11 @@ 68 10992 elaine #ifdef __linux__ 69 10992 elaine #include <linux/types.h> 70 10992 elaine #include <linux/time.h> 71 10992 elaine +#else 72 10992 elaine +#ifdef __sun 73 10992 elaine +#include <sys/types.h> 74 10992 elaine +#include <sys/time.h> 75 10992 elaine +#endif 76 10992 elaine #endif 77 10992 elaine ]) 78 10992 elaine AC_MSG_CHECKING(for V4L2 video support) 79