mmserv/tms/tmscallserver/src/ipcalldownlinkds.cpp
branchRCL_3
changeset 3 4f62049db6ac
parent 0 71ca22bcf22a
child 10 3d8c721bf319
equal deleted inserted replaced
0:71ca22bcf22a 3:4f62049db6ac
    26 #include "ipcallstream.h"
    26 #include "ipcallstream.h"
    27 
    27 
    28 using namespace TMS;
    28 using namespace TMS;
    29 
    29 
    30 // -----------------------------------------------------------------------------
    30 // -----------------------------------------------------------------------------
    31 // TMSVoIPDownlink::TMSVoIPDownlink
    31 // TMSIPDownlink::TMSIPDownlink
    32 // Standard Constructor
    32 // Standard Constructor
    33 // -----------------------------------------------------------------------------
    33 // -----------------------------------------------------------------------------
    34 //
    34 //
    35 TMSVoIPDownlink::TMSVoIPDownlink()
    35 TMSIPDownlink::TMSIPDownlink()
    36     {
    36     {
    37     }
    37     }
    38 
    38 
    39 // -----------------------------------------------------------------------------
    39 // -----------------------------------------------------------------------------
    40 // TMSVoIPDownlink::~TMSVoIPDownlink
    40 // TMSIPDownlink::~TMSIPDownlink
    41 // Standard Constructor
    41 // Standard Constructor
    42 // -----------------------------------------------------------------------------
    42 // -----------------------------------------------------------------------------
    43 //
    43 //
    44 TMSVoIPDownlink::~TMSVoIPDownlink()
    44 TMSIPDownlink::~TMSIPDownlink()
    45     {
    45     {
    46     TRACE_PRN_FN_ENT;
    46     TRACE_PRN_FN_ENT;
    47 
    47 
    48     Stop();
    48     Stop();
    49 
    49 
    55 
    55 
    56     TRACE_PRN_FN_EXT;
    56     TRACE_PRN_FN_EXT;
    57     }
    57     }
    58 
    58 
    59 // -----------------------------------------------------------------------------
    59 // -----------------------------------------------------------------------------
    60 // TMSVoIPDownlink::NewL
    60 // TMSIPDownlink::NewL
    61 // Symbian two-phase constructor
    61 // Symbian two-phase constructor
    62 // -----------------------------------------------------------------------------
    62 // -----------------------------------------------------------------------------
    63 //
    63 //
    64 TMSVoIPDownlink* TMSVoIPDownlink::NewL(const guint32 codecID,
    64 TMSIPDownlink* TMSIPDownlink::NewL(const guint32 codecID,
    65         const TMMFPrioritySettings priority)
    65         const TMMFPrioritySettings priority)
    66     {
    66     {
    67     TMSVoIPDownlink* self = new (ELeave) TMSVoIPDownlink();
    67     TMSIPDownlink* self = new (ELeave) TMSIPDownlink();
    68     CleanupStack::PushL(self);
    68     CleanupStack::PushL(self);
    69     self->ConstructL(codecID, priority);
    69     self->ConstructL(codecID, priority);
    70     CleanupStack::Pop(self);
    70     CleanupStack::Pop(self);
    71     return self;
    71     return self;
    72     }
    72     }
    73 
    73 
    74 // -----------------------------------------------------------------------------
    74 // -----------------------------------------------------------------------------
    75 // TMSVoIPDownlink::ConstructL
    75 // TMSIPDownlink::ConstructL
    76 // Part two of Symbian two phase construction
    76 // Part two of Symbian two phase construction
    77 // -----------------------------------------------------------------------------
    77 // -----------------------------------------------------------------------------
    78 //
    78 //
    79 void TMSVoIPDownlink::ConstructL(const guint32 codecID,
    79 void TMSIPDownlink::ConstructL(const guint32 codecID,
    80         const TMMFPrioritySettings priority)
    80         const TMMFPrioritySettings priority)
    81     {
    81     {
    82     TRACE_PRN_FN_ENT;
    82     TRACE_PRN_FN_ENT;
    83 
    83 
    84     iCodecID = codecID;
    84     iCodecID = codecID;
    98 
    98 
    99     TRACE_PRN_FN_EXT;
    99     TRACE_PRN_FN_EXT;
   100     }
   100     }
   101 
   101 
   102 // -----------------------------------------------------------------------------
   102 // -----------------------------------------------------------------------------
   103 // TMSVoIPDownlink::Start
   103 // TMSIPDownlink::Start
   104 //
   104 //
   105 // -----------------------------------------------------------------------------
   105 // -----------------------------------------------------------------------------
   106 //
   106 //
   107 void TMSVoIPDownlink::Start()
   107 void TMSIPDownlink::Start()
   108     {
   108     {
   109     TRACE_PRN_FN_ENT;
   109     TRACE_PRN_FN_ENT;
   110 
   110 
   111     gint err = TMS_RESULT_ILLEGAL_OPERATION;
   111     gint err = TMS_RESULT_ILLEGAL_OPERATION;
   112 
   112 
   126 
   126 
   127     TRACE_PRN_FN_EXT;
   127     TRACE_PRN_FN_EXT;
   128     }
   128     }
   129 
   129 
   130 // -----------------------------------------------------------------------------
   130 // -----------------------------------------------------------------------------
   131 // TMSVoIPDownlink::Stop
   131 // TMSIPDownlink::Stop
   132 //
   132 //
   133 // -----------------------------------------------------------------------------
   133 // -----------------------------------------------------------------------------
   134 //
   134 //
   135 void TMSVoIPDownlink::Stop()
   135 void TMSIPDownlink::Stop()
   136     {
   136     {
   137     TRACE_PRN_FN_ENT;
   137     TRACE_PRN_FN_ENT;
   138 
   138 
   139     if (iStatus == EStreaming && iDevSound)
   139     if (iStatus == EStreaming && iDevSound)
   140         {
   140         {
   144 
   144 
   145     TRACE_PRN_FN_EXT;
   145     TRACE_PRN_FN_EXT;
   146     }
   146     }
   147 
   147 
   148 // -----------------------------------------------------------------------------
   148 // -----------------------------------------------------------------------------
   149 // TMSVoIPDownlink::BufferToBeFilled
   149 // TMSIPDownlink::BufferToBeFilled
   150 // A reference to the buffer delivered from the DevSound is stored locally
   150 // A reference to the buffer delivered from the DevSound is stored locally
   151 // for later use. It will be filled with the data passed from the client
   151 // for later use. It will be filled with the data passed from the client
   152 // when it calls BufferFilled.
   152 // when it calls BufferFilled.
   153 //
   153 //
   154 // -----------------------------------------------------------------------------
   154 // -----------------------------------------------------------------------------
   155 //
   155 //
   156 void TMSVoIPDownlink::BufferToBeFilled(CMMFBuffer* aBuffer)
   156 void TMSIPDownlink::BufferToBeFilled(CMMFBuffer* aBuffer)
   157     {
   157     {
   158     // Store pointer to the received buffer
   158     // Store pointer to the received buffer
   159     iDevSoundBufPtr = static_cast<CMMFDataBuffer*> (aBuffer);
   159     iDevSoundBufPtr = static_cast<CMMFDataBuffer*> (aBuffer);
   160     iBufLen = iDevSoundBufPtr->RequestSize();
   160     iBufLen = iDevSoundBufPtr->RequestSize();
   161     TRACE_PRN_N1(_L("TMS->DNL->BTBF: LEN[%d]"), iBufLen);
   161     TRACE_PRN_N1(_L("TMS->DNL->BTBF: LEN[%d]"), iBufLen);
   198 
   198 
   199     TRACE_PRN_IF_ERR(err);
   199     TRACE_PRN_IF_ERR(err);
   200     }
   200     }
   201 
   201 
   202 // -----------------------------------------------------------------------------
   202 // -----------------------------------------------------------------------------
   203 // TMSVoIPDownlink::BufferFilled
   203 // TMSIPDownlink::BufferFilled
   204 //
   204 //
   205 // -----------------------------------------------------------------------------
   205 // -----------------------------------------------------------------------------
   206 //
   206 //
   207 void TMSVoIPDownlink::BufferFilled(const guint buflen)
   207 void TMSIPDownlink::BufferFilled(const guint buflen)
   208     {
   208     {
   209     TRACE_PRN_N1(_L("TMS->DNL->BF: LEN[%d]"), buflen);
   209     TRACE_PRN_N1(_L("TMS->DNL->BF: LEN[%d]"), buflen);
   210 
   210 
   211     // Copy data over from chunk
   211     // Copy data over from chunk
   212     TPtr8 dataPtr(iChunk.Base(), buflen, iMaxBufLen);
   212     TPtr8 dataPtr(iChunk.Base(), buflen, iMaxBufLen);
   228             }
   228             }
   229         }
   229         }
   230     }
   230     }
   231 
   231 
   232 // -----------------------------------------------------------------------------
   232 // -----------------------------------------------------------------------------
   233 // TMSVoIPDownlink::SetCodecCi
   233 // TMSIPDownlink::SetCodecCi
   234 //
   234 //
   235 // -----------------------------------------------------------------------------
   235 // -----------------------------------------------------------------------------
   236 //
   236 //
   237 gint TMSVoIPDownlink::SetCodecCi()
   237 gint TMSIPDownlink::SetCodecCi()
   238     {
   238     {
   239     TRAPD(err, SetCodecCiL());
   239     TRAPD(err, SetCodecCiL());
   240     return err;
   240     return err;
   241     }
   241     }
   242 
   242 
   243 // -----------------------------------------------------------------------------
   243 // -----------------------------------------------------------------------------
   244 // TMSVoIPDownlink::SetCodecCiL
   244 // TMSIPDownlink::SetCodecCiL
   245 //
   245 //
   246 // -----------------------------------------------------------------------------
   246 // -----------------------------------------------------------------------------
   247 //
   247 //
   248 void TMSVoIPDownlink::SetCodecCiL()
   248 void TMSIPDownlink::SetCodecCiL()
   249     {
   249     {
   250     TRACE_PRN_FN_ENT;
   250     TRACE_PRN_FN_ENT;
   251 
   251 
   252     switch (iCodecID)
   252     switch (iCodecID)
   253         {
   253         {
   294 
   294 
   295     TRACE_PRN_FN_EXT;
   295     TRACE_PRN_FN_EXT;
   296     }
   296     }
   297 
   297 
   298 // -----------------------------------------------------------------------------
   298 // -----------------------------------------------------------------------------
   299 // TMSVoIPDownlink::SetVolume
   299 // TMSIPDownlink::SetVolume
   300 //
   300 //
   301 // -----------------------------------------------------------------------------
   301 // -----------------------------------------------------------------------------
   302 //
   302 //
   303 gint TMSVoIPDownlink::SetVolume(const guint volume)
   303 gint TMSIPDownlink::SetVolume(const guint volume)
   304     {
   304     {
   305     gint ret(TMS_RESULT_UNINITIALIZED_OBJECT);
   305     gint ret(TMS_RESULT_UNINITIALIZED_OBJECT);
   306     if (iDevSound)
   306     if (iDevSound)
   307         {
   307         {
   308         iDevSound->SetVolume(volume);
   308         iDevSound->SetVolume(volume);
   311     TRACE_PRN_N1(_L("TMS->DNL: SetVolume [%d]"), volume);
   311     TRACE_PRN_N1(_L("TMS->DNL: SetVolume [%d]"), volume);
   312     return ret;
   312     return ret;
   313     }
   313     }
   314 
   314 
   315 // -----------------------------------------------------------------------------
   315 // -----------------------------------------------------------------------------
   316 // TMSVoIPDownlink::GetVolume
   316 // TMSIPDownlink::GetVolume
   317 //
   317 //
   318 // -----------------------------------------------------------------------------
   318 // -----------------------------------------------------------------------------
   319 //
   319 //
   320 gint TMSVoIPDownlink::GetVolume(guint& volume)
   320 gint TMSIPDownlink::GetVolume(guint& volume)
   321     {
   321     {
   322     gint ret(TMS_RESULT_UNINITIALIZED_OBJECT);
   322     gint ret(TMS_RESULT_UNINITIALIZED_OBJECT);
   323     if (iDevSound)
   323     if (iDevSound)
   324         {
   324         {
   325         volume = iDevSound->Volume();
   325         volume = iDevSound->Volume();
   328     TRACE_PRN_N1(_L("TMS->DNL: GetVolume [%d]"), volume);
   328     TRACE_PRN_N1(_L("TMS->DNL: GetVolume [%d]"), volume);
   329     return ret;
   329     return ret;
   330     }
   330     }
   331 
   331 
   332 // -----------------------------------------------------------------------------
   332 // -----------------------------------------------------------------------------
   333 // TMSVoIPDownlink::GetMaxVolume
   333 // TMSIPDownlink::GetMaxVolume
   334 //
   334 //
   335 // -----------------------------------------------------------------------------
   335 // -----------------------------------------------------------------------------
   336 //
   336 //
   337 gint TMSVoIPDownlink::GetMaxVolume(guint& volume)
   337 gint TMSIPDownlink::GetMaxVolume(guint& volume)
   338     {
   338     {
   339     gint ret(TMS_RESULT_UNINITIALIZED_OBJECT);
   339     gint ret(TMS_RESULT_UNINITIALIZED_OBJECT);
   340     if (iDevSound)
   340     if (iDevSound)
   341         {
   341         {
   342         volume = iDevSound->MaxVolume();
   342         volume = iDevSound->MaxVolume();
   345     TRACE_PRN_N1(_L("TMS->DNL: MaxVolume [%d]"), volume);
   345     TRACE_PRN_N1(_L("TMS->DNL: MaxVolume [%d]"), volume);
   346     return ret;
   346     return ret;
   347     }
   347     }
   348 
   348 
   349 // -----------------------------------------------------------------------------
   349 // -----------------------------------------------------------------------------
   350 // TMSVoIPDownlink::GetDataXferChunkHndl
   350 // TMSIPDownlink::GetDataXferChunkHndl
   351 //
   351 //
   352 // -----------------------------------------------------------------------------
   352 // -----------------------------------------------------------------------------
   353 //
   353 //
   354 gint TMSVoIPDownlink::GetDataXferChunkHndl(const TUint32 key, RChunk& chunk)
   354 gint TMSIPDownlink::GetDataXferChunkHndl(const TUint32 key, RChunk& chunk)
   355     {
   355     {
   356     gint status = TMS_RESULT_DOES_NOT_EXIST;
   356     gint status = TMS_RESULT_DOES_NOT_EXIST;
   357 
   357 
   358     if (iChunk.Handle())
   358     if (iChunk.Handle())
   359         {
   359         {
   373     TRACE_PRN_IF_ERR(status);
   373     TRACE_PRN_IF_ERR(status);
   374     return status;
   374     return status;
   375     }
   375     }
   376 
   376 
   377 // -----------------------------------------------------------------------------
   377 // -----------------------------------------------------------------------------
   378 // TMSVoIPDownlink::SetIlbcCodecMode
   378 // TMSIPDownlink::SetIlbcCodecMode
   379 //
   379 //
   380 // -----------------------------------------------------------------------------
   380 // -----------------------------------------------------------------------------
   381 //
   381 //
   382 gint TMSVoIPDownlink::SetIlbcCodecMode(gint mode)
   382 gint TMSIPDownlink::SetIlbcCodecMode(gint mode)
   383     {
   383     {
   384     gint err = TMS_RESULT_DOES_NOT_EXIST;
   384     gint err = TMS_RESULT_DOES_NOT_EXIST;
   385 
   385 
   386     if (iStatus == EReady)
   386     if (iStatus == EReady)
   387         {
   387         {
   407     TRACE_PRN_IF_ERR(err);
   407     TRACE_PRN_IF_ERR(err);
   408     return err;
   408     return err;
   409     }
   409     }
   410 
   410 
   411 // -----------------------------------------------------------------------------
   411 // -----------------------------------------------------------------------------
   412 // TMSVoIPDownlink::GetIlbcCodecMode
   412 // TMSIPDownlink::GetIlbcCodecMode
   413 //
   413 //
   414 // -----------------------------------------------------------------------------
   414 // -----------------------------------------------------------------------------
   415 //
   415 //
   416 gint TMSVoIPDownlink::GetIlbcCodecMode(gint& mode)
   416 gint TMSIPDownlink::GetIlbcCodecMode(gint& mode)
   417     {
   417     {
   418     // not available through CIs -> return cashed value
   418     // not available through CIs -> return cashed value
   419     mode = iILBCDecodeMode;
   419     mode = iILBCDecodeMode;
   420     TRACE_PRN_N1(_L("TMS->DNL: GetIlbcCodecMode [%d]"), mode);
   420     TRACE_PRN_N1(_L("TMS->DNL: GetIlbcCodecMode [%d]"), mode);
   421     return TMS_RESULT_SUCCESS;
   421     return TMS_RESULT_SUCCESS;
   422     }
   422     }
   423 
   423 
   424 // -----------------------------------------------------------------------------
   424 // -----------------------------------------------------------------------------
   425 // TMSVoIPDownlink::SetG711CodecMode
   425 // TMSIPDownlink::SetG711CodecMode
   426 //
   426 //
   427 // -----------------------------------------------------------------------------
   427 // -----------------------------------------------------------------------------
   428 //
   428 //
   429 gint TMSVoIPDownlink::SetG711CodecMode(gint mode)
   429 gint TMSIPDownlink::SetG711CodecMode(gint mode)
   430     {
   430     {
   431     gint err = TMS_RESULT_DOES_NOT_EXIST;
   431     gint err = TMS_RESULT_DOES_NOT_EXIST;
   432 
   432 
   433     if (iStatus == EReady)
   433     if (iStatus == EReady)
   434         {
   434         {
   454     TRACE_PRN_IF_ERR(err);
   454     TRACE_PRN_IF_ERR(err);
   455     return err;
   455     return err;
   456     }
   456     }
   457 
   457 
   458 // -----------------------------------------------------------------------------
   458 // -----------------------------------------------------------------------------
   459 // TMSVoIPDownlink::GetG711CodecMode
   459 // TMSIPDownlink::GetG711CodecMode
   460 //
   460 //
   461 // -----------------------------------------------------------------------------
   461 // -----------------------------------------------------------------------------
   462 //
   462 //
   463 gint TMSVoIPDownlink::GetG711CodecMode(gint& mode)
   463 gint TMSIPDownlink::GetG711CodecMode(gint& mode)
   464     {
   464     {
   465     // not available through CIs -> return cached value
   465     // not available through CIs -> return cached value
   466     mode = iG711DecodeMode;
   466     mode = iG711DecodeMode;
   467     TRACE_PRN_N1(_L("TMS->DNL: GetG711CodecMode [%d]"), mode);
   467     TRACE_PRN_N1(_L("TMS->DNL: GetG711CodecMode [%d]"), mode);
   468     return TMS_RESULT_SUCCESS;
   468     return TMS_RESULT_SUCCESS;
   469     }
   469     }
   470 
   470 
   471 // -----------------------------------------------------------------------------
   471 // -----------------------------------------------------------------------------
   472 // TMSVoIPDownlink::FrameModeRqrdForEC
   472 // TMSIPDownlink::FrameModeRqrdForEC
   473 //
   473 //
   474 // -----------------------------------------------------------------------------
   474 // -----------------------------------------------------------------------------
   475 //
   475 //
   476 gint TMSVoIPDownlink::FrameModeRqrdForEC(gboolean& frmodereq)
   476 gint TMSIPDownlink::FrameModeRqrdForEC(gboolean& frmodereq)
   477     {
   477     {
   478     gint err = TMS_RESULT_DOES_NOT_EXIST;
   478     gint err = TMS_RESULT_DOES_NOT_EXIST;
   479 
   479 
   480     if (iStatus == EReady)
   480     if (iStatus == EReady)
   481         {
   481         {
   489     TRACE_PRN_IF_ERR(err);
   489     TRACE_PRN_IF_ERR(err);
   490     return err;
   490     return err;
   491     }
   491     }
   492 
   492 
   493 // -----------------------------------------------------------------------------
   493 // -----------------------------------------------------------------------------
   494 // TMSVoIPDownlink::SetFrameMode
   494 // TMSIPDownlink::SetFrameMode
   495 //
   495 //
   496 // -----------------------------------------------------------------------------
   496 // -----------------------------------------------------------------------------
   497 //
   497 //
   498 gint TMSVoIPDownlink::SetFrameMode(const gboolean frmode)
   498 gint TMSIPDownlink::SetFrameMode(const gboolean frmode)
   499     {
   499     {
   500     gint err = TMS_RESULT_DOES_NOT_EXIST;
   500     gint err = TMS_RESULT_DOES_NOT_EXIST;
   501 
   501 
   502     if (iStatus == EReady)
   502     if (iStatus == EReady)
   503         {
   503         {
   513     TRACE_PRN_IF_ERR(err);
   513     TRACE_PRN_IF_ERR(err);
   514     return err;
   514     return err;
   515     }
   515     }
   516 
   516 
   517 // -----------------------------------------------------------------------------
   517 // -----------------------------------------------------------------------------
   518 // TMSVoIPDownlink::GetFrameMode
   518 // TMSIPDownlink::GetFrameMode
   519 //
   519 //
   520 // -----------------------------------------------------------------------------
   520 // -----------------------------------------------------------------------------
   521 //
   521 //
   522 gint TMSVoIPDownlink::GetFrameMode(gboolean& frmode)
   522 gint TMSIPDownlink::GetFrameMode(gboolean& frmode)
   523     {
   523     {
   524     gint err = TMS_RESULT_DOES_NOT_EXIST;
   524     gint err = TMS_RESULT_DOES_NOT_EXIST;
   525 
   525 
   526     if (iErrConcealmentIntfc)
   526     if (iErrConcealmentIntfc)
   527         {
   527         {
   534     TRACE_PRN_IF_ERR(err);
   534     TRACE_PRN_IF_ERR(err);
   535     return err;
   535     return err;
   536     }
   536     }
   537 
   537 
   538 // -----------------------------------------------------------------------------
   538 // -----------------------------------------------------------------------------
   539 // TMSVoIPDownlink::ConcealErrorForNextBuffer
   539 // TMSIPDownlink::ConcealErrorForNextBuffer
   540 //
   540 //
   541 // -----------------------------------------------------------------------------
   541 // -----------------------------------------------------------------------------
   542 //
   542 //
   543 gint TMSVoIPDownlink::ConcealErrorForNextBuffer()
   543 gint TMSIPDownlink::ConcealErrorForNextBuffer()
   544     {
   544     {
   545     gint err = TMS_RESULT_DOES_NOT_EXIST;
   545     gint err = TMS_RESULT_DOES_NOT_EXIST;
   546 
   546 
   547     if (iErrConcealmentIntfc)
   547     if (iErrConcealmentIntfc)
   548         {
   548         {
   553     TRACE_PRN_IF_ERR(err);
   553     TRACE_PRN_IF_ERR(err);
   554     return err;
   554     return err;
   555     }
   555     }
   556 
   556 
   557 // -----------------------------------------------------------------------------
   557 // -----------------------------------------------------------------------------
   558 // TMSVoIPDownlink::SetCng
   558 // TMSIPDownlink::SetCng
   559 //
   559 //
   560 // -----------------------------------------------------------------------------
   560 // -----------------------------------------------------------------------------
   561 //
   561 //
   562 gint TMSVoIPDownlink::SetCng(const TMSFormatType fmttype, const gboolean cng)
   562 gint TMSIPDownlink::SetCng(const TMSFormatType fmttype, const gboolean cng)
   563     {
   563     {
   564     gint err = TMS_RESULT_DOES_NOT_EXIST;
   564     gint err = TMS_RESULT_DOES_NOT_EXIST;
   565 
   565 
   566     if (iStatus == EReady)
   566     if (iStatus == EReady)
   567         {
   567         {
   580     TRACE_PRN_IF_ERR(err);
   580     TRACE_PRN_IF_ERR(err);
   581     return err;
   581     return err;
   582     }
   582     }
   583 
   583 
   584 // -----------------------------------------------------------------------------
   584 // -----------------------------------------------------------------------------
   585 // TMSVoIPDownlink::GetCng
   585 // TMSIPDownlink::GetCng
   586 //
   586 //
   587 // -----------------------------------------------------------------------------
   587 // -----------------------------------------------------------------------------
   588 //
   588 //
   589 gint TMSVoIPDownlink::GetCng(const TMSFormatType fmttype, gboolean& cng)
   589 gint TMSIPDownlink::GetCng(const TMSFormatType fmttype, gboolean& cng)
   590     {
   590     {
   591     gint err = TMS_RESULT_DOES_NOT_EXIST;
   591     gint err = TMS_RESULT_DOES_NOT_EXIST;
   592 
   592 
   593     if (iStatus == EReady)
   593     if (iStatus == EReady)
   594         {
   594         {
   607     TRACE_PRN_IF_ERR(err);
   607     TRACE_PRN_IF_ERR(err);
   608     return err;
   608     return err;
   609     }
   609     }
   610 
   610 
   611 // -----------------------------------------------------------------------------
   611 // -----------------------------------------------------------------------------
   612 // TMSVoIPDownlink::SetPlc
   612 // TMSIPDownlink::SetPlc
   613 //
   613 //
   614 // -----------------------------------------------------------------------------
   614 // -----------------------------------------------------------------------------
   615 //
   615 //
   616 gint TMSVoIPDownlink::SetPlc(const TMSFormatType fmttype, const gboolean plc)
   616 gint TMSIPDownlink::SetPlc(const TMSFormatType fmttype, const gboolean plc)
   617     {
   617     {
   618     gint err = TMS_RESULT_DOES_NOT_EXIST;
   618     gint err = TMS_RESULT_DOES_NOT_EXIST;
   619 
   619 
   620     if (iStatus == EReady)
   620     if (iStatus == EReady)
   621         {
   621         {
   630     TRACE_PRN_IF_ERR(err);
   630     TRACE_PRN_IF_ERR(err);
   631     return err;
   631     return err;
   632     }
   632     }
   633 
   633 
   634 // -----------------------------------------------------------------------------
   634 // -----------------------------------------------------------------------------
   635 // TMSVoIPDownlink::GetPlc
   635 // TMSIPDownlink::GetPlc
   636 //
   636 //
   637 // -----------------------------------------------------------------------------
   637 // -----------------------------------------------------------------------------
   638 //
   638 //
   639 gint TMSVoIPDownlink::GetPlc(const TMSFormatType fmttype, gboolean& plc)
   639 gint TMSIPDownlink::GetPlc(const TMSFormatType fmttype, gboolean& plc)
   640     {
   640     {
   641     gint err = TMS_RESULT_DOES_NOT_EXIST;
   641     gint err = TMS_RESULT_DOES_NOT_EXIST;
   642 
   642 
   643     if (fmttype == TMS_FORMAT_G711 && iG711DecoderIntfc)
   643     if (fmttype == TMS_FORMAT_G711 && iG711DecoderIntfc)
   644         {
   644         {
   651     TRACE_PRN_IF_ERR(err);
   651     TRACE_PRN_IF_ERR(err);
   652     return err;
   652     return err;
   653     }
   653     }
   654 
   654 
   655 // -----------------------------------------------------------------------------
   655 // -----------------------------------------------------------------------------
   656 // TMSVoIPDownlink::BadLsfNextBuffer
   656 // TMSIPDownlink::BadLsfNextBuffer
   657 //
   657 //
   658 // -----------------------------------------------------------------------------
   658 // -----------------------------------------------------------------------------
   659 //
   659 //
   660 gint TMSVoIPDownlink::BadLsfNextBuffer()
   660 gint TMSIPDownlink::BadLsfNextBuffer()
   661     {
   661     {
   662     gint err = TMS_RESULT_DOES_NOT_EXIST;
   662     gint err = TMS_RESULT_DOES_NOT_EXIST;
   663 
   663 
   664     if (iStatus == EStreaming)
   664     if (iStatus == EStreaming)
   665         {
   665         {
   673     TRACE_PRN_IF_ERR(err);
   673     TRACE_PRN_IF_ERR(err);
   674     return err;
   674     return err;
   675     }
   675     }
   676 
   676 
   677 // -----------------------------------------------------------------------------
   677 // -----------------------------------------------------------------------------
   678 // TMSVoIPDownlink::SetAudioDeviceL
   678 // TMSIPDownlink::SetAudioDeviceL
   679 //
   679 //
   680 // -----------------------------------------------------------------------------
   680 // -----------------------------------------------------------------------------
   681 void TMSVoIPDownlink::SetAudioDeviceL(TMSAudioOutput output)
   681 void TMSIPDownlink::SetAudioDeviceL(TMSAudioOutput output)
   682     {
   682     {
   683     TRACE_PRN_FN_ENT;
   683     TRACE_PRN_FN_ENT;
   684 
   684 
   685     if (!iAudioOutput)
   685     if (!iAudioOutput)
   686         {
   686         {
   713 
   713 
   714     TRACE_PRN_FN_EXT;
   714     TRACE_PRN_FN_EXT;
   715     }
   715     }
   716 
   716 
   717 // -----------------------------------------------------------------------------
   717 // -----------------------------------------------------------------------------
   718 // TMSVoIPDownlink::GetAudioDeviceL
   718 // TMSIPDownlink::GetAudioDeviceL
   719 //
   719 //
   720 // -----------------------------------------------------------------------------
   720 // -----------------------------------------------------------------------------
   721 //
   721 //
   722 void TMSVoIPDownlink::GetAudioDeviceL(TMSAudioOutput& output)
   722 void TMSIPDownlink::GetAudioDeviceL(TMSAudioOutput& output)
   723     {
   723     {
   724     TRACE_PRN_FN_ENT;
   724     TRACE_PRN_FN_ENT;
   725 
   725 
   726     if (!iAudioOutput)
   726     if (!iAudioOutput)
   727         {
   727         {
   754     }
   754     }
   755 
   755 
   756 // CALLBACKS
   756 // CALLBACKS
   757 
   757 
   758 // -----------------------------------------------------------------------------
   758 // -----------------------------------------------------------------------------
   759 // TMSVoIPDownlink::InitializeComplete
   759 // TMSIPDownlink::InitializeComplete
   760 // A callback from the DevSound indicating completion of the initialization.
   760 // A callback from the DevSound indicating completion of the initialization.
   761 // It will send config data to the D/S and configure the encoder via CI.
   761 // It will send config data to the D/S and configure the encoder via CI.
   762 // If everything goes well, the state of the thread is set EReady.
   762 // If everything goes well, the state of the thread is set EReady.
   763 // The initialization completion message is sent back to the main thread.
   763 // The initialization completion message is sent back to the main thread.
   764 // -----------------------------------------------------------------------------
   764 // -----------------------------------------------------------------------------
   765 //
   765 //
   766 void TMSVoIPDownlink::InitializeComplete(TInt aError)
   766 void TMSIPDownlink::InitializeComplete(TInt aError)
   767     {
   767     {
   768     TRACE_PRN_FN_ENT;
   768     TRACE_PRN_FN_ENT;
   769 
   769 
   770     gint err = aError;
   770     gint err = aError;
   771 
   771 
   799     TRACE_PRN_IF_ERR(err);
   799     TRACE_PRN_IF_ERR(err);
   800     TRACE_PRN_FN_EXT;
   800     TRACE_PRN_FN_EXT;
   801     }
   801     }
   802 
   802 
   803 // -----------------------------------------------------------------------------
   803 // -----------------------------------------------------------------------------
   804 // TMSVoIPDownlink::PlayError
   804 // TMSIPDownlink::PlayError
   805 // From MDevSoundObserver
   805 // From MDevSoundObserver
   806 // Record error is send to client over comm channel.
   806 // Record error is send to client over comm channel.
   807 // The state of recorder is rolled back to EReady.
   807 // The state of recorder is rolled back to EReady.
   808 // -----------------------------------------------------------------------------
   808 // -----------------------------------------------------------------------------
   809 //
   809 //
   810 void TMSVoIPDownlink::PlayError(TInt /*aError*/)
   810 void TMSIPDownlink::PlayError(TInt /*aError*/)
   811     {
   811     {
   812     //TRACE_PRN_IF_ERR(aError);
   812     //TRACE_PRN_IF_ERR(aError);
   813 
   813 
   814 #ifdef _DEBUG
   814 #ifdef _DEBUG
   815     iSamplesPlayedCount = 0;
   815     iSamplesPlayedCount = 0;