|
版本: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,因此,只在这里贴出一下,本站提供的源码包就不打算修改了,有兴趣的朋友,请自己下载本站源码按上面的步骤做做修改(当练手,很有意义的),然后重新完全编译安装一次吧 |
|