Hi,
my question might be stupid but can someone explain why a mutex is used in the SetRawDataHeld method :
BOOL H323AudioCodec::SetRawDataHeld(BOOL hold) {
PTimedMutex m; m.Wait(50); // wait for 50ms to avoid current locks IsRawDataHeld = hold; m.Wait(50); // wait for 50ms to avoid any further locks return TRUE; }
I have another problem concerning codecs. Codecs sleep during read and write (within ReadRaw et WriteRaw) keeping rawChannelMutex locked and they lok it again immediately after signalling. I encouter thread starvations (or at least very long time before getting method called) when I try to call addFilter or SwapChannel on a running codec. This behavior can, for instance, prevent me from holding a call. Does anyone have this same problem ?
Thanks for your help,
Sebastien