locked
MSS2 Screen Encoder9 WMVSENCD.DLL Memory Leak RRS feed

  • Question

  • I am using the Screen Encoder DMO (dated 10/18/2006) in a directshow app (filter graph). I am monitoring the app with Visual Studio debugger and Task Manager. If the encoder does compression on a single thread everything is fine. However when the encoder decides to go multithreaded (based on screen complexity) it steadily leaks memory. Is there any way to fix or work around this?  For example is there a way (e.g. via registry or codec complexity setting) to prevent the Encoder from ever using multiple threads? (Tried the FORCE NUM THREADS setting but it turns out that only applies to WMV3 - not to MSS2). Note memory is NOT freed when FG and DMO is deleted/released - the only way to recover the memory is to exit the app.

    Note that I can turn the leak (and the multithreading) on and off in a very repeatable way by sizing and positioning an empty NOTEPAD doc in various ways on the desktop.

    No replies so far - let me ask this - has anyone used this codec in a similar way (i.e. a continuous basis) and verified that it does NOT leak memory? Just wondering...

    Thursday, September 16, 2010 3:18 PM

Answers

  • We are in a conservative industry (process automation) and our custommers typically use 32 bit XP although they are gradually moving to windows 7. I have not tested a 64 bit version yet. I tried the Complexity setting and it didnt affect multithreading. Also checked with support and found this product is 'retired' or whatever the term is. You cant open a case for it. In the mean time we found and licenced an alternative encoder called ScreenPressor from infognition that seems to work very well (and does not leak memory).
    Al Chisholm
    Wednesday, April 27, 2011 5:03 PM

All replies

  • What version of Windows are you running?  I am not aware of any memory leak bugs in the screen decoder, but I usually use it in Media Foundation and only on Windows 7 or later.  I could fish around in the bug database to see if there is a bug and workaround if I know which version of Windows to look for. 

    I do not believe there is a way to turn of multithreading in the screen decoder.  The MFPKEY_COMPLEXITYEX property is supported by the screen decoder and would reduce the encode complexity, but I do not see anywhere that it actually turns off multithreaded mode.

    Tuesday, October 5, 2010 5:49 PM
  • We are in a conservative industry (process automation) and our custommers typically use 32 bit XP although they are gradually moving to windows 7. I have not tested a 64 bit version yet. I tried the Complexity setting and it didnt affect multithreading. Also checked with support and found this product is 'retired' or whatever the term is. You cant open a case for it. In the mean time we found and licenced an alternative encoder called ScreenPressor from infognition that seems to work very well (and does not leak memory).
    Al Chisholm
    Wednesday, April 27, 2011 5:03 PM