自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (3)
  • 收藏
  • 关注

原创 VLC搭建简单流媒体服务器(RTSP/HTTP/RTP)

(待补充)

2024-07-31 09:14:12 334

原创 pthread在自己创建的线程中执行pthread_jion并不会死锁

函数pthread_join()函数挂起调用线程的执行,直到目标线程之三结束为止,除非目标线程已经终止。实际上这种情况他会直接返回并不会一直阻塞!!!

2024-06-15 11:19:45 249

原创 gstreamer根据GstDebugCategory设置打印等级

【代码】gstreamer根据GstDebugCategory设置打印等级。

2024-06-03 16:52:38 95

原创 安卓动态库加载

查找which的依赖库。

2024-05-30 17:52:21 344

原创 文件句柄fd赋值

将一个那文件句柄赋值另一个变量需要使用dup():细节待补充。。。

2024-03-27 21:27:59 124

原创 playbin获取节目duration流程分析

playsink没有实现duration的查询,但是其内部的sink,如audiosink继承了gstbasesink。第二种直接使用gst_pad_peer_query查询。b)迭代器获取srcpad。第一种适用于pull模式。a)迭代器获取sink。继续分析下上面的细节。

2024-03-26 21:06:26 254

原创 如何判断对象指针已经释放-指针的引用

1)指针的引用作为函数参数,当实参指针被设置NULL,函数内部可以使用NULL来判断。1)将一个指针赋值给另一个指针,也就是智能指针作为函数参数时候,引用计数会增加。当调用shared_ptr.reset()时候,并不会导致形参被设置NULL。1.使用智能指针shared_ptr。

2024-03-26 20:17:18 324

原创 gstreamer ffmpeg avlog日志重定位到安卓log

【代码】gstreamer ffmpeg avlog日志重定位到安卓log。

2024-03-15 17:58:41 126

原创 tunnel模式audiotrack每笔数据需要送入同步头

这个header包含一个起始码,pts(nano sec),和数据的size。再写入audio数据前先写入这个header data。需要在音频写入audiotrack的时候在头部插入一个16 byte的avsync header。

2024-02-27 18:05:54 323

原创 获取JPEG文件中的EXIF信息旋转角度

【代码】获取JPEG文件中的EXIF信息旋转角度。

2023-12-28 17:41:29 614

原创 安卓快速模块编译

dninja + 目标。

2023-11-22 15:53:45 176 1

原创 libtool使用-Wl,-Bstatic失败

如上代码通过修改-Wl,-Bstatic -ljpeg实现静态依赖libjpeg,但是编译之后仍然是依赖动态库libjpeg.so,打印命令也是正常的。-Wl,-Bstatic -ljpeg为一个指令,也是就没有将-ljpeg是为Wl后面的参数,导致问题。libtool: link:的可以看到。-Bstatic,ljpeg 或者。发现问题了,link没有正常识别。对Wl的使用不太规范。

2023-10-16 12:36:41 168 1

原创 安卓通过Parcel传递Surface到native层(Mediaplayer.java)

因为parcel中默认添加了一个name字段,因为这里是第一次读取这个parcel,设置false后是surfaceShim.readFromParcel会去取这个name字段,不影响后读取surface字段。可以获取到graphicBufferProducer 了。使用MediaPlayer中的。备注:这里要设置false。

2023-09-19 17:45:21 142

原创 c++、c基础

1.文件句柄复制/赋值需要使用dup()/dup2(),不能直接使用“=”。

2023-09-18 14:04:40 43 1

原创 This version of the Android Support plugin for IntelliJ IDEA (or Android Studio) cannot open 问题

android.injected.studio.version.check=false”这行代码加进去,修改“gradle.properties”文件。

2023-09-07 20:03:34 98 1

原创 android 接调用skia库绘图

【代码】android 接调用skia库绘图。

2023-07-26 10:15:03 361 1

原创 安卓预置apk/so权限

权限添加:/system/etc/permissions/privapp-permissions-platform.xml。权限添加:/vendor/etc/permissions $ privapp-permissions-vendor.xml。so白名单:/system/etc # public.libraries.txt。预置:/system $ priv-app。预置:/vendor $ priv-app。

2023-06-27 11:16:28 252 1

原创 把gstreamer插件androidmedia的3个java编译成jar

【代码】把gstreamer插件androidmedia的3个java编译成jar。

2023-06-26 21:04:53 133 1

原创 gradlew makejar报错Android Gradle plugin requires Java 11 to run

错误:修改方法:修改后,仍报错修改后,仍报错3、项目根目录下:文件(gradle.properties)添加代码:修改后可以。

2023-06-25 11:42:56 318

