- 博客(37)
- 资源 (73)
- 收藏
- 关注
转载 netperf用法
http://blog.csdn.net/iamljj/article/details/6254461全局参数:-H:指定运行netserver的服务器的IP地址-l: 指定测试的时间长度(秒)-t: 指定进行的测试类型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR网络性能测试:1. 批量性能测试 局部参数:
2014-12-31 21:58:35 1973
原创 Android 工具
Android系统性能调优工具介绍 http://blog.csdn.net/innost/article/details/9008691
2014-12-31 21:14:42 511
原创 Linux 分区方案
sda1-20G,ext4,挂载至/目录sda2-2048MB,swap格式,无需挂载点sda3-8G,ext4,挂载至/tmp目录sda4-所有剩余磁盘空间,ext4,挂载至/home目录注意分区顺序依次是/,swap,/tmp,/home,平均磁头移臂次数较少,读写综合性能较优.
2014-12-30 16:16:40 550
转载 Linux screen 命令详解
一、背景系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。二、简介GNU Screen是一款由GNU计划开发的用于
2014-12-26 16:45:44 661
转载 tmux的使用方法和个性化配置
介绍tmux是一个优秀的终端复用软件,即使非正常掉线,也能保证当前的任务运行,这一点对于远程SSH访问特别有用,网络不好的情况下仍然能保证工作现场不丢失!此外,tmux完全使用键盘控制窗口,实现窗口的切换功能。简单地说,tmux对于我主要有两个功能(这应该也是tmux的主要功能):split窗口。可以在一个terminal下打开多个终端,也可以对当前屏幕进行各种split,即可以
2014-12-26 15:06:31 49585 3
转载 使用CMake构建android原生库
在android下进行原生C/C++应用程序开发,通常使用ndk-build脚本编译源代码,但是对于一些第三方库,采用ndk-build编译却是不太方便。我之前有些项目采用了CMake构建系统,现在希望把这些库拿到android下使用,因此想是否可以仍然采用CMake构建系统。本质上,ndk就是一套交叉编译工具链,加上一些方便使用的脚本,而CMake对交叉编译支持的很好,所以从理论上是可行的。上网
2014-12-25 21:48:09 2739
转载 socat examples
// Examples for using socat (and filan)//"$" means normal user, "#" requires privileges, "//" starts a comment///////////////////////////////////////////////////////////////////////////////// si
2014-12-22 17:49:03 2153
转载 LINE_TO_STRING
#include //////////////////////////////////////////////////////////////////////////#define MACRO_TO_STRING(MACRO) #MACRO#define LINE_HELPER(LINE) MACRO_TO_STRING(LINE)#define LIN
2014-12-19 17:06:35 717
转载 Android procrank
Android procrank (/system/xbin/procrank) 工具,能够列出进程所占用的内存使用情况。顺序为从高到低。每个进程占用内存大小以 VSS, RSS , PSS, USS 的形式列出。为了简化描述,内存占用以页为单位表述,而不是字节。 通常每页为 4096 字节。 VSS ( 等同于 ps 命令列出的 VSZ) 是单个进程全部可访问的地址空间。
2014-12-18 15:12:16 749
转载 sudo: /etc/sudoers is mode 0777, should be 0440终极解决之道
网上有介绍登入root用户,或者去grub的recovery mode选项去选择root模式进入,再去用chmod把/etc/sudoers的权限改回来.但是你可能从来没设置过root密码,或者你根本就不知道root密码是多少.或者即便进入了recovery mode选项去选择root模式,当执行chmod的时候却发现read-only file system.这时,同学们也许只能仰天长啸了...
2014-12-18 14:43:14 2754
转载 OMXCodec数据处理过程
buffer的处理主要由以下4个命令来进行驱动OMXCodec使用OMX_EmptyThisBuffer传递未解码的buffer给component,component收到该命令后会读取input port buffer中的数据,将其组装成帧进行解码,读取buffer中的数据完成后会调用EmptyBufferDone通知OMXCodeccompome
2014-12-18 11:57:15 1625
转载 AudioSink & AudioTrack
AudioTrack is the hardware audio sink. AudioSink is used forin-memory decode and potentially other applications where output doesn'tgo straight to hardware.AudioTrack是硬件音频接收器,AudioSink用于内存解码或者可能
2014-12-18 11:50:46 4364
转载 OMXCodec::read() 已经两次遇到等待不到锁而卡死的情况
status_t OMXCodec::read( MediaBuffer **buffer, const ReadOptions*options) { status_t err = OK; *buffer = NULL; Mutex::AutolockautoLock(mLock); if (mState != EXECUTI
2014-12-18 11:49:29 864
转载 OMX只是一个框架,所以解码器是硬解还是软解都没关系,而且大多说厂家的硬解码都是使用OMX框架
OMX只是一个框架,所以与解码器是硬解还是软解都没关系,而且大多说厂家的硬解码都是使用OMX框架数据格式及OMX输入缓冲细节 enum State{ DEAD, LOADED, LOADED_TO_IDLE, IDLE_TO_EXECUTING, EXECUTING, EXE
2014-12-18 11:48:52 1674
转载 CodecInfo为一个结构体,包含两个成员,后面定义了这个结构体类型的一个数组
void OMXCodec::findMatchingCodecs( const char *mime, bool createEncoder, const char*matchComponentName, uint32_t flags, Vector*matchingCodecs) { matchingCodecs->cle
2014-12-18 11:47:52 1526
转载 在一个数组中避免重复查找的算法---omxcodec
void OMXCodec::findMatchingCodecs( const char *mime, bool createEncoder, const char*matchComponentName, uint32_t flags, Vector*matchingCodecs) { matchingCodecs->cle
2014-12-18 11:46:54 658
转载 IBinder的三个主要部分(暂不分析底层如何实现)
1:定义服务类,如AudioFlinger.cpp MediaPlayerService.cppCameraService.cppAudioPolicyService.cpp 实现的过程参考前面的某一篇博客,差不多就是定义一个IXXXX,然后定义两个BnXXX和BpXXX等等;2:在开机流程中,将这些服务注册到servicemanager中去,这个servic
2014-12-18 11:40:03 691
转载 Android视频播放数据读取的流程
这里分析Android4.0.1本地视频数据读取的流程,其他过程类似当播放条件准备妥当之后,就要循环进行读取视频的原始数据放到MediaBuffer,将MediaBuffer中的数据输送到解码器中解码,解码后的数据放到MediaBuffer中,在将这MediaBuffer中的数据进行render显示。本文主要侧重读取原始数据的流程,主要是代码跟踪,不夹杂个人分析,有些mpe
2014-12-18 11:37:11 2418
转载 HTTP协议的chunked编码
一般情况HTTP的Header包含Content-Length域来指明报文体的长度。如:有时候服务生成HTTP回应是无法确定消息大小的,比如大文件的下载,或者后台需要复杂的逻辑才能全部处理页面的请求,这时用需要实时生成消息长度,服务器一般使用chunked编码。 在进行Chunked编码传输时,在回复消息的Headers有transfer-coding域值为c
2014-12-18 11:25:54 580
转载 dlna测试遇到的第二个问题
问题背景:一个将近300M的adts音频文件,通过服务器共享给手机终端,手机终端使用dlna应用进行播放,发现缓冲了半个小时还不能播放。另外不能播放对应的服务器采用的是Content-Length这种编码格式,而采样chunked这种编码方式的服务器却能够正常播放。打log发现,在MediaExtractor中构造AACExtractor时一直没有返回,所以直接到AACEx
2014-12-18 11:25:11 1625
转载 分享一个分析的 rtsp 流媒体的问题
前面几篇博文都是关于http协议的流媒体,这篇博客分享一篇分析的rtsp协议的流媒体的问题。问题北京:播放一个内网服务器上面的音频文件,拖动进度条,毕现的会有so crash的现象查看log,crash的地方是:CHECK_LE(offset + payloadLength,buffer->size());这个宏没有满足导致。在分析这个问题之前,先大致了解一下r
2014-12-18 11:24:08 1195
转载 Android rtsp 流媒体音视频帧的处理流程
先把从收到rtp包到封装成完整的一帧涉及的相关函数从上到下罗列一遍,后续在忘记的情况下理清的时候可以作为线索,不用从头去分析代码(MyHandler.h)onMessageReceived(case setu) sp notify = newAMessage('accu', id());void ARTPConnection::addStreamvoid ARTPConnectio
2014-12-18 11:22:34 3663
转载 Android异步消息框架
自从rtsp从stagefright播放器移植到NuPlayer之后,你会发现相关的类中存在许多类似下面的代码:================================11111111111111==========================NuPlayerDriver::NuPlayerDriver() :mLooper(new ALooper) {
2014-12-18 11:21:39 869
转载 不适合作为流媒体的视频文件
测试各个服务器上的视频文件的时候,经常发现有些视频莫名其妙的播放不流畅,甚至是非常卡顿以至于播放不了,但是在本地播放这些文件非常流畅,将这些文件下载下来播放,并且将MPEG4Extractor中解析的log打上,发现一个规律,这些视频文件的树状结构的box中,moov这个字段都在文件的最末尾,也就是在真正视频数据的后面。 由于视频播放前首先需要使用extractor解析这个文件,其实解析就
2014-12-18 11:16:25 2429
转载 视频文件NAL单元不完整导致不能播放
遇到两类这样的情况:1:一些从网上down下来的在线视频,播放过程中直接提示无法播放;2:还有一个是一个500M的视频,能够正常播放,但是播放过程中,如果拖动进度条,做seek操作,会提示无法播放这两种情况log提示一致:Video is malformed,就是在如下的代码中出现错误: while(srcOffset
2014-12-18 11:14:42 1431
转载 处理的一个 http live streaming 的问题
测试一项http livestreaming的流媒体,提示无法播放,底层解码器直接报错,打开解码器相关的log开关,问题一目了然,播放的视频时720P的,而我们的手机最大支持分辨率为840*480左右,所以无法播放。由于这项测试必须通过,所以我们先后采取了一下两种方法去规避1:使用谷歌的软解去解码; 调用谷歌软解去解码视频帧的时候都是没有图像的,无法正常播放;2:使用co
2014-12-18 11:12:04 1021
转载 libstagefright 音视频同步方案
1:音视频数据都有一个list,用于存放解码后的数据; ListmFilledBuffers; 2:解码后的音视频数据不断的往list中存放,不做音视频同步方面的时间上控制 mFilledBuffers.push_back(i);3:音视频同步主要表现在从list中取数据进行视频的显示和音频的输出;4:其中audio数据在线程函数t
2014-12-18 10:34:52 823
转载 HTTP协议头详解
HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内容请参 考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户 信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错
2014-12-06 22:52:14 735
转载 免费的在线密码破解站点(MD5 SHA WPA ...)
免费的一些在线密码破解站点,不仅仅局限于MD5,很多都是国外的站,需要使用VPN或者代理访问。MD5 MD5Decrypter(uk)Plain-TextCrackfoo -NNCHashcrackGdataMD5thisMD5crackNoisetteJoomlaaaIgrkioMD5decrypterShell-StormNetMD5
2014-12-06 22:46:03 6119 1
转载 C++编译期函数/变量检测技术,仿真VC关键字__if_exists
转帖请注明出处 http://www.cppblog.com/cexer/archive/2008/07/06/55484.html VC当中有一个鲜为人知的关键字,除了微软自己的代码,我从未在任何地方看到有人用过它。虽然它的功能很强大,不过除非设计上的问题或是一些无法排除的困难,否则几乎从不会需要用到它的功能。但是有时候,它确实能作为一个最简单的解决方案而让某些设计过程事半功倍。
2014-12-04 09:41:51 1286
转载 从github下载最新Android源码
今年5月底开始,谷歌彻底被墙,所有谷歌的网站都不能访问了,这次包括了android.org,googlesource.com,code.google.com。Android官方的资源不能访问,想下载Android代码当然是困难重重了。本文就为大家解决这一问题——介绍如何使从github.com/andorid下载Andorid最新源码。俗话说“授之以鱼不如授之以渔”,本文不只是给出一个已经打包
2014-12-03 18:24:11 30817
转载 Substitution failure is not an error
Substitution failure is not an errorFrom Wikipedia, the free encyclopediaSubstitution failure is not an error (SFINAE) refers to a situation inC++ where an invalid substitution oftemplate
2014-12-03 14:15:36 1275
转载 The __if_exists Statement
The __if_exists Statement__if_exists allows you to conditionally include code depending on whether the specified symbol exists.__if_exists ( variable ) { statements }where:
2014-12-03 14:09:46 971
转载 安全软件
建议安全界人士仔细阅读这份列表,并对不熟悉或未听说过的工具进行研究,相信会有很大帮助。我自己就从中发现了很多以前没有使用过但非常好用的工具。当很多菜鸟问我“我不知道当一个黑客该从何开始”时,我就让他们来读读这篇文章。 受访者被要求列出各种平台上的开源和商业工具。商业工具会在列表中进行标注。Nmap Security Scanner没有参与投票,因为调查是在Nmap的邮件列表中进行的。因为受访者多为
2014-12-02 19:36:24 1104
原创 nginx HTTP 代理服务器
server { resolver 114.114.114.114; listen 80; location / { proxy_pass http://$http_host$request_uri; } }
2014-12-01 13:57:10 1527
字库生成及显示
2014-09-09
VS2008 可调试的 libevent-2.0.21-stable
2014-01-16
YUVViewer最终版
2013-10-16
IOCP 完成端口及示例
2013-01-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人