--- a/mmsharing/mmshavailability/src/musavacapability.cpp Thu Aug 19 09:51:39 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavacapability.cpp Tue Aug 31 15:12:07 2010 +0300
@@ -23,14 +23,11 @@
#include "musavacapabilitycontext.h"
#include "mmusavacapabilityqueryobserver.h"
#include "mussettings.h"
-#include "mussettingskeys.h"
#include <e32math.h>
#include <uri8.h>
#include <escapeutils.h>
-//#include <sip.h>
#include <sipservertransaction.h>
-//#include <sipclienttransaction.h>
#include <sipacceptcontactheader.h>
#include <sipcontactheader.h>
#include <siprequestelements.h>
@@ -209,6 +206,9 @@
aResponseContent.AttributeFields().AppendL( type );
CleanupStack::Pop( type );
+ //Add fast startup mode, if supported
+ AddFastModeL( aResponseContent );
+
MUS_LOG( "mus: [MUSAVA] Adding media line to SDP" )
//media line
CSdpMediaField* mediaLine = MediaLineLC(
@@ -340,6 +340,54 @@
return codecs;
}
+// -----------------------------------------------------------------------------
+// CMusAvaCapability::ResolveFastModeL
+// -----------------------------------------------------------------------------
+//
+MusSettingsKeys::TFastMode CMusAvaCapability::ResolveFastModeL(
+ CSdpDocument& aSDP )
+ {
+ MUS_LOG( "mus: [MUSAVA]: -> CMusAvaCapability::ResolveFastModeL" )
+ MusSettingsKeys::TFastMode mode = MusSettingsKeys::EFastModeOff;
+ if ( MultimediaSharingSettings::FastStartupModeL() ==
+ MusSettingsKeys::EFastModeOn )
+ {
+ MUS_LOG( "mus: [MUSAVA] Checking if a=keywds:fastmode present..." )
+ const CSdpAttributeField* keywds = CMusAvaCapability::Attribute(
+ MusAvaCapabilityContext::SDPStringL(
+ SdpCodecStringConstants::EAttributeKeywds ),
+ aSDP );
+ if ( keywds &&
+ keywds->Value().Compare( KCapabilitySDPAttributeFastMode ) == 0 )
+ {
+ mode = MusSettingsKeys::EFastModeOn;
+ }
+ }
+ MUS_LOG( "mus: [MUSAVA]: <- CMusAvaCapability::ResolveFastModeL" )
+ return mode;
+ }
+
+// -----------------------------------------------------------------------------
+// CMusAvaCapability::ResolveFastModeL
+// -----------------------------------------------------------------------------
+//
+void CMusAvaCapability::AddFastModeL( CSdpDocument& aSdp )
+ {
+ MUS_LOG( "mus: [MUSAVA]: -> CMusAvaCapability::AddFastModeL" )
+ if ( MultimediaSharingSettings::FastStartupModeL() ==
+ MusSettingsKeys::EFastModeOn )
+ {
+ CSdpAttributeField* fastmode = CSdpAttributeField::NewLC(
+ MusAvaCapabilityContext::SDPStringL(
+ SdpCodecStringConstants::EAttributeKeywds ),
+ KCapabilitySDPAttributeFastMode );
+
+ aSdp.AttributeFields().AppendL( fastmode );
+ CleanupStack::Pop( fastmode );
+ }
+ MUS_LOG( "mus: [MUSAVA]: <- CMusAvaCapability::AddFastModeL" )
+ }
+
// -----------------------------------------------------------------------------
// CMusAvaCapability::Attribute