[mythtv-commits] [MythTV/mythtv] 309a91: DVB Private Descriptor ID conflicts

kmdewaal noreply at github.com
Sat Nov 9 16:28:31 UTC 2019


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

  Changed paths:
    M mythtv/libs/libmythtv/mpeg/dvbtables.cpp
    M mythtv/libs/libmythtv/mpeg/mpegdescriptors.cpp
    M mythtv/libs/libmythtv/mpeg/mpegdescriptors.h
    M mythtv/libs/libmythtv/mpeg/mpegtables.h

  Log Message:
  -----------
  DVB Private Descriptor ID conflicts

DVB private descriptors in range 0x80-0xFE are used by
different providers for different uses. Also, the ATSC and
SCTE descriptors are in this range.
Although marked as "POSSIBLY UNSAFE" these descriptors have
always been treated as unique in MythTV because no conflicts
were actually encountered.

With the addition of the descriptor bskyb_lcn_table (0xb1), used by
Sky on Astra-2 28.2E for the Logical Channel Table descriptor,
a conflict did arise; on Hotbird 13.E there is transport
that use the same value (0xb1) for another purpose.
This leads to a segfault of mythtv-setup when scanning
1218800V, transport ID 7400, of Hotbird 13.0E when the
descriptor is formatted as if it was a bskyb_lcn_table.

The way to resolve these conflicts is to scan the descriptors for
the Private Data Specifier descriptor; this contains an ID value
that is used to identify the private descriptors following
the private data specifier.
This is now implemented for the conflicting descriptor ID
and for a few more, but not yet for all of them.
This fixes the segfault of mythtv-setup.




More information about the mythtv-commits mailing list