# HG changeset patch # User albeu # Date 1035999944 0 # Node ID ab15849ec64804e954c64f1023a8fa6cc905e6dd # Parent 0c660f21e0e4862b9d644241aaead64d4dce6f51 10L ! Don't remove the scale filter if we don't added ourself diff -r 0c660f21e0e4 -r ab15849ec648 libmpcodecs/vd.c --- a/libmpcodecs/vd.c Wed Oct 30 14:10:36 2002 +0000 +++ b/libmpcodecs/vd.c Wed Oct 30 17:45:44 2002 +0000 @@ -137,7 +137,7 @@ int screen_size_x=0;//SCREEN_SIZE_X; int screen_size_y=0;//SCREEN_SIZE_Y; // vo_functions_t* video_out=sh->video_out; - vf_instance_t* vf=sh->vfilter; + vf_instance_t* vf=sh->vfilter,*sc=NULL; #if 1 if(!(sh->disp_w && sh->disp_h)) @@ -182,12 +182,12 @@ // TODO: no match - we should use conversion... if(strcmp(vf->info->name,"scale")){ mp_msg(MSGT_DECVIDEO,MSGL_INFO,MSGTR_CouldNotFindColorspace); - vf=vf_open_filter(vf,"scale",NULL); + sc=vf=vf_open_filter(vf,"scale",NULL); goto csp_again; } else { // sws failed, if the last filter (vf_vo) support MPEGPES try to append vf_lavc vf_instance_t* vo, *vp = NULL, *ve; - // Remove the scale filter - if(strcmp(vf->info->name,"scale") == 0) { + // Remove the scale filter if we added it ourself + if(vf == sc) { ve = vf; vf = vf->next; vf_uninit_filter(ve);