FreeBSD Multimedia API and Google SOC2006

Jacob Meuser jakemsr at jakemsr.com
Sun Apr 30 21:34:32 UTC 2006


On Thu, Apr 27, 2006 at 01:13:16PM -0700, John-Mark Gurney wrote:
> Torfinn Ingolfsen wrote this message on Thu, Apr 27, 2006 at 20:59 +0200:
> > On Thu, 27 Apr 2006 15:25:05 -0300
> > Mario Sergio Fujikawa Ferreira <lioux at FreeBSD.org> wrote:
> > 
> > > 	I was wondering if someone could propose a
> > > project for a basic multimedia API for FreeBSD.
> > 
> > Video4bsd (V4B) perhaps?
> > Here is one candidate: http://people.freebsd.org/~jmg/videobsd.html
> 
> Yeh, I think I'll mentor someone if someone is interested....
> 
> > Also, the USB Video class (example at http://linux-uvc.berlios.de/)
> > looks interesting, I think it should be included in a multimedia API
> > for BSD.
> > 
> > > 	I am not proposing V4Linux but some sort of common
> > > API abstraction.
> > 
> > IMHO, if we create our own multimedia API, it should have V4L2
> > and V4L1 "faces" or "shims" that allows devices to be operated through
> > these APIs. At least V4L2, only V4L1 if it is really needed.
> > The reason for this is that it will ease porting of programs that uses
> > the V4L API's. And there are a lot of those.
> > Note: I am very much out of my waters here, I can't really tell if this
> > is feasible / practical at all.
> 
> Personally the V4Lx API's are at the wrong level for how far computers
> have advanaced...  Any video api should be a userland library, that
> provides access to it...  and not a kernel interface that is of
> limited use...  This has the advantage that updates for new tuners and
> other stuff can happen easier and quicker... and more people are willing
> to touch the code...
> 
> My bktrau driver for the DViCO FusionHDTV5 Lite has a minimal kernel
> presence... the userland capture program uses the GPIO defines in bktr,
> the iic device driver for controlling the tuner and demodulator to
> control the capture..  This means my driver is under 1k lines of code..

is the bktrau code available?

> > If there is need for a mechanism (sp?) to distinguish which API a
> > certain device can be operated with, an easy way would be to use a
> > naming convention. Example: /dev/video0 - use the V4L
> > API, /dev/bsdvideo0 - use the V4B API. Most likely, somebody else has a
> > better suggestion.
> 
> I'd suggest NOT to use a kernel interface.. they are expensive to
> maintain, and harder to shoehorn things like USB web cams into...

I tried making a userland A/V library ...

http://www.jakemsr.com/bsdav/

not the greatest, only supports bktr video, but maybe some kind of
starting point?

-- 
<jakemsr at jakemsr.com>


More information about the freebsd-multimedia mailing list