Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.
- Loading branch information
Showing
1 changed file
with
51 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters