Revision: 201021 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 09 Jun 2010 10:15:38 +0300
branchRCL_3
changeset 13 bea5e7625e42
parent 12 2eb3b066cc7d
child 15 ab526b8cacfb
Revision: 201021 Kit: 2010123
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioPlayController.cpp
mmmw_plat/telephony_multimedia_service_api/inc/tms.h
mmmw_plat/telephony_multimedia_service_api/inc/tmsstream.h
mmmw_plat/telephony_multimedia_service_api/telephony_multimedia_service_api.metaxml
mmserv/radioutility/radioserver/Server/Src/RadioServer.cpp
mmserv/tms/inc/tmsshared.h
mmserv/tms/tmscallserver/group/tmscallserver.mmp
mmserv/tms/tmscallserver/src/tmscallipadpt.cpp
mmserv/tms/tmsutility/src/tmsutility.cpp
mmserv/voipaudioservices/VoIPServer/src/VoIPServerSession.cpp
mmserv/voipaudioservices/group/bld.inf
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioPlayController.cpp	Tue May 25 13:16:00 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioPlayController.cpp	Wed Jun 09 10:15:38 2010 +0300
@@ -1352,6 +1352,21 @@
         {// we got preempted during a seek
         // we're already seeking to a position. When we get there we'll come here again, but handle it below
         DP0(_L("CAdvancedAudioPlayController::DoPauseL got a preemption during seek"));
+        
+         // if we are seeking, we need to flush the devsound buffers regardless of loop play
+        DP0(_L("CAdvancedAudioPlayController::DoPauseL AudioOutput->StopL()"));
+        iAudioOutput->StopL();
+
+        if (iPlayingForInitPos)
+         {
+           iState = EInitialized;
+         }
+        else
+         {
+           iState = EPaused;
+         }
+        iPlayingForPauseSeek = EFalse;
+        iPlayingForInitPos = EFalse; 
         return;
         }
 
--- a/mmmw_plat/telephony_multimedia_service_api/inc/tms.h	Tue May 25 13:16:00 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/inc/tms.h	Wed Jun 09 10:15:38 2010 +0300
@@ -24,6 +24,7 @@
 
 namespace TMS {
 
+// FORWARD DECLARATION
 class TMSFormat;
 
 // Result codes
--- a/mmmw_plat/telephony_multimedia_service_api/inc/tmsstream.h	Tue May 25 13:16:00 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/inc/tmsstream.h	Wed Jun 09 10:15:38 2010 +0300
@@ -430,9 +430,10 @@
      *      IP call: DNL: client source, codec format and speaker sink
      *
      * @return
+     *      Common return codes:
      *      TMS_RESULT_SUCCESS if stream transitioned to the initialized state.
      *      TMS_RESULT_INVALID_STATE if stream has not transitioned to the
-     *      TMS_STREAM_UNINITIALIZED state.
+     *      TMS_STREAM_INITIALIZED state.
      *      TMS_RESULT_FORMAT_TYPE_UNSPECIFIED (IP call only) when stream
      *      has no format attached to it.
      *      TMS_RESULT_UNINITIALIZED_OBJECT when stream has no sink or source
@@ -456,10 +457,11 @@
      * Note: In TMS Ver 1.0.0.0, pausing stream for CS call is not supported.
      *
      * @return
-     *      TMS_RESULT_SUCCESS if stream successfully transitioned to the paused
-     *      state.
+     *      Common return codes:
+     *      TMS_RESULT_SUCCESS if stream successfully transitioned to the
+     *      paused state.
      *      TMS_RESULT_INVALID_STATE if stream is not in the
-     *      TMS_STREAM_INITIALIZED or TMS_STREAM_STARTED state.
+     *      TMS_STREAM_INITIALIZED or TMS_STREAM_PAUSED state.
      *
      */
     IMPORT_C gint Pause();
@@ -481,10 +483,11 @@
      * be in the TMS_STREAM_STARTED state.
      *
      * @return
-     *      TMS_RESULT_SUCCESS if stream successfully transitioned to the paused
-     *      state.
+     *      Common return codes:
+     *      TMS_RESULT_SUCCESS if stream successfully transitioned to the
+     *      started state.
      *      TMS_RESULT_INVALID_STATE if stream is not in the
-     *      TMS_STREAM_INITIALIZED or TMS_STREAM_PAUSED state.
+     *      TMS_STREAM_INITIALIZED or TMS_STREAM_STARTED state.
      *
      */
     IMPORT_C gint Start();
@@ -502,8 +505,9 @@
      * be in the TMS_STREAM_INITIALIZED state.
      *
      * @return
-     *      TMS_RESULT_SUCCESS if stream successfully transitioned to the paused
-     *      state.
+     *      Common return codes:
+     *      TMS_RESULT_SUCCESS if stream successfully transitioned to the
+     *      stopped state.
      *      TMS_RESULT_INVALID_STATE if stream is not in the
      *      TMS_STREAM_STARTED or TMS_STREAM_PAUSED state.
      *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/telephony_multimedia_service_api/telephony_multimedia_service_api.metaxml	Wed Jun 09 10:15:38 2010 +0300
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="e1fff71a33909022430461d13e338a8f" dataversion="2.0">
+  <name>telephony_multimedia_service_api</name>
+  <description>API to Telephony Multimedia Server</description>
+  <type>c++</type>
+  <collection>mmserv</collection>
+  <libs>
+    <lib name="tmsapi.lib"/>
+    <lib name="tmsfactory.lib"/>
+  </libs>
+  <release category="platform" sinceversion="0"/>
+  <attributes>
+    <htmldocprovided>no</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- a/mmserv/radioutility/radioserver/Server/Src/RadioServer.cpp	Tue May 25 13:16:00 2010 +0300
+++ b/mmserv/radioutility/radioserver/Server/Src/RadioServer.cpp	Wed Jun 09 10:15:38 2010 +0300
@@ -1435,6 +1435,7 @@
         iState = EStateTunerOff;
         iPreEmpted = ETrue;
         iSettings->SetRadioOff(aError);
+        RADIO_RDEBUG(_L("[RADIO-SVR] PlayError() - Call TunerOff and start waiting"));
         iTunerControl->TunerOff();		//The adaptation is expected to call TunerOffComplete() upon completion
         // wait for TunerOffComplete callback
         iSchedulerWait->Start();
@@ -1680,12 +1681,6 @@
         return;
         }
 
