[MPlayer-cvslog] CVS: main mplayer.c,1.879,1.880
Alban Bedel CVS
syncmail at mplayerhq.hu
Thu Nov 3 15:19:27 CET 2005
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){
More information about the MPlayer-cvslog
mailing list