原创 安卓高版本c/c++调用java,通过JNI_CreateJavaVM/JNI_GetCreatedJavaVMs创建虚拟机实例

c/c++调用java;JNI_CreateJavaVM/JNI_GetCreatedJavaVMs创建虚拟机实例;libnativehelper;JNI_CreateJavaVM运行挂载libart

2023-06-21 10:09:30 1552 2

原创 elf 分析工具 readelf/nm/objdump

elf 分析工具 readelf/nm/objdump

2023-06-14 11:10:32 375

原创 ld链接器基本命令

通过-Wl,--exclude-libs,libssl.a -Wl,--exclude-libs,libcrypto.a 设置链接器命令

2023-06-14 10:54:07 596

原创 gcc 基本命令

gcc

2023-06-14 09:47:40 166

原创 使用gstreamer动态库搭建安卓环境播放器

gstreamer-1.0-android-arm64-1.20.6.1-runtime.tar\libexec\gstreamer-1.0\gst-plugin-scanner拷贝到assets 下;d) 将静态版本包\gstreamer-1.0-android-arm64-1.20.6.1.tar\arm64\share\gst-android\ndk-build\tools\windows\pkg-config.exe 拷贝到arm64-v8a下。arm64-v8a/pkgconfig下。

2023-05-30 11:23:36 1284 3

原创 Android Studio ndk 开发 cmake 使用pkgconfig

是clang++不识别-pthread,通过执行D:\SDK\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --help(terminal 执行命令)可以查看所支持的参数,确认是支持-pthread,进一步分。(1)找不到依赖的头文件,也就是前面说的PKG_CONFIG_PATH设置后无效(暂未解决),使用默认搜索路径,默认路径确认方式如前面所讲。规避方案使用默认的搜索路径,如下方法可以查找默认搜索路径。

2023-05-20 16:14:35 747 1

原创 cmake编译三方库运行找不到依赖库

测试用遇到so库正常打包到apk,但是实际运行遇到,通过编译链接的方式找不到依赖库,但是通过dlopen的方式确实可以正常加载的问题。全路径的 libxxx.so 显然是没法在我们设置的 LD_LIBRARY_PATH 里面找到的,所以会报个 not found 的错误,这就是加载不到so的原因了。发现依赖的so是全路径,显然是不对的,从路径看也就是我们set_target_properties中设置的路径。so库的链接方式有两种:一种是通过dlopen,另一种是通过编译链接。

2023-05-15 21:51:46 1867 1

原创 gstreamer编译recipe插件

可以看完整编译命令,相关头文件等依赖,cebero已经默认添加到了env中,包括pkg-config的寻找pc的路径也设置到了env(通过打印self.env),同时也添加到了make中 -isystem -isysroot等。(因为依赖了gst.h/avcodec.h,所以需要先整体编译一遍才会在dist下生成相关头文件/依赖库/*.pc)(2) 创建插件源码目录test-1.0 : Makefile test.c。

2023-05-15 21:02:38 142 1

原创 switch-case-break使用以及内部变量定义事项

switch (integer expresssion){ case constant1: statements; case constant2: statements; default: statements}(1)(integer expresssion)表达式只能是整型(包含char类型,enum类型)。case 标签必须是整型常量或者整型常量表达式,不能使用变量。(2)default 可以放在 switch中任意位置,当...

2020-11-12 20:27:16 1921

原创 翻转链表-逆转链表-单向链表(容易理解)

/*** struct ListNode {* int val;* struct ListNode *next;* };*//**** @param pHead ListNode类* @return ListNode类*/struct ListNode* ReverseList(struct ListNode* pHead ) { struct ListNode *pCur = pHead; struct ListNode *pNex...

2020-10-27 00:31:23 241

原创 win7指定网络名不再可用

电脑加载网络驱动器和添加网络位置出现“指定网络名不再可用”的问题,ping没有问题,SSH登录没有问题,其他人电脑也可以登录,网上主要解决方案(1)检查“computer、Browser、server、workstation”是否启动,(2)检查服务器杀毒软件件电脑IP地址拉黑(3)防止arp劫持:arp -d ;ipconfig/flushdns;arp -s 或者netsh 绑定IP和MAC最终解决方案:打开网络共享中心,本地连接。 在“属性”对话框中,选择Internet 协议.

2020-07-10 17:53:07 5158

传感器的原理与应用研究

传感器的原理与应用研究

2014-05-27

视频中运动目标跟踪简介

视频中运动目标跟踪简介

2012-10-30

基于数字图像处理的雷达图像动目标点迹提取和跟踪.pd

基于数字图像处理的雷达图像动目标点迹提取和跟踪

2012-10-30

空空如也

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

TA关注的人

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