1
Vote

What could cause a "InvalidParameter calling acmStreamClose" MmException?

description

Some of my users are randomly getting a "InvalidParameter calling acmStreamClose"

Sad thing, I can't reproduce this on my machine and I have no hardware information about the users machine.

Here is the stacktrace:
at NAudio.Wave.Compression.AcmStream.Dispose(Boolean disposing)
at NAudio.Wave.AcmMp3FrameDecompressor.Dispose()
at NAudio.Wave.Mp3FileReader.Dispose(Boolean disposing)
at System.IO.Stream.Close()
at System.IO.Stream.Dispose()
at NAudio.Wave.WaveChannel32.Dispose(Boolean disposing)
at System.IO.Stream.Close()
at System.IO.Stream.Dispose()
at Espera.Core.Audio.LocalAudioPlayer.Dispose()

You can find the source code of the class here:
https://github.com/flagbug/Espera/blob/master/Espera/Espera.Core/Audio/LocalAudioPlayer.cs

Since I have no hardware information, nor information on what files this exception occurs, do you have any idea what goes wrong here?

Cheers,
Dennis

comments

markheath wrote Jan 16, 2013 at 12:40 PM

that's strange. Any chance the MP3 file reader could get disposed twice?

Flagbug wrote Jan 16, 2013 at 6:21 PM

Unlikely, but I will add additional checks to be sure.
If my users get this exception in the next version of my software, I'll report back.

Cheers,
Dennis