From c4e5cb9c14e1a1241e31cb21aa7e51a3a85b9e67 Mon Sep 17 00:00:00 2001 From: Lance Chant <13349722+lancechant@users.noreply.github.com> Date: Sat, 4 Jul 2026 12:50:18 +0200 Subject: [PATCH] Addressing pr comments Signed-off-by: Lance Chant <13349722+lancechant@users.noreply.github.com> --- .../expo/modules/exoplayerplayer/ExoPlayerView.kt | 11 +++++++---- modules/exoplayer-player/src/ExoPlayerView.tsx | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/exoplayer-player/android/src/main/java/expo/modules/exoplayerplayer/ExoPlayerView.kt b/modules/exoplayer-player/android/src/main/java/expo/modules/exoplayerplayer/ExoPlayerView.kt index deae7c00..35a53f0b 100644 --- a/modules/exoplayer-player/android/src/main/java/expo/modules/exoplayerplayer/ExoPlayerView.kt +++ b/modules/exoplayer-player/android/src/main/java/expo/modules/exoplayerplayer/ExoPlayerView.kt @@ -582,13 +582,16 @@ class ExoPlayerView(context: Context, appContext: AppContext) : ExpoView(context p.prepare() if (wasPlaying) p.play() - // If text tracks were disabled (e.g. disableSubtitles was called - // earlier, or playback started with subtitles off), the new - // subtitle — even with SELECTION_FLAG_DEFAULT — won't render. - // Re-enable the text track type when the caller asks us to select. + // Re-enabling text tracks alone isn't enough: a prior text override + // (e.g. left in place by disableSubtitles, or set by setSubtitleTrack + // before this add) survives the MediaItem rebuild and, since embedded + // subtitle groups persist across it, would win over the new sub's + // SELECTION_FLAG_DEFAULT. Clear any text override so the new default + // sub is the one that renders. if (select) { val params = p.trackSelectionParameters.buildUpon() .setTrackTypeDisabled(C.TRACK_TYPE_TEXT, false) + .clearOverridesOfType(C.TRACK_TYPE_TEXT) .build() p.trackSelectionParameters = params } diff --git a/modules/exoplayer-player/src/ExoPlayerView.tsx b/modules/exoplayer-player/src/ExoPlayerView.tsx index 2fd19333..c034e220 100644 --- a/modules/exoplayer-player/src/ExoPlayerView.tsx +++ b/modules/exoplayer-player/src/ExoPlayerView.tsx @@ -5,7 +5,7 @@ import { useImperativeHandle, useRef } from "react"; import type { MpvPlayerViewProps, MpvPlayerViewRef, -} from "../../mpv-player/src/MpvPlayer.types"; +} from "@/modules/mpv-player"; const NativeView: React.ComponentType = requireNativeView("ExoPlayer");