WebRTCDemo.apk代码走读(八):代码目录结构

转载注明出处http://blog.csdn.net/wanghorse

├── ./base  //基础平台库,包括线程、锁、socket等
├── ./build //编译脚本,gyp
├── ./common_audio  //基础公共的音频处理
│   ├── ./common_audio/include  //就一个类型转换头文件
│   ├── ./common_audio/resampler    //音频重采样代码
│   ├── ./common_audio/signal_processing    //音频信号处理代码,和硬件平台有关,有汇编代码
│   └── ./common_audio/vad  //vad代码
├── ./common_video  //基础的公共视频处理,如I420桢处理、scaler、plane
├── ./examples //例子
├── ./libjingle //libjingle
├── ./modules
│   ├── ./modules/audio_coding
│   │   ├── ./modules/audio_coding/codecs //音频codec处理,统一封装公共接口和各类不同的codec的具体处理,cng,g711,g722等
│   │   ├── ./modules/audio_coding/main //音频codec处理模块代码
│   │   │   ├── ./modules/audio_coding/main/acm2    //音频处理模块的主要代码
│   │   └── ./modules/audio_coding/neteq    //neteq代码
│   │       ├── ./modules/audio_coding/neteq/interface
│   │       ├── ./modules/audio_coding/neteq/mock
│   │       ├── ./modules/audio_coding/neteq/test
│   │       └── ./modules/audio_coding/neteq/tools
│   ├── ./modules/audio_conference_mixer    //音频合成代码
│   │   ├── ./modules/audio_conference_mixer/interface
│   │   └── ./modules/audio_conference_mixer/source
│   ├── ./modules/audio_device  //audio设备处理代码,采集和放音,android,ios,linux,mac,win
│   │   ├── ./modules/audio_device/main //AudioDeviceModule处理代码
│   ├── ./modules/audio_processing //音频前后端处理,aec,aecm,agc,beamformer,ns,transient
│   ├── ./modules/bitrate_controller    //码率模块控制代码
│   ├── ./modules/desktop_capture //桌面抓拍处理代码和各平台处理代码,mac,win,x11
│   ├── ./modules/interface
│   ├── ./modules/media_file    //播放录制文件模块代码,支持avi
│   ├── ./modules/pacing    //码率探测代码
│   ├── ./modules/remote_bitrate_estimator  //远端码率计算
│   ├── ./modules/rtp_rtcp //rtp、rtcp的处理代码,封装解封装,各种codec的不同处理、fec
│   ├── ./modules/utility
│   ├── ./modules/video_capture //视频摄像头采集代码,android、ios、linux、mac、win
│   ├── ./modules/video_coding //视频codec处理代码,i420、vp8、vp9
│   │   ├── ./modules/video_coding/codecs
│   │   ├── ./modules/video_coding/main //VideoCodingModule处理代码
│   ├── ./modules/video_processing //视频前后处理,brighten,color enhancement,deflickering,spatial resampler等
│   │   └── ./modules/video_processing/main //VideoProcessingModule
│   └── ./modules/video_render  //视频渲染代码,android,ios、linux、mac、windows、opengles
├── ./p2p //nat穿越代码,turn/stun等,服务器和客户端
│   ├── ./p2p/base
│   └── ./p2p/client
├── ./sound //未知
├── ./system_wrappers //系统api封装
├── ./test
├── ./tools //音视频测试工具代码
├── ./video //未知
├── ./video_engine  //视频引擎代码,视频的处理流程
└── ./voice_engine  //音频引擎代码,音频处理流程
时间: 2024-10-11 02:51:00

WebRTCDemo.apk代码走读(八):代码目录结构的相关文章

TensorFlow0.8代码目录结构讲解

源:http://www.linuxidc.com/Linux/2016-07/133215.htm TensorFlow0.8发布以来受到了大量机器学习领域爱好者的关注,目前其项目在github上的follow人数在同类项目中排名第一.作为google的第一个开源项目,TensorFlow的源码结构较为清晰,相关的代码注释覆盖较全.本文首先从代码结构入手,分析TesnsorFlow的各个模块构成. 根目录结构的相关介绍 以下是TensorFlow项目根目录下的文件结构(目前以TensorFlo

Visual Studio 2013新建工程导入现有代码文件夹并且保持目录结构

