André Weidemann wrote:
Klaus Schmidinger wrote:
Check your log file ...
Klaus
Taking a look at the log files I can see the pids being changed:
Aug 24 23:19:59 video vdr[1586]: changing pids of channel 59 from
2047+2047:2048=deu:0 to 2047+2047:2048=deu,2049=deu:0
But I cannot see the recording beeing restarted.
This code in VDR/vdr.c is supposed to do this in the call to
cRecordControls::ChannelDataModified(Channel):
// Handle channel modifications:
if (!Channels.BeingEdited() && Channels.Modified()) {
if (Channels.Lock(false, 100)) {
Channels.Save(); //XXX only after user changes???
Timers.Save();
for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) {
if (Channel->Modification(CHANNELMOD_RETUNE)) {
cRecordControls::ChannelDataModified(Channel);
if (Channel->Number() == cDevice::CurrentChannel()) {
if (!cDevice::PrimaryDevice()->Replaying() || cTransferControl::ReceiverDevice()) {
if (cDevice::ActualDevice()->ProvidesTransponder(Channel)) { // avoids retune on devices that don't really access the transponder
isyslog("retuning due to modification of channel %d", Channel->Number());
Channels.SwitchTo(Channel->Number());
}
}
}
}
}
Channels.Unlock();
}
}
You could add some debug output here to see what's going wrong.
PS: I can send you the logs if you like to.
Well, if there is no entry like
stopping recording due to modification of channel ...
apparently the above code didn't do what it's supposed to.
I don't think I would see anything else in the logs...
Klaus