Hi M__x,

Of course... :)
Here you go.

Thanks for the reply.

Gr33z, Tino


On Thu, 8 Jan 2009 20:47:55 +0300
Max Brazhnikov <[email protected]> wrote:

> Hi Tino,
> 
> could you please send your patches once again?
> 
> Max
> 
> On Tue, 6 Jan 2009 20:30:04 GMTTue, 6 Jan 2009 21:00:22 +0100, Tino
> Engel wrote:
> > The following reply was made to PR ports/117960; it has been noted
> > by GNATS.
> >
> > From: Tino Engel <[email protected]>
> > To: [email protected], [email protected]
> > Cc:
> > Subject: Re: ports/117960: Patches to enable webcam support in
> > net-im/kopete Date: Tue, 6 Jan 2009 21:00:22 +0100
> >
> >  --MP_/Zx+xcji9o.BJoUV.WUx8yiT
> >  Content-Type: text/plain; charset=US-ASCII
> >  Content-Transfer-Encoding: 7bit
> >  Content-Disposition: inline
> >
> >  Dear port maintainer,
> >
> >  I have used the patches (they were outdated) provided in PR
> > ports/117960 to create port compliant patches for the current
> > kopete port (kdenetwork-kopete-0.12.8).
> >
> >  I have verified that the port compiles and installs clean with the
> > 3 additional patch files in the files-directory.
> >
> >  kopete now recognizes a webcam with pwcbsd driver correctly.
> >  (pwcbsd-1.4.1_1)
> >
> >  The webcam (in my case a Logitech Quickcam 4000 Pro) shows up in
> > kopete configuration dialog.
> >  In addition I have veryfied the stream makes it through the
> > internet, and you can have a bidirectional webcam chat with another
> > msn client.
> >
> >  Please note that I had to forward the needed ports on my router to
> > make it work. Those were:
> >  TCP: 1863,6891-6900,6901
> >  UDP: 1863,5190,6901
> >
> >  I have attached the three patches.
> >
> >  In addition I have attached a patch for the change to the Makefile
> >  the original PR also suggested. It is adding the build dependencies
> > 
> > BUILD_DEPENDS=${LOCALBASE}/include/linux/videodev.h:${PORTSDIR}/multimedia/
> >v4l_compat
> >
> >  KNOWN PROBLEM: The configuration section for the webcam does store
> > all options permanently except the whiteness. This results in a
> > quite dark picture when the value goes back to zero.
> >  This is a minor issue, because the setting can be changed once the
> >  webcam is on (during a conversation) and is stored as long as the
> >  webcam is on.
> >
> >  Please contact me if there are any open questions concerning this
> > topic.
> >
> >  Sincerely yours, Tino Engel
> >
> >
> >  --MP_/Zx+xcji9o.BJoUV.WUx8yiT
> >  Content-Type: text/x-c++src;
> >   name=patch-kopete_libkopete_avdevice-videodevice.cpp
> >  Content-Transfer-Encoding: 7bit
> >  Content-Disposition: attachment;
> >   filename=patch-kopete_libkopete_avdevice-videodevice.cpp
> >
> >  --- kopete/libkopete/avdevice/videodevice.cpp      2009-01-06
> > 19:45:41.000000000 +0100 +++
> > kopete/libkopete/avdevice/videodevice.cpp   2009-01-06
> > 19:47:03.000000000 +0100 @@ -181,7 +181,7 @@
> >             m_videostream=false;
> >
> >             m_driver=VIDEODEV_DRIVER_NONE;
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >
> >   //if(!getWorkaroundBrokenDriver())
> >  @@ -512,7 +512,7 @@
> >     m_io_method = IO_METHOD_NONE;
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     if(V4L2_capabilities.capabilities &
> > V4L2_CAP_READWRITE) @@ -558,7 +558,7 @@
> >     }
> >
> >   // Select video input, video standard and tune here.
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >     cropcap.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
> >     if (-1 == xioctl (VIDIOC_CROPCAP, &cropcap))
> >  @@ -676,7 +676,7 @@
> >   // Change resolution for the video device
> >             switch(m_driver)
> >             {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >                     case VIDEODEV_DRIVER_V4L2:
> >   //                                CLEAR (fmt);
> >  @@ -778,7 +778,7 @@
> >   // Change the pixel format for the video device
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >   //                        CLEAR (fmt);
> >  @@ -867,7 +867,7 @@
> >     {
> >             switch (m_driver)
> >             {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >                     case VIDEODEV_DRIVER_V4L2:
> >                             if (-1 == ioctl (descriptor,
> > VIDIOC_S_INPUT, &newinput)) @@ -935,7 +935,7 @@
> >                     case IO_METHOD_READ: // Nothing to do
> >                             break;
> >                     case IO_METHOD_MMAP:
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >                             {
> >                                     unsigned int loop;
> >  @@ -957,7 +957,7 @@
> >   #endif
> >                             break;
> >                     case IO_METHOD_USERPTR:
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >                             {
> >                                     unsigned int loop;
> >  @@ -995,7 +995,7 @@
> >       /// @todo implement me
> >     ssize_t bytesread;
> >
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >     struct v4l2_buffer v4l2buffer;
> >   #endif
> >  @@ -1029,7 +1029,7 @@
> >                             }
> >                             break;
> >                     case IO_METHOD_MMAP:
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >                             CLEAR (v4l2buffer);
> >                             v4l2buffer.type =
> > V4L2_BUF_TYPE_VIDEO_CAPTURE; @@ -1089,7 +1089,7 @@
> >   #endif
> >                             break;
> >                     case IO_METHOD_USERPTR:
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >                             {
> >                                     unsigned int i;
> >  @@ -1475,7 +1475,7 @@
> >
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     {
> >  @@ -1545,7 +1545,7 @@
> >
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     {
> >  @@ -1615,7 +1615,7 @@
> >
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     {
> >  @@ -1685,7 +1685,7 @@
> >
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     {
> >  @@ -1755,7 +1755,7 @@
> >
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     {
> >  @@ -1876,7 +1876,7 @@
> >   {
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     switch(palette)
> >  @@ -1939,7 +1939,6 @@
> >                             case VIDEO_PALETTE_RGB32        :
> > return PIXELFORMAT_RGB32;   break; case
> > VIDEO_PALETTE_YUYV          : return PIXELFORMAT_YUYV;
> > break; case VIDEO_PALETTE_UYVY              : return
> > PIXELFORMAT_UYVY;   break;
> >  -                          case VIDEO_PALETTE_YUV420       :
> >                             case
> > VIDEO_PALETTE_YUV420P       : return PIXELFORMAT_YUV420P;
> > break; case VIDEO_PALETTE_YUV422P   : return
> > PIXELFORMAT_YUV422P;        break; } @@ -1956,7 +1955,7 @@
> >   {
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     switch(pixelformat)
> >  @@ -2031,7 +2030,7 @@
> >                             case PIXELFORMAT_GREY   :
> > return VIDEO_PALETTE_GREY;  break; case
> > PIXELFORMAT_YUYV    : return VIDEO_PALETTE_YUYV;    break;
> > case PIXELFORMAT_UYVY       : return VIDEO_PALETTE_UYVY;
> > break;
> >  -                          case PIXELFORMAT_YUV420P: return
> > VIDEO_PALETTE_YUV420;       break;
> >  +                          case PIXELFORMAT_YUV420P: return
> > VIDEO_PALETTE_YUV420P;      break; case PIXELFORMAT_YUV422P:
> > return VIDEO_PALETTE_YUV422P;       break;
> >
> >   // Compressed formats
> >  @@ -2084,7 +2083,11 @@
> >             case PIXELFORMAT_GREY   : return 8;
> > break; case PIXELFORMAT_YUYV        : return 16;    break;
> >             case PIXELFORMAT_UYVY   : return 16;
> > break; +#if defined(__FreeBSD__)
> >  +          case PIXELFORMAT_YUV420P: return 24;    break;
> >  +#else
> >             case PIXELFORMAT_YUV420P: return 16;    break;
> >  +#endif
> >             case PIXELFORMAT_YUV422P: return 16;    break;
> >
> >   // Compressed formats
> >  @@ -2162,7 +2165,7 @@
> >     returnvalue = "None";
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     switch(pixelformat)
> >  @@ -2224,7 +2227,6 @@
> >                             case VIDEO_PALETTE_RGB32        :
> > returnvalue = pixelFormatName(PIXELFORMAT_RGB32);   break;
> > case VIDEO_PALETTE_YUYV             : returnvalue =
> > pixelFormatName(PIXELFORMAT_YUYV);  break; case
> > VIDEO_PALETTE_UYVY          : returnvalue =
> > pixelFormatName(PIXELFORMAT_UYVY);  break;
> > -                           case VIDEO_PALETTE_YUV420       :
> > case VIDEO_PALETTE_YUV420P  : returnvalue =
> > pixelFormatName(PIXELFORMAT_YUV420P);       break; case
> > VIDEO_PALETTE_YUV422P       : returnvalue =
> > pixelFormatName(PIXELFORMAT_YUV422P);       break; } @@ -2242,7
> > +2244,7 @@ int err = 0; switch(m_driver) {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     fmtdesc.index = 0;
> >  @@ -2319,7 +2321,7 @@
> >   {
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     switch(standard)
> >  @@ -2461,7 +2463,7 @@
> >     returnvalue = "None";
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     switch(standard)
> >  @@ -2531,7 +2533,7 @@
> >   {
> >     switch(m_driver)
> >     {
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >             case VIDEODEV_DRIVER_V4L2:
> >                     break;
> >
> >  --MP_/Zx+xcji9o.BJoUV.WUx8yiT
> >  Content-Type: text/x-chdr;
> >   name=patch-kopete_libkopete_avdevice-videodevice.h
> >  Content-Transfer-Encoding: 7bit
> >  Content-Disposition: attachment;
> >   filename=patch-kopete_libkopete_avdevice-videodevice.h
> >
> >  --- kopete/libkopete/avdevice/videodevice.h        2009-01-06
> > 19:45:45.000000000 +0100 +++
> > kopete/libkopete/avdevice/videodevice.h     2009-01-06
> > 19:47:07.000000000 +0100 @@ -33,9 +33,12 @@ #include <unistd.h>
> >   #include <signal.h>
> >
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV)
> >
> >  +#if defined(__linux__)
> >   #include <asm/types.h>
> >  +#endif
> >  +
> >   #undef __STRICT_ANSI__
> >   #ifndef __u64 //required by videodev.h
> >   #define __u64 unsigned long long
> >  @@ -50,8 +53,11 @@
> >   #define pgoff_t unsigned long
> >   #endif
> >
> >  +#if defined(__linux__)
> >   #include <linux/fs.h>
> >   #include <linux/kernel.h>
> >  +#endif
> >  +
> >   #include <linux/videodev.h>
> >   #define VIDEO_MODE_PAL_Nc  3
> >   #define VIDEO_MODE_PAL_M   4
> >  @@ -80,8 +86,8 @@
> >   typedef enum
> >   {
> >     VIDEODEV_DRIVER_NONE
> >  -#if defined( __linux__) && defined(ENABLE_AV)
> >  -        ,
> >  +#if (defined( __linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV)
> >  +          ,
> >     VIDEODEV_DRIVER_V4L
> >   #ifdef V4L2_CAP_VIDEO_CAPTURE
> >           ,
> >  @@ -276,7 +282,7 @@
> >     int descriptor;
> >
> >   //protected:
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) #ifdef V4L2_CAP_VIDEO_CAPTURE
> >     struct v4l2_capability V4L2_capabilities;
> >     struct v4l2_cropcap cropcap;
> >
> >  --MP_/Zx+xcji9o.BJoUV.WUx8yiT
> >  Content-Type: text/x-c++src;
> >   name=patch-kopete_libkopete_avdevice-videodevicepool.cpp
> >  Content-Transfer-Encoding: 7bit
> >  Content-Disposition: attachment;
> >   filename=patch-kopete_libkopete_avdevice-videodevicepool.cpp
> >
> >  --- kopete/libkopete/avdevice/videodevicepool.cpp  2009-01-06
> > 19:45:59.000000000 +0100 +++
> > kopete/libkopete/avdevice/videodevicepool.cpp       2009-01-06
> > 19:47:13.000000000 +0100 @@ -608,7 +608,7 @@
> >       /// @todo implement me
> >
> >     kdDebug(14010) <<  k_funcinfo << "called" << endl;
> >  -#if defined(__linux__) && defined(ENABLE_AV)
> >  +#if (defined(__linux__) || defined(__FreeBSD__)) &&
> > defined(ENABLE_AV) QDir videodevice_dir;
> >     const QString
> > videodevice_dir_path=QString::fromLocal8Bit("/dev/v4l/"); const
> > QString videodevice_dir_filter=QString::fromLocal8Bit("video*");
> >
> >  --MP_/Zx+xcji9o.BJoUV.WUx8yiT
> >  Content-Type: text/x-patch; name=Makefile.diff
> >  Content-Transfer-Encoding: 7bit
> >  Content-Disposition: attachment; filename=Makefile.diff
> >
> >  --- Makefile       2009-01-06 20:50:35.000000000 +0100
> >  +++ Makefile       2009-01-06 20:47:43.000000000 +0100
> >  @@ -17,6 +17,7 @@
> >   MAINTAINER=       [email protected]
> >   COMMENT=  KDE multi-protocol instant messenger (IM)
> >
> >  +BUILD_DEPENDS=
> > ${LOCALBASE}/include/linux/videodev.h:${PORTSDIR}/multimedia/v4l_compat
> > RUN_DEPENDS=
> > ${QT_PREFIX}/lib/plugins/crypto/libqca-tls.so:${PORTSDIR}/secu
> >rity/qca-tls
> >
> >   CONFLICTS=        kdenetwork-[0-2]* kdenetwork-3.[0-4]*
> > kdenetwork-3.5.[0-2]* kvirc-[0-9]*
> >
> >  --MP_/Zx+xcji9o.BJoUV.WUx8yiT--
> > _______________________________________________
> > kde-freebsd mailing list
> > [email protected]
> > https://mail.kde.org/mailman/listinfo/kde-freebsd
> > See also http://freebsd.kde.org/ for latest information
> 
> 
--- Makefile.orig	2007-11-10 08:08:53.000000000 -0700
+++ Makefile	2007-11-10 08:13:04.000000000 -0700
@@ -17,6 +17,7 @@
 MAINTAINER=	[email protected]
 COMMENT=	KDE multi-protocol instant messenger (IM)
 
+BUILD_DEPENDS=	${LOCALBASE}/include/linux/videodev.h:multimedia/v4l_compat
 RUN_DEPENDS=	${QT_PREFIX}/lib/plugins/crypto/libqca-tls.so:${PORTSDIR}/security/qca-tls
 
 CONFLICTS=	kdenetwork-[0-2]* kdenetwork-3.[0-4]* kdenetwork-3.5.[0-2]* kvirc-[0-9]*
--- kopete/libkopete/avdevice/videodevice.cpp.orig	2007-11-09 17:22:19.000000000 -0700
+++ kopete/libkopete/avdevice/videodevice.cpp	2007-11-10 08:07:05.000000000 -0700
@@ -139,7 +139,7 @@
 		m_videostream=false;
 
 		m_driver=VIDEODEV_DRIVER_NONE;
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 
 if(!getWorkaroundBrokenDriver())
@@ -425,7 +425,7 @@
 	m_io_method = IO_METHOD_NONE;
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			if(V4L2_capabilities.capabilities & V4L2_CAP_READWRITE)
@@ -471,7 +471,7 @@
 	}
 
 // Select video input, video standard and tune here.
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 	cropcap.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 	if (-1 == xioctl (VIDIOC_CROPCAP, &cropcap))
@@ -568,7 +568,7 @@
 // Change resolution for the video device
 		switch(m_driver)
 		{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 			case VIDEODEV_DRIVER_V4L2:
 //				CLEAR (fmt);
@@ -670,7 +670,7 @@
 // Change the pixel format for the video device
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 //			CLEAR (fmt);
@@ -756,7 +756,7 @@
 	{
 		switch (m_driver)
 		{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 			case VIDEODEV_DRIVER_V4L2:
 				if (-1 == ioctl (descriptor, VIDIOC_S_INPUT, &newinput))
@@ -824,7 +824,7 @@
 			case IO_METHOD_READ: // Nothing to do
 				break;
 			case IO_METHOD_MMAP:
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 				{
 					unsigned int loop;
@@ -846,7 +846,7 @@
 #endif
 				break;
 			case IO_METHOD_USERPTR:
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 				{
 					unsigned int loop;
@@ -884,7 +884,7 @@
     /// @todo implement me
 	ssize_t bytesread;
 
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 	struct v4l2_buffer v4l2buffer;
 #endif
@@ -918,7 +918,7 @@
 				}
 				break;
 			case IO_METHOD_MMAP:
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 				CLEAR (v4l2buffer);
 				v4l2buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
@@ -978,7 +978,7 @@
 #endif
 				break;
 			case IO_METHOD_USERPTR:
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 				{
 					unsigned int i;
@@ -1304,7 +1304,7 @@
 
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			break;
@@ -1342,7 +1342,7 @@
 
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			break;
@@ -1380,7 +1380,7 @@
 
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			break;
@@ -1418,7 +1418,7 @@
 
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			break;
@@ -1456,7 +1456,7 @@
 
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			break;
@@ -1569,7 +1569,7 @@
 {
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			switch(palette)
@@ -1604,7 +1604,7 @@
 				case VIDEO_PALETTE_RGB32	: return PIXELFORMAT_RGB32;	break;
 				case VIDEO_PALETTE_YUYV		: return PIXELFORMAT_YUYV;	break;
 				case VIDEO_PALETTE_UYVY		: return PIXELFORMAT_UYVY;	break;
-				case VIDEO_PALETTE_YUV420	: return PIXELFORMAT_YUV420P;	break;
+				case VIDEO_PALETTE_YUV420P	: return PIXELFORMAT_YUV420P;	break;
 				case VIDEO_PALETTE_YUV422P	: return PIXELFORMAT_YUV422P;	break;
 			}
 			break;
@@ -1620,7 +1620,7 @@
 {
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			switch(pixelformat)
@@ -1659,7 +1659,7 @@
 				case PIXELFORMAT_BGR32	: return PIXELFORMAT_NONE;	break;
 				case PIXELFORMAT_YUYV	: return VIDEO_PALETTE_YUYV;	break;
 				case PIXELFORMAT_UYVY	: return VIDEO_PALETTE_UYVY;	break;
-				case PIXELFORMAT_YUV420P: return VIDEO_PALETTE_YUV420;	break;
+				case PIXELFORMAT_YUV420P: return VIDEO_PALETTE_YUV420P;	break;
 				case PIXELFORMAT_YUV422P: return VIDEO_PALETTE_YUV422P;	break;
 			}
 			break;
@@ -1688,7 +1688,11 @@
 		case PIXELFORMAT_BGR32	: return 32;	break;
 		case PIXELFORMAT_YUYV	: return 16;	break;
 		case PIXELFORMAT_UYVY	: return 16;	break;
+#if defined(__FreeBSD__)
+		case PIXELFORMAT_YUV420P: return 24;	break;
+#else
 		case PIXELFORMAT_YUV420P: return 16;	break;
+#endif
 		case PIXELFORMAT_YUV422P: return 16;	break;
 	}
 	return 0;
@@ -1725,7 +1729,7 @@
 	returnvalue = "None";
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			switch(pixelformat)
@@ -1758,7 +1762,7 @@
 				case VIDEO_PALETTE_RGB32	: returnvalue = pixelFormatName(PIXELFORMAT_RGB32);	break;
 				case VIDEO_PALETTE_YUYV		: returnvalue = pixelFormatName(PIXELFORMAT_YUYV);	break;
 				case VIDEO_PALETTE_UYVY		: returnvalue = pixelFormatName(PIXELFORMAT_UYVY);	break;
-				case VIDEO_PALETTE_YUV420	: returnvalue = pixelFormatName(PIXELFORMAT_YUV420P);	break;
+				case VIDEO_PALETTE_YUV420P	: returnvalue = pixelFormatName(PIXELFORMAT_YUV420P);	break;
 				case VIDEO_PALETTE_YUV422P	: returnvalue = pixelFormatName(PIXELFORMAT_YUV422P);	break;
 			}
 			break;
@@ -1774,7 +1778,7 @@
 {
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			switch(standard)
@@ -1916,7 +1920,7 @@
 	returnvalue = "None";
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			switch(standard)
@@ -1986,7 +1990,7 @@
 {
 	switch(m_driver)
 	{
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 		case VIDEODEV_DRIVER_V4L2:
 			break;
--- kopete/libkopete/avdevice/videodevice.h.orig	2007-11-09 17:22:29.000000000 -0700
+++ kopete/libkopete/avdevice/videodevice.h	2007-11-09 17:34:16.000000000 -0700
@@ -33,9 +33,11 @@
 #include <unistd.h>
 #include <signal.h>
 
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 
+#if defined(__linux__)
 #include <asm/types.h>
+#endif
 #undef __STRICT_ANSI__
 #ifndef __u64 //required by videodev.h
 #define __u64 unsigned long long
@@ -50,8 +52,10 @@
 #define pgoff_t unsigned long
 #endif
 
+#if defined(__linux__)
 #include <linux/fs.h>
 #include <linux/kernel.h>
+#endif
 #include <linux/videodev.h>
 #define VIDEO_MODE_PAL_Nc  3
 #define VIDEO_MODE_PAL_M   4
@@ -79,7 +83,7 @@
 typedef enum
 {
 	VIDEODEV_DRIVER_NONE
-#if defined( __linux__) && defined(ENABLE_AV)
+#if (defined( __linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
         ,
 	VIDEODEV_DRIVER_V4L
 #ifdef HAVE_V4L2
@@ -255,7 +259,7 @@
 	int descriptor;
 
 //protected:
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 #ifdef HAVE_V4L2
 	struct v4l2_capability V4L2_capabilities;
 	struct v4l2_cropcap cropcap;
--- kopete/libkopete/avdevice/videodevicepool.cpp.orig	2007-11-09 21:12:49.000000000 -0700
+++ kopete/libkopete/avdevice/videodevicepool.cpp	2007-11-09 21:13:54.000000000 -0700
@@ -650,7 +650,7 @@
     /// @todo implement me
 
 	kdDebug() <<  k_funcinfo << "called" << endl;
-#if defined(__linux__) && defined(ENABLE_AV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(ENABLE_AV)
 	QDir videodevice_dir;
 	const QString videodevice_dir_path=QString::fromLocal8Bit("/dev/v4l/");
 	const QString videodevice_dir_filter=QString::fromLocal8Bit("video*");
_______________________________________________
kde-freebsd mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-freebsd
See also http://freebsd.kde.org/ for latest information

Reply via email to