From 5e25a5054f64bb5db0a317b40f31f5bf68b85ab3 Mon Sep 17 00:00:00 2001 From: Kelvin Date: Tue, 10 Jun 2025 17:33:14 +0200 Subject: [PATCH] Increase max comment length, Fix raw dash downloads ending too early, Fix playback tracker not working for downloaded videos --- .../platformplayer/downloads/VideoDownload.kt | 2 +- .../mainactivity/main/VideoDetailView.kt | 28 ++++++++++++++++++- app/src/main/res/layout/list_comment.xml | 2 +- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/downloads/VideoDownload.kt b/app/src/main/java/com/futo/platformplayer/downloads/VideoDownload.kt index f5cf534a..c0d9d0bf 100644 --- a/app/src/main/java/com/futo/platformplayer/downloads/VideoDownload.kt +++ b/app/src/main/java/com/futo/platformplayer/downloads/VideoDownload.kt @@ -724,7 +724,7 @@ class VideoDownload { val t = cue.groupValues[1]; val d = cue.groupValues[2]; - val url = foundTemplateUrl.replace("\$Number\$", indexCounter.toString()); + val url = foundTemplateUrl.replace("\$Number\$", (indexCounter + 1).toString()); val data = if(executor != null) executor.executeRequest("GET", url, null, mapOf()); diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt index 45ccf042..fc24c707 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt @@ -1399,8 +1399,8 @@ class VideoDetailView : ConstraintLayout { onVideoChanged.emit(0, 0) } + val me = this; if (video is JSVideoDetails) { - val me = this; fragment.lifecycleScope.launch(Dispatchers.IO) { try { //TODO: Implement video.getContentChapters() @@ -1457,6 +1457,32 @@ class VideoDetailView : ConstraintLayout { } }; } + else { + fragment.lifecycleScope.launch(Dispatchers.IO) { + try { + if (!StateApp.instance.privateMode) { + val stopwatch = com.futo.platformplayer.debug.Stopwatch() + var tracker = video.getPlaybackTracker() + Logger.i(TAG, "video.getPlaybackTracker took ${stopwatch.elapsedMs}ms") + + if (tracker == null) { + stopwatch.reset() + tracker = StatePlatform.instance.getPlaybackTracker(video.url); + Logger.i( + TAG, + "StatePlatform.instance.getPlaybackTracker took ${stopwatch.elapsedMs}ms" + ) + } + + if (me.video == video) + me._playbackTracker = tracker; + } else if (me.video == video) + me._playbackTracker = null; + } catch (ex: Throwable) { + Logger.e(TAG, "Playback tracker failed", ex); + } + } + } val ref = Models.referenceFromBuffer(video.url.toByteArray()) val extraBytesRef = video.id.value?.let { if (it.isNotEmpty()) it.toByteArray() else null } diff --git a/app/src/main/res/layout/list_comment.xml b/app/src/main/res/layout/list_comment.xml index 91a1d0a9..b39af456 100644 --- a/app/src/main/res/layout/list_comment.xml +++ b/app/src/main/res/layout/list_comment.xml @@ -80,7 +80,7 @@ android:isScrollContainer="false" android:textColor="#CCCCCC" android:textSize="13sp" - android:maxLines="100" + android:maxLines="150" app:layout_constraintTop_toBottomOf="@id/text_metadata" app:layout_constraintLeft_toRightOf="@id/image_thumbnail" app:layout_constraintRight_toRightOf="parent"