不知为啥今晚突然脑海中闪现出一个念头:写博客!原因有二,其一就是记录下自己的学习所得,巩固自己的知识,温故而知新吧,以前都是光看光想,都没有记录,而且不写下来,领悟估计就差点了,好记忆不如烂笔头啊!其二就是为自己的码农生涯留点纪念,以后也可以给孩子看看自己老爸写的文章!虽说写得不咋地
csdn的博客好久没有更新博文了,今天一进来竟然都有1W多的总访问量,让我很是诧异!让我有了坚持写下去的信心!多谢各位的支持啊。最近没事瞎搞些FFMPEG ,FBReader等开源项目,但是我最主要的工作还是android multimedia framework,等写完multimedia framework,把自己的FFMPEG和FBReader整理整理,开源出来!希望能坚持到那一天,给自己mark一记!
本来昨晚想把android4.1 jellybean的代码搞下来的,无奈还得搞个代理,明天去公司拷吧!
jellybean 的多媒体跟以前的版本,通过对比没啥变化,最大的变化是google终于舍得给multimedia建个独立的git了(framework/av),等你好久了!也体现了media 在整个android系统中的重要性!framework/av下都是些C/C++代码(libmedia,libmediaplayerservice,libstagefright),jni和 java api 还是保留在原来的位置,改革还不够彻底,但还是迈出了这一步,以后维护能更好的进行了!但是对于从ics往jellybean升级就得费点劲了,打patch不好打了!还有一个大的变化时增加了可以直接调用codec的API,不需要通过stagefrigh引擎去调用,就像我们直接调用FFMPEG的codec一样,方便简单,不用绕那么多弯。具体的往后我们再具体了解吧,毕竟刚有的!
android multimedia Framework 整体架构是一个很庞大的系统,我们该如何划分和去研究呢?大的分法就是video和audio。往细的分呢?也是我接下来要按顺序讲的:
video 部分:
1:video playback
2:video streaming
3:video recorder
audio部分:
1:audio playback
2:audio streaming
3:sound recorder
4:audio flinger