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