[vlc-devel] Re: Transcode stereo stream to mono AMR
herman at service2media.com
Wed Jan 24 09:29:00 CET 2007
Herman Meerlo wrote:
> I am trying to transcode a public stereo stream to mobile format using
> the AMR audio codec (and H.263 for video). This gives no problem if
> the input source is mono because AMR is mono as well. But when the
> input source is stereo (or more) then the transcode fails.
> The problem has been around for a long time and I was wondering
> whether there is a workaround for this? Can someone maybe explain what
> is going wrong so I can try to make a patch mysel. I would think that
> it can not be very hard to transcode the input to mono. Or am I
> missing something?
Because nobody seems to be able to help, I dove into the code myself. I
have read lots of the code and had many debug session to try to
understand how VLC internally works. I do not pretend to know the
internals now because that is impossible for such a complex project. But
my analysis had led me to believe there is a fundamental design problem
with running audio_filters while transcoding a stream (please correct me
if I am wrong!).
I ran into this problem while trying to use the mono plugin to change
the number of channels from 2 to 1 for the AMR codec. The problem lies
in the fact that the plugin requires knowledge on the physical channels
(i_physical_channels) during initialization of the plugin. But the
filter is initialized before any input sample has been decoded.
Therefore the channel configuration is not known yet. This causes the
mono filter to think that there are 0 channels, which will cause it to
divide by 0 => FPE (mono.c line 495)
So while transcoding a stream the entire chain is setup before anything
is known about the channel configurations which makes it impossible to
apply any audio filter. It will probably only work if the output of the
decoder and the input of the encoder have the same number of channels.
Can anyone comment on this?
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
More information about the vlc-devel