--- a/mmserv/tms/tmscallserver/src/tmscsdownlink.cpp Thu Aug 19 10:26:11 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmscsdownlink.cpp Tue Aug 31 15:43:02 2010 +0300
@@ -16,6 +16,7 @@
*/
#include <AudioPreference.h>
+#include "tmsutility.h"
#include "tmscsdownlink.h"
#include "tmscsdevsoundobserver.h"
@@ -37,9 +38,9 @@
// Second phase constructor
// -----------------------------------------------------------------------------
//
-void TMSCSDownlink::ConstructL()
+void TMSCSDownlink::ConstructL(const gint retrytime)
{
- TMSCSDevSound::ConstructL(TMS_STREAM_DOWNLINK);
+ TMSCSDevSound::ConstructL(TMS_STREAM_DOWNLINK, retrytime);
if (iDevSound)
{
@@ -51,11 +52,12 @@
// Static constructor
// -----------------------------------------------------------------------------
//
-TMSCSDownlink* TMSCSDownlink::NewL(TMSCSDevSoundObserver& observer)
+TMSCSDownlink* TMSCSDownlink::NewL(TMSCSDevSoundObserver& observer,
+ const gint retrytime)
{
TMSCSDownlink* self = new (ELeave) TMSCSDownlink(observer);
CleanupStack::PushL(self);
- self->ConstructL();
+ self->ConstructL(retrytime);
CleanupStack::Pop(self);
return self;
}
@@ -118,7 +120,7 @@
//
void TMSCSDownlink::BufferToBeFilled(CMMFBuffer* /*aBuffer*/)
{
- //TRACE_PRN_N(_L("TMSCSDownlink::BufferToBeFilled"));
+ TRACE_PRN_N(_L("TMSCSDownlink::BufferToBeFilled"));
// We dont react to devsound messages unless we are activating.
if (iActivationOngoing)
@@ -136,13 +138,22 @@
//
void TMSCSDownlink::PlayError(TInt aError)
{
- //TRACE_PRN_N1(_L("TMSCSDownlink::PlayError[%d]"), aError);
+ TRACE_PRN_N1(_L("TMSCSDownlink::PlayError[%d]"), aError);
// We don't react to devsound errors unless we are activating.
- if (iActivationOngoing && aError == KErrAccessDenied)
+ if (iActivationOngoing && (aError == KErrAccessDenied ||
+ aError == KErrInUse))
{
- iActivationOngoing = EFalse;
- iObserver.DownlinkActivationCompleted(aError);
+ if (iStartRetryTime != 0)
+ {
+ StartTimer();
+ }
+ else
+ {
+ CancelTimer();
+ iActivationOngoing = EFalse;
+ iObserver.DownlinkActivationCompleted(aError);
+ }
}
}