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, ac...@in.tum.de
"Oh no, not again !" The bowl of petunias
vdr mailing list