NewPipe icon indicating copy to clipboard operation
NewPipe copied to clipboard

Video failed to load once, with error

Open opusforlife2 opened this issue 3 years ago • 5 comments

Checklist

  • [X] I am able to reproduce the bug with the latest version.
  • [X] I made sure that there are no existing issues - open or closed - which I could contribute my information to.
  • [X] I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • [X] This issue contains only one bug.
  • [X] I have read and understood the contribution guidelines.

Affected version

0.23.1

Steps to reproduce the bug

Tapped thumbnail to play video from video details fragment.

Expected behavior

Video should play.

Actual behavior

Error report shown instead.

This happened a while ago, so I don't remember if it generated an error notification or opened the error activity directly.

The video loaded like normal on the second try. I might have restarted the app before trying, though I can't be sure.

Screenshots/Screen recordings

No response

Logs

Exception

  • User Action: play stream
  • Request: Loading failed for [title]: YT url
  • Content Country: CH
  • Content Language: en-IN
  • App Language: en_IN
  • Service: YouTube
  • Version: 0.23.1
  • OS: Linux Android 10 - 29
Crash log

org.schabi.newpipe.player.mediasource.FailedMediaSource$MediaSourceResolutionException: Unable to resolve source from stream info. URL: [YT url], audio count: 3, video count: 10, 3
	at org.schabi.newpipe.player.playback.MediaSourceManager.lambda$getLoadedMediaSource$3$org-schabi-newpipe-player-playback-MediaSourceManager(MediaSourceManager.java:432)
	at org.schabi.newpipe.player.playback.MediaSourceManager$$ExternalSyntheticLambda2.apply(Unknown Source:6)
	at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:58)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnError$DoOnError.onSuccess(SingleDoOnError.java:52)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onSuccess(SingleSubscribeOn.java:68)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onSuccess(MaybeToSingle.java:83)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onNext(FlowableElementAtMaybe.java:80)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:136)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
	at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15868)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	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:919)


Affected Android/Custom ROM version

No response

Affected device model

No response

Additional information

No response

opusforlife2 avatar Jul 14 '22 18:07 opusforlife2

Nothing provided in the stacktrace is helpful unfortunately. Do you remember the quality, codec, video id played and/or the format type (post-live DVR, OTF or progressive) of the content/stream?

AudricV avatar Jul 14 '22 19:07 AudricV

720p WebM, so VP9, and it was a simple video, so progressive.

opusforlife2 avatar Jul 15 '22 03:07 opusforlife2

Just ran into this:

Exception

  • User Action: play stream
  • Request: Loading failed for [The Simpsons - Homer's Internet Company]: https://www.youtube.com/watch?v=yemjuMX_x5U
  • Content Country: US
  • Content Language: en-US
  • App Language: en_US
  • Service: YouTube
  • Version: 0.23.3
  • OS: Linux Android 12 - 32
Crash log

org.schabi.newpipe.player.mediasource.FailedMediaSource$MediaSourceResolutionException: Unable to resolve source from stream info. URL: https://www.youtube.com/watch?v=yemjuMX_x5U, audio count: 3, video count: 8, 2
	at org.schabi.newpipe.player.playback.MediaSourceManager.lambda$getLoadedMediaSource$3(MediaSourceManager.java:432)
	at org.schabi.newpipe.player.playback.MediaSourceManager.$r8$lambda$GiL2pCn9PgSZNVk872SsYVyH27I(Unknown Source:0)
	at org.schabi.newpipe.player.playback.MediaSourceManager$$ExternalSyntheticLambda2.apply(Unknown Source:6)
	at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:58)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnError$DoOnError.onSuccess(SingleDoOnError.java:52)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onSuccess(SingleSubscribeOn.java:68)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onSuccess(MaybeToSingle.java:83)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onNext(FlowableElementAtMaybe.java:80)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:136)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
	at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15868)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	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:920)


js290 avatar Sep 16 '22 00:09 js290

I would guess at this being a timeout error.

opusforlife2 avatar Sep 17 '22 18:09 opusforlife2

something is wrong with newpipe 0.23.3 it works well with 0.24.0 rc

privacyonly avatar Sep 18 '22 08:09 privacyonly

Having same/similar problem playing a music video (have tried 3 different ones) from a Playlist. Will post error code below. It will happily play me long-ish commercials at every opportunity, but hasn't played a single video yet.

Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: US
  • Content Language: en-US
  • App Language: en_US
  • Service: none
  • Version: 1
  • OS: Linux OnePlus/CPH2419/OP5552L1:12/SKQ1.220303.001/S.202207260241:user/release-keys 12 - 31
Crash log

java.lang.IllegalArgumentException: com.newpipe.protube: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
	at android.app.PendingIntent.checkFlags(PendingIntent.java:378)
	at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:648)
	at android.app.PendingIntent.getBroadcast(PendingIntent.java:635)
	at org.schabi.newpipe.player.notification.NotificationUtil.createNotification(NotificationUtil.java:123)
	at org.schabi.newpipe.player.notification.NotificationUtil.createNotificationAndStartForeground(NotificationUtil.java:170)
	at org.schabi.newpipe.player.notification.NotificationPlayerUi.initPlayer(NotificationPlayerUi.java:32)
	at org.schabi.newpipe.player.Player$$ExternalSyntheticLambda23.accept(Unknown Source:2)
	at j$.util.Iterator$-CC.$default$forEachRemaining(SourceFile:2)
	at j$.util.Iterator$-EL.forEachRemaining(Unknown Source:10)
	at j$.util.Y.forEachRemaining(Unknown Source:24)
	at j$.util.stream.l2.forEachOrdered(Unknown Source:10)
	at org.schabi.newpipe.player.ui.PlayerUiList.call(PlayerUiList.java:88)
	at org.schabi.newpipe.player.Player.initPlayer(Player.java:522)
	at org.schabi.newpipe.player.Player.initPlayback(Player.java:487)
	at org.schabi.newpipe.player.Player.lambda$handleIntent$2(Player.java:425)
	at org.schabi.newpipe.player.Player.$r8$lambda$1PcYbMVI_TTEfmKKifNTvbiXL8A(Unknown Source:0)
	at org.schabi.newpipe.player.Player$$ExternalSyntheticLambda0.run(Unknown Source:16)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeCallbackObserver.onComplete(MaybeCallbackObserver.java:93)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeObserveOn$ObserveOnMaybeObserver.run(MaybeObserveOn.java:105)
	at io.reactivex.rxjava3.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:123)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:238)
	at android.os.Looper.loop(Looper.java:349)
	at android.app.ActivityThread.main(ActivityThread.java:8241)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)


