Browse Source

shorten: only calculate output size when returning decoded samples, otherwise

just set data_size to zero.
tags/n0.9
Justin Ruggles 13 years ago
parent
commit
0f97c5014b
1 changed files with 6 additions and 4 deletions
  1. +6
    -4
      libavcodec/shorten.c

+ 6
- 4
libavcodec/shorten.c View File

@@ -385,6 +385,7 @@ static int shorten_decode_frame(AVCodecContext *avctx,
int ret;
if ((ret = read_header(s)) < 0)
return ret;
*data_size = 0;
}
else
{
@@ -423,8 +424,9 @@ static int shorten_decode_frame(AVCodecContext *avctx,
break;
}
case FN_QUIT:
goto frame_done;
break;
}
*data_size = 0;
} else {
/* process audio command */
int residual_size = 0;
@@ -510,12 +512,12 @@ static int shorten_decode_frame(AVCodecContext *avctx,
if (s->cur_chan == s->channels) {
samples = interleave_buffer(samples, s->channels, s->blocksize, s->decoded);
s->cur_chan = 0;
goto frame_done;
*data_size = (int8_t *)samples - (int8_t *)data;
} else {
*data_size = 0;
}
}
}
frame_done:
*data_size = (int8_t *)samples - (int8_t *)data;

// s->last_blocksize = s->blocksize;
s->bitindex = get_bits_count(&s->gb) - 8*((get_bits_count(&s->gb))/8);


Loading…
Cancel
Save