From 8ff8de73a4853a1f00baab707021bde7988f97bb Mon Sep 17 00:00:00 2001 From: Andrew Wason Date: Tue, 28 Oct 2008 23:49:04 +0000 Subject: [PATCH] Fix endless loop when opening corrupt FLV files (issue 699). Patch by Andrew Wason, rectalogic A rectalogic D com Originally committed as revision 15738 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/flvdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index 08008836fa..0b25a25e96 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -386,7 +386,7 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt) } if(is_audio){ - if(!st->codec->sample_rate || !st->codec->bits_per_coded_sample || (!st->codec->codec_id && !st->codec->codec_tag)) { + if(!st->codec->channels || !st->codec->sample_rate || !st->codec->bits_per_coded_sample || (!st->codec->codec_id && !st->codec->codec_tag)) { st->codec->channels = (flags & FLV_AUDIO_CHANNEL_MASK) == FLV_STEREO ? 2 : 1; st->codec->sample_rate = (44100 << ((flags & FLV_AUDIO_SAMPLERATE_MASK) >> FLV_AUDIO_SAMPLERATE_OFFSET) >> 3); st->codec->bits_per_coded_sample = (flags & FLV_AUDIO_SAMPLESIZE_MASK) ? 16 : 8;