Date: Tue, 02 Feb 2010 02:21:53 -0500 From: Curtis Villamizar <curtis@occnc.com> To: freebsd-multimedia@freebsd.org Cc: curtis@occnc.com Subject: Ekiga3 and webcamd working (was: [FreeBSD 8/9] USB webcamd and video4bsd: Call for testing) Message-ID: <201002020721.o127Lr5e018528@harbor.orleans.occnc.com>
next in thread | raw e-mail | index | archive | help
------- =_aaaaaaaaaa0 Content-Type: text/plain; charset="us-ascii" Content-ID: <18394.1265094421.1@harbor.orleans.occnc.com> Still playing with my netbook. I now have Ekiga3 running with webcamd, video4bsd, libv4l. The patches are *not* quite ready for prime time but if you also do a "setenv LDFLAGS '-L /usr/local/lib'" or equiv for your shell it will all work. The configure and Makefiles may need to be patched in plugins/vidinput_v4l2 may need to be changed to have /usr/local/lib added to the library search path correctly. The patches are applied to devel/ptlib26 and are all tiny changes. A few less PTRACE lines in vidinput_names.cxx might have been plenty. The sound_oss.cxx patch creates four entries with dsp0, dsp1, dsp2, dsp3, rather than four entries each with dsp0 in it. The patches aren't quite right but it gets ekiga3 running with V4L2 for now. That said, I haven't tried a call yet, just the "View -> Show Call Panel" and "View -> Local Video". Curtis ------- =_aaaaaaaaaa0 Content-Type: text/plain; filename="Makefile.diffs"; charset="us-ascii" Content-ID: <18394.1265094421.2@harbor.orleans.occnc.com> --- Makefile.orig 2009-11-14 13:13:04.000000000 -0800 +++ Makefile 2010-02-01 22:39:54.000000000 -0800 @@ -31,6 +31,7 @@ OPTIONS= ODBC "Use ODBC" On \ V4L "Use Video4Linux" Off \ + V4L2 "Use Video4BSD (incl V4L)" Off \ BSDVIDEO "Enable BSD video support" On \ SDL "Use SDL" On \ LDAP "Enable LDAP support" Off @@ -64,6 +65,11 @@ PLIST_SUB+= BSDVIDEO="@comment " .endif +# if V4L2 is defined add V4L +.if defined(WITH_V4L2) +WITH_V4L=1 +.endif + .if defined(WITH_V4L) CONFIGURE_ARGS+=--enable-v4l PLIST_SUB+= V4L="" @@ -74,6 +80,15 @@ PLIST_SUB+= V4L="@comment " .endif +.if defined(WITH_V4L2) +CONFIGURE_ARGS+=--enable-v4l2 +PLIST_SUB+= V4L2="" +BUILD_DEPENDS+= ${LOCALBASE}/include/libv4l2.h:${PORTSDIR}/multimedia/libv4l +.else +CONFIGURE_ARGS+=--disable-v4l2 +PLIST_SUB+= V4L2="@comment " +.endif + .if defined(WITH_VIDEO) CONFIGURE_ARGS+= --enable-video PLIST_SUB+= VIDEODIR="" ------- =_aaaaaaaaaa0 Content-Type: text/plain; filename="pkg-plist.diffs"; charset="us-ascii" Content-ID: <18394.1265094421.3@harbor.orleans.occnc.com> --- pkg-plist.orig 2009-10-31 12:44:19.000000000 -0700 +++ pkg-plist 2010-02-01 22:37:06.000000000 -0800 @@ -163,6 +163,7 @@ lib/ptlib-%%PORTVERSION%%/devices/sound/oss_pwplugin.so %%BSDVIDEO%%lib/ptlib-%%PORTVERSION%%/devices/videoinput/bsdvideo_pwplugin.so %%V4L%%lib/ptlib-%%PORTVERSION%%/devices/videoinput/v4l_pwplugin.so +%%V4L2%%lib/ptlib-%%PORTVERSION%%/devices/videoinput/v4l2_pwplugin.so libdata/pkgconfig/ptlib.pc %%DATADIR%%/make/common.mak %%DATADIR%%/make/lib.mak ------- =_aaaaaaaaaa0 Content-Type: text/plain; filename="files/patch-sound_oss.cxx"; charset="us-ascii" Content-ID: <18394.1265094421.4@harbor.orleans.occnc.com> --- plugins/sound_oss/sound_oss.cxx.orig 2009-09-20 17:25:31.000000000 -0700 +++ plugins/sound_oss/sound_oss.cxx 2010-01-31 22:42:36.000000000 -0800 @@ -179,7 +179,7 @@ // like /dev/dsp0.0 /dev/dsp0.1 ... // everything else would conflict with other KDE apps using the // audio - devname = devdir + "dsp0"; + devname = devdir + "dsp" + PString(cardnum); PTRACE(1, "OSS\tCollectSoundDevices FreeBSD devname set to devfs(5) name:" << devname ); #endif /* defined (P_FREEBSD) */ dsp.SetAt(cardnum+1, devname); ------- =_aaaaaaaaaa0 Content-Type: text/plain; filename="files/patch-vidinput_names.cxx"; charset="us-ascii" Content-ID: <18394.1265094421.5@harbor.orleans.occnc.com> --- plugins/vidinput_v4l2/vidinput_names.cxx.orig 2009-09-20 17:25:31.000000000 -0700 +++ plugins/vidinput_v4l2/vidinput_names.cxx 2010-02-01 22:04:32.000000000 -0800 @@ -33,21 +33,25 @@ void V4LXNames::ReadDeviceDirectory(PDirectory devdir, POrdinalToString & vid) { + PTRACE(2, "V4L2: V4LXNames::ReadDeviceDirectory : enter"); if (!devdir.Open()) return; -#if defined (P_SOLARIS) || defined (P_NETBSD) +#if defined (P_SOLARIS) || defined (P_NETBSD) || defined (P_FREEBSD) int devnum = 0; do { PString filename = devdir.GetEntryName(); if (!filename.NumCompare("video", 5 , 0)) { PString devname = devdir + filename; struct stat s; + PTRACE(2, "V4L2: check: " << devname); if (lstat(devname, &s) == 0) { + PTRACE(1, "V4L2: vid[" << devnum << "] set to " << devname); vid.SetAt(devnum++, devname); } } } while (devdir.Next()); + PTRACE(2, "V4L2: V4LXNames::ReadDeviceDirectory : done"); #else do { PString filename = devdir.GetEntryName(); ------- =_aaaaaaaaaa0--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002020721.o127Lr5e018528>