diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackViewModel.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackViewModel.kt index a8670100..cc0866b3 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackViewModel.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackViewModel.kt @@ -1209,13 +1209,16 @@ private fun applyTrackSelections( val embeddedSubtitleCount = source.embeddedSubtitleCount val externalSubtitleCount = source.externalSubtitlesCount + val paramsBuilder = player.trackSelectionParameters.buildUpon() + val tracks = player.currentTracks.groups + val subtitleSelected = if (subtitleIndex != null && subtitleIndex >= 0) { val subtitleIsExternal = source.findExternalSubtitle(subtitleIndex) != null if (subtitleIsExternal || supportsDirectPlay) { val chosenTrack = if (subtitleIsExternal && playerBackend == PlayerBackend.EXO_PLAYER) { - player.currentTracks.groups.firstOrNull { group -> + tracks.firstOrNull { group -> group.type == C.TRACK_TYPE_TEXT && group.isSupported && (0.. group.type == C.TRACK_TYPE_TEXT && group.isSupported && (0.. + tracks.firstOrNull { group -> group.type == C.TRACK_TYPE_AUDIO && group.isSupported && (0.. { + if (DEBUG) Timber.v("Subtitles: $value") + val cues = listOf(Cue.Builder().setText(value).build()) + // TODO need to deal with presentation time? + val cueGroup = CueGroup(cues, 10.seconds.inWholeMicroseconds) + notifyListeners(EVENT_CUES) { onCues(cueGroup) } + } + } } override fun eventProperty(