[mythtv-firehose] mythtv/master commit: c11ee69c8 by Gavin Hurlbut (Beirdo)

MythTV noreply at mythtv.org
Mon Jul 25 04:35:05 UTC 2011


      Author:  Gavin Hurlbut <ghurlbut at mythtv.org>
 Change Date:  2011-07-24T21:30:34-07:00
   Push Date:  2011/07/24 21:34:57 -0700
  Repository:  mythtv
      Branch:  master
New Revision:  c11ee69c81198dc221c874e8132f1f30a385fa63
   Changeset:  https://github.com/MythTV/mythtv/commit/c11ee69c8

Log:

Deal with incomplete PMT streams in BBC iPlayer IPTV

Fixes #9926

It turns out that the test recording (and presumably the others from the same
source) contain incomplete PMT tables.  The size field for the PMT says that
there will be 383 bytes of data, but the only data received is the 182 bytes
contained in the rest of that TS packet. i

FFmpeg without MythTV modifications to mpegts.c can handle this just fine as
it doesn't need to know about the contents of the PMT.  MythTV, however,
depends on that information to determine what video and audio streams we have.

To deal with this without affecting "normal" recordings, I have put in another
fallback that will try to parse the PMT overriding the length to the length
received in the TS packet.  This will only be used if it can not be parsed
correctly, and if we've tried again without checking the CRC.  This third and
final attempt, should it fail, will cause it to give up.  Should it succeed,
there may be some streams not parsed, but whatever was in the first 182 bytes
of the PMT should be taken into consideration, and there should be playback.

Modified:

   mythtv/external/FFmpeg/libavformat/mpegts.c



More information about the mythtv-firehose mailing list