From b9f9ae2b3405873cec1b39d969c7920439e4c2cf Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Mon, 9 Nov 2015 08:07:00 +0000 Subject: [PATCH] * maybe fix libmediainfo library loading issues --- source/net/filebot/mediainfo/MediaInfo.java | 14 -------------- source/net/filebot/mediainfo/MediaInfoLibrary.java | 5 +++++ 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/source/net/filebot/mediainfo/MediaInfo.java b/source/net/filebot/mediainfo/MediaInfo.java index 99e94bdd..5053a2ff 100644 --- a/source/net/filebot/mediainfo/MediaInfo.java +++ b/source/net/filebot/mediainfo/MediaInfo.java @@ -13,26 +13,12 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import com.sun.jna.NativeLibrary; import com.sun.jna.Platform; import com.sun.jna.Pointer; import com.sun.jna.WString; public class MediaInfo implements Closeable { - static { - try { - // libmediainfo for linux depends on libzen - if (Platform.isLinux()) { - // We need to load dependencies first, because we know where our native libs are (e.g. Java Web Start Cache). - // If we do not, the system will look for dependencies, but only in the library path. - NativeLibrary.getInstance("zen"); - } - } catch (Throwable e) { - // Logger.getLogger(MediaInfo.class.getName()).log(Level.WARNING, "Failed to load libzen"); - } - } - private Pointer handle; public MediaInfo() { diff --git a/source/net/filebot/mediainfo/MediaInfoLibrary.java b/source/net/filebot/mediainfo/MediaInfoLibrary.java index a33accbd..fd236808 100644 --- a/source/net/filebot/mediainfo/MediaInfoLibrary.java +++ b/source/net/filebot/mediainfo/MediaInfoLibrary.java @@ -8,11 +8,16 @@ import com.sun.jna.FunctionMapper; import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.NativeLibrary; +import com.sun.jna.Platform; import com.sun.jna.Pointer; import com.sun.jna.WString; interface MediaInfoLibrary extends Library { + // libmediainfo for linux depends on libzen, so we need to load dependencies first, because we know where our native libs are (e.g. Java Web Start Cache). + // if we do not, the system will look for dependencies, but only in the library path + Library LIB_ZEN = Platform.isLinux() ? (Library) Native.loadLibrary("zen", Library.class) : null; + MediaInfoLibrary INSTANCE = (MediaInfoLibrary) Native.loadLibrary("mediainfo", MediaInfoLibrary.class, singletonMap(OPTION_FUNCTION_MAPPER, new FunctionMapper() { @Override