src:http://www.linuxsir.org/bbs/thread320386.html
内容原文:
可以在rhythmbox和exaile里播放ape文件了。请大家下载测试
我写了一个monkeys audio的gst 0.10的插件,在我这里基本可用了。一年前我跟0.82插件的作者联系过,他比较忙没空移植,我当时写了一个结果总是崩溃,工作上脱不开身就忘记了。最 近想起来仔细阅读了一下gstreamer plugin developer’s guide,参考了flac的代码写了这个 gstmonkeysdec。编译前请安装mac和mac-devel包,在哪装的我也忘了,rpmfind.net找一下吧。
请把代码下载在目录下执行
$./configure --prefix=/usr
$su -c "make install"
另外需要安装我打过补丁的gstreamer-plugins-base包,补丁也一并奉上。这是因为gstreamer-plugins- good中已经有一个apetag插件,而且在typefind中的优先级极高,会导致rhythmbox等程序优先调用apetag插件匹配 application/x-apetag类型解析apetag,而不是先匹配application/x-ape来调用 gstapemonkeysdec,就放不了歌曲啦。搞笑的是即使调用了它rhythmbox也显示不出ape tag来。。
还存在两个问题:
1、在seeking的时候反应太慢。经过我的测试,每次seeking需要处理两次EVENT_SEEK,每次都要调用libmac里的CIO->Seek,每次Seek耗费cpu 800,000次,折合0.8秒,这样每次seeking需要近两秒的时间,这是libmac的问题,我无法解决了~
2、在rhythmbox里无法显示apetag。我的插件中已经注册了ape的tag并且实现了读取,使用gst-launch播放时可 以显示tag已经正确解析完毕,但是rhythmbox里就不行,可以在以下对比图中看出。还可以看到ogg的tag也显示不了,flac和mp3正常。 不知道rhythmbox是不是有其他的机制没有使用gstreamer的tag接口,谁乐意的话hack一下rhythmbox吧 ^_^
下载地址
http://gforge.oss.org.cn/projects/gstmac/
Read: 1359