Mercurial > mplayer.hg
changeset 7949:0aedfdc5d6ef
fixing segfault
author | michael |
---|---|
date | Tue, 29 Oct 2002 01:20:51 +0000 |
parents | 5a6cbe774760 |
children | d41eb993f6e2 |
files | libmpcodecs/vf_pp.c |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpcodecs/vf_pp.c Tue Oct 29 00:54:07 2002 +0000 +++ b/libmpcodecs/vf_pp.c Tue Oct 29 01:20:51 2002 +0000 @@ -25,13 +25,15 @@ static int config(struct vf_instance_s* vf, int width, int height, int d_width, int d_height, unsigned int voflags, unsigned int outfmt){ - - if(vf->priv->context) freePPContext(vf->priv->context); vf->priv->context= getPPContext(width, height); return vf_next_config(vf,width,height,d_width,d_height,voflags,vf->priv->outfmt); } +static void uninit(struct vf_instance_s* vf){ + if(vf->priv->context) freePPContext(vf->priv->context); +} + static int query_format(struct vf_instance_s* vf, unsigned int fmt){ switch(fmt){ case IMGFMT_YV12: @@ -118,8 +120,10 @@ vf->config=config; vf->get_image=get_image; vf->put_image=put_image; + vf->uninit=uninit; vf->default_caps=VFCAP_ACCEPT_STRIDE|VFCAP_POSTPROC; vf->priv=malloc(sizeof(struct vf_priv_s)); + vf->priv->context=NULL; // check csp: vf->priv->outfmt=vf_match_csp(&vf->next,fmt_list,IMGFMT_YV12);