解决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视频退出问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法熟记-排序系列-堆排序
- 下一篇: IE6-IE9兼容性问题列表及解决办法_