自定义博客皮肤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

温室没有 灿烂的花

  • 博客(2026)
  • 资源 (95)
  • 论坛 (2)
  • 收藏
  • 关注

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

微信公众号Github

2019-06-28 08:33:41 321

原创 Android9.0 setStereoVolume左右声道流程(二十四)

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

2019-03-06 18:30:21 2150

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

栗子:public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = new Intent(this, D...

2019-01-08 13:00:08 409

原创 MediaPlayer到ACodec到OMX流程(十九)

********************************************************************************OpenMax(OMX)框架位置及作用1.android系统中只用openmax来做code,所以android向上抽象了一层OMXCodec,提供给上层播放器用。 播放器中音视频解码器mVideosource、mAudiosou...

2018-09-01 18:12:36 2726

原创 Android7.1 audio 播放流程(三十五)

MediaPlayer基本使用方式:播放一首MP3歌曲MediaPlayer mp = new MediaPlayer();mp.setDataSource("/sdcard/test.mp3");mp.prepare();mp.start();//这里初始化CCDeCoder解码器1. IMediaPlayer.cpp/h<1>.头文件frameworks/av/i...

2018-08-03 17:26:31 1404

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

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

2018-05-18 17:51:19 913

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

.C++frameworks/native/services/inputflinger/InputDispatcher.cppvoid InputDispatcher::notifyKey(const NotifyKeyArgs* args) { mPolicy->interceptKeyBeforeQueueing(&event, /*byref*/ policyFlags);}.J

2017-08-10 17:07:25 975

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

1、模糊查找字符串# find . "*" | xargs grep "ro.hardware" -rn --color# find -name "*.rc" | xargs grep "ro.hardware" -rn --color# find -name "*.rc" | xargs grep -rn --color "ro.hardware"//过滤不想看到的字符...

2016-11-09 15:20:23 845

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

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

2016-11-03 18:59:46 2878

转载 函数栈调用解析复习

复习参考资料动态加载相关 arm相关 x86相关1 共性一个函数都可以分为三部分prologue: 这部分负责相关栈和寄存器的初始化 body: 这部分负责函数运算主题部分 Epilogue: 这部分负责对函数栈的清理和恢复工作2 x86的函数调用转存失败重新上传取消 12345678910111213141516171819202122232425262728293031 .

2021-06-18 00:20:05 6

原创 wireshark之不显示ip问题(五)

1.选中“编辑”中的首选项 --->编辑 --->首选项 --->Name Resolution --->Resove network(IP) address(取消勾选即可,如果勾选则显示域名)

2021-06-16 18:55:32 7

原创 wireshark不显示rtsp问题(四)

1.选中wireshark中的数据,点击右键 --->解码为(A)...

2021-06-16 18:50:44 5

原创 webRTC之std::unique_ptr::reset()使用(十四)

1.std::unique_ptr::reset()

2021-06-10 17:46:56 14

原创 WebRTC之gn与ninja(十三)

一、创建webRTC第一个helloworld1.# cd webrtc-checkout/src# mkdir external<1>.编译脚本gn# emacs BUILD.gn executable("main_hello") { sources = [ "main_hello.cc", ]}<2>.测试demo#include <iostream>int main(int argc, char** argv) { pr.

2021-06-09 16:38:03 18

原创 FFmpeg4.0.2 over版本av_register_all()流程(二十九)

av_register_all()   在新版本的ffmpeg4.2.2中, av_register_all()函数中已经不做实际的工作, 留在这里是做兼容性考虑!

2021-06-09 10:05:48 15

原创 Win10安装QT5.14(五)

1.Download QTCreator# wget https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-windows-x86-5.14.2.exe安装2.配置环境变量

2021-06-08 23:43:12 13

原创 FFmpeg之获取音视频信息(二十八)

1.test.c#include <stdio.h>#include <libavutil/log.h>#include <libavformat/avformat.h>int main(int argc, char *argv[]){ int ret; AVFormatContext *fmt_ctx = NULL; av_log_set_level(AV_LOG_DEBUG); //注册各种多媒体协议,已过时 //av_register_all(.

2021-06-08 16:29:25 19

原创 OpenGL之三角形绘制(十三)

1.test.cpp#include <glad/glad.h>#include <GLFW/glfw3.h>#include <iostream>void framebuffer_size_callback(GLFWwindow* window, int width, int height);void processInput(GLFWwindow *window);// settingsconst unsigned int SCR_WIDTH =.

2021-06-08 11:42:22 21

转载 音频混音算法介绍

1、混音的理论依据对语音信号的处理往往就是对语音样本以缓冲区为单位进行处理,也就是对输入的语音样本分成一帧一帧;当多个音频源一起播放时,人耳听到的声波是各个声源声波的线性叠加,这就是模拟混音的基础,这也表明了数字语音也是可以进行线性叠加的;2、混音算法2.1、传统的混音算法方法:对所有输入的音频数据进行线性叠加,这是所有混音算法的基础;缺点:极易产生溢出;改进方法1:箝位:当发生上溢时,箝位以后的值为所能表示的最大值,当发生下溢时,箝位后的值为所能表示的最小值;缺点:在溢出的地方引入了..

2021-06-08 10:20:24 13

原创 Android8.1展讯平台之audio_policy_configuration.xml(四十二)

# emacs /vendor/etc/audio_policy_configuration.xmlOr# emacs device/sprd/xxx/rootdir/system/etc/audio_policy_config/audio_policy_configuration.xml<?xml version="1.0" encoding="UTF-8" standalone="yes"?><audioPolicyConfiguration version="1.0" xm.

2021-06-07 18:01:58 40 2

原创 OpenGL之GLFW和glad框架使用(十二)

1.下载依赖库# sudo apt-get install libxi-dev libxcursor-dev libxrandr-dev libxinerama-dev mesa-common-dev libgl1-mesa-dev libxxf86vm-dev2.下载glfw源码及编译# wget https://github.com/glfw/glfw/releases/download/3.3.4/glfw-3.3.4.zip# cd glfw-3.3.4# mkdir build &a.

2021-06-07 15:17:42 32

原创 OpenGL之纹理绘制(十一)

1.test.c#include <GL/glut.h>void init(){ glClearColor(0.0, 0.0, 0.0, 0.0); glMatrixMode(GL_PROJECTION); glOrtho(-5, 5, -5, 5, 5, 15); glMatrixMode(GL_MODELVIEW); gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);}void display(){ glClear(GL_COLOR_BUF.

2021-06-07 14:52:05 13

原创 Linux平台OpenGL之helloworld(十)

1.安装OpenGL库# sudo apt install freeglut3-dev libxi-dev libxmu-dev2.test.c#include <GL/glut.h>//初始化void init( void ){ glClearColor(1.0f,1.0f,0.0f,1.0f);}//绘制场景void drawScene( void ){ glClear(GL_COLOR_BUFFER_BIT); glFlush();}//主函数void.

2021-06-07 11:48:04 16

转载 HEVC与AVC的区别与联系(十二)

一、什么是H.265?  H.265是相对于H.264的一个升级版,是在原有H.264标准上的一个拓展和优化。H.265旨在在有限带宽下传输更高质量的网络视频,仅需原先的一半带宽即可播放相同质量的视频。这也意味着,我们的智能手机、平板机等移动设备将能够直接在线播放1080P的全高清视频。H.265标准也同时支持4K(4096×2160)和8K(8192×4320)超高清视频。  为什么说H.265比H.264更高效?H.265/HEVC视频编码与H.264/AVC使用相同的方法,包括画面帧预测、变换

2021-06-05 14:45:14 58

原创 Ubuntu18.04关闭docker开机自启动

1.查看docker服务是否开机启动# sudo systemctl list-unit-files | grep enable|grep dockersnap-docker-796.mount enabled snap.docker.dockerd.service enabled2.关闭docker开机自启动# systemctl disable snap.docker.dockerd.serviceRe.

2021-06-05 10:20:29 27

原创 Android8.1 audio之compressed offload(四十一)

1.frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayer.cpp

2021-06-04 16:39:15 29

原创 Ubuntu18.04之截屏快捷键

注意:图片自动生成在/home/用户名/目录下。

2021-06-04 10:47:15 25

原创 Ubuntu18.04连蓝牙键盘后,搜狗输入法导致输入卡顿问题

1.点击Ubuntu右上角us2.弹出一列,选择:重新启动即可.(可稍等会儿)注意:重新开机后,再操作生效!

2021-06-04 10:34:15 17

转载 奈奎斯特定理和香农定理之科普篇

奈奎斯特定理(Nyquist's Theorem)和香农定理(Shannon's Theorem)是网络传输中的两个基本定理。要搞清楚这两个定理,我们要先弄懂一些术语定义:波特率(baud rate)、比特率(bit rate)、带宽(bandwidth)、容量(capacity)、信噪比、电平等。波特率波特率(也称信息传送速率、码元速率、符号速率、或传码率),其定义为每秒钟传送码元的数目,码元速率的单位为“波特”,常用符号“Baud”表示,简写为“B”。一个数字脉冲就是一个码元,我们用码元

2021-06-03 19:49:33 42

原创 Win10之打印机扫描为pdf格式

1.搜索:扫描

2021-06-03 16:44:28 25

转载 信源编码与信道编码区别(十一)

一.信源编码和信道编码的发展历程信源编码: 最原始的信院编码就是莫尔斯电码,另外还有ASCII码和电报码都是信源编码。但现代通信应用中常见的信源编码方式有:Huffman编码、算术编码、L-Z编码,这三种都是无损编码,另外还有一些有损的编码方式。信源编码的目标就是使信源减少冗余,更加有效、经济地传输,最常见的应用形式就是压缩。相对地,信道编码是为了对抗信道中的噪音和衰减,通过增加冗余,如校验码等,来提高抗干扰能力以及纠错能力。信道编码:1948年Shannon极限理论→1950..

2021-06-02 17:56:58 161

原创 Audition生成扫频信号(四十)

1.生成步骤---->文件 ---->新建 ---->音频文件---->效果 ---->生成 ---->音调 ---->线性扫描(20Hz-20kHz)

2021-06-02 13:59:45 36

转载 TCP/UDP数据包最大传输MTU

概念以太网(Ethernet)数据帧的长度必须在46-1500字节之间,这是由以太网的物理特性决定的.这个1500字节被称为链路层的MTU(最大传输单元). 但这并不是指链路层的长度被限制在1500字节,其实这这个MTU指的是链路层的数据区.并不包括链路层的首部和尾部的18个字节.所以,事实上,这个1500字节就是网络层IP数据报的长度限制.因为IP数据报的首部为20字节,所以IP数据报的数据区长度最大为1480字节.而这个1480字节就是用来放TCP传来的TCP报文段或UDP传来的UDP数据报的

2021-06-01 19:34:32 29

转载 webrtc之SVC实现(十)

一、概念SVC(可适性视频编码或可分级视频编码)是传统H.264/MPEG-4 AVC编码的延伸,可提升更大的编码弹性,并具有时间可适性(Temporal Scalability)、空间可适性(Spatial Scalability)及质量可适性(SNR/Quality/Fidelity scalability)三大特性,使视频传输更能适应在异质的网络带宽。二、概述SVC以AVC视频编解码器标准为基础,利用了AVC编解码器的各种高效算法工具,在编码产生的编码视频时间上(帧率)、空间上(分辨率)、视频

2021-06-01 18:00:42 64

转载 webRTC之Mesh/MCU/SFU通信架构区别(九)

Webrtc一对一的通信,通常采用的是端到端的方式,那如果多人通信的架构方案一般有这三种常见的方案Mesh方案即多个终端之间两两进行连接,形成一个网状结构。比如 A、B、C 三个终端进行多对多通信,当 A 想要共享媒体(比如音频、视频)时,它需要分别向 B 和 C 发送数据。同样的道理,B 想要共享媒体,就需要分别向 A、C 发送数据,依次类推。这种方案对各终端的带宽要求比较高。当某个浏览器想要共享它的音视频流时,它会将共享的媒体流分别发送给其他 3 个浏览器,这样就实现了多人通信。这种结构的优势

2021-06-01 17:51:59 18

原创 WebRTC之RFC协议下载(八)

https://www.rfc-editor.org/retrieve/bulk/

2021-06-01 17:01:46 18

原创 Linux之文件浏览工具nautilus

# nautilus .

2021-06-01 16:19:28 16

原创 Android8.1之MediaCodec编码器support类型(二十四)

1.frameworks/av/media/libmedia/MediaDefs.cpp#include <media/MediaDefs.h>namespace android {const char *MEDIA_MIMETYPE_IMAGE_JPEG = "image/jpeg";const char *MEDIA_MIMETYPE_VIDEO_VP8 = "video/x-vnd.on2.vp8";const char *MEDIA_MIMETYPE_VIDEO_VP9.

2021-05-26 21:23:16 27

原创 Emacs之删除整列操作

# M-x cua-mode输入:ctrl + enter //选择区域输入:ctrl + d //删除选择区域

2021-05-26 10:30:36 27

原创 Android.mk之include使用

1.test.cpp#define LOG_TAG "binder_demo"#include <stdlib.h>#include <utils/Log.h>//using namespace android;int main() {#ifdef DEBUG ALOGE("Android.mk is define DEBUG");#else qqqq ALOGE("Android.mk is not define DEBUG");#endif ret.

2021-05-25 19:41:22 28

802.11 Reason Code中文说明(全)

WIFI断网有很多情况,如果去翻看802.11协议文档,全英文的很费劲,把Deauthentication Reason Codes中文说明放在这里,供大家参考

2019-05-21

GStreamer中文开发手册.zip

GStreamer是一个通用的跨平台的流媒体应用程序框架,基于GObject,以C语言写成。 GStreamer并不受限于音频和视频处理,它能够处理任意类型的数据流,因此任意一种流媒体应用都可以支持,如:MeidaPlayer、A/V Editor、VOIP、RTSP、A/V Coder等等。 GStreamer框架是基于插件(plugin)和管道(pipeline)的体系结构,框架中所有功能模块都是可插拔的组件,可随意安装到任意管道上

2020-07-22

Android AP模式设置WPA2_PSK和NONE模式热点

看了一下午Android WIFI源码,写了个包含多个功能的demo 1.获取AP模式热点的SSID和密码 2.获取连接到AP热点的设备个数 3.设置WPA2 PSK模式下WIFI热点 4.设置NONE(无密码模式下)WIFI热点 5.获取IP地址 6.获取Mac地址 翻越源码各种坑,总结了下写个小demo,撸demo不易,欢迎下载。

2016-10-20

GPS打开及获取数据 demo

GPS打开及获取数据 demo,经过各种验证,写了个操作GPS的demo以备忘,欢迎下载! 声明:此demo需要system权限.

2016-12-21

cmake编译静态库/动态库/可执行文件demo

最近用到OpenCV,发现OpenCV里到处都在用cmake,特写了cmake编译规则的demo,生成静态库/动态库/可执行文件及测试demo,欢迎下载!

2018-01-24

Android之Camera2预览流程(APP到Driver层)

花了两天时间看Android Binder机制,然后花了一下午的时间,跟了从APP到Driver Camera2的预览流程,拿出来分享备忘,欢迎下载!

2016-11-03

区块链技术指南

区块链技术指南本书首先介绍基础密码学、算法、P2P协议、脚本等区块链基础原理与技术,然后以比特币和以太坊两大区块链平台为例,指导读者搭建测试环境,对区块链进行编译,建立私链与测试链等,帮助开发者创建自己的私链,实现智能合约、挖矿等区块链特定编程实例。

2017-08-03

hadoop权威指南第三版(中文带书签)+配套源码

hadoop权威指南第三版(中文带书签)+配套源码,是hadoop的入门第一手必备手册。

2016-09-29

java-7-openjdk-amd64.tar.gz

目前OpenJDK-7-JDK的源已经被废弃了,手动安装的花需要安装一系列的依赖,特别麻烦,这里提供给需要的开发人员.

2021-01-22

Android Service无图标/界面独立运行

1、startService开启服务以后,与activity就没有关联,不受影响,独立运行,需要stopService关闭,否则Activity移除栈后将一直运行(kill杀不死). 2、bindService开启服务以后,与activity存在关联,退出activity时必须调用unbindService方法关闭,否则会报ServiceConnection泄漏的错误.

2018-06-15

H.264标准协议(官方中文版)

H.264是一种视频压缩标准,其只规定了符合标准的码流的格式,以及码流中各个语法元素的解析方法。 H.264标准协议是每个从事多媒体工作的码农必备的参考书,欢迎下载。

2020-10-28

android进程间socket传递Ashmem的文件描述符

android传递大文件的话,第一想到的就是匿名共享内存了,但是进程间怎么共享匿名共享内存的。试想进程A创建匿名共享内存,进程B怎么得共享内存读出数据?熬得凌晨2点多写个demo,备忘和分享!

2017-05-12

第五代加固技术ARM VMP原理实现与应用.zip

随着Android逆向开发的升级,Android应用的安全越来越被重视,第五代加固技术ARM VMP原理实现与应用正在探索中发展。

2020-03-01

python调用C/C++ demo

看到python和C/C++代码怎么调用,参考网上的写了两个demo,分别是python调用C和C++的,欢迎下载!

2017-07-19

基于域名路由策略.zip

目前使用主流的Linux配置都是基于ip设置路由策略,此篇讲解怎么基于域名路由策略,仅供参考!

2019-07-17

JM-H264参考手册

JM:JM通常被认为是H.264标准制定团队所认可的官方参考软件,基本实现了H.264标准的全部特征。JM在运行时的运算过程较为复杂,而且没有采用汇编优化等加速方法,因此运行速度较慢,很难达到实时编解码。通常主要用于编解码技术的科学研究领域。

2020-10-28

V4L2 H.264截图与采集多帧视频demo

V4L2 H.264截图与采集多帧视频demo。 1、第一个demo用V4L2 截取单帧图片,存成.jpg文件。 2、第二个demo取100帧图片存成yuv文件格式,可以用yuvviewer播放器播放。 注释比较详细,欢迎初学者参考。

2016-11-17

测试Android标准光照_距离_温湿度等demo

写的一个demo,亲测可用。 测试Android标准的Sensor,如光照传感器、距离传感器、温度传感器、湿度传感器等!

2016-03-15

C++析构函数调用时间及分配对象堆与栈区别demo

描述了C++析构函数调用时间及分配对象堆与栈区别,一个理清C++析构函数和默认系统析构函数,C++堆栈分配的原则。

2016-11-14

C++11多线程demo

C++11多线程demo,包含在Ubuntu下编译C++11的方法,写了两三个C++11多线程的demo,欢迎下载!

2016-11-19

获取wifi热点SSID和密码demo

由于在网上木有搜索到怎么获取wifi热点的用户名和密码,只好自己动手,本demo包含获取wifi热点的用户名、密码、mac、ip等,拿出来分享下(亲测android4.4可用)!欢迎下载。

2016-10-13

简单Linux hook demo

最近对hook感兴趣,在网上看了些hook的栗子,记录下!

2018-07-07

C++11/14高速上手

最近项目用到C++11,由于11加了很多新特性,此文档助你高速上手,磨刀不误砍柴工!

2018-02-01

android中java和C的socket通信demo

前段时间项目需求,ashmem通过java创建共享内存,在底层C程序接收fd后读数据,在别人的基础上修改,备忘。

2017-05-19

U-boot完全开发手册

这是底层开发的U-boot的引导代码的开发手册,有详解!

2013-11-15

qt_audio_record.tar.gz

花了一天时间研究,在x86与ARM平台验证可用,备忘!

2021-04-28

qt_audio_play.tar.gz

QT之QMediaPlayer播放音频demo

2021-04-28

深入理解Android卷一、二、三

深入理解android卷一、卷二、卷三系统的讲解了Android的启动、Binder、AMS、PWS、AudioFlinger、SurfaceFlinger、WIFI、BT和NFC知识点,适合android进阶的好书。

2018-09-18

AUDIO CODEC DAPM详解.zip

本文目的帮助理解音频系统ALSA中的dapm机制建立和触发过程,在这之中,涉及到音频路径的搭建和选择(相信这部分对于大家来说更有应用意义)。在dapm机制深入分析中,会展现alsa设计者的各种理念及实现技巧,很多细节上的考虑和处理值得我们去学习。

2019-12-30

Linux内核内存Cache机制原理

Linux内核内存Cache机制原理从源码的角度来分析流程,可以帮助Linux内核学习者了结Cache的内存机制!

2020-03-14

(Mac/Linux版)Android实时显示帧率(GameBench)

android帧率可以通过adb shell dumpsys gfxinfo packages来查看,但是需要分析log,这种特别麻烦,分享一个免root获取帧率工具。注意:.jar文件在PC上运行。

2018-04-28

Android VNC Server

Android VNC Server用于Android的Server端,PC可以通过VNC View来控制android设备,下载了个Android VNC Server,目前里面的编译bug,已经解决。备份用

2018-04-13

android混杂模式:监听网卡数据demo

在android下运行,通过SOCK_RAW监听网卡数据,并获取本地和远端的mac与ip地址。

2017-04-08

MultimediaFrameworkOverview.zip

音视频多媒体框架GStreamer、PulseAudio采用插件式架构,支持多格式编解码器,支持不同编码器、解析器、分离器和复用器作为插件式架构!

2020-09-01

小米解锁工具2.3版(验证可用)

入手红米note5手机,新刷入的MIUI10.0.20耗电太厉害了,本想刷回MIUI9版本,没想到还需要小米的解锁工具来解锁,3.3版本不能用,亲测2.3可用。备用

2018-10-29

deepin.com.wechat_2.6.8.65deepin0_i386-OK.zip

deepin for wechat

2021-03-22

Gstreamer-Openmax-gst-openmax.zip

OpenMAX is a royalty-free, cross-platform API that provides abstractions for routines especially useful for computer graphics, video, and audio.

2020-08-17

capture_test.zip

在Android6.0平台上,UVC Camera使用标准V4L2接口获取视频数据,并保存文件,测试debug调试使用。

2021-03-09

最新windows和linux的adb工具

下载了一份最新windows和linux平台的adb工具,以此提供给更多开发者方便使用!

2019-07-30

Universal Serial Bus Device Class Definition for Audio Devices.zip

Universal Serial Bus Device Class Definition for Audio Devices(UAC2.0协议文档),研究usb audio必读,欢迎下载!

2019-11-16

慢慢的燃烧的留言板

发表于 2020-01-02 最后回复 2020-01-04

avformat_open_input(&format_ctx, filename, inputFmt, NULL)方法打开摄像头,返回:Not a typew

发表于 2016-09-18 最后回复 2016-09-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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