KSPlayer icon indicating copy to clipboard operation
KSPlayer copied to clipboard

Network Error State Not Triggered During Live Stream

Open JulienDev opened this issue 1 year ago • 10 comments

Describe the bug While testing network error handling on my Apple TV, I noticed that network errors (like disconnecting the internet) don't trigger expected error states or callbacks. After starting a live stream and then disconnecting the internet from my router, the Apple TV's state remains on buffering instead of changing to an error state. Additionally, the onFinish callback, which I expected to handle the error, is never called.

To Reproduce

  1. Start a live stream on Apple TV.
  2. After a few minutes, disconnect the internet connection for the Apple TV from the router.
  3. Wait and observe the behavior of the live stream.

Expected behavior The state changes to an error to reflect the lost connection. The onFinish callback is triggered to handle the error. Actual Outcome:

Actual behavior The state stays at buffering and doesn't change to an error state. The onFinish callback is not called at all.

Question Is there a different method to detect network errors in this scenario?

Platform (please complete the following information):

  • Device: TvOS
  • OS: 17.2

JulienDev avatar Feb 21 '24 17:02 JulienDev

因为我内部有加了网络错误自动重试的逻辑。所以没有回调onFinish方法。

kingslay avatar Feb 22 '24 02:02 kingslay

Ah, okay. But when the internet connection is restored, streaming playback doesn't resume on my end. Is there a way to disable automatic retries so I can handle errors manually?

JulienDev avatar Feb 22 '24 08:02 JulienDev

是有开关可以把自动重试关掉的。但是这边还有一个问题点是: 为什么网络恢复了,不能继续播放。这个很奇怪。你的直播网络中断了多久呢?

kingslay avatar Feb 22 '24 08:02 kingslay

I think I restored the connection after 2-3 minutes

JulienDev avatar Feb 22 '24 08:02 JulienDev

那你可以试下只中断30秒到70s。看下是不是能够恢复播放。看下是不是中断太久造成的。

kingslay avatar Feb 22 '24 08:02 kingslay

After re-enabling the internet connection just a few seconds later, the video playback does not resume and remains halted.

JulienDev avatar Feb 23 '24 08:02 JulienDev

你可以看下TracyPlayer 会不会有这个问题

kingslay avatar Feb 23 '24 14:02 kingslay

Same with TracyPlayer, even after re-enabling the internet connection, video playback never resume

JulienDev avatar Feb 28 '24 10:02 JulienDev

我这边试了下。我的app应该在网络断开一会儿之后 就可以显示播放失败。然后网络恢复之后 点播放按钮就可以继续播放了

kingslay avatar Feb 28 '24 11:02 kingslay

On my Apple TV TracyPlayer is only showing a loader forever (tried for around 30 minutes)

JulienDev avatar Feb 28 '24 14:02 JulienDev

@JulienDev 你可以在用我的app试下。我刚修复了一个网络切换的问题

kingslay avatar Jul 31 '24 14:07 kingslay

It's working perfectly with latest version of TracyPlayer on the Apple TV Store! What should I do to make it work in my app? Just update the KSPLayer lib?

JulienDev avatar Jul 31 '24 14:07 JulienDev

我的app用的是最新的lgpl分支的代码。你更新gpl版本的代码不一定可以。你可以试下。

kingslay avatar Jul 31 '24 14:07 kingslay

Ok thanks. I think I'll wait for the next KSPlayer release then

JulienDev avatar Jul 31 '24 14:07 JulienDev