Hi,
Reinhard Nissl schrieb:
Well, I was in contact with Marco already and attached you'll find a minimalistic change which reports "channel not available". Now VDR should already be able to kick a low priority DVB-S recording (or transfer thread) from a DVB-S2 device.
The previous patch was wrong. Only DVB-S2 devices "could" provide channels. The revised patch works now as expected.
Still missing is to prefer DVB-S devices for DVB-S recordings so that DVB-S2 devices remain available for DVB-S2 recordings of same priority.
Still to do.
The attached version implements this behavior now. You may want to experiment a bit with the decision logic as explained below.
The decision is based on the number of modulation systems a card provides. For example, my NOVA-S provides one (DVB-S) and my SkyStar HD provides three (DVB-S, DVB-DSS, DVB-S2).
The decision logic is implemented in cDevice::GetDevice(), so have a look into device.c. After applying the patch, you'll find two lines in that function marked with comments like /*1*/ and /*2*/, and the latter one was disabled by a line comment.
In my scenario with just the above cards and vdr-xine as software device, watching a channel requires VDR to operate in transfer mode. Therefore it selects a device which provides for example a DVB-S channel. The patched version will choose the NOVA-S with either implementation /*1*/ or /*2*/.
Let's then start a DVB-S recording on a different transponder. When implementation /*2*/ would be active, VDR would choose the SkyStar HD, as the NOVA-S is claimed by transfer mode. Then, try to switch to a DVB-S2 channel. It wouldn't work, as the SkyStar HD would be claimed by a DVB-S recording.
That's why I've chosen implementation /*1*/ as default. For the above scenario, starting a DVB-S recording on a different transponder will choose the NOVA-S and kick off transfer mode. Then VDR will look for a card to set up transfer mode again and it will choose the only remaining card, the SkyStar HD. If you then try to switch to a DVB-S2 channel, it will work as the SkyStar HD is not claimed by a recording.
The patch is incremental to the original dvbs2 patch from yesterday, i. e. you can simply apply it to your already patched VDR.
Bye.