找回密码
 注册
查看: 1416|回复: 1

mplayer的自动设置模式补丁

[复制链接]
发表于 2003-8-1 11:40:29 | 显示全部楼层 |阅读模式
一直以来都希望mplayer有自动检测可用播放模式并自动设置播放模式的功能,这样对于新手就不用老是调整vo、ao参数,使用时方便很多

这几天看mplayer0.90的相应代码,发现0.90最终版已经具有这样的功能,但只限命令行播放而且不带-vo -ao参数时才有作用,于是修改一下代码,让gmplayer也具有同样的功能

在mplayer的video_out.c中,init_best_video_out(char** vo_list)这个模块是用来选择最合适的视频播放模式的,大概工作原理是这样:
根据mplayer -vo help里列出的可用播放模式,逐个尝试(mplayer -vo help列出的模式是按从优到劣排列的,因此这个模块最后得到的模式是可用最优的)。
但对于指定了-vo参数时,模块尝试此指定模式如果不成功,则if(!(vo_list[0])) return NULL直接跳出模块,不再尝试其他模式;而gmplayer第一次运行时,缺省会以mplayer -vo help列出的第一种模式当作参数运行,一旦这个模式不对,就弹出错误提示框从而无法播放("打开/初始化所选的视频输出(-vo)设备是(??)出错!")
对于magic 1.2里自带的mplayer,第一播放模式是mga,第二是xmga,这两个模式都是对应Matrox G200系列显卡的,对其他显卡不兼容,因此很多用magic的人老是抱怨自带的mplayer报错"打开/初始化所选的视频输出(-vo)设备是(??)出错!",如果没用过mplayer的话就不知如何调整了(其实也很简单,右键在“属性设置”-“视频”(音频)里设置一下就行)
同样,audio_out.c里的init_best_audio_out模块也有这种的现象

现在我将return NULL改成break,单单只退出while循环,继续尝试其他模式,这样修改后的好处如下:
"mplayer 电影文件名"即可自动用合适的vo和ao模式来播放,无须自己指定参数
"mplayer -vo 模式 -ao 模式 电影文件名"可以用指定模式播放,而指定的模式如果错误(譬如不存在或你的显卡用不了),会自动调整到其他合适的模式播放
gmplayer打开电影时会自动设置最合适的播放模式来播放,不会再出现"打开/初始化所选的视频输出(-vo)设备是(??)出错!",而退出时,会自动将调整后的模式参数写入~/.mplayer/gui.conf,下次启动时会自动加载;就算在gmplayer的“属性设置”里设置了错误的不可用的视频音频模式,它在下次播放时也会自动调整回来。

修改后的mplayer,在使用上应该方便不少,特别是对于新手


补丁见附件,适用于mplayer0.90最终版

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2003-8-1 11:50:23 | 显示全部楼层
呵呵!!!

太好了,部长有出现在人群里了。

        
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-1-9 10:02 , Processed in 0.105475 second(s), 17 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表