自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android运行时报错No implemention found

JNI编程1. JNI编程需要链接C/C++动态链接库2. JNI运行时需要链接C/C++动态链接库3. JNI的方法名称需要和Java的native方法严格对应编译时链接编译时,通过CMake脚本指定JNI代码需要链接的库CMake常见的链接库的方法是 先导入,再链接. 和常用的CMake脚本可能不太一样以链接ffmpeg的avcodec库libavcodec.so为例:

2018-01-31 20:10:07 456

原创 音视频PTS和DTS

PTS和DTSDTS: decode time stamp 解码时间戳PTS: play time stamp 播放时间戳一般来说 音频的DTS和PTS是相同的 随着线性时钟有序增长由于现行的视频编码普遍采用双向参考,所以在存在B帧(双向参考帧)时,视频的DTS和PTS将会出现差异.H.264/AVC的DTS和PTS视频应用最多的是H.264存在B帧时视频数据

2018-01-30 12:46:29 1030

原创 C/C++ const修饰符

constconst在C/C++中的作用基本一致1. 声明变量2. 声明指针通过const修饰后,不符合const用法的操作将导致编译器的编译错误也就是说,const是编译时检查.声明变量const int a = 10;a被声明为常量,值只能为10.试图修改将导致编译的error此时const的位置排布不影响语义.声明指针这里有两个用法int

2018-01-28 23:49:14 272

原创 webRTC PeerConnection连接过程

PeerConnectionPeerConnection是webRTC的顶层接口,代表一个通话对象.要建立点对点的音视频通话需要的双方各建立一个PeerConnection并交互信令完成对接.signal信令webRTC的信令指的是 SDP和Candidate 1. SDP是session description,描述local的多媒体情况 2. Candidat

2018-01-28 22:56:10 2705

原创 git config

Git配置Git的config信息分为global system local三个级别通常使用git配置的是global全局设置这一级别常用的git配置命令1. 查看git配置 git config --global --list git会罗列出当前所有的global配置2. 设置global属性 git config --global xxx xxx

2018-01-25 20:58:06 1794

原创 node.js + Web服务

node.js 和 javascriptnode.js和javascript很相近, nodejs的起源是在服务器上应用Google的v8引擎(一个开源的javascript引擎).所以它们有很多相似之处,包括但不限于1. 语法上的高度近似2. 都是解释型语言最大的不同之处在于,运行的机制1. javascript虽然被部署在网页服务器上,但执行时是被浏览器通过http协议下载到本地

2018-01-25 20:50:06 579

原创 WebRTC相关概念

WebRTC翻译一些官网的内容充实理论储备用了自己的语言做润色修饰,有能力还是直接阅读官网.1. 什么是WebRTC? WebRTC是一个开放的用于支持浏览器实时会话的框架.包括用于支持高质量会话的基本组件,比如音频和视频组件. 当这些组件在浏览器中实现的时候,可以通过JavaScript API来调用,支持开发者方便的实现他们的web RTC会话应用.2. 为什

2018-01-22 20:07:12 218

原创 cJSON_Delete调用时segmentfault

cJSON_DeletecJSON_Delete释放cJSON构造object时申请的内存资源通常用法 cJSON *json = cJSON_CreateObject(); ... ... cJSON_Delete(json);调用cJSON_Delete时产生segmentfault错误段代码: cJSON *json = cJSON_

2018-01-20 21:29:00 7110 1

原创 Android JNI : Java封装C++

Java封装C++将C++类 和 Java类对等起来实例化一个Java对象就相当于实例化了一个C++对象实现原理指针实质上也是个int或long(视平台而定)类型的变量在jni方法中实例化c++对象后 返回给java方法 并转化为long变量java方法根据这个得到的long型'句柄' 可以做一系列的对某个C++对象的操作包括申请 释放等等C++:class te

2018-01-12 18:05:15 1176

原创 Android Studio引用另一个模块module的方法

适用情形最近碰上这样一种情况: app需要引用jni功能 然后jni相关的功能被封装成一个android library 模块module然后在app模块module中需要引用jni module的一个java类直接在app模块中引用这个类 提示无法解析这个类android中引用别的module 需要加入对它的依赖有两种添加方式 1. 直接修改build.gradle脚本引入

2018-01-12 11:53:38 30269 4

原创 QT 窗口之间跳转切换

QT的窗口QT的窗口有QMainWindow QDialog QWidget等支持创建QT窗口时一般视情况选择继承这几个窗口基类中的一个例如QTCreator默认生成的工程的窗口class clientwindow : public QMainWindow {...} 窗口的可视性要达到QT窗口之间跳转的效果 可以利用窗口的可视性实现QT窗口类都带有这么两个方法 show 和 hide

2018-01-10 20:29:52 6350 1

原创 工程进度缓慢,难以完成的应对

遇到困难的应对遇到问题迟迟解决不了怎么办?1. 分解问题 先把整个问题分解成数个小功能来实现2. 按计划实现分解的小功能 没有什么问题是完全解决不了的 就算是很难缠的bug 以某一个点进入调试 总能找到一些线索3. 多请教老员工 解的问题 说不定就是人家碰过的 一点经验让你少走很多弯路未完待续...

2018-01-10 13:53:20 2387

原创 c-style string std::string QString的转换

c-style string 和c++ std::string的转换c风格的字符串转换为c++ std::string 构造一个std::string对象 char *str = "sliver"; std::string(str);c++ std::string转换为c风格的字符串   c++ string提供了c_str方法   std::string str = "

2018-01-08 17:26:41 356

原创 Android NDK 链接posix线程库

posix pthread通常链接pthread在CMake脚本中都是这样做的 target_link_libraries(xxx pthread)然而在Android NDK编译中这样会报错提示找不到pthread这是因为Android NDK中posix线程库被归纳到了c++库中所以正确的链接方法是链接C++库target_link_libraries(xxx stdc++)

2018-01-04 11:03:57 2391 1

原创 android adb

adb 常用命令1. adb devices 列出adb设备的信息和设备号2. adb root 获得adb的root权限3. adb remount 重新挂载文件系统以获得写权限4. adb push 推送文件到android文件系统5. adb pull 从android文件系统下载文件到本地6. adb disable-verity 关闭android的验证(android6.0起存

2018-01-03 14:48:46 176

SDL2.02版本源代码

SDL2.02版本 实测可以编译和链接

2016-11-02

Qt4摄像头视频采集

JPEG格式视频采集,其他格式需要自行修改videodevice中的采集格式

2016-08-08

空空如也

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

TA关注的人

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