错误信息Fatal signal 11 (SIGSEGV) at 0x00000040 (code=1), thread 2736 (Thread-103)

news/2024/7/10 21:40:03 标签: ffmpeg

在用ffmpeg编码视频时报了这个错误,经过一步步排查,最后得知原因是io问题,在文件的都写时是否被赋予权限,

1.在AndroidMainfest是否允许对内存卡进行读写,权限如下

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

2.打开文件的是否是否是只读,第二个参数设置权限

FILE    *fopen(const char *file, const char *mode)

mode字符串 说明
r 以只读方式打开文件,该文件必须存在。
r+ 以读/写方式打开文件,该文件必须存在。
rb+ 以读/写方式打开一个二进制文件,只允许读/写数据。
rt+ 以读/写方式打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则长度清为 0,即该文件内容消失,若不存在则创建该文件。
w+ 打开可读/写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留(EOF 符保留)。
a+ 以附加方式打开可读/写的文件。若文件不存在,则会建立该文件,如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(原来的 EOF 符不保留)。
wb 以只写方式打开或新建一个二进制文件,只允许写数据。
wb+ 以读/写方式打开或建立一个二进制文件,允许读和写。
wt+ 以读/写方式打开或建立一个文本文件,允许读写。
at+ 以读/写方式打开一个文本文件,允许读或在文本末追加数据。
ab+ 以读/写方式打开一个二进制文件,允许读或在文件末追加数据。
以 x 结尾的模式为独占模式,文件已存在或者无法创建(一般是路径不正确)都会导致 fopen 失败。文件以操作系统支持的独占模式打开。
上述的形态字符串都可以再加一个 b 字符,如 rb、w+b 或 ab+ 等组合,加入 b 字符用来告诉函数库以二进制模式打开文件。如果不加 b,表示默认加了 t,即 rt、wt,其中 t 表示以文本模式打开文件。由 fopen() 所建立的新文件会具有 S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666) 权限,此文件权限也会参考umask值。
有些 C编译系统可能不完全提供所有这些功能,有的C版本不用”r+”、”w+”、”a+”,而用”rw”、”wr”、”ar”等,读者注意所用系统的规定。

3.可能调用函数时某些参数填写错误

4.输出了一个空指针引用


http://www.niftyadmin.cn/n/1848154.html

相关文章

java反射机制,通过类名获取对象,通过方法名和参数调

try {//得到对象Class c Class.forName("完整类名");Object yourObj c.newInstance();//得到方法Method methlist[] cls.getDeclaredMethods();for (int i 0; i < methlist.length; i) {Method m methlist[i];}//获取到方法对象,假设方法的参数是一个int,met…

ajax 提交及表单提交报错

调用方法提交&#xff1a; function upload(event, type){ $.ajax({ async:false,//是否异步cache:false,//是否使用缓存type: "POST",data:{type:type, data:results.base64},dataType: "json",timeout: 2000,contentType : application/x-www-form-urle…

Hello Struts2

Struts2框架的概念 是一个典型的MVC框架&#xff0c;人为的把一个软件分为3个层次 M(Model 模型层) V(view 视图层) C&#xff08;Controller控制层 控制器&#xff09;&#xff0c;提高开发效率。 V(view 视图层) JSP (freemarker velocity) C(Controller 控制层…

[开源]微信在线信息模拟测试工具(基于Senparc.Weixin.MP开发)

目前为止似乎还没有看到过Web版的普通消息测试工具&#xff08;除了官方针对高级接口的&#xff09;&#xff0c;现有的一些桌面版的几个测试工具也都是使用XML直接请求&#xff0c;非常不友好&#xff0c;我们来尝试做一个“面向对象”操作的测试工具。 测试工具在线DEMO&…

diskpart 转换 gpt mbr

shift f10 进入命令行diskpartlist diskselect disk 0cleanconvert gptlist partitioncreate partition efi size100create partition msr size128create partition primary size50000list partitiondiskpartlist diskselect disk 0cleanconvert mbrcreate partition primary …

购物车中常用的全选与全不选

直接上事例&#xff1a; <% page language"java" contentType"text/html; charsetutf-8" pageEncoding"utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose…

secureCRT 在ubuntu下显示中文乱码的问题 和 mc 按f10功能键的问题

securecrt displays garbled chinese characterssecureCRT 的设置 Terminal->Emulation-> 设置VT100, ansi color打勾Terminal->Appearance-> 设置 current color scheme -> monochrome 设置 Fonts 为UTF-8mc的功能键 通过…

Maven的学习资料收集--(七) 构建Spring项目

在这里&#xff0c;使用Maven构建一个Spring项目 构建单独项目的话&#xff0c;其实都差不多 1. 新建一个Web项目 参考之前的博客 2.修改 pom.xml&#xff0c;添加Spring依赖 [html] view plaincopy <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi…