Skip to content
Snippets Groups Projects
Commit ca4d4bc4 authored by Nicolas Pomepuy's avatar Nicolas Pomepuy
Browse files

Fix subtitle track save and restore

Fixes #1532
parent 6b55256a
No related branches found
No related tags found
1 merge request!789Fix subtitle track save and restore
Pipeline #37327 passed with stage
in 3 minutes and 53 seconds
......@@ -1224,6 +1224,7 @@ open class VideoPlayerActivity : AppCompatActivity(), PlaybackService.Callback,
addNextTrack = false
} else if (spuTrack != 0 || currentSpuTrack != -2) {
service.setSpuTrack(if (media.id == 0L) currentSpuTrack else spuTrack)
lastSpuTrack = -2
}
}
}
......@@ -1529,13 +1530,6 @@ open class VideoPlayerActivity : AppCompatActivity(), PlaybackService.Callback,
optionsDelegate?.hide()
}
@WorkerThread
fun setSpuTrack(trackID: Int) {
runOnMainThread(Runnable { service?.setSpuTrack(trackID) })
val mw = medialibrary.findMedia(service?.currentMediaWrapper) ?: return
if (mw.id != 0L) mw.setLongMeta(MediaWrapper.META_SUBTITLE_TRACK, trackID.toLong())
}
private fun showNavMenu() {
if (menuIdx >= 0) service?.titleIdx = menuIdx
}
......
......@@ -31,6 +31,7 @@ import android.content.Intent
import android.content.pm.ActivityInfo
import android.content.res.Configuration
import android.os.Build
import android.util.Log
import android.view.View
import android.view.WindowManager
import android.view.animation.AnimationUtils
......@@ -58,9 +59,7 @@ import org.videolan.medialibrary.interfaces.media.MediaWrapper
import org.videolan.medialibrary.media.MediaWrapperImpl
import org.videolan.resources.AndroidDevices
import org.videolan.tools.*
import org.videolan.vlc.PlaybackService
import org.videolan.vlc.R
import org.videolan.vlc.RendererDelegate
import org.videolan.vlc.*
import org.videolan.vlc.databinding.PlayerHudBinding
import org.videolan.vlc.databinding.PlayerHudRightBinding
import org.videolan.vlc.gui.audio.PlaylistAdapter
......@@ -72,7 +71,6 @@ import org.videolan.vlc.gui.helpers.SwipeDragItemTouchHelperCallback
import org.videolan.vlc.gui.helpers.UiTools
import org.videolan.vlc.gui.helpers.UiTools.showVideoTrack
import org.videolan.vlc.gui.view.PlayerProgress
import org.videolan.vlc.manageAbRepeatStep
import org.videolan.vlc.media.MediaUtils
import org.videolan.vlc.util.FileUtils
import org.videolan.vlc.viewmodels.PlaylistModel
......@@ -143,7 +141,15 @@ class VideoPlayerOverlayDelegate (private val player: VideoPlayerActivity) {
})
}
}
VideoTracksDialog.TrackType.SPU -> player.service?.setSpuTrack(trackID)
VideoTracksDialog.TrackType.SPU -> {
player.service?.let { service ->
service.setSpuTrack(trackID)
runIO(Runnable {
val mw = player.medialibrary.findMedia(service.currentMediaWrapper)
if (mw != null && mw.id != 0L) mw.setLongMeta(MediaWrapper.META_SUBTITLE_TRACK, trackID.toLong())
})
}
}
VideoTracksDialog.TrackType.VIDEO -> {
player.service?.let { service ->
player.seek(service.time)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment