I knew about that behavior, but i didn't know how to resolve it.
How do you find that value?
Hmm, well it's easy for me as I can debug through my ML20viewer lol ... but for mortals:
If you look through a captured .cam file in a hex editor, and find an 'ML20' fourcc in the stream. This is part of the external frame header:
unsigned char m_ucHeaderSize;// 0
unsigned char m_ucIsPauseFrame; // 1
unsigned short m_usWidth; // 2
unsigned short m_usHeight; // 4
unsigned short m_usIsKeyframe; // 6
unsigned int m_uiPayloadSize; // 8
unsigned int m_uiFCC; // ML20 // 12
unsigned int m_uiUniqueRandomID; // 16
unsigned int m_uiTimestamp; // 20
Just past this you get to the frame data, and bytes 2-3 of this are the quality setting of the internal frame header, see:http://wiki.multimedia.cx/index.php?title=ML20
So the 2 bytes for the quality start at 10 bytes past the end of the ML20 fourcc. '9411' would indicate 4500 (1194 in hex). You may also be able to step through the webcam DLL source if you have that handy.
Incidently, it is possible that the MSN client adjusts this value, however in the captures I've tried from MSN clients on other machines it has always been 4500 ... whether that is a function of my bandwidth I don't know.
If you need to capture aMSN's output you can use Wireshark or MSN webcam recorder. I run MSN and aMSN at the same time on the same machine camming from one to the other to test.