自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

unbroken

温室没有 灿烂的花

原创 欢迎关注微信公众号"Android系统攻城狮",会持续分享技术输出!!!

微信公众号 Github

2019-06-28 08:33:41 220 0

原创 Android9.0 setStereoVolume左右声道流程(一)

注意:这条路其实没有走,过后会写第二篇分析到底是怎么控制AudioTrack的左右声道的。 栗子:setStereoVolume()控制左右声道流程. private AudioTrack mAudioTrack; int bufferSize = AudioTrack.getMinBuffer...

2019-03-06 18:30:21 1218 0

原创 通过AMS分析Binder流程(Java到Kernel)

栗子: public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanc...

2019-01-08 13:00:08 246 0

原创 MediaPlayer到ACodec到OMX流程(Android7.1 NuPlayer)

******************************************************************************** OpenMax(OMX)框架位置及作用 1.android系统中只用openmax来做code,所以android向上抽象了一层OMXC...

2018-09-01 18:12:36 1857 0

原创 Android7.1 NuPlayer架构流程(未完...)

MediaPlayer基本使用方式:播放一首MP3歌曲 MediaPlayer mp = new MediaPlayer(); mp.setDataSource("/sdcard/test.mp3"); mp.prepare(); mp.start();//这里初始化CCDeC...

2018-08-03 17:26:31 1133 0

原创 tshark/wireshark/tcpdump实战笔记(更新中...)

注意Wireshark表示意义: Source: 发送方IP Destination: 接收方IP Protoco: 协议 Length: 这里显示的物理层(Frame)数据长度,Frame层长度最长,因为每层都要加上包头。 info: 显示发送和接收数据的状态 //安装tshark和wi...

2018-05-18 17:51:19 741 0

原创 Android输入事件InputReader和InputDispatcher分析

