Dr. Cameron Smith saw this one because virtual-dub is before other
loaders in order. The work-around for this is simply to remove the
virtualdub.dll, which will cause a standard java exception - which in turn
causes a different decoder to be used. Anyway, a good solution would be
to monitor for the situation:
Before using a decoder, set a variable that says what decoder you are
using on what file in the user preferences-space. Associate it with a
'failure' atom. This space is logged, and any commited change will load
when the program starts again.
If the decoder fails, remove the statement. Otherwise, associate a
'success' atom with it.
When you are trying to load a file, do not use decoders that are marked
as 'failure' atom for the given media URI. (A more aggressive move would
be to alter the decoder load order, or disable the decoder in a
preferences panel.)