--- a/mmserv/tms/tmscallserver/src/tmscallipadpt.cpp Mon Jun 21 16:15:34 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmscallipadpt.cpp Thu Jul 15 19:13:36 2010 +0300
@@ -19,7 +19,6 @@
#include "tmsutility.h"
#include "tmsclientserver.h"
#include "tmsshared.h"
-#include "tmsipcallstream.h"
#include "tmscallipadpt.h"
using namespace TMS;
@@ -46,8 +45,8 @@
void TMSCallIPAdpt::ConstructL()
{
TRACE_PRN_FN_ENT;
+ iIPDownlink = NULL;
iIPUplink = NULL;
- iIPDownlink = NULL;
TRACE_PRN_FN_EXT;
}
@@ -72,7 +71,6 @@
iCodecs.Reset();
iCodecs.Close();
iArrBitrates.Reset();
-
delete iIPUplink;
delete iIPDownlink;
@@ -109,8 +107,8 @@
//
// -----------------------------------------------------------------------------
//
-gint TMSCallIPAdpt::CreateStream(TMSCallType /*callType*/,
- TMSStreamType strmType, gint& outStrmId)
+gint TMSCallIPAdpt::CreateStream(const TMSCallType /*callType*/,
+ const TMSStreamType strmType, gint& outStrmId)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_SUCCESS);
@@ -121,10 +119,10 @@
status = TMS_RESULT_ALREADY_EXIST;
if (!iUplinkInitialized)
{
- iUplinkInitialized = TRUE;
iUplinkStreamId = iNextStreamId;
outStrmId = iUplinkStreamId;
iNextStreamId++;
+ //iUplinkInitialized = TRUE; //not initialized yet!
status = TMS_RESULT_SUCCESS;
}
break;
@@ -134,10 +132,10 @@
status = TMS_RESULT_ALREADY_EXIST;
if (!iDnlinkInitialized)
{
- iDnlinkInitialized = TRUE;
iDnlinkStreamId = iNextStreamId;
outStrmId = iDnlinkStreamId;
iNextStreamId++;
+ //iDnlinkInitialized = TRUE; //not initialized yet!
status = TMS_RESULT_SUCCESS;
}
break;
@@ -157,12 +155,12 @@
//
// -----------------------------------------------------------------------------
//
-gint TMSCallIPAdpt::InitStream(TMSCallType /*callType*/, TMSStreamType strmType,
- gint strmId, TMSFormatType frmtType, const RMessage2& message)
+gint TMSCallIPAdpt::InitStream(const TMSCallType /*callType*/,
+ const TMSStreamType strmType, const gint strmId,
+ const TMSFormatType frmtType, const RMessage2& message)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_SUCCESS);
-
guint32 fourCC = TOFOURCC(frmtType);
if (fourCC == NULL)
{
@@ -177,8 +175,7 @@
if (strmId == iUplinkStreamId)
{
SetFormat(iUplinkStreamId, fourCC);
- status = OpenUplinkL(message);
- NotifyClient(iUplinkStreamId, ECmdUplinkInitComplete, status);
+ status = OpenUplink(message);
}
break;
}
@@ -188,8 +185,7 @@
if (strmId == iDnlinkStreamId)
{
SetFormat(iDnlinkStreamId, fourCC);
- status = OpenDownlinkL(message);
- NotifyClient(iDnlinkStreamId, ECmdDownlinkInitComplete, status);
+ status = OpenDownlink(message);
}
break;
}
@@ -210,8 +206,8 @@
//
// -----------------------------------------------------------------------------
//
-gint TMSCallIPAdpt::StartStream(TMSCallType /*callType*/,
- TMSStreamType strmType, gint strmId)
+gint TMSCallIPAdpt::StartStream(const TMSCallType /*callType*/,
+ const TMSStreamType strmType, const gint strmId)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_INVALID_STATE);
@@ -219,7 +215,7 @@
{
case TMS_STREAM_UPLINK:
{
- if (strmId == iUplinkStreamId && iIPUplink)
+ if (iIPUplink && strmId == iUplinkStreamId)
{
iIPUplink->Start();
status = TMS_RESULT_SUCCESS;
@@ -229,7 +225,7 @@
}
case TMS_STREAM_DOWNLINK:
{
- if (strmId == iDnlinkStreamId && iIPDownlink)
+ if (iIPDownlink && strmId == iDnlinkStreamId)
{
iIPDownlink->Start();
status = TMS_RESULT_SUCCESS;
@@ -252,8 +248,8 @@
//
// -----------------------------------------------------------------------------
//
-gint TMSCallIPAdpt::PauseStream(TMSCallType /*callType*/,
- TMSStreamType strmType, gint strmId)
+gint TMSCallIPAdpt::PauseStream(const TMSCallType /*callType*/,
+ const TMSStreamType strmType, const gint strmId)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_INVALID_STATE);
@@ -294,8 +290,8 @@
//
// -----------------------------------------------------------------------------
//
-gint TMSCallIPAdpt::StopStream(TMSCallType /*callType*/, TMSStreamType strmType,
- gint strmId)
+gint TMSCallIPAdpt::StopStream(const TMSCallType /*callType*/,
+ const TMSStreamType strmType, const gint strmId)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_INVALID_STATE);
@@ -304,7 +300,7 @@
{
case TMS_STREAM_UPLINK:
{
- if (strmId == iUplinkStreamId && iIPUplink)
+ if (iIPUplink && strmId == iUplinkStreamId)
{
iIPUplink->Stop();
status = TMS_RESULT_SUCCESS;
@@ -314,7 +310,7 @@
}
case TMS_STREAM_DOWNLINK:
{
- if (strmId == iDnlinkStreamId && iIPDownlink)
+ if (iIPDownlink && strmId == iDnlinkStreamId)
{
iIPDownlink->Stop();
status = TMS_RESULT_SUCCESS;
@@ -337,8 +333,8 @@
//
// -----------------------------------------------------------------------------
//
-gint TMSCallIPAdpt::DeinitStream(TMSCallType /*callType*/,
- TMSStreamType strmType, gint strmId)
+gint TMSCallIPAdpt::DeinitStream(const TMSCallType /*callType*/,
+ const TMSStreamType strmType, const gint strmId)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_INVALID_STATE);
@@ -347,20 +343,19 @@
{
case TMS_STREAM_UPLINK:
{
- if (strmId == iUplinkStreamId && iIPUplink)
+ if (iIPUplink && strmId == iUplinkStreamId)
{
iIPUplink->Stop();
//iUplinkStreamId = -1;
iUplinkInitialized = FALSE;
status = TMS_RESULT_SUCCESS;
- NotifyClient(iUplinkStreamId, ECmdDownlinkDeInitComplete,
- status);
+ NotifyClient(iUplinkStreamId, ECmdUplinkDeInitComplete, status);
}
break;
}
case TMS_STREAM_DOWNLINK:
{
- if (strmId == iDnlinkStreamId && iIPDownlink)
+ if (iIPDownlink && strmId == iDnlinkStreamId)
{
iIPDownlink->Stop();
//iDnlinkStreamId = -1;
@@ -387,8 +382,8 @@
//
// -----------------------------------------------------------------------------
//
-gint TMSCallIPAdpt::DeleteStream(TMSCallType /*callType*/,
- TMSStreamType strmType, gint strmId)
+gint TMSCallIPAdpt::DeleteStream(const TMSCallType /*callType*/,
+ const TMSStreamType strmType, const gint strmId)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_SUCCESS);
@@ -396,7 +391,6 @@
{
case TMS_STREAM_UPLINK:
{
- // This is additional error checking
if (strmId == iUplinkStreamId)
{
iUplinkStreamId = -1;
@@ -406,7 +400,6 @@
}
case TMS_STREAM_DOWNLINK:
{
- // This is additional error checking
if (strmId == iDnlinkStreamId)
{
iDnlinkStreamId = -1;
@@ -429,8 +422,8 @@
//
// -----------------------------------------------------------------------------
//
-gint TMSCallIPAdpt::DataXferBufferEmptied(TMSCallType /*callType*/,
- TMSStreamType strmType, gint strmId)
+gint TMSCallIPAdpt::DataXferBufferEmptied(const TMSCallType /*callType*/,
+ const TMSStreamType strmType, const gint strmId)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_SUCCESS);
@@ -460,8 +453,8 @@
//
// -----------------------------------------------------------------------------
//
-gint TMSCallIPAdpt::DataXferBufferFilled(TMSCallType /*callType*/,
- TMSStreamType strmType, gint strmId, guint datasize)
+gint TMSCallIPAdpt::DataXferBufferFilled(const TMSCallType /*callType*/,
+ const TMSStreamType strmType, const gint strmId, const guint datasize)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_SUCCESS);
@@ -530,14 +523,12 @@
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_INVALID_STATE);
-
if (iDnlinkInitialized && iIPDownlink)
{
status = iIPDownlink->GetMaxVolume(volume);
iMaxVolume = volume;
TRACE_PRN_N1(_L("TMS->TMSCallIPAdpt: GetMaxVolume [%d]"), iMaxVolume);
}
-
TRACE_PRN_FN_EXT;
return status;
}
@@ -644,7 +635,7 @@
{
status = iIPDownlink->GetMaxVolume(volume);
iMaxVolume = volume;
- TRACE_PRN_N1(_L("TMS->TMSCallIPAdpt: GetMaxVolume [%d]"), iMaxVolume);
+ TRACE_PRN_N1(_L("TMS->TMSCallIPAdpt::GetGlobalMaxVolume [%d]"), volume);
}
TRACE_PRN_FN_EXT;
return status;
@@ -659,6 +650,7 @@
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_INVALID_STATE);
+ //iGlobalVol = volume;
if (iDnlinkInitialized && iIPDownlink)
{
status = iIPDownlink->SetVolume(volume);
@@ -697,7 +689,7 @@
{
status = iIPUplink->GetMaxGain(gain);
iMaxGain = gain;
- TRACE_PRN_N1(_L("TMS->TMSCallIPAdpt::GetMaxGain [%d]"), iMaxGain);
+ TRACE_PRN_N1(_L("TMS->TMSCallIPAdpt::GetGlobalMaxGain [%d]"), gain);
}
TRACE_PRN_FN_EXT;
return status;
@@ -712,6 +704,7 @@
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_INVALID_STATE);
+ //iGlobalGain = gain;
if (iUplinkInitialized && iIPUplink)
{
status = iIPUplink->SetGain(gain);
@@ -982,14 +975,14 @@
}
// -----------------------------------------------------------------------------
-// TMSCallIPAdpt::OpenDownlinkL
+// TMSCallIPAdpt::OpenDownlink
// Method for player initialization.
// -----------------------------------------------------------------------------
//
-gint TMSCallIPAdpt::OpenDownlinkL(const RMessage2& message)
+gint TMSCallIPAdpt::OpenDownlink(const RMessage2& message)
{
TRACE_PRN_FN_ENT;
- gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
+ gint status(TMS_RESULT_SUCCESS);
// Clients must have MultimediaDD capability to use this priority/pref.
// TODO: Also, TMS will monitor for emergency call and if detected it
@@ -1004,12 +997,12 @@
iPriority.iPref = KAudioPrefVoipAudioDownlink;
iPriority.iPriority = KAudioPriorityVoipAudioDownlink;
- if (!iIPDownlink)
- {
- iIPDownlink = TMSIPDownlink::NewL(iDnFourCC, iPriority);
- }
+ delete iIPDownlink;
+ iIPDownlink = NULL;
+ TRAP(status, iIPDownlink = TMSIPDownlink::NewL(*this, iDnFourCC,
+ iPriority));
- if (iIPDownlink)
+ if (iIPDownlink && status == TMS_RESULT_SUCCESS)
{
// Open message queue for handling server notifications to the client
if (iMsgQueueDn.Handle() <= 0)
@@ -1030,14 +1023,14 @@
}
// -----------------------------------------------------------------------------
-// TMSCallIPAdpt::OpenUplinkL
+// TMSCallIPAdpt::OpenUplink
// Method for recorder initialization.
// -----------------------------------------------------------------------------
//
-gint TMSCallIPAdpt::OpenUplinkL(const RMessage2& message)
+gint TMSCallIPAdpt::OpenUplink(const RMessage2& message)
{
TRACE_PRN_FN_ENT;
- gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
+ gint status(TMS_RESULT_SUCCESS);
// Clients must have MultimediaDD capability to use this priority/pref
@@ -1050,12 +1043,11 @@
iPriority.iPref = KAudioPrefVoipAudioUplink;
iPriority.iPriority = KAudioPriorityVoipAudioUplink;
- if (!iIPUplink)
- {
- iIPUplink = TMSIPUplink::NewL(iUpFourCC, iPriority);
- }
+ delete iIPUplink;
+ iIPUplink = NULL;
+ TRAP(status, iIPUplink = TMSIPUplink::NewL(*this, iUpFourCC, iPriority));
- if (iIPUplink)
+ if (iIPUplink && status == TMS_RESULT_SUCCESS)
{
// Open message queue for handling server notifications to the client
if (iMsgQueueUp.Handle() <= 0)
@@ -1070,7 +1062,6 @@
iIPUplink->SetMsgQueue(iMsgQueueUp);
}
}
-
TRACE_PRN_IF_ERR(status);
TRACE_PRN_FN_EXT;
return status;
@@ -1348,11 +1339,13 @@
//
gint TMSCallIPAdpt::SetOutput(TMSAudioOutput output)
{
+ TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
if (iDnlinkInitialized && iIPDownlink)
{
TRAP(status, iIPDownlink->SetAudioDeviceL(output));
}
+ TRACE_PRN_FN_EXT;
return status;
}
// -----------------------------------------------------------------------------
@@ -1362,13 +1355,16 @@
//
gint TMSCallIPAdpt::GetOutput(TMSAudioOutput& output)
{
+ TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
if (iDnlinkInitialized && iIPDownlink)
{
TRAP(status, iIPDownlink->GetAudioDeviceL(output));
}
+ TRACE_PRN_FN_EXT;
return status;
}
+
// -----------------------------------------------------------------------------
// TMSCallIPAdpt::GetPreviousOutput
//
@@ -1385,20 +1381,77 @@
// -----------------------------------------------------------------------------
//
gint TMSCallIPAdpt::GetAvailableOutputsL(gint& /*count*/,
- CBufFlat*& /*outputsbuffer*/)
+ CBufFlat*& /*outputsbuf*/)
{
return TMS_RESULT_FEATURE_NOT_SUPPORTED;
}
// -----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
+// TMSCallIPAdpt::DownlinkInitCompleted
+// From TMSIPDevSoundObserver
+// -----------------------------------------------------------------------------
+//
+void TMSCallIPAdpt::DownlinkInitCompleted(gint status)
+ {
+ TRACE_PRN_FN_ENT;
+ if (status == TMS_RESULT_SUCCESS)
+ {
+ iDnlinkInitialized = TRUE;
+ }
+ NotifyClient(iDnlinkStreamId, ECmdDownlinkInitComplete, status);
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSCallIPAdpt::UplinkInitCompleted
+// From TMSIPDevSoundObserver
+// -----------------------------------------------------------------------------
+//
+void TMSCallIPAdpt::UplinkInitCompleted(gint status)
+ {
+ TRACE_PRN_FN_ENT;
+ if (status == TMS_RESULT_SUCCESS)
+ {
+ iUplinkInitialized = TRUE;
+ }
+ NotifyClient(iUplinkStreamId, ECmdUplinkInitComplete, status);
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSCallIPAdpt::UplinkStarted
+// From TMSIPDevSoundObserver
+// -----------------------------------------------------------------------------
+//
+void TMSCallIPAdpt::UplinkStarted(gint status)
+ {
+ TRACE_PRN_FN_ENT;
+ NotifyClient(iUplinkStreamId, ECmdUplinkStarted, status);
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSCallIPAdpt::DownlinkStarted
+// From TMSIPDevSoundObserver
+// -----------------------------------------------------------------------------
+//
+void TMSCallIPAdpt::DownlinkStarted(gint status)
+ {
+ TRACE_PRN_FN_ENT;
+ NotifyClient(iDnlinkStreamId, ECmdDownlinkStarted, status);
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
// TMSCallIPAdpt::NotifyClient
// -----------------------------------------------------------------------------
//
-void TMSCallIPAdpt::NotifyClient(const gint strmId, const gint aCommand,
- const gint aStatus, const gint64 /*aInt64*/)
+void TMSCallIPAdpt::NotifyClient(const gint strmId, const gint command,
+ const gint status, const gint64 /*int64*/)
{
- iMsgBuffer.iRequest = aCommand;
- iMsgBuffer.iStatus = aStatus;
+ iMsgBuffer.iRequest = command;
+ iMsgBuffer.iStatus = status;
if (strmId == iUplinkStreamId)
{