背景介绍 最近遇到了一个case,发现Android上媒体音量下也可以支持听筒播放,这个行为比较奇怪,因此专门在源码中分析下。 分析流程 在系统中有这样一个接口isSpeak...
背景介绍 最近遇到了一个case,发现Android上媒体音量下也可以支持听筒播放,这个行为比较奇怪,因此专门在源码中分析下。 分析流程 在系统中有这样一个接口isSpeak...
本篇介绍 本篇接着< >继续介绍aaudio 的mmap机制,前面介绍了共享模式和独占模式的差异,本篇介绍aaudio的数据驱动流程。 aaudio mmap介绍 数据驱动的...
本篇介绍 linux在安全领域也用到了ebpf,比如capabilities,seccomp等,本篇记录下在这块的使用。 capabilities capabilities的...
本篇介绍 XDP(Express Data Path)是一个安全,可编程,高性能的网络数据包处理器,可以集成bpf程序。本篇主要介绍xdp的使用以及现实中的使用场景。 XDP...
本篇介绍 bpf在网络中可以用来对网络包进行捕获和过滤,接下来看下是如何做到的。 Packet Filtering Filtering 主要可以用于如下三个场景: 实时数据包...
本篇介绍 本篇介绍一些bpf 工具,主要是bpftool和bpftrace,通过这两个工具可以不需要用bcc写代码,直接就可以获取trace信息。 bpftool bpfto...
本篇介绍 本篇介绍ebpf tracing 部分, 通过bcc(BPF Compiler Collection)获取多种渠道的系统信息. probe 介绍 probe在很多书...
本篇介绍 在使用ebpf时,如何在用户态和内核态传递数据呢? 本篇介绍一个方法,就是使用map. map 的基础操作 创建 用户态和内核态均可以创建map, 最直接的方法使...
本篇介绍 ebpf 是一种观测系统行为的方法, 全称是Extended Berkeley Packet Filter, 本来是观测网络数据包的, 后来由于功能太过强大与方便,...
本篇介绍 unicorn是一个轻量级,多平台,多架构的CPU模拟器框架。使用Unicorn可以模拟执行执行,并且也支持指令级别的hook。本篇看下unicorn的用法。 模拟...
背景 某客户反馈了一个问题,在播放音频的场景下,部分设备使用aaudio 正常,切换成opensl就会出现卡顿,乍一看不太符合常识,延时越低的通道应该越容易出问题,现在反过来...
背景 几年前,蓝牙外放问题一直是业务的痛点,工单多,原因杂,检测难,分析慢,经过几个版本的需求迭代后,工单数下降超过了95%。 可是最近又有客户反馈,在蓝牙场景音频通话过程中...
本篇介绍 本篇接着< >继续介绍aaudio 的mmap机制,本篇旨在揭示mmap机制中的数据同步。 aaudio mmap介绍 故事还是获取mmap buffer开始: 从...
本篇介绍 极低延时的音频通道可以显著提升用户的音频体验,比如耳返场景,极地延时可以做到用户实时听到自己的声音并及时纠正,可以提升歌手演唱效果。可见深刻理解并使用低延时对于构造...
本篇介绍 本篇接着Android libunwind 源码解读[https://www.jianshu.com/p/76facab5e9a6] 继续往下分析。 接下来看下In...
As your role evolves, all the best practices still apply. You’re still a “servant leade...
How To Lead a Team 团队需要一个领导,没有领导的团队注定是战斗力松散的。The Engineering Manager 的定位是负责团队的绩效产出,效率,组...
本篇介绍 相信搞过android开发的都经历过crash的case,crash后可以看到一个非常详细的堆栈,从这个堆栈上可以看到crash时候的调用上下文,该信息在分析cra...
本篇介绍 使用 IDA 可以单步调试 so,即使没有源代码也没关系,这样就可以逆向目标应用的so,分析内部逻辑,本篇就介绍下如何操作。 ida debug so 首先得准备一...