shorten: do not use block size to determine whether to read the header.

This commit is contained in:
Justin Ruggles 2011-09-16 20:54:11 -04:00
parent 882dafe9b6
commit d03f9f65c0
1 changed files with 4 additions and 2 deletions

View File

@ -102,6 +102,7 @@ typedef struct ShortenContext {
int blocksize; int blocksize;
int bitindex; int bitindex;
int32_t lpcqoffset; int32_t lpcqoffset;
int got_header;
} ShortenContext; } ShortenContext;
static av_cold int shorten_decode_init(AVCodecContext * avctx) static av_cold int shorten_decode_init(AVCodecContext * avctx)
@ -386,6 +387,8 @@ static int read_header(ShortenContext *s)
s->cur_chan = 0; s->cur_chan = 0;
s->bitshift = 0; s->bitshift = 0;
s->got_header = 1;
return 0; return 0;
} }
@ -438,8 +441,7 @@ static int shorten_decode_frame(AVCodecContext *avctx,
skip_bits(&s->gb, s->bitindex); skip_bits(&s->gb, s->bitindex);
/* process header or next subblock */ /* process header or next subblock */
if (!s->blocksize) if (!s->got_header) {
{
if ((ret = read_header(s)) < 0) if ((ret = read_header(s)) < 0)
return ret; return ret;
*data_size = 0; *data_size = 0;