[mythtv-commits] [MythTV/mythtv] 58dfe8: Check start byte of next table in packet

kmdewaal noreply at github.com
Wed Oct 21 09:08:03 UTC 2020

  Branch: refs/heads/master
  Home:   https://github.com/MythTV/mythtv
  Commit: 58dfe835843a39065bce73af9dc1f586b48d9de3
  Author: Klaas de Waal <kdewaal at mythtv.org>
  Date:   2020-10-21 (Wed, 21 Oct 2020)

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

  Log Message:
  Check start byte of next table in packet

The table handling determines the presence of the start of a second table in the same
transport stream packet by checking the value of the next byte after the first table.
If the next byte is not 0xFF then it is the table ID of the next table.
This is also done if the the first table ends at the last byte of the packet in which
case there is no next byte in the packet. When the value read is not 0xFF then
this is seen as the start of the next table.

This problem triggers the following error 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
which are the result of the table handling getting lost after getting a wrong table start.

The check for the value of the next byte is now only done if there is at least
one byte in the transport stream packet after the end of the first table.

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

More information about the mythtv-commits mailing list