Opened 8 years ago
Closed 6 years ago
Last modified 6 years ago
#13052 closed Bug Report - General (fixed)
MythTV assumes demux1 when frontend1 is in use, but no demux1 device is available only demux0
Reported by: | Owned by: | Klaas de Waal | |
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | MythTV - Channel Scanner | Version: | Unspecified |
Severity: | low | Keywords: | demux1, demux0, scan |
Cc: | Ticket locked: | no |
Description
When using a TBS-5520SE the following devices are available: demux0, dvr0, frontend0, frontend1, net0
mythtv-setup and mythtv backend seem to make the assumption that if frontend1 is chosen then demux1 should be used even if no such device exists.
I think i have narrowed it down to line 606 of streamhandler.cpp
QString demux_fn = CardUtil::GetDeviceName?(DVB_DEV_DEMUX, dvb_dev);
and/or lines 2077-2096 of cardutil.cpp i.e. the GetDeviceName? function.
hope that's helpful.
The same issue appears to effect the astrometadvbt2 usb device. And a workaround would be to rename frontend1 to frontend0.
Cheers
Maff
Reference urls with more details: https://forum.mythtv.org/viewtopic.php?f=36&t=2156&p=10617#p10617 https://forum.mythtv.org/viewtopic.php?t=1582
Attachments (1)
Change History (5)
comment:1 Changed 6 years ago by
Changed 6 years ago by
Attachment: | 201902031457_mythtv_multi-standard_frontend_support.patch added |
---|
comment:2 Changed 6 years ago by
Owner: | set to Klaas de Waal |
---|---|
Status: | new → assigned |
This behaviour stems from a very old trac ticket (2009) https://code.mythtv.org/trac/ticket/5061 which mentions HVR3000 and HVR4000 cards. Prior to this change demux0 was always used.
Today there are many devices which have two frontends per adapter but only 1 demux/dvr, demux0, dvr0. Only one of the frontends can be used at anyone time with this demux/dvr.
For example TBS 6522 has two frontends for each adapter, frontend 0 is DVB-T/T2 demux0, frontend 1 is DVB-S/S2, demux0.
Whilst it is possible to "hack" by sym linking demux0 to demux1, this is not very user friendly.
A change in cardutil.cpp CardUtil::GetDeviceName? is required. To maintain existing behaviour, test to see if demux<n> exists where <n> is the frontend number, if the test fails return demux0. Similarly for dvr<n>.
Attached is a patch, tested against current master (but can be backported to mythtv 29 and 30 if needed).
Test system Xubuntu 18.04 with TBS 6522 PCI-e Dual DVB-S/S2,DVB-T/2 and Astrometa USB DVB/T/T2 tuners.
Patch also applied to my production system, which has Hauppauge QuadHD DVB-T/T2 and TBS-6981 Dual DVB-S/S2 tuner, with no ill effects.
Mike