随笔分类 - android
摘要:最近在了解Android DRM相关的一些知识,下面转一个ARM大佬分享的内容: 前言 本文简略地介绍了如何在Android下实现DRM(Digital Rights Management, 数字版权管理)以及与其适配的Secure Video Path的要点。希望本文能够省去大家一些阅读代码和文档
阅读全文
摘要:LOCAL_LDLIBS :链接的库不产生依赖关系,一般用于不需要重新编译的库,如库不存在,则会报错找不到。且貌似只能链接那些存在于系统目录下本模块需要连接的库。如果某一个库既有动态库又有静态库,那么在默认情况下是链接的动态库而非静态库。 如:LOCAL_LDLIBS += -lm –lz –lc
阅读全文
摘要:快有几个月没更新了,记录一下最近解决问题用到的工具吧. 最近代码跑压力测试,总是发现内存在无规律的慢慢增加,因此在Android上用上了大名顶顶的valgrind,说实话,真是名不虚传, 真是建议以后所有c/c++ 项目,不管有没有现象级的问题,用这个跑一下检测下一些隐藏得比较深的问题; expor
阅读全文
摘要:在阅读SurfaceFlinger HardwareComposer以及gralloc相关代码的过程中,我们经常会遇到native_handle private_handle_t ANativeWindowBuffer ANativeWindow GraphicBuffer Surface等等一系列
阅读全文
摘要:远程调试步骤 在Android设备上启动gdbserver并attach你想调试的进程,并指定监听调试命令的端口(此端口是TV上的端口) $ adb shell # ps |grep media #查看要调试进程的PID,以mediaserver进程为例 # gdbserver :1234 --at
阅读全文
摘要:PCR同步在非硬件精确时钟源的情况还是谨慎使用,gstreamer里面采用PCR同步,但是发现好多ffmpeg转的片儿,或者是CP方的片源,pcr打得很粗糙的,老是有跳帧等现象。音视频同步,有三种方法,视频同步音频,音频同步视频,同步到外部时钟! 第三种,同步到外部时钟也就是PCR同步,和我上面说的
阅读全文
摘要:PANORAMIC IMAGE PROJECTIONS An image projection occurs whenever a flat image is mapped onto a curved surface, or vice versa, and is particularly commo
阅读全文
摘要:概述OMX Codec是stagefrightplayer中负责解码的模块。由于遵循openmax接口规范,因此结构稍微有点负责,这里就依照awesomeplayer中的调用顺序来介绍。主要分如下几步:1 mClient->connect2 InitAudioDecoder & InitVideoD...
阅读全文
摘要:前面两节讲解了自定义Android编译项和创建Product产品配置文件,除了编译和定义产品相关环境变量外,还需要定义Board相关环境变量。1.build/core/config.mk109 # ---------------------------------------------------...
阅读全文
摘要:通过上篇文章,我们分析了编译android时source build/envsetup.sh和lunch命令,在执行完上述两个命令后, 我们就可以进行编译android了。1. make执行make命令的结果就是去执行当前目录下的Makefile文件,我们来看下它的内容:### DO NOT EDI...
阅读全文
摘要:Android的优势就在于其开源,手机和平板生产商可以根据自己的硬件进行个性定制自己的手机产品,如小米,LePhone,M9等,因此,在我们在对Android的源码进行定制的时候,很有必要了解下,Android的编译过程。如果你从来没有做过Android代码的编译,那么最官方的编译过程就是查看And...
阅读全文
摘要://下面是一个典型的播放序列:MediaPlayer player=new MediaPlayer()player->setDataSource(url,header);player->prepare();player->start();...//使用MediaPlayerServcie的Clien...
阅读全文
摘要: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...
阅读全文
摘要: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并将之...
阅读全文
摘要:Android开发中,在Java层可以方便的捕获crashlog,但对于 Native 层的 crashlog 通常无法直接获取,只能通过系统的logcat来分析crash日志。做过 Linux 和 Win32 开发的都知道,在pc上程序crash时可以生成 core dump 文件通过相关的工具分...
阅读全文
摘要:制造一个crash为了演示的目的,我在libsensors的open_sensors_device中故意制造了一个crash:static int open_sensors_device(const struct hw_module_t* module, const char* name, st...
阅读全文
摘要:转自:http://weibo.com/p/230418702c2db50102vc2hAndroid 虽然已经有好几年了,但是NDK的开放速度却非常缓慢,所以目前网络上针对对Android NativeCrash的分析说明还比较少,尤其是非常详细的分析方式更难以查询。因此大部分程序员在遇到难以进行...
阅读全文