Troubleshooting Tips
FMJ and JMF classpath warnings
Cannot find a DataSource for: civil ...
WARNING: net.sf.fmj not found in PackageManager.getContentPrefixList() and PackageManager.getProtocolPrefixList();
is JMF ahead of FMJ in the classpath?
WARNING: javax.media.Manager is JMF's implementation, not FMJ's; is JMF ahead of FMJ in the classpath?
One very common problem is to have JMF ahead of FMJ in the classpath. If this is the case, then
you will be using the JMF registry, in which case nothing from FMJ will be registered. The
FMJ applications will generally work (that is, you'll be able to open and play media, etc.), but anything
that requires FMJ will not work. The FMJ apps will output a warning to the logger (which generally
goes to the console) if this is the case.
To aid with troubleshooting, it is recommended that you change your logging.properties (in the root
directory of FMJ bundle) to use debug-level logging. To do so, change fmj.level=INFO to fmj.level=FINE.
java.lang.UnsatisfiedLinkError (jdshow)
WARNING: java.lang.UnsatisfiedLinkError: [...]\jdshow.dll: Can't find dependent libraries
jawt.dll probably is not in your PATH. See platform-specific notes for Windows.
java.lang.UnsatisfiedLinkError (JNA)
Note : you will only get this error for the first JNA-based plugin that is loaded,
the other ones will fail with a different exception, which by default does not get logged.
java.lang.UnsatisfiedLinkError: /tmp/jna44845.so: /lib64/tls/libc.so.6: version `GLIBC_2.4' not
found (required by /tmp/jna44845.so)
This is because JNA was built on a newer system than yours. You'll have to build JNA from scratch.
We are currently using the jnalib-v3 branch of JNA :
svn checkout https://jna.dev.java.net/svn/jna/branches/jnalib-v3 jna --username yourjavanetusername
net.sf.jdshow.ComException on Windows
On Windows, when trying to play media :
net.sf.jdshow.ComException: hr=-2146697203
This is a Windows error pertaining to the URL or path specified.
In particular, Windows is pickier than FMJ about slashes in the URL. For example, the following URL does
not work with Windows (when DirectShow is being used for the playback): file:///F:\safexmas.mov.
However, if you remove one forward slash from the URL - file://F:\safexmas.mov - it will work,
assuming everything else is correct.
Problems with jdshow on Windows
To disable jdshow, you can either remove jdshow.dll from your library path,
or you can remove this code from RegistryDefaults.java :
contentPrefixList.add("net.sf.fmj.ds");
Or you can run the registry tool, remove net.sf.fmj.ds from the content prefix list, and then
run FMJ studio. This stores your registry settings in a file .fmj.registry.xml.
The danger of doing this is that this will now override any future changes to RegistryDefaults,
so you might want to delete that file, if RegistryDefaults is changed in CVS.
|