mmserv/voipaudioservices/VoIPServer/src/VoIPServerSession.cpp
branchRCL_3
changeset 17 60e492b28869
parent 13 bea5e7625e42
equal deleted inserted replaced
15:ab526b8cacfb 17:60e492b28869
   238             break;
   238             break;
   239         case EVoIPGetMaxVolume:
   239         case EVoIPGetMaxVolume:
   240             GetMaxVolumeL(aMessage);
   240             GetMaxVolumeL(aMessage);
   241             break;
   241             break;
   242         case EVoIPGetVolume:
   242         case EVoIPGetVolume:
   243             GetVolume(aMessage);
   243             GetVolumeL(aMessage);
   244             break;
   244             break;
   245         case EVoIPSetVolume:
   245         case EVoIPSetVolume:
   246             SetVolume(aMessage);
   246             SetVolume(aMessage);
   247             break;
   247             break;
   248         case EVoIPGetMaxGain:
   248         case EVoIPGetMaxGain:
   249             GetMaxGainL(aMessage);
   249             GetMaxGainL(aMessage);
   250             break;
   250             break;
   251         case EVoIPGetGain:
   251         case EVoIPGetGain:
   252             GetGain(aMessage);
   252             GetGainL(aMessage);
   253             break;
   253             break;
   254         case EVoIPSetGain:
   254         case EVoIPSetGain:
   255             SetGain(aMessage);
   255             SetGain(aMessage);
   256             break;
   256             break;
   257         case EVoIPSetAudioDevice:
   257         case EVoIPSetAudioDevice:
   258             SetAudioDeviceL(aMessage);
   258             SetAudioDeviceL(aMessage);
   259             break;
   259             break;
   260         case EVoIPGetAudioDevice:
   260         case EVoIPGetAudioDevice:
   261             GetAudioDevice(aMessage);
   261             GetAudioDeviceL(aMessage);
   262             break;
   262             break;
   263         case EVoIPBufferFilled:
   263         case EVoIPBufferFilled:
   264             BufferFilledL(aMessage);
   264             BufferFilledL(aMessage);
   265             break;
   265             break;
   266         case EVoIPBufferEmptied:
   266         case EVoIPBufferEmptied:
   268             break;
   268             break;
   269         case EVoIPSetIlbcCodecMode:
   269         case EVoIPSetIlbcCodecMode:
   270             SetIlbcCodecModeL(aMessage);
   270             SetIlbcCodecModeL(aMessage);
   271             break;
   271             break;
   272         case EVoIPGetIlbcCodecMode:
   272         case EVoIPGetIlbcCodecMode:
   273             GetIlbcCodecMode(aMessage);
   273             GetIlbcCodecModeL(aMessage);
   274             break;
   274             break;
   275         case EVoIPSetG711CodecMode:
   275         case EVoIPSetG711CodecMode:
   276             SetG711CodecModeL(aMessage);
   276             SetG711CodecModeL(aMessage);
   277             break;
   277             break;
   278         case EVoIPGetG711CodecMode:
   278         case EVoIPGetG711CodecMode:
   279             GetG711CodecMode(aMessage);
   279             GetG711CodecModeL(aMessage);
   280             break;
   280             break;
   281         case EVoIPGetSupportedBitratesCount:
   281         case EVoIPGetSupportedBitratesCount:
   282             GetSupportedBitratesCount(aMessage);
   282             GetSupportedBitratesCountL(aMessage);
   283             break;
   283             break;
   284         case EVoIPGetSupportedBitrates:
   284         case EVoIPGetSupportedBitrates:
   285             GetSupportedBitratesL(aMessage);
   285             GetSupportedBitratesL(aMessage);
   286             break;
   286             break;
   287         case EVoIPSetBitrate:
   287         case EVoIPSetBitrate:
   288             SetBitrate(aMessage);
   288             SetBitrate(aMessage);
   289             break;
   289             break;
   290         case EVoIPGetBitrate:
   290         case EVoIPGetBitrate:
   291             GetBitrate(aMessage);
   291             GetBitrateL(aMessage);
   292             break;
   292             break;
   293         case EVoIPFrameModeRqrdForEC:
   293         case EVoIPFrameModeRqrdForEC:
   294             FrameModeRqrdForEC(aMessage);
   294             FrameModeRqrdForEcL(aMessage);
   295             break;
   295             break;
   296         case EVoIPSetFrameMode:
   296         case EVoIPSetFrameMode:
   297             SetFrameMode(aMessage);
   297             SetFrameMode(aMessage);
   298             break;
   298             break;
   299         case EVoIPGetFrameMode:
   299         case EVoIPGetFrameMode:
   300             GetFrameMode(aMessage);
   300             GetFrameModeL(aMessage);
   301             break;
   301             break;
   302         case EVoIPConcealErrForNextBuf:
   302         case EVoIPConcealErrForNextBuf:
   303             ConcealErrorForNextBuffer();
   303             ConcealErrorForNextBuffer();
   304             break;
   304             break;
   305         case EVoIPSetVad:
   305         case EVoIPSetVad:
   306             SetVad(aMessage);
   306             SetVad(aMessage);
   307             break;
   307             break;
   308         case EVoIPGetVad:
   308         case EVoIPGetVad:
   309             GetVad(aMessage);
   309             GetVadL(aMessage);
   310             break;
   310             break;
   311         case EVoIPSetCng:
   311         case EVoIPSetCng:
   312             SetCng(aMessage);
   312             SetCng(aMessage);
   313             break;
   313             break;
   314         case EVoIPGetCng:
   314         case EVoIPGetCng:
   315             GetCng(aMessage);
   315             GetCngL(aMessage);
   316             break;
   316             break;
   317         case EVoIPSetPlc:
   317         case EVoIPSetPlc:
   318             SetPlc(aMessage);
   318             SetPlc(aMessage);
   319             break;
   319             break;
   320         case EVoIPGetPlc:
   320         case EVoIPGetPlc:
   321             GetPlc(aMessage);
   321             GetPlcL(aMessage);
   322             break;
   322             break;
   323         case EVoIPBadLsfNextBuffer:
   323         case EVoIPBadLsfNextBuffer:
   324             BadLsfNextBuffer();
   324             BadLsfNextBuffer();
   325             break;
   325             break;
   326         case EVoIPOpenDTMFTonePlayer:
   326         case EVoIPOpenDTMFTonePlayer:
   437         if (iDevSound)
   437         if (iDevSound)
   438             {
   438             {
   439             iCodecsUp.Reset();
   439             iCodecsUp.Reset();
   440             iCodecsCountUp = 0;
   440             iCodecsCountUp = 0;
   441             iDevSound->GetSupportedInputDataTypesL(iCodecsUp, iPriority);
   441             iDevSound->GetSupportedInputDataTypesL(iCodecsUp, iPriority);
   442 /*
       
   443 #ifdef __WINSCW__
       
   444             // Support for adaptation stubs
       
   445             iCodecsUp.Append(KMccFourCCIdG711);
       
   446             iCodecsUp.Append(KMccFourCCIdG729);
       
   447             iCodecsUp.Append(KMccFourCCIdILBC);
       
   448             iCodecsUp.Append(KMccFourCCIdAMRNB);
       
   449 #endif
       
   450 */
       
   451             iCodecsCountUp = iCodecsUp.Count();
   442             iCodecsCountUp = iCodecsUp.Count();
   452 
   443 
   453             iCodecsDn.Reset();
   444             iCodecsDn.Reset();
   454             iCodecsCountDn = 0;
   445             iCodecsCountDn = 0;
   455             iDevSound->GetSupportedOutputDataTypesL(iCodecsDn, iPriority);
   446             iDevSound->GetSupportedOutputDataTypesL(iCodecsDn, iPriority);
   456 /*
       
   457 #ifdef __WINSCW__
       
   458             // Support for adaptation stubs
       
   459             iCodecsDn.Append(KMccFourCCIdG711);
       
   460             iCodecsDn.Append(KMccFourCCIdG729);
       
   461             iCodecsDn.Append(KMccFourCCIdILBC);
       
   462             iCodecsDn.Append(KMccFourCCIdAMRNB);
       
   463 #endif
       
   464 */
       
   465             iCodecsCountDn = iCodecsDn.Count();
   447             iCodecsCountDn = iCodecsDn.Count();
   466             }
   448             }
   467         }
   449         }
   468 
   450 
   469     delete iDevSound;
   451     delete iDevSound;
   735 //
   717 //
   736 // -----------------------------------------------------------------------------
   718 // -----------------------------------------------------------------------------
   737 //
   719 //
   738 void CVoIPAudioServerSession::GetMaxVolumeL(const RMessage2& aMessage)
   720 void CVoIPAudioServerSession::GetMaxVolumeL(const RMessage2& aMessage)
   739     {
   721     {
   740     TPckgBuf<TInt> p(iMaxVolume);
   722     if (iThread.Handle() > 0 && iMaxVolume > 0)
   741     aMessage.WriteL(0, p);
   723         {
       
   724         TPckgBuf<TInt> p(iMaxVolume);
       
   725         aMessage.WriteL(0, p);
       
   726         }
       
   727     else
       
   728         {
       
   729         User::Leave(KErrBadHandle);
       
   730         }
   742 
   731 
   743     TRACE_PRN_N1(_L("VoIP->SRV-SESSION: GetMaxVolumeL->MaxVolume [%d]"),
   732     TRACE_PRN_N1(_L("VoIP->SRV-SESSION: GetMaxVolumeL->MaxVolume [%d]"),
   744             iMaxVolume);
   733             iMaxVolume);
   745     }
   734     }
   746 
   735 
   747 // -----------------------------------------------------------------------------
   736 // -----------------------------------------------------------------------------
   748 // CVoIPAudioServerSession::GetVolume
   737 // CVoIPAudioServerSession::GetVolumeL
   749 //
   738 //
   750 // -----------------------------------------------------------------------------
   739 // -----------------------------------------------------------------------------
   751 //
   740 //
   752 void CVoIPAudioServerSession::GetVolume(const RMessage2& aMessage)
   741 void CVoIPAudioServerSession::GetVolumeL(const RMessage2& aMessage)
   753     {
   742     {
   754     iMessage = aMessage;
   743     if (iThread.Handle() > 0)
   755     iMsgQueued = ETrue;
   744         {
   756     SendCmdToThread(ECmdGetVolume);
   745         iMessage = aMessage;
       
   746         iMsgQueued = ETrue;
       
   747         SendCmdToThread(ECmdGetVolume);
       
   748         }
       
   749     else
       
   750         {
       
   751         User::Leave(KErrBadHandle);
       
   752         }
   757     }
   753     }
   758 
   754 
   759 // -----------------------------------------------------------------------------
   755 // -----------------------------------------------------------------------------
   760 // CVoIPAudioServerSession::SetVolume
   756 // CVoIPAudioServerSession::SetVolume
   761 //
   757 //
   774 //
   770 //
   775 // -----------------------------------------------------------------------------
   771 // -----------------------------------------------------------------------------
   776 //
   772 //
   777 void CVoIPAudioServerSession::GetMaxGainL(const RMessage2& aMessage)
   773 void CVoIPAudioServerSession::GetMaxGainL(const RMessage2& aMessage)
   778     {
   774     {
   779     TPckgBuf<TInt> p(iMaxGain);
   775     if (iThread.Handle() > 0 && iMaxGain > 0)
   780     aMessage.WriteL(0, p);
   776         {
   781 
   777         TPckgBuf<TInt> p(iMaxGain);
       
   778         aMessage.WriteL(0, p);
       
   779         }
       
   780     else
       
   781         {
       
   782         User::Leave(KErrBadHandle);
       
   783         }
   782     TRACE_PRN_N1(_L("VoIP->SRV-SESSION: GetMaxGainL->MaxGain [%d]"), iMaxGain);
   784     TRACE_PRN_N1(_L("VoIP->SRV-SESSION: GetMaxGainL->MaxGain [%d]"), iMaxGain);
   783     }
   785     }
   784 
   786 
   785 // -----------------------------------------------------------------------------
   787 // -----------------------------------------------------------------------------
   786 // CVoIPAudioServerSession::GetGain
   788 // CVoIPAudioServerSession::GetGainL
   787 //
   789 //
   788 // -----------------------------------------------------------------------------
   790 // -----------------------------------------------------------------------------
   789 //
   791 //
   790 void CVoIPAudioServerSession::GetGain(const RMessage2& aMessage)
   792 void CVoIPAudioServerSession::GetGainL(const RMessage2& aMessage)
   791     {
   793     {
   792     iMessage = aMessage;
   794     if (iThread.Handle() > 0)
   793     iMsgQueued = ETrue;
   795         {
   794     SendCmdToThread(ECmdGetGain);
   796         iMessage = aMessage;
       
   797         iMsgQueued = ETrue;
       
   798         SendCmdToThread(ECmdGetGain);
       
   799         }
       
   800     else
       
   801         {
       
   802         User::Leave(KErrBadHandle);
       
   803         }
   795     }
   804     }
   796 
   805 
   797 // -----------------------------------------------------------------------------
   806 // -----------------------------------------------------------------------------
   798 // CVoIPAudioServerSession::SetGain
   807 // CVoIPAudioServerSession::SetGain
   799 //
   808 //
   827     iShared.iMutex.Signal();
   836     iShared.iMutex.Signal();
   828     SendCmdToThread(ECmdSetAudioDevice);
   837     SendCmdToThread(ECmdSetAudioDevice);
   829     }
   838     }
   830 
   839 
   831 // -----------------------------------------------------------------------------
   840 // -----------------------------------------------------------------------------
   832 // CVoIPAudioServerSession::GetAudioDevice
   841 // CVoIPAudioServerSession::GetAudioDeviceL
   833 //
   842 //
   834 // -----------------------------------------------------------------------------
   843 // -----------------------------------------------------------------------------
   835 //
   844 //
   836 void CVoIPAudioServerSession::GetAudioDevice(const RMessage2& aMessage)
   845 void CVoIPAudioServerSession::GetAudioDeviceL(const RMessage2& aMessage)
   837     {
   846     {
   838     iMessage = aMessage;
   847     if (iThread.Handle() > 0)
   839     iMsgQueued = ETrue;
   848         {
   840     SendCmdToThread(ECmdGetAudioDevice);
   849         iMessage = aMessage;
       
   850         iMsgQueued = ETrue;
       
   851         SendCmdToThread(ECmdGetAudioDevice);
       
   852         }
       
   853     else
       
   854         {
       
   855         User::Leave(KErrBadHandle);
       
   856         }
   841     }
   857     }
   842 
   858 
   843 // -----------------------------------------------------------------------------
   859 // -----------------------------------------------------------------------------
   844 // CVoIPAudioServerSession::BufferFilled
   860 // CVoIPAudioServerSession::BufferFilled
   845 //
   861 //
   846 // -----------------------------------------------------------------------------
   862 // -----------------------------------------------------------------------------
   847 //
   863 //
   848 void CVoIPAudioServerSession::BufferFilledL(const RMessage2& aMessage)
   864 void CVoIPAudioServerSession::BufferFilledL(const RMessage2& aMessage)
   849     {
   865     {
   850     //    TRACE_PRN_FN_ENT;
       
   851 
       
   852     TVoIPMsgBufPckg pckg;
   866     TVoIPMsgBufPckg pckg;
   853     aMessage.ReadL(0, pckg);
   867     aMessage.ReadL(0, pckg);
   854     iShared.iMutex.Wait();
   868     iShared.iMutex.Wait();
   855     iShared.iBufferSize = pckg().iInt;
   869     iShared.iBufferSize = pckg().iInt;
   856     iShared.iSequenceNum = pckg().iUint;
   870     iShared.iSequenceNum = pckg().iUint;
   857     iShared.iMutex.Signal();
   871     iShared.iMutex.Signal();
   858     SendCmdToThread(ECmdBufferFilled);
   872     SendCmdToThread(ECmdBufferFilled);
   859 
       
   860     //    TRACE_PRN_FN_EXT;
       
   861     }
   873     }
   862 
   874 
   863 // -----------------------------------------------------------------------------
   875 // -----------------------------------------------------------------------------
   864 // CVoIPAudioServerSession::BufferEmptied
   876 // CVoIPAudioServerSession::BufferEmptied
   865 //
   877 //
   866 // -----------------------------------------------------------------------------
   878 // -----------------------------------------------------------------------------
   867 //
   879 //
   868 void CVoIPAudioServerSession::BufferEmptiedL(const RMessage2& /*aMessage*/)
   880 void CVoIPAudioServerSession::BufferEmptiedL(const RMessage2& /*aMessage*/)
   869     {
   881     {
   870     //    TRACE_PRN_FN_ENT;
       
   871     SendCmdToThread(ECmdBufferEmptied);
   882     SendCmdToThread(ECmdBufferEmptied);
   872     //    TRACE_PRN_FN_EXT;
       
   873     }
   883     }
   874 
   884 
   875 // -----------------------------------------------------------------------------
   885 // -----------------------------------------------------------------------------
   876 // CVoIPAudioServerSession::SetIlbcCodecMode
   886 // CVoIPAudioServerSession::SetIlbcCodecMode
   877 //
   887 //
   886     iShared.iMutex.Signal();
   896     iShared.iMutex.Signal();
   887     SendCmdToThread(ECmdSetIlbcCodecMode);
   897     SendCmdToThread(ECmdSetIlbcCodecMode);
   888     }
   898     }
   889 
   899 
   890 // -----------------------------------------------------------------------------
   900 // -----------------------------------------------------------------------------
   891 // CVoIPAudioServerSession::GetIlbcCodecMode
   901 // CVoIPAudioServerSession::GetIlbcCodecModeL
   892 //
   902 //
   893 // -----------------------------------------------------------------------------
   903 // -----------------------------------------------------------------------------
   894 //
   904 //
   895 void CVoIPAudioServerSession::GetIlbcCodecMode(const RMessage2& aMessage)
   905 void CVoIPAudioServerSession::GetIlbcCodecModeL(const RMessage2& aMessage)
   896     {
   906     {
   897     iMessage = aMessage;
   907     if (iThread.Handle() > 0)
   898     iMsgQueued = ETrue;
   908         {
   899     SendCmdToThread(ECmdGetIlbcCodecMode);
   909         iMessage = aMessage;
       
   910         iMsgQueued = ETrue;
       
   911         SendCmdToThread(ECmdGetIlbcCodecMode);
       
   912         }
       
   913     else
       
   914         {
       
   915         User::Leave(KErrBadHandle);
       
   916         }
   900     }
   917     }
   901 
   918 
   902 // -----------------------------------------------------------------------------
   919 // -----------------------------------------------------------------------------
   903 // CVoIPAudioServerSession::SetG711CodecMode
   920 // CVoIPAudioServerSession::SetG711CodecMode
   904 //
   921 //
   913     iShared.iMutex.Signal();
   930     iShared.iMutex.Signal();
   914     SendCmdToThread(ECmdSetG711CodecMode);
   931     SendCmdToThread(ECmdSetG711CodecMode);
   915     }
   932     }
   916 
   933 
   917 // -----------------------------------------------------------------------------
   934 // -----------------------------------------------------------------------------
   918 // CVoIPAudioServerSession::GetG711CodecMode
   935 // CVoIPAudioServerSession::GetG711CodecModeL
   919 //
   936 //
   920 // -----------------------------------------------------------------------------
   937 // -----------------------------------------------------------------------------
   921 //
   938 //
   922 void CVoIPAudioServerSession::GetG711CodecMode(const RMessage2& aMessage)
   939 void CVoIPAudioServerSession::GetG711CodecModeL(const RMessage2& aMessage)
   923     {
   940     {
   924     iMessage = aMessage;
   941     if (iThread.Handle() > 0)
   925     iMsgQueued = ETrue;
   942         {
   926     SendCmdToThread(ECmdGetG711CodecMode);
   943         iMessage = aMessage;
   927     }
   944         iMsgQueued = ETrue;
   928 
   945         SendCmdToThread(ECmdGetG711CodecMode);
   929 // -----------------------------------------------------------------------------
   946         }
   930 // CVoIPAudioServerSession::GetSupportedBitratesCount
   947     else
   931 //
   948         {
   932 // -----------------------------------------------------------------------------
   949         User::Leave(KErrBadHandle);
   933 //
   950         }
   934 void CVoIPAudioServerSession::GetSupportedBitratesCount(
   951     }
       
   952 
       
   953 // -----------------------------------------------------------------------------
       
   954 // CVoIPAudioServerSession::GetSupportedBitratesCountL
       
   955 //
       
   956 // -----------------------------------------------------------------------------
       
   957 //
       
   958 void CVoIPAudioServerSession::GetSupportedBitratesCountL(
   935         const RMessage2& aMessage)
   959         const RMessage2& aMessage)
   936     {
   960     {
   937     iMessage = aMessage;
   961     if (iThread.Handle() > 0)
   938     iMsgQueued = ETrue;
   962         {
   939     SendCmdToThread(ECmdGetSupportedBitrates);
   963         iMessage = aMessage;
       
   964         iMsgQueued = ETrue;
       
   965         SendCmdToThread(ECmdGetSupportedBitrates);
       
   966         }
       
   967     else
       
   968         {
       
   969         User::Leave(KErrBadHandle);
       
   970         }
   940     }
   971     }
   941 
   972 
   942 // -----------------------------------------------------------------------------
   973 // -----------------------------------------------------------------------------
   943 // CVoIPAudioServerSession::GetSupportedBitratesL
   974 // CVoIPAudioServerSession::GetSupportedBitratesL
   944 // Bitrates are already returned from the codec as a result of call to
   975 // Bitrates are already returned from the codec as a result of call to
   990     iShared.iMutex.Signal();
  1021     iShared.iMutex.Signal();
   991     SendCmdToThread(ECmdSetBitrate);
  1022     SendCmdToThread(ECmdSetBitrate);
   992     }
  1023     }
   993 
  1024 
   994 // -----------------------------------------------------------------------------
  1025 // -----------------------------------------------------------------------------
   995 // CVoIPAudioServerSession::GetBitrate
  1026 // CVoIPAudioServerSession::GetBitrateL
   996 //
  1027 //
   997 // -----------------------------------------------------------------------------
  1028 // -----------------------------------------------------------------------------
   998 //
  1029 //
   999 void CVoIPAudioServerSession::GetBitrate(const RMessage2& aMessage)
  1030 void CVoIPAudioServerSession::GetBitrateL(const RMessage2& aMessage)
  1000     {
  1031     {
  1001     iMessage = aMessage;
  1032     if (iThread.Handle() > 0)
  1002     iMsgQueued = ETrue;
  1033         {
  1003     SendCmdToThread(ECmdGetBitrate);
  1034         iMessage = aMessage;
  1004     }
  1035         iMsgQueued = ETrue;
  1005 
  1036         SendCmdToThread(ECmdGetBitrate);
  1006 // -----------------------------------------------------------------------------
  1037         }
  1007 // CVoIPAudioServerSession::FrameModeRequiredForEC
  1038     else
  1008 //
  1039         {
  1009 // -----------------------------------------------------------------------------
  1040         User::Leave(KErrBadHandle);
  1010 //
  1041         }
  1011 void CVoIPAudioServerSession::FrameModeRqrdForEC(const RMessage2& aMessage)
  1042     }
  1012     {
  1043 
  1013     iMessage = aMessage;
  1044 // -----------------------------------------------------------------------------
  1014     iMsgQueued = ETrue;
  1045 // CVoIPAudioServerSession::FrameModeRequiredForEcL
  1015     SendCmdToThread(ECmdFrameModeRqrdForEC);
  1046 //
       
  1047 // -----------------------------------------------------------------------------
       
  1048 //
       
  1049 void CVoIPAudioServerSession::FrameModeRqrdForEcL(const RMessage2& aMessage)
       
  1050     {
       
  1051     if (iThread.Handle() > 0)
       
  1052         {
       
  1053         iMessage = aMessage;
       
  1054         iMsgQueued = ETrue;
       
  1055         SendCmdToThread(ECmdFrameModeRqrdForEC);
       
  1056         }
       
  1057     else
       
  1058         {
       
  1059         User::Leave(KErrBadHandle);
       
  1060         }
  1016     }
  1061     }
  1017 
  1062 
  1018 // -----------------------------------------------------------------------------
  1063 // -----------------------------------------------------------------------------
  1019 // CVoIPAudioServerSession::SetFrameMode
  1064 // CVoIPAudioServerSession::SetFrameMode
  1020 //
  1065 //
  1027     iShared.iMutex.Signal();
  1072     iShared.iMutex.Signal();
  1028     SendCmdToThread(ECmdSetFrameMode);
  1073     SendCmdToThread(ECmdSetFrameMode);
  1029     }
  1074     }
  1030 
  1075 
  1031 // -----------------------------------------------------------------------------
  1076 // -----------------------------------------------------------------------------
  1032 // CVoIPAudioServerSession::GetFrameMode
  1077 // CVoIPAudioServerSession::GetFrameModeL
  1033 //
  1078 //
  1034 // -----------------------------------------------------------------------------
  1079 // -----------------------------------------------------------------------------
  1035 //
  1080 //
  1036 void CVoIPAudioServerSession::GetFrameMode(const RMessage2& aMessage)
  1081 void CVoIPAudioServerSession::GetFrameModeL(const RMessage2& aMessage)
  1037     {
  1082     {
  1038     iMessage = aMessage;
  1083     if (iThread.Handle() > 0)
  1039     iMsgQueued = ETrue;
  1084         {
  1040     SendCmdToThread(ECmdGetFrameMode);
  1085         iMessage = aMessage;
       
  1086         iMsgQueued = ETrue;
       
  1087         SendCmdToThread(ECmdGetFrameMode);
       
  1088         }
       
  1089     else
       
  1090         {
       
  1091         User::Leave(KErrBadHandle);
       
  1092         }
  1041     }
  1093     }
  1042 
  1094 
  1043 // -----------------------------------------------------------------------------
  1095 // -----------------------------------------------------------------------------
  1044 // CVoIPAudioServerSession::ConcealErrorForNextBuffer
  1096 // CVoIPAudioServerSession::ConcealErrorForNextBuffer
  1045 // -----------------------------------------------------------------------------
  1097 // -----------------------------------------------------------------------------
  1061     iShared.iMutex.Signal();
  1113     iShared.iMutex.Signal();
  1062     SendCmdToThread(ECmdSetVad);
  1114     SendCmdToThread(ECmdSetVad);
  1063     }
  1115     }
  1064 
  1116 
  1065 // -----------------------------------------------------------------------------
  1117 // -----------------------------------------------------------------------------
  1066 // CVoIPAudioServerSession::GetVad
  1118 // CVoIPAudioServerSession::GetVadL
  1067 //
  1119 //
  1068 // -----------------------------------------------------------------------------
  1120 // -----------------------------------------------------------------------------
  1069 //
  1121 //
  1070 void CVoIPAudioServerSession::GetVad(const RMessage2& aMessage)
  1122 void CVoIPAudioServerSession::GetVadL(const RMessage2& aMessage)
  1071     {
  1123     {
  1072     iMessage = aMessage;
  1124     if (iThread.Handle() > 0)
  1073     iMsgQueued = ETrue;
  1125         {
  1074     SendCmdToThread(ECmdGetVad);
  1126         iMessage = aMessage;
       
  1127         iMsgQueued = ETrue;
       
  1128         SendCmdToThread(ECmdGetVad);
       
  1129         }
       
  1130     else
       
  1131         {
       
  1132         User::Leave(KErrBadHandle);
       
  1133         }
  1075     }
  1134     }
  1076 
  1135 
  1077 // -----------------------------------------------------------------------------
  1136 // -----------------------------------------------------------------------------
  1078 // CVoIPAudioServerSession::SetCng
  1137 // CVoIPAudioServerSession::SetCng
  1079 //
  1138 //
  1086     iShared.iMutex.Signal();
  1145     iShared.iMutex.Signal();
  1087     SendCmdToThread(ECmdSetCng);
  1146     SendCmdToThread(ECmdSetCng);
  1088     }
  1147     }
  1089 
  1148 
  1090 // -----------------------------------------------------------------------------
  1149 // -----------------------------------------------------------------------------
  1091 // CVoIPAudioServerSession::GetCng
  1150 // CVoIPAudioServerSession::GetCngL
  1092 //
  1151 //
  1093 // -----------------------------------------------------------------------------
  1152 // -----------------------------------------------------------------------------
  1094 //
  1153 //
  1095 void CVoIPAudioServerSession::GetCng(const RMessage2& aMessage)
  1154 void CVoIPAudioServerSession::GetCngL(const RMessage2& aMessage)
  1096     {
  1155     {
  1097     iMessage = aMessage;
  1156     if (iThread.Handle() > 0)
  1098     iMsgQueued = ETrue;
  1157         {
  1099     SendCmdToThread(ECmdGetCng);
  1158         iMessage = aMessage;
       
  1159         iMsgQueued = ETrue;
       
  1160         SendCmdToThread(ECmdGetCng);
       
  1161         }
       
  1162     else
       
  1163         {
       
  1164         User::Leave(KErrBadHandle);
       
  1165         }
  1100     }
  1166     }
  1101 
  1167 
  1102 // -----------------------------------------------------------------------------
  1168 // -----------------------------------------------------------------------------
  1103 // CVoIPAudioServerSession::SetPlc
  1169 // CVoIPAudioServerSession::SetPlc
  1104 //
  1170 //
  1111     iShared.iMutex.Signal();
  1177     iShared.iMutex.Signal();
  1112     SendCmdToThread(ECmdSetPlc);
  1178     SendCmdToThread(ECmdSetPlc);
  1113     }
  1179     }
  1114 
  1180 
  1115 // -----------------------------------------------------------------------------
  1181 // -----------------------------------------------------------------------------
  1116 // CVoIPAudioServerSession::GetPlc
  1182 // CVoIPAudioServerSession::GetPlcL
  1117 //
  1183 //
  1118 // -----------------------------------------------------------------------------
  1184 // -----------------------------------------------------------------------------
  1119 //
  1185 //
  1120 void CVoIPAudioServerSession::GetPlc(const RMessage2& aMessage)
  1186 void CVoIPAudioServerSession::GetPlcL(const RMessage2& aMessage)
  1121     {
  1187     {
  1122     iMessage = aMessage;
  1188     if (iThread.Handle() > 0)
  1123     iMsgQueued = ETrue;
  1189         {
  1124     SendCmdToThread(ECmdGetPlc);
  1190         iMessage = aMessage;
       
  1191         iMsgQueued = ETrue;
       
  1192         SendCmdToThread(ECmdGetPlc);
       
  1193         }
       
  1194     else
       
  1195         {
       
  1196         User::Leave(KErrBadHandle);
       
  1197         }
  1125     }
  1198     }
  1126 
  1199 
  1127 // -----------------------------------------------------------------------------
  1200 // -----------------------------------------------------------------------------
  1128 // CVoIPAudioServerSession::BadLsfNextBuffer
  1201 // CVoIPAudioServerSession::BadLsfNextBuffer
  1129 //
  1202 //
  1200         iDTMFTonePlayer = CMMFDevSound::NewL();
  1273         iDTMFTonePlayer = CMMFDevSound::NewL();
  1201 
  1274 
  1202         if (iDTMFTonePlayer)
  1275         if (iDTMFTonePlayer)
  1203             {
  1276             {
  1204             iDTMFTonePlayerInitRequest = ETrue;
  1277             iDTMFTonePlayerInitRequest = ETrue;
  1205             TRAPD(err, iDTMFTonePlayer->InitializeL(*this, EMMFStateTonePlaying));
  1278             TRAPD(err, iDTMFTonePlayer->InitializeL(*this,
       
  1279                     EMMFStateTonePlaying));
  1206             if (err != KErrNone)
  1280             if (err != KErrNone)
  1207                 {
  1281                 {
  1208                 delete iDTMFTonePlayer;
  1282                 delete iDTMFTonePlayer;
  1209                 iDTMFTonePlayer = NULL;
  1283                 iDTMFTonePlayer = NULL;
  1210                 iDTMFTonePlayerInitRequest = EFalse;
  1284                 iDTMFTonePlayerInitRequest = EFalse;
  1855         {
  1929         {
  1856         iMsgBuffer.iRequest = aCommand;
  1930         iMsgBuffer.iRequest = aCommand;
  1857         iMsgBuffer.iStatus = aStatus;
  1931         iMsgBuffer.iStatus = aStatus;
  1858         iITCMsgComQueue.Send(iMsgBuffer);
  1932         iITCMsgComQueue.Send(iMsgBuffer);
  1859         }
  1933         }
  1860     else
       
  1861         {
       
  1862         if (iMsgQueued)
       
  1863             {
       
  1864             iMessage.Complete(KErrCancel);
       
  1865             iMsgQueued = EFalse;
       
  1866             }
       
  1867         }
       
  1868     }
  1934     }
  1869 
  1935 
  1870 // -----------------------------------------------------------------------------
  1936 // -----------------------------------------------------------------------------
  1871 // CVoIPAudioServerSession::NotifyClient
  1937 // CVoIPAudioServerSession::NotifyClient
  1872 // -----------------------------------------------------------------------------
  1938 // -----------------------------------------------------------------------------
  2089 //
  2155 //
  2090 // The recorder thread passes commands to this thread via an active object.
  2156 // The recorder thread passes commands to this thread via an active object.
  2091 // -----------------------------------------------------------------------------
  2157 // -----------------------------------------------------------------------------
  2092 //
  2158 //
  2093 void CVoIPAudioServerSession::DoHandleError(TInt /*aError*/)
  2159 void CVoIPAudioServerSession::DoHandleError(TInt /*aError*/)
  2094     {
  2160     {/*
  2095     /*    DEBPRN1(_L("VoIP->CVoIPAudioServerSession[0x%x]::DoHandleError [%d] :>"), aError);
  2161     DEBPRN1(_L("VoIP->CVoIPAudioServerSession[0x%x]::DoHandleError [%d] :>"), aError);
  2096      iShared.iMutex.Wait();
  2162     iShared.iMutex.Wait();
  2097      TUserCommand cmd = iShared.iCmd;
  2163     TUserCommand cmd = iShared.iCmd;
  2098      iShared.iMutex.Signal();
  2164     iShared.iMutex.Signal();
  2099 
  2165 
  2100      if (iMsgQueued)
  2166     if (iMsgQueued)
  2101      {
  2167         {
  2102      iMessage.Complete(aError);
  2168         iMessage.Complete(aError);
  2103      iMsgQueued = EFalse;
  2169         iMsgQueued = EFalse;
  2104      }
  2170         }
  2105      else
  2171     else
  2106      {
  2172         {
  2107      NotifyClient(cmd, aError);
  2173         NotifyClient(cmd, aError);
  2108      }
  2174         }*/
  2109      */
       
  2110     }
  2175     }
  2111 
  2176 
  2112 // -----------------------------------------------------------------------------
  2177 // -----------------------------------------------------------------------------
  2113 // CVoIPAudioServerSession::DoHandleCmd
  2178 // CVoIPAudioServerSession::DoHandleCmd
  2114 //
  2179 //