[mythtv-commits] [MythTV/mythtv] de2506: Table header in two transport stream packets

kmdewaal noreply at github.com
Sat Oct 24 18:44:21 UTC 2020


  Branch: refs/heads/master
  Home:   https://github.com/MythTV/mythtv
  Commit: de250661ed703c7e5ed3ffaefa850d741c02dea5
      https://github.com/MythTV/mythtv/commit/de250661ed703c7e5ed3ffaefa850d741c02dea5
  Author: Klaas de Waal <kdewaal at mythtv.org>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

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

  Log Message:
  -----------
  Table header in two transport stream packets

The table handling checks if the first part of the table header containing the table length is completely in the payload start packet.
If this not the case then the following message is given:
2020-10-20 22:41:30.070349 E  MPEGStream[3](0x7fb258158158): Error: AFCOffset(4)+StartOfFieldPointer(181)>184, pes length & current cannot be queried
and the packets are discarded until the next payload start.
However, this restriction is not specified in 13181-1 and the table handling is now extended to support this.

Tested with satellite Astra-1 19.2E, transport 1002, service 5021,  NHK WORLD-JPN.


  Commit: 7f308845eb1cefb80e5523a45d664cff3fcc96ef
      https://github.com/MythTV/mythtv/commit/7f308845eb1cefb80e5523a45d664cff3fcc96ef
  Author: Klaas de Waal <kdewaal at mythtv.org>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

  Changed paths:
    M mythtv/libs/libmythtv/mpeg/pespacket.cpp

  Log Message:
  -----------
  Skip adaptation field in table payload packets

It has been observed that when the table header extends into the second packet that
there can be a zero-length adaptation field in the second packet before the payload.
The presence of this adaptation field was ignored and the byte specifying the length
of the adaptation field was erroneously included in the table.
This was then detected when the CRC check failed, resulting in this type of messages:
2020-10-20 22:41:27.980516 I  PESPacket: Failed CRC check 0x430b0111 != 0x5e91ff11 for StreamID = 0x1
2020-10-20 22:41:27.980535 E  MPEGStream[3](0x7fb258158158): Discarding broken PSIP packet
Although having an adaptation table at this place does not appear to be useful there is nothing
in 13181-1 that makes this non-conforming and hence the table handling is now extended to skip past
all adaptation fields that may be encountered in the second and subsequent packets that are part of
the table being extracted.

Tested with satellite Astra-1 19.2E, transport 1002, service 5021,  NHK WORLD-JPN.


Compare: https://github.com/MythTV/mythtv/compare/69657539e76f...7f308845eb1c


More information about the mythtv-commits mailing list