Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opening YT Music mix/radio gives "content unavailable" #9536

Closed
6 tasks done
arctic-hen7 opened this issue Dec 12, 2022 · 16 comments · Fixed by TeamNewPipe/NewPipeExtractor#1013
Closed
6 tasks done
Labels
bug Issue is related to a bug youtube Service, https://www.youtube.com/

Comments

@arctic-hen7
Copy link

Checklist

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

Affected version

0.24.1

Steps to reproduce the bug

  1. Paste https://youtube.com/watch?v=dQw4w9WgXcQ&list=RDAMVMdQw4w9WgXcQ, or any equivalent link constructed as https://youtube.com/watch?v=<video-id>&list=RDAMVM<video-id>, in Newpipe's search bar.
  2. Press enter to search.
  3. Observe "content unavailable" error.

Expected behavior

The link in the steps to reproduce links to the ever-famous Never Gonna Give You Up, and then attempts to make a YT Music-style mix out of it. Opening this in a browser will show the video and then the next videos in the mix, which are automatically collated by YT.

In NewPipe, the video should play, and the mix should be instantiated as the active playlist.

Actual behavior

A "content unavailable" error is produced.

Screenshots/Screen recordings

No response

Logs

Exception

Crash log

org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException: Got error: "This playlist type is unviewable."
	at org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.defaultAlertsCheck(YoutubeParsingHelper.java:1565)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubePlaylistExtractor.onFetchPage(YoutubePlaylistExtractor.java:78)
	at org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:60)
	at org.schabi.newpipe.extractor.playlist.PlaylistInfo.getInfo(PlaylistInfo.java:68)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getPlaylistInfo$9(ExtractorHelper.java:176)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$RLOrwix0kCDfcc_WpFBc8DTJw0Q(Unknown Source:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda0.call(Unknown Source:4)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
	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)


Affected Android/Custom ROM version

Android 12

Affected device model

No response

Additional information

Sharing the link directly from the browser will also trigger this error, though with, for me, a little "Content unavailable" popup message at the bottom of my phone's screen.

Looking at the error log, the error seems to be the same as YT itself issues if you try to go to https://youtube.com/playlist?list=RDAMVM<video-id>, that such mix playlists are unviewable. However, when this is part of a watch URL, YT is able to play the mix as expected. I believe NewPipe should do the same.

I have gone through all the errors that seem related to this, and none of them appear to be reporting this exact problem, and none with the current version. If I've missed something, I sincerely apologize!

@arctic-hen7 arctic-hen7 added bug Issue is related to a bug needs triage Issue is not yet ready for PR authors to take up labels Dec 12, 2022
@opusforlife2
Copy link
Collaborator

I went back to a tried and tested YT Music Mix: https://www.youtube.com/playlist?list=RDCLAK5uy_lBNUteBRencHzKelu5iDHwLF6mYqjL-JU

Then I got surprised and tried another: https://www.youtube.com/playlist?list=RDCLAK5uy_k1VVBVsS6pu1pVkYZK2B0EWic3i4j_TY4

Apparently, Mixes are now regular ol' RDCLAK playlists. @Stypox?

@opusforlife2 opusforlife2 added youtube Service, https://www.youtube.com/ and removed needs triage Issue is not yet ready for PR authors to take up labels Dec 14, 2022
@arctic-hen7
Copy link
Author

arctic-hen7 commented Dec 14, 2022

@opusforlife2 I seem to be getting the same output for those...content unavailable.

Underlying error is that the playlist does not exist this time though.

@Stypox
Copy link
Member

Stypox commented Dec 20, 2022

Mmmh, the playlist provided by @arctic-hen7 is not considered as a playlist by the YouTube website either, while the ones provided by @opusforlife2 do not exist 😅

@arctic-hen7
Copy link
Author

@Stypox I know it's not considered a valid playlist, but it works within the YT watch interface, because it's a mix. The fact that it doesn't work within NewPipe's watch interface would therefore seem to be a bug?

If not, how should I be using YT mixes within NewPipe? (I believe they've been noted as a feature several times.)

@Stypox
Copy link
Member

Stypox commented Dec 20, 2022

For me it doesn't work within the YT interface either. I just get to watch the "Never gonna..." video but no mix appears.
image

@AudricV
Copy link
Member

AudricV commented Dec 20, 2022

@Stypox That's because of the cookie consent. If you don't consent to YouTube history cookies, mixes are not available.

@opusforlife2
Copy link
Collaborator

The Mixes I linked came up in related videos. I suspect they are temporarily generated and deleted over time.

@Stypox
Copy link
Member

Stypox commented Jan 15, 2023

Can you test the APK in TeamNewPipe/NewPipeExtractor#1013?

@arctic-hen7
Copy link
Author

@Stypox I'm still getting that same content unavailable error with that APK, but now with the underlying error that "Consent is required in some countries to view Mix playlists".

@opusforlife2
Copy link
Collaborator

Fixed it for me, at least. "This playlist is unavailable" no more. Now it loads the Music Mix correctly.

@Stypox
Copy link
Member

Stypox commented Jan 19, 2023

@arctic-hen7 then you are in the EU or some other place where GDPR is enforced, and therefore YouTube requests a consent cookie to view mixes, which is not yet supported by NewPipe (but that's a separate issue). Thanks for reporting anyway!

@opusforlife2 great, thanks :-)

@ohemelaar
Copy link
Contributor

@Stypox Is there already an issue open for the consent cookie, and if so which one?

@Stypox
Copy link
Member

Stypox commented Jan 19, 2023

TeamNewPipe/NewPipeExtractor#876 and previously TeamNewPipe/NewPipeExtractor#820

@arctic-hen7
Copy link
Author

@Stypox I use a VPN that puts me in the EU, which would explain this. Thanks very much for the fix for mixes though! (I assume this should be left open until TeamNewPipe/NewPipeExtractor#1013 is merged.)

@pts
Copy link

pts commented Mar 12, 2023

@Stypox That's because of the cookie consent. If you don't consent to YouTube history cookies, mixes are not available.

How do I give consent? In th YouTube app, in the NewPipe app, or on the web? I've tried all settings in the NewPipe and YouTube apps, I've googled it, I haven't found anything useful. YouTube viewing history is already enabled for my account.

@AudricV
Copy link
Member

AudricV commented Mar 12, 2023

No YouTube cookie consent choice selection is implemented in the app yet. Please open a new issue about this if there is no one which already exists.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue is related to a bug youtube Service, https://www.youtube.com/
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants