Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Apr 2004 13:32:02 +0300 (EEST)
From:      Jari Kirma <kirma@cs.hut.fi>
To:        freebsd-arch@freebsd.org
Subject:   Digital-tv card drivers and API discussion
Message-ID:  <Pine.GSO.4.58.0404151315120.24624@hutcs.cs.hut.fi>

next in thread | raw e-mail | index | archive | help

> Implementation in userspace would be quite interesting, as it does not
> need any modifications to the kernel. I have no idea if this is feasible
> with PCI-devices though.

I have very strong doubts if this can be done. It would be possible to
implement things such as MPEG TS PID and section filtering in userland
although low level parts of the driver reside in kernel, but it is
questionable if it's worth it, especially if one doesn't want to do some
more complex conversions, such as MPEG TS -> PS replexing inside the
framework.

> I don't have enough experience to decide if it is ok for FreeBSD, as
> Jari said that it may not be OS-independent enough. I would appreciate
> some feedback on this matter, especially which is the best way to go
> when considering the long-term dvb-support in FreeBSD.

I agree on that support for Linux API is essential to make ports of
DVB-related software easy. Linux API, in many respects, is probably good
enough in what it provides. The big thing that I don't like in it is the
fact that it exposes raw system call interface which practically requires
implementation of at least a dummy device driver in kernel. If they would
have cared to even wrap most of those operations inside library stub
functions and specify reasonable semantics for them in addition to
avoiding references of specific device files in /dev, it would be so much
nicer to write a compatible implementation any way one wants (entirely in
kernel, partly in kernel, or entirely in userland). Unfortunately they
already adopted it and have applications that support it. ;)

-kirma




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.58.0404151315120.24624>