[FFmpeg-devel] New patch for mpegts.c

JULIAN GARDNER joolzg at btinternet.com
Wed Oct 24 22:07:21 CEST 2012

>>  So explain why they put a version numbering system in, a bit silly adding 
> something in for nothing would you not think?
> How should I know? But I would guess that processing sections was
> assumed to possibly require significant amounts of processing
> and/or would be hard to do without some user-visible effects,
> and thus it is important to have the option to skip doing it.

Oh come on, cause artifacts, they dont process ts files on 6502s.

>>  Current code limitations
>>  1. Tables with multiple sections
> Don't know enough about the subject to say anything about this (in 
> particular why
> it would be absolutely impossible to fix without skipping processing for
> identical version numbers).

So why not listen to someone who has done this job for a fair  number of years, and still does.

>>  So as it stands this code will FAIL if you get a multisection PAT, PMT, SDT 
> or even EIT.
>>  Also seeking will not be broken, as a VALID ts file when backward/forward 
> seeking the table number will either be the same, no changes, or different which 
> in the new code will process the section as soon as it appears.
> Working for valid files is not good enough by far. Particularly for TS
> a lot (if not a majority) are invalid files.
> Also to be pedantic, unless the table (version?) number can be arbitrary large
> I suspect it would be possible to generate a TS file that is impossible
> to encode without wrapping the table number around, and seeking will
> be broken (even if it is an unlikely case).

So now you need it to work for broken TS files, how about a flag in the ts driver, somthing like allow_broken_and_non_compliant_streams=1

As i said before, take it if you want, its in my local tree and running fine on my encoders, so im happy it works. I wont bother pushing the multisection code as this relies on the version number patch to work correctly.


More information about the ffmpeg-devel mailing list