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 // |