From 4e9a480fdd4beaaa17a65e00bff258b8a26c483d Mon Sep 17 00:00:00 2001 From: Stypox Date: Wed, 17 Sep 2025 12:23:37 +0200 Subject: [PATCH 1/2] Enforce using SAF on FireOS TVs with Android 10+ Even if SAF is bugged there, there is no other way to open a file dialog, since NewPipe does not have permissions, see #10643 --- .../org/schabi/newpipe/settings/NewPipeSettings.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java b/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java index 0a5512c69..7cb1564b3 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java +++ b/app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java @@ -103,12 +103,12 @@ public final class NewPipeSettings { } public static boolean useStorageAccessFramework(final Context context) { - // There's a FireOS bug which prevents SAF open/close dialogs from being confirmed with a - // remote (see #6455). - if (DeviceUtils.isFireTv()) { - return false; - } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { return true; + } else if (DeviceUtils.isFireTv()) { + // There's a FireOS bug which prevents SAF open/close dialogs from being confirmed with + // a remote (see #6455). + return false; } final String key = context.getString(R.string.storage_use_saf); From 980e8f3951c4f166f1596639502a995a574dd01a Mon Sep 17 00:00:00 2001 From: TransZAllen Date: Mon, 29 Sep 2025 14:04:46 +0800 Subject: [PATCH 2/2] [YouTube] *.srt numbering start at 1 instead of 0. (issue: https://github.com/TeamNewPipe/NewPipe/issues/12670) - The SubRip (.srt) specification requires subtitle numbering to begin from 1. - Please refer to https://en.wikipedia.org/wiki/SubRip - Previously numbering started from 0, which is accepted by most players (tested on mpv, VLC, MPlayer, Totem) but not strictly compliant. --- .../org/schabi/newpipe/streams/SrtFromTtmlWriter.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java b/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java index 7aff655a0..1ec78ba21 100644 --- a/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java +++ b/app/src/main/java/org/schabi/newpipe/streams/SrtFromTtmlWriter.java @@ -24,7 +24,11 @@ public class SrtFromTtmlWriter { private final boolean ignoreEmptyFrames; private final Charset charset = StandardCharsets.UTF_8; - private int frameIndex = 0; + // According to the SubRip (.srt) specification, subtitle + // numbering must start from 1. + // Some players accept 0 or even negative indices, + // but to ensure compliance we start at 1. + private int frameIndex = 1; public SrtFromTtmlWriter(final SharpStream out, final boolean ignoreEmptyFrames) { this.out = out; @@ -39,7 +43,8 @@ public class SrtFromTtmlWriter { private void writeFrame(final String begin, final String end, final StringBuilder text) throws IOException { - writeString(String.valueOf(frameIndex++)); + writeString(String.valueOf(frameIndex)); + frameIndex += 1; writeString(NEW_LINE); writeString(begin); writeString(" --> ");