From 9fee0ec4ca0c5b7a334cc29dbb58e76c7a4c736e Mon Sep 17 00:00:00 2001 From: Michiel Van Der Kolk Date: Mon, 11 Jul 2005 15:42:37 +0000 Subject: Songdb java version, source. only 1.5 compatible git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7101 a1c6a512-1295-4272-9138-f99709370657 --- songdbj/org/tritonus/lowlevel/ogg/Ogg.java | 104 +++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 songdbj/org/tritonus/lowlevel/ogg/Ogg.java (limited to 'songdbj/org/tritonus/lowlevel/ogg/Ogg.java') diff --git a/songdbj/org/tritonus/lowlevel/ogg/Ogg.java b/songdbj/org/tritonus/lowlevel/ogg/Ogg.java new file mode 100644 index 0000000000..1ad6bde789 --- /dev/null +++ b/songdbj/org/tritonus/lowlevel/ogg/Ogg.java @@ -0,0 +1,104 @@ +/* + * Ogg.java + * + * This file is part of Tritonus: http://www.tritonus.org/ + */ + +/* + * Copyright (c) 2000 - 2001 by Matthias Pfisterer + * + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Library General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +/* +|<--- this code is formatted to fit into 80 columns --->| +*/ + +package org.tritonus.lowlevel.ogg; + +import org.tritonus.share.TDebug; + + +/** libogg loading. + */ +public class Ogg +{ + private static boolean sm_bIsLibraryAvailable = false; + + + + static + { + Ogg.loadNativeLibrary(); + } + + + + public static void loadNativeLibrary() + { + if (TDebug.TraceOggNative) { TDebug.out("Ogg.loadNativeLibrary(): begin"); } + + if (! isLibraryAvailable()) + { + loadNativeLibraryImpl(); + } + if (TDebug.TraceOggNative) { TDebug.out("Ogg.loadNativeLibrary(): end"); } + } + + + + /** Load the native library for ogg vorbis. + + This method actually does the loading of the library. Unlike + {@link loadNativeLibrary() loadNativeLibrary()}, it does not + check if the library is already loaded. + + */ + private static void loadNativeLibraryImpl() + { + if (TDebug.TraceOggNative) { TDebug.out("Ogg.loadNativeLibraryImpl(): loading native library tritonusvorbis"); } + try + { + System.loadLibrary("tritonusvorbis"); + // only reached if no exception occures + sm_bIsLibraryAvailable = true; + } + catch (Error e) + { + if (TDebug.TraceOggNative || + TDebug.TraceAllExceptions) + { + TDebug.out(e); + } + // throw e; + } + if (TDebug.TraceOggNative) { TDebug.out("Ogg.loadNativeLibraryImpl(): loaded"); } + } + + + + /** Returns whether the libraries are installed correctly. + */ + public static boolean isLibraryAvailable() + { + return sm_bIsLibraryAvailable; + } +} + + + +/*** Ogg.java ***/ -- cgit v1.2.3