# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1271251794 -10800 # Node ID 03a293c97d5c9b4712c662594b77a331d054744e # Parent 3d8c721bf3193033b71cf0dc4dd1427aa1f4a987 Revision: 201013 Kit: 201015 diff -r 3d8c721bf319 -r 03a293c97d5c mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Src/3GPAudioPlayControllerPlugin.cpp --- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Src/3GPAudioPlayControllerPlugin.cpp Wed Mar 31 22:29:45 2010 +0300 +++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Src/3GPAudioPlayControllerPlugin.cpp Wed Apr 14 16:29:54 2010 +0300 @@ -109,6 +109,7 @@ delete iAudioUtility; // see 3gp delete iAacUtil; iAudioUtility = NULL; + iAacUtil = NULL; iDataSourceAdapter = C3gpDataSourceAdapter::NewL(); iSharedBufferMaxNum = 1; iSharedBufferMaxSize = KFirstBufferSize; diff -r 3d8c721bf319 -r 03a293c97d5c mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/sis/create_sis.bat --- a/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/sis/create_sis.bat Wed Mar 31 22:29:45 2010 +0300 +++ b/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/sis/create_sis.bat Wed Apr 14 16:29:54 2010 +0300 @@ -5,7 +5,7 @@ rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). rem All rights reserved. rem This component and the accompanying materials are made available -rem under the terms of the License "Eclipse Public License v1.0" +rem under the terms of the "Eclipse Public License v1.0" rem which accompanies this distribution, and is available rem at the URL "http://www.eclipse.org/legal/epl-v10.html". rem diff -r 3d8c721bf319 -r 03a293c97d5c mmserv/metadatautility/Src/MetaDataParserID3v22.cpp --- a/mmserv/metadatautility/Src/MetaDataParserID3v22.cpp Wed Mar 31 22:29:45 2010 +0300 +++ b/mmserv/metadatautility/Src/MetaDataParserID3v22.cpp Wed Apr 14 16:29:54 2010 +0300 @@ -619,10 +619,20 @@ TInt length = info.Length(); if ( length ) { - TReal sec = (TReal) atoi((char*)info.Ptr()) / 1000; - TBuf16<10> info1; - info1.Num(sec, TRealFormat (9, 3)); - iContainer->AppendL( EMetaDataDuration, info1 ); + HBufC* data16 = HBufC::NewLC( length ); + TPtr unicode( data16->Des() ); + if ( ConvertToUnicodeL(encoding, info, unicode) == KErrNone ) + { + TLex16 lex(unicode); + TReal milliSec = 0; + TBuf16<10> info1; + + lex.Val(milliSec); + info1.Num(milliSec/1000, TRealFormat (9, 3)); + iContainer->AppendL( EMetaDataDuration, info1 ); + } + CleanupStack::PopAndDestroy(); // data16 + } CleanupStack::PopAndDestroy(); // frame diff -r 3d8c721bf319 -r 03a293c97d5c mmserv/metadatautility/Src/MetaDataParserID3v23.cpp --- a/mmserv/metadatautility/Src/MetaDataParserID3v23.cpp Wed Mar 31 22:29:45 2010 +0300 +++ b/mmserv/metadatautility/Src/MetaDataParserID3v23.cpp Wed Apr 14 16:29:54 2010 +0300 @@ -666,12 +666,20 @@ TInt length = info.Length(); if ( length ) { - TReal sec = ((TReal) atoi((char*)info.Ptr())) / 1000; - TBuf16<10> info1; - info1.Num(sec, TRealFormat (9, 3)); - iContainer->AppendL( EMetaDataDuration, info1 ); + HBufC* data16 = HBufC::NewLC( length ); + TPtr unicode( data16->Des() ); + if ( ConvertToUnicodeL(encoding, info, unicode) == KErrNone ) + { + TLex16 lex(unicode); + TReal milliSec = 0; + TBuf16<10> info1; + + lex.Val(milliSec); + info1.Num(milliSec/1000, TRealFormat (9, 3)); + iContainer->AppendL( EMetaDataDuration, info1 ); + } + CleanupStack::PopAndDestroy(); // data16 } - CleanupStack::PopAndDestroy(); // frame } diff -r 3d8c721bf319 -r 03a293c97d5c mmserv/metadatautility/Src/MetaDataParserID3v24.cpp --- a/mmserv/metadatautility/Src/MetaDataParserID3v24.cpp Wed Mar 31 22:29:45 2010 +0300 +++ b/mmserv/metadatautility/Src/MetaDataParserID3v24.cpp Wed Apr 14 16:29:54 2010 +0300 @@ -673,10 +673,20 @@ TInt length = info.Length(); if ( length ) { - TReal sec = (TReal) atoi((char*)info.Ptr()) / 1000; - TBuf16<10> info1; - info1.Num(sec, TRealFormat (9, 3)); - iContainer->AppendL( EMetaDataDuration, info1 ); + HBufC* data16 = HBufC::NewLC( length ); + TPtr unicode( data16->Des() ); + if ( ConvertToUnicodeL(encoding, info, unicode) == KErrNone ) + { + TLex16 lex(unicode); + TReal milliSec = 0; + TBuf16<10> info1; + + lex.Val(milliSec); + info1.Num(milliSec/1000, TRealFormat (9, 3)); + iContainer->AppendL( EMetaDataDuration, info1 ); + } + CleanupStack::PopAndDestroy(); // data16 + } CleanupStack::PopAndDestroy(); // frame diff -r 3d8c721bf319 -r 03a293c97d5c mmserv/metadatautility/Src/MetaDataParserWMA.cpp --- a/mmserv/metadatautility/Src/MetaDataParserWMA.cpp Wed Mar 31 22:29:45 2010 +0300 +++ b/mmserv/metadatautility/Src/MetaDataParserWMA.cpp Wed Apr 14 16:29:54 2010 +0300 @@ -28,6 +28,23 @@ #include // CONSTANTS +/*** + * File Properties Objects: + * Object ID, GUID, 128 [bits] + * Object Size, QWORD, 64 + * File ID, GUID, 128 + * File Size, QWORD, 64 + * Creation Date, QWORD, 64 + * Data Packets Count, QWORD, 64 + * Play Duration, QWORD, 64 + * Send Duration, QWORD, 64 + * Preroll, QWORD, 64 + * Flags, DWORD, 32 + */ +const TInt KDurationOffset = 64; // duration offset from File Property object +const TInt KPrerollOffset = 80; // preRoll offset from File Property object +const TInt KFlagsOffset = 88; // flags offset from File Property object + // ASF Header Object GUIDs _LIT8 (KASFContentDescriptionObject, "75B22633668E11CFA6D900AA0062CE6C"); @@ -695,22 +712,37 @@ // void CMetaDataParserWMA::GetDurationL() { - TInt offset = iFilePropertiesOffset + 16; - TPtrC8 size8 = iHeaderData->Mid(offset, 8); - TInt size = ConvertToInt64(size8); - offset = iFilePropertiesOffset + 88; - TPtrC8 flags = iHeaderData->Mid(offset, 4); - TInt broadcastBit = (TInt) (flags[0] & 0x01); - if(broadcastBit == 1) - { - return; // duration not valid. - } - //offset = iFilePropertiesOffset + 48; - TPtrC8 duration8 = iHeaderData->Mid(offset - 24, 8); // 100 nanosec units - TReal sec = ((TReal)ConvertToInt64(duration8)) / 10000000; // seconds - TBuf16<10> des16; - des16.Num(sec, TRealFormat (9, 3)); +#ifdef _DEBUG + RDebug::Print(_L("CMetaDataParserWMA::GetDuration()")); +#endif + TInt offset = iFilePropertiesOffset + KFlagsOffset; + TPtrC8 flags = iHeaderData->Mid(offset, 4); + TInt broadcastBit = (TInt) (flags[0] & 0x01); + if(broadcastBit == 1) + { + return; // duration not valid. + } + + offset = iFilePropertiesOffset + KDurationOffset; + TPtrC8 duration8 = iHeaderData->Mid(offset, 8); // 100 nanosec units + TReal durationSec = ((TReal)ConvertToInt64(duration8)) / 10000000; // seconds + + offset = iFilePropertiesOffset + KPrerollOffset; + TPtrC8 preRoll8 = iHeaderData->Mid(offset, 8); // millisec units + TReal preRollSec = ((TReal)ConvertToInt64(preRoll8)) / 1000; // seconds + TReal sec = durationSec - preRollSec; // not include preroll + + TBuf16<10> des16; + TRealFormat format(9, 3); // width=9, decimal place=3 + // Use fixed format, and do not use Triads + format.iType = KRealFormatFixed | KDoNotUseTriads; + des16.Num(sec, format); // convert to string + iContainer->AppendL( EMetaDataDuration, des16 ); +#ifdef _DEBUG + RDebug::Print(_L("CMetaDataParserWMA::GetDuration(), duration=%f"), sec); +#endif + } diff -r 3d8c721bf319 -r 03a293c97d5c mmserv/radioutility/radioserver/Server/Src/RadioServer.cpp --- a/mmserv/radioutility/radioserver/Server/Src/RadioServer.cpp Wed Mar 31 22:29:45 2010 +0300 +++ b/mmserv/radioutility/radioserver/Server/Src/RadioServer.cpp Wed Apr 14 16:29:54 2010 +0300 @@ -695,6 +695,15 @@ TRadioServerError aError ) { RADIO_RDEBUG_INT2(_L("[RADIO-SVR] SetFrequencyComplete(%d) State[%d]"), aError, iState); + + // Disable squelching, if on + if ( iSquelch ) + { + // Restore the last volume + iDevSound->SetVolume(iSettings->Volume()); + iSquelch = EFalse; + } + if ( iAsyncRequest && iAsyncRequest->iType == ERadioServSetFrequency ) { if ( aError == KErrNone ) @@ -1798,6 +1807,12 @@ } else { + if ( iSettings->IsSquelchEnabled() && !iSettings->IsMute() ) + { + // Simulate squelching + iDevSound->SetVolume(0); + iSquelch = ETrue; + } iTunerControl->SetFrequency(aFrequency); } break;