On Sat, Oct 22, 2011 at 03:36:47PM -0400, Justin Ruggles wrote:
> On 10/22/2011 03:29 AM, Kostya Shishkov wrote:
> 
> > On Fri, Oct 21, 2011 at 05:58:46PM -0400, Justin Ruggles wrote:
> >> ---
> >>  libavcodec/tta.c |    9 ++++++---
> >>  1 files changed, 6 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/libavcodec/tta.c b/libavcodec/tta.c
> >> index 419091b..093f1bb 100644
> >> --- a/libavcodec/tta.c
> >> +++ b/libavcodec/tta.c
> >> @@ -277,7 +277,7 @@ static int tta_decode_frame(AVCodecContext *avctx,
> >>      const uint8_t *buf = avpkt->data;
> >>      int buf_size = avpkt->size;
> >>      TTAContext *s = avctx->priv_data;
> >> -    int i;
> >> +    int i, out_size;
> >>      int cur_chan = 0, framelen = s->frame_length;
> >>      int32_t *p;
> >>  
> >> @@ -288,7 +288,9 @@ static int tta_decode_frame(AVCodecContext *avctx,
> >>      if (!s->total_frames && s->last_frame_length)
> >>          framelen = s->last_frame_length;
> >>  
> >> -    if (*data_size < (framelen * s->channels * 2)) {
> >> +    out_size = framelen * s->channels *
> >> +               av_get_bytes_per_sample(avctx->sample_fmt);
> >> +    if (*data_size < out_size) {
> >>          av_log(avctx, AV_LOG_ERROR, "Output buffer size is too small.\n");
> >>          return -1;
> >>      }
> >> @@ -387,13 +389,14 @@ static int tta_decode_frame(AVCodecContext *avctx,
> >>              for (p = s->decode_buffer; p < s->decode_buffer + (framelen * 
> >> s->channels); p++) {
> >>                  *samples++ = *p;
> >>              }
> >> -            *data_size = (uint8_t *)samples - (uint8_t *)data;
> >>              break;
> >>          }
> >>          default:
> >>              av_log(s->avctx, AV_LOG_ERROR, "Error, only 16bit samples 
> >> supported!\n");
> > 
> > it's a bit silly returning frame size for this case
> 
> yeah, I know. that case goes away in patch 11/15. would you prefer I
> reorder the patches?

Yes, that would be better
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to