From c1bfb99ff2445c7f3ba319ea342dd8004345d67a Mon Sep 17 00:00:00 2001 From: Ganesh Ajjanagadde Date: Thu, 30 Jul 2015 20:33:28 -0400 Subject: [PATCH] avformat/wavdec: add extra sample count check for G.729 files Can be used to fix Ticket4577 Signed-off-by: Ganesh Ajjanagadde Signed-off-by: Michael Niedermayer --- libavformat/wavdec.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavformat/wavdec.c b/libavformat/wavdec.c index 1803b5cdaf..8b48fc864d 100644 --- a/libavformat/wavdec.c +++ b/libavformat/wavdec.c @@ -440,6 +440,13 @@ break_loop: sample_count = 0; } + /* G.729 hack (for Ticket4577) + * FIXME: Come up with cleaner, more general solution */ + if (st->codec->codec_id == AV_CODEC_ID_G729 && sample_count && (data_size << 3) > sample_count) { + av_log(s, AV_LOG_WARNING, "ignoring wrong sample_count %"PRId64"\n", sample_count); + sample_count = 0; + } + if (!sample_count || av_get_exact_bits_per_sample(st->codec->codec_id) > 0) if ( st->codec->channels && data_size