Browse Source

Do not try to decode less than one frame of data in TrueSpeech decoder.

This should solve issue 2085.

Originally committed as revision 24197 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/n0.8
Kostya Shishkov 15 years ago
parent
commit
231745781f
1 changed files with 5 additions and 0 deletions
  1. +5
    -0
      libavcodec/truespeech.c

+ 5
- 0
libavcodec/truespeech.c View File

@@ -347,6 +347,11 @@ static int truespeech_decode_frame(AVCodecContext *avctx,
if (!buf_size) if (!buf_size)
return 0; return 0;


if (buf_size < 32) {
av_log(avctx, AV_LOG_ERROR,
"Too small input buffer (%d bytes), need at least 32 bytes\n", buf_size);
return -1;
}
iterations = FFMIN(buf_size / 32, *data_size / 480); iterations = FFMIN(buf_size / 32, *data_size / 480);
for(j = 0; j < iterations; j++) { for(j = 0; j < iterations; j++) {
truespeech_read_frame(c, buf + consumed); truespeech_read_frame(c, buf + consumed);


Loading…
Cancel
Save