[NetBSD logo]    &    [Google logo]

NetBSD-SoC: DVB drivers and kernel framework

What is it?

This project developed a NetBSD implementation of the LinuxTV user api for controlling DVB devices. This allows userland applications to tune devices and read a transport stream. The full LinuxTV API contains controls to perform transport stream filtering in kernel mode, however this does not exist in this implementation as very few applications use this functionality.

Some programs which use can use this code include MythTV, VLC, MPlayer and Xine.

The API implementation provides for userland interaction with a device driver; the other portion of this project was to write a device driver for a test DVB device, in my case a "Pinnacle 330e PCTV". Luckily an open source (GPL) driver is already available for this device, which I've fiddled with to operate on NetBSD.

Luckily I didn't encounter many obstacles while developing this, aside from discovering that EHCI ISOC wasn't implemented on NetBSD. This lead to me having to implement it, the code for which has already been committed.

Mentor for this project was Jared D. McNeill.

Googles generic timeline for projects:


Mandatory (must-have) components:

Optional (would-be-nice) components:


The LinuxTV project publishes documentation on their user and kernel mode API: Its quite good, although not complete. Unfortunately some of LinuxTVs features are too complicated (network / conditional access), others are pointless (section filtering), so the actual parts this framework implements just allows tuning and delivery of data. I intended to produce a man page for the usermode interface, but currently there's only a short, pedantic kernel interface document

SourceForge.net Logo
Jeremy Morse <my.name at gmail>
$Id: index.html,v 1.8 2008/09/08 22:12:40 j_morse Exp $