| 
 | 
 
版本:0.90 rc4 
 
1.去掉播放rm时弹出的not a/v streams错误框 
打开mplayersource/libmpdemux/demux_real.c,找到下面的代码(1082行): 
[code:1] 
else { 
                    mp_msg(MSGT_DEMUX, MSGL_ERR, "Not audio/video stream or unsupported!\n"); 
                }[/code:1] 
全部删掉或注释掉 
在播放rm文件时,这部分(else if... else)代码被执行3次,第一和第三次上面的代码条件不足不执行,跳过,第二此执行了,因此弹出警告窗. 
由于不清楚rm文件的格式和作者的判断是否正确,这是否是软件的bug不清楚,只知道老是弹出这框非常烦人,建议去掉,对mplayer功能无影响,rm照样播放 
 
2.去掉播放过慢时老是弹出的"太慢播放这个"警告框 
打开mplayersource/mplayer.c,找到下面的代码(1933行): 
[code:1] 
        if(drop_frame_cnt>50+drop_message*250 && AV_delay>0.5){ 
          ++drop_message; 
          mp_msg(MSGT_AVSYNC,MSGL_ERR,MSGTR_SystemTooSlow); 
        } 
[/code:1] 
这里判断如果丢帧,丢失信息太利害或图像和声音延时太明显,则用mp_msg函数弹出系统太慢的警告信息框,有时播放速度还可以接受,但老是弹出这个框感觉不爽,将这些代码删掉或注释掉就可以消除这个现象. 
 
3.消除看带vobsub字幕的divx电影后,自动禁止加载字幕功能的现象 
这个bug的现象是,如果你设置了自动加载字幕功能,在加载带divx时,会自动加载和电影文件同名的sub字幕,因此播放时能看到字幕,但加载完后,mplayer会自动将自动加载功能设置为禁止,因此,下次你再播放divx电影时,将不会再加载字幕,得重新设置自动加载字幕功能才能生效(如果是gui操作界面,在右键-"属性设置"-"OSD和字幕",将"禁止自动加载字幕"的勾去掉就能让自动加载字幕声效),比较麻烦,一些朋友老是说mplayer第一次能播放sub字幕,第二次就不能播放,就是这个原因,这里有相关描述 播放srt字幕这个bug不会发作) 
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=8592&highlight=%BC%D3%D4%D8%D7%D6%C4%BB 
打开mplayersource/mplayer.c,找到下面代码(1040行): 
[code:1] 
if(vo_vobsub){ 
      sub_auto=0; // don't do autosub for textsubs if vobsub found 
      inited_flags|=INITED_VOBSUB; 
      vobsub_set_from_lang(vo_vobsub, dvdsub_lang); 
    } 
[/code:1] 
这里的代码意思是,如果加载sub字幕成功,则令sub_auto=0,并初始化字幕信息,设置sub字幕的语系;正是这句sub_auto=0累事(divx电影播放时会检测这个值,如果为1,则搜索字幕加载,为0不加载字幕,而且,这个值在程序退出时保存到~/.mplayer/gui.conf里的sub_auto_load = ""行,如果为0,则保存为sub_auto_load = "NO",如果为1,则保存为sub_auto_load = "yes"),按作者的注释,这样做似乎是防止加载了sub字幕后再加载srt字幕,而一般情况下,divx电影目录下只有一种字幕,要么是sub格式,要么是srt格式,因此这行sub_auto=0;一般没必要存在,因此,只要将这行注释掉或删掉,那就再也没有播放sub字幕老要自己设置加载的烦恼了 
 
这三处其实也不算是bug,因此,只在这里贴出一下,本站提供的源码包就不打算修改了,有兴趣的朋友,请自己下载本站源码按上面的步骤做做修改(当练手,很有意义的),然后重新完全编译安装一次吧 |   
 
 
 
 |