comparison libspeexdec.c @ 10111:ebe5812b39a7 libavcodec

Use the output data type to determine the maximum number of samples that can be decoded.
author jbr
date Fri, 28 Aug 2009 00:57:00 +0000
parents 4186efb86933
children 6cade2cdd63b
comparison
equal deleted inserted replaced
10110:4186efb86933 10111:ebe5812b39a7
99 LibSpeexContext *s = avctx->priv_data; 99 LibSpeexContext *s = avctx->priv_data;
100 int16_t *output = data, *end; 100 int16_t *output = data, *end;
101 int i, num_samples; 101 int i, num_samples;
102 102
103 num_samples = s->header->frame_size * avctx->channels; 103 num_samples = s->header->frame_size * avctx->channels;
104 end = output + *data_size/2; 104 end = output + *data_size / sizeof(*output);
105 105
106 speex_bits_read_from(&s->bits, buf, buf_size); 106 speex_bits_read_from(&s->bits, buf, buf_size);
107 107
108 for (i = 0; speex_bits_remaining(&s->bits) && output + num_samples < end; i++) { 108 for (i = 0; speex_bits_remaining(&s->bits) && output + num_samples < end; i++) {
109 int ret = speex_decode_int(s->dec_state, &s->bits, output); 109 int ret = speex_decode_int(s->dec_state, &s->bits, output);