-    if ( iState != EStateStarted )
-        {
-        CompleteAsyncRequest(KErrAlreadyExists);
-        return;
-        }
-
     TInt err = KErrNone;
     if ( !iTunerControl )
         {
@@ -1832,7 +1827,7 @@
             break;
         case EStateTunerOff:
             if ( iSettings->IsAntennaAttached() && AllowRadioInOfflineMode()
-                    && !iSettings->IsTransmitterActive() )
+                    && !iSettings->IsTransmitterActive() && !iPreEmpted )
                 {
                 RADIO_RDEBUG(_L("[RADIO-SVR] ProcessSetFrequency() - Sent TunerOn request"));
                 RecreateFmTunerControl();
--- a/mmserv/tms/inc/tmsshared.h	Tue May 25 13:16:00 2010 +0300
+++ b/mmserv/tms/inc/tmsshared.h	Wed Jun 09 10:15:38 2010 +0300
@@ -114,18 +114,10 @@
     ECmdUplinkPaused,
     ECmdFillBuffer,
     ECmdEmptyBuffer,
-    ECmdDTMFOpenDnlinkComplete,
-    ECmdDTMFOpenUplinkComplete,
-    ECmdDTMFTonePlayFinished,
-    ECmdRingToneOpenComplete,
-    ECmdRingTonePlayComplete,
-    ECmdRingToneDeinitComplete,
     ECmdDownlinkClosed,
     ECmdUplinkClosed,
     ECmdGlobalRoutingChange,
-    ECmdGlobalEffectChange,
-    ECmdInbandToneStarted,
-    ECmdInbandToneStopped
+    ECmdGlobalEffectChange
     };
 
 // -----------------------------------------------------------------------------
--- a/mmserv/tms/tmscallserver/group/tmscallserver.mmp	Tue May 25 13:16:00 2010 +0300
+++ b/mmserv/tms/tmscallserver/group/tmscallserver.mmp	Wed Jun 09 10:15:38 2010 +0300
@@ -55,9 +55,6 @@
 
 USERINCLUDE     ../inc
 USERINCLUDE     ../../inc
-#ifdef __USE_GSTREAMER__
-USERINCLUDE     /sf/mw/gstreamer/gst_plugins_symbian/gst/devsound
-#endif //__USE_GSTREAMER__
 
 MW_LAYER_SYSTEMINCLUDE
 OS_LAYER_LIBC_SYSTEMINCLUDE
@@ -69,10 +66,7 @@
 
 #ifdef __USE_GSTREAMER__
 MW_LAYER_GSTREAMER_SYSTEMINCLUDE
-//SYSTEMINCLUDE   /sf/mw/gstreamer/include/gstreamer
-//SYSTEMINCLUDE   /sf/mw/gstreamer/include/gstreamer/gst
-//SYSTEMINCLUDE   /sf/mw/gstreamer/include/gstreamer/gst/app
-//SYSTEMINCLUDE   /epoc32/include/stdapis/glib-2.0/gobject
+MW_LAYER_GSTREAMER_SYSTEMINCLUDE(gst_plugins_symbian/gst/devsound)
 
 LIBRARY         libgobject.lib
 LIBRARY         libgstreamer.lib
--- a/mmserv/tms/tmscallserver/src/tmscallipadpt.cpp	Tue May 25 13:16:00 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmscallipadpt.cpp	Wed Jun 09 10:15:38 2010 +0300
@@ -100,7 +100,6 @@
     iNextStreamId = 1;
     iUplinkInitialized = FALSE;
     iDnlinkInitialized = FALSE;
