Development: Linux DVB API history and future

From LinuxTVWiki
Jump to navigation Jump to search

The Linux DVB API (application programming interface) is essentially a kernel interface for Digital Video Broadcasting device drivers.

Digital Video Broadcasting is an evolving field that continuously sees new chipsets, STBs and software being developed and becoming available. As demands and requirements change, even the best-established APIs have to evolve too in order to keep pace with the technological advancements. Past development of the DVB API has proceeded in a very conservative way such that application developers see only a minimum impact on their already-written code.

Here provided is a short overview of past, present and perhaps future API milestones:

v1: the old Nokia API

Originally implemented on the first AV711x-based Siemens/TechnoTrend DVB-C and DVB-S cards by Christian Theiss and the Metzler Brothers for Convergence Integrated Media.

v2: the NEWSTRUCT branch

The first major Refactoring Step, after this process had stabilized we were ready for all DVB-S, DVB-C and DVB-T cards and STBs available in those days.

v3: DVB is part of the official Kernel

This API version mainly contained namespace cleanups but was mostly binary-compatible with the NEWSTRUCT branch.

Today, v3 of the DVB API continues to serve the Linux community.

Both Multiproto and S2API were originally proposals for DVB API version 3.3, though their statuses as "version 3" have been dropped and, instead, adopted as the version 5 API proposals (see below).

v4: use all features of today's STBs

In addition to some intended cleanups of the v3 DVB API, development of a version 4 of the API was initiated to extend support coverage for features of newer generation STBs. Unfortunately, due to various reasons, active pursuit of the project was not maintained, and so its development fell into some sort of sleep-mode and, consequently, has been passed by. Some further history and information on this unfinished project can be found here.

v5: tomorrow.

Though originally slated as version 3.3. proposals, both Multiproto and S2API have been re-designated as candidates for the version 5 of the API.