Mercurial > libavcodec.hg
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); |