Mercurial > libavcodec.hg
diff mpegvideo.c @ 771:d4cc92144266 libavcodec
handle direct rendering buffer allocation failure
author | michaelni |
---|---|
date | Sun, 27 Oct 2002 00:02:23 +0000 |
parents | c3fc09466f92 |
children | 08423289ec57 |
line wrap: on
line diff
--- a/mpegvideo.c Sat Oct 26 18:56:43 2002 +0000 +++ b/mpegvideo.c Sun Oct 27 00:02:23 2002 +0000 @@ -791,7 +791,7 @@ } /* generic function for encode/decode called before a frame is coded/decoded */ -void MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx) +int MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx) { int i; UINT8 *tmp; @@ -800,7 +800,10 @@ avctx->mbskip_table= s->mbskip_table; if(avctx->flags&CODEC_FLAG_DR1){ - avctx->get_buffer_callback(avctx, s->width, s->height, s->pict_type); + if(avctx->get_buffer_callback(avctx, s->width, s->height, s->pict_type) < 0){ + fprintf(stderr, "get_buffer() failed\n"); + return -1; + } s->linesize = avctx->dr_stride; s->uvlinesize= avctx->dr_uvstride; @@ -854,6 +857,8 @@ s->dct_unquantize = s->dct_unquantize_h263; }else s->dct_unquantize = s->dct_unquantize_mpeg1; + + return 0; } /* generic function for encode/decode called after a frame has been coded/decoded */