mirror of https://github.com/mpv-player/mpv
Remove any auto-inserted lavc filter.
Makes sure it will not be around if we e.g. try again with a different codec, which can lead to -vo null being excessively slow. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30391 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
3526daed7a
commit
c2ffe44a28
|
@ -206,7 +206,7 @@ csp_again:
|
|||
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;
|
||||
vf_instance_t* vo, *vp = NULL, *ve, *vpp = NULL;
|
||||
// Remove the scale filter if we added it ourself
|
||||
if(vf == sc) {
|
||||
ve = vf;
|
||||
|
@ -214,14 +214,21 @@ csp_again:
|
|||
vf_uninit_filter(ve);
|
||||
}
|
||||
// Find the last filter (vf_vo)
|
||||
for(vo = vf ; vo->next ; vo = vo->next)
|
||||
for(vo = vf ; vo->next ; vo = vo->next) {
|
||||
vpp = vp;
|
||||
vp = vo;
|
||||
}
|
||||
if(vo->query_format(vo,IMGFMT_MPEGPES) && (!vp || (vp && strcmp(vp->info->name,"lavc")))) {
|
||||
ve = vf_open_filter(vo,"lavc",NULL);
|
||||
if(vp) vp->next = ve;
|
||||
else vf = ve;
|
||||
goto csp_again;
|
||||
}
|
||||
if (vp && !strcmp(vp->info->name,"lavc")) {
|
||||
if (vpp) vpp->next = vo;
|
||||
else vf = vo;
|
||||
vf_uninit_filter(vp);
|
||||
}
|
||||
}
|
||||
mp_msg(MSGT_CPLAYER,MSGL_WARN,MSGTR_VOincompCodec);
|
||||
sh->vf_initialized=-1;
|
||||
|
|
Loading…
Reference in New Issue