From 7753cc5bca11a99d7fea0b7c51208091a0db8ae6 Mon Sep 17 00:00:00 2001 From: IndusAryan Date: Sun, 10 Dec 2023 01:05:11 +0530 Subject: [PATCH] more unstable annotations --- .../cloudstream3/ui/player/CustomSubtitleDecoderFactory.kt | 3 +++ .../lagradost/cloudstream3/ui/player/CustomTextRenderer.kt | 2 ++ .../cloudstream3/ui/player/NonFinalTextRenderer.java | 6 +++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/player/CustomSubtitleDecoderFactory.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/player/CustomSubtitleDecoderFactory.kt index b830d4e0..20d093a6 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/player/CustomSubtitleDecoderFactory.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/player/CustomSubtitleDecoderFactory.kt @@ -5,6 +5,7 @@ import android.util.Log import androidx.preference.PreferenceManager import androidx.media3.common.Format import androidx.media3.common.MimeTypes +import androidx.media3.common.util.UnstableApi import androidx.media3.exoplayer.text.ExoplayerCuesDecoder import androidx.media3.exoplayer.text.SubtitleDecoderFactory import androidx.media3.extractor.text.SubtitleDecoder @@ -30,6 +31,7 @@ import java.nio.charset.Charset * @param fallbackFormat used to create a decoder based on mimetype if the subtitle string is not * enough to identify the subtitle format. **/ +@UnstableApi class CustomDecoder(private val fallbackFormat: Format?) : SubtitleDecoder { companion object { fun updateForcedEncoding(context: Context) { @@ -260,6 +262,7 @@ class CustomDecoder(private val fallbackFormat: Format?) : SubtitleDecoder { } /** See https://github.com/google/ExoPlayer/blob/release-v2/library/core/src/main/java/com/google/android/exoplayer2/text/SubtitleDecoderFactory.java */ +@UnstableApi class CustomSubtitleDecoderFactory : SubtitleDecoderFactory { override fun supportsFormat(format: Format): Boolean { // return SubtitleDecoderFactory.DEFAULT.supportsFormat(format) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/player/CustomTextRenderer.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/player/CustomTextRenderer.kt index 514aaeab..d6b0735d 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/player/CustomTextRenderer.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/player/CustomTextRenderer.kt @@ -1,9 +1,11 @@ package com.lagradost.cloudstream3.ui.player import android.os.Looper +import androidx.media3.common.util.UnstableApi import androidx.media3.exoplayer.text.SubtitleDecoderFactory import androidx.media3.exoplayer.text.TextOutput +@UnstableApi class CustomTextRenderer( offset: Long, output: TextOutput?, diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/player/NonFinalTextRenderer.java b/app/src/main/java/com/lagradost/cloudstream3/ui/player/NonFinalTextRenderer.java index b5ecfe8f..3482f21c 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/player/NonFinalTextRenderer.java +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/player/NonFinalTextRenderer.java @@ -27,6 +27,7 @@ import android.os.Looper; import android.os.Message; import androidx.annotation.IntDef; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Format; @@ -34,6 +35,7 @@ import androidx.media3.common.text.Cue; import androidx.media3.common.text.CueGroup; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.Log; +import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.exoplayer.BaseRenderer; import androidx.media3.exoplayer.FormatHolder; @@ -64,6 +66,7 @@ import java.util.stream.Collectors; * obtained from a {@link SubtitleDecoderFactory}. The actual rendering of the subtitle {@link Cue}s * is delegated to a {@link TextOutput}. */ +@UnstableApi public class NonFinalTextRenderer extends BaseRenderer implements Callback { private static final String TAG = "TextRenderer"; @@ -163,13 +166,14 @@ public class NonFinalTextRenderer extends BaseRenderer implements Callback { finalStreamEndPositionUs = C.TIME_UNSET; } + @NonNull @Override public String getName() { return TAG; } @Override - public @Capabilities int supportsFormat(Format format) { + public @Capabilities int supportsFormat(@NonNull Format format) { if (decoderFactory.supportsFormat(format)) { return RendererCapabilities.create( format.cryptoType == C.CRYPTO_TYPE_NONE ? C.FORMAT_HANDLED : C.FORMAT_UNSUPPORTED_DRM);