[MPlayer-dev-eng] Re: monkeyaudio dshow codec

Rich Felker dalias at aerifal.cx
Sun Mar 18 19:48:29 CET 2007


On Mon, Mar 19, 2007 at 12:34:55AM +0600, Vladimir Voroshilov wrote:
> Hi, All.
> 
> Here is my reply to Compn's private mail.
> I post it here, because somebody, perhaphs, can give me some clever ideas.
> 
> 
> 2007/3/14, Patriot ACT <patriotact at gmail.com>:
> >
> >currently mplayer has no demuxer/decoder for ape...
> >i dont think its important
> >just bored :)
> >
> >
> >http://samples.mplayerhq.hu/A-codecs/lossless/luckynight.ape
> >
> >radlight one which in graphedit requires a file to graph, i think it
> >doesnt have input pin? i wonder if this can be emulated around to use
> >mplayer as input?
> >
> >http://www.rarewares.org/files/lossless/RadLightAPE.exe
> >
> >audiocodec radlightape
> >  info "blah"
> >  status working
> >  format 0x1
> >  driver dshow
> >  dll "RLAPEDec.ax"
> >  guid 0x41faf0f4, 0xdcec, 0x4f6a, 0x82, 0xd2, 0x56, 0xe1, 0x00, 0xf2,
> >0xa8, 0xe5
> 
> Well.
> Good news:
> 1. Under MinGW i can hear sound from provided sample file with mplayer.
> That's all :)
> 
> Bad News:
> 1. Under Linux it requires MSVCR71.dll (or it's emulation in win32.c)
> 2. Even with (1) mplayer crashes under Linux (something wrong in WINAPI
> emulation, i guess)
> 3. Decoder starts decoding exact after IBaseFilter::Start is called and does
> not stop till source file end riched.
> 4.Due to (3) input mplayer data is totally ignored (codec reads file by
> itself). So timestamps is broken.
> 5. (3) also requires large ringbuffer to store data.
> 6. playing filename is required for codec.
> 
> i hope, 3-6 can be solved if i move 1-pin dshow filter wrapper from decoding
> stage to stream level and connect such stream to rawaudio demuxer.
> Large buffer, perhaps, can be solved with call to IBasefilter::Pause in
> proper places, but this requires more investigations, though.

IMO hacks like this are not welcome. Decoding in the stream or demuxer
stage is not acceptable. Aren't there public specs (or non-free source
someone could read) available for monkey audio? If so, a proper
decoder should be written and added to ffmpeg, rather than throwing in
more and more evil hacks for the sake of using binary decoders (which
should be seen as deprecated).

Rich



More information about the MPlayer-dev-eng mailing list