[FFmpeg-devel] [RFC] General design for subtitles demuxers
ubitux at gmail.com
Wed Jun 13 02:40:11 CEST 2012
Yet another subtitles thread, addressing this time several issues in a row.
All the text subtitles formats are small files where it is interesting to
consider them as such, and not as a stream. In practice I propose the
1) Parse the whole file
Just like lavf/assdec or lavf/jacosubdec, the whole file should be parsed on
the read_header() callback.
Why is it done like this? Because in "format" oriented ("ASS"), the events
can be in any order, require looking ahead, or preprocessing the file; when
they are muxed ("SSA") the timeline must makes sense, and it doesn't matter
since this demuxing belongs to the video demuxer.
JACOsub also has that issue, but SubRip as well (remember the event
numbers?), and actually all the others (see below).
2) Set missing durations
Since we now have the complete list of events in a list, it's easy to work
on them, and we can just set the packets duration when missing that
information: this actually solves in a very simple way the
last-to-next-subtitle feature I mentioned several times.
3) Sort the events
We should then export the sorting of all these subtitles (PTS based) raw
events from lavf/assdec.c. This way, all the subtitles events will be
sorted, whatever the format: it will fixe some files, and make things
simpler to implement.
4) Make a generic read_seek
We should take out read_seek2() from lavf/assdec.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 490 bytes
Desc: not available
More information about the ffmpeg-devel