danikula / danikula/AndroidVideoCache

Play h.265 file error

未关闭
#237 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。