自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 【内存抖动】 memset 之虚拟内存到物理内存的转换

在开发中,发现使用memset后,有内存抖动问题,所以测试代码实测了一下。问题现象:在memset后,物理内存增大原因:编译器编译程序时,为其分配虚拟内存,程序实际运行时操作系统才会将其映射到物理内存。测试代码:#include <iostream>#include <string.h>#include <unistd.h>using namespace std;void init_array();#define STRING_LEN 255

2021-08-02 16:22:39 567

原创 ubuntu gdb attach与pstack 不可用问题解决

第一步:讲centos的pstack拷贝到ubuntu的/usr/bin下可以参考以下博客,描述的很详细并且有centos的pstack脚本可以直接拷贝~(19条消息) ubuntu pstack报错:Input/output error_HuaShao-CSDN博客第二步:修改文件sudo vim /etc/sysctl.d/10-ptrace.conf最后一行 ptrace_scope 为0kernel.yama.ptrace_scope = 0重启系统,gdb

2021-08-02 11:30:10 824

转载 C的strncpy和snprintf (是否补充最后字符串结尾)

https://www.cnblogs.com/dongzhiquan/archive/2012/01/09/2317622.html

2021-06-07 11:29:22 286

原创 c++ multiple definition of 问题解决方法

问题描述:有一个.h头文件,两个.cpp文件都引用了这个.h文件,在.h文件中声明了一些全局变量或函数,b报错原因:好像是由于多次包含,然后编译.cc文件是重复 定义了。解决方法:使用extern关键字,即变量在.c文件中声明,在.h中用extern标志即可;用#ifndef+#define+#endif如果全局变量是常量,使用const标志该常量(C++中),因为const常量在便宜期已经确定,无需编译,自然也没有重复定义的问题了。1,2方法网上都有, 3方法自己实测有用,不足之处多多

2021-05-28 14:06:53 2792

原创 for 循环 i++ 与 ++i

