--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/tms/tmsutility/src/tmsutility.cpp Tue Feb 02 01:08:46 2010 +0200
@@ -0,0 +1,254 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Telephony Multimedia Service
+ *
+ */
+
+#include <e32cmn.h>
+#include <mmffourcc.h>
+#include <mmcccodecinformation.h>
+//#include <tms.h>
+#include "tmsutility.h"
+
+using namespace TMS;
+
+// -----------------------------------------------------------------------------
+// TMSUtility::TMSResult
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C gint TMSUtility::TMSResult(const gint aError)
+ {
+ gint result(TMS_RESULT_SUCCESS);
+
+ if (aError >= TMS_RESULT_SUCCESS)
+ {
+ return aError; //return TMS error
+ }
+
+ switch (aError)
+ {
+ case KErrNotFound: //-1
+ result = TMS_RESULT_DOES_NOT_EXIST;
+ break;
+ case KErrGeneral: //-2
+ result = TMS_RESULT_GENERAL_ERROR;
+ break;
+ case KErrCancel: //-3
+ result = TMS_RESULT_OPERATION_CANCELLED;
+ break;
+ case KErrNoMemory: //-4
+ result = TMS_RESULT_INSUFFICIENT_MEMORY;
+ break;
+ case KErrNotSupported: //-5
+ result = TMS_RESULT_DOES_NOT_EXIST;
+ break;
+ case KErrArgument: //-6
+ result = TMS_RESULT_INVALID_ARGUMENT;
+ break;
+ case KErrTotalLossOfPrecision: //-7
+ result = TMS_RESULT_GENERAL_ERROR;
+ break;
+ case KErrBadHandle: //-8
+ result = TMS_RESULT_INVALID_ARGUMENT;
+ break;
+ case KErrOverflow: //-9
+ case KErrUnderflow: //-10
+ result = TMS_RESULT_BUFFER_LATENCY_ERROR;
+ break;
+ case KErrAlreadyExists: //-11
+ result = TMS_RESULT_ALREADY_EXIST;
+ break;
+ case KErrPathNotFound: //-12
+ result = TMS_RESULT_GENERAL_ERROR;
+ break;
+ case KErrDied: //-13
+ case KErrInUse: //-14
+ case KErrServerTerminated: //-15
+ result = TMS_RESULT_FATAL_ERROR;
+ break;
+ case KErrServerBusy: //-16
+ case KErrCompletion: //-17
+ case KErrNotReady: //-18
+ case KErrUnknown: //-19
+ case KErrCorrupt: //-20
+ case KErrAccessDenied: //-21
+ case KErrLocked: //-22
+ case KErrWrite: //-23
+ case KErrDisMounted: //-24
+ case KErrEof: //-25
+ case KErrDiskFull: //-26
+ case KErrBadDriver: //-27
+ case KErrBadName: //-28
+ case KErrCommsLineFail: //-29
+ case KErrCommsFrame: //-30
+ case KErrCommsOverrun: //-31
+ case KErrCommsParity: //-32
+ case KErrTimedOut: //-33
+ case KErrCouldNotConnect: //-34
+ case KErrCouldNotDisconnect: //-35
+ case KErrDisconnected: //-36
+ case KErrBadLibraryEntryPoint: //-37
+ case KErrBadDescriptor: //-38
+ case KErrAbort: //-39
+ case KErrTooBig: //-40
+ case KErrDivideByZero: //-41
+ case KErrBadPower: //-42
+ case KErrDirFull: //-43
+ case KErrHardwareNotAvailable: //-44
+ case KErrSessionClosed: //-45
+ case KErrPermissionDenied: //-46
+ case KErrExtensionNotSupported: //-47
+ case KErrCommsBreak: //-48
+ case KErrNoSecureTime: //-49
+ default:
+ result = TMS_RESULT_GENERAL_ERROR;
+ break;
+ }
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSUtility::ToTMSOutput
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TMSAudioOutput TMSUtility::ToTMSOutput(
+ CTelephonyAudioRouting::TAudioOutput taroutput)
+ {
+ TMSAudioOutput output = TMS_AUDIO_OUTPUT_NONE;
+ switch (taroutput)
+ {
+ case CTelephonyAudioRouting::ENotActive:
+ case CTelephonyAudioRouting::ENone:
+ output = TMS_AUDIO_OUTPUT_NONE;
+ break;
+ case CTelephonyAudioRouting::EHandset:
+ output = TMS_AUDIO_OUTPUT_HANDSET;
+ break;
+ case CTelephonyAudioRouting::ELoudspeaker:
+ output = TMS_AUDIO_OUTPUT_LOUDSPEAKER;
+ break;
+ case CTelephonyAudioRouting::EWiredAudioAccessory:
+ output = TMS_AUDIO_OUTPUT_WIRED_ACCESSORY;
+ break;
+ case CTelephonyAudioRouting::EBTAudioAccessory:
+ output = TMS_AUDIO_OUTPUT_ACCESSORY;
+ break;
+ case CTelephonyAudioRouting::ETTY:
+ output = TMS_AUDIO_OUTPUT_ETTY;
+ break;
+ default:
+ break;
+ }
+ return output;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSUtility::ToTAROutput
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CTelephonyAudioRouting::TAudioOutput TMSUtility::ToTAROutput(
+ TMSAudioOutput output)
+ {
+ CTelephonyAudioRouting::TAudioOutput taroutput =
+ CTelephonyAudioRouting::ENone;
+ switch (output)
+ {
+ case TMS_AUDIO_OUTPUT_NONE:
+ taroutput = CTelephonyAudioRouting::ENone;
+ break;
+ case TMS_AUDIO_OUTPUT_HANDSET:
+ taroutput = CTelephonyAudioRouting::EHandset;
+ break;
+ case TMS_AUDIO_OUTPUT_LOUDSPEAKER:
+ taroutput = CTelephonyAudioRouting::ELoudspeaker;
+ break;
+ case TMS_AUDIO_OUTPUT_WIRED_ACCESSORY:
+ taroutput = CTelephonyAudioRouting::EWiredAudioAccessory;
+ break;
+ case TMS_AUDIO_OUTPUT_ACCESSORY:
+ taroutput = CTelephonyAudioRouting::EBTAudioAccessory;
+ break;
+ case TMS_AUDIO_OUTPUT_ETTY:
+ taroutput = CTelephonyAudioRouting::ETTY;
+ break;
+ default:
+ break;
+ }
+ return taroutput;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSUtility::ToFourCC
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUint32 TMSUtility::ToFourCC(TMSFormatType frmtType)
+ {
+ TUint32 fourCC(NULL);
+ switch (frmtType)
+ {
+ case TMS_FORMAT_PCM:
+ fourCC = KMMFFourCCCodePCM16;
+ break;
+ case TMS_FORMAT_AMR:
+ fourCC = KMccFourCCIdAMRNB;
+ break;
+ case TMS_FORMAT_G711:
+ fourCC = KMccFourCCIdG711;
+ break;
+ case TMS_FORMAT_G729:
+ fourCC = KMccFourCCIdG729;
+ break;
+ case TMS_FORMAT_ILBC:
+ fourCC = KMccFourCCIdILBC;
+ break;
+ default:
+ break;
+ }
+ return fourCC;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSUtility::FourCCToTMSFormat
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TMSFormatType TMSUtility::FourCCToTMSFormat(TUint32 fourcc)
+ {
+ TMSFormatType format = NULL;
+ switch (fourcc)
+ {
+ case KMMFFourCCCodePCM16: // = 0x36315020
+ format = TMS_FORMAT_PCM;
+ break;
+ case KMccFourCCIdAMRNB: //= 0x524d4120;
+ format = TMS_FORMAT_AMR;
+ break;
+ case KMccFourCCIdG711: // = 0x31313747;
+ format = TMS_FORMAT_G711;
+ break;
+ case KMccFourCCIdG729: // = 0x39323747;
+ format = TMS_FORMAT_G729;
+ break;
+ case KMccFourCCIdILBC: // = 0x43424c49;
+ format = TMS_FORMAT_ILBC;
+ break;
+ default:
+ break;
+ }
+ return format;
+ }