Skip to content

[Bug] playback stops when phone is in sleep mode with SABR endpoint #2901

Description

@Cheesealicious

Checklist

  • I make sure that the issue is NOT a duplicate of pinned issues
  • I make sure I am using the LATEST version - check here
  • I understand that issues with limited impact, such as those occurring on specific devices or under specific network conditions, will not be fixed
  • I have attached the error report in the issue

Describe the bug

Exception

  • User Action: play stream
  • Request: Loading failed for [I Can't Lie]: https://www.youtube.com/watch?v=j4c04SuoWaA
  • Content Country:
  • Content Language: en-
  • App Language: en
  • Service: YouTube (Anonymous)
  • Endpoint: mweb
  • Version: 5.3.0
  • OS: Linux samsung/a15xsq/a15x:16/BP4A.251205.006/A156USQUBEZE9:user/release-keys 16 - 36
Crash log

org.schabi.newpipe.player.mediasource.FailedMediaSource$StreamInfoLoadException: java.lang.IllegalStateException: Unable to create SABR video source for https://www.youtube.com/watch?v=j4c04SuoWaA
	at org.schabi.newpipe.player.playqueue.PlayQueueItem$$ExternalSyntheticLambda0.apply(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:34)
	at com.grack.nanojson.JsonBuilder.onError(dex-id-ab6b5829d22e9041d1dc8162b5b1ee76eae35699:23)
	at com.grack.nanojson.JsonBuilder.onError(dex-id-ab6b5829d22e9041d1dc8162b5b1ee76eae35699:73)
	at com.grack.nanojson.JsonBuilder.onSuccess(dex-id-ab6b5829d22e9041d1dc8162b5b1ee76eae35699:39)
	at com.grack.nanojson.JsonBuilder.onSuccess(dex-id-ab6b5829d22e9041d1dc8162b5b1ee76eae35699:108)
	at com.grack.nanojson.JsonBuilder.onSuccess(dex-id-ab6b5829d22e9041d1dc8162b5b1ee76eae35699:64)
	at androidx.activity.FullyDrawnReporter.onSuccess(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:10)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onSuccess(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:3)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onSuccess(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:9)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onNext(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:67)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:55)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:12)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:44)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDefer.subscribeActual(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:26)
	at io.reactivex.rxjava3.core.Flowable.subscribe(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:7)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:9)
	at io.reactivex.rxjava3.core.Maybe.subscribe(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:1)
	at io.reactivex.rxjava3.internal.operators.single.SingleJust.subscribeActual(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:87)
	at io.reactivex.rxjava3.core.Single.subscribe(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:6)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:5)
	at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:10)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:22)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:1)
	at java.util.concurrent.FutureTask.run(FutureTask.java:328)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:323)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1100)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:1572)
Caused by: java.lang.IllegalStateException: Unable to create SABR video source for https://www.youtube.com/watch?v=j4c04SuoWaA
	at org.schabi.newpipe.player.resolver.VideoPlaybackResolver.resolve(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:605)
	at org.schabi.newpipe.player.playback.MediaSourceManager$$ExternalSyntheticLambda3.apply(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:59)
	at com.grack.nanojson.JsonBuilder.onSuccess(dex-id-ab6b5829d22e9041d1dc8162b5b1ee76eae35699:18)
	... 24 more
Caused by: java.net.UnknownHostException: Unable to resolve host "rr3---sn-2onx5c-5x.googlevideo.com": No address associated with hostname
	at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:124)
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
	at java.net.InetAddress.getAllByName(InetAddress.java:1152)
	at okhttp3.internal.connection.RealRoutePlanner.planConnect$okhttp(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:284)
	at okhttp3.internal.connection.RealRoutePlanner.plan(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:140)
	at org.schabi.newpipe.streams.WebMReader$Cluster.launchTcpConnect(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:12)
	at org.schabi.newpipe.streams.WebMReader$Cluster.find(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:77)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:30)
	at okhttp3.internal.http.RealInterceptorChain.proceed(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:107)
	at okhttp3.internal.cache.CacheInterceptor.intercept(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:1086)
	at okhttp3.internal.http.RealInterceptorChain.proceed(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:107)
	at okhttp3.internal.http.BridgeInterceptor.intercept(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:1246)
	at okhttp3.internal.http.RealInterceptorChain.proceed(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:107)
	at okhttp3.internal.http.BridgeInterceptor.intercept(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:203)
	at okhttp3.internal.http.RealInterceptorChain.proceed(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:107)
	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:141)
	at okhttp3.internal.connection.RealCall.execute(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:46)
	at org.schabi.newpipe.extractor.services.youtube.sabr.YoutubeSabrRequestHelper.post(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:1506)
	at org.schabi.newpipe.extractor.services.youtube.sabr.YoutubeSabrSession.fetchNextResponse(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:168)
	at org.schabi.newpipe.extractor.services.youtube.sabr.YoutubeSabrSession.fetchAndProcessResponse(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:5)
	at org.schabi.newpipe.extractor.services.youtube.sabr.YoutubeSabrSession.requestOnce(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:31)
	at org.schabi.newpipe.youtube.SabrRequestCoordinator.request(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:40)
	at org.schabi.newpipe.player.datasource.SabrMediaBridge.prepareTimelines(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:55)
	at org.schabi.newpipe.player.datasource.SabrDashMediaSource.<init>(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:84)
	at org.jsoup.select.NodeVisitor$-CC.buildMediaSource(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:23)
	at org.schabi.newpipe.player.resolver.VideoPlaybackResolver.resolve(r8-map-id-3cc377947cdb94604cb006f72cb6e79d2f7b163cbffb10ad632b29b4234551f4:566)
	... 26 more


Version

5.3.0

Frequency

Always (100% of the time)

Device

Samsung A15

Steps to reproduce the bug

  1. Select a video
  2. Select play in background
  3. Put phone into sleep mode
  4. Wait anywhere from 29 seconds to 3:39 seconds

Additional context

With SABR endpoint, the playback pauses indefinitely at random spots, never the same time-stamp. However all the time stamps end in 9 (ie 3:39, 0:29, etc). If I try to restart the video or jump to the next video, then the video and the video after that one will be 2 seconds of silence before it skips to the next video.

I've tried using the VisionOS endpoint, but I run into a similar issue where instead of the playback pausing, the player stops working altogether. I can try to grab a crash log for VisionOS playback too if need be.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions