lavc/htmlsubtitles: improve handling broken garbage
authorClément Bœsch <u@pkh.me>
Sat, 29 Jul 2017 18:56:25 +0000 (20:56 +0200)
committerClément Bœsch <u@pkh.me>
Tue, 1 Aug 2017 13:50:00 +0000 (15:50 +0200)
commitf0f8da545d80665ae54d51df61e8f6903c85390a
tree22fe6bbbabdb2f484fee2ec6cf3835e50bc33f59
parentb2d9d7226943d6229a17e31714ce5162bdf88b33
lavc/htmlsubtitles: improve handling broken garbage

This commit switches off forced correct nesting of tags and only keeps
it for font tags. See long explanations in the code for the rationale.

This results in various FATE changes which I'll explain here:

- various swapping in font attributes, this is mostly noise due to the
  old reverse stack way of printing them. The new one is more correct as
  the last attribute takes over the previous ones.

- unrecognized tags disappears

- invalid tags that were previously displayed aren't anymore (instead,
  we have a warning). This is better for the end user

The main benefit of this commit is to be more tolerant to error, leading
to a better handling of badly nested tags or random wrong formatting for
the end user.
libavcodec/htmlsubtitles.c
tests/ref/fate/sub-sami2
tests/ref/fate/sub-srt
tests/ref/fate/sub-srt-badsyntax
tests/ref/fate/sub-textenc
tests/ref/fate/sub-webvttenc