]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Fix endless loop when opening corrupt FLV files (issue 699).
authorcehoyos <cehoyos@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 28 Oct 2008 23:49:04 +0000 (23:49 +0000)
committercehoyos <cehoyos@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 28 Oct 2008 23:49:04 +0000 (23:49 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@15738 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavformat/flvdec.c

index 08008836fadaa89fbaf34945c3fe24b5ce66c802..0b25a25e96a738e62b1dc6ba57de3bdeef69f6fa 100644 (file)
@@ -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;