Skip to content

[YouTube] Support a new type of meta info#1445

Merged
TobiGr merged 2 commits intoTeamNewPipe:devfrom
Stypox:meta-info-fix
Jan 29, 2026
Merged

[YouTube] Support a new type of meta info#1445
TobiGr merged 2 commits intoTeamNewPipe:devfrom
Stypox:meta-info-fix

Conversation

@Stypox
Copy link
Copy Markdown
Member

@Stypox Stypox commented Jan 29, 2026

  • I carefully read the contribution guidelines and agree to them.
  • I have tested the API against NewPipe.
  • I agree to create a pull request for NewPipe as soon as possible to make it compatible with the changed API.

We got this report via email which I could reproduce:

Exception

  • User Action: requested stream
  • Request: Some info not extracted: https://www.youtube.com/watch?v=rCAS2eD-mcw
  • Content Country: SA
  • Content Language: ar-
  • App Language: en_GB
  • Service: YouTube
  • Timestamp: 2026-01-26T14:10:56.216+03:00
  • Package: org.schabi.newpipe
  • Service: YouTube
  • Version: 0.28.1
Crash log

org.schabi.newpipe.extractor.exceptions.ParsingException: Could not get metadata info link text.
 at org.schabi.newpipe.extractor.services.youtube.YoutubeMetaInfoHelper.getInfoPanelContent(YoutubeMetaInfoHelper.java:91)
 at org.schabi.newpipe.extractor.services.youtube.YoutubeMetaInfoHelper.getMetaInfo(YoutubeMetaInfoHelper.java:46)
 at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getMetaInfo(YoutubeStreamExtractor.java:1682)
 at org.schabi.newpipe.extractor.stream.StreamInfo.extractOptionalData(StreamInfo.java:319)
 at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:82)
 at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:72)
 at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$bVfA-5gb6gDc8jcAgcGWG5oH0FE(ExtractorHelper.java:118)
 at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda3.call(R8$$SyntheticClass:0)
 at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
 at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
 at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
 at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
 at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
 at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
 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:16149)
 at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
 at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
 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:80)
 at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:71)
 at java.util.concurrent.FutureTask.run(FutureTask.java:317)
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:348)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
 at java.lang.Thread.run(Thread.java:1119)


A new format for meta info has been added, and this PR adds support for it. Closes TeamNewPipe/NewPipe#10820, although the video in that issue does not have meta info anymore.

@ShareASmile ShareASmile added bug Issue or PR is related to a bug YouTube Service, https://www.youtube.com/ labels Jan 29, 2026
Copy link
Copy Markdown
Contributor

@TobiGr TobiGr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@TobiGr TobiGr merged commit 670828a into TeamNewPipe:dev Jan 29, 2026
2 of 4 checks passed
@Stypox Stypox deleted the meta-info-fix branch January 30, 2026 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Issue or PR is related to a bug YouTube Service, https://www.youtube.com/

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[YouTube] Could not get meta info link text on some videos

3 participants