[Android] Fix Android auto title flickering
Nicolas Pomepuy
git at videolan.org
Wed Oct 6 08:07:22 UTC 2021
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Wed Oct 6 10:03:00 2021 +0200| [13b8de3703203a84873a380494f5dc0e7fd234a6] | committer: Nicolas Pomepuy
Fix Android auto title flickering
Restrict the metadata update to streams as it's the only
media type that can change its meta during playback
> https://code.videolan.org/videolan/vlc-android/commit/13b8de3703203a84873a380494f5dc0e7fd234a6
---
application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt | 4 ++--
1 file changed, 2 insertions(+), 2 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 91a783368..700a972b4 100644
--- a/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
+++ b/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
@@ -883,7 +883,7 @@ class PlaylistManager(val service: PlaybackService) : MediaWrapperList.EventList
newMedia = false
if (player.hasRenderer || !player.isVideoPlaying()) showAudioPlayer.value = true
savePlaycount(mw)
- if ((mw.title != player.mediaplayer.media?.getMeta(IMedia.Meta.Title, true) || mw.artist != player.mediaplayer.media?.getMeta(IMedia.Meta.Artist, true))) {
+ if (mw.type == MediaWrapper.TYPE_STREAM && (mw.title != player.mediaplayer.media?.getMeta(IMedia.Meta.Title, true) || mw.artist != player.mediaplayer.media?.getMeta(IMedia.Meta.Artist, true))) {
// used for initial metadata update. We avoid the metadata load when the initial MediaPlayer.Event.ESSelected is sent to avoid race conditions
refreshTrackMeta(mw)
}
@@ -926,7 +926,7 @@ class PlaylistManager(val service: PlaybackService) : MediaWrapperList.EventList
MediaPlayer.Event.ESSelected -> {
getCurrentMedia()?.let { media ->
if (player.isPlaying()) {
- if ((media.title != player.mediaplayer.media?.getMeta(IMedia.Meta.Title, true) || media.artist != player.mediaplayer.media?.getMeta(IMedia.Meta.Artist, true))) {
+ if (media.type == MediaWrapper.TYPE_STREAM && (media.title != player.mediaplayer.media?.getMeta(IMedia.Meta.Title, true) || media.artist != player.mediaplayer.media?.getMeta(IMedia.Meta.Artist, true))) {
refreshTrackMeta(media)
}
}
More information about the Android
mailing list