[Wine] Re: Video call with QQ or any messenger

babykarma wineforum-user at winehq.org
Wed Jun 23 00:57:48 CDT 2010

According to msdn: 
"Video frames from a preview pin (as opposed to a capture pin) are not time stamped. Because of graph latency, a video frame that is stamped with the capture time will always arrive late at the video renderer. This may cause the renderer to drop frames, in an attempt at quality control."

"Quality control is a mechanism for adjusting the rate of data flow through the filter graph in response to run-time performance. If a renderer filter is receiving too much data or too little data, it can send a quality message. The quality message requests an adjustment in the data rate. By default, quality messages travel upstream from the renderer until they reach a filter that can respond (if any)."

I've cheked winedbg log, QQ's filter graph looks like:
vfw capture filter + QQ's own video render filter + ... + ddraw/d3d7 rendering. 
QQ did not use smarttee, preview pin, standard VideoRender or VideoRenderDefault or VideoMixingRender9(because QQ never query their id). Instead, I guess QQ write a video render filter by itself, and in QQ's render filter, it directly use ddraw/d3d7 surface to render, and maybe it does something similar to smarttee, to output to render/preview and encoding/network sending at the same time.

Since QQ did not use preview pin directly, at first I guess maybe 'not time stamped' is not correct, so I add some timestamp to capture output video frame, still no preview occurs, but result in continuous IQualityControl query, but even latest wine-1.2-rc4 has not implemented IQualityControl, so I guess, still something wrong in timestamp synchronisation, and QQ's video render want to use IQualityControl to fix it which wine doesn't support, so maybe every frame is dropped, this result in my black preview video window.

I read from wine docs/wiki, once before windows messenger (8.1?) worked fine in wine, I guess since Maarten Lankhorst has written qcap/vfwcapture, of course somebody has used wine for camera+preview+maybe encoding before, why it succeeded by then, but fail now?
Is there anything wrong for me?

Thanks a lot
Is there anyone can give me some advice?

More information about the wine-users mailing list