Mercurial > libavcodec.hg
comparison shorten.c @ 4734:d2db36185222 libavcodec
properly set *data_size when returning >= 0 values in shorten_decode_frame()
Original thread:
Date: Sat, 24 Mar 2007 04:04:53 +0100
Subject: [Ffmpeg-devel] Shorten file playback broken in SVN trunk
author | aurel |
---|---|
date | Mon, 26 Mar 2007 00:00:43 +0000 |
parents | 6679d37a3338 |
children | 777f250df232 |
comparison
equal
deleted
inserted
replaced
4733:507d08212e36 | 4734:d2db36185222 |
---|---|
292 buf_size += s->bitstream_size; | 292 buf_size += s->bitstream_size; |
293 s->bitstream_size= buf_size; | 293 s->bitstream_size= buf_size; |
294 | 294 |
295 if(buf_size < s->max_framesize){ | 295 if(buf_size < s->max_framesize){ |
296 //dprintf(avctx, "wanna more data ... %d\n", buf_size); | 296 //dprintf(avctx, "wanna more data ... %d\n", buf_size); |
297 *data_size = 0; | |
297 return input_buf_size; | 298 return input_buf_size; |
298 } | 299 } |
299 } | 300 } |
300 init_get_bits(&s->gb, buf, buf_size*8); | 301 init_get_bits(&s->gb, buf, buf_size*8); |
301 get_bits(&s->gb, s->bitindex); | 302 get_bits(&s->gb, s->bitindex); |
469 break; | 470 break; |
470 case FN_BLOCKSIZE: | 471 case FN_BLOCKSIZE: |
471 s->blocksize = get_uint(s, av_log2(s->blocksize)); | 472 s->blocksize = get_uint(s, av_log2(s->blocksize)); |
472 break; | 473 break; |
473 case FN_QUIT: | 474 case FN_QUIT: |
475 *data_size = 0; | |
474 return buf_size; | 476 return buf_size; |
475 break; | 477 break; |
476 default: | 478 default: |
477 av_log(avctx, AV_LOG_ERROR, "unknown shorten function %d\n", cmd); | 479 av_log(avctx, AV_LOG_ERROR, "unknown shorten function %d\n", cmd); |
478 return -1; | 480 return -1; |