From 64ce4857e948c3deb546f31f91cd867c2193a2f3 Mon Sep 17 00:00:00 2001 From: Alexandre Savard <alexandre.savard@savoirfairelinux.net> Date: Tue, 22 Sep 2009 17:23:26 -0400 Subject: [PATCH] [#2176] Remove iax audio stream on peer hungup --- sflphone-common/src/iax/iaxvoiplink.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sflphone-common/src/iax/iaxvoiplink.cpp b/sflphone-common/src/iax/iaxvoiplink.cpp index 2e1201bfff..3faabe566a 100644 --- a/sflphone-common/src/iax/iaxvoiplink.cpp +++ b/sflphone-common/src/iax/iaxvoiplink.cpp @@ -539,6 +539,8 @@ IAXVoIPLink::peerHungup (const CallID& id) std::string reason = "Dumped Call"; CHK_VALID_CALL; + audiolayer->getMainBuffer()->unBindAll(call->getCallId()); + _mutexIAX.enterMutex(); _mutexIAX.leaveMutex(); @@ -564,6 +566,8 @@ IAXVoIPLink::onhold (const CallID& id) CHK_VALID_CALL; + audiolayer->getMainBuffer()->unBindAll(call->getCallId()); + //if (call->getState() == Call::Hold) { _debug("Call is already on hold\n"); return false; } _mutexIAX.enterMutex(); @@ -581,6 +585,8 @@ IAXVoIPLink::offhold (const CallID& id) CHK_VALID_CALL; + Manager::instance().addStream(call->getCallId()); + //if (call->getState() == Call::Active) { _debug("Call is already active\n"); return false; } _mutexIAX.enterMutex(); iax_unquelch (call->getSession()); -- GitLab