01: /*
02: *
03: * Copyright (c) 2000 Silvere Martin-Michiellot All Rights Reserved.
04: *
05: * Silvere Martin-Michiellot grants you ("Licensee") a non-exclusive,
06: * royalty free, license to use, modify and redistribute this
07: * software in source and binary code form,
08: * provided that i) this copyright notice and license appear on all copies of
09: * the software; and ii) Licensee does not utilize the software in a manner
10: * which is disparaging to Silvere Martin-Michiellot.
11: *
12: * This software is provided "AS IS," without a warranty of any kind. ALL
13: * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
14: * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
15: * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. Silvere Martin-Michiellot
16: * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES
17: * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
18: * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL
19: * Silvere Martin-Michiellot OR ITS LICENSORS BE LIABLE
20: * FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
21: * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
22: * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
23: * OR INABILITY TO USE SOFTWARE, EVEN IF Silvere Martin-Michiellot HAS BEEN
24: * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
25: *
26: * This software is not designed or intended for use in on-line control of
27: * aircraft, air traffic, aircraft navigation or aircraft communications; or in
28: * the design, construction, operation or maintenance of any nuclear
29: * facility. Licensee represents and warrants that it will not use or
30: * redistribute the Software for such purposes.
31: *
32: * @Author: Silvere Martin-Michiellot
33: *
34: */
35:
36: package com.db.media.diagnostics;
37:
38: // This code is repackaged after the code from the JMF samples
39: // Site http://java.sun.com/
40: // Email
41:
42: import com.sun.media.JMFSecurityManager;
43: import javax.media.Manager;
44:
45: /**
46: * Check for version JMF 2.0.
47: */
48: public class QueryJMF20 implements QueryJMF {
49:
50: static {
51:
52: try {
53: Class.forName("javax.media.Codec");
54: } catch (Throwable throwable) {
55: throw new RuntimeException("Not JMF 2.0");
56: }
57:
58: }
59:
60: public QueryJMF20() {
61: }
62:
63: public String getVersion() {
64:
65: return Manager.getVersion();
66:
67: }
68:
69: public String getDetails() {
70:
71: String string = "";
72: try {
73: Class.forName("com.sun.media.renderer.video.XILRenderer");
74: string = new StringBuffer(String.valueOf(string)).append(
75: "Solaris Build\n").toString();
76: } catch (Throwable throwable2) {
77: try {
78: Class.forName("com.sun.media.protocol.vfw.DataSource");
79: string = new StringBuffer(String.valueOf(string))
80: .append("Win32 Build\n").toString();
81: } catch (Throwable throwable1) {
82: string = new StringBuffer(String.valueOf(string))
83: .append("All Java Build\n").toString();
84: }
85: }
86: try {
87: JMFSecurityManager.loadLibrary("jmutil");
88: string = new StringBuffer(String.valueOf(string)).append(
89: QueryJMF.NATIVE).toString();
90: } catch (UnsatisfiedLinkError e) {
91: string = new StringBuffer(String.valueOf(string)).append(
92: QueryJMF.NONATIVE).toString();
93: }
94:
95: return string;
96:
97: }
98:
99: }
|