frameserv and clients

	I'm currently working on a framserver for the Connectix 
QuickCam.  Basically, it's a unix domain sockets server that 
waits for connections and upon getting them grabs a frame from 
the camera using the libqcam.a (from qcam-0.3) routines and 
shoves the frame down sockets to the client applications.  This 
implementation could easily be change/extended to use tcp/ip 
connections so that you could have a machine grabbing frames and 
clients elsewhere snagging them from across the network.

	Anyway, what all this is geared toward doing is making the job 
of accessing the camera a non-exclusive task.  My goals are to 
get an optimal frame rate while allowing more than one program 
to get frames at the same time.  From the sounds of a few 
messages that I saw posted in the past day, the meteor grabber 
code could be incorporated into the server very easily so that 
those with a meteor could grab from it in the same manner.

	Unfortunately, this is my first "real" sockets application, so 
my implementation is still a bit lacking.  I'm working on 
getting things as speed efficient as possible, and I hope to 
have all the sockets stuff working a whole lot more smoothly in 
the next few days.  Right now the client/server setup I have 
works fine, but is a little heavy handed with CPU usage.  The 
problems I'm having that cause this are related to having to do 
multiple write()s to get all the data out to the clients.

	Does this sound interesting to anyone?  I'm thinking about 
making this into a full blown generic frameserver application 
that could be used on many platforms and accessed with a 
standard library that I'm working on as I go.  I'm going to 
reimplement my simple "snapshot" client using this library's 
calls as soon as I get the library working.  If anyone's 
interested, I can slap a copyright on this stuff and pack it up 
for anon ftp.  I'm planning on trying to make my preliminary 
release within the next week, but I thought I would offer the 
source up to hackers here in case anyone wanted to help me fix 
some of this stuff...


PS - the code is up and running and taking pictures every minute 
and placing them at http://www.Glock.COM/~mmead/qcampics/snap0.jp

Matthew C. Mead