From owner-freebsd-firewire@FreeBSD.ORG Wed Oct 18 21:31:38 2006 Return-Path: X-Original-To: firewire@freebsd.org Delivered-To: freebsd-firewire@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3C2F716A407 for ; Wed, 18 Oct 2006 21:31:38 +0000 (UTC) (envelope-from bms@incunabulum.net) Received: from out1.smtp.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by mx1.FreeBSD.org (Postfix) with ESMTP id 074DD43D92 for ; Wed, 18 Oct 2006 21:31:23 +0000 (GMT) (envelope-from bms@incunabulum.net) Received: from db2.internal (db2.internal [10.202.2.12]) by frontend1.messagingengine.com (Postfix) with ESMTP id 6B5F5DB5D77; Wed, 18 Oct 2006 17:31:22 -0400 (EDT) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by db2.internal (MEProxy); Wed, 18 Oct 2006 17:31:25 -0400 X-Sasl-enc: 4YXCpfnrfieyllt+fcJErys7S8AwVDvLqCaNQ0vi91QT 1161207084 Received: from [192.168.123.18] (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTP id 3AE817532; Wed, 18 Oct 2006 17:31:22 -0400 (EDT) Message-ID: <45369D26.6060807@incunabulum.net> Date: Wed, 18 Oct 2006 22:31:18 +0100 From: Bruce M Simpson User-Agent: Thunderbird 1.5.0.5 (X11/20060825) MIME-Version: 1.0 To: Mikhail Teterin References: <200610181636.12516.mi+mx@aldan.algebra.com> In-Reply-To: <200610181636.12516.mi+mx@aldan.algebra.com> Content-Type: text/plain; charset=KOI8-U; format=flowed Content-Transfer-Encoding: quoted-printable Cc: firewire@freebsd.org Subject: Re: libraw1394 X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Oct 2006 21:31:38 -0000 Hi all, Mikhail Teterin wrote: > =D3=C5=D2=C5=C4=C1 18 =D6=CF=D7=D4=C5=CE=D8 2006 16:08, Buzz Slye =CE=C1= =D0=C9=D3=C1=D7: > =20 >> This library was written to conform to an older version of libdc1394. >> The latest version of libdc1394, I have discovered, has many routine >> name changes so there will require some reallignment and cleanup. >> =20 > > Yeah, I figured that out... It seems, however, you understand how Linux= '=20 > ioctls should be translated to FreeBSD's ioctls and other system calls = (read,=20 > write?). Would you be able to help with the reallignments and cleanups?= > =20 From what I understand, Buzz's port does not deal with isochronous=20 streams. There is a rough mapping of Linux raw1394 APIs to=20 firewire(4)'s, based on code inspection, although they are not=20 documented in the FreeBSD man pages. > Right, they don't exist. But libraw1394's own little client utilities c= all=20 > them, and so, likely, will some other clients of the library. This mean= s, our=20 > port will need to provide these functions, even if they are going to be= =20 > simple wrappers around system calls... > =20 It looks like a kqueue event pump will be needed to emulate libraw1394's = callback semantics. > =20 > Thanks, I'm thinking about it too. My Makefile will be using bsd.lib.mk= , of=20 > course :-) > =20 That would reduce the chances of having the patches taken upstream given = the makefile churn. > =20 >> This code does not support multiple cameras. >> =20 > > If the Linux code does, and the FreeBSD kernel code does, the port will= have=20 > to as well... > =20 It looks like a mapping of /dev/raw1394 -> /dev/fwN.N should work; vlc=20 in particular allows you to specify the device used, though I'm not sure = if this is passed down to libraw1394 -- haven't looked that far yet. >> Asychronous tramsmissions only support quadlet (4 byte) read/write for= >> reading and writing camera registers. >> >> Our applications mostly use cameras to take single images at timed >> intervals. If you will be using stream transfer, you may want to >> change the buffering setup. >> =20 spook is going to require isochronous streaming. > > Buzz, I have NO IDEA how to do this :-( I can put the port together, bu= t the=20 > firewire details are not my thing. I just want it to work, so I can: > > a) transfer my own videos from Sony's HDV camera; > =20 This is going to need libavc1394. libraw1394 is certainly a prerequisite.= Regards, BMS