Page 1 of 1

audio filter problem

Posted: 22 Apr 2008 09:33
by yfwong
I am trying to save an mp3 audio stream to a file. The module libfixed32tos16_plugin.so is present at the plugin path, but vlc cannot find a suitable audio filter for fi32->s16l. Is it a bug in that module?

This is the option I used:
:sout=#transcode{acodec=mpga,ab=128,channels=2}:duplicate{dst=std{access=file,mux=raw,dst="/tmp/out.mpga"}}

Thanks.

Code: Select all

[00000730] main demuxer error: no id3 module matched "any" [00000730] main demuxer debug: using demux2 module "mpga" [00000732] main packetizer debug: looking for packetizer module: 45 candidates [00000732] main packetizer debug: using packetizer module "mpeg_audio" [00000719] main input debug: stream out mode -> no decoder thread [00000719] main input debug: starting in asynch mode [00000719] main input debug: meta information: [00000719] main input debug: - 'Title' = 'S K Y . F M - Mostly Classical - Listen and Relax, it's good for you! www.sky.fm' [00000719] main input debug: - 'Genre' = 'classical easy symphonic' [00000719] main input debug: `http://scfire-ntc-aa02.stream.aol.com:80/stream/1006' successfully opened [00000732] mpeg_audio packetizer debug: MPGA channels:2 samplerate:44100 bitrate:96 [00000720] main stream output debug: adding a new input [00000721] stream_out_transcode private debug: creating audio transcoding from fcc=`mpga' to fcc=`mpga' [00000733] main decoder debug: looking for decoder module: 58 candidates [00000733] main decoder debug: using decoder module "mpeg_audio" [00000734] main encoder debug: looking for encoder module: 10 candidates [00000734] ffmpeg encoder debug: libavcodec initialized (interface 3349504 ) [00000734] ffmpeg encoder debug: found encoder MPEG Audio layer 1/2 [00000734] main encoder debug: using encoder module "ffmpeg" [00000735] main private debug: looking for audio filter2 module: 9 candidates [00000735] mpgatofixed32 private debug: mpga->fi32, bits per sample: 0 [00000735] main private debug: using audio filter2 module "mpgatofixed32" [00000736] main private debug: looking for audio filter2 module: 9 candidates [00000721] stream_out_transcode private error: no audio filter found (fi32->s16l) [00000733] main decoder debug: removing module "mpeg_audio" [00000734] main encoder debug: removing module "ffmpeg" [00000735] main private debug: removing module "mpgatofixed32" [00000721] stream_out_transcode private error: cannot create audio chain [00000732] main packetizer error: cannot create packetizer output (mpga)

Re: audio filter problem

Posted: 26 Jul 2008 02:26
by Thilo.Gebers
Hey yfwong, hey guys ...

I got the same error when I was trying to stream a .avi file (xvid 1.03 / mp3 44100Hz 116kbit/s VBR):

Code: Select all

status change: ( audio volume: 256 ) status change: ( play state: 1 ) [00000281] stream_out_transcode private error: no audio filter found (fi32->s16l) [00000281] stream_out_transcode private error: cannot create audio chain [00000323] main packetizer error: cannot create packetizer output (mpga)
Do I (resp. yfwong and I) need a libfixed32tos16l_plugin.so or what is the reason for that damn (sry) problem?

Somebody out there who can help me (us ;) ) ??
Thx a lot guys ...

libfixed32tos16l_plugin.so Re: audio filter problem

Posted: 10 Dec 2008 23:44
by www.rzr.online.fr
Do I (resp. yfwong and I) need a libfixed32tos16l_plugin.so or what is the reason for that damn (sry) problem?
.
Hi, I think I have the same issue on debian armel , should this libfixed32tos16l_plugin.so be built too ?
--
http://rzr.online.fr/q/vlc

Re: audio filter problem

Posted: 27 Mar 2009 22:32
by debinc
Hi, I encountered similar problem and solved it.

First, module capability"audio filter" and "audio filter2" is different. If you use command "vlc --list" to list all the modules, even if you find modue "fi32->s16l" is there, it is "audio filter", that is used by audio output (playing the audio to sound card). When you encode/transcode, vlc will look for fi32->s16l from "audio filter2" candidates. fi32->s16l does not surport audio filter2 capability.

Second, I think this problem only happens at ARM cpu (or others), like my situation. A Intel PC will NOT have this problem. Why? Because Intel PC has FPU while ARM does not. PC uses fl32->s16l. vlc encoder will look at module " audio_format" for fl32->s16l and it is there. However, "audio_format" does not support fi32->s16l and this is why we have the problem.

I fixed the problem by modify vlc in audio_format module, that is file modules/audio_filter/format.c, to add fi32->s16 support. I guess the reason why vlc team does not discover or fix this problem is because only a CPU without FPU (floating point unit) has this problem. Another way to fix the problem is to let VLC fake to know that there is a FPU. CPU like ARM does have FPU emulation, so the change is that when vlc runs bootstrap, force it to think the CPU capability has FPU.