Ryan Allen(deleted)
|
Re: Couldn't Load audio_writer DLL
|
Ryan Allen(deleted)
06/21/2010 2:11 PM
post57326
|
Re: Couldn't Load audio_writer DLL
I wonder if maybe audio_writer is having some trouble finding a shared
library that is required. You can try starting io-media with the
environment variable DL_DEBUG set. ie, from the shell:
DL_DEBUG=1 io-media-generic
Here's the list of shared libraries that it should require:
$ ntoarm-readelf -d
./lib/mmedia/filters/writers/audio_writer/nto/arm/dll.le/audio_writer.so
Dynamic section at offset 0x6020 contains 23 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libasound.so.2]
0x00000001 (NEEDED) Shared library: [libmmfilter.so.1]
0x00000001 (NEEDED) Shared library: [libaoi.so.1]
0x00000001 (NEEDED) Shared library: [libmmedia.so.1]
0x00000001 (NEEDED) Shared library: [libc.so.3]
0x0000000e (SONAME) Library soname: [audio_writer.so]
--
Ryan J. Allen
QNX Software Systems
|
|
|
Wojtek Lerch
|
Re: Couldn't Load audio_writer DLL
|
Wojtek Lerch
06/21/2010 11:00 PM
post57376
|
Re: Couldn't Load audio_writer DLL
Hi Lakshmi,
Here are a few simple things I recommend trying when it seems that a filter can't be loaded or doesn't work:
* Run pidin mem. It will tell you whether the filter DLL is successfully loaded or not. Make sure that the keepdlls
option in your configuration file is set to "all" -- otherwise it may be normal for some filters to be absent from the
output of pidin mem even if io-media has no trouble loading them:
keepdlls = "all"
* Find or add a "keepdll" element in the config file that mentions the filter. Make sure that the filter is not listed
as optional -- this way if io-media fails to load it at startup, it will complain and exit:
keepdll {
name = "audio_writer"
}
* Run io-media with stderr pointing to somewhere readable like a file or a terminal. Some error messages go to stderr
even if you don't use the -S option. This includes the dynamic linker's complaints about missing symbols or libraries.
* If it turns out that the DLL indeed fails to load, try exporting an environmant variable named DL_DEBUG before you run
io-media. This will produce detailed information about all the shared objects that it's trying to load, and about any
failures. This information also goes to stderr.
DL_DEBUG=1 io-media-generic ...
* If it turns out that the filter does load but seems to reject inputs that you beileve it should accept, run io-media
with two -D options. That will make it send more detailed debug information to the system log (or to stderr, if you
also use the -S option).
In the particular case of audio_writer, it's possible that it fails to load because you don't have the requred version
of libasound. There is a patch that contains an updated libasound, and any recent audio_writer will not work without
that patch unless you have QNX 6.5.
I hope this helps -- if not, you know where to find me. :)
|
|
|