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