Bug #9
closed
osdteletext forces FF cards into transfer mode
Added by urig almost 16 years ago.
Updated over 12 years ago.
Description
On a system with a FF card and a budget card, osdteletext may force VDR to use transfer mode from the budget card on channel switch.
Reason: The teletext stream gets disconnected after deciding which device to use for live viewing. While deciding in cDevice::GetDevice, the primary device reports NeedsDetachReceivers, and by that blocks the re-use of the primary device.
Solution: None known that works without modifying VDR code.
Solutions that require VDR changes:
- Notify plugins before switching the live view channel so they can detach before the GetDevice call.
- Mark receivers to be 'live-related' and don't count them as NeedsDetachReceivers.
- Don't consider receivers with low priority (-1 ?) as relevant for NeedsDetachReceivers, and lower the priority that osdteletext uses.
Cheers,
Udo
I don't see a solution outside of VDR either. It makes sense, to track such issues here for VDR as well, so I created bug #10 and related to this one.
Have you already informed Klaus about this issue?
Suggest from ML:
http://www.linuxtv.org/pipermail/vdr/2012-March/025895.html
To actually make use of the new MsgChannelSwitch behavior of VDR 1.7.25,
I've quickly hacked an experimental patch to use this to detach the old
receiver before VDR attempts to switch channel. With this, channel
switching should not jump between receivers for FF cards, avoiding
transfer mode whenever possible. Please test.
--- osdteletext/txtrecv.c.bak 2012-03-03 15:11:53.000000000 +0100
+++ osdteletext/txtrecv.c 2012-03-03 15:19:27.000000000 +0100
@@ -485,6 +485,15 @@
void cTxtStatus::ChannelSwitch(const cDevice *Device, int ChannelNumber)
{
+#if VDRVERSNUM >= 10725
+ // Disconnect receiver if channel is 0, will reconnect to new
+ // receiver after channel change.
+ if (ChannelNumber == 0 && Device->IsPrimaryDevice()) {
+ delete receiver;
+ receiver = NULL;
+ }
+#endif
+
// ignore if channel is 0
if (ChannelNumber == 0) return;
- Status changed from New to Closed
- % Done changed from 0 to 100
Huh, seems I suffer from dissociative identity disorder. Looks like I've checked in the patch an hour ago, but already can't remember it. ;)
Anyway, the patch is running on my production system for a week now, no issues noticed. Sorry for not uploading it here.
Yeah, I wondered why redmine said you closed it - I did via a git commit message (maybe it picked it from the patch author, dunno).
Yes, Redmine uses the commit author instead of the commiter when closing bugs.
Thanks to both of you! I'll probably make a new release of the plugin soon.
Also available in: Atom
PDF