There could be bogus bytes at the start, as is the case of vp5/potter512-400-partial.avi from the FATE suite, which could be a case of bad remuxing from an OGG source.
Partially fixes decoding of vp5/potter512-400-partial.avi Signed-off-by: James Almer <jamr...@gmail.com> --- libavcodec/speexdec.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/speexdec.c b/libavcodec/speexdec.c index 08c7e77e7d..c73b2a7ec2 100644 --- a/libavcodec/speexdec.c +++ b/libavcodec/speexdec.c @@ -52,6 +52,7 @@ */ #include "libavutil/avassert.h" +#include "libavutil/avstring.h" #include "libavutil/float_dsp.h" #include "avcodec.h" #include "bytestream.h" @@ -1397,9 +1398,9 @@ static int parse_speex_extradata(AVCodecContext *avctx, const uint8_t *extradata, int extradata_size) { SpeexContext *s = avctx->priv_data; - const uint8_t *buf = extradata; + const uint8_t *buf = av_strnstr(extradata, "Speex ", extradata_size); - if (memcmp(buf, "Speex ", 8)) + if (!buf) return AVERROR_INVALIDDATA; buf += 28; -- 2.43.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".