-
     TRACE_PRN_FN_EXT;
     return status;
     }
@@ -990,11 +989,18 @@
 gint TMSCallIPAdpt::OpenDownlinkL(const RMessage2& message)
     {
     TRACE_PRN_FN_ENT;
-    gint status(TMS_RESULT_SUCCESS);
+    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
 
     // Clients must have MultimediaDD capability to use this priority/pref.
     // TODO: Also, TMS will monitor for emergency call and if detected it
     //       will deny access to audio resources.
+
+    /* Clarify with adaptation team which prio/pref values should be used.
+     * 1) KAudioPrefUnknownVoipAudioDownlink      -3rd party VoIP?
+     *    KAudioPriorityUnknownVoipAudioDownlink  -3rd party VoIP?
+     * 2) KAudioPrefVoipAudioDownlink             -NOK native VoIP?
+     *    KAudioPriorityVoipAudioDownlink         -NOK native VoIP?
+     */
     iPriority.iPref = KAudioPrefVoipAudioDownlink;
     iPriority.iPriority = KAudioPriorityVoipAudioDownlink;
 
@@ -1018,7 +1024,6 @@
             iIPDownlink->SetMsgQueue(iMsgQueueDn);
             }
         }
-
     TRACE_PRN_IF_ERR(status);
     TRACE_PRN_FN_EXT;
     return status;
@@ -1032,9 +1037,16 @@
 gint TMSCallIPAdpt::OpenUplinkL(const RMessage2& message)
     {
     TRACE_PRN_FN_ENT;
-    gint status(TMS_RESULT_SUCCESS);
+    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
+
+    // Clients must have MultimediaDD capability to use this priority/pref
 
-    // Ensure clients have MultimediaDD capability to use this priority/pref
+    /* Clarify with adaptation team which prio/pref values should be used.
+     * 1) KAudioPrefUnknownVoipAudioUplink      -3rd party VoIP?
+     *    KAudioPriorityUnknownVoipAudioUplink  -3rd party VoIP?
+     * 2) KAudioPrefVoipAudioUplink             -NOK native VoIP?
+     *    KAudioPriorityVoipAudioUplink         -NOK native VoIP?
+     */
     iPriority.iPref = KAudioPrefVoipAudioUplink;
     iPriority.iPriority = KAudioPriorityVoipAudioUplink;
 
--- a/mmserv/tms/tmsutility/src/tmsutility.cpp	Tue May 25 13:16:00 2010 +0300
+++ b/mmserv/tms/tmsutility/src/tmsutility.cpp	Wed Jun 09 10:15:38 2010 +0300
@@ -74,10 +74,10 @@
             result = TMS_RESULT_GENERAL_ERROR;
             break;
         case KErrDied: //-13
-        case KErrInUse: //-14
         case KErrServerTerminated: //-15
             result = TMS_RESULT_FATAL_ERROR;
             break;
+        case KErrInUse: //-14
         case KErrServerBusy: //-16
         case KErrCompletion: //-17
         case KErrNotReady: //-18
--- a/mmserv/voipaudioservices/VoIPServer/src/VoIPServerSession.cpp	Tue May 25 13:16:00 2010 +0300
+++ b/mmserv/voipaudioservices/VoIPServer/src/VoIPServerSession.cpp	Wed Jun 09 10:15:38 2010 +0300
@@ -1907,14 +1907,12 @@
     if (aError == KErrNone)
         {
         TMMFPrioritySettings pSet;
-        iShared.iMutex.Wait();
-        pSet.iPref = iShared.iPreference;
-        pSet.iPriority = iShared.iPriority;
-        iShared.iMutex.Signal();
 
         if (iDTMFTonePlayer && iDTMFTonePlayerInitRequest)
             {
             // initialized DTMF player
+            pSet.iPref = KAudioDTMFString;
+            pSet.iPriority = KAudioPriorityDTMFString;
             iDTMFTonePlayer->SetPrioritySettings(pSet);
             iDTMFTonePlayer->SetVolume(iMaxVolume);
             iToneLenOn = KDTMFToneLengthOn;
@@ -1934,6 +1932,10 @@
         else if (iDevSound && iDevSoundInitRequest)
             {
             // initialized standard player to check G711 frame rate
+            iShared.iMutex.Wait();
+            pSet.iPref = iShared.iPreference;
+            pSet.iPriority = iShared.iPriority;
+            iShared.iMutex.Signal();
             iDevSound->SetPrioritySettings(pSet);
             iDevSoundInitRequest = EFalse;
 
--- a/mmserv/voipaudioservices/group/bld.inf	Tue May 25 13:16:00 2010 +0300
+++ b/mmserv/voipaudioservices/group/bld.inf	Wed Jun 09 10:15:38 2010 +0300
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+ * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  * All rights reserved.
  * This component and the accompanying materials are made available
  * under the terms of "Eclipse Public License v1.0"