Open digimezzo opened 6 years ago
Ok, this is obviously caused because I'm using WasapiOut, which calls the DmoResampler(...) constructor in SetupWaveFormat(...). The DmoResampler constructor in turn calls WMResampler constructor which tries to access a COM interface which is not available on that edition of Windows.
Apparently, DirectsoundOut plays sound fine on such crippled edition of Windows.
Sorry for the late response. Was injured ... Yes, you're right. The DmoResampler is used the resample the audio stream to the target samplerate. It would be an option to use a native c# resampler which is currently not supported. Do you have any troubles with it?
Hi @filoe, no problem. I hope you are well now. I was trying to make my audio player compatible with Windows editions which don't have the Media Feature Pack installed, the so called N Editions (mostly because users don't know they have such edition, and assume that my player is broken). I assumed that FFmpegDecoder would allow audio playback on such editions. However, when combined with WasapiOut, I bump into the DmoResampler usage. When combined with DirectSoundOut, it works on Windows N Editions. So that's a nice workaround. I use DIrectSoundOut as fallback mechanism when Media Foundation is not found.
I'm using CSCore.FFMpeg (CSCore version 1.2.1.2) to play audio in Dopamine. A user notified inability to playback mp3's on Windows 10 Enterprise N 2016 LTSB (which is a Windows 10 edition without Media Foundation). I expected CSCore.FFMpeg to play mp3's fine, as it is not using MediaFoundation decoder. Please correct me if I'm wrong. Is CSCore.FFMpeg supposed to be able to play audio without Media Foundation or not? (This is more a question than a bug report)
This is the stack trace when trying to play a mp3 file, using FFMpegDecoder on Windows 10 Enterprise N 2016 LTSB: