[Android] Play as audio: fix next reopening video player

Duncan McNamara git at videolan.org
Wed May 21 07:29:49 UTC 2025


vlc-android | branch: master | Duncan McNamara <dcn.mcnamara at gmail.com> | Mon May 19 18:11:08 2025 +0200| [e6e81659e197c7fae4e8c24a7a1bc147edb1b7fb] | committer: Nicolas Pomepuy

Play as audio: fix next reopening video player

Flags are not applied to the media in mediaList but to the media from
medialibrary, once out of playIndex, it doesn't have any flags anymore.
When changing media, it triggers a doUpdate in the audio player that
triggers a switchToVideo, if the media can switch to video and doesn't
have the MEDIA_FORCE_AUDIO flag, it switches back to video

This applies time from medialibrary to media from mediaList.

This fixes a regression introduced with
ea39df7bb705507c41dd081732588335878142ba
and follow up 50402c904b40b73e2200fc08fe99832f1e7483fa

> https://code.videolan.org/videolan/vlc-android/commit/e6e81659e197c7fae4e8c24a7a1bc147edb1b7fb
---

 .../vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt     | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt b/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
index 18d8dbf4cd..af9f914e08 100644
--- a/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
+++ b/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
@@ -482,9 +482,11 @@ class PlaylistManager(val service: PlaybackService) : MediaWrapperList.EventList
             0
         }
 
-        val media = mediaList.getMedia(index) ?: return
-        val mw = medialibrary.getMedia(media.uri) ?: media
-        mw.flags = media.flags
+        val mw = mediaList.getMedia(index) ?: return
+        val mediaFromMl = medialibrary.getMedia(mw.uri)
+        if (mediaFromMl != null)
+            mw.time = mediaFromMl.time
+
         val isInCustomPiP: Boolean = service.isInPiPMode.value ?: false
         if (mw.type == MediaWrapper.TYPE_VIDEO && !isAppStarted() && !isInCustomPiP) videoBackground = true
         val isVideoPlaying = mw.type == MediaWrapper.TYPE_VIDEO && player.isVideoPlaying()



More information about the Android mailing list