FreeBSD Multimedia API and Google SOC2006

John-Mark Gurney gurney_j at resnet.uoregon.edu
Mon May 1 04:48:44 UTC 2006


Jacob Meuser wrote this message on Sun, Apr 30, 2006 at 14:34 -0700:
> 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?

It's in perforce:
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/jmg/bktrau

> > > 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?

Hmmm...  This seems to be more of a stream format than a AV device
library...  There are a few things to interact w/ bktr, but my goal
for a library, is that you'd never know what the frame (or stream)
grabber underneath is..  that you'd just say, give me a frame in x
format.. and the userland would find the best common format and handle
the translation...

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the freebsd-multimedia mailing list