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" },