My filter works strange: when connected to graph, where source filter reads avi movie, it its fine, when connected to graph, where source filter reads wmv movie, wmv decoder runs to much processor time - I get 7 frames per seconds.
My filter uses ARGB32 data format, displays data using direct3d.
Why do I get 7 frames per second, when displaying with wmv movies?
There is an exception as showed my profiler:
CPU Time Module Function (Full)
BaseThreadInitThunk<-RtlInitializeExceptionChain<-RtlInitializeExceptionChain 12.131s qasf.dll DllCanUnloadNow
CPU Time Module Function (Full)
BaseThreadInitThunk<-RtlInitializeExceptionChain<-RtlInitializeExceptionChain 6.393s wmvdecod.dll DllGetClassObject
(Update)
It is actual.
Have you ever faced wmvdecod.dll (WMVideo Decoder DMO fiter) problems?
Now I have Source Filter (Sync.) conected to upgraded WMDemux filter.
I got 16-22 frames per second.
The reason may be Source Filter (Sync.) or WMVideo Decoder DMO fiter.
It appears only when other our effects filter is in graph.
I have excluded WMVideo Decoder DMO fiter from graph using ffdshow_rev3631_20101115_clsid. Now it works fine.