之前用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:
Remote communication error: Connection reset by peer.

到网上也没找到解决方案,最后只用采用在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视频退出问题相关推荐

  1. Android播放网络视频截图

    Android播放网络视频截图 最近博主遇到一个Android电视的开发项目,项目需要电视客户端播放服务器端视频,通过遥控器一键截图,并将截图云推送到手机客户端,于是博主就开始找度神去求助了,毕竟以前 ...

  2. Unity 渲染 Android播放的视频画面

    码字不易,转载请注明出处喔 https://blog.csdn.net/newchenxf/article/details/119565585 1. 前言 Unity本身可以直接播放本地视频或网络视频 ...

  3. Android播放透明视频

    话不多说,开局一张图,内容全靠"编": 播放透明视频 随着业务场景的增多,更多的特效用原生绘制.GIF的方式都不能很好的满足需求了,这就带来了一个新的方式:用视频特效来代替.特别是 ...

  4. linux平台vlc无法播放.h265视频解决方法

    PS:发现windows环境下安装的vlc可以直接打开.h265视频,但在linux环境下(本人ubuntu环境)却无法直接打开. 解决办法: 1.点击工具下面的偏好设置 2.选择左下角的" ...

  5. 解决IOS无法播放3gp视频, 出现无法编码问题

    因工作问题,最近需要做到一个视频录制能在Android和IOS两个平台上播放,而Android已经把录制视屏的格式设置为3gp,(这样文件比较小适合流量小的传输) 那我们IOS这边也支持3gp吧 ap ...

  6. Android播放流媒体视频

    https://segmentfault.com/a/1190000017993608 MediaPlayer 的基本使用方式 1.设置权限 <uses-permission android:n ...

  7. 解决Windows 7播放网页视频没有声音的问题

    本地播放器听歌看电影都有声音但是它播放土豆网.优酷.新浪等网站的FLASH,还有在线电影中的RMVB.WMV视频时没有声音,网页中的音乐也一样听不了.播放硬盘上的视频.音乐.FLASH动画则可以听到声 ...

  8. VLC Android播放器介绍

    VLC目录结构 在ubuntu下编译vlc完成后,就可以将vlc-android部分导入android studio或者eclipse当中,完成java端的代码定制修改和编译,也可以自己将需要的部分添 ...

  9. Android,播放m3u8视频和下载m3u8的视频

    因最近项目需要,研究了一个礼拜的m3u8.格式为m3u8的视频,其实是由多个.ts文件组成在一起播放的.下面有些资料是参考了网上的,总体概括下实现思路: 1.根据后台给出的m3u8的地址,实现播放,核 ...

最新文章

  1. 工具的学习使用(二):快捷键、工具、批处理
  2. 第三方工具监控java进程_前9个免费的Java进程监视工具以及如何选择一种
  3. 【Numpy】array操作总结
  4. [转]Win XP常遇网络故障分析:局域网问题
  5. python编程例子_Python的经典入门书籍有哪些?这5本值得一看
  6. Spring(三)Bean继续入门
  7. 计算机上已安装某个第三方应用程序,防止电脑第三方软件“被”安装 3招彻底屏蔽不明软件...
  8. 经常用到的一个分页存储过程
  9. C++实现binary文件读取(可对‘bil‘,‘bsq‘ float32,double,unchar,unit16,unit8等格式进行读取)
  10. WPS Office 2019 v11.8.2专业增强版
  11. oracle导出建表语句sql语句,关于导出oracle多个表的建表语句DLL,生成.sql语句。...
  12. thinkpadt410接口介绍_Thinkpad-T410 T410S笔记本左右接口以及硬件设备详细介绍!
  13. excel vba saveas 另存为使用方法
  14. Oracle之同义词
  15. 开篇 :直播软件分析.
  16. C语言学生成绩管理系统大纲,C语言教学大纲
  17. 算法还原练习-20160920
  18. docker安装redis镜像步骤
  19. 如何用全球顶级名画,成为全行业最令人羡慕的人?
  20. Swift语法基础:19 - Swift的控制转移的语句, Continue, Break, Fallthrough, Labeled Statements...

热门文章

  1. Java设计模式(1 / 23):策略模式
  2. LeetCode - Easy - 118. Pascal‘s Triangle
  3. 《Python Cookbook 3rd》笔记(2.19):实现一个简单的递归下降分析器
  4. dex分包之--------multidex包的配置使用
  5. 一个三流学校程序员的奋斗历程
  6. 国内外软件开发上的差距与分析
  7. 视界云:CDN{内容分发网络} 知识详解
  8. IntelliJ IDEA 中配置、使用 SVN
  9. spring boot Redis集成—RedisTemplate
  10. xml编辑无提示?这么破!