[vdr] DVB (usb) device hotswapping?

Georg Acher acher at in.tum.de
Sun Apr 4 03:37:02 CEST 2010

On Sun, Apr 04, 2010 at 12:35:04AM +0200, Udo Richter wrote:
> Am 03.04.2010 21:17, schrieb Teemu Rantanen:
> > now that I've moved from pci dvb-c cards to usb dvb-c cards, I started
> > to think what happens if dvb-devices are inserted/ejected when vdr is
> > running. I haven't actually tried what happens, but it looks like
> > hotswapping isn't supported? 
> VDR is far from being able to hot-swap.

This is true, but there is a workaround for that. It involves one
indirection in the device handling by a plugin.

During the development of the mcli-plugin for the NetCeiver the same issue
appeared. The networked tuners are already virtualized, they get
visible a few seconds after the plugin start and may also disappear or
change their type. So hotplugging support was a must.

It is now solved by the mcli plugin by allocating all (16) devices at
startup. When the various Provides*-methods are called for tuning, the
plugin searches in its internal resource database for an appropriate tuner
and assigns it to the vdr-device. If there is no appropriate tuner for the
request the Provides-methods return simply false, so the device is skipped.
That is virtualizing of already virtual tuners :-O

This means also that every tuner has initially no type like DVB-S/C/T. The
type is allocated on demand during tuning and reset when the device has no
active PIDs (for short, actually it's a bit more complicated since there is
no reliable resource usage tracking in vdr...).

         Georg Acher, acher at in.tum.de         
         "Oh no, not again !" The bowl of petunias          

More information about the vdr mailing list