Flac Codecs

The registration of the MF FLAC was done correctly (to be on safe side i placed the dll to system32), but for wmp12 is flac still an unknown format and it can't play flac at all. I've tried flacs encoded with different encoders without a luck.
It seems strange, because in topoedit the decoder is correcly automatically pinned to the pipeline between source and renderer and also playback is without problem.
W7 x32, no plugins activated. It looks like a bug or it must be done something more for full installation (registration) of your decoder to be accesible for MF media apps.
 
Last edited:

My Computer

OS
Windows 7 Ultimate 32bit
To Jaro

You may have disabled MF playback in WMP by some wise "codec packs". Verify, that your windows is not hacked.
 

My Computer

OS
Windows 7 Ultimate x64
Neither codecs i've installed on my system, which also isn't hacked. I've tested mfflac also on other W7 x32 systems, with same results/symptoms, that means it was registered (now safely installed), in Topoedit it appeared in the chain (the playback is also flawless), but for wmp12/wmc is flac still unknown (there appears a pop up failure window about unknown codec or damaged file).
If i've understant it correctly you've tested it on w7 x64 system for 32/64bit wmp12 versions, if you'll have that possibility, please test it also for pure x32 systems.
Sorry, but i really don't see the problem in my system. It could have anything to do with mfpmp.exe, permissions or i don't know what else.
Anyway, this project was a brilliant idea from you, many thanks for your hard work. Btw. has the decoder any cpu optimizations? what compiler did you apply, MSVC2010?
 

My Computer

OS
Windows 7 Ultimate 32bit
To Jaro

You're right, I haven't tried it on pure x86 system, but I've verified it on WMP 32-bit on x64. It's hard to get hands on 32-bit system here, but today I'll try it.
 

My Computer

OS
Windows 7 Ultimate x64
To Jaro

Verified on Windows 7 32-bit, with and without SP, starter and ultimate, on two computers and works very good in each and every aspect. If Topedit works, then WMP must or there is a problem with the OS installation. The two programs use the same pipeline.
 

My Computer

OS
Windows 7 Ultimate x64
Ok, thanks for testing. I'll try it yet, but its hard believable for me, that it could be something wrong on my site (but is always possible, of course).
Update: problem verified on my side, but must find out, what it is. The codec is flawless.

I think your decoder will have huge success because its the only third-party lossless audio decoder for MF till now. It'll be good to know as much people as possible about this project, i've mentioned it in HA forum in one flac for W7 thread, hope this helps a little also.
But you didn't answer the question about cpu optimizations, are there any? Did you use libflac library (what is the source of that decoder)?
Will there be a possibility to rip CDs with WMP12 directly to flac format? I suppose this isn't implemented (take this comment please only as a tip or wish"feature" for future versions, because i don't know if this is even possible).
Thanks again for your hard work.
 
Last edited:

My Computer

OS
Windows 7 Ultimate 32bit
So my wmp12 started playing back flac, therefore I could test it. I don't know if there isn't another way to implement decoders in MF pipeline (i'm not a programmer), but in the case of this flac its strange.
The problem is, mflac.dll has its own thread with limited priority, so the playback isn't glitch free when there is higher system load. This doesn't happen with other MF decoders (firstly they hasn't their own thread) or wma dmo decoder.
If this could be addressed somehow in the future, it'd be much more usable. Under normal load this is probably unnoticeable though, but if there is a better way...
 

My Computer

OS
Windows 7 Ultimate 32bit
To Jaro

The decoder is synchronous, the source isn't. The glitches are not because of additional thread. WMP12 also has a thread (pipeline), that starves when some heavy program loads. Almost all media stutters in that case. Simply, my media source outputs very tiny samples (exactly one FLAC frame), that can be as small as 40ms, so there is almost no buffered media, and WMP12 sample pull is not smart enough to compensate for that. But I don't consider it as a problem, because a computer is almost never under heavy load.

It was made in VS2010 of course. The latest official sources were used. No assembly optimization, though, because it doesn't work for x64. The optimization is not needed, because the codec is very fast, the CPU load is always zero.

The media source could be implemented synchronously, but it would not eliminate stuttering (only larger samples will). The reason is that I'm only warming up - my main goal is MF source for Matroska, which, of course, must be asynchronous!
 

My Computer

OS
Windows 7 Ultimate x64
Ok, thanks for explanation. I don't orientate myself much in details, only the separate decoder thread with highest value of dynamic priority (15) i've found as a problem a little, because this doesn't guarantee such degree of stuttering protection as with e.g. wmal playback (but really only under heavy load).
However, your claim about heavy system load is highly subjective and dependend from many factors.
Decoding (not 100% sure) and rendering threads, if correctly registered with mmcss, have dynamic priority value above 20.
 

My Computer

OS
Windows 7 Ultimate 32bit
Ok, thanks for testing. I'll try it yet, but its hard believable for me, that it could be something wrong on my site (but is always possible, of course).
Update: problem verified on my side, but must find out, what it is. The codec is flawless.

Hey,

I just created an account on this site because I'm doing the same thing as you, and I've been facing the same difficulties getting WMP to play the FLAC file...even though TopoEdit seems to indicate the pathway works just fine.

What did you do in order to get WMP12 to start playing the FLAC files fine? I'm at my wit's end here. :mad:
 

My Computer

OS
Windows 7 Ultimate (32-bit) SP1
mfFLAC stuttering improved

The sample size changed to 3 sec. No stuttering is detected on my computer even when VS2010 loads! Also registered with MF as "Audio" background task. I don't like to play around with thread priority - things can easily get messed. Besides, thread priority is relative to the process, and WMP process is normal, of course.
 

My Computer

OS
Windows 7 Ultimate x64
Back
Top