diff --git a/sflphone-common/src/audio/audiortp/AudioRtpRecordHandler.h b/sflphone-common/src/audio/audiortp/AudioRtpRecordHandler.h index 6a92ab5b25a508a504c5b352d9c60b87ad4ef3bc..28ce2ed0882fcb68e665e6f3d5f091462a616d87 100644 --- a/sflphone-common/src/audio/audiortp/AudioRtpRecordHandler.h +++ b/sflphone-common/src/audio/audiortp/AudioRtpRecordHandler.h @@ -47,8 +47,8 @@ namespace sfl // Factor use to increase volume in fade in #define FADEIN_STEP_SIZE 4; -static const int schedulingTimeout = 100000; -static const int expireTimeout = 1000000; +static const int schedulingTimeout = 10000; +static const int expireTimeout = 100000; class AudioRtpSessionException: public std::exception { diff --git a/sflphone-common/src/audio/audiortp/AudioRtpSession.cpp b/sflphone-common/src/audio/audiortp/AudioRtpSession.cpp index e12142b5b0c341157a39c3b609ef59e715d02973..fbe0079f6db770bbc9f6146cd3ed8b44859010eb 100644 --- a/sflphone-common/src/audio/audiortp/AudioRtpSession.cpp +++ b/sflphone-common/src/audio/audiortp/AudioRtpSession.cpp @@ -72,7 +72,7 @@ AudioRtpSession::AudioRtpSession (ManagerImpl * manager, SIPCall * sipcall) : // static_cast<ost::DualRTPUDPIPv4Channel>(dso)->sendSocket->setTypeOfService(ost::Socket::tosLowDelay); // static_cast<ost::DualRTPChannel<ost::DualRTPUDPIPv4Channel> >(dso)->sendSocket->setTypeOfService(ost::Socket::tosLowDelay); - setTypeOfService(tosEnhanced); + // setTypeOfService(tosEnhanced); } AudioRtpSession::~AudioRtpSession() @@ -261,6 +261,7 @@ void AudioRtpSession::sendMicData() // putData put the data on RTP queue, sendImmediate bypass this queue putData (_timestamp, getMicDataEncoded(), compSize); + // sendData() } @@ -347,10 +348,12 @@ void AudioRtpSession::run () uint32 timeout = 0; while ( isActive() ) { - if ( timeout < 100 ){ // !(timeout/1000) + if ( timeout < 1000 ){ // !(timeout/1000) timeout = getSchedulingTimeout(); } + // timeout = ; + _manager->getAudioLayerMutex()->enter(); // Send session @@ -360,6 +363,8 @@ void AudioRtpSession::run () sendMicData (); } + receiveSpeakerData(); + // This also should be moved notifyIncomingCall(); @@ -373,14 +378,17 @@ void AudioRtpSession::run () // make sure the scheduling timeout is // <= the check interval for RTCP // packets + _debug("timeout before: %d, maxwait %d", timeout, maxWait); timeout = (timeout > maxWait)? maxWait : timeout; - if ( timeout < 100 ) { // !(timeout/1000) + _debug("timeout after: %d", timeout); + + if ( timeout < 1000 ) { // !(timeout/1000) setCancel(cancelDeferred); dispatchDataPacket(); setCancel(cancelImmediate); timerTick(); } else { - if ( isPendingData(timeout/100) ) { + if ( isPendingData(timeout/1000) ) { setCancel(cancelDeferred); if (isActive()) { // take in only if active takeInDataPacket(); @@ -389,8 +397,6 @@ void AudioRtpSession::run () } timeout = 0; } - - receiveSpeakerData(); } _debug ("AudioRtpSession: Left main loop for call %s", _ca->getCallId().c_str());