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

Vladimir Voroshilov voroshil at gmail.com
Sun Mar 18 19:34:55 CET 2007


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.

I've attached draft (experimental) patch wich (more or less) works.
It is durty and hackish and just intended to show possible way.

mplayer.exe  -ac radlightape luckynight.ape

second patch shows required changes in win32.c to make above codec to crash
somewhere after reading file (without it codec even does not try to open
file). Unfortunately i don't know where it crashes (due to corrupted stack).
I know only that somewhere under Load.


and another one with same problem?
>
> http://www.rarewares.org/files/lossless/MonkeySource_v1.00_Installer.zip
>
> audiocodec monkeysaudio
>   info "blah"
>   status working
>   format 0x1
>   driver dshow
>   dll "MonkeySource.ax"
>   guid 0x66ea14e6, 0xe2b3, 0x433d, 0x92, 0x3e, 0xee, 0x40, 0x1c, 0xad,
> 0xbb, 0xd9
>
This is similar codec. Havn't seen it carefully yet, though.


-- 
Regards,
Vladimir Voroshilov     mailto:voroshil at gmail.com
JID: voroshil at jabber.ru
ICQ: 95587719
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ape_mingw.diff
Type: application/octet-stream
Size: 21213 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20070319/087e72c2/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ape_linux.diff
Type: application/octet-stream
Size: 4225 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20070319/087e72c2/attachment-0001.obj>


More information about the MPlayer-dev-eng mailing list