lists.zerezo.com



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MPlayer-dev-eng] [PATCH] Fixed-point WMA decoder adapted from ROckbox



Hello:

Attached is a patch for MPlayer which adds a fixed-point WMA decoder that I adapted from Rockbox. Rockbox's fixed-point WMA decoder was in turn adapted from the one in libavcodec, so it would seem that the best approach is to port the modifications from the Rockbox WMA decoder back to libavcodec. But I didn't want to break libavcodec. So instead, I turned the libwma library from ROckbox into a stand-alone library which can run outside of Rockbox, then added it to the MPlayer build system and wrote an audio decoder plug-in for libwma (based on ad_ffmpeg.c). The attached patch also includes some changes to etc/codecs.conf.

Once you apply the patch, you'll need to pass "--enable-libwma" to configure to enable this codec.

However, there's a problem: the codec's output isn't always correct. I've found that the codec works fine for relatively high bit-rate WMA files stored locally or streamed over HTTP. But I had problems with a couple of streams using the MMS protocol. For instance, if you play this stream:

mms://crista.streamguys.com/kcms

you'll hear frequent high-pitch noises. This doesn't happen with Windows Media Player. I don't know nearly enough about codecs, or fixed-point math for that matter, to debug this; I only knew enough to get the WMA decoder from ROckbox to work in MPlayer. So I would really appreciate it if someone would spend some time debugging this, or at least give me some hints on how to go about it myself.

Thanks,
Matt

Attachment: libwma.patch.gz
Description: application/gzip

_______________________________________________
MPlayer-dev-eng mailing list
MPlayer-dev-eng@xxxxxxxxxxxx
https://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng