Hi,
Recently , I encounted with a very confused question:
1. when I play video depend on directshow on WinCE6.0 with the application I wrote based on .net2.0 (as application A),the application is work OK, and there is nothing wrong with the application.
2. I run another application wrote still based on .net2.0(As application B), the application is ok still, and there is nothing wrong with the application .
3. application A and application B run together in different process, the two applications work correct, there is nothing wrong with them.
4. when I put the application A and application B in one process(as application C), put this two applications into two thread , if the video player thread not run , the application C will not crash, but when the video thread run together with B thread run ,the application C will always crash. and the error messages as follows:
Error
ClientReceiveForm.exe
NotSupportedException
at...........
---------------------------------------------------
above information is somehow one case of the error informations , and the error place is not common , this time error happens here ,another time error happens there,and the error message can't be followed by debug in application.
so I guess if the stack and heap have crashed ? if there is anyone has the same situation about this?
Hope for your reply
Liuyan from company NovaStar.
This Problem is track these days , and I build the NK.bin with debug mode, this problem appeared too. and the information I get from DNW is as follows:
Buffer underflow when the system load some dll files.
and I am really very confused that how this happened?
Did you change the default priority of your threads when writing application C? Do you have variables shared between both threads of application C? If so, do you have some sort of protection mechanism for concurrent access?
Adeneo Embedded Support teamContact us at sales@adeneo-embedded.com
apart from the message "Buffer underflow "captured when debug,there is another message printed on the DNW :
GDI Handles Grow from 863 to 896.....
this message just print after the Application crash.
I read from the literature <WinCE6_0fundanmental.pdf>, it says:The number of threads is not theoretically limited, but that number is limited by the number of available descriptors. so if my application has too many descriptors ? and how I can get the number of descriptors??
Best regards.
Liuyan From company NovaStar.
As this looks to be a .Net multi threaded application issue I would suggested looking at MSDN for any guides for related to Multi-threaded .Net application developement.
http://msdn.microsoft.com/en-us/library/aa446528.aspx
Hi,
I refered to the webpage as you metioned above,but , I can't get any message usefull about this problem. if there is something wrong with the Display Driver??
what is the meaning about the parameter of register in DSS?
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Preferences] "RenderMethod"=dword:2
[HKEY_LOCAL_MACHINE\Software\Microsoft\DirectX\DirectShow\VMR] "RenderingPrefs"=dword:8
; Bits per pixel setting for compositor backbuffers[HKEY_LOCAL_MACHINE\SYSTEM\GWE\Compositor] "OpaqueBufferBPP" = dword:18
[HKEY_LOCAL_MACHINE\SYSTEM\GWE] ; "PORepaint"=dword:0 - the display driver handles everything ; "PORepaint"=dword:1 - gwe should save and restore the bits ; "PORepaint"=dword:2 - gwe should invalidate and repaint ; "PORepaint"=dword:3 - gwe and driver need to save video memory ; "PORepaint"=dword:0
Hi ,
I tried the method as you suggested ,but the problem has no change. I tried another platform which the chip is S3C6410 ,and the OS serve I created is similar to the Platform I used now with TI AM3703, the only difference is that the BSP is different. but the Application runs well at S3C6410's platform .so this can means that ,this problem is caused by BSP ???
if any one has some opinions about this problem
thanks very much
best regards!