summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/VoIp.cpp
diff options
context:
space:
mode:
authorGerald Begumisa <ben_g@users.sourceforge.net>2009-08-14 09:23:07 +0000
committerGerald Begumisa <ben_g@users.sourceforge.net>2009-08-14 09:23:07 +0000
commite163cf54ac781ad592da8a009876479204966b26 (patch)
tree34a5ad268d1f17971b45f82c8749724cff80ee96 /orkaudio/audiocaptureplugins/voip/VoIp.cpp
parent1cf0cfc8155b0376d35017c4167bece5742fa6af (diff)
Modified the orkaudio API for StartCapture and PauseCapture to carry out their respective operations when the nativecallid is supplied. Added a new API, StopCapture, which causes a session to stop when any of the party, orkuid or nativecallid is provided as a parameter. This API is different from the PauseCapture API in the sense that it actually causes a session to stop and the WAV file is produced. After calling StopCapture, the session cannot be re-started with the StartCapture API (record).
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@633 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/VoIp.cpp')
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIp.cpp112
1 files changed, 69 insertions, 43 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
index 6640590..cc0bf77 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp
+++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
@@ -85,9 +85,9 @@ public:
void Initialize();
void Run();
void Shutdown();
- void StartCapture(CStdString& port, CStdString& orkuid);
- void StopCapture(CStdString& port);
- void PauseCapture(CStdString& port, CStdString& orkuid);
+ void StartCapture(CStdString& port, CStdString& orkuid, CStdString& nativecallid);
+ void StopCapture(CStdString& port, CStdString& orkuid, CStdString& nativecallid);
+ void PauseCapture(CStdString& port, CStdString& orkuid, CStdString& nativecallid);
void SetOnHold(CStdString& port, CStdString& orkuid);
void SetOffHold(CStdString& port, CStdString& orkuid);
void ReportPcapStats();
@@ -3563,19 +3563,73 @@ void VoIp::Shutdown()
#endif
}
-void VoIp::StartCapture(CStdString& port, CStdString& orkuid)
+void VoIp::StartCapture(CStdString& party, CStdString& orkuid, CStdString& nativecallid)
{
- ;
+ CStdString logMsg;
+
+ logMsg.Format("StartCapture: party:%s orkuid:%s nativecallid:%s", party, orkuid, nativecallid);
+ LOG4CXX_INFO(s_voipPluginLog, logMsg);
+
+ MutexSentinel mutexSentinel(s_mutex);
+
+ if(orkuid.size())
+ {
+ RtpSessionsSingleton::instance()->StartCaptureOrkuid(orkuid);
+ }
+ else if(party.size())
+ {
+ orkuid = RtpSessionsSingleton::instance()->StartCapture(party);
+ }
+ else if(nativecallid.size())
+ {
+ orkuid = RtpSessionsSingleton::instance()->StartCaptureNativeCallId(nativecallid);
+ }
}
-void VoIp::PauseCapture(CStdString& port, CStdString& orkuid)
+void VoIp::PauseCapture(CStdString& party, CStdString& orkuid, CStdString& nativecallid)
{
- ;
+ CStdString logMsg;
+
+ logMsg.Format("PauseCapture: party:%s orkuid:%s nativecallid:%s", party, orkuid, nativecallid);
+ LOG4CXX_INFO(s_voipPluginLog, logMsg);
+
+ MutexSentinel mutexSentinel(s_mutex);
+
+ if(orkuid.size())
+ {
+ RtpSessionsSingleton::instance()->PauseCaptureOrkuid(orkuid);
+ }
+ else if(party.size())
+ {
+ orkuid = RtpSessionsSingleton::instance()->PauseCapture(party);
+ }
+ else if(nativecallid.size())
+ {
+ orkuid = RtpSessionsSingleton::instance()->PauseCaptureNativeCallId(nativecallid);
+ }
}
-void VoIp::StopCapture(CStdString& port)
+void VoIp::StopCapture(CStdString& party, CStdString& orkuid, CStdString& nativecallid)
{
- ;
+ CStdString logMsg;
+
+ logMsg.Format("StopCapture: party:%s orkuid:%s nativecallid:%s", party, orkuid, nativecallid);
+ LOG4CXX_INFO(s_voipPluginLog, logMsg);
+
+ MutexSentinel mutexSentinel(s_mutex);
+
+ if(orkuid.size())
+ {
+ RtpSessionsSingleton::instance()->StopCaptureOrkuid(orkuid);
+ }
+ else if(party.size())
+ {
+ orkuid = RtpSessionsSingleton::instance()->StopCapture(party);
+ }
+ else if(nativecallid.size())
+ {
+ orkuid = RtpSessionsSingleton::instance()->StopCaptureNativeCallId(nativecallid);
+ }
}
void VoIp::SetOnHold(CStdString& port, CStdString& orkuid)
@@ -3603,47 +3657,19 @@ void __CDECL__ Shutdown()
VoIpSingleton::instance()->Shutdown();
}
-void __CDECL__ StartCapture(CStdString& party, CStdString& orkuid)
+void __CDECL__ StartCapture(CStdString& party, CStdString& orkuid, CStdString& nativecallid)
{
- CStdString logMsg;
-
- logMsg.Format("StartCapture: party:%s orkuid:%s", party, orkuid);
- LOG4CXX_INFO(s_voipPluginLog, logMsg);
-
- MutexSentinel mutexSentinel(s_mutex);
-
- if(orkuid.size())
- {
- RtpSessionsSingleton::instance()->StartCaptureOrkuid(orkuid);
- }
- else
- {
- orkuid = RtpSessionsSingleton::instance()->StartCapture(party);
- }
+ VoIpSingleton::instance()->StartCapture(party, orkuid, nativecallid);
}
-void __CDECL__ PauseCapture(CStdString& party, CStdString& orkuid)
+void __CDECL__ PauseCapture(CStdString& party, CStdString& orkuid, CStdString& nativecallid)
{
- CStdString logMsg;
-
- logMsg.Format("PauseCapture: party:%s orkuid:%s", party, orkuid);
- LOG4CXX_INFO(s_voipPluginLog, logMsg);
-
- MutexSentinel mutexSentinel(s_mutex);
-
- if(orkuid.size())
- {
- RtpSessionsSingleton::instance()->PauseCaptureOrkuid(orkuid);
- }
- else
- {
- RtpSessionsSingleton::instance()->PauseCapture(party);
- }
+ VoIpSingleton::instance()->PauseCapture(party, orkuid, nativecallid);
}
-void __CDECL__ StopCapture(CStdString& party)
+void __CDECL__ StopCapture(CStdString& party, CStdString& orkuid, CStdString& nativecallid)
{
- ;
+ VoIpSingleton::instance()->StopCapture(party, orkuid, nativecallid);
}
void __CDECL__ SetOnHold(CStdString& port, CStdString& orkuid)