LadyEyes avatar Jan 13 '23 03:01 LadyEyes

It will happily play me long-ish commercials at every opportunity, but hasn't played a single video yet.

com.newpipe.protube

@LadyEyes Please don't use this Play Store copycat and use the real app, which doesn't make use of in-app ads and track you, that you should download only from official sources (see the installation section at the project README in this repo).

AudricV avatar Jan 13 '23 07:01 AudricV

This is the official way to install fully adfree without any tracker, the open source NewPipe :-

https://github.com/TeamNewPipe/NewPipe#installation-and-updates

& keep away from copycats, never install from any source other than official one.

ShareASmile avatar Jan 13 '23 08:01 ShareASmile

I just got this issue on a video (MPEG-4, 1080p OTF) and I have been able to capture the error stack trace from ADB's logcat:

org.schabi.newpipe.player.resolver.PlaybackResolver$ResolverException: Error when generating the DASH manifest of YouTube OTF stream
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.createYoutubeMediaSourceOfVideoStreamType(PlaybackResolver.java:477)
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.createYoutubeMediaSource(PlaybackResolver.java:400)
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.buildMediaSource(PlaybackResolver.java:249)
    at org.schabi.newpipe.player.resolver.VideoPlaybackResolver.resolve(VideoPlaybackResolver.java:93)
    at org.schabi.newpipe.player.Player.sourceOf(Player.java:1872)
    at org.schabi.newpipe.player.playback.MediaSourceManager.lambda$getLoadedMediaSource$3(MediaSourceManager.java:425)
    at org.schabi.newpipe.player.playback.MediaSourceManager.$r8$lambda$GiL2pCn9PgSZNVk872SsYVyH27I(Unknown Source:0)
    at org.schabi.newpipe.player.playback.MediaSourceManager$$ExternalSyntheticLambda4.apply(Unknown Source:6)
    at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:58)
    at io.reactivex.rxjava3.internal.operators.single.SingleDoOnError$DoOnError.onSuccess(SingleDoOnError.java:52)
    at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onSuccess(SingleSubscribeOn.java:68)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onSuccess(MaybeToSingle.java:83)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onNext(FlowableElementAtMaybe.java:80)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:136)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
    at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15917)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
    at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5375)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
    at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
    at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
    at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
    at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
    at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    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:929)
Caused by: org.schabi.newpipe.extractor.services.youtube.dashmanifestcreators.CreationException: Could not get the initialization URL: response code 503
    at org.schabi.newpipe.extractor.services.youtube.dashmanifestcreators.YoutubeOtfDashManifestCreator.fromOtfStreamingUrl(YoutubeOtfDashManifestCreator.java:120)
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.createYoutubeMediaSourceOfVideoStreamType(PlaybackResolver.java:468)
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.createYoutubeMediaSource(PlaybackResolver.java:400)
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.buildMediaSource(PlaybackResolver.java:249)
    at org.schabi.newpipe.player.resolver.VideoPlaybackResolver.resolve(VideoPlaybackResolver.java:93)
    at org.schabi.newpipe.player.Player.sourceOf(Player.java:1872)
    at org.schabi.newpipe.player.playback.MediaSourceManager.lambda$getLoadedMediaSource$3(MediaSourceManager.java:425)
    at org.schabi.newpipe.player.playback.MediaSourceManager.$r8$lambda$GiL2pCn9PgSZNVk872SsYVyH27I(Unknown Source:0)
    at org.schabi.newpipe.player.playback.MediaSourceManager$$ExternalSyntheticLambda4.apply(Unknown Source:6)
    at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:58)
    at io.reactivex.rxjava3.internal.operators.single.SingleDoOnError$DoOnError.onSuccess(SingleDoOnError.java:52)
    at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onSuccess(SingleSubscribeOn.java:68)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onSuccess(MaybeToSingle.java:83)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onNext(FlowableElementAtMaybe.java:80)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:136)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
    at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15917)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
    at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5375)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
    at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
    at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
    at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
    at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
    at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    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:929)

So as you can see, there is nothing we can do, that's an issue from YouTube servers. A 503 HTTP error is also returned for streaming URLs on YT's website and it displays one minute or two later that This video isn't available at the selected quality. Please try again later.

@opusforlife2 I think that the video on which you got this error was for an OTF stream, as I checked with js290's video on YT's website and I got 503 errors for all MP4 OTF streams (the MP4 360p quality is a progressive one and plays fine), that your video has only three audio streams (likely M4A 48+128 kbps and WEBM 128-160 kbps) and that progressive manifests do not require a network request to be generated.

AudricV avatar Jan 13 '23 23:01 AudricV

This video isn't available at the selected quality. Please try again later.

@AudricV If retrying won't work, then maybe we can forward this error to the user and let them understand it's not an app bug?

opusforlife2 avatar Jan 19 '23 02:01 opusforlife2