fix(exoplayer): apply subtitle sync to ASS subtitles

close #936
This commit is contained in:
edde746
2026-05-03 11:13:35 +02:00
parent 060926b749
commit c7b023222c
@@ -555,7 +555,8 @@ class ExoPlayerCore(private val activity: Activity) : Player.Listener {
exoPlayer!!.addListener(this)
exoPlayer!!.addAnalyticsListener(decoderHangListener)
exoPlayer!!.setVideoFrameMetadataListener { presentationTimeUs, releaseTimeNs, _, _ ->
assSubtitleSurfaceView?.requestRender(presentationTimeUs, releaseTimeNs)
// ASS bypasses Media3's text renderer, so apply sub-delay before libass renders.
assSubtitleSurfaceView?.requestRender(presentationTimeUs - subtitleDelayUs.get(), releaseTimeNs)
val count = fpsTimestampCount
if (count < FPS_SAMPLE_COUNT) {
fpsTimestamps[count] = presentationTimeUs