[mythtv-commits] Ticket #12638: Switch to using DVB APIv5

MythTV noreply at mythtv.org
Thu Mar 7 09:01:29 UTC 2019


#12638: Switch to using DVB APIv5
---------------------------------+-----------------------------
 Reporter:  Stuart Auchterlonie  |          Owner:  Mark Spieth
     Type:  Developer Task       |         Status:  assigned
 Priority:  minor                |      Milestone:  31.0
Component:  MythTV - DVB         |        Version:  Master Head
 Severity:  medium               |     Resolution:
 Keywords:                       |  Ticket locked:  0
---------------------------------+-----------------------------

Comment (by stefanb2):

 I just upgraded from 0.29 to 0.30 and my Hauppauge WinTV-dualHD DVB-T/T2/C
 USB stick stopped working as DVB-C tuner, because mythtv incorrectly tries
 to tune it as DVB-T2 frontend using DVB-C multiplex parameters (frequency,
 QAM, etc.):

 {{{
 2019-03-06 21:26:05.196847 W [3348/3348] CoreContext dtvmultiplex.cpp:286
 (ParseDVB_T2) - DTVMux: Invalid T2 modulation system parameter '',
 aborting.
 2019-03-06 21:26:05.196854 E [3348/3348] CoreContext
 recorders/dtvchannel.cpp:292 (SetChannelByString) -
 DTVChan[16](/dev/dvb/adapter2/frontend0): SetChannelByString(51): Failed
 to initialize multiplex options
 }}}

 Judging by the git history commit 55e1cac4bd249ec2e9463684a50121661af60417
 is most likely the change that broke it (this code is repeated also in
 recorders/dvbchannel.cpp):

 {{{
 diff --git a/mythtv/libs/libmythtv/cardutil.cpp
 b/mythtv/libs/libmythtv/cardutil.cpp
 index 79f7bcc419..ad316d0958 100644
 --- a/mythtv/libs/libmythtv/cardutil.cpp
 +++ b/mythtv/libs/libmythtv/cardutil.cpp
 ...
 +#if DVB_API_VERSION >=5
 ...
 +            switch (prop.u.buffer.data[i])
 +            {
 +                // TODO: not supported. you can have DVBC and DVBT on the
 same card
 +                // The following are backwards compatible so its ok
 +                case SYS_DVBS2:
 +                    type = DTVTunerType::kTunerTypeDVBS2;
 +                    break;
 +                case SYS_DVBT2:
 +                    type = DTVTunerType::kTunerTypeDVBT2;
 +                    break;
 +                default:
 +                    break;
 +            }
 }}}

 The comment "The following are backwards compatible so its ok" is
 obviously incorrect. Unfortunately there is no way to change the DVB card
 subtype in mythtv-setup, i.e. in effect mythtv only supports one delivery
 type per frontend.

 I'm not sure if the following change would be acceptable, i.e. if adapter
 supports also DVB-C override the earlier DVB-T2 setting. I have not tested
 this change on my system yet:

 {{{
       case SYS_DVBT2:
           type = DTVTunerType::kTunerTypeDVBT2;
           break;
 +     case SYS_DVBC_ANNEX_A:
 +     case SYS_DVBC_ANNEX_B:
 +     case SYS_DVBC_ANNEX_C:
 +         type = DTVTunerType::kTunerTypeDVBC;
 +         break;
 }}}

-- 
Ticket URL: <https://code.mythtv.org/trac/ticket/12638#comment:24>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list