danikula / danikula/AndroidVideoCache
Play h.265 file error
- 主要语言
- Java
- 星标
- 5.5k
- 派生
- 1.2k
- PR 合并指标
- 30 天内没有已合并 PR
描述
E/HttpProxyCacheServer: HttpProxyCacheServer error
com.danikula.videocache.ProxyCacheException: Error closing socket input stream. Version: 2.7.1
at com.danikula.videocache.HttpProxyCacheServer.closeSocketInput(HttpProxyCacheServer.java:287)
at com.danikula.videocache.HttpProxyCacheServer.releaseSocket(HttpProxyCacheServer.java:272)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:245)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:54)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:340)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.io.IOException: shutdown failed: ENOTCONN (Transport endpoint is not connected)
at java.net.PlainSocketImpl.socketShutdown(PlainSocketImpl.java:275)
at java.net.AbstractPlainSocketImpl.shutdownInput(AbstractPlainSocketImpl.java:619)
at java.net.Socket.shutdownInput(Socket.java:1570)
at com.danikula.videocache.HttpProxyCacheServer.closeSocketInput(HttpProxyCacheServer.java:280)
at com.danikula.videocache.HttpProxyCacheServer.releaseSocket(HttpProxyCacheServer.java:272)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:245)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:54)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:340)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: android.system.ErrnoException: shutdown failed: ENOTCONN (Transport endpoint is not connected)
at libcore.io.Linux.shutdown(Native Method)
at libcore.io.ForwardingOs.shutdown(ForwardingOs.java:177)
at java.net.PlainSocketImpl.socketShutdown(PlainSocketImpl.java:273)
at java.net.AbstractPlainSocketImpl.shutdownInput(AbstractPlainSocketImpl.java:619)
at java.net.Socket.shutdownInput(Socket.java:1570)
at com.danikula.videocache.HttpProxyCacheServer.closeSocketInput(HttpProxyCacheServer.java:280)
at com.danikula.videocache.HttpProxyCacheServer.releaseSocket(HttpProxyCacheServer.java:272)
at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:245)
at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:54)
at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:340)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
贡献指南
这个仓库没有索引到贡献指南
调研方向
从 com.danikula.videocache.HttpProxyCacheServer 开始,重点查看第 280-287 行的 closeSocketInput,并跟踪其调用者 releaseSocket 和 processSocket。复现 H.265 文件的播放,并确定报告的 ENOTCONN 错误是否会影响播放。完成的标准是 H.265 播放场景不再产生此故障,并且相关行为已由测试覆盖(如果项目提供测试)。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- android, java
- 领域
- mobile-dev
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100