diff -r 33a5d2bbf6fc -r 73a1feb507fb mmsharing/mmshavailability/src/musavacapability.cpp --- 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 #include #include -//#include #include -//#include #include #include #include @@ -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