[vlc-devel] [question] I got a strange error: Video playing cannot stop, when drag file to video window

田小马 tianxiaoma at hisense.com
Wed Jan 20 04:28:20 CET 2010


I develop a ActiveX for Windows system, which use libvlc.dll and other core files(Version 1.0.3). This ActiveX control works well in Desktop Applications(Thin client), as well as in Internet Explore(HTML page).

I  found a effective way to DEBUG VLC (such as libvlc.dll,plugins), and fix some bugs(such as "Multiple VLC Instances cann't open same RTSP source at the same time", "").

But I got a strange error now: When I drag a file to ActiveX, the "WM_DROPFILES" message is post to parent window. Parent window is set as a dialog window. The dialog window process "WM_DROPFILES" message, close the current video and open the new file.

When I drag a file to window at the first time, there's no error. But when I drag again, one error occured: the application got in a dead loop, the UI have no react.

I debug this bug, and found that "Vout Envent Thread" cann't stop, so I cann't stop video. The end of logger is this:
----------------------------------------
vout_directx debug: DirectXCloseSurface
vout_directx debug: DirectXCloseDisplay
vout_directx debug: DirectXCloseDisplay clipper
vout_directx debug: DirectXCloseDisplay display
vout_directx debug: DirectXCloseDDraw
----------------------------------------
The correct logger shoud be this:
----------------------------------------
vout_directx debug: DirectXCloseSurface
vout_directx debug: DirectXCloseDisplay
vout_directx debug: DirectXCloseDisplay clipper
vout_directx debug: DirectXCloseDisplay display
vout_directx debug: DirectXCloseDDraw
main debug: thread times: real 2m23.734375s, kernel 0m0.000000s, user 0m0.000000s
main debug: removing module "vout_directx"
main debug: removing module "blend"
main debug: thread times: real 0m0.015625s, kernel 0m0.000000s, user 0m0.015625s
main debug: removing module "freetype"
main debug: removing module "yuvp"
main debug: removing module "swscale"
main debug: Filter 'marq' (0xf577a54) removed from chain
main debug: removing module "marq"
main debug: Filter 'logo' (0xf457c04) removed from chain
main debug: removing module "logo"
----------------------------------------

The dead loop of "Vout Envent Thread" is  in GetMessage:

 while( vlc_object_alive (p_event) && GetMessage( &msg, 0, 0, 0 ) )

Does anybody know about this?  Can you help me? Thank you for your attention, firstly. 





田小马
2010-01-20
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20100120/92c3a8a0/attachment.html>


More information about the vlc-devel mailing list