.C++ frameworks/native/services/inputflinger/InputDispatcher.cpp void InputDispatcher::notifyKey(const NotifyKeyArgs* args) { mPolicy->intercept...

2017-08-10 17:07:25 725 0

原创 linux常用命令备忘(不断更新中...)

1、模糊查找字符串 # find . "*" | xargs grep "ro.hardware" -rn --color # find -name "*.rc" | xargs grep "ro.hardware&q...

2016-11-09 15:20:23 705 0

原创 Android4.4之Camera2预览流程(从APP到Driver)

1.APP调用 packages/apps/Camera2/src/com/android/camera/PhotoModule.java private void startPreview() { Log.v(TAG, "startPreview"); ...

2016-11-03 18:59:46 2470 0

转载 android adb复制粘贴工具

安装app https://github.com/majido/clipper/releases/download/v1.2.1/clipper.apk 启动 # adb shell am startservice ca.zgrs.clipper/.ClipboardService 复制字符串...

2020-07-03 19:03:09 37 0

原创 Android/Linux大于1024Bytes打印

1.Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) #LOCAL_MULTILIB := 32 LOCAL_SRC_FILES := print-log.cpp LOCAL_MODULE := print-log LOCA...

2020-07-03 17:27:42 49 0

转载 颜色空间YUV、RGB理解

接触到了一些yuv相关的信息。从Camera中拿到的每一帧,它的默认格式是NV21,它是一种yuv格式,然后转成OpenCV所需的BGR。Camera的每一帧的数据格式还可以指定成别的格式。因此开始关注了yuv这个名词,后面还有yuv的各种衍生,因此仔细地梳理一下自己的理解,以及与RGB对比。

2020-06-30 10:18:51 58 0

原创 ffmpeg查看支持的封装、编解码器、滤镜(四)

ffmpeg在做音视频编解码时非常方便,所以在很多场景下转码使用的是ffmpeg,通过ffmpeg --help可以看到ffmpeg常见的命令大概分为6个部分,具体如下。 ffmpeg信息查询部分 公共操作参数部分 文件主要操作参数部分 视频操作参数部分 音频操作参数部分 字幕操作参数...

2020-06-28 13:45:37 79 0

原创 FFmpeg编码支持与定制(三)

1.FFmpeg编码支持与定制 FFmpeg本身支持一些音视频编码格式、文件封装格式与流媒体传输协议,但是支持的数量依然有限,FFmpeg所做的只是提供一套基础的框架,所有的编码格式、文件封装格式与流媒体协议均可以作为FFmpeg的一个模块挂载在FFmpeg框架中。这些模块以第三方的外部库的方式...

2020-06-28 11:29:13 79 0

原创 证明: 1/x = a^(-1)

证明: 指数运算乘法:幂指数相加 x * x^2 = x^(1+2) = x^3 指数运算除法:幂指数相减 a ÷ a = a^(1-1) = a^0 = 1 1 ÷ a = 1/a = a^(0-1) = a^(-1)

2020-06-27 15:40:46 44 0

原创 WSL2构建android10+kernel源码适配pixel

原文

2020-06-26 20:35:39 70 0

原创 Win10彻底关闭Antimalware Service Executable占用内存过高问题

1.下载卸载Windows Defender工具,并解压 2.卸载操作 解压后将install_wim_tweak.exe拷贝到C:\Windows\System32目录下 以管理员权限打开powershell,执行以下命令卸载Windows Defender # D:\Download\wi...

2020-06-25 23:41:35 121 0

原创 Win10 Powershell ssh到WSL

一、配置WSl 1.WSL安装openssh-server # sudo apt-get install openssh-server 2.配置sshd # sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak # sudo emacs /...

2020-06-25 10:44:48 63 0

原创 WSL添加用户

1.为wsl下ubuntu系统添加用户 # useradd username #创建用户username # passwd username #给已创建的用户username设置密码 # usermod --help #修改用户这个命令的相关参数 # userdel use...

2020-06-25 10:37:11 64 0

转载 GStreamer入门概念(二)

2.1.1. Overview GStreamer是一个多媒体框架,它可以允许你轻易地创建、编辑与播放多媒体文件,这是 通过创建带有很多特殊的多媒体元素的管道来完成的。 2.1.2. 管道-pipeline GStreamer的工作方式非常简单,你只需创建一个包含很多元素的管道,这与Linu...

2020-06-24 17:27:26 52 0

原创 Gstreamer入门起步helloworld(一)

# sudo apt-get install libgstreamer* 2.demo.c #include <gst/gst.h> int main(int argc, char *argv[]) { GstElement *pipeline; GstBus *bus; ...

2020-06-24 16:41:49 50 0

转载 Camera系统之ISP综述

1.ISP位置 ISP(Image Signal Processor),即图像信号处理器,用于处理图像信号传感器输出的图像信号。它在相机系统中占有核心主导的地位,是构成相机的重要设备。 主要内部构成 如下图所示,ISP 内部包含 CPU、SUP IP、IF 等设备,事实上,可以认为 IS...

2020-06-24 16:02:45 49 0

原创 FFmpeg的编解码(二)

ffmpeg是FFmpeg源代码编译后生成的一个可执行程序,其可以作为命令行工具使用。本节将通过实际的示例分析,对ffmpeg编解码工具的使用方法进行详细的介绍。 首先列举一个简单的例子: 1 ./ffmpeg -i input.mp4 output.avi ...

2020-06-24 14:38:59 52 0

原创 FFmpeg的模块介绍(一)

1.FFmpeg的基本组成 FFmpeg框架的基本组成包含AVFormat、AVCodec、AVFilter、AVDevice、AVUtil等模块库。 下面针对这些模块做一个大概的介绍。 (1)FFmpeg的封装模块AVFormat AVFormat中实现了目前多媒体领域中的绝大多数媒体封装...

2020-06-24 14:29:34 33 0

原创 Linux命令之nl

nl:读取文件输出到终端 # nl --help Usage: nl [OPTION]... [FILE]... Write each FILE to standard output, with line numbers added. With no FILE, or when FILE is ...

2020-06-24 10:03:05 31 0

转载 WSL2使用体验

去年全面转向 Windows 设备之后,为了追求更友好的开发体验,我就开始尝试了还处在 Preview 阶段的 WSL2。到现在 Win10 2004 中 WSL2 全面可用,我也算重度使用了快半年了。 作为一个被 WSL 一代伤过的人,一开始对于 WSL2 其实也没有抱太高的预期,也正因为如...

2020-06-23 10:23:45 214 0

转载 chrome强制使用HSTS原理

很多人听说过也看到过 301、302,但是几乎从来没有看到过 303 和 307 的状态码。今天在淘宝首页看到了 307 状态码,于是摸索了一把。 中间人劫持 起因是这样,https 使用的是 443 端口进行数据传输,而浏览器的默认端口是 80. 劫持者首先劫持用户的 80 端口,当用户...

2020-06-23 09:58:04 80 0

原创 WSL2访问公网

管理员权限启动Powershell # netsh winsock reset 重启PC即可!

2020-06-22 20:51:36 117 0

原创 WSL2扩展虚拟硬件磁盘( VHD大于256GB报错问题)

WSL2使用虚拟硬件磁盘(VHD)来存储Linux文件。如果达到其最大大小,则可能需要对其进行扩展。 WSL2 VHD使用ext4文件系统,此VHD会自动调整大小以满足你的存储需求,并且其最大大小为256GB。 如果你的分发版大小增长到大于256GB,则会显示错误,指出磁盘空间不足。 可以通过扩...

2020-06-22 19:51:46 206 0

转载 WSL自定义安装路径

1、官方提供的离线安装包下载地址 https://docs.microsoft.com/en-us/windows/wsl/install-manual 2、下载LxRunOffline安装工具 下载地址:https://github.com/DDoSolitary/LxRunOffline/r...

2020-06-22 13:45:24 242 0

原创 WSL编译android10报错:listen unix out/.path_interposer_log: bind: invalid argument

解决:将WSL1升级到WSL2

2020-06-21 14:01:08 109 0

原创 WSL1升级到WSL2

1.以管理员身份打开PowerShell //执行后,需要重启 # Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform //查看当前版本 # wsl -l -v NAME S...

2020-06-21 13:54:47 202 0

原创 Gdb多线程调试

1.调试方法 # ps aux| grep proname //找出进程的pid # gdb attach pid //使用gdb attach可以调试正在运行的进程 # info threads //查看具体的线程id # thread x //切换线程到具体的线程x # b func # se...

2020-06-19 11:00:09 60 0

转载 Android使用valgrind内存泄漏和越界检测等

valgrind是一个强大的工具,最常用的功能是用它来检测内存泄漏和非法内存的使用。 测试程序编译时,需要加-g进行编译。 运行命令: # valgrind --tool=memcheck --leak-check=yes program 生成如下报告: 1. 如果malloc/realloc/...

2020-06-18 20:08:53 60 0

原创 Android&&Linux gdb用法

1.gdb启动本地程序test bash# gdb ./test gdb# b test.c:34 gdb# commands > p len > p *data > c //继续执行,continu > end gdb# r //如果crash # bt //打印堆栈 #...

2020-06-18 20:00:43 46 0

原创 phtread条件变量pthread_cond_t初始化方式

1.静态方式 初始化方法: int x,y; pthread_mutex_t mut = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t cond = PTHREAD_COND_INITIALIZER;//在栈上初始化 Waiting until x is gr...

2020-06-18 19:32:10 56 0

原创 Linux标准错误码(全)

Errors: Linux System Errors When system requests fail, error code are returned. To understand the nature of the error these codes need to be interpre...

2020-06-18 17:59:59 59 0

原创 Android添加gdb调试符号

LOCAL_CFLAGS += -g LOCAL_CPPFLAGS += -g LOCAL_STRIP_MODULE :=false

2020-06-17 20:59:40 44 0

原创 Ubuntu安装minicom串口工具

# sudo apt-get install minicom 配置/dev/ttyUSB0设备 # sudo minicom -s # minicom

2020-06-16 15:39:35 58 0

原创 Ubuntu升级wine4.0

安装Wine 4.0稳定版和开发版 Ubuntu Linux自带了一个相对较新版本的Wine,但它不是绝对最新的(特别是你运行Ubuntu 18.04 LTS),如果你希望升级到Wine 4.0或使用开发版本,请放弃使用Ubuntu自带的Wine版本,转而使用Wine的专用软件存储库。 启用Wi...

2020-06-16 14:32:39 56 0

提示
确定要删除当前文章?
取消 删除