[h323plus] H323AudioCodec::SetRawDataHeld

Sébastien Annedouche sannedouche at c3t.fr
Fri Nov 9 09:00:44 EST 2007


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




More information about the h323plus mailing list