"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: yury.ramanov...@nokia.com 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 Audio-dev@helixcommunity.org http://lists.helixcommunity.org/mailman/listinfo/audio-dev