CVS: main mplayer.c,1.879,1.880
CVS change done by Alban Bedel CVS Update of /cvsroot/mplayer/main In directory mail:/var2/tmp/cvs-serv25481 Modified Files: mplayer.c Log Message: Autoload vobsub's from ~/.mplayer/sub Index: mplayer.c =================================================================== RCS file: /cvsroot/mplayer/main/mplayer.c,v retrieving revision 1.879 retrieving revision 1.880 diff -u -r1.879 -r1.880 --- mplayer.c 17 Oct 2005 18:16:28 -0000 1.879 +++ mplayer.c 3 Nov 2005 14:19:25 -0000 1.880 @@ -1591,10 +1591,26 @@ mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_CantLoadSub,vobsub_name); }else if(sub_auto && filename && (strlen(filename)>=5)){ /* try to autodetect vobsub from movie filename ::atmos */ - char *buf = malloc((strlen(filename)-3) * sizeof(char)); + char *buf = malloc((strlen(filename)-3) * sizeof(char)),*psub; memset(buf,0,strlen(filename)-3); // make sure string is terminated strncpy(buf, filename, strlen(filename)-4); vo_vobsub=vobsub_open(buf,spudec_ifo,0,&vo_spudec); + /* try from ~/.mplayer/sub */ + if(!vo_vobsub && (psub = get_path( "sub/" ))) { + char *bname; + int l; + bname = strrchr(buf,'/'); +#ifdef WIN32 + if(!bname) bname = strrchr(buf,'\\'); +#endif + if(bname) bname++; + else bname = buf; + l = strlen(psub) + strlen(bname) + 1; + psub = realloc(psub,l); + strcat(psub,bname); + vo_vobsub=vobsub_open(psub,spudec_ifo,0,&vo_spudec); + free(psub); + } free(buf); } if(vo_vobsub){
participants (1)
-
syncmail@mplayerhq.hu