What you write here, seams to me very interesting! Specially your last sentence is actually the thing I'm looking for: How to make win applications believe, that there is a real device and supply whatever it wants....
So even the project I was supposed to work on, is already dead, before it started really, but I think there is a interesting discussion going on.....so maybe we keep it going? Support for web cams under wine! Sounds terrific!
Of course v4l support is the basic condition, but there are many (linux) drivers around for web cams. I think, that there are programmers on this list, which have the expertise to get us one step further with implementing a video device under wine. It's probably the same approach, like implementing /dev/dsp oss or alsa driver settings, but for the video stream!?
Rick Romero wrote:
On Wed, 2005-01-05 at 08:17, luis lenders wrote:
MediaHost (TM) wrote:
However, is there any development going on
concerning v4l and/or USB?
Actually it's a pity, that I couldn't realize this
project....we would
have been willing to invest in such code....
I'm not sure what the capabilities of video4linux
are, >which devices it
supports or how its API works. I know it supports at least some USB webcams.
Actually video4linux has quite some capabilities, a program like xawtv for example can even grab a movie from your tv-tuner card.
As we can access /dev/usb/lpt or /dev/dsp, it
should >>be possible to access /dev/video....I'm not familiar >>in implementing such stuff at wine, but....?
Altough I'm a programming noob i tried a few weeks ago to write some code to accomplish this with (not much) but still a little succes: i used code from a program like vidcat to read a frame from my v4l device (in png format), used code from another program (png2bmp) to turn it into a bitmap, and used CreateWindowEx to display this in a windowsprogram under wine. Although the window with the frame from my webcam showed up , the windowsprogram did not behave further as it should do. There is plenty of code to be found on the internet using the v4l api, but the problem how to get this in wine. Maybe someone has some further hints?
I don't consider myself a programmer, so I'm probably the last person to comment on this, BUT...
I did some work with motion.sourceforget.net, and in playing with v4l, and v4l2 (and creating a 'multiout' - sending multiple channels on one device to multiple video devices), I can tell you that just opening the /dev/video (or v4l2 - /dev/v4l/video, IIRC) will just get you a plain YUV stream. It's pretty easy to manipulate at that point. The 'trick' to v4l is v4l support for your device. Once you have that support, there are a million things you can do with it.
vgrabber is a really simple frame grabber if you're looking for more info on how v4l works: http://www.tazenda.demon.co.uk/phil/v4l.html
I dare say, if Windows is expecting a YUV stream from it's image capture device, it might be just enough to fake a Windows device that's just reads from /dev/video
Unfortunately I don't know anything about Video for Windows.
HTH
Rick
Regards luis
___________________________________________________________ ALL-NEW Yahoo! Messenger - all new features - even more fun! http://uk.messenger.yahoo.com