Date: Mon, 12 Sep 2011 21:44:28 +0300 From: Eugene Dzhurinsky <jdevelop@gmail.com> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-multimedia@freebsd.org Subject: Re: Web camera stream is flipped upsidedown Message-ID: <20110912184425.GA19004@localhost> In-Reply-To: <201109102018.27015.hselasky@c2i.net> References: <201109080943.51981.hselasky@c2i.net> <201109091259.11041.hselasky@c2i.net> <CABsE2Po2u5in887KxD%2ByHMh4yttNHt-zRF--yrFcxq8tA=1oeg@mail.gmail.com> <201109102018.27015.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--Dxnq1zWXvFF0Q93v Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Sep 10, 2011 at 08:18:26PM +0200, Hans Petter Selasky wrote: > Hi, >=20 > I tried the patching over here: >=20 > cd /usr/local/ > cat videodev2.h.patch | patch -p1 >=20 > cd /usr/port/multimedia/libv4l > make patch extract > cd work/v4l-utils-0.8.4 > cat libv4l.patch | patch -p1 > cd .. > cd .. >=20 > make all deinstall install clean Well, I'm not sure how it can work. According to the patches: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D #ifdef __FreeBSD__ static void v4lcontrol_get_dmi_string(const char *string, char *buf, int si= ze) { /* TODO */ memset(buf, 0, size); } #else =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D then =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D /* Get DMI board and system strings */ v4lcontrol_get_dmi_string("sys_vendor", dmi_system_vendor, sizeof(dmi_system_vendor)); v4lcontrol_get_dmi_string("product_name", dmi_system_name, sizeof(dmi_system_name)); v4lcontrol_get_dmi_string("product_version", dmi_system_version, sizeof(dmi_system_version)); v4lcontrol_get_dmi_string("board_vendor", dmi_board_vendor, sizeof(dmi_board_vendor)); v4lcontrol_get_dmi_string("board_name", dmi_board_name, sizeof(dmi_board_name)); v4lcontrol_get_dmi_string("board_version", dmi_board_version, sizeof(dmi_board_version)); =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D and then in this scary block of checking passed configurations against the database of video flags: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D if (v4lcontrol_flags[i].vendor_id =3D=3D vendor_id && v4lcontrol_flags[i].product_id =3D=3D (product_id & ~v4lcontrol_flags[i].product_mask) && (v4lcontrol_flags[i].dmi_system_vendor =3D=3D NULL || !strcmp(v4lcontrol_flags[i].dmi_system_vendor, dmi_system_vendor)) && (v4lcontrol_flags[i].dmi_system_name =3D=3D NULL || !strcmp(v4lcontrol_flags[i].dmi_system_name, dmi_system_name)) && (v4lcontrol_flags[i].dmi_system_version =3D=3D NULL || !strcmp(v4lcontrol_flags[i].dmi_system_version, dmi_system_version)) && (v4lcontrol_flags[i].dmi_board_vendor =3D=3D NULL || !strcmp(v4lcontrol_flags[i].dmi_board_vendor, dmi_board_vendor)) && (v4lcontrol_flags[i].dmi_board_name =3D=3D NULL || !strcmp(v4lcontrol_flags[i].dmi_board_name, dmi_board_name)) && (v4lcontrol_flags[i].dmi_board_version =3D=3D NULL || !strcmp(v4lcontrol_flags[i].dmi_board_version, dmi_board_version))) { =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D it looks like because any DMI information string is always set to NULL, then the check for vendor names/versions/etc will always fail, so no specific fl= ags would be applied. Am I understanding something in wrong way? Please advice. --=20 Eugene N Dzhurinsky --Dxnq1zWXvFF0Q93v Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (FreeBSD) iQEcBAEBAgAGBQJOblMHAAoJEJl2g18bZPdRWPcIAJDceJgKRHLhSPeEAGFGWAbm XbBBw+8HWNU5WBy5XOisOXIZKbC9XPjsAwsLQDnuFa8VcZ78CcfVi14qql9REu32 AXcJTffSFgDTwyxp1Nv9bsa9eFBZHh46/Wp9p6Qp/FLeC/OBVqLktEG2DVXxGdoq rSndg/tFf5PWHlBTDBhMJnbrpfvdAek47R0UOHc+1z6DoiS/EfzTkcxANkre8OeL lXIBYkcCDMMKUFjB2Wxud1mVJfTR2J2VDfHag/1ZCRssRMsawgzUYr3JdJZLQFPW AmoRkvJYVYJ79H0rGsKC3fWqQ5Z4i1SFurF4mzS1DzS0q9uOomDBzdHhbYI4tLU= =GQmL -----END PGP SIGNATURE----- --Dxnq1zWXvFF0Q93v--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110912184425.GA19004>