diff -r 951a5db380a0 -r d87d32eab1a9 videoeditorengine/audioeditorengine/codecs/mp3/src/ProcMP3FrameHandler.cpp --- a/videoeditorengine/audioeditorengine/codecs/mp3/src/ProcMP3FrameHandler.cpp Fri Jan 29 14:08:33 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,217 +0,0 @@ -/* -* Copyright (c) 2010 Ixonos Plc. -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - Initial contribution -* -* Contributors: -* Ixonos Plc -* -* Description: -* -*/ - - -/*-- Project Headers. --*/ -#include "ProcMP3FrameHandler.h" -#include "ProcMP3InFileHandler.h" -#include "ProcFrameHandler.h" - -#include "MP3API.h" - - -//mixing files - - - -CProcMP3FrameHandler* -CProcMP3FrameHandler::NewL() -{ - CProcMP3FrameHandler* self = NewLC(); - CleanupStack::Pop(self); - return self; -} - -CProcMP3FrameHandler* -CProcMP3FrameHandler::NewLC() -{ - CProcMP3FrameHandler* self = new (ELeave) CProcMP3FrameHandler(); - CleanupStack::PushL(self); - self->ConstructL(); - return self; -} - -CProcMP3FrameHandler::~CProcMP3FrameHandler() -{ - - if (iMp3Edit != 0) delete iMp3Edit; - - if (iMpAud != 0) - { - - delete iMpAud; - } - if (iTHandle != 0) - delete iTHandle; - - -} - -CProcMP3FrameHandler::CProcMP3FrameHandler() : decInitialized(EFalse) -{ - -} - -void CProcMP3FrameHandler:: -ConstructL() -{ - - iMp3Edit = CMp3Edit::NewL(); - - iTHandle = new (ELeave) TMpTransportHandle(); - - iMp3Edit->InitTransport(iTHandle); - - iMpAud = CMPAudDec::NewL(); - iMpAud->Init(iTHandle); - - -} - -TBool CProcMP3FrameHandler:: -ManipulateGainL(const HBufC8* aFrameIn, HBufC8*& aFrameOut, TInt8 aGain) -{ - - aFrameOut = HBufC8::NewLC(aFrameIn->Size()); - - aFrameOut->Des().Copy(aFrameIn->Ptr(), aFrameIn->Size()); - - - RArray gains; - CleanupClosePushL(gains); - TInt aMaxGain = 0; - TBitStream bs; - GetMP3Gains(aFrameOut, gains, aMaxGain, bs); - TUint8* globalGains = new (ELeave) TUint8[gains.Count()/2]; - CleanupStack::PushL(globalGains); - TUint* globalGainPos = new (ELeave) TUint[gains.Count()/2]; - CleanupStack::PushL(globalGainPos); - - - //for (TInt a = 0 ; a < gains.Count(); a++) - for (TInt a = 0 ; a < gains.Count()/2; a++) - { - - - TInt newGain = aGain*500; - newGain = newGain/1500; - - if (gains[a]+newGain < 0) globalGains[a] = 0; - else if(gains[a]+newGain > 255) globalGains[a] = 255; - else globalGains[a] = static_cast(gains[a*2]+newGain); - globalGainPos[a] = gains[a*2+1]; - } - -//SetMPGlobalGains(BitStream *bs, uint8 numGains, uint8 *globalGain, uint32 *gainPos); - - - iMp3Edit->SetMPGlobalGains(&bs, static_cast(gains.Count()/2), globalGains, globalGainPos); - - - //delete[] globalGains; - //delete[] globalGainPos; - CleanupStack::PopAndDestroy(globalGainPos); - CleanupStack::PopAndDestroy(globalGains); - CleanupStack::PopAndDestroy(&gains); - CleanupStack::Pop(); // aFrameOut - return ETrue; - -} - -TBool CProcMP3FrameHandler:: -GetGainL(const HBufC8* aFrame, RArray& aGains, TInt& aMaxGain) const - { - RArray gains; - TBitStream bs; - GetMP3Gains(aFrame, gains, aMaxGain, bs); - - - for (TInt a = 0 ; a < gains.Count(); a++) - { - TInt ga = gains[a]-120; - - if (ga < 0) ga = 0; - - ga = ga*ga; - ga = ga/50; - - aGains.Append(ga); - a++; - } - - gains.Reset(); - aMaxGain = 120; - return ETrue; - } - -TBool CProcMP3FrameHandler:: -GetMP3Gains(const HBufC8* aFrame, RArray& aGains, TInt& aMaxGain, TBitStream& aBs) const - { - - TInt16 readBytes, frameBytes, headerBytes = 0; - - if (!decInitialized) - { - iMp3Edit->SeekSync(iTHandle, const_cast(aFrame->Ptr()), - aFrame->Length(), &readBytes, - &frameBytes, &headerBytes, (uint8) 1); - iMpAud->Init(iTHandle); - decInitialized = ETrue; - } - - - int16 i; - uint32 globalGainPos[4]; - uint8 globalGain[4], nBufs; - TBitStream bsTmp; - - const TInt headerLength = 4; - - TUint8* buf = const_cast(aFrame->Right(aFrame->Size()-headerLength).Ptr()); - BsInit(&aBs, buf, aFrame->Size() - headerLength); - BsSaveBufState(&aBs, &bsTmp); - - //BsSaveBufState(&bsIn, &bsTmp); - - nBufs = iMp3Edit->GetMPGlobalGains(&bsTmp, iTHandle, globalGain, globalGainPos); - - for(i = 0; i < nBufs; i++) - { - TInt gg = globalGain[i]; - TInt ggp = globalGainPos[i]; - - aGains.Append(gg); - aGains.Append(ggp); - } - aMaxGain = 255; - - return (EFalse); - - } - -TBool CProcMP3FrameHandler:: -GetNormalizingMargin(const HBufC8* /*aFrame*/, TInt8& /*aMargin*/) const -{ - return (EFalse); -} - -TBool CProcMP3FrameHandler::IsMixingAvailable() const -{ - return EFalse; -} -