VLC ActiveX and Windows IMM/IME/CTFMON.exe
Posted: 23 Apr 2009 18:09
Hello VLC Gurus,
I am trying to integrate the VLC (currently using 0.9.9 build, also happened with previous version) into a Visual Studio 2008 .NET WinForm app (potentially Silverlight in the future) and am experiencing crashes when trying to stop/quit/unload the players. I've narrowed the issue down to something to do with the Windows IMM (Input Method Manager), IME (Input Method Editors) and CTFMON.exe.
The scenario:
1) Load application
2) App loads 1-x axVLC controls to play/stream video from different sources.
3) User can click buttons to enable/disable each player - blue screen of death occurs randomly when trying to STOP and send quit command to player
4) User can click X to exit the entire application - blue screen of death occurs when trying to STOP and send quit command to each active player
Initially I had taken some cues from other posts in the forums about it being something related to timing/threading, so I had some Thread.Sleep() calls in key locations. This reduced the occurrences of the BSOD, but did not completely resolve the issue.
Further research into the MINIDUMP pointed us to this link: http://connect.microsoft.com/VisualStud ... kID=405521
Further reseach led me to the Control Panel -> Regional and Language Settings where you can turn off "advanced text services". Turning this off and rebooting resolved the BSOD issue.
Even more research led me to the [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IMM] registry key. Disabling the IMMLoad (set it to 0) and rebooting resolves the issue. It does not matter if CTFMON.exe is left running or not.
My question to the VLC population is what interaction does VLC have with all of this? Does it hook into the alternative input functions somehow? (Asian, Kanji, etc.) Has anyone else experienced something like this?
As a final note, the issue only happens when VLC actually connects to and plays a source video. If I'm on a closed network that can't access the input streams then the BSOD will never happen. As soon as one player connects and I try to shut it down the BSOD happens.
Any input/suggestions appreciated.
Thanks.
Daniel
I am trying to integrate the VLC (currently using 0.9.9 build, also happened with previous version) into a Visual Studio 2008 .NET WinForm app (potentially Silverlight in the future) and am experiencing crashes when trying to stop/quit/unload the players. I've narrowed the issue down to something to do with the Windows IMM (Input Method Manager), IME (Input Method Editors) and CTFMON.exe.
The scenario:
1) Load application
2) App loads 1-x axVLC controls to play/stream video from different sources.
3) User can click buttons to enable/disable each player - blue screen of death occurs randomly when trying to STOP and send quit command to player
4) User can click X to exit the entire application - blue screen of death occurs when trying to STOP and send quit command to each active player
Initially I had taken some cues from other posts in the forums about it being something related to timing/threading, so I had some Thread.Sleep() calls in key locations. This reduced the occurrences of the BSOD, but did not completely resolve the issue.
Further research into the MINIDUMP pointed us to this link: http://connect.microsoft.com/VisualStud ... kID=405521
Further reseach led me to the Control Panel -> Regional and Language Settings where you can turn off "advanced text services". Turning this off and rebooting resolved the BSOD issue.
Even more research led me to the [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IMM] registry key. Disabling the IMMLoad (set it to 0) and rebooting resolves the issue. It does not matter if CTFMON.exe is left running or not.
My question to the VLC population is what interaction does VLC have with all of this? Does it hook into the alternative input functions somehow? (Asian, Kanji, etc.) Has anyone else experienced something like this?
As a final note, the issue only happens when VLC actually connects to and plays a source video. If I'm on a closed network that can't access the input streams then the BSOD will never happen. As soon as one player connects and I try to shut it down the BSOD happens.
Any input/suggestions appreciated.
Thanks.
Daniel