[linux-dvb] [ANNOUNCE] DVB API improvements

Mauro Carvalho Chehab mchehab at infradead.org
Tue Sep 23 23:16:28 CEST 2008

After years of discussions, several patch series and two different proposed
approaches, LinuxTV developers finally decided that S2API is the better
technical proposal and should be accepted as the way to allow supporting newer
DTV standards, starting with DVB-S2.

As previously announced at http://linuxtv.org/news.php?entry=2008-09-19.mchehab,
a representative group of active developers at LinuxTV community attended the
first V4L/DVB Summit, that started with the V4L/DVB miniconf at Linux
Plumbers/2008. Several other additional formal (BOF's) and informal meetings
happened there, in the benefit of the improvement of the development of
multimedia drivers and core.

During the miniconf, both Multiproto API (proposed by Manu) and S2API (proposed
by Steven), were presented. A technical discussion was made during the DVB BOF
session in order to compare the two proposals and check for the
need/convenience of other core internal changes to draw an evolution timeline
for DVB.

The DVB BOF had the presence of the following LinuxTV members:

	Douglas Schilling Landgraf
	Hans Verkuil
	Mauro Carvalho Chehab 
	Michael Krufky
	Patrick Boettcher
	Steven Toth
	Thierry Merle
	Manjunath Hadlii

We had also a presence of an end-user listening to the BOF (Brandon Fouts).

During the BOF, the LinuxTV members carefully analyzed the pros and cons for
both proposals. At the end, all people present there agreed that S2API is
technically more reliable in time than Multiproto proposal. So it was decided
that S2API will be merged upstream.

The main arguments in favor of S2API over Multiproto are:

	- Future proof – the proposal for S2API is more flexible, easily
	  allowing the addition of newer features and new standard support;

	- Simplicity – S2API patches are very simple, while Multiproto
	  presented a very complex series of changes. Simpler approaches
	  reduces the time for maintaining the source code;

	- Capability of allowing improvements even on the existing standards,
	  like allowing diversity control that starts to appear on newer DVB

Some improvements were proposed by the LinuxTV developers, in order to improve
the S2API, including:

	- Adding an API command for querying DVB version, to allow an easier
	  detection by userspace applications;

	- Name the DVB API with S2API as DVB version 5;

	- Update DVB API documentation to reflect the API changes;

	- Remove from DVB API the unused API ioctls, to match the API with the
	  existing implementations.

The author of S2API got the task of adding those suggestions at the proposed
standard and send a pull request to the subsystem maintainer, together with
patches for his drivers that use the newer API.

It was also discussed that some of the internal Multiproto API changes may be
needed in other to support some of the other existing DVB-S2 drivers that were
developed considering Multiproto API. Internal changes can be added at any time
without producing problems in the user API.

The group aims to have a unified in-kernel DVB-S2 HVR4000 / TT-3200 tree (that
also supports all of the derivative CX24116 / STB0899 known products) within 4
weeks from the announcement, hopefully in time for kernel 2.6.28. For that, we
would like to ask Manu to port his drivers to the new API.

The end goal is to add proper support for all devices that would have been
supported by multiproto and S2API alike available.

There are already volunteers working or that have offered to work on Kaffeine
and MythTV S2API support.

We still need volunteers to work on dvb-apps support. If you feel that you like
contribute, please be our guest!

We would like to thank you all that contributed for those discussions and
improvements to happen,

Mauro Carvalho Chehab
V4L/DVB Maintainer 

More information about the linux-dvb mailing list