[mythtv-commits] [MythTV/mythtv] 46d094: Fix "section seen" filtering for NIT and NITo in m...

kmdewaal noreply at github.com
Wed Nov 6 14:23:10 UTC 2019


  Branch: refs/heads/master
  Home:   https://github.com/MythTV/mythtv
  Commit: 46d09445817af64a3f497a9d78456c794ffb5be9
      https://github.com/MythTV/mythtv/commit/46d09445817af64a3f497a9d78456c794ffb5be9
  Author: Klaas de Waal <kdewaal at mythtv.org>
  Date:   2019-11-06 (Wed, 06 Nov 2019)

  Changed paths:
    M mythtv/libs/libmythtv/mpeg/dvbstreamdata.cpp
    M mythtv/libs/libmythtv/mpeg/mpegstreamdata.cpp

  Log Message:
  -----------
  Fix "section seen" filtering for NIT and NITo in mythtv-setup

For some DVB-C networks the NIT table to use in a specific region
is one of the "other NIT" tables, as described in ticket #7486.
This is solved by converting the NITo for the specified network ID
to a NIT and converting the original NIT to NITo.
This works OK but there is filtering done on which table sections
have been seen already so they are not processed twice.

This filtering went wrong, as indicated by timeouts during
channel scanning, and this resulted in NIT sections not being
processed and hence missing logical channel numbers.

This filtering went wrong in two places.
In DVBStreamData::HandleTables the check on redundancy was sometimes
done before the NIT/NITo conversion was done. This causes the filtering
to be done on the wrong table type.
This is solved by moving the NIT/NITo conversion to the beginning of
the function so that is is done before the redundancy check.
In MPEGStreamData::HandleTables the calls to IsRedundant did not
call the function in mpegstreamdata.cpp but, due to the
object-orientedness of the code, the function in dvbstreamdata.cpp.
This is wrong because the MPEG code should check only the MPEG
tables; the DVB tables are checked in dvbstreamdata.cpp.
Also, because the IsRedundant is called before the NIT/NITo
conversion is done this also gives the wrong results.
This is solved by explicitly calling MPEGStreamData::IsRedundant
instead of calling IsRedundant.

Refs #7486




More information about the mythtv-commits mailing list