coding linux环境测试了下,实际效果一样,但是循环次数较多时,++i效率更高实际代码段及运行log: int64_t last_timestamps; last_timestamps = get_steady_us(); for(int64_t i =0; i<10*10000; i++){ usleep(5); } WqLog(DATA,"\ni++ need [%lld] \n", get_steady_us() -

2021-05-18 19:07:59 121

转载 【OpenSL ES】音频采集中queue的概念

https://www.icode9.com/content-4-243272.html

2020-10-12 09:52:32 104

原创 AudioRecord开始()错误状态-38(AudioRecord start() error status -38)

-38 说明当前MIC被占用,检查系统中是否有其他应用在占用MIC可以将系统中使用MIC的应用改名验证,但是验证问题后,记得改回来呦

2020-08-28 18:02:21 2632

原创 【jni】利用NewStringUTF,char*转jstring,jstring 不能%s打印!!!

如题,被坑的差了好久,发现jstring 不能%s打印WqLog("111 DISABLE_BT [%s] ", (char*)parameter);param_string = env->NewStringUTF((char*)parameter); //jstring 不能%s打印WqLog("1111111 DISABLE_BT");

2020-08-14 14:14:15 711

原创 【GStreamer】GStreamer基础概念、常用术语讲解

Gstreamer官方网站中的讲解,很详细。如果英文不好,可以用谷歌浏览器转换中文对照英文理解。https://gstreamer.freedesktop.org/documentation/application-development/introduction/basics.html?gi-language=c

2020-06-22 16:35:20 220

原创 【GStreamer】gstreamer sink中对比度contrast、亮度brightness、饱和度saturation、hue 概念理解

1. 对比度contrast :对比度指不同颜色之间的差别。对比度越大,不同颜色之间的反差越大,即所谓黑白分明,对比度过大,图像就会显得很刺眼。对比度越小,不同颜色之间的反差就越小。分别为最小,原图和最大时的表现gst命令:gst-launch-1.0 videotestsrc ! video/x-raw,format=GRAY16_LE ! videoconvert ! xvimagesink contrast=-1000 videotestsrc pattern=0 ! video/x-raw,

2020-06-16 21:37:30 1896

原创 【GStreamer】GST_SEEK_FLAG_FLUSH、GST_SEEK_FLAG_KEY_UNIT与GST_SEEK_FLAG_ACCURATE

在利用GStreamer的 gst_element_seek_simple() 接口实现快进快退时,参数GstSeekFlags seek_flags会用到参数GST_SEEK_FLAG_FLUSH、GST_SEEK_FLAG_KEY_UNIT与GST_SEEK_FLAG_ACCURATE等参数。接口原型:快进10秒的函数调用:gst_element_seek_simple (data.playbin, GST_FORMAT_TIME,GST_SEEK_FLAG_FL...

2020-06-10 15:52:57 836

原创 【Ubuntu】 误删/etc/ld.so.cache,ubuntu虚拟机无法进入用户桌面问题解决

由于工程编译问题,百度查询解决方案后,删除了/etc/ld.so.cache但是下次Ubuntu开机时就悲剧了... 无法进入用户桌面,反复进入用户登陆界面。解决方案:1. 使用liveCD,命令行方式进入虚拟机,ls /etc 看下/etc下的ld.so.cache 文件是否存在ls /etc2. 如果不存在,...

2020-06-02 10:29:48 969

原创 alsa lib arm编译

export PATH=$PATH:/home/nfore/nf_system_qh/toolschains/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/./configure --host=arm-poky-linux-gnueabi --target=arm-poky-linux-...

2020-06-02 10:26:39 390

原创 Gstreamer中的sink插件及区别

在Gstreamer中,通常“sink”插件可以将获取的视频流输出到显示器。参考网站:http://trac.gateworks.com/wiki/Yocto/gstreamer/video#tearing以下是iMX.6平台的输出sink列表: gstreamer-imxspecific sinks imxg2dvideosink imxipuv...

2019-08-29 21:22:15 7204

转载 堆/栈的比较 以及 malloc/new动态内存的开辟

堆与栈的比较:1.申请方式(1)栈(satck):由系统自动分配。(2)堆(heap):需程序员自己申请(c:调用malloc,realloc,calloc申请 free 来释放),并指明大小,并由程序员进行释放。容易产生内存泄漏.2.申请大小的限制(1)栈:在windows下栈是向底地址扩展的数据结构,是一块连续的内存区域(它的生长方向与内存的生长方向相反)。栈的大小是固定的。如果...

2019-08-28 10:58:06 349

原创 【ALSA】 asound.conf 插件讲解

Alsa-lib层,为不同的驱动提供统一的接口alsa API,简化了开发人员对于驱动层的调用开发。接口定义地址:https://www.alsa-project.org/alsa-doc/alsa-lib/关于asound.conf的配置,可以参考官网解释:https://www.alsa-project.org/main/index.php/Asoundrc详细的插件讲解...

2019-07-26 10:17:25 7162 1

原创 【ALSA】 snd_pcm_status_get_avail与snd_pcm_avail区别

在alsa官网查了一下:snd_pcm_avail:指的是当前可读/写的字节数。snd_pcm_status_get_avail:指的是获取pcm容器中可用的帧数,也是字节单位。

2019-07-17 17:44:44 2592 1

转载 实现环形数组队列

看到一个很棒的环形数组队列实现方法,转载过来。 原网址:https://blog.csdn.net/xuanwolanxue/article/details/68925446 话不多说,上重点: 这里主要指的是队列的入队(enqueue)与出队(dequeue),对于链式队列来说,其入队和出队也就是链表的尾部插入与移除头部节点,这里就不多说...

2019-06-18 21:14:10 9024

转载 TCP、UDP、RTP(RTCP)异同与区别

做carplay很久关于音频传输部分,关于RTP和RTCP与UDP TCP的关系一直没有很好的理解,这个博主讲解的很详细https://www.cnblogs.com/imystr/p/4026639.html另外贴上博主的总结:RTP位于UDP之上,UDP虽然没有TCP那么可靠,并且无法保证实时业务的服务质量,需要RTCP实时监控数据传输和服务质量,但是,由于UDP的传输时延低于TC...

2019-03-09 14:49:04 6343

转载 WIN7桌面、个人用户配置消丢失解决方案

          今天早上登录了几次都发现桌面变成黑色,桌面上的诸多文件、还有IE收藏夹等程序配置都消失了。注销、重启都没有用。   点“开始”,右键单击“计算机”,“属性”,“高级系统设置”,点“用户配置文件”下的“设置”        查看用户的配置文件,发现状态不一样了,默认是“本地”,而现在的变成了“备份”。原因可能就是这个。        百度一下,就找到了方法。  进入命令行方式,使...

2018-07-05 10:49:49 7416

原创 linux faad 交叉编译

faad faac下载地址:http://www.audiocoding.com/downloads.html编译命令:./configure CC=/home/nfore/workspace/linaro/gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --host=arm-lin...

2018-04-17 17:23:05 583

原创 C语言 hex十六进制字符串转byte字节数组

例:”0C B1 15 02 C0 27 01 20 ” –&gt; {0x0c, 0xb1, 0x15, 0x02, 0xc0, 0x27, 0x01, 0x20}static int hex2byte(char *dst, char *src) { while(*src) { if(' ' == *src) { src++; ...

2018-03-09 17:19:13 4961 2

原创 C语言 字节数组转为字符串

话不多说贴代码:int main(void){ unsigned char src[6] = { 0x12, 0x00, 0x56, 0x78, 0x90, 0xab }; char s[13] = { 0 }; int i; char c1, c2; for (i = 0; i &lt; 6; i++) { c1 = src[i] &amp; 0xFu; c2 = (src[i] &gt;&...

2018-03-05 15:02:13 22844 6

转载 Valgrind使用说明

Valgrind使用说明    Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,是公认的最接近Purify的产品,它包含一个内核——一个软件合成的CPU,和一系列的小工具,每个工具都可以完成一项任务——调试,分析,或测试等。Valgrind可以检测内存泄漏和内存越界,还可以分析cache的使用等,灵活轻巧而又强大。    一 Valgrind概观Valgrin

2018-01-12 10:43:16 201

原创 实例讲解C语言中fread()函数的返回值问题

最近在Linux下用C编写一个的蓝牙模块升级程序,用到 fread 函数时候发现返回值始终为1,看了很多帖子说的比较啰嗦,所以博主自己总结了一份。函数:fread(从文件流读取数据)表头文件: #include函数定义 size_t fread(void * ptr,size_t size,size_t count,FILE * stream);函数说明: f

2018-01-10 14:32:24 5590

【GStreamer】利用GStreamer实现mp4格式视频播放

Linux平台C语言利用GStreamer实现mp4格式视频播放代码,包括管道配置,连接,以及动态连接element的pad。难点:demux控件通过回调方式进行音视频的分流,连接解码器、sink输出。

2020-06-10

空空如也

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

TA关注的人

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