[vdr] Status plugin interface bug?
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Mon Oct 31 12:05:46 CET 2005
Bernd Juraschek wrote:
> Hi,
>
> recently I got the evil VDSB error (with kernel 2.4.X :-(). After self
> restarting VDR continued the recording - but this fails with the "no
> tuner lock" error.
>
> cStatus::Recording() was not called in this case. But the function was
> called to signal the end of this (never really startet) timer. Therefore
> there is a imbalance between start and stop status notifications - which
> may lead to some plugin misbehavior :-(
>
> I'was not able to find quickly the way cTimer::Stop() was executed so I
> have no solution yet ...
Please try the following:
- add a funtion
bool IsAttached(void) { return device != NULL; }
to cReceiver (in receiver.h)
- call this function in cRecordControl::Stop():
void cRecordControl::Stop(void)
{
if (timer) {
bool WasAttached = recorder->IsAttached(); // new line
DELETENULL(recorder);
timer->SetRecording(false);
timer = NULL;
if (WasAttached) { // new line
cStatus::MsgRecording(device, NULL);
cRecordingUserCommand::InvokeCommand(RUC_AFTERRECORDING, fileName);
} // new line
}
}
Let me know if this helps.
Klaus
More information about the vdr
mailing list