sl@0
|
1 |
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
|
sl@0
|
2 |
// All rights reserved.
|
sl@0
|
3 |
// This component and the accompanying materials are made available
|
sl@0
|
4 |
// under the terms of "Eclipse Public License v1.0"
|
sl@0
|
5 |
// which accompanies this distribution, and is available
|
sl@0
|
6 |
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
|
sl@0
|
7 |
//
|
sl@0
|
8 |
// Initial Contributors:
|
sl@0
|
9 |
// Nokia Corporation - initial contribution.
|
sl@0
|
10 |
//
|
sl@0
|
11 |
// Contributors:
|
sl@0
|
12 |
//
|
sl@0
|
13 |
// Description:
|
sl@0
|
14 |
//
|
sl@0
|
15 |
|
sl@0
|
16 |
TARGET oggrecordcontroller.dll
|
sl@0
|
17 |
CAPABILITY ALL -TCB
|
sl@0
|
18 |
TARGETTYPE PLUGIN
|
sl@0
|
19 |
|
sl@0
|
20 |
|
sl@0
|
21 |
// ECom Dll recognition UID followed by the unique UID for this dll
|
sl@0
|
22 |
UID 0x10009D8D 0x10273799
|
sl@0
|
23 |
VENDORID 0x70000001
|
sl@0
|
24 |
|
sl@0
|
25 |
SOURCEPATH ../../src/Plugin/Controller/Audio/OggVorbis/OggRecordController
|
sl@0
|
26 |
SOURCE OggRecordController.cpp
|
sl@0
|
27 |
SOURCE OggEncode.cpp
|
sl@0
|
28 |
|
sl@0
|
29 |
USERINCLUDE ../../src/Plugin/Controller/Audio/OggVorbis/OggRecordController
|
sl@0
|
30 |
USERINCLUDE ../../src/Plugin/Controller/Audio/OggVorbis/oggutils/inc
|
sl@0
|
31 |
|
sl@0
|
32 |
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
|
sl@0
|
33 |
OS_LAYER_ESTLIB_SYSTEMINCLUDE
|
sl@0
|
34 |
|
sl@0
|
35 |
START RESOURCE OggRecordController.RSS
|
sl@0
|
36 |
TARGET oggrecordcontroller.rsc
|
sl@0
|
37 |
END
|
sl@0
|
38 |
|
sl@0
|
39 |
LIBRARY euser.lib
|
sl@0
|
40 |
LIBRARY ecom.lib
|
sl@0
|
41 |
LIBRARY estlib.lib
|
sl@0
|
42 |
LIBRARY mmfdevsound.lib
|
sl@0
|
43 |
LIBRARY mmfserverbaseclasses.lib
|
sl@0
|
44 |
LIBRARY mmfcontrollerframework.lib
|
sl@0
|
45 |
LIBRARY mmfstandardcustomcommands.lib
|
sl@0
|
46 |
LIBRARY oggvorbisfloatutil.lib
|
sl@0
|
47 |
|
sl@0
|
48 |
// OggVorbis C libraries are not alloc safe. So we create a separate heap for C library calls with enough space well before
|
sl@0
|
49 |
// the codec starts processing and we switch to the new heap before making calls to the methods in these libraries.
|
sl@0
|
50 |
// 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
|
51 |
// maximum extent possible. Also the malloc, calloc and realloc functions in the C libraries are modified to leave with KErrMemory
|
sl@0
|
52 |
// 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
|
53 |
// SYMBIAN_SEP_HEAP is provided to enable/disable this separate heap mechanism.
|
sl@0
|
54 |
MACRO SYMBIAN_SEP_HEAP
|
sl@0
|
55 |
|
sl@0
|
56 |
SMPSAFE
|