"Nokia submits this code under the terms of a commercial contribution agreement
with RealNetworks, and I am authorized to contribute this code under said
agreement."
Modified by: [email protected]
Reviewed by:
Date: 08/03/2009
Project: SymbianMmf_wm
ErrorId: N/A
Synopsis: helix xSymbian header changes
Overview: xSymbian changes include 1) certain symbian headers splitting and 2)
symbian header export structure change according to SW layers
Solution: 1) helix changes due to symbian header splitting are done under
SYMBIAN_ENABLE_SPLIT_HEADERS flag. Basically, Symbian created new headers for
certain internal classes. Currently this flag is not enabled in the
environment. The testing of this change was done with this flag enabled.
2) Some xSymbian header files include other headers from sub-directories
without the sub-dir information in the include statement. This forces all
clients of the header to add the needed sub-dirs to their own system include
statements. The goal is to force all the clients to use only system include
macros according to their respective SW layer ( like MW_LAYER_SYSTEMINCLUDE )
from platform_path.hrh, where any macro there always has /epoc32/include dir.
This change is to remove SYSTEMINCLUDE statements from helix .mmp files and
from system include path list for non-mmp builds whenever possible and
add subdirs where needed to include statements to compensate for that.
Right now:
SYSTEMINCLUDE /EPOC32/INCLUDE/mmf
SYSTEMINCLUDE /EPOC32/INCLUDE/mmf/server
Are removed from all .mmp files and
SYSTEMINCLUDE /EPOC32/INCLUDE/mmf/devvideo are removed from mdfvidrender.mmp
file
SYSTEMINCLUDE /EPOC32/INCLUDE/libc is left as an exception to the rule.
SYSTEMINCLUDE /EPOC32/INCLUDE/mmf/common cannot be removed at present because
hxmmfbasectrl.h includes CustomInterfaceBuilder.h and
CustomInterfaceCustomCommandParser.h which are themselves need to be modified
as part of xSymbian change. Once CustomInterfaceBuilder.h and
CustomInterfaceCustomCommandParser.h are corrected their includes, then helix
can remove SYSTEMINCLUDE /EPOC32/INCLUDE/mmf/common.
The associated .cf files changes are done under
HELIX_CONFIG_SYMBIAN_HEADER_STRUCTURE_CHANGE flag, which is only enabled in
helix-client-s60-52-common.pfi.
Files Added:
None.
Files Modified:
/ribosome/build/umakepf/helix-client-s60-52-common.pfi
/ribosome/build/umakecf/symbian-armv5.cf
/ribosome/build/umakecf/symbian-emulator-winscw.cf
/ribosome/build/umakecf/symbian-plat-sec.cf
/audio/device/pub/platform/symbian/CHXAudioOutputConfigUtil.h
/audio/device/pub/platform/symbian/CHXBaseAudioSession.h
/audio/device/pub/platform/symbian/CHXBaseDevSoundObserver.h
/audio/device/pub/platform/symbian/CHXMMFDevSound.h
/clientapps/symbianMmf/hxmmfplayctrl.h
/clientapps/symbianMmf/common/hxmmfbasectrl.h
/common/fileio/platform/symbian/HxMMDataSource.cpp
/common/fileio/pub/platform/symbian/asynchronousmultireader.h
/common/fileio/pub/platform/symbian/hxdatasourcemmfclip.h
/common/netio/pub/platform/symbian/hxsymbiansocket.h
/datatype/mdf/audio/dsp/mdfaudfmt.h
/datatype/mdf/audio/dsp/mdfdevsound.h
/datatype/mdf/video/renderer/umakedll
/datatype/mdf/video/renderer/umakelib
/datatype/mdf/video/renderer/mdfdevice/client/CMDFDevVideoClient.h
Image Size and Heap Use impact: minor
Module Release testing (STIF) : MRT subset ongoing.
Test case(s) Added : No.
Memory leak check performed : Yes. No new leaks introduced
Platforms and Profiles Build Verified: helix-client-s60-50-mmf-mdf-dsp,
helix-client-s60-50-mmf-mdf-arm
Platforms and Profiles Functionality verified: armv5, winscw
Branch: 210CayS, HEAD
? xSymbian_build_diff.txt
? xSymbian_build_diff_1.txt
? xSymbian_build_diff_2.txt
? bif-cvs/helix
Index: umakecf/symbian-armv5.cf
===================================================================
RCS file: /cvsroot/ribosome/build/umakecf/symbian-armv5.cf,v
retrieving revision 1.23
diff -u -w -r1.23 symbian-armv5.cf
--- umakecf/symbian-armv5.cf 28 Apr 2009 15:21:51 -0000 1.23
+++ umakecf/symbian-armv5.cf 3 Aug 2009 15:01:15 -0000
@@ -155,10 +155,14 @@
## the basic system includes.
def GetArmv5SystemIncludes2():
+ if not project.IsDefined('HELIX_CONFIG_SYMBIAN_HEADER_STRUCTURE_CHANGE'):
incs = [ 'EPOC32\INCLUDE\mmf',
'EPOC32\INCLUDE\mmf\common',
'EPOC32\INCLUDE\mmf\server' ]
+ else:
+ incs = [ 'EPOC32\INCLUDE\mmf\common' ]
+
return incs
Index: umakecf/symbian-emulator-winscw.cf
===================================================================
RCS file: /cvsroot/ribosome/build/umakecf/symbian-emulator-winscw.cf,v
retrieving revision 1.24
diff -u -w -r1.24 symbian-emulator-winscw.cf
--- umakecf/symbian-emulator-winscw.cf 20 May 2009 16:22:49 -0000 1.24
+++ umakecf/symbian-emulator-winscw.cf 3 Aug 2009 15:01:15 -0000
@@ -149,9 +149,12 @@
## the basic system includes.
def GetWinscwSystemIncludes2():
+ if not project.IsDefined('HELIX_CONFIG_SYMBIAN_HEADER_STRUCTURE_CHANGE'):
incs = [ 'EPOC32\INCLUDE\mmf',
'EPOC32\INCLUDE\mmf\common',
'EPOC32\INCLUDE\mmf\server' ]
+ else:
+ incs = [ 'EPOC32\INCLUDE\mmf\common' ]
return incs
Index: umakecf/symbian-plat-sec.cf
===================================================================
RCS file: /cvsroot/ribosome/build/umakecf/symbian-plat-sec.cf,v
retrieving revision 1.14
diff -u -w -r1.14 symbian-plat-sec.cf
--- umakecf/symbian-plat-sec.cf 29 Jul 2009 12:54:01 -0000 1.14
+++ umakecf/symbian-plat-sec.cf 3 Aug 2009 15:01:15 -0000
@@ -254,6 +254,7 @@
def get_platform_includes(self):
# Generate a set of system include path
# Delete the path from the set which does not exist
+ if not
project.IsDefined('HELIX_CONFIG_SYMBIAN_HEADER_STRUCTURE_CHANGE'):
incs = [ 'EPOC32\INCLUDE',
'EPOC32\INCLUDE\oem',
'EPOC32\INCLUDE\internal',
@@ -262,6 +263,13 @@
'EPOC32\INCLUDE\mmf\server',
'EPOC32\INCLUDE\VARIANT',
'EPOC32\INCLUDE\RVCT2_2' ]
+ else:
+ incs = [ 'EPOC32\INCLUDE',
+ 'EPOC32\INCLUDE\oem',
+ 'EPOC32\INCLUDE\internal',
+ 'EPOC32\INCLUDE\mmf\common',
+ 'EPOC32\INCLUDE\VARIANT',
+ 'EPOC32\INCLUDE\RVCT2_2' ]
if project.IsDefined('HELIX_CONFIG_INC_HIERARCHY_CHANGE'):
incs.append('epoc32\include\middleware')
Index: umakepf/helix-client-s60-52-common.pfi
===================================================================
RCS file: /cvsroot/ribosome/build/umakepf/helix-client-s60-52-common.pfi,v
retrieving revision 1.6
diff -u -w -r1.6 helix-client-s60-52-common.pfi
--- umakepf/helix-client-s60-52-common.pfi 23 Jul 2009 14:43:53 -0000
1.6
+++ umakepf/helix-client-s60-52-common.pfi 3 Aug 2009 15:01:16 -0000
@@ -63,3 +63,4 @@
project.AddDefines('HELIX_FEATURE_SYMBIAN_GRAPHICS_SURFACES')
project.AddDefines('HELIX_FEATURE_HTTP_MEMCACHE')
#project.AddDefines('HELIX_FEATURE_SYMBIAN_ADVANCED_SECURE_OUTPUT')
+project.AddDefines('HELIX_CONFIG_SYMBIAN_HEADER_STRUCTURE_CHANGE')
Index: audio/device/pub/platform/symbian/CHXAudioOutputConfigUtil.h
===================================================================
RCS file:
/cvsroot/audio/device/pub/platform/symbian/CHXAudioOutputConfigUtil.h,v
retrieving revision 1.1
diff -u -w -r1.1 CHXAudioOutputConfigUtil.h
--- audio/device/pub/platform/symbian/CHXAudioOutputConfigUtil.h 23 Jul
2009 14:32:55 -0000 1.1
+++ audio/device/pub/platform/symbian/CHXAudioOutputConfigUtil.h 31 Jul
2009 17:38:17 -0000
@@ -61,7 +61,7 @@
#ifndef _AUDIO_OUTPUT_CONFIG_UTIL_H_
#define _AUDIO_OUTPUT_CONFIG_UTIL_H_
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
#if defined(HELIX_FEATURE_SYMBIAN_ADVANCED_SECURE_OUTPUT)
#include <e32cmn.h> // RArray
Index: audio/device/pub/platform/symbian/CHXBaseAudioSession.h
===================================================================
RCS file: /cvsroot/audio/device/pub/platform/symbian/CHXBaseAudioSession.h,v
retrieving revision 1.1.2.3
diff -u -w -r1.1.2.3 CHXBaseAudioSession.h
--- audio/device/pub/platform/symbian/CHXBaseAudioSession.h 23 Jul 2009
14:53:01 -0000 1.1.2.3
+++ audio/device/pub/platform/symbian/CHXBaseAudioSession.h 31 Jul 2009
17:38:17 -0000
@@ -64,7 +64,7 @@
#include <e32base.h>
#include <e32des8.h>
#include <stdio.h>
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
#include "CHXBaseDevSoundObserver.h"
#include "CHXSymbianAudioDevice.h"
#include "CHXAudioOutputConfigUtil.h"
Index: audio/device/pub/platform/symbian/CHXBaseDevSoundObserver.h
===================================================================
RCS file: /cvsroot/audio/device/pub/platform/symbian/CHXBaseDevSoundObserver.h,v
retrieving revision 1.1
diff -u -w -r1.1 CHXBaseDevSoundObserver.h
--- audio/device/pub/platform/symbian/CHXBaseDevSoundObserver.h 3 Apr 2007
18:21:57 -0000 1.1
+++ audio/device/pub/platform/symbian/CHXBaseDevSoundObserver.h 31 Jul 2009
17:38:17 -0000
@@ -52,7 +52,7 @@
#define _BASE_AUDIO_OBSERVER_H_
#include <e32base.h>
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
#include "hxtlogutil.h"
Index: audio/device/pub/platform/symbian/CHXMMFDevSound.h
===================================================================
RCS file: /cvsroot/audio/device/pub/platform/symbian/CHXMMFDevSound.h,v
retrieving revision 1.1.2.1
diff -u -w -r1.1.2.1 CHXMMFDevSound.h
--- audio/device/pub/platform/symbian/CHXMMFDevSound.h 13 Apr 2007 23:27:28
-0000 1.1.2.1
+++ audio/device/pub/platform/symbian/CHXMMFDevSound.h 31 Jul 2009 17:38:17
-0000
@@ -64,7 +64,7 @@
#define __HX_MMF_DEVSOUND_H__
#include <e32base.h>
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
#include "CHXbaseDevSoundobserver.h"
Index: clientapps/symbianMmf/hxmmfplayctrl.h
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/hxmmfplayctrl.h,v
retrieving revision 1.3.2.9
diff -u -w -r1.3.2.9 hxmmfplayctrl.h
--- clientapps/symbianMmf/hxmmfplayctrl.h 13 Mar 2009 19:01:55 -0000
1.3.2.9
+++ clientapps/symbianMmf/hxmmfplayctrl.h 31 Jul 2009 17:38:41 -0000
@@ -70,7 +70,13 @@
#include "chxliteprefs.h"
#include "hxmmfstatectrlobs.h"
#ifdef HELIX_FEATURE_S60_TRICKPLAY
-#include <mmf/common/Mmfvideo.h>
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <mmf/common/mmfvideoenums.h> //TVideoPlayRateCapabilities
+#else
+#include <mmf/common/mmfvideo.h>
+#endif
+
#endif
// SetDllAccessPath exported function from client core dll
Index: clientapps/symbianMmf/common/hxmmfbasectrl.h
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/common/hxmmfbasectrl.h,v
retrieving revision 1.1.2.20
diff -u -w -r1.1.2.20 hxmmfbasectrl.h
--- clientapps/symbianMmf/common/hxmmfbasectrl.h 23 Jul 2009 14:57:10
-0000 1.1.2.20
+++ clientapps/symbianMmf/common/hxmmfbasectrl.h 31 Jul 2009 17:38:41
-0000
@@ -53,8 +53,15 @@
#include <mmf/common/Mmfcontroller.h>
#include <mmf/common/Mmfaudio.h>
-#include <mmf/common/Mmfstandardcustomcommands.h>
#include <mmf/common/Mmfvideo.h>
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <mmf/common/mmfstandardcustomcommandsenums.h>
+#include <mmf/common/mmfstandardcustomcommandsimpl.h>
+#else
+#include <mmf/common/mmfstandardcustomcommands.h>
+#endif
+
#include <mmf/server/MmfFile.h>
#include <mmf/server/MmfDes.h>
#include <mmf/server/MmfUrl.h>
Index: common/fileio/platform/symbian/HxMMDataSource.cpp
===================================================================
RCS file: /cvsroot/common/fileio/platform/symbian/HxMMDataSource.cpp,v
retrieving revision 1.1.2.6
diff -u -w -r1.1.2.6 HxMMDataSource.cpp
--- common/fileio/platform/symbian/HxMMDataSource.cpp 14 Mar 2008 18:15:34
-0000 1.1.2.6
+++ common/fileio/platform/symbian/HxMMDataSource.cpp 31 Jul 2009 17:38:44
-0000
@@ -48,7 +48,7 @@
#include <MultimediaDataSource.h>
#include <MultimediaDataSourceEvents.h>
-#include <mmfdatasourcesink.hrh>
+#include <mmf/server/mmfdatasourcesink.hrh>
#include <MultimediaDataSourceFactory.h>
#include <DataSourceConfigIntfc.h>
Index: common/fileio/pub/platform/symbian/asynchronousmultireader.h
===================================================================
RCS file:
/cvsroot/common/fileio/pub/platform/symbian/asynchronousmultireader.h,v
retrieving revision 1.1.2.2
diff -u -w -r1.1.2.2 asynchronousmultireader.h
--- common/fileio/pub/platform/symbian/asynchronousmultireader.h 6 Feb
2008 20:21:32 -0000 1.1.2.2
+++ common/fileio/pub/platform/symbian/asynchronousmultireader.h 31 Jul
2009 17:38:44 -0000
@@ -50,8 +50,8 @@
#ifndef _ASYNCHRONOUSMULTIREADER_H_
#define _ASYNCHRONOUSMULTIREADER_H_
-#include <mmfclip.h> //CMMFClip
-#include <mmfdatasink.h> //MDataSink
+#include <mmf/server/mmfclip.h> //CMMFClip
+#include <mmf/server/mmfdatasink.h> //MDataSink
#include <mmfcontrollerframework.h> //MAsyncEventHandler
#include "hxcom.h" //STDMETHODIMP
#include "hxfiles.h" //IHXFileObject
Index: common/fileio/pub/platform/symbian/hxdatasourcemmfclip.h
===================================================================
RCS file: /cvsroot/common/fileio/pub/platform/symbian/hxdatasourcemmfclip.h,v
retrieving revision 1.1.2.3
diff -u -w -r1.1.2.3 hxdatasourcemmfclip.h
--- common/fileio/pub/platform/symbian/hxdatasourcemmfclip.h 27 Mar 2007
14:55:04 -0000 1.1.2.3
+++ common/fileio/pub/platform/symbian/hxdatasourcemmfclip.h 31 Jul 2009
17:38:44 -0000
@@ -54,7 +54,7 @@
#ifdef HELIX_FEATURE_S60_PROGDOWN
#include "ihxdownloadeventobserver.h"
#endif
-#include <mmffile.h>
+#include <mmf/server/mmffile.h>
// warnning: This interface and related functionality is under development.
// IHXMMFDataSource API can change anytime.
Index: common/netio/pub/platform/symbian/hxsymbiansocket.h
===================================================================
RCS file: /cvsroot/common/netio/pub/platform/symbian/hxsymbiansocket.h,v
retrieving revision 1.1
diff -u -w -r1.1 hxsymbiansocket.h
--- common/netio/pub/platform/symbian/hxsymbiansocket.h 29 Sep 2005 21:03:26
-0000 1.1
+++ common/netio/pub/platform/symbian/hxsymbiansocket.h 31 Jul 2009 17:38:45
-0000
@@ -55,7 +55,12 @@
#include "hxbuffer.h"
#include <es_sock.h>
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <in_sock_internal.h> //KSoUdpRecvBuf
+#else
#include <in_sock.h>
+#endif
#include "ihxaccesspoint.h"
#include "hxapconresp.h"
Index: datatype/mdf/audio/dsp/mdfaudfmt.h
===================================================================
RCS file: /cvsroot/datatype/mdf/audio/dsp/mdfaudfmt.h,v
retrieving revision 1.1.2.8
diff -u -w -r1.1.2.8 mdfaudfmt.h
--- datatype/mdf/audio/dsp/mdfaudfmt.h 31 Mar 2009 19:15:30 -0000 1.1.2.8
+++ datatype/mdf/audio/dsp/mdfaudfmt.h 31 Jul 2009 17:39:00 -0000
@@ -50,7 +50,7 @@
#ifndef MDF_AUDIOFMT
#define MDF_AUDIOFMT
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
#include <mmf/common/mmffourcc.h>
#include "hxcom.h"
Index: datatype/mdf/audio/dsp/mdfdevsound.h
===================================================================
RCS file: /cvsroot/datatype/mdf/audio/dsp/mdfdevsound.h,v
retrieving revision 1.1.2.13
diff -u -w -r1.1.2.13 mdfdevsound.h
--- datatype/mdf/audio/dsp/mdfdevsound.h 23 Jul 2009 15:01:50 -0000
1.1.2.13
+++ datatype/mdf/audio/dsp/mdfdevsound.h 31 Jul 2009 17:39:00 -0000
@@ -51,11 +51,10 @@
#ifndef MDF_DEVSOUND
#define MDF_DEVSOUND
-#include <SoundDevice.h>
+#include <mmf/server/sounddevice.h>
#include <mmf/common/mmffourcc.h>
#include <mmf/server/mmfhwdevice.h>
#include <ecom/ecom.h>
-#include <sounddevice.h>
#include "hxslist.h" //CHXSimpleList
#include "mdfaudfmt.h"
Index: datatype/mdf/video/renderer/umakedll
===================================================================
RCS file: /cvsroot/datatype/mdf/video/renderer/umakedll,v
retrieving revision 1.1.1.1.2.9
diff -u -w -r1.1.1.1.2.9 umakedll
--- datatype/mdf/video/renderer/umakedll 27 Jan 2009 18:17:02 -0000
1.1.1.1.2.9
+++ datatype/mdf/video/renderer/umakedll 31 Jul 2009 17:39:00 -0000
@@ -73,8 +73,6 @@
project.AddSystemLibraries("edllstub.lib")
-project.AddIncludes(os.path.join(GetSDKPath('SYMBIANSDK'),'epoc32\include\mmf\devvideo'))
-
project.AddIncludes("../common/include")
Index: datatype/mdf/video/renderer/umakelib
===================================================================
RCS file: /cvsroot/datatype/mdf/video/renderer/umakelib,v
retrieving revision 1.1.1.1.2.5
diff -u -w -r1.1.1.1.2.5 umakelib
--- datatype/mdf/video/renderer/umakelib 28 Mar 2007 03:53:41 -0000
1.1.1.1.2.5
+++ datatype/mdf/video/renderer/umakelib 31 Jul 2009 17:39:00 -0000
@@ -47,8 +47,6 @@
UmakefileVersion(2,1)
-project.AddIncludes(os.path.join(GetSDKPath('SYMBIANSDK'),'epoc32\include\mmf\devvideo'))
-
project.AddModuleIncludes( "common/include",
"client/include",
"datatype/rm/include",
Index: datatype/mdf/video/renderer/mdfdevice/client/CMDFDevVideoClient.h
===================================================================
RCS file:
/cvsroot/datatype/mdf/video/renderer/mdfdevice/client/CMDFDevVideoClient.h,v
retrieving revision 1.1.2.6
diff -u -w -r1.1.2.6 CMDFDevVideoClient.h
--- datatype/mdf/video/renderer/mdfdevice/client/CMDFDevVideoClient.h 30 Mar
2009 18:49:44 -0000 1.1.2.6
+++ datatype/mdf/video/renderer/mdfdevice/client/CMDFDevVideoClient.h 31 Jul
2009 17:39:00 -0000
@@ -69,7 +69,12 @@
#include "CMDFDevVideoServerCmds.h"
#if defined(HELIX_FEATURE_S60_TRICKPLAY)
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <mmf/common/mmfvideoenums.h> //TVideoPlayRateCapabilities
+#else
#include <mmf/common/mmfvideo.h>
+#endif
#endif //HELIX_FEATURE_S60_TRICKPLAY
#if defined (HELIX_FEATURE_SYMBIAN_GRAPHICS_SURFACES)
_______________________________________________
Audio-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/audio-dev