[FFmpeg-devel] [PATCH 0/1] Handle ASS format subtitle encoding ambiguity

Tim Angus tim at ngus.net
Sat Jan 21 21:50:20 EET 2023


On 18/01/2023 14:31, Tim Angus wrote:
> Some matroska files embed ASS format subtitles. The header for said subtitles
> include the header for the subtitle stream in the "codec private data" section.
> It appears to be optional whether or not the last byte of this data is 0, i.e.
> a null terminator for the string data. Using ffmpeg to extract subtitles for
> such a file, this header is copied directly to the output file, including the
> null terminator, if it was present. This results in a file in which there is a
> null terminator after the header, but preceeding the actual content of the
> subtitle file. Obviously this is not correct.
>
> As a data point, of the ~600 mkvs I have locally, 22 of them have ASS
> subtitles, and of them 20 include the null terminator, so it doesn't appear to
> be a rare phenomenon.
>
> As another data point, the tool mkvextract from mkvtoolnix avoids the ambiguity
> by first assuming that the source buffer is *not* null terminated, and then
> manually adding a (possibly second) null terminator. The buffer is then
> interpreted as a null terminated string and processed that way.
> (https://gitlab.com/mbunkus/mkvtoolnix/-/blob/main/src/extract/xtr_textsubs.cpp#L117)
>
> My change here simply avoids copying the trailing null terminator(s) present.
> FATE succeeds as there are no mkvs in the suite that have ASS subtitles
> embedded.
>
> Tim Angus (1):
>    avformat/assenc: fix incorrect copy of null terminator
>
>   libavformat/assenc.c | 6 ++++++
>   1 file changed, 6 insertions(+)
Why is there a gap of submitted patches on patchwork? Have I missed 
something?

https://patchwork.ffmpeg.org/project/ffmpeg/list/


More information about the ffmpeg-devel mailing list