Dear all programmers,

My setup is: 
 * last avifile from CVS
 * SuSE 9.1 patched up-to-date
 * g++ (GCC) 3.3.3 (SuSE Linux)
 * qt3-3.3.3-24
 * I've run ./configure --with-win32-path=/usr/local/lib/win32

 Avifile have problems finding codecs files from
/usr/local/lib/avifile-07

-----------------------------------------------------------------
<LDT keeper> : Installed fs segment: 0x422e7000
<codec keeper> : Found 11 plugins (/usr/local/lib/avifile-0.7,A:40,V:89)
<codec keeper> : WARNING: plugin /usr/local/lib/avifile-0.7/xvid4.so is in 
incompatible format
<codec keeper> : WARNING: plugin /usr/local/lib/avifile-0.7/divx4.so is in 
incompatible format
<codec keeper> : WARNING: plugin /usr/local/lib/avifile-0.7/ffmpeg.so is in 
incompatible format
<codec keeper> : WARNING: plugin /usr/local/lib/avifile-0.7/ffmpeg.so is in 
incompatible format
<codec keeper> : WARNING: plugin /usr/local/lib/avifile-0.7/win32.so is in 
incompatible format
<codec keeper> : WARNING: plugin /usr/local/lib/avifile-0.7/win32.so is in 
incompatible format
<codec keeper> : WARNING: plugin /usr/local/lib/avifile-0.7/win32.so is in 
incompatible format
[...]
-----------------------------------------------------------------

 The problem is signaled in lib/codeckeeper.cpp:

-----------------------------------------------------------------
        char plgn[100];
        strcpy(plgn, "avm_codec_plugin_");
        char* x = strrchr(name, '/');
        strncat(plgn, x + 1, 50);
        x = strchr(plgn, '.');
        *x = 0;
        codec_plugin_t* plugin = (codec_plugin_t*) dlsym(pi->dlhandle, plgn);

        if (!plugin || (plugin->version != PLUGIN_API_VERSION))
        {
            if (plugin)
                AVM_WRITE("codec keeper", "WARNING: plugin %s has version %d, 
expected %d (should be removed)\n",
                          name, plugin->version, PLUGIN_API_VERSION);
            else
                AVM_WRITE("codec keeper", "WARNING: plugin %s is in 
incompatible format\n",
                          name);
            plugin_close(ci);
            return 0;
        }
-----------------------------------------------------------------

 This is because the "avm_codec_plugin_*" symbols are not in that codec shared 
objects!
Why??? It's discarded?


For example in plugins/libwin32/libwin32.cpp it's defined:

-----------------------------------------------------------------
extern "C" const avm::codec_plugin_t avm_codec_plugin_win32 =
{
    PLUGIN_API_VERSION,

    0,
    0, 0,
    avm::win32_GetAttrInt,
    avm::win32_SetAttrInt,
    0, 0,

    avm::win32_FillPlugins,
    avm::win32_CreateAudioDecoder,
    0,
    avm::win32_CreateVideoDecoder,
    avm::win32_CreateVideoEncoder,
};
-----------------------------------------------------------------

 But in the compiled "win32.so" is not present!?!

 Can some C++ gurus programmers tell me how it's posible?


kind regards,
-- 
Claudiu Costin, [EMAIL PROTECTED]
Linux-KDE Romania http://www.ro.kde.org

_______________________________________________
Avifile mailing list
[email protected]
http://prak.org/mailman/listinfo/avifile

Reply via email to