sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: TARGET oggplaycontroller.dll sl@0: CAPABILITY ALL -TCB sl@0: TARGETTYPE PLUGIN sl@0: sl@0: // ECom Dll recognition UID followed by the unique UID for this dll sl@0: UID 0x10009D8D 0x01004303 sl@0: VENDORID 0x70000001 sl@0: sl@0: SOURCEPATH ../../src/Plugin/Controller/Audio/OggVorbis/OggPlayController sl@0: SOURCE OggPlayController.cpp sl@0: SOURCE OggDecode.cpp sl@0: sl@0: USERINCLUDE ../../src/Plugin/Controller/Audio/OggVorbis/OggPlayController sl@0: USERINCLUDE ../../src/Plugin/Controller/Audio/OggVorbis/oggutils/inc sl@0: sl@0: OS_LAYER_SYSTEMINCLUDE_SYMBIAN sl@0: OS_LAYER_ESTLIB_SYSTEMINCLUDE sl@0: sl@0: START RESOURCE OggPlayController.RSS sl@0: TARGET oggplaycontroller.rsc sl@0: END sl@0: sl@0: LIBRARY euser.lib sl@0: LIBRARY ecom.lib sl@0: LIBRARY estlib.lib sl@0: LIBRARY mmfdevsound.lib sl@0: LIBRARY mmfserverbaseclasses.lib sl@0: LIBRARY mmfcontrollerframework.lib sl@0: LIBRARY mmfstandardcustomcommands.lib sl@0: LIBRARY oggvorbisintutil.lib sl@0: sl@0: // OggVorbis C libraries are not alloc safe. So we create a separate heap for C library calls with enough space well before sl@0: // the codec starts processing and we switch to the new heap before making calls to the methods in these libraries. sl@0: // Chunk and Heap sizes are taken such a way that we have enough space on the new heap to avoid OOM situations to the sl@0: // maximum extent possible. Also the malloc, calloc and realloc functions in the C libraries are modified to leave with KErrMemory sl@0: // when the allocation fails. We TRAP the error and cleanup the new heap we had created. This way the library calls are made alloc safe. sl@0: // SYMBIAN_SEP_HEAP is provided to enable/disable this separate heap mechanism. sl@0: MACRO SYMBIAN_SEP_HEAP sl@0: sl@0: SMPSAFE