解决vlc-android播放http视频退出问题
之前用vlc-android播放http视频,程序就自动退出了,尝试用ndk-gdb调试,但是一调试,就报
/home/administrator/code/vlc-android/extras/package/android/vlc-android/obj/local/armeabi/gdb.setup:4: Error in sourced command file: 到网上也没找到解决方案,最后只用采用在c代码中加入调试打印语句的方式,看究竟是哪里报错,最后跟踪到是调用poll函数引起, 最后采在ffmpeg源码中找到一个poll函数的源码,修改后加入到vlc-android中 int poll(struct pollfd *fds, nfds_t numfds, int timeout) { fd_set read_set; fd_set write_set; fd_set exception_set; nfds_t i; int n; int rc; #if HAVE_WINSOCK2_H if (numfds >= FD_SETSIZE) { errno = EINVAL; return -1; } #endif FD_ZERO(&read_set); FD_ZERO(&write_set); FD_ZERO(&exception_set); n = -1; for(i = 0; i < numfds; i++) { if (fds[i].fd < 0) continue; #if !HAVE_WINSOCK2_H if (fds[i].fd >= FD_SETSIZE) { errno = EINVAL; return -1; } #endif if (fds[i].events & POLLIN) FD_SET(fds[i].fd, &read_set); if (fds[i].events & POLLOUT) FD_SET(fds[i].fd, &write_set); if (fds[i].events & POLLERR) FD_SET(fds[i].fd, &exception_set); if (fds[i].fd > n) n = fds[i].fd; }; if (n == -1) /* Hey!? Nothing to poll, in fact!!! */ return 0; if (timeout < 0) rc = select(n+1, &read_set, &write_set, &exception_set, NULL); else { struct timeval tv; tv.tv_sec = timeout / 1000; tv.tv_usec = 1000 * (timeout % 1000); rc = select(n+1, &read_set, &write_set, &exception_set, &tv); }; if (rc < 0) return rc; for(i = 0; i < numfds; i++) { fds[i].revents = 0; if (FD_ISSET(fds[i].fd, &read_set)) fds[i].revents |= POLLIN; if (FD_ISSET(fds[i].fd, &write_set)) fds[i].revents |= POLLOUT; if (FD_ISSET(fds[i].fd, &exception_set)) fds[i].revents |= POLLERR; }; return rc; } 测试播放网上的http视频,视频地址:http://forum.ea3w.com/coll_ea3w/attach/2008_10/12231788691.wmv |
解决vlc-android播放http视频退出问题相关推荐
- Android播放网络视频截图
Android播放网络视频截图 最近博主遇到一个Android电视的开发项目,项目需要电视客户端播放服务器端视频,通过遥控器一键截图,并将截图云推送到手机客户端,于是博主就开始找度神去求助了,毕竟以前 ...
- Unity 渲染 Android播放的视频画面
码字不易,转载请注明出处喔 https://blog.csdn.net/newchenxf/article/details/119565585 1. 前言 Unity本身可以直接播放本地视频或网络视频 ...
- Android播放透明视频
话不多说,开局一张图,内容全靠"编": 播放透明视频 随着业务场景的增多,更多的特效用原生绘制.GIF的方式都不能很好的满足需求了,这就带来了一个新的方式:用视频特效来代替.特别是 ...
- linux平台vlc无法播放.h265视频解决方法
PS:发现windows环境下安装的vlc可以直接打开.h265视频,但在linux环境下(本人ubuntu环境)却无法直接打开. 解决办法: 1.点击工具下面的偏好设置 2.选择左下角的" ...
- 解决IOS无法播放3gp视频, 出现无法编码问题
因工作问题,最近需要做到一个视频录制能在Android和IOS两个平台上播放,而Android已经把录制视屏的格式设置为3gp,(这样文件比较小适合流量小的传输) 那我们IOS这边也支持3gp吧 ap ...
- Android播放流媒体视频
https://segmentfault.com/a/1190000017993608 MediaPlayer 的基本使用方式 1.设置权限 <uses-permission android:n ...
- 解决Windows 7播放网页视频没有声音的问题
本地播放器听歌看电影都有声音但是它播放土豆网.优酷.新浪等网站的FLASH,还有在线电影中的RMVB.WMV视频时没有声音,网页中的音乐也一样听不了.播放硬盘上的视频.音乐.FLASH动画则可以听到声 ...
- VLC Android播放器介绍
VLC目录结构 在ubuntu下编译vlc完成后,就可以将vlc-android部分导入android studio或者eclipse当中,完成java端的代码定制修改和编译,也可以自己将需要的部分添 ...
- Android,播放m3u8视频和下载m3u8的视频
因最近项目需要,研究了一个礼拜的m3u8.格式为m3u8的视频,其实是由多个.ts文件组成在一起播放的.下面有些资料是参考了网上的,总体概括下实现思路: 1.根据后台给出的m3u8的地址,实现播放,核 ...
最新文章
- 工具的学习使用(二):快捷键、工具、批处理
- 第三方工具监控java进程_前9个免费的Java进程监视工具以及如何选择一种
- 【Numpy】array操作总结
- [转]Win XP常遇网络故障分析:局域网问题
- python编程例子_Python的经典入门书籍有哪些?这5本值得一看
- Spring(三)Bean继续入门
- 计算机上已安装某个第三方应用程序,防止电脑第三方软件“被”安装 3招彻底屏蔽不明软件...
- 经常用到的一个分页存储过程
- C++实现binary文件读取(可对‘bil‘,‘bsq‘ float32,double,unchar,unit16,unit8等格式进行读取)
- WPS Office 2019 v11.8.2专业增强版
- oracle导出建表语句sql语句,关于导出oracle多个表的建表语句DLL,生成.sql语句。...
- thinkpadt410接口介绍_Thinkpad-T410 T410S笔记本左右接口以及硬件设备详细介绍!
- excel vba saveas 另存为使用方法
- Oracle之同义词
- 开篇 :直播软件分析.
- C语言学生成绩管理系统大纲,C语言教学大纲
- 算法还原练习-20160920
- docker安装redis镜像步骤
- 如何用全球顶级名画,成为全行业最令人羡慕的人?
- Swift语法基础:19 - Swift的控制转移的语句, Continue, Break, Fallthrough, Labeled Statements...