摘要:
Android的优势就在于其开源,手机和平板生产商可以根据自己的硬件进行个性定制自己的手机产品,如小米,LePhone,M9等,因此,在我们在对Android的源码进行定制的时候,很有必要了解下,Android的编译过程。如果你从来没有做过Android代码的编译,那么最官方的编译过程就是查看And... 阅读全文
摘要:
//下面是一个典型的播放序列:MediaPlayer player=new MediaPlayer()player->setDataSource(url,header);player->prepare();player->start();...//使用MediaPlayerServcie的Clien... 阅读全文
摘要:
主框架流程下图是一个使用“gcc+eygpt+graphviz+手工调整”生成的一个ffplay函数基本调用关系图,其中只保留了视频部分,去除了音频处理、字幕处理以及一些细节处理部分。注:图中的数字表示了播放中的一次基本调用流程,X?序号表示退出流程。从上图中我们可以了解到以下几种信息:三个线程:主... 阅读全文
摘要:
1. Linux内核提供了统一的framebuffer显示驱动,设备节点/dev/graphics/fb*或者/dev/fb*,以fb0表示第一个显示屏,当前实现中只用到了一个显示屏。2. Android的HAL层提供了Gralloc,分为fb和gralloc两个设备。设备fb负责打开内核中的fra... 阅读全文
摘要:
Android窗口系统我们知道Android系统采用OpenGL来绘制3D图形,OpenGL ES提供了本地窗口(NativeWindow)的概念,无论是在Android平台中还是其他平台中,只要实现OpenGL ES中的本地窗口定义的接口,就可以利用OpenGL ES来绘制图形。由于Android... 阅读全文
摘要:
Matroska开源多媒体容器标准。MKV属于其中的一部分。Matroska常见的有.MKV视频格式、MKA音频格式、.MKS字幕格式、.MK3D files (stereoscopic/3D video).1.EBML(Extensible Binary Meta Language)MKV是建立在... 阅读全文
摘要:
android的多媒体框架中,stagefright其实是AwesomePlayer的代理,就是个皮包公司。status_t StagefrightPlayer::setDataSource( const char *url, const KeyedVector *headers)... 阅读全文
摘要:
最近调研android视频录制、另一部手机实时观看,大致有以下几种思路。1. android手机充当服务器,使用NanoHTTPD充当服务器,另一部手机或者pc通过输入http://手机的ip:8080网址观看。这种方案可以参考 ipcamera-for-android开源项目,网址http://c... 阅读全文
摘要:
Binder Android IPC Linux内核驱动摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之... 阅读全文
摘要:
PlatinumUPnPSDK是一个跨平台的C++库,利用该库,可以很容易就构建出DLNA/UPnP控制点(DLNA/UPnPControlPoint)和DLNA/UPnP设备(DLNA/UPnPDevice),其中包括有UPnPAVMediaServer,MediaRender&ControlPo... 阅读全文