@ -436,7 +436,6 @@ static int audio_get_buffer(AVCodecContext *avctx, AVFrame *frame)
}
frame - > type = FF_BUFFER_TYPE_INTERNAL ;
ff_init_buffer_info ( avctx , frame ) ;
if ( avctx - > debug & FF_DEBUG_BUFFERS )
av_log ( avctx , AV_LOG_DEBUG , " default_get_buffer called on frame %p, "
@ -560,11 +559,6 @@ static int video_get_buffer(AVCodecContext *s, AVFrame *pic)
}
pic - > extended_data = pic - > data ;
avci - > buffer_count + + ;
pic - > width = buf - > width ;
pic - > height = buf - > height ;
pic - > format = buf - > pix_fmt ;
ff_init_buffer_info ( s , pic ) ;
if ( s - > debug & FF_DEBUG_BUFFERS )
av_log ( s , AV_LOG_DEBUG , " default_get_buffer called on pic %p, %d "
@ -587,6 +581,26 @@ int avcodec_default_get_buffer(AVCodecContext *avctx, AVFrame *frame)
int ff_get_buffer ( AVCodecContext * avctx , AVFrame * frame )
{
switch ( avctx - > codec_type ) {
case AVMEDIA_TYPE_VIDEO :
frame - > width = avctx - > width ;
frame - > height = avctx - > height ;
frame - > format = avctx - > pix_fmt ;
frame - > sample_aspect_ratio = avctx - > sample_aspect_ratio ;
break ;
case AVMEDIA_TYPE_AUDIO :
frame - > sample_rate = avctx - > sample_rate ;
frame - > format = avctx - > sample_fmt ;
frame - > channel_layout = avctx - > channel_layout ;
break ;
default : return AVERROR ( EINVAL ) ;
}
frame - > pkt_pts = avctx - > pkt ? avctx - > pkt - > pts : AV_NOPTS_VALUE ;
frame - > reordered_opaque = avctx - > reordered_opaque ;
ff_init_buffer_info ( avctx , frame ) ;
return avctx - > get_buffer ( avctx , frame ) ;
}
@ -2682,8 +2696,6 @@ int ff_thread_get_buffer(AVCodecContext *avctx, AVFrame *f)
{
f - > owner = avctx ;
ff_init_buffer_info ( avctx , f ) ;
return ff_get_buffer ( avctx , f ) ;
}