21 #include "muslogger.h" |
21 #include "muslogger.h" |
22 #include "musavacapabilityexchange.h" |
22 #include "musavacapabilityexchange.h" |
23 #include "musavacapabilitycontext.h" |
23 #include "musavacapabilitycontext.h" |
24 #include "mmusavacapabilityqueryobserver.h" |
24 #include "mmusavacapabilityqueryobserver.h" |
25 #include "mussettings.h" |
25 #include "mussettings.h" |
|
26 #include "mussettingskeys.h" |
26 |
27 |
27 #include <e32math.h> |
28 #include <e32math.h> |
28 #include <uri8.h> |
29 #include <uri8.h> |
29 #include <escapeutils.h> |
30 #include <escapeutils.h> |
|
31 //#include <sip.h> |
30 #include <sipservertransaction.h> |
32 #include <sipservertransaction.h> |
|
33 //#include <sipclienttransaction.h> |
31 #include <sipacceptcontactheader.h> |
34 #include <sipacceptcontactheader.h> |
32 #include <sipcontactheader.h> |
35 #include <sipcontactheader.h> |
33 #include <siprequestelements.h> |
36 #include <siprequestelements.h> |
34 #include <sdpdocument.h> |
37 #include <sdpdocument.h> |
35 #include <sdpmediafield.h> |
38 #include <sdpmediafield.h> |
204 CleanupStack::PushL( type ); |
207 CleanupStack::PushL( type ); |
205 |
208 |
206 aResponseContent.AttributeFields().AppendL( type ); |
209 aResponseContent.AttributeFields().AppendL( type ); |
207 CleanupStack::Pop( type ); |
210 CleanupStack::Pop( type ); |
208 |
211 |
209 //Add fast startup mode, if supported |
|
210 AddFastModeL( aResponseContent ); |
|
211 |
|
212 MUS_LOG( "mus: [MUSAVA] Adding media line to SDP" ) |
212 MUS_LOG( "mus: [MUSAVA] Adding media line to SDP" ) |
213 //media line |
213 //media line |
214 CSdpMediaField* mediaLine = MediaLineLC( |
214 CSdpMediaField* mediaLine = MediaLineLC( |
215 MusAvaCapabilityContext::SDPStringL( |
215 MusAvaCapabilityContext::SDPStringL( |
216 SdpCodecStringConstants::EMediaVideo ), |
216 SdpCodecStringConstants::EMediaVideo ), |
338 CleanupStack::Pop( codecs ); |
338 CleanupStack::Pop( codecs ); |
339 |
339 |
340 return codecs; |
340 return codecs; |
341 } |
341 } |
342 |
342 |
343 // ----------------------------------------------------------------------------- |
|
344 // CMusAvaCapability::ResolveFastModeL |
|
345 // ----------------------------------------------------------------------------- |
|
346 // |
|
347 MusSettingsKeys::TFastMode CMusAvaCapability::ResolveFastModeL( |
|
348 CSdpDocument& aSDP ) |
|
349 { |
|
350 MUS_LOG( "mus: [MUSAVA]: -> CMusAvaCapability::ResolveFastModeL" ) |
|
351 MusSettingsKeys::TFastMode mode = MusSettingsKeys::EFastModeOff; |
|
352 if ( MultimediaSharingSettings::FastStartupModeL() == |
|
353 MusSettingsKeys::EFastModeOn ) |
|
354 { |
|
355 MUS_LOG( "mus: [MUSAVA] Checking if a=keywds:fastmode present..." ) |
|
356 const CSdpAttributeField* keywds = CMusAvaCapability::Attribute( |
|
357 MusAvaCapabilityContext::SDPStringL( |
|
358 SdpCodecStringConstants::EAttributeKeywds ), |
|
359 aSDP ); |
|
360 if ( keywds && |
|
361 keywds->Value().Compare( KCapabilitySDPAttributeFastMode ) == 0 ) |
|
362 { |
|
363 mode = MusSettingsKeys::EFastModeOn; |
|
364 } |
|
365 } |
|
366 MUS_LOG( "mus: [MUSAVA]: <- CMusAvaCapability::ResolveFastModeL" ) |
|
367 return mode; |
|
368 } |
|
369 |
|
370 // ----------------------------------------------------------------------------- |
|
371 // CMusAvaCapability::ResolveFastModeL |
|
372 // ----------------------------------------------------------------------------- |
|
373 // |
|
374 void CMusAvaCapability::AddFastModeL( CSdpDocument& aSdp ) |
|
375 { |
|
376 MUS_LOG( "mus: [MUSAVA]: -> CMusAvaCapability::AddFastModeL" ) |
|
377 if ( MultimediaSharingSettings::FastStartupModeL() == |
|
378 MusSettingsKeys::EFastModeOn ) |
|
379 { |
|
380 CSdpAttributeField* fastmode = CSdpAttributeField::NewLC( |
|
381 MusAvaCapabilityContext::SDPStringL( |
|
382 SdpCodecStringConstants::EAttributeKeywds ), |
|
383 KCapabilitySDPAttributeFastMode ); |
|
384 |
|
385 aSdp.AttributeFields().AppendL( fastmode ); |
|
386 CleanupStack::Pop( fastmode ); |
|
387 } |
|
388 MUS_LOG( "mus: [MUSAVA]: <- CMusAvaCapability::AddFastModeL" ) |
|
389 } |
|
390 |
|
391 |
343 |
392 // ----------------------------------------------------------------------------- |
344 // ----------------------------------------------------------------------------- |
393 // CMusAvaCapability::Attribute |
345 // CMusAvaCapability::Attribute |
394 // ----------------------------------------------------------------------------- |
346 // ----------------------------------------------------------------------------- |
395 // |
347 // |