Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: refactoring



On Fri, Oct 15, 2004 at 01:43:27PM +0200, Gerd Knorr wrote:
> Holger Waechtler <holger@qanu.de> writes:
> 
> > The resulting API is ultra-thin and simple, basically only a frontend
> > API and a mmap'd TS ringbuffer form the entire DVB device. Nothing
> > more is needed. This all are fuzzy ideas yet, though -- but their time
> > will come.
[snip]
> I'm not sure through it would be a good idea to actually do that.
> Doing the demuxing in the kernel has its advantages when it comes to
> multiple applications using the DVB card at the same time.  One TV
> application, one teletext browser, some daemon fishing eit data in the
> background to build a epg, ...
> 
> In an embedded / set-top box environment it's probably not a big issue
> as you've a vdr-like moster application doing *everything*, so it's
> easy to demux and distribute the data in userspace.  For the linux
> desktop it's different through.

The API should reflect the capabilities of the hardware. While
PCI/USB cards seem to get simpler, STB chips grow more and
more complicated with special purpose hw facilities for
every aspect of MPEG stream handling. For the demux part
alone e.g. section filters, PID filters with payload extraction
and PES header filtering and/or adaptation field extraction,
recording filters with PAT/PMT insertion, playback support etc.
STB chips (currently) also have very limited CPU power
and memory bandwidth, so it actually is a good idea to use
the special purpose hardware ;-)

If you want an API that somehow fits all available hardware
it cannot be simple, period.

Of course we could still decide to drop the software demux
and handle simple hardware by only supporting one single
PID filter with FULL_TS capability, and nothing else. I
doubt that that would be useful, though. It would be
comparable (well, somehow ;-) to dropping the network stack
from the kernel and handling ethernet packets in userspace.


Johannes




Home | Main Index | Thread Index