本文提供了一个在Windows环境下使用Visual Studio 2013编辑现有源代码并且保持目录结构的方法.本文使用VS2013中文社区版做示例(本版本为免费版,可在VS官网下载),其他版本的VS操作方式类似.打开VS2013,选择[菜单]-[新建]-[从现有代码创建项目]选择项目类型:Visual C++项目文件位置:创建完成后会在这个目录生成sln,suo,vcxproj,filters和user等VS解决方案和项目文件,这个必须和源代码的根目录保持一致,否则不能导入文件夹结构.项目名

求推荐go语言开发工具及go语言应该以哪种目录结构组织代码?

go语言的开发工具推荐? go语言开发普通程序及开发web程序的时候,应该以哪种目录结构组织代码? 求推荐go语言开发工具及go语言应该以哪种目录结构组织代码? >> golang 这个答案描述的挺清楚的:http://www.goodpm.net/postreply/golang/1010000008839459/求推荐go语言开发工具及go语言应该以哪种目录结构组织代码.html

前端代码目录结构、常用 piugin、元素补充用法及其它注意事项

目录结构: app:  .html文件 css: .css文件 script: 脚本文件 plugin: 插件  (此目录放一些通用代码) 注意事项: 1.在IE浏览器下img会显示边框,为了保证兼容性,应在css样式全局写上 img(border:0px;) 2.input 标签默认有 :focus() 伪类样式(点击input输入框,input边框会有颜色变化和稍有突出) 和 padding,在对input定位需要比较精确的时候,要设置input{padding:0px;}(其实在这也没必要

mybatis学习笔记(六)使用generator生成mybatis基础配置代码和目录结构

原文:http://blog.csdn.net/oh_mourinho/article/details/51463413 创建maven项目 [java] view plain copy print? <span style="font-size:14px;"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSc

CMDB3 完善采集端代码(ssh方案的多线程采集), 异常处理, 服务端目录结构的设计(django的app), API数据分析比对入库

完善一下采集端代码 ssh方案的多线程采集 线程和进程,协程的区别 (90% 问到) 提高并发的话,使用多线程 python2 多进程有 多线程没有 python3 多进程有 多线程有 from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor p = ThreadPoolExecutor(10) def test(i): time.sleep(1) print(i) for i in range(100): p.s

xcode修改代码目录结构出现clang: error: no such file or directory 解决方法

需要迁移一个开源工程的一部分内容到自己工程,迁移对方的工程到自己工程之后,因目录结构配置整理需要,对嵌入的工程目录进行了结构改变,编译后出现: clang: error: no such file or directory: '/Users/username/Desktop/echonest-echoprint-ios-sample-b937c04/Classes/ClassName/clang: error: no such file or directory:' 揪其原因,很明显,因为改变了

带你开发一款给Apk中自动注入代码工具icodetools(完善篇)

一.前言 在前面已经介绍完了 自动给apk中注入日志代码工具icodetools原理了,在那里我们曾经说过其实离真正的可使用价值有点距离,本篇就对这个工具进行一些优化,让其真正意义上开始能工作量产.当时在前面一篇文章中说到遗留的三个主要问题: 第一个问题:对每个类中都添加一个静态打印方法堆栈信息的方法,这样会导致有些应用的dex过大,方法数超了问题 第二个问题:在从输入一个apk到给每个类中的每个方法添加日志代码然后在签名输出最终的apk,这个过程其实很多步,但是我们之前都是手动的去进行操作,非

android APK反编译及代码混淆

反编译.查看源代码,需要用到两个工具:dex2jar 和 jdgui dex2jar(google code) jdgui(google code),最新版本请见 官方 操作很简单,步骤如下: 1.将APK(如GuessStock.apk)拷到dex2jar目录下,cmd下执行: C:\Users\raozf\Desktop\dex2jar-0.0.9.15>d2j-dex2jar.bat GuessStock.apkdex2jar GuessStock.apk -> GuessStock-d

创建TFS团队项目时自动建立代码库的文件夹结构

很多客户都跟我提过一个这样的需求,即需要在创建团队TFS项目时,自动创建起源代码库的文档结构,例如类似下列结构的文件夹: <teamProject>   |- DEVELOPMENT   |- MAIN      |- BUILD      |- SOURCE      |- TEST   |-RELEASES 一.Team Foundation Server 2012 方案 而通过分析,TFS的团队项目过程模板不支持源代码目录结构的预定义,但是很幸运的是,Visual Studio 2012