
android
雾里看花-2012
这个作者很懒,什么都没留下…
展开
-
nexus 6 remount失败问题
最近开发android时用到了nexus 6手机,已经获得了root权限, 但是在执行adb remount时,还是会报"remount of system failed: Permission denied", 于是疯狂找资料, 发现这样会解决问题:$adb shell$mount$su#mount -o rw,remount /dev/by-name/system原创 2015-10-19 17:40:59 · 1197 阅读 · 0 评论 -
如何在JNI工程中使用第三方库文件
在安卓开发中如何将来自于第三方的库文件编译到系统的目标库中呢,本文从动态库和静态库两方面描述了操作方式原创 2016-07-15 11:01:16 · 571 阅读 · 0 评论 -
Linux 下编译 VLC for Android
https://jiya.io/archives/compile-vlc-for-android.html最近在研究VLC播放器,主要目的是使用Android平台VLC播放器进行RTMP直播,研究目的是为了降低RTMP直播的延迟,目标将延迟降到1s以内。首先需要在Linux(本人使用Ubuntu 14)下编译VLC for Android的源码,根据官方的Wiki,以及自己实际操作的步转载 2016-05-01 15:06:55 · 604 阅读 · 0 评论 -
VLC架构及流程分析
zz:https://jiya.io/archives/vlc_learn_2.html0x00 前置信息VLC是一个非常庞大的工程,我从它的架构及流程入手进行分析,涉及到一些很细的概念先搁置一边,日后详细分析。0x01 源码结构(Android Java相关的暂未分析)# build-android-arm-linux-androideabi/:第三方库。# mod转载 2016-05-01 15:09:21 · 604 阅读 · 0 评论 -
avformat_find_stream_info接口延迟降低
0x00 前置信息版本:ffmpeg2.2.0文件:vlc src/module/demux/avformat/demux.c函数:OpenDemux0x01 研究背景ffmpeg的两个接口avformat_open_input和avformat_find_stream_info分别用于打开一个流和分析流信息。在初始信息不足的情况下,avformat_find_stre转载 2016-05-01 15:11:13 · 1278 阅读 · 0 评论 -
修改VLC读缓冲机制
0x00 前置信息为进一步降低延迟,采用极端方法修改VLC读缓冲机制。0x01 VLC读缓冲机制对于一个rtmp流的读取,发起端在Demux module中,具体在该模块的Demux方法中调用ffmepg的接口av_read_frame读取每一帧数据。但是这个read的接口实在不清晰,经过了多个抽象层的封装,最后真正指向了rtmp_read接口。还是通过一个图来看会比较清晰:上转载 2016-05-01 15:13:12 · 8713 阅读 · 0 评论 -
使用 NDK r9 编译ffmpeg
转自:http://wang-peng1.iteye.com/blog/20048971. 环境 ubuntu 我的是13.10 ndk r9 64位2. 下载ffmpeg http://www.ffmpeg.org/download.html 找到 FFmpeg 2.1.3 "Fourier"2.1.3 was released on 2014-01-15. It转载 2016-03-31 13:26:27 · 388 阅读 · 0 评论 -
一个支持socket并发的方案
TCP 的socket有创建、绑定、监听、收数据等过程,如果需要创建一个能够监听多个客户端链接的后台socket,如何支持并发访问呢?首先需要确定在什么地方需要支持并发:显然前三步都是初始化过程,不需要并发支持;收数据的过程是需要支持并发的,那也就是需要accept过程支持并发。如何支持并发呢?答案显然是多线程处理。那如何让多线程的处理减轻CPU 负担,同时还能及时响应客户端的请求?可原创 2015-12-17 16:58:32 · 2153 阅读 · 0 评论 -
NuPlayer介绍
简介Android2.3时引入流媒体框架,而流媒体框架的核心是NuPlayer。Android4.0之后HttpLive和RTSP协议开始使用NuPlayer播放器,Android5.0(L版本)之后本地播放也开始使用NuPlayer播放器。视频是如何播放的 DataSource有两个概念:上面框图中的DataSourceInput(或者直接叫DataSource)转载 2015-11-24 19:13:19 · 2182 阅读 · 1 评论 -
使用GDB调试android模拟器
使用android的模拟器可以调试应用,也可以调试C/C++代码库。调试C/C++代码时,还可以使用GDB单步调试代码,跟linux上一样方便。1. 准备android代码:从官网上下载代码,编译整个系统,最好选X86的选项2. 编译得到的系统便可以启动模拟器运行,如果要启用GPU加快渲染速度,使用: emulator -gpu on 以调试httplive为例,说明如何调试C/C原创 2015-11-13 15:49:29 · 2434 阅读 · 0 评论 -
vim删除^M
1.进入命令模式。vim的命令模式,就是在编辑模式下输入":",光标就会跳到屏幕最后一行,并在那里显示冒号,此时就已经进入命令模式。命令模式的内容均显示在屏幕的最后一行,按下回车键,vim执行命令。2.在命令模式下输入下列字符:输入:%s/^M$//g 3.回车。即会自动删除该文件中的所有 ^M 字符。删除行尾空格的命令: :%s/\s\+$//这句命令到底是什么意思呢?% 指转载 2015-11-13 15:37:24 · 508 阅读 · 0 评论 -
VIM中将tab转换为空格
1. vim打开文档,输入下列命令 :set ts=8 :set expandtab :%reb!2. 保存后退出即可将tab剪转化为8个空格原创 2015-11-13 15:40:54 · 598 阅读 · 0 评论 -
android framework添加对C++的支持
最近在将C++ STL写的模块移植到frameworks/av/media中,遇到了很多编译方面的问题,通过努力,顺利编译通过,下面将过程记录一下,以便以后参考:下面的方法在android-5.1.1_r9上测试过。1. STL模块函数找不到,链接失败stdc++/include/bits/stl_list.h:466: error: undefined reference to原创 2015-11-01 11:56:34 · 1333 阅读 · 0 评论 -
android如何编译出适用于不同平台的库文件
如何选择编译不同平台的库文件呢?原创 2016-07-15 11:22:41 · 535 阅读 · 0 评论