[FFmpeg-devel] [PATCH] avformat/flvdec: Set broken_sizes for FlixEngine.

Niki Bowe nbowe at google.com
Thu Feb 22 00:53:08 EET 2018


On Fri, Feb 16, 2018 at 3:25 PM, Nikolas Bowe <nbowe at google.com> wrote:

> ---
>  libavformat/flvdec.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
> index 0217cef842..b86451fcbf 100644
> --- a/libavformat/flvdec.c
> +++ b/libavformat/flvdec.c
> @@ -598,7 +598,9 @@ static int amf_parse_object(AVFormatContext *s,
> AVStream *astream,
>                          if (version > 0 && version <= 655)
>                              flv->broken_sizes = 1;
>                      }
> -                } else if (!strcmp(key, "metadatacreator") &&
> !strcmp(str_val, "MEGA")) {
> +                } else if (!strcmp(key, "metadatacreator")
> +                    && (!strcmp(str_val, "MEGA")
> +                        || !strncmp(str_val, "FlixEngine", 10))) {
>                      flv->broken_sizes = 1;
>                  }
>              }
> --
> 2.16.1.291.g4437f3f132-goog
>
>
For a bit of context, we found some very old videos which suffered from
corruption after 9e6a2427558a718be0c1fffacffd935f630a7a8d, but were fine
before.
These had "End of AC stream reached in vp6_parse_coeff" warnings in logs.
These also had flv Packet mismatch warnings.
Adding FlixEngine to the list of flv muxers which produce broken packet
sizes fixes this corruption.

FlixEngine is very old and not maintained or available anymore (since
2010), so we won't need to worry about newer versions fixing the issue.


-- 

Nikolas Bowe |  SWE |  nbowe at google.com |  408-565-5137


More information about the ffmpeg-devel mailing list