[linux-dvb] DVB API update

Johannes Stezenbach js at linuxtv.org
Mon Sep 17 17:19:04 CEST 2007

Hi Manu,

On Sat, Sep 15, 2007, Manu Abraham wrote:
> While being on the V3 frontend API overhaul, i found to much dismay that
> it would be much better to revamp V4 into a newer API version such as
> V5, rather than scratching with V3 for ages together, resulting in just
> unnecessary talks and discussions.

It is beyond me why you think creating a new API would
result in less "unnecessary" discussions that improving
the existing API... :-)

Given that there already is well-discussed API enhancement
proposal for DVB-S2, affectionately but wrongly called
"multiproto" (MPE?), I don't know why you don't get this
merged first instead of making that task bigger and have
everyone wait longer for the end result?

IIRC my closing words in the DVB-S2 API discussion were
along the line of "we shouldn't merge an API without users
into mainline now, we should wait until the first driver which
uses it is ready and merge both at the same time".
That is because a) we generally shouldn't add APIs without
users, b) we shouldn't add APIs which are untested and
thus not proven to work.

Ever since, everyone's just been waiting for your
"I'm ready with my driver, please merge" mail.

> What i find interesting with the V4 API
> * A better demuxer

But it's also overcomplicated and like MiHu explained not
targeted at PCI/USB cards. IMHO It would be useful to add
a simple version of the recording filters to the V3 demux.

> * ARIB extensions

I don't see anyone writing a driver using that, so why bother?

Given that we always need to stay backward compatible with
old API versions, I believe it is much easier to improve
the existing API in small incremental steps than to introduce
a completely new API. (While working on V4, we were always
thinking "hey, we can add backward compat later", but frankly
I don't see how this could've worked out.)

For DVB-S2 the problem was:
- couldn't extend FE_SET_FRONTEND without breaking
  backwards compat
- thus need new ioctl
- to not repeat the same mistake I proposed to add
  "forward compatibility" so we could extend the
  new ioctl later for DVB-H etc. (DVB-SH, DVB-T2
  and DVB-C2 anyone?)
  (V4L2 API does the same thing)

See? Keep it simple. Do just one thing at a time.


More information about the linux-dvb mailing list