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 1:40 PM

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

Flagbug wrote Jan 16, 2013 at 7: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