[Bug 14161] quartz regressions - crash in PullPin_Thread_Process & more

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Jul 4 17:29:58 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=14161





--- Comment #13 from Alexander Dorofeyev <alexd4 at inbox.lv>  2008-07-04 17:29:57 ---
I've found out that the problems with Render/RenderFile patch come from the
fact that it always calls EnumMatchingFilters with bRender=TRUE on first pass
(because !final is TRUE). This prevents EnumMatchingFilters from returning
Indeo video decompressor filter (since it's not a renderer) at the point when
it should be connecting this filter to Avi Splitter's video pin. So Render
cycles through some filters, none of which of course accepts IV50, then it gets
to "LG Video Renderer" filter that has been returned from EnumMatchingFilters
because it has major type Video and subtype NULL and is a renderer. Render
tries to establish connection with LG Video Renderer, which crashes, probably
because this is something unexpected for the app.

Not sure what exactly is wrong there. It may be wrong that a filter with
MERIT_UNLIKELY - "LG Video Renderer" - was used instead of filter with
MERIT_NORMAL - "Indeo video decompressor". It may also make sense to look for a
more "perfect" match first, to avoid the kind of situation when it tries to
connect MEDIATYPE_Video / IV50 pin to MEDIATYPE_Video / NULL pin of a renderer.
 Maarten, what do you think? I of course realize that ideally instead of
guessing this should be tested, but I don't know how... writing and registering
a simple  filter implementation for tests is, perhaps, doable, but then it
would need a com server dll afaik.


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list