From 1aed133a67bb304dffdb0ee590478ec1e04b5313 Mon Sep 17 00:00:00 2001 From: Alex Kim Date: Tue, 19 Nov 2024 13:35:33 +1100 Subject: [PATCH] Fixed not direct playing --- app/(auth)/player/player.tsx | 2 +- .../main/java/expo/modules/vlcplayer/VlcPlayerView.kt | 11 +++++++++-- utils/profiles/native.js | 3 +++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/(auth)/player/player.tsx b/app/(auth)/player/player.tsx index 8b1e9847..406cca06 100644 --- a/app/(auth)/player/player.tsx +++ b/app/(auth)/player/player.tsx @@ -119,7 +119,7 @@ export default function page() { maxStreamingBitrate: bitrateValue, mediaSourceId: mediaSourceId, subtitleStreamIndex: subtitleIndex, - deviceProfile: Platform.OS === "android" ? android : native, + deviceProfile: native, }); if (!res) return null; diff --git a/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerView.kt b/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerView.kt index 8b25d0c8..8f6d8f06 100644 --- a/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerView.kt +++ b/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerView.kt @@ -148,10 +148,17 @@ class VlcPlayerView(context: Context, appContext: AppContext) : ExpoView(context mediaPlayer?.addSlave(IMedia.Slave.Type.Subtitle, Uri.parse(subtitleURL), true) } - - // Kotlin has its own garbage collector. override fun onDetachedFromWindow() { println("onDetachedFromWindow") + super.onDetachedFromWindow() + mediaPlayer?.stop() + + media?.release() + mediaPlayer?.release() + libVLC?.release() + mediaPlayer = null + media = null + libVLC = null } override fun onEvent(event: MediaPlayer.Event) { diff --git a/utils/profiles/native.js b/utils/profiles/native.js index 4d030936..cf9a9402 100644 --- a/utils/profiles/native.js +++ b/utils/profiles/native.js @@ -91,6 +91,9 @@ export default { { Format: "pgs", Method: "Embed" }, { Format: "pgs", Method: "External" }, { Format: "pgs", Method: "Encode" }, + { Format: "pgssub", Method: "Embed" }, + { Format: "pgssub", Method: "External" }, + { Format: "pgssub", Method: "Encode" }, { Format: "dvdsub", Method: "Embed" }, { Format: "dvdsub", Method: "External" }, { Format: "dvdsub", Method: "Encode" },