summaryrefslogtreecommitdiff
path: root/orkbasecxx
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2006-12-28 16:37:45 +0000
committerHenri Herscher <henri@oreka.org>2006-12-28 16:37:45 +0000
commit53907f2d9156e7a0a2644f04f7eb507a2a48e9aa (patch)
treea1f657abe2b3d6a40491028e352b8e60471161a1 /orkbasecxx
parent320f2a9dd5fd59b09e1977aa1f9344e219bf3d1a (diff)
SIP Session metadata can now be updated when a new RTP stream is seen that matches one of the INVITE messages associated with the session. When this happens, a new tape message with stage=update is generated with the updated metadata.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@381 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkbasecxx')
-rw-r--r--orkbasecxx/AudioCapture.cpp6
-rw-r--r--orkbasecxx/AudioCapture.h4
-rw-r--r--orkbasecxx/AudioTape.cpp2
3 files changed, 10 insertions, 2 deletions
diff --git a/orkbasecxx/AudioCapture.cpp b/orkbasecxx/AudioCapture.cpp
index 7a46739..d09f1cb 100644
--- a/orkbasecxx/AudioCapture.cpp
+++ b/orkbasecxx/AudioCapture.cpp
@@ -236,6 +236,8 @@ CStdString CaptureEvent::EventTypeToString(int eventTypeEnum)
return ET_ENDMETADATA;
case EtReady:
return ET_READY;
+ case EtUpdate:
+ return ET_UPDATE;
}
return ET_INVALID;
}
@@ -299,6 +301,10 @@ int CaptureEvent::EventTypeToEnum(CStdString& eventTypeString)
{
eventTypeEnum = EtReady;
}
+ else if (eventTypeString.CompareNoCase(ET_UPDATE) == 0)
+ {
+ eventTypeEnum = EtUpdate;
+ }
return eventTypeEnum;
}
diff --git a/orkbasecxx/AudioCapture.h b/orkbasecxx/AudioCapture.h
index 52485c7..8a02e1c 100644
--- a/orkbasecxx/AudioCapture.h
+++ b/orkbasecxx/AudioCapture.h
@@ -127,6 +127,7 @@ public:
#define ET_ORKUID "orkuid"
#define ET_ENDMETADATA "endmetadata"
#define ET_READY "ready"
+#define ET_UPDATE "update"
#define ET_INVALID "invalid"
typedef enum
{
@@ -145,7 +146,8 @@ public:
EtOrkUid = 12,
EtEndMetadata = 13,
EtReady = 14,
- EtInvalid = 15
+ EtUpdate = 15,
+ EtInvalid = 16
} EventTypeEnum;
static CStdString EventTypeToString(int eventTypeEnum);
static int EventTypeToEnum(CStdString&);
diff --git a/orkbasecxx/AudioTape.cpp b/orkbasecxx/AudioTape.cpp
index ad6b95c..f26ec94 100644
--- a/orkbasecxx/AudioTape.cpp
+++ b/orkbasecxx/AudioTape.cpp
@@ -292,7 +292,7 @@ void AudioTape::GetMessage(MessageRef& msgRef)
msgRef.reset(new TapeMsg);
TapeMsg* pTapeMsg = (TapeMsg*)msgRef.get();
- if(captureEventRef->m_type == CaptureEvent::EtStop || captureEventRef->m_type == CaptureEvent::EtStart || captureEventRef->m_type == CaptureEvent::EtReady)
+ if(captureEventRef->m_type == CaptureEvent::EtStop || captureEventRef->m_type == CaptureEvent::EtStart || captureEventRef->m_type == CaptureEvent::EtReady || captureEventRef->m_type == CaptureEvent::EtUpdate)
{
pTapeMsg->m_recId = m_fileIdentifier;
pTapeMsg->m_fileName = m_filePath + m_fileIdentifier + m_fileExtension;