--- a/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/inc/TMSAudioServicesTestClass.h Thu Aug 19 10:26:11 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/inc/TMSAudioServicesTestClass.h Tue Aug 31 15:43:02 2010 +0300
@@ -49,6 +49,12 @@
#include <tmsilbcformat.h>
#include <tmspcmformat.h>
#include <tmsamrformat.h>
+#include <tmsdtmf.h>
+#include <tmsdtmfobsrvr.h>
+#include <tmsringtone.h>
+#include <tmsringtoneobsrvr.h>
+#include <tmsinbandtone.h>
+#include <tmsinbandtoneobsrvr.h>
#include "TimeoutController.h"
@@ -61,6 +67,7 @@
const TInt KErrUnexpectedValue = -2002; // Unexpected value at setting
const TInt KErrTimeoutController = -2007; // Unexpected notification
+const TInt KMicroTimeout = 1000;
const TInt KShortTimeout = 2000;
const TInt KMediumTimeout = 10000;
const TInt KLongTimeout = 100000;
@@ -103,19 +110,43 @@
_LIT( KTagPublic, "Public");
_LIT( KTagPrivate, "Private");
+_LIT( KTagRTDefault, "RTDefault");
+_LIT( KTagRTFile, "RTFile");
+_LIT( KTagRTBeepOnce, "RTBeepOnce");
+_LIT( KTagRTSilent, "RTSilent");
+_LIT( KTagRTUnsecureVoIP, "RTUnsecureVoIP");
+_LIT( KTagRTSequence, "RTSequence");
+_LIT( KTagRTTts, "RTTts");
+
+_LIT( KTagUserBusy, "UserBusy" );
+_LIT( KTagRadioPathNotFound, "RadioPathNotFound" );
+_LIT( KTagCongestion, "Congestion" );
+_LIT( KTagSpecialInfo, "SpecialInfo" );
+_LIT( KTagReorder, "Reorder" );
+_LIT( KTagAlerting, "Alerting" );
+_LIT( KTagWaiting, "Waiting" );
+_LIT( KTagDataCall, "DataCall" );
+_LIT( KTagNoSequence, "NoSequence" );
+_LIT( KTagBeepSequence, "BeepSequence" );
+
// MACROS
#ifdef __WINSCW__
_LIT( KTmsAudioServicesTestClassLogPath, "\\logs\\testframework\\" );
_LIT16(KTestFile1, "\\testing\\data\\alarm 1.aac");
_LIT16(KTestFile2, "\\testing\\data\\alarm.aac");
-_LIT16(KTestFile3, "\\testing\\data\\test_8khz.wav");
+//_LIT16(KTestFile3, "\\testing\\data\\test_8khz.wav");
+_LIT16(KTestFile3, "c:\\data\\sounds\\digital\\test_8khz.wav");
#else
_LIT( KTmsAudioServicesTestClassLogPath, "c:\\testing\\Log\\" );
_LIT16(KTestFile1, "c:\\testing\\data\\alarm 1.aac");
_LIT16(KTestFile2, "c:\\testing\\data\\alarm.aac");
-_LIT16(KTestFile3, "c:\\testing\\data\\test_8khz.wav");
+//_LIT16(KTestFile3, "c:\\testing\\data\\test_8khz.wav");
+_LIT16(KTestFile3, "c:\\data\\sounds\\digital\\test_8khz.wav");
#endif
+_LIT8(KRTBeepSequence, "\x00\x11\x0A\x0A\x08\x73\x0A\x40\x28\x0A\xF7\
+\x05\xFC\x40\x64\x0A\x08\x40\x32\x0A\xF7\x06\x0B");
+_LIT16(KTextToSpeak, "THE PHONE IS RINGING");
// Log file
_LIT( KTmsAudioServicesTestClassLogFile, "CTmsAudioServicesTestClass.txt" );
@@ -147,7 +178,10 @@
public TMSClientSourceObserver,
public TMSClientSinkObserver,
public TMSEffectObserver,
- public TMSGlobalRoutingObserver
+ public TMSGlobalRoutingObserver,
+ public TMSRingToneObserver,
+ public TMSDTMFObserver,
+ public TMSInbandToneObserver
{
enum StreamState
{
@@ -185,6 +219,13 @@
EFillBuffer,
EOutputChanged,
ESetOutputComplete,
+ ERTInitComplete,
+ ERTPlayComplete,
+ ERTDeinitComplete,
+ EInbToneStarted,
+ EInbToneStopped,
+ EDTMFToneStarted,
+ EDTMFToneStopped
};
public:
@@ -224,6 +265,15 @@
void GlobalRoutingEvent(const TMSGlobalRouting& /*routing*/,
TMSSignalEvent event, TMSAudioOutput output);
+ // from TMSRingToneObserver
+ void RingtoneEvent(const TMSRingTone& rt, TMSSignalEvent event);
+
+ // from TMSDTMFObserver
+ void DTMFEvent(const TMSDTMF& dtmf, TMSSignalEvent event);
+
+ // from TMSInbandToneObserver
+ void InbandToneEvent(const TMSInbandTone& inbandtone, TMSSignalEvent event);
+
private:
/**
@@ -347,6 +397,25 @@
TInt Gain(CStifItemParser& aItem);
TInt Volume(CStifItemParser& aItem);
+ TInt CreateDTMFTonePlayer(CStifItemParser& aItem);
+ TInt DTMFTonePlay(CStifItemParser& aItem);
+ TInt StopDTMFTonePlayer(CStifItemParser& aItem);
+ TInt ContinueDTMFStringSending(CStifItemParser& aItem);
+ TInt CloseDTMFPlayer(CStifItemParser& aItem);
+
+ TInt CreateRingTonePlayer(CStifItemParser& aItem);
+ TInt InitRingTonePlayer(CStifItemParser& aItem);
+ TInt PlayRingTone(CStifItemParser& aItem);
+ TInt PlayRingToneNoEvent(CStifItemParser& aItem);
+ TInt PauseRingTone(CStifItemParser& aItem); //IP video call only (10.2)
+ TInt StopRingTone(CStifItemParser& aItem);
+ TInt MuteRingTone(CStifItemParser& aItem);
+ TInt CloseRingTonePlayer(CStifItemParser& aItem);
+
+ TInt CreateInbandTonePlayer(CStifItemParser& aItem);
+ TInt StartInbandTone(CStifItemParser& aItem);
+ TInt StopInbandTone(CStifItemParser& aItem);
+ TInt CloseInbandTonePlayer(CStifItemParser& aItem);
// TInt GetSupportedBitrates( CStifItemParser& aItem );
@@ -420,6 +489,10 @@
TMSStream* iTmsDnlink;
TMSCall* iTmsCall;
TMSStream* iTmsUplink;
+ TMSDTMF* iDTMFTonePlayerDn;
+ TMSDTMF* iDTMFTonePlayerUp;
+ TMSRingTone* iRingTonePlayer;
+ TMSInbandTone* iInbandTonePlayer;
TMSAudioOutput iDevice;
// Codec format APIs
@@ -466,6 +539,10 @@
TBool iPlayBufReady;
TBool iRecBufReady;
+ // For ring tone playback
+ GString* iRTStr;
+ GString* iTTSStr;
+
// Active object with a timer to timeout the test case
CSimpleTimeout * iTimeoutController;
@@ -479,7 +556,6 @@
RArray<TTmsExpectedEvent> iOcurredEvents;
CActiveSchedulerWait* iActive;
-
};
#endif //__TMSAUDIOSERVICESTESTCLASS_H