TeamNewPipe / NewPipe

A libre lightweight streaming front-end for Android.
https://newpipe.net
GNU General Public License v3.0
30.79k stars 3.01k forks source link

Video stops 6hrs 16secs in #11102

Open ElspethThePict opened 2 months ago

ElspethThePict commented 2 months ago

Checklist

Affected version

0.27.0

Steps to reproduce the bug

Open a video of length of more that six hours and let it play from the beginning.

Expected behavior

Video should play as normal until the end.

Actual behavior

At 6 hours and about 16 seconds, the player will stop and produce a network error code. Pressing play on the video will resume it from the place it stopped.

Screenshots/Screen recordings

No response

Logs

Exception

com.google.android.exoplayer2.ExoPlaybackException: Source error
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:644)
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:616)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 403
    at org.schabi.newpipe.player.datasource.YoutubeHttpDataSource.open(YoutubeHttpDataSource.java:422)
    at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:263)
    at com.google.android.exoplayer2.upstream.TeeDataSource.open(TeeDataSource.java:52)
    at com.google.android.exoplayer2.upstream.cache.CacheDataSource.openNextSource(CacheDataSource.java:796)
    at com.google.android.exoplayer2.upstream.cache.CacheDataSource.open(CacheDataSource.java:609)
    at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:84)
    at com.google.android.exoplayer2.source.chunk.ContainerMediaChunk.load(ContainerMediaChunk.java:124)
    at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
    at java.lang.Thread.run(Thread.java:1012)


Affected Android/Custom ROM version

Android 13

Affected device model

Nokia G22

Additional information

No response

opusforlife2 commented 2 months ago

This time period is consistent? How many times have you tried?

ElspethThePict commented 2 months ago

The time period is consistent. I've confirmed it twice, and had videos crash out without confirming the time period regularly.

On Fri, 31 May 2024, 10:36 opusforlife2, @.***> wrote:

This time period is consistent? How many times have you tried?

— Reply to this email directly, view it on GitHub https://github.com/TeamNewPipe/NewPipe/issues/11102#issuecomment-2141615548, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASRQE6YEBE6CGGXYYGMBUPDZFBADXAVCNFSM6AAAAABII6TYXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBRGYYTKNJUHA . You are receiving this because you authored the thread.Message ID: @.***>

opusforlife2 commented 2 months ago

Ok. 2 different things to try here. One is a different network. Like mobile data or wifi, whichever one you weren't using earlier.

Another is trying on a different device.

AudricV commented 2 months ago

YouTube streams are only valid for 21540 seconds, so you reached the availability limit by playing them for this duration.

The validity of streams cannot be changed, but the player error handling can (and should) be changed.

opusforlife2 commented 2 months ago

There are plenty of 10-hour videos. How does YT deal with those? Does it generate new stream links and seamlessly switch over?

opusforlife2 commented 2 months ago

@AudricV Should this be turned into a feature request asking for a link refresh mechanism? Seems like the most straightforward solution.