quartz: Call EnumMatchingFilters() once in autoplug().
Instead of iterating through types one by one and calling EnumMatchingFilters()
on each one, build a list of all media types exposed by the pin and call the
function once.
This avoids trying to pointless autoplug the same filter multiple times, which
speeds up autoplugging greatly for cases when a given filter connects less than
instantaneously. The most prominent example of such a filter is the AVI
decompressor, which has to call ICLocate() on connection. ICLocate() is not a
fast API on Wine, and it is even slower on Windows; this reduces the number of
times we try to call it greatly.
Showing
Please
register
or
sign in
to comment