lavc: call ff_init_buffer_info() from default reget buffer.

This is needed in case the get_buffer() callback doesnt set
width/height.
Ideally all decoders would make calls through some wraper
to the callbacks and that wraper would call ff_init_buffer_info()
But until thats done, the default reget buffer must call this
itself as it needs the values for the changed size check later.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
release/0.10
Michael Niedermayer 13 years ago
parent 2fb65d3e55
commit e49780f749
  1. 5
      libavcodec/utils.c

@ -608,6 +608,8 @@ int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic){
s->release_buffer(s, pic);
}
ff_init_buffer_info(s, pic);
/* If no picture return a new buffer */
if(pic->data[0] == NULL) {
/* We will copy from buffer, so must be readable */
@ -617,9 +619,6 @@ int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic){
/* If internal buffer type return the same buffer */
if(pic->type == FF_BUFFER_TYPE_INTERNAL) {
if(s->pkt) pic->pkt_pts= s->pkt->pts;
else pic->pkt_pts= AV_NOPTS_VALUE;
pic->reordered_opaque= s->reordered_opaque;
return 0;
}

Loading…
Cancel
Save