PDA

View Full Version : Problems in converting .mp3 to wav


David1105
13th April 2007, 01:41
The following graph is used to convert .mp3 to .wav file:

Source (.mp3, E436EBB5-524F-11CE-9F53-0020AF0BA770) -> MPEG-I Stream Splitter -> ACM Wrapper -> Wav Dest -> File Writer (.wav)

Three problem found:

1. The resultant .wav file is "chopped", for example, the original .mp3 has a 2-min play duration but the encoded .wav has only 26-second duration. This happens on almost all the machine we tested so far. Several different players reported the "shrinking."

2. On one machine, the graph generated in our app is like the above, but without "MPEG-I Stream Splitter" inserted in the graph. We tried manually add the splitter filter into the graph and it failed to connect Source filter to the Splitter filter, or the latter to ACM Wrapper. There isn't such problem on other machines.

3. StdErr spits: "QTAudioDeviceContextCreate: AudioContextInitialize failed."

BTW, I checked the version of quartz.dll, they're all the same on all PCs.

Thanks!

gameplaya15143
13th April 2007, 03:19
Try using a directshow mp3 decoder instead of the acmwrapper.

ffdshow
or
l3codecx.ax (fhg decoder v1.9 if you can find it)

That is an odd problem though. Which mp3 acm decoder do you have? mpg123 (with lame acm) or fhg l3codecX.acm (X=a or p)

David1105
13th April 2007, 19:58
It's due to a third-party filter overridding the default File Source Async filter for .MP3 file.

I tried to manually tweak the merit values for both filters, it didn't fix the problem. Just wondering besides the merit values, what else is controlling by DirectShow to decide which source filter to pick for .mp3 file in my case?

setarip_old
13th April 2007, 20:13
Can't you "Disable" the third party filter?

David1105
13th April 2007, 20:36
No. That's not an option since it has been used.