Revert incorrect RCL_3 drop: RCL_3 PDK_3.0.2
authorPat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:23:00 +0100
branchRCL_3
changeset 20 0ac9a5310753
parent 19 095bea5f582e
child 21 999b2818a0eb
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035
group/bld.inf
inc/AmrCodec.h
inc/DebugMacros.h
inc/EAacPlusFrameParser.h
inc/EAacPlusUtil.h
inc/FrameTable.h
inc/Mp3Codec.h
khronosfws/group/bld.inf
khronosfws/openmax_al/bwins/openmaxalu.def
khronosfws/openmax_al/data/create_openmax_al_stub_sis.bat
khronosfws/openmax_al/data/openmax_al_stub.pkg
khronosfws/openmax_al/data/openmax_al_stub.sis
khronosfws/openmax_al/data/openmaxal.cfg
khronosfws/openmax_al/eabi/openmaxalu.def
khronosfws/openmax_al/group/bld.inf
khronosfws/openmax_al/group/openmaxal.mmp
khronosfws/openmax_al/inc/openmaxalwrapper.h
khronosfws/openmax_al/inc/profileutilmacro.h
khronosfws/openmax_al/rom/openmax_al.iby
khronosfws/openmax_al/sis/openmax_al.pkg
khronosfws/openmax_al/sis/openmax_al_udeb.pkg
khronosfws/openmax_al/src/adptcommon/xaadptbasectx.c
khronosfws/openmax_al/src/adptcommon/xaadptbasectx.h
khronosfws/openmax_al/src/adptcommon/xacapabilitiesmgr.c
khronosfws/openmax_al/src/adptcommon/xacapabilitiesmgr.h
khronosfws/openmax_al/src/adptcommon/xaframeworkmgr.c
khronosfws/openmax_al/src/adptcommon/xaframeworkmgr.h
khronosfws/openmax_al/src/common/openmaxal.c
khronosfws/openmax_al/src/common/xacommon.c
khronosfws/openmax_al/src/common/xaconfigextensionsitf.c
khronosfws/openmax_al/src/common/xaconfigextensionsitf.h
khronosfws/openmax_al/src/common/xadebug.h
khronosfws/openmax_al/src/common/xadynamicsourceitf.c
khronosfws/openmax_al/src/common/xadynamicsourceitf.h
khronosfws/openmax_al/src/common/xadynintmgmtitf.c
khronosfws/openmax_al/src/common/xadynintmgmtitf.h
khronosfws/openmax_al/src/common/xaglobals.h
khronosfws/openmax_al/src/common/xametadataextractionitf.c
khronosfws/openmax_al/src/common/xametadataextractionitf.h
khronosfws/openmax_al/src/common/xanlinearvolumeitf.h
khronosfws/openmax_al/src/common/xanokialinearvolume_iid.c
khronosfws/openmax_al/src/common/xanokialinearvolumeitf.c
khronosfws/openmax_al/src/common/xanokiavolumeext_iid.c
khronosfws/openmax_al/src/common/xanokiavolumeextitf.c
khronosfws/openmax_al/src/common/xanvolumeextitf.h
khronosfws/openmax_al/src/common/xaobjectitf.c
khronosfws/openmax_al/src/common/xaobjectitf.h
khronosfws/openmax_al/src/common/xaobjects.h
khronosfws/openmax_al/src/common/xaplatform.c
khronosfws/openmax_al/src/common/xaplatform.h
khronosfws/openmax_al/src/common/xastreaminformationitf.c
khronosfws/openmax_al/src/common/xastreaminformationitf.h
khronosfws/openmax_al/src/common/xathreadsafety.c
khronosfws/openmax_al/src/common/xathreadsafety.h
khronosfws/openmax_al/src/common/xavolumeitf.c
khronosfws/openmax_al/src/common/xavolumeitf.h
khronosfws/openmax_al/src/engine/xaaudioencodercapabilitiesitf.c
khronosfws/openmax_al/src/engine/xaaudioencodercapabilitiesitf.h
khronosfws/openmax_al/src/engine/xaaudioiodevicecapabilitiesitf.c
khronosfws/openmax_al/src/engine/xaaudioiodevicecapabilitiesitf.h
khronosfws/openmax_al/src/engine/xaengine.c
khronosfws/openmax_al/src/engine/xaengine.h
khronosfws/openmax_al/src/engine/xaengineitf.c
khronosfws/openmax_al/src/engine/xaengineitf.h
khronosfws/openmax_al/src/engine/xathreadsyncitf.c
khronosfws/openmax_al/src/engine/xathreadsyncitf.h
khronosfws/openmax_al/src/gst_adaptation/xaadaptationgst.c
khronosfws/openmax_al/src/gst_adaptation/xaadaptationgst.h
khronosfws/openmax_al/src/gst_adaptation/xaaudioencoderitfadaptation.c
khronosfws/openmax_al/src/gst_adaptation/xaaudioencoderitfadaptation.h
khronosfws/openmax_al/src/gst_adaptation/xaengineadaptctx.c
khronosfws/openmax_al/src/gst_adaptation/xaengineadaptctx.h
khronosfws/openmax_al/src/gst_adaptation/xagstcapabilitiesmgr.c
khronosfws/openmax_al/src/gst_adaptation/xagstcapabilitiesmgr.h
khronosfws/openmax_al/src/gst_adaptation/xamediarecorderadaptctx.c
khronosfws/openmax_al/src/gst_adaptation/xamediarecorderadaptctx.h
khronosfws/openmax_al/src/gst_adaptation/xametadataadaptation.c
khronosfws/openmax_al/src/gst_adaptation/xametadataadaptation.h
khronosfws/openmax_al/src/gst_adaptation/xarecorditfadaptation.c
khronosfws/openmax_al/src/gst_adaptation/xarecorditfadaptation.h
khronosfws/openmax_al/src/khronos/openmaxal_iid.c
khronosfws/openmax_al/src/mediaplayer/xamediaplayer.c
khronosfws/openmax_al/src/mediaplayer/xamediaplayer.h
khronosfws/openmax_al/src/mediaplayer/xaplaybackrateitf.c
khronosfws/openmax_al/src/mediaplayer/xaplaybackrateitf.h
khronosfws/openmax_al/src/mediaplayer/xaplayitf.c
khronosfws/openmax_al/src/mediaplayer/xaplayitf.h
khronosfws/openmax_al/src/mediaplayer/xaprefetchstatusitf.c
khronosfws/openmax_al/src/mediaplayer/xaprefetchstatusitf.h
khronosfws/openmax_al/src/mediaplayer/xaseekitf.c
khronosfws/openmax_al/src/mediaplayer/xaseekitf.h
khronosfws/openmax_al/src/mediarecorder/xaaudioencoderitf.c
khronosfws/openmax_al/src/mediarecorder/xaaudioencoderitf.h
khronosfws/openmax_al/src/mediarecorder/xamediarecorder.c
khronosfws/openmax_al/src/mediarecorder/xamediarecorder.h
khronosfws/openmax_al/src/mediarecorder/xametadatainsertionitf.c
khronosfws/openmax_al/src/mediarecorder/xametadatainsertionitf.h
khronosfws/openmax_al/src/mediarecorder/xarecorditf.c
khronosfws/openmax_al/src/mediarecorder/xarecorditf.h
khronosfws/openmax_al/src/metadataextractor/xametadataextractor.c
khronosfws/openmax_al/src/metadataextractor/xametadataextractor.h
khronosfws/openmax_al/src/mmf_adaptation/cmetadatautilityitf.cpp
khronosfws/openmax_al/src/mmf_adaptation/cmetadatautilityitf.h
khronosfws/openmax_al/src/mmf_adaptation/cmmfbackendengine.cpp
khronosfws/openmax_al/src/mmf_adaptation/cmmfbackendengine.h
khronosfws/openmax_al/src/mmf_adaptation/cmmfradiobackendengine.cpp
khronosfws/openmax_al/src/mmf_adaptation/cmmfradiobackendengine.h
khronosfws/openmax_al/src/mmf_adaptation/markerpositiontimer.cpp
khronosfws/openmax_al/src/mmf_adaptation/markerpositiontimer.h
khronosfws/openmax_al/src/mmf_adaptation/positionupdatetimer.cpp
khronosfws/openmax_al/src/mmf_adaptation/positionupdatetimer.h
khronosfws/openmax_al/src/mmf_adaptation/sfmrlocaltimer.cpp
khronosfws/openmax_al/src/mmf_adaptation/sfmrlocaltimer.h
khronosfws/openmax_al/src/mmf_adaptation/xaadaptationmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xaadaptationmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xadynamicsourceitfadaptationmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xadynamicsourceitfadaptationmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xaengineadaptctxmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xaengineadaptctxmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xamediaplayeradaptctxmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xamediaplayeradaptctxmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xamediarecorderadaptctxmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xamediarecorderadaptctxmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xametadataadaptctxmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xametadataadaptctxmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xammfcapabilitiesmgr.c
khronosfws/openmax_al/src/mmf_adaptation/xammfcapabilitiesmgr.h
khronosfws/openmax_al/src/mmf_adaptation/xangavideosink.cpp
khronosfws/openmax_al/src/mmf_adaptation/xangavideosink.h
khronosfws/openmax_al/src/mmf_adaptation/xanokialinearvolumeitfadaptationmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xanokialinearvolumeitfadaptationmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xanokiavolumeextitfadaptationmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xanokiavolumeextitfadaptationmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xaplaybackrateitfadaptationmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xaplaybackrateitfadaptationmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xaplayitfadaptationmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xaplayitfadaptationmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xaradioadaptctx.c
khronosfws/openmax_al/src/mmf_adaptation/xaradioadaptctx.h
khronosfws/openmax_al/src/mmf_adaptation/xaradioitfadaptation.c
khronosfws/openmax_al/src/mmf_adaptation/xaradioitfadaptation.h
khronosfws/openmax_al/src/mmf_adaptation/xarecorditfadaptationmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xarecorditfadaptationmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xaseekitfadaptationmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xaseekitfadaptationmmf.h
khronosfws/openmax_al/src/mmf_adaptation/xastreaminformationitfadaptationmmf.c
khronosfws/openmax_al/src/mmf_adaptation/xastreaminformationitfadaptationmmf.h
khronosfws/openmax_al/src/radio/xaradiodevice.c
khronosfws/openmax_al/src/radio/xaradiodevice.h
khronosfws/openmax_al/src/radio/xaradioitf.c
khronosfws/openmax_al/src/radio/xaradioitf.h
layers.sysdef.xml
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpDataSourceAdapter/Group/3gpDataSourceAdapter.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpDataSourceAdapter/Src/3gpDataSourceAdapter.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Data/3GPAudioPlayControllerResource.rss
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Group/3GPAudioPlayControllerPlugin.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Group/3GPAudioPlayControllerRecognizer.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Src/3GPAudioPlayControllerPlugin.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudiorecordcontroller/Group/3GPAudioRecordControllerPlugin.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Bwins/AdvancedAudioControllerU.DEF
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/EABI/AdvancedAudioControllerU.DEF
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Group/AdvancedAudioController.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Inc/AdvancedAudioDecoder.h
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Inc/AdvancedAudioPlayController.h
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioDecoder.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioPlayController.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioControllerUtility/Group/EAACPlusAudioControllerUtility.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DataSourceAdapter/Bwins/DataSourceAdapteru.def
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioInput/Group/DevSoundAudioInput.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Group/DevSoundAudioOutput.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Inc/DevSoundAudioOutput.h
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Src/DevSoundAudioOutput.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Group/FileAudioOutput.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Inc/FileAudioOutput.h
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Src/FileAudioOutput.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/MetaDataWrite/Group/MetaDataWrite.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/PlaylistRecognizer/group/playlistrecognizer.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Group/AACAudioPlayControllerPlugin.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerDecoder.h
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerHwDecoder.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerSwDecoder.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Data/AMRAudioPlayControllerResource.rss
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Group/AMRAudioPlayControllerPlugin.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Src/AMRAudioPlayControllerHwDecoder.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Src/AMRAudioPlayControllerPlugin.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/awbaudioplaycontroller/Group/AWBAudioPlayControllerPlugin.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/awbaudioplaycontroller/Src/AWBAudioPlayControllerHwDecoder.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/mp3audioplaycontroller/Group/MP3AudioPlayControllerPlugin.mmp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/mp3audioplaycontroller/Src/MP3AudioPlayControllerHwDecoder.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/rom/AudioControllerPluginsVariant.iby
mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/group/mmfaudiotonecontroller.mmp
mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/ringtonerecognizer/group/recrt.mmp
mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/src/mmfaudiotonecontroller.cpp
mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/src/mmfaudiotonecontroller.h
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_11 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_12 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_128 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_16 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_160 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_192 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_20 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_256 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_32 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_320 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_44 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_5 kbps_Voice.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_6 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_64 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_8 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_96 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/10kbps 11khz cbr mono.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/128kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/12kbps 8khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/160kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/192kbps 48khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/256kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/320kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/96kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/VBR Q98 44Khz stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_11 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_12 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_128 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_16 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_160 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_192 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_20 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_256 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_32 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_320 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_44 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_5 kbps_Voice.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_6 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_64 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_8 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_96 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/10kbps 11khz cbr mono.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/128kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/12kbps 8khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/160kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/192kbps 48khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/256kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/320kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/96kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/VBR Q98 44Khz stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/group/AudioPlaybackTestModule.mmp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/src/MmfTsPlay.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/src/MmfTsPlay_work.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/conf/AudioRecorderTestModule.cfg
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_11 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_12 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_128 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_16 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_160 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_192 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_20 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_256 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_32 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_320 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_44 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_5 kbps_Voice.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_6 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_64 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_8 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_96 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/10kbps 11khz cbr mono.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/128kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/12kbps 8khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/160kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/192kbps 48khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/256kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/320kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/96kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/VBR Q98 44Khz stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/group/AudioRecorderTestModule.mmp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/AudioResourceNotification.h
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/CustomCommand.h
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/CustomCommandAsync.h
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/RecordFormats.h
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/RecordOpen.h
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/ThreadPriority.h
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/AudioLoadingProgress.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/AudioResourceNotification.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/CropFromBeginning.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/CustomCommand.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/CustomCommandAsync.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/MetaDataEntry.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayBalance.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayRamp.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayVolume.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayWindow.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordDataFormat.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordDataType.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordFormats.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordOpen.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordingBase.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/ThreadPriority.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_11 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_12 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_128 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_16 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_160 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_192 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_20 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_256 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_32 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_320 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_44 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_5 kbps_Voice.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_6 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_64 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_8 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_96 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/10kbps 11khz cbr mono.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/128kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/12kbps 8khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/160kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/192kbps 48khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/256kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/320kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/96kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/VBR Q98 44Khz stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/group/AudioStreamTestModule.mmp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_11 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_12 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_128 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_16 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_160 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_192 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_20 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_256 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_32 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_320 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_44 kbps_Stereo Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_5 kbps_Voice.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_6 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_64 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_8 kbps_Music.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_96 kbps_Stereo Music - RealAudio 10.ra
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/10kbps 11khz cbr mono.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/128kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/12kbps 8khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/160kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/192kbps 48khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/256kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/320kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/96kbps 44khz cbr stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/VBR Q98 44Khz stereo.wma
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/src/MmfTsTone_core.cpp
mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/EmulatorRecordTestModule/AudioRecorderBAT.cfg
mmfenh/advancedaudiocontroller/wavplaycontrollerplugin/group/MmfAudioController.mmp
mmfenh/audiooutputcontrolutility/AudioOutputControlUtilityProxy/Group/AudioOutputControlUtilityProxy.mmp
mmfenh/enhancedaudioplayerutility/AudioPlayer/group/S60AudioPlayer.mmp
mmfenh/enhancedaudioplayerutility/AudioStreaming/AudioClientStreamSource/group/S60AudioClientStreamSource.mmp
mmfenh/enhancedaudioplayerutility/S60AudioUtility/group/S60AudioUtility.mmp
mmfenh/enhancedmediaclient/Client/EABI/EnhancedMediaClient.def
mmfenh/enhancedmediaclient/Client/group/EnhancedMediaClient.mmp
mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/ClientProgDLSource.cpp
mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/ClientProgDLSource.h
mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/DownloadGateway.cpp
mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/DownloadGateway.h
mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/EventAO.cpp
mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/EventAO.h
mmfenh/enhancedmediaclient/Client/src/Components/ControlFactory/ControlFactoryImpl.cpp
mmfenh/enhancedmediaclient/Client/src/Components/ControlFactory/ControlFactoryImpl.h
mmfenh/enhancedmediaclient/Client/src/Components/StreamControl/ClientStreamControl.cpp
mmfenh/enhancedmediaclient/Client/src/Components/StreamControl/ClientUtility.cpp
mmfenh/enhancedmediaclient/Plugins/FileSource/group/FileSource.mmp
mmfenh/enhancedmediaclient/Plugins/MultimediaDataSource/DataSourceFactory/group/MultimediaDataSourceFactory.mmp
mmfenh/enhancedmediaclient/Plugins/MultimediaDataSource/DataSourceFactory/src/MultimediaDataSourceFactory.cpp
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/bwins/ProgDLSource.def
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/data/10207B45.rss
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/eabi/ProgDLSource.def
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/group/ProgDLSource.mmp
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/group/bld.inf
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/MmfFile.h
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLDataSource.h
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLMultimediaSource.h
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLSourceCustomCommands.h
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLSourceUid.h
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLSourceUid.hrh
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/FileAccess.h
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/Main.cpp
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/MmffilePriv.h
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/ProgDLSource.cpp
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/SinkQueueItem.cpp
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/SinkQueueItem.h
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/fileaccess.cpp
mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/BWINS/TransferRateMonitor.def
mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/EABI/TransferRateMonitor.def
mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/group/TransferRateMonitor.mmp
mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/group/bld.inf
mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/inc/TransferRateMonitor.h
mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/src/TransferRateMonitor.cpp
mmfenh/enhancedmediaclient/group/bld.inf
mmfenh/enhancedmediaclient/rom/EnhancedMediaClient.iby
mmfenh/group/bld.inf
mmfenh/profilesettingsmonitor/group/ProfileSettingsMonitor.mmp
mmfenh/profilesettingsmonitor/inc/ProfileSettingsMonitorServerImpl.h
mmfenh/profilesettingsmonitor/src/ProfileSettingsMonitorServerImpl.cpp
mmfenh/progressivedownload/Data/Create_ProgressiveDownload_STUB_SIS.bat
mmfenh/progressivedownload/Data/ProgressiveDownload_Stub.SIS
mmfenh/progressivedownload/Data/ProgressiveDownload_Stub.pkg
mmfenh/progressivedownload/ProgressiveDownloadSource/BWINS/PROGRESSIVEDOWNLOADSOURCE.def
mmfenh/progressivedownload/ProgressiveDownloadSource/data/10207a7b.rss
mmfenh/progressivedownload/ProgressiveDownloadSource/group/ProgressiveDownloadSource.mmp
mmfenh/progressivedownload/ProgressiveDownloadSource/group/bld.inf
mmfenh/progressivedownload/ProgressiveDownloadSource/src/FileAccess.h
mmfenh/progressivedownload/ProgressiveDownloadSource/src/MmffilePriv.h
mmfenh/progressivedownload/ProgressiveDownloadSource/src/ProgressiveDownloadSource.cpp
mmfenh/progressivedownload/ProgressiveDownloadSource/src/ProgressiveDownloadSource.h
mmfenh/progressivedownload/ProgressiveDownloadSource/src/ProgressiveDownloadSourceUIDs.hrh
mmfenh/progressivedownload/ProgressiveDownloadSource/src/fileaccess.cpp
mmfenh/progressivedownload/ProgressiveDownloadUtility/BWINS/PDProperties.def
mmfenh/progressivedownload/ProgressiveDownloadUtility/BWINS/ProgressiveDownloadUtility.def
mmfenh/progressivedownload/ProgressiveDownloadUtility/EABI/PDProperties.def
mmfenh/progressivedownload/ProgressiveDownloadUtility/EABI/ProgressiveDownloadUtility.def
mmfenh/progressivedownload/ProgressiveDownloadUtility/group/PDProperties.mmp
mmfenh/progressivedownload/ProgressiveDownloadUtility/group/ProgressiveDownloadUtility.mmp
mmfenh/progressivedownload/ProgressiveDownloadUtility/group/bld.inf
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/AudioPdPlayUtility.cpp
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/AudioPdPlayUtility.h
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/AudioPdProperties.h
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/BufferEmptiedEventAO.cpp
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/BufferEmptiedEventAO.h
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/ContentFile.cpp
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/ContentFile.h
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/EMCPdPlayUtility.cpp
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/EMCPdPlayUtility.h
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/EMCPdProperties.h
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/PDProperties.cpp
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/PdProperties.h
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/ProgressiveDownloadUtility.cpp
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/mmfclientutility.cpp
mmfenh/progressivedownload/ProgressiveDownloadUtility/src/mmfclientutility.h
mmfenh/progressivedownload/group/bld.inf
mmfenh/progressivedownload/rom/progressivedownload.iby
mmmw_info/mmmw_metadata/mmmw_metadata.mrp
mmmw_plat/audio_metadata_reader_api/inc/MetaDataField.hrh
mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/group/MetaDataDisplay.pkg
mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/inc/MetaDataDisplay.h
mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/src/MetaDataDisplayBlocks.cpp
mmmw_plat/audio_metadata_reader_api/tsrc/conf/MetaDataDisplay.cfg
mmmw_plat/audio_metadata_reader_api/tsrc/group/bld.inf
mmmw_plat/audio_metadata_reader_api/tsrc/init/TestFramework.ini
mmmw_plat/audio_output_control_utility_api/tsrc/AudioOutputControlTestClass/inc/AudioOutputControlTestClass.h
mmmw_plat/call_audio_control_api/tsrc/data/mmc/alarm 1.aac
mmmw_plat/configuration_components_factory_api/inc/ConfigurationComponentsFactory.h
mmmw_plat/emc_progressive_download_source_api/emc_progressive_download_source_api.metaxml
mmmw_plat/emc_progressive_download_source_api/group/bld.inf
mmmw_plat/emc_progressive_download_source_api/inc/ProgDLSource.h
mmmw_plat/enhanced_media_client_api/tsrc/Conf/EnhanMediaTestClass.cfg
mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/EABI/EnhanMediaTestClassu.def
mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/inc/EnhanMediaTestClass.h
mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/src/EnhanMediaTestCallbacks.cpp
mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/src/EnhanMediaTestClassBlocks.cpp
mmmw_plat/equalizer_ui_api/equalizer_ui_api.metaxml
mmmw_plat/equalizer_ui_api/group/bld.inf
mmmw_plat/equalizer_ui_api/inc/EqualizerConstants.h
mmmw_plat/equalizer_ui_api/inc/EqualizerPresetsDialog.h
mmmw_plat/equalizer_ui_api/tsrc/conf/tcequalizertest.cfg
mmmw_plat/equalizer_ui_api/tsrc/conf/ui_equalizertest.cfg
mmmw_plat/equalizer_ui_api/tsrc/group/bld.inf
mmmw_plat/equalizer_ui_api/tsrc/init/TestFramework.ini
mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/Bmarm/ui_equalizertestU.DEF
mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/Bwins/ui_equalizertestU.DEF
mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/EABI/ui_equalizertestU.def
mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/group/bld.inf
mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/group/ui_equalizertest.mmp
mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/group/ui_equalizertest.pkg
mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/inc/EdwinTestControl.h
mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/inc/ui_equalizertest.h
mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/src/EdwinTestControl.cpp
mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/src/ui_equalizertest.cpp
mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/src/ui_equalizertestBlocks.cpp
mmmw_plat/group/bld.inf
mmmw_plat/openmax_al_api/group/bld.inf
mmmw_plat/openmax_al_api/inc/OpenMAXAL.h
mmmw_plat/openmax_al_api/inc/OpenMAXAL_Platform.h
mmmw_plat/openmax_al_api/openmax_al_api.metaxml
mmmw_plat/openmax_al_api/readme.txt
mmmw_plat/openmax_al_api/tsrc/group/bld.inf
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/bmarm/openmaxaltestmoduleu.def
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/bwins/openmaxaltestmoduleu.def
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_common.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_common_dynsrcitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_common_noklinvolitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_common_nokvolextitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_common_volumeitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_engine_aiodcitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_engine_audenccapitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_engine_engineitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_global.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mo.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mo_mdextractionitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_mdextractionitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_objectitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_playbackrateitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_playitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_preemption.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_seekitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_streaming.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_strminfoitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_variousformats.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_audioencoderitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_mdinsertionitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_record_aac_au_p2.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_record_aac_he_p2.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf_aac_auto.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf_aac_he.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf_part2.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf_part3.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf_part4.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_objectitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_radioitf.cfg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/JapJap.mp3
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/readme.txt
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/test.3gp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/test.mp3
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/test.wav
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/testmp4.mp4
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/eabi/openmaxaltestmoduleu.def
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/group/bld.inf
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/group/openmaxaltestmodule.mmp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/group/openmaxaltestmodule.pkg
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/group/openmaxaltestmodule_doxyfile.txt
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/inc/TimeoutController.h
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/inc/openmaxaltestmodule.h
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/inc/profileutilmacro.h
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/init/testframework.ini
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/TimeoutController.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalcommontests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxaldynitfmgmtitfcallbacks.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxaldynitfmgmtitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxaldynsrcitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalnokialinearvolumeitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalnokiavolumeextitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalobjectcallbacks.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalobjectitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalstrminfoitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxaltestmodule.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxaltestmoduleblocks.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalvolumeitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/engine/openmaxalaudioencodercapabiltiesitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/engine/openmaxalaudioiodevicecapabilitiesitfcallbacks.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/engine/openmaxalaudioiodevicecapabilitiesitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/engine/openmaxalengineitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/engine/openmaxalenginetests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/metadata/openmaxalmetadataextractionitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/player/openmaxalplaybackrateitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/player/openmaxalplayitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/player/openmaxalseekitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/radio/openmaxalradioitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/recorder/openmaxalaudioencoderitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/recorder/openmaxalmetadatainsertionitfcallbacks.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/recorder/openmaxalmetadatainsertionitftests.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/recorder/openmaxalrecorditfcallbacks.cpp
mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/recorder/openmaxalrecorditftests.cpp
mmmw_plat/openmax_al_ext_api/group/bld.inf
mmmw_plat/openmax_al_ext_api/inc/xanokialinearvolumeitf.h
mmmw_plat/openmax_al_ext_api/inc/xanokiavolumeextitf.h
mmmw_plat/openmax_al_ext_api/inc/xaradioitfext.h
mmmw_plat/openmax_al_ext_api/openmax_al_ext_api.metaxml
mmmw_plat/openmax_al_ext_api/readme_ext.txt
mmmw_plat/progressive_download_api/group/bld.inf
mmmw_plat/progressive_download_api/inc/MAudioPdPlayUtility.h
mmmw_plat/progressive_download_api/inc/MAudioPlayUtility.h
mmmw_plat/progressive_download_api/inc/MProgressiveDownloadUtility.h
mmmw_plat/progressive_download_api/inc/ProgressiveDownloadUtility.h
mmmw_plat/progressive_download_api/progressive_download_api.metaxml
mmmw_plat/radio_preset_utilities_api/group/bld.inf
mmmw_plat/radio_preset_utilities_api/inc/RadioFmPresetUtility.h
mmmw_plat/radio_preset_utilities_api/inc/RadioPresetUtility.h
mmmw_plat/radio_preset_utilities_api/inc/preset.h
mmmw_plat/radio_preset_utilities_api/inc/presetutility.h
mmmw_plat/radio_preset_utilities_api/inc/presetutilityobserver.h
mmmw_plat/system_tone_service_api/group/bld.inf
mmmw_plat/system_tone_service_api/inc/systemtoneservice.h
mmmw_plat/system_tone_service_api/system_tone_service_api.metaxml
mmmw_plat/system_tone_service_api/tsrc/bmarm/systemtoneservicestifu.def
mmmw_plat/system_tone_service_api/tsrc/bwins/systemtoneservicestifu.def
mmmw_plat/system_tone_service_api/tsrc/conf/systemtoneservicestif.cfg
mmmw_plat/system_tone_service_api/tsrc/conf/systemtoneservicestif_calendaralarm.cfg
mmmw_plat/system_tone_service_api/tsrc/conf/systemtoneservicestif_common.cfg
mmmw_plat/system_tone_service_api/tsrc/eabi/systemtoneservicestifu.def
mmmw_plat/system_tone_service_api/tsrc/group/bld.inf
mmmw_plat/system_tone_service_api/tsrc/group/systemtoneservicestif.mmp
mmmw_plat/system_tone_service_api/tsrc/group/systemtoneservicestif.pkg
mmmw_plat/system_tone_service_api/tsrc/group/systemtoneservicestif_DoxyFile.txt
mmmw_plat/system_tone_service_api/tsrc/inc/systemtoneservicesactiveobj.h
mmmw_plat/system_tone_service_api/tsrc/inc/systemtoneservicestif.h
mmmw_plat/system_tone_service_api/tsrc/init/testframework.ini
mmmw_plat/system_tone_service_api/tsrc/src/systemtoneservicesactiveobj.cpp
mmmw_plat/system_tone_service_api/tsrc/src/systemtoneservicestif.cpp
mmmw_plat/system_tone_service_api/tsrc/src/systemtoneservicestifblocks.cpp
mmmw_plat/telephony_multimedia_service_api/group/bld.inf
mmmw_plat/telephony_multimedia_service_api/inc/tms.h
mmmw_plat/telephony_multimedia_service_api/inc/tmsdtmf.h
mmmw_plat/telephony_multimedia_service_api/inc/tmsdtmfobsrvr.h
mmmw_plat/telephony_multimedia_service_api/inc/tmsfactory.h
mmmw_plat/telephony_multimedia_service_api/inc/tmsinbandtone.h
mmmw_plat/telephony_multimedia_service_api/inc/tmsinbandtoneobsrvr.h
mmmw_plat/telephony_multimedia_service_api/inc/tmsringtone.h
mmmw_plat/telephony_multimedia_service_api/inc/tmsringtoneobsrvr.h
mmmw_plat/telephony_multimedia_service_api/inc/tmsstream.h
mmmw_plat/telephony_multimedia_service_api/tsrc/Conf/TMSAudioServicesTestClass.cfg
mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/group/TmsAudioServicesTestClass.pkg
mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/inc/TMSAudioServicesTestClass.h
mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/sis/TmsAudioServicesTestClass.sis
mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/sis/TmsAudioServicesTestClass.sisx
mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/src/TmsAudioServicesTestClassBlocks.cpp
mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/src/TmsAudioServicesTestClassBlocksCallbacks.cpp
mmmw_plat/voip_audio_services_api/tsrc/VoIPAudioServicesTestClass/group/VoIPAudioServicesTestClass.pkg
mmmw_plat/voip_audio_services_api/tsrc/VoIPAudioServicesTestClass/sis/VoIPAudioServicesTestClass.pkg
mmmw_plat/voip_audio_services_api/tsrc/VoIPAudioServicesTestClass/sis/create_sis.bat
mmmw_plat/voip_audio_services_api/tsrc/data/mmc/alarm 1.aac
mmserv/audioeffectsui/equalizer/bwinscw/EqualizerU.DEF
mmserv/audioeffectsui/equalizer/data/Equalizer.rss
mmserv/audioeffectsui/equalizer/eabi/EqualizerU.DEF
mmserv/audioeffectsui/equalizer/group/Equalizer.mmp
mmserv/audioeffectsui/equalizer/group/EqualizerIcons.txt
mmserv/audioeffectsui/equalizer/group/EqualizerIcons2.txt
mmserv/audioeffectsui/equalizer/group/bld.inf
mmserv/audioeffectsui/equalizer/group/icons.mk
mmserv/audioeffectsui/equalizer/group/icons_dc.mk
mmserv/audioeffectsui/equalizer/help/data/xhtml.zip
mmserv/audioeffectsui/equalizer/help/group/bld.inf
mmserv/audioeffectsui/equalizer/help/inc/eq.hlp.hrh
mmserv/audioeffectsui/equalizer/help/rom/equalizerhelps_variant.iby
mmserv/audioeffectsui/equalizer/inc/Equalizer.hrh
mmserv/audioeffectsui/equalizer/inc/Equalizer.rh
mmserv/audioeffectsui/equalizer/inc/EqualizerEditingDialog.h
mmserv/audioeffectsui/equalizer/inc/EqualizerFreqBand.h
mmserv/audioeffectsui/equalizer/inc/EqualizerFreqBandContainer.h
mmserv/audioeffectsui/equalizer/inc/EqualizerPresetListArray.h
mmserv/audioeffectsui/equalizer/inc/EqualizerPrivateConstants.h
mmserv/audioeffectsui/equalizer/inc/eq.hlp.hrh
mmserv/audioeffectsui/equalizer/loc/equalizer.loc
mmserv/audioeffectsui/equalizer/rom/Equalizer.iby
mmserv/audioeffectsui/equalizer/rom/EqualizerResources.iby
mmserv/audioeffectsui/equalizer/src/EqualizerEditingDialog.cpp
mmserv/audioeffectsui/equalizer/src/EqualizerFreqBand.cpp
mmserv/audioeffectsui/equalizer/src/EqualizerFreqBandContainer.cpp
mmserv/audioeffectsui/equalizer/src/EqualizerMain.cpp
mmserv/audioeffectsui/equalizer/src/EqualizerPresetListArray.cpp
mmserv/audioeffectsui/equalizer/src/EqualizerPresetsDialog.cpp
mmserv/audioeffectsui/group/bld.inf
mmserv/audioeffectsui/inc/audioeffectsuibldvariant.hrh
mmserv/callaudiocontrol/group/CallAudioControl.mmp
mmserv/callaudiocontrol/inc/CallAudioControlImpl.h
mmserv/group/bld.inf
mmserv/metadatautility/3GPExtParserLib/armv5/LIB/3GPExtParser.dso
mmserv/metadatautility/3GPExtParserLib/armv5/LIB/3GPExtParser.lib
mmserv/metadatautility/3GPExtParserLib/armv5/LIB/3GPExtParser{000a0000}.dso
mmserv/metadatautility/3GPExtParserLib/armv5/LIB/3GPExtParser{000a0000}.lib
mmserv/metadatautility/3GPExtParserLib/armv5/udeb/3GPExtParser.dll
mmserv/metadatautility/3GPExtParserLib/armv5/urel/3GPExtParser.dll
mmserv/metadatautility/3GPExtParserLib/group/bld.inf
mmserv/metadatautility/3GPExtParserLib/winscw/udeb/3GPExtParser.dll
mmserv/metadatautility/3GPExtParserLib/winscw/udeb/3GPExtParser.lib
mmserv/metadatautility/3GPExtParserLib/winscw/urel/3GPExtParser.dll
mmserv/metadatautility/3GPExtParserLib_stub/BWINS/3GPExtParserU.DEF
mmserv/metadatautility/3GPExtParserLib_stub/EABI/3GPExtParserU.DEF
mmserv/metadatautility/3GPExtParserLib_stub/group/3GPExtParserLib_stub.mmp
mmserv/metadatautility/3GPExtParserLib_stub/group/bld.inf
mmserv/metadatautility/3GPExtParserLib_stub/src/3GPExtParserLib_stub.cpp
mmserv/metadatautility/Conf/metadatautility.confml
mmserv/metadatautility/Group/MetaDataUtility.mmp
mmserv/metadatautility/Group/bld.inf
mmserv/metadatautility/Src/3GPExtParser.h
mmserv/metadatautility/Src/MetaDataParser3GPExt.cpp
mmserv/metadatautility/Src/MetaDataParserID3v2.cpp
mmserv/metadatautility/Src/MetaDataParserID3v22.cpp
mmserv/metadatautility/Src/MetaDataParserID3v23.cpp
mmserv/metadatautility/Src/MetaDataParserID3v24.cpp
mmserv/metadatautility/Src/MetaDataParserMP4.cpp
mmserv/metadatautility/Src/MetaDataParserRA.cpp
mmserv/metadatautility/Src/MetaDataParserWMA.cpp
mmserv/metadatautility/Src/MetaDataParserWMA.h
mmserv/radioutility/fmpresetutility/BWINS/FmPresetUtilityU.DEF
mmserv/radioutility/fmpresetutility/Conf/fmpresetutility.confml
mmserv/radioutility/fmpresetutility/Conf/fmpresetutility_10207B87.crml
mmserv/radioutility/fmpresetutility/EABI/FmPresetUtilityU.DEF
mmserv/radioutility/fmpresetutility/cenrep/keys_fmpresetutility.xls
mmserv/radioutility/fmpresetutility/group/FmPresetUtility.mmp
mmserv/radioutility/fmpresetutility/group/backup_registration.xml
mmserv/radioutility/fmpresetutility/group/bld.inf
mmserv/radioutility/fmpresetutility/rom/FmPresetUtility.iby
mmserv/radioutility/fmpresetutility/src/RadioFmPresetCRKeys.h
mmserv/radioutility/fmpresetutility/src/RadioFmPresetCentralRepositoryHandler.cpp
mmserv/radioutility/fmpresetutility/src/RadioFmPresetCentralRepositoryHandler.h
mmserv/radioutility/fmpresetutility/src/RadioFmPresetChannel.cpp
mmserv/radioutility/fmpresetutility/src/RadioFmPresetChannel.h
mmserv/radioutility/fmpresetutility/src/RadioFmPresetRadioSettings.cpp
mmserv/radioutility/fmpresetutility/src/RadioFmPresetRadioSettings.h
mmserv/radioutility/fmpresetutility/src/RadioFmPresetUtility.cpp
mmserv/radioutility/fmpresetutility/src/RadioFmPresetUtilityBody.cpp
mmserv/radioutility/fmpresetutility/src/RadioFmPresetUtilityBody.h
mmserv/radioutility/fmpresetutility/src/debug.h
mmserv/radioutility/group/bld.inf
mmserv/radioutility/inc/RadioSession.h
mmserv/radioutility/presetutility/bwins/FmPresetUtilityu.def
mmserv/radioutility/presetutility/bwins/presetutilityu.def
mmserv/radioutility/presetutility/cenrep/10207b87.txt
mmserv/radioutility/presetutility/conf/presetutility.confml
mmserv/radioutility/presetutility/conf/presetutility_10207B87.crml
mmserv/radioutility/presetutility/eabi/FmPresetUtilityu.def
mmserv/radioutility/presetutility/eabi/presetutilityu.def
mmserv/radioutility/presetutility/group/backup_registration.xml
mmserv/radioutility/presetutility/group/bld.inf
mmserv/radioutility/presetutility/group/fmpresetutility.mmp
mmserv/radioutility/presetutility/group/presetutility.mmp
mmserv/radioutility/presetutility/inc/cenrepbookkeeping.h
mmserv/radioutility/presetutility/inc/cenrephandler.h
mmserv/radioutility/presetutility/inc/presetcrkeys.h
mmserv/radioutility/presetutility/inc/presetutilitybody.h
mmserv/radioutility/presetutility/inc/trace.h
mmserv/radioutility/presetutility/inc/traceconfiguration.hrh
mmserv/radioutility/presetutility/rom/fmpresetutility.iby
mmserv/radioutility/presetutility/rom/presetutility.iby
mmserv/radioutility/presetutility/src/cenrepbookkeeping.cpp
mmserv/radioutility/presetutility/src/cenrephandler.cpp
mmserv/radioutility/presetutility/src/old_api/radiofmpresetcentralrepositoryhandler.cpp
mmserv/radioutility/presetutility/src/old_api/radiofmpresetcentralrepositoryhandler.h
mmserv/radioutility/presetutility/src/old_api/radiofmpresetutility.cpp
mmserv/radioutility/presetutility/src/preset.cpp
mmserv/radioutility/presetutility/src/presetutility.cpp
mmserv/radioutility/presetutility/src/presetutilitybody.cpp
mmserv/radioutility/presetutility/tsrc/Bmarm/PresetUtilityTestModuleU.DEF
mmserv/radioutility/presetutility/tsrc/Bwins/PresetUtilityTestModuleU.DEF
mmserv/radioutility/presetutility/tsrc/EABI/PresetUtilityTestModuleU.def
mmserv/radioutility/presetutility/tsrc/cenrep/10207B87.txt
mmserv/radioutility/presetutility/tsrc/cenrep/presetutility.confml
mmserv/radioutility/presetutility/tsrc/cenrep/presetutility_10207B87.crml
mmserv/radioutility/presetutility/tsrc/conf/10207B87.txt
mmserv/radioutility/presetutility/tsrc/conf/PresetUtilityTestModule.cfg
mmserv/radioutility/presetutility/tsrc/conf/presetutility.confml
mmserv/radioutility/presetutility/tsrc/conf/presetutility_10207B87.crml
mmserv/radioutility/presetutility/tsrc/group/PresetUtilityTestModule.mmp
mmserv/radioutility/presetutility/tsrc/group/PresetUtilityTestModule.pkg
mmserv/radioutility/presetutility/tsrc/group/PresetUtilityTestModule_DoxyFile.txt
mmserv/radioutility/presetutility/tsrc/group/PresetUtilityTestModule_nrm.mmp
mmserv/radioutility/presetutility/tsrc/group/RestoreOrigCenrep.cmd
mmserv/radioutility/presetutility/tsrc/group/TestEnvInit.cmd
mmserv/radioutility/presetutility/tsrc/group/bld.inf
mmserv/radioutility/presetutility/tsrc/inc/PresetUtilityTestModule.h
mmserv/radioutility/presetutility/tsrc/init/PresetUtilityTestModule.ini
mmserv/radioutility/presetutility/tsrc/src/PresetUtilityTestModule.cpp
mmserv/radioutility/presetutility/tsrc/src/PresetUtilityTestModuleBlocks.cpp
mmserv/radioutility/radio_utility/group/Radio_Utility.mmp
mmserv/radioutility/radio_utility/inc/trace.h
mmserv/radioutility/radio_utility/inc/traceconfiguration.hrh
mmserv/radioutility/radio_utility/src/RadioFmTunerUtility.cpp
mmserv/radioutility/radio_utility/src/RadioFmTunerUtilityBody.cpp
mmserv/radioutility/radio_utility/src/RadioFmTunerUtilityBody.h
mmserv/radioutility/radio_utility/src/RadioMonitor.cpp
mmserv/radioutility/radio_utility/src/RadioMonitorBody.cpp
mmserv/radioutility/radio_utility/src/RadioMonitorBody.h
mmserv/radioutility/radio_utility/src/RadioPlayerUtility.cpp
mmserv/radioutility/radio_utility/src/RadioPlayerUtilityBody.cpp
mmserv/radioutility/radio_utility/src/RadioPlayerUtilityBody.h
mmserv/radioutility/radio_utility/src/RadioRdsUtility.cpp
mmserv/radioutility/radio_utility/src/RadioRdsUtilityBody.cpp
mmserv/radioutility/radio_utility/src/RadioRdsUtilityBody.h
mmserv/radioutility/radio_utility/src/RadioUtility.cpp
mmserv/radioutility/radio_utility/src/RadioUtilityBody.cpp
mmserv/radioutility/radio_utility/stub/bwins/Radio_Utility_Stubu.def
mmserv/radioutility/radio_utility/stub/eabi/Radio_Utility_Stubu.def
mmserv/radioutility/radio_utility/stub/group/Radio_Utility_Stub.mmp
mmserv/radioutility/radio_utility/stub/group/bld.inf
mmserv/radioutility/radio_utility/stub/rom/Radio_Utility_Stub.iby
mmserv/radioutility/radioserver/Server/Src/RadioServer.cpp
mmserv/radioutility/radioserver/Session/Bwins/RadioSessionU.DEF
mmserv/radioutility/radioserver/Session/EABI/RadioSessionU.DEF
mmserv/radioutility/radioserver/Session/Group/RadioSession.mmp
mmserv/radioutility/radioserver/Session/Src/RadioEventHandler.cpp
mmserv/radioutility/radioserver/Session/Src/RadioRequest.cpp
mmserv/radioutility/radioserver/Session/Src/RadioSession.cpp
mmserv/radioutility/radioserver/Session/Src/trace.h
mmserv/radioutility/radioserver/Session/Src/traceconfiguration.hrh
mmserv/radioutility/radioserver/Session/stub/bwins/RadioSession_Stubu.def
mmserv/radioutility/radioserver/Session/stub/eabi/RadioSession_Stubu.def
mmserv/radioutility/radioserver/Session/stub/group/RadioSession_Stub.mmp
mmserv/radioutility/radioserver/Session/stub/group/bld.inf
mmserv/radioutility/radioserver/Session/stub/src/RadioStubManager.h
mmserv/radioutility/radioserver/Session/stub/src/StubRadioSession.cpp
mmserv/radioutility/radioserver/Session/stub/src/StubRadioSession.h
mmserv/radioutility/tsrc/bld.inf
mmserv/sts/bwins/systemtoneservice.def
mmserv/sts/data/create_sts_stub_sis.bat
mmserv/sts/data/sts_stub.pkg
mmserv/sts/data/sts_stub.sis
mmserv/sts/eabi/systemtoneservice.def
mmserv/sts/group/bld.inf
mmserv/sts/group/systemtoneservice.mmp
mmserv/sts/rom/mmmwsystemtoneservice.iby
mmserv/sts/sis/create_all_sis.bat
mmserv/sts/sis/create_sis.bat
mmserv/sts/sis/create_udeb_sis.bat
mmserv/sts/sis/systemtoneservice.pkg
mmserv/sts/sis/systemtoneservice_udeb.pkg
mmserv/sts/src/systemtoneservice.cpp
mmserv/sts/sts/group/bld.inf
mmserv/sts/sts/group/sts.mmp
mmserv/sts/sts/inc/sts.h
mmserv/sts/sts/inc/stsplayer.h
mmserv/sts/sts/inc/stssettingsmanager.h
mmserv/sts/sts/src/sts.cpp
mmserv/sts/sts/src/stsplayer.cpp
mmserv/sts/sts/src/stsplayersettings.cpp
mmserv/sts/sts/src/stsplayersettings.h
mmserv/sts/sts/src/stssettingsmanager.cpp
mmserv/sts/stsproxy/group/bld.inf
mmserv/sts/stsproxy/group/stsproxy.mmp
mmserv/sts/stsproxy/inc/stsimplementation.h
mmserv/sts/stsproxy/src/rstssession.cpp
mmserv/sts/stsproxy/src/rstssession.h
mmserv/sts/stsproxy/src/stsimplementation.cpp
mmserv/sts/stsserver/group/bld.inf
mmserv/sts/stsserver/group/stsserver.mmp
mmserv/sts/stsserver/inc/stsclientservercommon.h
mmserv/sts/stsserver/src/stsserver.cpp
mmserv/sts/stsserver/src/stsserver.h
mmserv/sts/stsserver/src/stsserverexe.cpp
mmserv/sts/stsserver/src/stsserversession.cpp
mmserv/sts/stsserver/src/stsserversession.h
mmserv/sts/tsrc/ststester/data/ststester_reg.rss
mmserv/sts/tsrc/ststester/group/bld.inf
mmserv/sts/tsrc/ststester/group/ststester.mmp
mmserv/sts/tsrc/ststester/inc/ststestermain.h
mmserv/sts/tsrc/ststester/sis/create_sis.bat
mmserv/sts/tsrc/ststester/sis/ststester.pkg
mmserv/sts/tsrc/ststester/src/profileutilmacro.h
mmserv/sts/tsrc/ststester/src/ststester.cpp
mmserv/sts/tsrc/ststester/src/ststester.h
mmserv/sts/tsrc/ststester/src/ststestermain.cpp
mmserv/sts/tsrc/ststester/src/testappbase.cpp
mmserv/sts/tsrc/ststester/src/testappbase.h
mmserv/thumbnailengine/Group/HXTNEEngine.mmp
mmserv/thumbnailengine/Group/TNEEngine.mmp
mmserv/thumbnailengine/TneAPISrc/HXTNEVideoClipInfoImp.cpp
mmserv/tms/inc/tmscallclisrv.h
mmserv/tms/inc/tmscallproxy.h
mmserv/tms/inc/tmsclientserver.h
mmserv/tms/inc/tmsdtmfbody.h
mmserv/tms/inc/tmsdtmfimpl.h
mmserv/tms/inc/tmsinbandtonebody.h
mmserv/tms/inc/tmsinbandtoneimpl.h
mmserv/tms/inc/tmsproxy.h
mmserv/tms/inc/tmsringtonebody.h
mmserv/tms/inc/tmsringtoneimpl.h
mmserv/tms/inc/tmsshared.h
mmserv/tms/inc/tmsstreambody.h
mmserv/tms/inc/tmsstreamimpl.h
mmserv/tms/inc/tmstimer.h
mmserv/tms/inc/tmsutility.h
mmserv/tms/rom/tms.iby
mmserv/tms/tmsapi/bwins/tmsapi.def
mmserv/tms/tmsapi/eabi/tmsapi.def
mmserv/tms/tmsapi/group/tmsapi.mmp
mmserv/tms/tmsapi/src/tmsdtmf.cpp
mmserv/tms/tmsapi/src/tmsinbandtone.cpp
mmserv/tms/tmsapi/src/tmsringtone.cpp
mmserv/tms/tmsapi/src/tmsstream.cpp
mmserv/tms/tmscallproxy/bwins/tmscallproxy.def
mmserv/tms/tmscallproxy/eabi/tmscallproxy.def
mmserv/tms/tmscallproxy/src/tmscallproxy.cpp
mmserv/tms/tmscallserver/eabi/tmscallserver.def
mmserv/tms/tmscallserver/group/tmscallserver.mmp
mmserv/tms/tmscallserver/inc/tmscalladpt.h
mmserv/tms/tmscallserver/inc/tmscallcsadpt.h
mmserv/tms/tmscallserver/inc/tmscallipadpt.h
mmserv/tms/tmscallserver/inc/tmscallsession.h
mmserv/tms/tmscallserver/inc/tmscsdevsound.h
mmserv/tms/tmscallserver/inc/tmscsdownlink.h
mmserv/tms/tmscallserver/inc/tmscsuplink.h
mmserv/tms/tmscallserver/inc/tmsipcallstream.h
mmserv/tms/tmscallserver/inc/tmssyncvol.h
mmserv/tms/tmscallserver/src/tmscalladpt.cpp
mmserv/tms/tmscallserver/src/tmscallcsadpt.cpp
mmserv/tms/tmscallserver/src/tmscallipadpt.cpp
mmserv/tms/tmscallserver/src/tmscallsession.cpp
mmserv/tms/tmscallserver/src/tmscsdevsound.cpp
mmserv/tms/tmscallserver/src/tmscsdownlink.cpp
mmserv/tms/tmscallserver/src/tmscsuplink.cpp
mmserv/tms/tmscallserver/src/tmsipcalldownlinkds.cpp
mmserv/tms/tmscallserver/src/tmsipcalluplinkds.cpp
mmserv/tms/tmscallserver/src/tmsyncvol.cpp
mmserv/tms/tmsfactory/bwins/tmsfactory.def
mmserv/tms/tmsfactory/eabi/tmsfactory.def
mmserv/tms/tmsfactory/inc/tmsfactoryimpl.h
mmserv/tms/tmsfactory/src/tmsfactory.cpp
mmserv/tms/tmsfactory/src/tmsfactoryimpl.cpp
mmserv/tms/tmsimpl/bwins/tmsimpl.def
mmserv/tms/tmsimpl/eabi/tmsimpl.def
mmserv/tms/tmsimpl/group/tmsimpl.mmp
mmserv/tms/tmsimpl/inc/tmsdtmfbodyimpl.h
mmserv/tms/tmsimpl/inc/tmsinbandtonebodyimpl.h
mmserv/tms/tmsimpl/inc/tmsringtonebodyimpl.h
mmserv/tms/tmsimpl/inc/tmsstreambodyimpl.h
mmserv/tms/tmsimpl/src/tmscallimpl.cpp
mmserv/tms/tmsimpl/src/tmscscallbodyimpl.cpp
mmserv/tms/tmsimpl/src/tmsdtmfbodyimpl.cpp
mmserv/tms/tmsimpl/src/tmsdtmfimpl.cpp
mmserv/tms/tmsimpl/src/tmseffectimpl.cpp
mmserv/tms/tmsimpl/src/tmsg711impl.cpp
mmserv/tms/tmsimpl/src/tmsinbandtonebodyimpl.cpp
mmserv/tms/tmsimpl/src/tmsinbandtoneimpl.cpp
mmserv/tms/tmsimpl/src/tmsipcallbodyimpl.cpp
mmserv/tms/tmsimpl/src/tmsringtonebodyimpl.cpp
mmserv/tms/tmsimpl/src/tmsringtoneimpl.cpp
mmserv/tms/tmsimpl/src/tmsstreambodyimpl.cpp
mmserv/tms/tmsimpl/src/tmsstreamimpl.cpp
mmserv/tms/tmsproxy/bwins/tmsproxy.def
mmserv/tms/tmsproxy/eabi/tmsproxy.def
mmserv/tms/tmsproxy/src/tmsproxy.cpp
mmserv/tms/tmsproxy/src/tmsqueuehandler.cpp
mmserv/tms/tmsserver/group/tmsserver.mmp
mmserv/tms/tmsserver/inc/tmsasyncreqao.h
mmserv/tms/tmsserver/inc/tmsasyncreqobsrv.h
mmserv/tms/tmsserver/inc/tmsaudioinbandtoneplayer.h
mmserv/tms/tmsserver/inc/tmsaudiotoneutility.h
mmserv/tms/tmsserver/inc/tmsaudiotoneutilityimpl.h
mmserv/tms/tmsserver/inc/tmscenrepaudiohandler.h
mmserv/tms/tmsserver/inc/tmsdtmfobserver.h
mmserv/tms/tmsserver/inc/tmsdtmfprovider.h
mmserv/tms/tmsserver/inc/tmsdtmftoneplayer.h
mmserv/tms/tmsserver/inc/tmsdtmftoneplayerobserver.h
mmserv/tms/tmsserver/inc/tmseteldtmfmonitor.h
mmserv/tms/tmsserver/inc/tmseteldtmfstopmonitor.h
mmserv/tms/tmsserver/inc/tmsglobaleffectssettings.h
mmserv/tms/tmsserver/inc/tmsrtaudiohdlr.h
mmserv/tms/tmsserver/inc/tmsrtaudiohdlrobsrv.h
mmserv/tms/tmsserver/inc/tmsrtcontainer.h
mmserv/tms/tmsserver/inc/tmsrtparam.h
mmserv/tms/tmsserver/inc/tmsrtplayer.h
mmserv/tms/tmsserver/inc/tmsrtplayerobsrv.h
mmserv/tms/tmsserver/inc/tmsserver.h
mmserv/tms/tmsserver/inc/tmsserversession.h
mmserv/tms/tmsserver/inc/tmstareventhandler.h
mmserv/tms/tmsserver/src/tmsasyncreqao.cpp
mmserv/tms/tmsserver/src/tmsaudioinbandtoneplayer.cpp
mmserv/tms/tmsserver/src/tmsaudiotoneutilityimpl.cpp
mmserv/tms/tmsserver/src/tmscenrepaudiohandler.cpp
mmserv/tms/tmsserver/src/tmsdtmfprovider.cpp
mmserv/tms/tmsserver/src/tmsdtmftoneplayer.cpp
mmserv/tms/tmsserver/src/tmseteldtmfmonitor.cpp
mmserv/tms/tmsserver/src/tmseteldtmfstopmonitor.cpp
mmserv/tms/tmsserver/src/tmsglobaleffectssettings.cpp
mmserv/tms/tmsserver/src/tmsrtaudiohdlr.cpp
mmserv/tms/tmsserver/src/tmsrtcontainer.cpp
mmserv/tms/tmsserver/src/tmsrtplayer.cpp
mmserv/tms/tmsserver/src/tmsserver.cpp
mmserv/tms/tmsserver/src/tmsserversession.cpp
mmserv/tms/tmsserver/src/tmstareventhandler.cpp
mmserv/tms/tmsutility/bwins/tmsutility.def
mmserv/tms/tmsutility/eabi/tmsutility.def
mmserv/tms/tmsutility/group/tmsutility.mmp
mmserv/tms/tmsutility/src/tmstimer.cpp
mmserv/tms/tmsutility/src/tmsutility.cpp
mmserv/voipaudioservices/VoIPIntfc/group/VoIPAudioIntfc.mmp
mmserv/voipaudioservices/VoIPServer/group/VoIPAudioServer.mmp
package_definition.xml
package_map.xml
tsrc/group/bld.inf
--- a/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ b/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -28,7 +28,8 @@
 #include "../mmmw_plat/group/bld.inf"
 #include "../mmfenh/group/bld.inf"
 #include "../mmserv/group/bld.inf"
-#include "../khronosfws/group/bld.inf"
+
+//#include "../mmfw/group/bld.inf"  //Uncomment when OpenAX AL or other stuffs are ready under mmfw
 
 
 //  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/AmrCodec.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,364 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "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:
+ *
+ * Description: Telephony Multimedia Service
+ *
+ */
+
+
+#ifndef __AMRCODEC_H__
+#define __AMRCODEC_H__
+
+// INCLUDES
+
+#include <E32Base.h>
+
+
+// FORWARD DECLARATIONS
+
+class CAmrToPcmDecoderImpl;
+class CPcmToAmrEncoderImpl;
+
+
+// CLASS DECLARATION
+
+/**
+*    TAmrDecParams
+*    AMR decoding parameters.
+*/
+class TAmrDecParams
+    {
+public:
+    /**
+    * Default constructor.
+    */
+    inline TAmrDecParams();
+public:
+    // error concealment level (0 none, 1 default)
+    TInt iConcealment;
+    };
+
+TAmrDecParams::TAmrDecParams() :
+iConcealment(1) {}
+
+/**
+*    TAmrEncParams
+*    AMR encoding parameters.
+*/
+class TAmrEncParams
+    {
+public:
+    /**
+    * Default constructor.
+    */
+    inline TAmrEncParams();
+public:
+    // encoding mode 0-7 (0=MR475,1=MR515,...,7=MR122, default 7)
+    TInt iMode;
+    // DTX flag (TRUE or default FALSE)
+    TInt iDTX;
+    };
+
+TAmrEncParams::TAmrEncParams() :
+iMode(7), iDTX(0) {}
+
+
+// CLASS DEFINITIONS
+
+/**
+*    TAmrFrameInfo
+*    AMR frame info struct.
+*/
+class TAmrFrameInfo
+    {
+public:
+    /**
+    * Default constructor.
+    */
+    TAmrFrameInfo() {};
+public:
+    /**
+    * Returns the size of smallest AMR audio frame, i.e., the size of one DTX
+    * frame. NO DATA frames (size 1 byte) are not taken into account here.
+    *
+    * @since ?Series60_version
+    * @param none
+    * @return TInt
+    */
+    IMPORT_C static TInt MinFrameSize();
+
+    /**
+    * Returns the size of biggest AMR audio frame, i.e., the size of one EFR
+    * frame.
+    *
+    * @since ?Series60_version
+    * @param none
+    * @return TInt
+    */
+    IMPORT_C static TInt MaxFrameSize();
+
+    /**
+    * Returns the maximum number of samples per one audio channel in one
+    * AMR audio frame.
+    *
+    * @since ?Series60_version
+    * @param none
+    * @return TInt
+    */
+    IMPORT_C static TInt MaxFrameSamples();
+
+    /**
+    * Returns the maximum number audio channels in one frame.
+    *
+    * @since ?Series60_version
+    * @param none
+    * @return TInt
+    */
+    IMPORT_C static TInt MaxChannels();
+
+    /**
+    * Returns the size of one AMR frame header. The header must include
+    * all bits needed for determining the actual frame length.
+    *
+    * @since ?Series60_version
+    * @param none
+    * @return TInt Size of AMR frame header
+    */
+    IMPORT_C static TInt FrameHeaderSize();
+
+    /**
+    * Returns the size of frame described by given coding parameters. The only
+    * parameter used in calculation is the coding mode (iMode).
+    *
+    * @since ?Series60_version
+    * @param none
+    * @return TInt AMR frame size
+    */
+    IMPORT_C static TInt FrameSize(const TAmrFrameInfo& aInfo);
+public:
+    TInt iMode;            // encoding mode
+    TInt iBitrate;         // bitrate (kbit/s)
+    TInt iSamplingRate;    // sampling frequency (Hz)
+    TInt iChannels;        // number of channels
+    TInt iFrameSize;       // encoded size (bytes)
+    TInt iFrameSamples;    // decoded size (samples per channel)
+public:
+    TInt iSamplingRateOut; // sampling frequency after conversion (Hz)
+    TInt iChannelsOut;     // number of audio channels after conversion (1 or 2)
+    TInt iFrameSamplesOut; // decoded size after conversion (samples per channel)
+    };
+
+/**
+*    CAmrToPcmDecoder
+*    Low level AMR decoding API.
+*/
+class CAmrToPcmDecoder : public CBase
+    {
+protected:
+    /**
+    * Default constructor.
+    */
+    IMPORT_C CAmrToPcmDecoder();
+
+    /**
+    * 2nd phase constructor. Constructs the decoder.
+    */
+    IMPORT_C void ConstructL();
+public:
+    /**
+    * Two-phased constructor. First allocates and constructs decoder 
+    * and then resets it according to the given configuration.
+    *
+    * @since ?Series60_version
+    * @param aConf Decoder configuration params
+    * @return CAmrToPcmDecoder* Pointer to constructed decoder
+    */
+    IMPORT_C static CAmrToPcmDecoder* NewL(const TAmrDecParams& aConf);
+
+    /**
+    * Destructor
+    */
+    IMPORT_C virtual ~CAmrToPcmDecoder();
+
+    /**
+    * Initializes decoder and resets it into the default decoding state.
+    *
+    * @since ?Series60_version
+    * @param none
+    * @return void
+    */
+    IMPORT_C void Reset();
+
+    /**
+    * Initializes decoder and resets it according to the given configuration.
+    *
+    * @since ?Series60_version
+    * @param aConf Decoder configuration params
+    * @return void
+    */
+    IMPORT_C void Reset(const TAmrDecParams& aConf);
+
+    /**
+    * Calculates the frame size and returns information about the frame which
+    * starts from the beginning of aBuf. Returns 0, if the frame bit syntax is
+    * incorrect or not enough bits are available for calculating the frame size
+    * and the frame parameters (aBufLen < TAmrCodecParams::FrameHeaderSize).
+    *
+    * The frame parameters returned via aInfo are: mode, sampling frequency,
+    * number of channels, frame size (same as return value) and number of
+    * samples in this frame. See also TMdaRawAmrAudioCodec class.
+    *
+    * @since ?Series60_version
+    * @param aBuf Pointer to frame buffer
+    * @param aBufLen Length of frame buffer
+    * @param aInfo Reference to frame parameters
+    * @return TInt Length of frame in bytes
+    */
+    IMPORT_C static TInt FrameInfo(const TUint8* aBuf, TInt aBufLen, TAmrFrameInfo& aInfo);
+
+    /**
+    * A variation of the FrameInfo above, which takes into account the
+    * decoding switches in calculating iSampligRateOut, iChannelsOut
+    * and iFrameSamplesOut.Initializes decoder and resets it according 
+    * to the given configuration.
+    *
+    * @since ?Series60_version
+    * @param aBuf Pointer to frame buffer
+    * @param aBufLen Length of frame buffer
+    * @param aInfo Reference to fram parameters
+    * @param aConf Reference to decoding switches
+    * @return TInt Length of frame in bytes
+    */
+    IMPORT_C static TInt FrameInfo(const TUint8* aBuf, TInt aBufLen, TAmrFrameInfo& aInfo, const TAmrDecParams& aConf);
+
+    /**
+    * This routine seeks the start position of the next frame and returns
+    * the byte position of its header. Returns aBufLen, if no valid frame
+    * can not be found (see FrameInfo). The seek progresses from the start
+    * of aBuf (0) toward the end of aBuf(aBufLen - 1).
+    *    
+    * The level of syntax check depends on the number of bits available. At
+    * minimum the first frame header bits are checked only, but if more
+    * bits are available, they can be used to make the sync seek more robust.
+    * For succesful seek the whole frame does not need to exist in aBuf.    
+    *
+    * @since ?Series60_version
+    * @param aBuf Pointer to frame buffer
+    * @param aBufLen Length of frame buffer
+    * @return TInt Frame position or aBufLen
+    */
+    IMPORT_C static TInt SeekSync(const TUint8* aBuf, TInt aBufLen);
+
+    /**
+    * Decodes one frame.    
+    *
+    * @since ?Series60_version
+    * @param aSrc Pointer to bit stream buffer
+    * @param aSrcUsed Number of consumed bytes
+    * @param aDst Pointer to PCM buffer
+    * @param aDstLen Number of produced bytes
+    * @param aMuteFlag If ETrue this frame is muted
+    * @return TInt Non-zero if decoding failed
+    */
+    IMPORT_C TInt Decode(TUint8* aSrc, TInt& aSrcUsed, TUint8* aDst, TInt& aDstLen, TBool aMuteFlag);
+
+    /**
+    * Decodes one frame from aSrc to aDst1 and aDst2. NOTE: aDst1 or
+    * aDst2 can be NULL and in that case decoding to that buffer is not
+    * requested.
+    *
+    * @since ?Series60_version
+    * @param aSrc Pointer to bit stream buffer
+    * @param aSrcUsed Number of consumed bytes
+    * @param aDst1 Pointer to PCM sample buffer (time domain sample)
+    * @param aDst2 Pointer to frequency sample buffer (frequency domain sample)
+    * @param aDstLen1 Number of produced bytes in aDst1
+    * @param aDstLen2 Number of produced bytes in aDst2
+    * @param aMuteFlag If ETrue this frame is muted
+    * @return TInt Non-zero if decoding failed
+    */
+    IMPORT_C TInt Decode(TUint8* aSrc, TInt& aSrcUsed, TUint8* aDst1, TUint8* aDst2, TInt& aDstLen1, TInt& aDstLen2, TInt aMuteFlag);
+private:
+    CAmrToPcmDecoderImpl* iState;
+    };
+
+/**
+*    CPcmToAmrEncoder
+*    Low level AMR encoding API.
+*/
+class CPcmToAmrEncoder : public CBase
+    {
+protected:
+
+    /**
+    * Default constructor.
+    */
+    IMPORT_C CPcmToAmrEncoder();
+
+    /**
+    * 2nd phase constructor. Constructs the encoder.
+    */
+   IMPORT_C void ConstructL();
+public:
+
+    /**
+    * Two-phased constructor. First allocates and constructs encoder 
+    * and then resets it according to the given configuration.
+    *
+    * @since ?Series60_version
+    * @param aConf Encoder configuration params
+    * @return CPcmToAmrEncoder* Pointer to constructed encoder
+    */
+    IMPORT_C static CPcmToAmrEncoder* NewL(const TAmrEncParams& aConf);
+
+    /**
+    * Destructor
+    */
+    IMPORT_C virtual ~CPcmToAmrEncoder();
+
+    /**
+    * Initializes encoder and resets encoder state.
+    *
+    * @since ?Series60_version
+    * @param none
+    * @return void
+    */
+    IMPORT_C void Reset();
+
+    /**
+    * Initializes encoder and resets it according to the given configuration.
+    *
+    * @since ?Series60_version
+    * @param aConf Encoder configuration params
+    * @return void
+    */
+    IMPORT_C void Reset(const TAmrEncParams& aConf);
+
+    /**
+    * Encodes one frame.
+    *
+    * @since ?Series60_version
+    * @param aSrc Pointer to PCM buffer
+    * @param aSrcUsed Number of consumed bytes
+    * @param aDst Pointer to bit stream buffer
+    * @param aDstLen Length of resulting frame
+    * @return TInt Non-zero if encoding failed
+    */
+    IMPORT_C TInt Encode(TUint8* aSrc, TInt& aSrcUsed, TUint8* aDst, TInt& aDstLen);
+private:
+    CPcmToAmrEncoderImpl* iState;
+    };
+
+#endif //__AMRCODEC_H__
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/DebugMacros.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Debug Macros used by AdvancedAudioController
+*
+*/
+
+
+#ifndef __DEBUGMACROS_H__
+#define __DEBUGMACROS_H__
+
+// MACROS
+#ifdef _DEBUG
+#define DP0(string)                                 RDebug::Print(string)
+#define DP1(string,arg1)                            RDebug::Print(string,arg1)
+#define DP2(string,arg1,arg2)                       RDebug::Print(string,arg1,arg2)
+#define DP3(string,arg1,arg2,arg3)                  RDebug::Print(string,arg1,arg2,arg3)
+#define DP4(string,arg1,arg2,arg3,arg4)             RDebug::Print(string,arg1,arg2,arg3,arg4)
+#define DP5(string,arg1,arg2,arg3,arg4,arg5)        RDebug::Print(string,arg1,arg2,arg3,arg4,arg5)
+#define DP6(string,arg1,arg2,arg3,arg4,arg5,arg6)   RDebug::Print(string,arg1,arg2,arg3,arg4,arg5,arg6)
+#else
+#define DP0(string)                            
+#define DP1(string,arg1)                       
+#define DP2(string,arg1,arg2)                  
+#define DP3(string,arg1,arg2,arg3)             
+#define DP4(string,arg1,arg2,arg3,arg4)             
+#define DP5(string,arg1,arg2,arg3,arg4,arg5)
+#define DP6(string,arg1,arg2,arg3,arg4,arg5,arg6)
+#endif
+
+#endif //__DEBUGMACROS_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/EAacPlusFrameParser.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "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:
+ *
+ * Description: Telephony Multimedia Service
+ *
+ */
+
+
+#ifndef 	EAACPLUSFRAMEPARSER_H
+#define 	EAACPLUSFRAMEPARSER_H
+
+// INCLUDES
+#include <e32base.h>
+#include "EAacPlusUtil.h"
+
+class CFrameTable;
+class CMMFBuffer;
+
+// CLASS DECLARATION
+
+/**
+*  This class implements utility functions to extract AAC frame
+*  information.
+*
+*  @lib MmfEAacPlusUtil.lib
+*  @since 3.2
+*/
+class CEAacPlusFrameParser : public CBase
+	{
+	public:
+	
+    class TEAacPlusParserConfig
+        {
+    public:
+		CEAacPlusUtil::TEAacPlusFrameLenConfig iFrameLenConfig; // config info needed by util for frame length.
+        TInt    	iOutSamplingFrequency;		 // output sampling freq of decoder
+      	TInt		iNumOfSamples;				 // samples per frame
+      	CFrameTable* iFrameTable;				 // the frame table
+        };
+
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CEAacPlusFrameParser* NewL();
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C virtual ~CEAacPlusFrameParser();
+
+    public: // New functions
+
+		/**
+        * Used to parse the aac frames and populate the seek table.
+        * @since 3.2
+        * @param	aBuf                 buffer of AAC data from start of aac content
+        * @param	aBufLen              length of aBuf
+        * @return   status
+        */
+        IMPORT_C TInt Parse(const CMMFBuffer& aSrc, TInt& aSrcUsed);
+
+		/**
+        * Used to configure the utility with information needed to enable the apis.
+        * This api can be used if GetAacFrameInfo is not used to initialize the utility.
+        * @since 3.2
+        * @param	aFormatType format type
+        * @param	aSamplingFrequency sampling frequency
+        * @return   status
+        */
+		IMPORT_C TInt Config(TEAacPlusParserConfig& aParserConfig);
+		IMPORT_C TInt ReConfig();
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CEAacPlusFrameParser();
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+ 	private:	// Data
+ 		CEAacPlusUtil* iAacUtil;
+ 		CFrameTable* iFrameTable;
+	
+		// local input buffer
+        TUint8* iTmpBuf;
+        const TUint8* iTmpBufPtr;
+        TInt 	iTmpBufBytes;
+        TInt	iBytesCopied;
+        
+        TBool   iUsingTmpBuf;
+        
+        TInt iPos;
+//		CEAacPlusUtil::TEAacPlusFormatType iFormatType;
+//		TInt iInSamplingFrequency;
+//		TInt iOutSamplingFrequency;
+//		TInt iNumOfSamples;
+		TEAacPlusParserConfig iParserConfig;
+        
+	};
+
+#endif      // EAACPLUSFRAMEPARSER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/EAacPlusUtil.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,167 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Header file for EAacPlusUtil.cpp
+*
+*/
+
+
+#ifndef 	EAACPLUSUTIL_H
+#define 	EAACPLUSUTIL_H
+
+// INCLUDES
+#include <e32base.h>
+
+// CLASS DECLARATION
+class EAacpAudioFrameInfo;
+
+/**
+*  This class implements utility functions to extract AAC frame
+*  information.
+*
+*  @lib MmfEAacPlusUtil.lib
+*  @since 3.2
+*/
+class CEAacPlusUtil : public CBase
+	{
+	public:
+        // CONSTANTS
+        enum TEAacPlusFormatType
+	        {
+		    EAacPlusFormatRaw=0,
+		    EAacPlusFormatAdif=1,
+		    EAacPlusFormatAdts=2
+        	};
+        /**
+        *  EAAC+ frame info struct.
+        *
+        *  @lib MmfEAacPlusUtil.lib
+        *  @since 3.2
+        */
+        class TEAacPlusFrameInfo
+            {
+        public:
+	        TInt    	iOutFrameSize;			// Size of PCM Samples generated by decoder
+            TInt    	iNoOfSamples;			// Number of PCM Samples generated by decoder per frame
+            TInt    	iSamplingFrequency;		// Sampling freq of AAC Code decoder
+            TInt		iNoOfChannels;			// No of output channel 1=Mono; 2=Stereo
+        	TInt		iObjectType;			// MPEG Audio Object Type 2=AAC-LC; 4=AAC-LTP
+        	TInt		iOutSamplingFrequency;  // Sampling Frequence for the output samples
+        	TInt		iDownSampledMode;    	// 0=Normal Mode; 1=Down Sampled mode
+        	TInt		iSbr;	                // 0=SBR not present; 1=SBR present
+        	TInt		iPs;	                // 0=PS not present; 1=PS present
+            };
+
+        class TEAacPlusFrameLenConfig
+            {
+        public:
+			TEAacPlusFormatType iFormatType;	// Container type.
+            TInt    	iSamplingFrequency;		// Sampling freq of AAC core decoder
+        	TInt		iObjectType;			// MPEG Audio Object Type 2=AAC-LC; 4=AAC-LTP
+            };
+
+
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CEAacPlusUtil* NewL();
+
+        /**
+        * Destructor.
+        */
+        IMPORT_C virtual ~CEAacPlusUtil();
+
+    public: // New functions
+
+		/**
+        * Used to get the format type.
+        * @since 3.2
+        * @param	aBuf                 buffer of AAC data from start of aac content
+        * @param	aBufLen              length of aBuf
+        * @param	TEAacPlusFormatType  returned format type 0=raw; 1=ADIF; 2=ADTS
+        * @return   status
+        */
+        IMPORT_C TInt GetAacFormatType(const TUint8* aBuf, TInt aBufLen, TEAacPlusFormatType& aFormatType);
+
+		/**
+        * Used to get the audio format information for ADIF and ADTS content.
+        * Data should be provided beginning with start of aac content including header.
+        * Enough data should follow the header to determine SBR and PS if needed.
+        * Can be used with mpeg data where aHdrBuf will contain the AudioSpecificConfig. Implicit SBR and PS
+        * will not be determined.
+        * @since 3.2
+        * @param	aHdrBuf buffer with AAC data beginning at start of aac content including ADIF or ADTS header
+        * @param	aHdrLen length of aHdrBuf; header length is returned in this parameter
+        * @param	aFrameInfo returns the format information
+        * @return	status
+        */
+		IMPORT_C TInt GetAacFrameInfo (const TUint8* aHdrBuf, TInt& aHdrLen, TEAacPlusFrameInfo& aFrameInfo);
+		
+		/**
+        * Used to get the audio format information for mpeg aac.
+        * aHdrBuf will contain the AudioSpecificConfig. aDataBuf will contain data at beginning of raw audio frames.
+        * Implicit SBR and PS can be determined.
+        * @since 3.2
+        * @param	aHdrBuf buffer with AudioSpecificConfig data.
+        * @param	aHdrLen length of aHdrBuf
+        * @param	aFrameInfo returns the format information
+        * @param	aDataBuf buffer with raw audio frames
+        * @param	aDataBufLen length of aDataBuf
+        * @return	status
+        */
+		IMPORT_C TInt GetAacFrameInfo (const TUint8* aHdrBuf, TInt& aHdrLen, TEAacPlusFrameInfo& aFrameInfo,
+									TUint8* aDataBuf, TInt aDataBufLen);
+									
+		/**
+        * Used to get the size in bytes of the frame found at the start of aBuf.
+        * @since 3.2
+        * @param	aBuf buffer with AAC data frame
+        * @param	aBufLen length of aBuf
+        * @param	aFrameLen returns the frame size in bytes
+        * @return   status
+        */
+		IMPORT_C TInt GetAacFrameLength(const TUint8* aBuf, TInt aBufLen, TInt& aFrameLen);
+
+		/**
+        * Used to configure the utility with information needed to enable the apis.
+        * This api can be used if GetAacFrameInfo is not used to initialize the utility.
+        * @since 3.2
+        * @param	aFormatType format type
+        * @param	aSamplingFrequency sampling frequency
+        * @return   status
+        */
+		IMPORT_C TInt Config(TEAacPlusFrameLenConfig& aFrameLenConfig);
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CEAacPlusUtil();
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+ 	private:	// Data
+		TEAacPlusFormatType iFormat;
+		EAacpAudioFrameInfo* iGetFrameLenParam;
+		TBool iInitialized;
+	};
+
+#endif      // EAACPLUSUTIL_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/FrameTable.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "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:
+ *
+ * Description: Telephony Multimedia Service
+ *
+ */
+
+
+#ifndef CFRAMETABLE_H
+#define CFRAMETABLE_H
+
+//  INCLUDES
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class MFrameTableEventObserver;
+
+// CLASS DEFINITIONS
+
+/**
+ *  This class provides AAC utility functions.
+ *
+ *  @lib AACAudioControllerUtility.lib
+ *  @since 3.0
+ */
+class CFrameTable : public CBase
+    {
+public:
+    // Constructors and destructor
+
+    enum TFrameTableEvent
+        {
+        EPosReached,
+        EDecodeInterval,
+        EPlayWindowEndPosReached
+        };
+
+    /**
+     * Two-phased constructor.
+     */
+    IMPORT_C static CFrameTable* NewL();
+
+    /**
+     * Destructor.
+     */
+    IMPORT_C virtual ~CFrameTable();
+
+public:
+    // New functions
+
+    IMPORT_C TInt InitFrameTable(TInt aSampleRate, TInt aSamplesPerFrame);
+    IMPORT_C TInt SubmitTableEntry(TUint aPos);
+
+    IMPORT_C TInt FindFramePosFromTime(TUint& aTimeMs, TUint& aPos);
+    IMPORT_C TInt FindFrameTimeFromPos(TUint& aTimeMs, TUint& aPos);
+    IMPORT_C TInt LastFramePos(TUint& aPos);
+    IMPORT_C TInt LastFrameTime(TUint& aTimeMs);
+
+    IMPORT_C void ShrinkTable();
+    IMPORT_C void ResetTable();
+
+    IMPORT_C TInt SetSourceReference(TUint aTimeMs, TUint aPos);
+
+    IMPORT_C TInt RegisterForEvent(TFrameTableEvent aEvent,
+            MFrameTableEventObserver* aObserver, TUint aParam);
+    IMPORT_C TInt UnRegisterForEvent(TFrameTableEvent aEvent,
+            MFrameTableEventObserver* aObserver);
+    IMPORT_C TInt Bitrate();
+    IMPORT_C TInt IsSeeking(TBool& aIsSeeking);
+    IMPORT_C TInt GetLastPosEvent(TUint& aPos);
+
+private:
+
+    class TBufRefPosEntry
+        {
+public:
+        TUint iPos;
+        TUint iFrameNum;
+        };
+
+    /**
+     * C++ default constructor.
+     */
+    CFrameTable();
+
+    /**
+     * By default Symbian 2nd phase constructor is private.
+     */
+    void ConstructL();
+
+    TUint CalcFrameFromTimeMs(TUint aTimeMs);
+    TInt SubmitLowResTableEntry(TBufRefPosEntry& aEntry);
+
+private:
+    // Data
+
+    RArray<TBufRefPosEntry> iFrameTable;
+    RArray<TBufRefPosEntry> iLowResFrameTable;
+    TUint iSampleRate;
+    TUint iSamplesPerFrame;
+    TUint iMsecPerFrame;
+    TUint iLastBytePos;
+    TUint iAvgBitrate;
+    TUint iOffset;
+    TUint iTimeRefMs;
+    TUint iPosEventMs;
+    TUint iPlayWindowEndPosEventMs;
+    TInt iIntervalRef;
+    TUint iIntervalEvent;
+    MFrameTableEventObserver* iObserver;
+    TUint iEventPos;
+    TUint iCurrentFrameCount;
+    TUint iFramesPerLowResInterval;
+    TUint iLowResIntervalMs;
+    TUint iFrameNum;
+    TBool iOkToShrink;
+    };
+
+class MFrameTableEventObserver
+    {
+public:
+    virtual TInt
+            HandleFrameTableEvent(CFrameTable::TFrameTableEvent aEvent) = 0;
+    };
+
+#endif 		// CFRAMETABLE_H
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/Mp3Codec.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "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:
+ *
+ * Description: Telephony Multimedia Service
+ *
+ */
+
+
+#ifndef __MP3CODEC_H__
+#define __MP3CODEC_H__
+
+// INCLUDES
+#include <E32Base.h>
+
+// CONSTANTS
+
+// DATA TYPES
+
+// FORWARD DECLARATION
+class CMp3ToPcmDecoderImpl;
+
+// CLASS DEFINITIONS
+/*
+-----------------------------------------------------------------------------
+
+    TMp3DecParams
+
+    MP3 decoding parameters.
+
+    @since 2.1
+
+-----------------------------------------------------------------------------
+*/
+class TMp3DecParams
+    {
+public:
+    inline TMp3DecParams();
+public:
+    TInt iStereoToMono;    // stereo to mono switch (TRUE or default FALSE)
+    TInt iLeftRight;       // decode left or right channel (1 left, 2 right, 0 default all)
+    TInt iDecimFactor;     // decimation factor (2, 4 or default 1)
+    TInt iConcealment;     // error concealment level (0 none, default 1)
+    TInt iSampleLength;    // resolution of PCM samples (default 16 bits)
+    TInt iSamplingFrequency; //Output sampling frequency
+    };
+
+TMp3DecParams::TMp3DecParams() :
+iStereoToMono(0), iLeftRight(0), iDecimFactor(1), iConcealment(1), iSampleLength(16), iSamplingFrequency(0) {}
+
+
+
+/*
+-----------------------------------------------------------------------------
+
+    TMp3FrameInfo
+
+    MP3 frame info struct.
+
+    @since 2.1
+
+-----------------------------------------------------------------------------
+*/
+class TMp3FrameInfo
+    {
+public:
+    inline TMp3FrameInfo();
+public:
+    IMPORT_C static TInt MinFrameSize();
+    IMPORT_C static TInt MaxFrameSize();
+    IMPORT_C static TInt MaxFrameSamples();
+    IMPORT_C static TInt MaxChannels();
+    IMPORT_C static TInt MaxAncillaryBits();
+    IMPORT_C static TInt FrameHeaderSize();
+    IMPORT_C static TInt FrameSize(const TMp3FrameInfo& aInfo);
+public:
+    TInt iId;              // id of algorithm (1 MPEG-1, 0 MPEG-2)
+    TInt iLayer;           // layer number (1, 2, 3 or 4)
+    TInt iErrorProtection; // err prot flag (TRUE or FALSE, TRUE if err protected)
+    TInt iBitrate;         // bitrate (kbit/s)
+    TInt iSamplingRate;    // sampling frequency (Hz)
+    TInt iPadding;         // padding flag (TRUE or FALSE, TRUE if p slot exists)
+    TInt iPrivateBit;      // bit for private use
+    TInt iMode;            // audio mode (0 stereo, 1 jstereo, 2 dual, 3 mono)
+    TInt iChannels;        // number of audio channels (1 for mono, otherwise 2)
+    TInt iCopyright;       // copyright flag (TRUE or FALSE, TRUE if copyrighted)
+    TInt iOrigCopy;        // original flag (TRUE or FALSE, TRUE if original)
+    TInt iFrameSize;       // size of encoded frame (bytes)
+    TInt iFrameSamples;    // length of decoded frame (samples per channel)
+public:
+    TInt iSamplingRateOut; // sampling frequency after conversion(s) (Hz)
+    TInt iChannelsOut;     // number of audio channels after conversion(s) (1 or 2)
+    TInt iFrameSamplesOut; // length of decoded frame after conversion(s) (samples per channel)
+    };
+
+TMp3FrameInfo::TMp3FrameInfo() {}
+
+
+
+/*
+-----------------------------------------------------------------------------
+
+    CMp3ToPcmDecoder
+
+    Low level MP3 decoding API.
+
+    @since 2.1
+
+-----------------------------------------------------------------------------
+*/
+class CMp3ToPcmDecoder : public CBase
+    {
+protected:
+    IMPORT_C CMp3ToPcmDecoder();
+    IMPORT_C void ConstructL();
+
+public:
+    IMPORT_C static CMp3ToPcmDecoder* NewL(const TMp3DecParams& aConf);
+    IMPORT_C virtual ~CMp3ToPcmDecoder();
+    IMPORT_C void Reset();
+    IMPORT_C void Reset(const TMp3DecParams& aConf);
+    IMPORT_C static TInt FrameInfo(const TUint8* aBuf, TInt aBufLen, TMp3FrameInfo& aInfo);
+    IMPORT_C static TInt FrameInfo(const TUint8* aBuf, TInt aBufLen, TMp3FrameInfo& aInfo, const TMp3DecParams& aConf);
+    IMPORT_C static TInt SeekSync(const TUint8* aBuf, TInt aBufLen);
+    IMPORT_C TInt Decode(TUint8* aSrc, TInt& aSrcUsed, TUint8* aDst, TInt& aDstLen, TInt aMuteFlag);
+    IMPORT_C TInt Decode(TUint8* aSrc, TInt& aSrcUsed, TUint8* aDst1, TUint8* aDst2, TUint8* aDst3, TInt& aDstLen1,  TInt& aDstLen2,  TInt& aDstLen3, TInt aMuteFlag);
+private:
+    CMp3ToPcmDecoderImpl* iState;
+    };
+
+#endif //__MP3CODEC_H__
+//-----------------------------------------------------------------------------
+//  End of File
+//-----------------------------------------------------------------------------
--- a/khronosfws/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-
-PRJ_MMPFILES
-#include "../openmax_al/group/bld.inf"
-
-//  End of File  
-
--- a/khronosfws/openmax_al/bwins/openmaxalu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-EXPORTS
-	xaCreateEngine @ 1 NONAME
-	xaQueryNumSupportedEngineInterfaces @ 2 NONAME
-	xaQuerySupportedEngineInterfaces @ 3 NONAME
-	XA_IID_AUDIODECODERCAPABILITIES @ 4 NONAME
-	XA_IID_AUDIOENCODER @ 5 NONAME
-	XA_IID_AUDIOENCODERCAPABILITIES @ 6 NONAME
-	XA_IID_AUDIOIODEVICECAPABILITIES @ 7 NONAME
-	XA_IID_CAMERA @ 8 NONAME
-	XA_IID_CAMERACAPABILITIES @ 9 NONAME
-	XA_IID_CONFIGEXTENSION @ 10 NONAME
-	XA_IID_DEVICEVOLUME @ 11 NONAME
-	XA_IID_DYNAMICINTERFACEMANAGEMENT @ 12 NONAME
-	XA_IID_DYNAMICSOURCE @ 13 NONAME
-	XA_IID_ENGINE @ 14 NONAME
-	XA_IID_EQUALIZER @ 15 NONAME
-	XA_IID_IMAGECONTROLS @ 16 NONAME
-	XA_IID_IMAGEDECODERCAPABILITIES @ 17 NONAME
-	XA_IID_IMAGEEFFECTS @ 18 NONAME
-	XA_IID_IMAGEENCODER @ 19 NONAME
-	XA_IID_IMAGEENCODERCAPABILITIES @ 20 NONAME
-	XA_IID_LED @ 21 NONAME
-	XA_IID_METADATAEXTRACTION @ 22 NONAME
-	XA_IID_METADATAINSERTION @ 23 NONAME
-	XA_IID_METADATATRAVERSAL @ 24 NONAME
-	XA_IID_NULL @ 25 NONAME
-	XA_IID_OBJECT @ 26 NONAME
-	XA_IID_OUTPUTMIX @ 27 NONAME
-	XA_IID_PLAY @ 28 NONAME
-	XA_IID_PLAYBACKRATE @ 29 NONAME
-	XA_IID_PREFETCHSTATUS @ 30 NONAME
-	XA_IID_RADIO @ 31 NONAME
-	XA_IID_RDS @ 32 NONAME
-	XA_IID_RECORD @ 33 NONAME
-	XA_IID_SEEK @ 34 NONAME
-	XA_IID_SNAPSHOT @ 35 NONAME
-	XA_IID_STREAMINFORMATION @ 36 NONAME
-	XA_IID_THREADSYNC @ 37 NONAME
-	XA_IID_VIBRA @ 38 NONAME
-	XA_IID_VIDEODECODERCAPABILITIES @ 39 NONAME
-	XA_IID_VIDEOENCODER @ 40 NONAME
-	XA_IID_VIDEOENCODERCAPABILITIES @ 41 NONAME
-	XA_IID_VIDEOPOSTPROCESSING @ 42 NONAME
-	XA_IID_VOLUME @ 43 NONAME
-	XA_IID_NOKIALINEARVOLUME @ 44 NONAME
-	XA_IID_NOKIAVOLUMEEXT @ 45 NONAME
-
--- a/khronosfws/openmax_al/data/create_openmax_al_stub_sis.bat	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-rem
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: PKG for Telephony Media Services (TMS)
-rem
-
-makesis -s openmax_al_stub.pkg openmax_al_stub.sis
--- a/khronosfws/openmax_al/data/openmax_al_stub.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "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:
-;
-; Description: OpenMAXAL Stub SIS (openmaxal)
-;
-;File: openmax_al_stub.pkg
-
-;Languages
-&EN
-
-;Header
-#{"OpenMAXAL"},(0x10207CAE),1,0,0, TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
Binary file khronosfws/openmax_al/data/openmax_al_stub.sis has changed
--- a/khronosfws/openmax_al/data/openmaxal.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-#/*
-#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-#* All rights reserved.
-#* This component and the accompanying materials are made available
-#* under the terms of "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:
-#*
-#* Description: 
-#*
-#*/
-#============================================================================>|
-# Must not exceed 80 chars each line=========================================>|
-#============================================================================>|
-<mediaplayer>
-<mmf>
-<urischeme>
-# Num of entries followed by actual entries all ending with a comma
-6,file,http,rtsp,rtspu,rtspt,mms,
-</urischeme>
-<fileext>
-15,3gp,wma,wmv,wav,amr,mp3,mp4,rm,ra,avi,mkv,aac,mid,awb,3g2,
-</fileext>
-</mmf>
-
-<gst>
-<urischeme>
-# Num of entries followed by actual entries all ending with a comma
-0,
-</urischeme>
-<fileext>
-0,
-</fileext>
-</gst>
-</mediaplayer>
-
-<mediarecorder>
-<mmf>
-<urischeme>
-# Num of entries followed by actual entries all ending with a comma
-0,
-</urischeme>
-<fileext>
-0,
-</fileext>
-</mmf>
-
-<gst>
-<urischeme>
-# Num of entries followed by actual entries all ending with a comma
-1,file,
-</urischeme>
-<fileext>
-3,wav,amr,mp4,
-</fileext>
-</gst>
-</mediarecorder>
\ No newline at end of file
--- a/khronosfws/openmax_al/eabi/openmaxalu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-EXPORTS
-	xaCreateEngine @ 1 NONAME
-	xaQueryNumSupportedEngineInterfaces @ 2 NONAME
-	xaQuerySupportedEngineInterfaces @ 3 NONAME
-	XA_IID_AUDIODECODERCAPABILITIES @ 4 NONAME DATA 4
-	XA_IID_AUDIOENCODER @ 5 NONAME DATA 4
-	XA_IID_AUDIOENCODERCAPABILITIES @ 6 NONAME DATA 4
-	XA_IID_AUDIOIODEVICECAPABILITIES @ 7 NONAME DATA 4
-	XA_IID_CAMERA @ 8 NONAME DATA 4
-	XA_IID_CAMERACAPABILITIES @ 9 NONAME DATA 4
-	XA_IID_CONFIGEXTENSION @ 10 NONAME DATA 4
-	XA_IID_DEVICEVOLUME @ 11 NONAME DATA 4
-	XA_IID_DYNAMICINTERFACEMANAGEMENT @ 12 NONAME DATA 4
-	XA_IID_DYNAMICSOURCE @ 13 NONAME DATA 4
-	XA_IID_ENGINE @ 14 NONAME DATA 4
-	XA_IID_EQUALIZER @ 15 NONAME DATA 4
-	XA_IID_IMAGECONTROLS @ 16 NONAME DATA 4
-	XA_IID_IMAGEDECODERCAPABILITIES @ 17 NONAME DATA 4
-	XA_IID_IMAGEEFFECTS @ 18 NONAME DATA 4
-	XA_IID_IMAGEENCODER @ 19 NONAME DATA 4
-	XA_IID_IMAGEENCODERCAPABILITIES @ 20 NONAME DATA 4
-	XA_IID_LED @ 21 NONAME DATA 4
-	XA_IID_METADATAEXTRACTION @ 22 NONAME DATA 4
-	XA_IID_METADATAINSERTION @ 23 NONAME DATA 4
-	XA_IID_METADATATRAVERSAL @ 24 NONAME DATA 4
-	XA_IID_NULL @ 25 NONAME DATA 4
-	XA_IID_OBJECT @ 26 NONAME DATA 4
-	XA_IID_OUTPUTMIX @ 27 NONAME DATA 4
-	XA_IID_PLAY @ 28 NONAME DATA 4
-	XA_IID_PLAYBACKRATE @ 29 NONAME DATA 4
-	XA_IID_PREFETCHSTATUS @ 30 NONAME DATA 4
-	XA_IID_RADIO @ 31 NONAME DATA 4
-	XA_IID_RDS @ 32 NONAME DATA 4
-	XA_IID_RECORD @ 33 NONAME DATA 4
-	XA_IID_SEEK @ 34 NONAME DATA 4
-	XA_IID_SNAPSHOT @ 35 NONAME DATA 4
-	XA_IID_STREAMINFORMATION @ 36 NONAME DATA 4
-	XA_IID_THREADSYNC @ 37 NONAME DATA 4
-	XA_IID_VIBRA @ 38 NONAME DATA 4
-	XA_IID_VIDEODECODERCAPABILITIES @ 39 NONAME DATA 4
-	XA_IID_VIDEOENCODER @ 40 NONAME DATA 4
-	XA_IID_VIDEOENCODERCAPABILITIES @ 41 NONAME DATA 4
-	XA_IID_VIDEOPOSTPROCESSING @ 42 NONAME DATA 4
-	XA_IID_VOLUME @ 43 NONAME DATA 4
-	XA_IID_NOKIALINEARVOLUME @ 44 NONAME DATA 4
-	XA_IID_NOKIAVOLUMEEXT @ 45 NONAME DATA 4
-
--- a/khronosfws/openmax_al/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Project build file for OpenMaxAL
-*
-*/
-
-
-#include <bldvariant.hrh>
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-#ifdef FF_OPENMAX_AL
-../data/openmax_al_stub.sis /epoc32/data/z/system/install/openmax_al_stub.sis
-../rom/openmax_al.iby       CORE_MW_LAYER_IBY_EXPORT_PATH(openmax_al.iby)
-../data/openmaxal.cfg       /epoc32/winscw/c/openmaxal/openmaxal.cfg
-
-#endif
-
-PRJ_MMPFILES
-#ifdef FF_OPENMAX_AL
-openmaxal.mmp
-#endif
-
-//  End of File  
--- a/khronosfws/openmax_al/group/openmaxal.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Project file for openmaxal
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET		openmaxal.dll
-TARGETTYPE	DLL
-UID		    0x1000008D 0x10207CA3
-VENDORID	VID_DEFAULT
-
-VERSION 10.0
-#if !defined(__WINSCW__) && !defined(__WINS__)
-EpocAllowDllData
-#endif
-
-CAPABILITY ALL -TCB
-
-MACRO   USE_NGA_SURFACES
-MACRO 	XA_API=EXPORT_C
-
-//MACRO 	MARKERPOSITIONTIMERLOG
-//MACRO		POSITIONUPDATETIMERLOG
-//MACRO 	USE_LOCAL_WINDOW_RESOURCES
-//MACRO           PROFILE_TIME
-//MACRO           PRINT_TO_CONSOLE_TIME_DIFF
-
-SOURCEPATH      ../src/gst_adaptation
-SOURCE	        xaadaptationgst.c
-SOURCE 	        xagstcapabilitiesmgr.c
-SOURCE	        xaaudioencoderitfadaptation.c
-SOURCE	        xaengineadaptctx.c
-SOURCE	        xamediarecorderadaptctx.c
-SOURCE	        xametadataadaptation.c
-SOURCE	        xarecorditfadaptation.c
-
-SOURCEPATH ../src/adptcommon
-SOURCE 	        xaframeworkmgr.c
-SOURCE 	        xacapabilitiesmgr.c
-SOURCE 	        xaadptbasectx.c
-
-SOURCEPATH      ../src/common
-SOURCE          openmaxal.c
-SOURCE          xacommon.c
-SOURCE          xaconfigextensionsitf.c
-SOURCE          xadynamicsourceitf.c
-SOURCE          xadynintmgmtitf.c
-SOURCE          xametadataextractionitf.c
-SOURCE          xaobjectitf.c
-SOURCE          xaplatform.c
-SOURCE          xathreadsafety.c
-SOURCE          xavolumeitf.c
-SOURCE 		xastreaminformationitf.c
-SOURCE          xanokialinearvolumeitf.c
-SOURCE          xanokiavolumeextitf.c
-
-SOURCEPATH      ../src/engine
-SOURCE          xaaudioencodercapabilitiesitf.c
-SOURCE          xaaudioiodevicecapabilitiesitf.c
-SOURCE          xaengine.c
-SOURCE          xaengineitf.c
-SOURCE          xathreadsyncitf.c
-
-SOURCEPATH      ../src/mediaplayer
-SOURCE          xamediaplayer.c
-SOURCE          xaplaybackrateitf.c
-SOURCE          xaplayitf.c
-SOURCE          xaprefetchstatusitf.c
-SOURCE          xaseekitf.c
-
-SOURCEPATH      ../src/mediarecorder
-SOURCE          xaaudioencoderitf.c
-SOURCE          xamediarecorder.c
-SOURCE          xametadatainsertionitf.c
-SOURCE          xarecorditf.c
-
-SOURCEPATH      ../src/metadataextractor
-SOURCE          xametadataextractor.c
-
-SOURCEPATH      ../src/radio
-SOURCE          xaradiodevice.c
-SOURCE		xaradioitf.c
-
-SOURCEPATH      ../src/mmf_adaptation
-//	Removing below file since currently there is no Engine related
-// 	mmf adaptation
-//SOURCE          xaengineadaptctxmmf.c
-SOURCE	        xamediaplayeradaptctxmmf.c
-SOURCE	        xaplayitfadaptationmmf.c
-SOURCE	        xaadaptationmmf.c
-SOURCE          cmmfbackendengine.cpp
-SOURCE          xamediarecorderadaptctxmmf.c
-SOURCE          xarecorditfadaptationmmf.c
-SOURCE 	        sfmrlocaltimer.cpp
-SOURCE		xaradioitfadaptation.c
-SOURCE  	xaradioadaptctx.c
-SOURCE 		cmmfradiobackendengine.cpp
-SOURCE          xanokialinearvolumeitfadaptationmmf.c
-SOURCE          xanokiavolumeextitfadaptationmmf.c
-SOURCE 	        xammfcapabilitiesmgr.c
-SOURCE          markerpositiontimer.cpp
-SOURCE          positionupdatetimer.cpp 
-SOURCE          xaseekitfadaptationmmf.c
-SOURCE          xadynamicsourceitfadaptationmmf.c
-SOURCE 	        xastreaminformationitfadaptationmmf.c
-SOURCE  	cmetadatautilityitf.cpp
-SOURCE		xametadataadaptctxmmf.c
-SOURCE		xaplaybackrateitfadaptationmmf.c
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../src
-USERINCLUDE     ../src/khronos
-USERINCLUDE     ../src/mmf_adaptation
-USERINCLUDE     ../src/gst_adaptation
-USERINCLUDE     ../src/common
-USERINCLUDE     ../src/engine
-USERINCLUDE     ../src/mediaplayer
-USERINCLUDE     ../src/mediarecorder
-USERINCLUDE     ../src/radio
-USERINCLUDE	../src/adptcommon
-
-MW_LAYER_SYSTEMINCLUDE
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_GLIB_SYSTEMINCLUDE
-MW_LAYER_GSTREAMER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/platform/mw/khronos 
-
-LIBRARY         euser.lib
-LIBRARY         libc.lib
-LIBRARY         libglib.lib
-LIBRARY         libpthread.lib
-
-LIBRARY         mediaclientvideodisplay.lib
-LIBRARY         ws32.lib
-LIBRARY		inetprotutil.lib
-LIBRARY         mediaclientaudio.lib
-LIBRARY         mmfcontrollerframework.lib
-LIBRARY         mediaclientvideo.lib
-LIBRARY         AudioInputRouting.lib
-LIBRARY		Radio_Utility.lib
-
-LIBRARY         libgmodule.lib
-LIBRARY         libgobject.lib
-LIBRARY         libgstreamer.lib
-LIBRARY         libgstapp.lib
-LIBRARY 	libgstinterfaces.lib 
-LIBRARY 	libgstbase.lib
-LIBRARY 	libgstcoreelements.lib
-LIBRARY		libgstcoreindexers.lib
-LIBRARY 	MetaDataUtility.lib
-STATICLIBRARY   hxmetadatautil.lib
-
--- a/khronosfws/openmax_al/inc/openmaxalwrapper.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Internal Header to Include Khronos Headers in One Place.
-*               Also redefining the XA_API macro to export the IID value
-*               to DEF files.
-*
-*/
-#ifndef OPENMAXAL_WRAPPER_H_
-#define OPENMAXAL_WRAPPER_H_
-
-#include <e32def.h>
-#include <OpenMAXAL.h>
-#include <xanokiavolumeextitf.h>
-#include <xanokialinearvolumeitf.h>
-#include <xaradioitfext.h>
-
-#endif //ends OPENMAXAL_WRAPPER_H_
-
--- a/khronosfws/openmax_al/inc/profileutilmacro.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Internal Header to define Performance Profiling macros.
-*               The MACROS can be defined in the MMP file to enable profiling.
-*
-*/
-
-#ifndef PROFILEUTILMACRO_H
-#define PROFILEUTILMACRO_H
-/*
-// MACROS to be defined to use profiling
-PROFILE_TIME
-PROFILE_RAM_USAGE
-PROFILE_HEAP_USAGE
-PRINT_TO_CONSOLE_TIME_DIFF
-PRINT_TO_CONSOLE_RAM_DIFF
-PRINT_TO_CONSOLE_HEAP_DIFF
-*/
-
-#if defined(PROFILE_TIME) || defined(PROFILE_RAM_USAGE) || defined(PROFILE_HEAP_USAGE)
-#include <e32debug.h>
-#include <hal.h>
-#endif
-
-#ifdef PROFILE_TIME
-#define TAG_TIME_PROFILING_BEGIN \
-    TTime beginProfilingTime; \
-    beginProfilingTime.HomeTime()
-
-#define TAG_TIME_PROFILING_BEGIN_NO_VAR_DEF \
-    beginProfilingTime.HomeTime()
-
-#define TAG_TIME_PROFILING_END \
-    TTime endProfilingTime; \
-    endProfilingTime.HomeTime(); \
-    TTimeIntervalMicroSeconds diffInMicroSecs = endProfilingTime.MicroSecondsFrom(beginProfilingTime)
-
-#define TAG_TIME_PROFILING_END_NO_VAR_DEF \
-    endProfilingTime.HomeTime(); \
-    diffInMicroSecs = endProfilingTime.MicroSecondsFrom(beginProfilingTime)
-
-#define PRINT_TO_CONSOLE_TIME_DIFF \
-    RDebug::Printf("VPROFILEDAT: %s : Time taken[%u]microseconds ", __PRETTY_FUNCTION__, diffInMicroSecs.Int64())
-
-#define PRINT_TO_CONSOLE_HOME_TIME \
-    TTime homeTime; \
-    homeTime.HomeTime(); \
-    RDebug::Printf("VPROFILEDAT: %s : Home Time [%u]microseconds ", __PRETTY_FUNCTION__, homeTime.Int64())
-
-#define PRINT_TO_CONSOLE_HOME_TIME_NO_VAR_DEF \
-    homeTime.HomeTime(); \
-    RDebug::Printf("VPROFILEDAT: %s : Home Time [%u]microseconds ", __PRETTY_FUNCTION__, homeTime.Int64())
-
-#else /* Empty macros */
-#define TAG_TIME_PROFILING_BEGIN
-#define TAG_TIME_PROFILING_BEGIN_NO_VAR_DEF
-#define TAG_TIME_PROFILING_END
-#define TAG_TIME_PROFILING_END_NO_VAR_DEF
-#define PRINT_TO_CONSOLE_TIME_DIFF
-#define PRINT_TO_CONSOLE_HOME_TIME
-#define PRINT_TO_CONSOLE_HOME_TIME_NO_VAR_DEF
-#endif /*PROFILE_TIME*/
-
-#ifdef PROFILE_RAM_USAGE
-#define TAG_RAM_PROFILING_BEGIN \
-    TInt beginProfilingRAM; \
-    TInt err1 = HAL::Get(HALData::EMemoryRAMFree, beginProfilingRAM)
-
-#define TAG_RAM_PROFILING_END \
-    TInt endProfilingRAM; \
-    TInt err2 = HAL::Get(HALData::EMemoryRAMFree, endProfilingRAM)
-
-#define PRINT_TO_CONSOLE_RAM_DIFF \
-    if ((err1 == KErrNone) && (err2 == KErrNone)) \
-        { \
-        TInt diffRAM = (beginProfilingRAM - endProfilingRAM); \
-        if ( diffRAM > 0 ) \
-            { \
-            RDebug::Printf("VPROFILEDAT: %s : RAM used[%u]bytes ", __PRETTY_FUNCTION__, diffRAM); \
-            } \
-        else \
-            { \
-            RDebug::Printf("VPROFILEDAT: %s : RAM freed[%u]bytes ", __PRETTY_FUNCTION__, (-diffRAM)); \
-            } \
-        } \
-    else \
-        { \
-        RDebug::Printf("VPROFILEDAT: %s : Error1[%d] Error2[%d] ", __PRETTY_FUNCTION__, err1, err2); \
-        }
-
-#else /* Empty macros */
-#define TAG_RAM_PROFILING_BEGIN
-#define TAG_RAM_PROFILING_END
-#define PRINT_TO_CONSOLE_RAM_DIFF
-#endif /*PROFILE_RAM_USAGE*/
-
-#ifdef PROFILE_HEAP_USAGE
-#define TAG_DEFAULT_HEAP_PROFILING_BEGIN \
-    TInt beginProfilingHEAPBiggestBlock; \
-    TInt beginProfilingHEAP = User::Available(beginProfilingHEAPBiggestBlock) \
-
-#define TAG_DEFAULT_HEAP_PROFILING_END \
-    TInt endProfilingHEAPBiggestBlock; \
-    TInt endProfilingHEAP = User::Available(endProfilingHEAPBiggestBlock) \
-
-#define PRINT_TO_CONSOLE_HEAP_DIFF \
-    TInt diffHEAP = beginProfilingHEAP - endProfilingHEAP; \
-    if ( diffHEAP > 0 ) \
-        { \
-        RDebug::Printf("VPROFILEDAT: %s : HEAP used[%u]bytes ", __PRETTY_FUNCTION__, diffHEAP); \
-        } \
-    else \
-        { \
-        RDebug::Printf("VPROFILEDAT: %s : HEAP freed[%u]bytes ", __PRETTY_FUNCTION__, (-diffHEAP)); \
-        }
-#else /* Empty macros */
-#define TAG_DEFAULT_HEAP_PROFILING_BEGIN
-#define TAG_DEFAULT_HEAP_PROFILING_END
-#define PRINT_TO_CONSOLE_HEAP_DIFF
-#endif /*PROFILE_HEAP_USAGE*/
-
-#endif /* PROFILEUTILMACRO_H */
--- a/khronosfws/openmax_al/rom/openmax_al.iby	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: OpenMAX AL iby file for exporting dll to ROM/ROFS.
-*
-*/
-
-#ifndef OPENMAX_AL_IBY
-#define OPENMAX_AL_IBY
-
-#include <bldvariant.hrh>
-#ifdef FF_OPENMAX_AL
-
-file=ABI_DIR/BUILD_DIR/openmaxal.dll         SHARED_LIB_DIR/openmaxal.dll
-
-//OpenMAX_AL_Stub
-data=ZSYSTEM/install/openmax_al_stub.sis         System/Install/openmax_al_stub.sis
-data=/epoc32/winscw/c/openmaxal/openmaxal.cfg           openmaxal/openmaxal.cfg
-
-#endif //FF_OPENMAX_AL
-
-#endif //OPENMAX_AL_IBY
-
-//End of File
\ No newline at end of file
--- a/khronosfws/openmax_al/sis/openmax_al.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "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:
-;
-; Description: OpenMAX AL - UREL build
-;
-;File: openmax_al.pkg
-
-;Languages
-&EN
-
-;Header
-#{"OpenMax_AL"},(0x10207CAF),1,0,0, TYPE=SA, RU
-
-;Series 60 v5.0
-[0x101F7961], 0,0,0, {"Series60ProductID"}
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Files To Copy...<src> <destination>
-"/epoc32/release/armv5/urel/openmaxal.dll"         -"!:/sys/bin/openmaxal.dll"
-"../data/openmaxal.cfg"                             -   "c:/openmaxal/openmaxal.cfg"
-
--- a/khronosfws/openmax_al/sis/openmax_al_udeb.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "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:
-;
-; Description: OpenMAX AL - UDEB build
-;
-;File: openmax_al.pkg
-
-;Languages
-&EN
-
-;Header
-#{"OpenMax_AL"},(0x10207CAF),1,0,0, TYPE=SA, RU
-
-;Series 60 v5.0
-[0x101F7961], 0,0,0, {"Series60ProductID"}
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Files To Copy...<src> <destination>
-"/epoc32/release/armv5/udeb/openmaxal.dll"          -   "!:/sys/bin/openmaxal.dll"
-"../data/openmaxal.cfg"                             -   "c:/openmaxal/openmaxal.cfg"
-
--- a/khronosfws/openmax_al/src/adptcommon/xaadptbasectx.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Base Adaptation Initialization Functionality
- *
- */
-
-#include <assert.h>
-#include <string.h>
-#include "xaadptbasectx.h"
-#include "xathreadsafety.h"
-
-/*
- * XAAdaptationBaseCtx* XAAdaptationBase_Create()
- * 1st phase initialization function for Adaptation Base context structure.
- * Reserves memory for base context and initializes GStreamer FW.
- */
-XAresult XAAdaptationBase_Init(XAAdaptationBaseCtx* pSelf, XAuint32 ctxId)
-    {
-    DEBUG_API("->XAAdaptationBase_Init");
-
-    if (pSelf)
-        {
-        if (!pSelf->evtHdlrs)
-            {
-            pSelf->evtHdlrs = g_array_new(FALSE, FALSE,
-                    sizeof(XAAdaptEvtHdlr));
-            if (!pSelf->evtHdlrs)
-                {
-                DEBUG_ERR("Memory allocation failure in Base Ctx.")
-                return XA_RESULT_MEMORY_FAILURE;
-                }
-            }
-        pSelf->ctxId = ctxId;
-        }
-    else
-        {
-        DEBUG_ERR("Invalid Adaptation Base Context.")
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    DEBUG_API("<-XAAdaptationBase_Init");
-    return XA_RESULT_SUCCESS;
-    }
-
-/*
- * XAresult XAAdaptationBase_PostInit()
- * 2nd phase initialization for Adaptation Base.
- */
-XAresult XAAdaptationBase_PostInit(XAAdaptationBaseCtx* ctx)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAdaptationBase_PostInit");
-    DEBUG_API("<-XAAdaptationBase_PostInit");
-    return ret;
-    }
-
-/*
- * void XAAdaptationBase_Free( XAAdaptationBaseCtx* ctx )
- * Frees all Base context variables .
- */
-void XAAdaptationBase_Free(XAAdaptationBaseCtx* ctx)
-    {
-    g_array_free(ctx->evtHdlrs, TRUE);
-    ctx->evtHdlrs = NULL;
-    DEBUG_API("<-XAAdaptationBase_Free");
-    }
-
-/*
- * XAresult XAAdaptationBase_AddEventHandler
- * Adds event handler for certain event types.
- */
-XAresult XAAdaptationBase_AddEventHandler(XAAdaptationBaseCtx* ctx,
-        xaAdaptEventHandler evtHandler, XAuint32 evtTypes, void *pHandlerCtx)
-    {
-    XAuint32 i;
-    XAAdaptEvtHdlr tmp;
-    DEBUG_API("->XAAdaptationBase_AddEventHandler");
-    if (!ctx)
-        {
-        DEBUG_ERR("no context");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    for (i = 0; i < ctx->evtHdlrs->len; i++)
-        {
-        if ((g_array_index(ctx->evtHdlrs, XAAdaptEvtHdlr, i)).handlerfunc
-                == evtHandler)
-            {
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    tmp.handlerfunc = evtHandler;
-    tmp.handlercontext = pHandlerCtx;
-    tmp.eventtypes = evtTypes;
-    g_array_append_val(ctx->evtHdlrs, tmp);
-    DEBUG_API("<-XAAdaptationBase_AddEventHandler");
-    return XA_RESULT_SUCCESS;
-    }
-
-/*
- * XAresult XAAdaptationBase_RemoveEventHandler
- * Removes event handler for certain event types.
- */
-XAresult XAAdaptationBase_RemoveEventHandler(XAAdaptationBaseCtx* ctx,
-        xaAdaptEventHandler evtHandler)
-    {
-    XAuint32 i;
-    DEBUG_API("->XAAdaptationBase_RemoveEventHandler");
-    if (!ctx)
-        {
-        DEBUG_ERR("no context");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    for (i = 0; i < ctx->evtHdlrs->len; i++)
-        {
-        if ((g_array_index(ctx->evtHdlrs, XAAdaptEvtHdlr, i)).handlerfunc
-                == evtHandler)
-            {
-            g_array_remove_index(ctx->evtHdlrs, i);
-            return XA_RESULT_SUCCESS;
-            }
-        }
-    DEBUG_API("<-XAAdaptationBase_RemoveEventHandler");
-    /*did not find, return error*/
-    return XA_RESULT_PARAMETER_INVALID;
-    }
-
-void XAAdaptationBase_SendAdaptEvents(XAAdaptationBaseCtx* ctx,
-        XAAdaptEvent* event)
-    {
-    XAuint32 i;
-    XAAdaptEvtHdlr* tmp;
-    for (i = 0; i < ctx->evtHdlrs->len; i++)
-        {
-        tmp = &g_array_index(ctx->evtHdlrs, XAAdaptEvtHdlr, i);
-        if (tmp->eventtypes & event->eventtype)
-            {
-            (tmp->handlerfunc)(tmp->handlercontext, event);
-            }
-        }
-    }
-
-/*
- * XAresult XAEqualizerItfAdapt_ThreadEntry(XAAdaptationGstCtx *adapCtx)
- * Description: Safety thread entry
- */
-XAresult XAAdaptationBase_ThreadEntry(XAAdaptationBaseCtx *adaptCtx)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAdaptationBase_ThreadEntry");
-    if (!adaptCtx)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAAdaptationBase_ThreadEntry");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    switch (adaptCtx->ctxId)
-        {
-        case XAMediaPlayerAdaptation:
-            XA_IMPL_THREAD_SAFETY_ENTRY(XATSMediaPlayer);
-            break;
-        case XAMediaRecorderAdaptation:
-            XA_IMPL_THREAD_SAFETY_ENTRY(XATSMediaRecorder);
-            break;
-        case XARadioAdaptation:
-            XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-            break;
-        case XAMDAdaptation:
-            XA_IMPL_THREAD_SAFETY_ENTRY(XATSMetaDataExtractor);
-            break;
-        case XAEngineAdaptation:
-            XA_IMPL_THREAD_SAFETY_ENTRY(XATSEngine);
-            break;
-        default:
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            /* invalid parameter */
-            res = XA_RESULT_PARAMETER_INVALID;
-            break;
-        }
-
-    DEBUG_API("<-XAAdaptationBase_ThreadEntry");
-    return res;
-    }
-/*
- * XAresult XAEqualizerItfAdapt_ThreadExit(XAAdaptationGstCtx *adaptCtx)
- * Description: Safety thread exit
- */
-XAresult XAAdaptationBase_ThreadExit(XAAdaptationBaseCtx *adaptCtx)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAdaptationBase_ThreadExit");
-    if (!adaptCtx)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAAdaptationBase_ThreadExit");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    switch (adaptCtx->ctxId)
-        {
-        case XAMediaPlayerAdaptation:
-            XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-            break;
-        case XAMediaRecorderAdaptation:
-            XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaRecorder);
-            break;
-        case XARadioAdaptation:
-            XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-            break;
-        case XAMDAdaptation:
-            XA_IMPL_THREAD_SAFETY_EXIT(XATSMetaDataExtractor);
-            break;
-        case XAEngineAdaptation:
-            XA_IMPL_THREAD_SAFETY_EXIT(XATSEngine);
-            break;
-        default:
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            /* invalid parameter */
-            res = XA_RESULT_PARAMETER_INVALID;
-            break;
-        }
-
-    DEBUG_API("<-XAAdaptationBase_ThreadExit");
-    return res;
-    }
--- a/khronosfws/openmax_al/src/adptcommon/xaadptbasectx.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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: 
- *
- * Description: Base Adaptation Macros common between adaptations.
- *
- */
-
-#ifndef XAADPTBASECTX_H_
-#define XAADPTBASECTX_H_
-
-#include <glib.h>
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaframeworkmgr.h"
-#include "xacapabilitiesmgr.h"
-#include "xaplatform.h"
-/* ENUMERATIONS */
-
-/**
- GLOBAL ENUMERATIONS
- */
-
-typedef enum
-    {
-    XAMediaPlayerAdaptation = 0,
-    XAMediaRecorderAdaptation,
-    XARadioAdaptation,
-    XACameraAdaptation,
-    XAOutputMixAdaptation,
-    XAVibraAdaptation,
-    XALedArrayAdaptation,
-    XAMDAdaptation,
-    XAEngineAdaptation
-    } AdaptationContextIDS;
-
-#define XA_ADAPT_PU_INTERVAL 50                     /* position update interval */
-#define XA_ADAPT_ASYNC_TIMEOUT 3000                 /* timeout to wait async events */
-#define XA_ADAPT_ASYNC_TIMEOUT_SHORT 1000           /* timeout to wait async events */
-#define XA_ADAPT_ASYNC_TIMEOUT_SHORT_NSEC 1000000   /* timeout to wait async events */
-
-#define XA_ADAPT_POSITION_UPDATE_EVT 0xf0           /* position update event */
-#define XA_ADAPT_SNAPSHOT_TAKEN 0xf1                /* snapshot taken event */
-#define XA_ADAPT_SNAPSHOT_INITIATED 0xf2            /* snapshot intitiated event */
-#define XA_ADAPT_MDE_TAGS_AVAILABLE 0xf3            /* metadata taglist changed */
-#define XA_ADAPT_OMIX_DEVICESET_CHANGED 0xf4        /* Output mix device changed event */
-#define XA_ADAPT_RADIO_FREQUENCY_CHANGED 0xf6       /* Radio frequency changed event */
-#define XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED 0xf7 /* Radio frequency range changed event */
-#define XA_ADAPT_RADIO_SEEK_COMPLETE 0xf8           /* Radio seek complete changed event */
-#define XA_ADAPT_RDS_GET_ODA_GROUP_DONE 0xf9        /* RDS get oda group done event */
-#define XA_ADAPT_BUFFERING 0xfa
-#define XA_ADAPT_MDE_TAGS_WRITTEN 0xfb
-/* TYPEDEFS */
-
-#define RADIO_DEFAULT_FREQ_RANGE XA_FREQRANGE_FMEUROAMERICA
-#define RADIO_DEFAULT_FREQ 88000000
-#define RADIO_DEFAULT_MIN_FREQ 87500000
-#define RADIO_DEFAULT_MAX_FREQ 108000000
-
-/* TYPEDEFS */
-
-/* Adaptation device IDs */
-#define XA_ADAPTID_DEVSOUNDSRC      0xAD7E5001
-#define XA_ADAPTID_DEVSOUNDSINK     0xAD7E5002
-#define XA_ADAPTID_AUTOAUDIOSINK    0xAD7E5003
-#define XA_ADAPTID_AUDIOTESTSRC     0xAD7E5004
-#define XA_ADAPTID_AUTOVIDEOSINK    0xAD7E5005
-#define XA_ADAPTID_VIDEOTESTSRC     0xAD7E5006
-#define XA_ADAPTID_V4L2SRC          0xAD7E5007
-#define XA_ADAPTID_JACKSINK         0xAD7E5008
-#define XA_ADAPTID_MOTIONJPEG       0xAD7E5009
-#define XA_ADAPTID_THEORA           0xAD7E500A
-#define XA_ADAPTID_VORBIS           0xAD7E500B
-
-#define XA_ADAPTID_VIBRA            0xAD7E500C
-#define XA_ADAPTID_LEDARRAY         0xAD7E500D
-
-#define XA_ADAPTID_RAWVIDEO         0xAD7E500E
-
-#define XA_ADAPT_DEFAULTAUDIOOUTPUT XA_ADAPTID_DEVSOUNDSINK
-
-#ifdef XA_USE_TEST_PLUGINS
-#define XA_ADAPT_DEFAULTAUDIOINPUT  XA_ADAPTID_AUDIOTESTSRC
-#else
-#define XA_ADAPT_DEFAULTAUDIOINPUT  XA_ADAPTID_DEVSOUNDSRC
-#endif
-
-#define XA_ADAPT_OGGPROFILE_UNKNOWN 0x1
-
-#define XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_8   0x1
-#define XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_16  0x2
-#define XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_20  0x4
-#define XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_24  0x8
-#define XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_28  0x10
-#define XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_32  0x20
-
-#define XA_ADAPT_MAX_BITRATE_COUNT 10
-
-#define XA_ADAPTID_UNINITED 0
-
-#define XA_ADAPT_PLAY_STATE_CHANGED 0xf5			
-#define XA_ADAPT_RADIO_FREQUENCY_CHANGED 0xf6       /* Radio frequency changed event */
-#define XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED 0xf7 /* Radio frequency range changed event */
-#define XA_ADAPT_RADIO_SEEK_COMPLETE 0xf8           /* Radio seek complete changed event */
-#define XA_ADAPT_RADIO_STEREO_STATUS_CHANGED 	0xf9  /* Radio stereo status changed */
-#define XA_ADAPT_RADIO_SIGNAL_STRENGTH_CHANGED 0xfa   /* Radio signal status changed */
-#define XA_ADAPT_VOLUME_VOLUME_CHANGED 0xfb					/* volume changed */
-#define XA_ADAPT_VOLUME_MUTE_CHANGED 0xfc         	/* mute changed */
-#define XA_ADAPT_VULOME_STEREOPOSITION_CHANGED  0xfd /* stereo position changed */
-
-/* Adaptation event structure */
-typedef struct XAAdaptEvent_
-    {
-    XAAdaptEventTypes eventtype; /* what kind of event, e.g. playitf event  */
-    XAuint8 eventid; /* eventtype-specific event, e.g. XA_PLAYEVENT macro */
-    XAuint32 datasize; /* event data size */
-    void* data; /* event data if needed */
-    } XAAdaptEvent;
-
-/* Forward declaration of adaptation basecontext */
-typedef struct XAAdaptationBaseCtx_ XAAdaptationBaseCtx;
-
-/*
- * Structure that holds all common variables for every
- * Gst-Adaptation context structures.
- */
-typedef struct XAAdaptationBaseCtx_
-    {
-    /*     Common Variables for all adaptation elements */
-    XAuint32 ctxId;
-    GArray* evtHdlrs; /*array of event handlers */
-    FrameworkMap* fwkmapper;
-    FWMgrFwType fwtype;
-    XACapabilities* capslist;
-
-    } XAAdaptationBaseCtx_;
-
-/* Adaptation event callback */
-typedef void (*xaAdaptEventHandler)(void *pHandlerCtx, XAAdaptEvent* event);
-
-typedef struct XAAdaptEvtHdlr_
-    {
-    xaAdaptEventHandler handlerfunc; /* function handling the callback */
-    void *handlercontext; /* context of handler */
-    XAuint32 eventtypes; /* what kind of events this handles */
-    } XAAdaptEvtHdlr;
-
-/* FUNCTIONS */
-XAresult XAAdaptationBase_Init(XAAdaptationBaseCtx* pSelf, XAuint32 ctxId);
-XAresult XAAdaptationBase_PostInit(XAAdaptationBaseCtx* ctx);
-XAresult XAAdaptationBase_AddEventHandler(XAAdaptationBaseCtx* ctx,
-        xaAdaptEventHandler evtHandler, XAuint32 evtTypes, void *pHandlerCtx);
-XAresult XAAdaptationBase_RemoveEventHandler(XAAdaptationBaseCtx* ctx,
-        xaAdaptEventHandler evtHandler);
-void XAAdaptationBase_SendAdaptEvents(XAAdaptationBaseCtx* ctx,
-        XAAdaptEvent* event);
-XAresult XAAdaptationBase_ThreadEntry(XAAdaptationBaseCtx *adaptCtx);
-XAresult XAAdaptationBase_ThreadExit(XAAdaptationBaseCtx *adaptCtx);
-void XAAdaptationBase_Free(XAAdaptationBaseCtx* ctx);
-
-#endif /* XAADPTBASECTX_H_ */
--- a/khronosfws/openmax_al/src/adptcommon/xacapabilitiesmgr.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,534 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Capability Manager to query capabilities from different
- *              adaptations and store it in a linked list.
- *
- */
-
-#include "xacapabilitiesmgr.h"
-#include "xammfcapabilitiesmgr.h"
-#include "xagstcapabilitiesmgr.h"
-#include <stdio.h>
-#include <string.h>
-
-static XAresult XACapabilitiesMgr_GetAudioInputDeviceCapabilities(
-        XACapabilities **ppNode);
-static XAresult XACapabilitiesMgr_GetAudioOutputDeviceCapabilities(
-        XACapabilities **ppNode);
-
-/* XAresult XAGSTCapabilitiesMgr_UpdateAudioIOCapabilitieList
- * Description: Update the capabilities list supported by GStreamer framework.
- */
-XAresult XACapabilitiesMgr_UpdateAudioIOCapabilitieList(
-        FrameworkMap *frameworkMap, XACapabilities **ppListHead)
-
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities *lastNode;
-    XACapabilities *firstNode;
-    XACapabilities *newNode = NULL;
-
-    if (!frameworkMap || !ppListHead)
-        {
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    lastNode = *ppListHead;
-    firstNode = *ppListHead;
-
-    DEBUG_API("->XACapabilitiesMgr_UpdateAudioIOCapabilitieList");
-
-    /* traverse and point to the last node in the list */
-    while (lastNode && lastNode->next)
-        {
-        lastNode = lastNode->next;
-        }
-
-    /* If no input devices are supported, the function returns
-     * XA_RESULT_SUCCESS and newNode will be NULL*/
-    newNode = NULL;
-    res = XACapabilitiesMgr_GetAudioInputDeviceCapabilities(&newNode);
-    if (res != XA_RESULT_SUCCESS)
-        {
-        return res;
-        }
-
-    if (lastNode)
-        {
-        lastNode->next = newNode;
-        }
-    if (newNode)
-        { /* if a new node is created move lastNode to the new item */
-        if (!firstNode)
-            firstNode = newNode;
-        lastNode = newNode;
-        }
-
-    /* If no input devices are supported, the function returns
-     * XA_RESULT_SUCCESS and newNode will be NULL*/
-    newNode = NULL;
-    res = XACapabilitiesMgr_GetAudioOutputDeviceCapabilities(&newNode);
-    if (res != XA_RESULT_SUCCESS)
-        {
-        return res;
-        }
-
-    if (lastNode)
-        {
-        lastNode->next = newNode;
-        }
-    if (newNode)
-        { /* if a new node is created move lastNode to the new item */
-        if (!firstNode)
-            firstNode = newNode;
-        lastNode = newNode;
-        }
-    /* if empty list, then append first node as the head */
-    if (!(*ppListHead))
-        {
-        *ppListHead = firstNode;
-        }
-    DEBUG_API("<-XACapabilitiesMgr_UpdateAudioIOCapabilitieList");
-    return res;
-    }
-
-XAresult XACapabilitiesMgr_CreateCapabilitieList(FrameworkMap* frameworkMap,
-        XACapabilities** ppListHead)
-    {
-    XACapabilities* list = NULL;
-    XAresult res = XA_RESULT_SUCCESS;
-    if (!ppListHead)
-        {
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    *ppListHead = NULL;
-
-    res = XACapabilitiesMgr_UpdateAudioIOCapabilitieList(frameworkMap, &list);
-    if (res != XA_RESULT_SUCCESS)
-        {
-        XACapabilitiesMgr_DeleteCapabilitieList(&list);
-        return res;
-        }
-
-    res = XAGSTCapabilitiesMgr_UpdateCapabilitieList(frameworkMap, &list);
-    if (res != XA_RESULT_SUCCESS)
-        {
-        XACapabilitiesMgr_DeleteCapabilitieList(&list);
-        return res;
-        }
-
-    res = XAMMFCapabilitiesMgr_UpdateCapabilitieList(frameworkMap, &list);
-    if (res != XA_RESULT_SUCCESS)
-        {
-        XACapabilitiesMgr_DeleteCapabilitieList(&list);
-        return res;
-        }
-
-    *ppListHead = list;
-    return res;
-    }
-
-XAresult XACapabilitiesMgr_DeleteCapabilitieList(XACapabilities** ppListHead)
-    {
-    XACapabilities* currNode = NULL;
-    XACapabilities* nextNode = NULL;
-    XAresult res = XA_RESULT_SUCCESS;
-
-    if (!ppListHead)
-        {
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    currNode = *ppListHead;
-    while (currNode)
-        {
-        if (currNode->capsType == AUD_I)
-            {
-            XAAudioInputDescriptor* entries =
-                    (XAAudioInputDescriptor*) currNode->pEntry;
-            XAint32 i;
-            for (i = 0; i < currNode->noOfEntries; i++)
-                {
-                free(entries[i].samplingRatesSupported);
-                free(entries[i].deviceName);
-                }
-            free(entries);
-            }
-        else if (currNode->capsType == AUD_O)
-            {
-            XAAudioOutputDescriptor* entries =
-                    (XAAudioOutputDescriptor*) currNode->pEntry;
-            XAint32 i;
-            for (i = 0; i < currNode->noOfEntries; i++)
-                {
-                free(entries[i].samplingRatesSupported);
-                free(entries[i].pDeviceName);
-                }
-            free(entries);
-            }
-        else if (currNode->capsType == AUD_E)
-            {
-            XAAudioCodecDescriptor* entries =
-                    (XAAudioCodecDescriptor*) currNode->pEntry;
-            XAint32 i;
-            for (i = 0; i < currNode->noOfEntries; i++)
-                {
-                free(entries[i].pSampleRatesSupported);
-                free(entries[i].pBitratesSupported);
-                }
-            free(entries);
-
-            }
-
-        if (currNode->adaptId)
-            {
-            free(currNode->adaptId);
-            }
-
-        nextNode = currNode->next;
-        free(currNode);
-        currNode = nextNode;
-        }
-
-    *ppListHead = NULL;
-    return res;
-    }
-
-/* XAresult XACapabilitiesMgr_GetCapsCount
- * Description: Count capabilities of certain type. Filter is specified by
- *              bitmasking XACapsType values.
- */
-XAresult XACapabilitiesMgr_GetCapsCount(XACapabilities* pListHead,
-        XACapsType filter, XAuint32* count)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities* currNode = pListHead;
-
-    DEBUG_API("->XACapabilitiesMgr_GetCapsCount");
-    if (!currNode || !count)
-        {
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    (*count) = 0;
-    while (currNode)
-        {
-        if ((currNode->capsType & filter) == filter)
-            {
-            (*count)++;
-            }
-        currNode = currNode->next;
-        }
-
-    DEBUG_API("<-XACapabilitiesMgr_GetCapsCount");
-    return res;
-    }
-
-/* XAresult XACapabilitiesMgr_GetCapsById
- * Description: Get capabilities of type XACapsType and matching id
- */
-XAresult XACapabilitiesMgr_GetCapsById(XACapabilities* pListHead,
-        XACapsType filter, XAuint32 maxId, XACapabilities* data)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities* currNode = pListHead;
-    XAboolean found = XA_BOOLEAN_FALSE;
-
-    DEBUG_API("->XACapabilitiesMgr_GetCapsById");
-
-    if (!currNode)
-        {
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    while (currNode)
-        {
-        if (((currNode->capsType & filter) == filter) && (maxId
-                == currNode->xaid))
-            {
-            memcpy(data, currNode, sizeof(XACapabilities));
-            found = XA_BOOLEAN_TRUE;
-            break;
-            }
-        currNode = currNode->next;
-        }
-
-    if (!found)
-        {
-        res = XA_RESULT_FEATURE_UNSUPPORTED;
-        return res;
-        }
-
-    DEBUG_API("<-XACapabilitiesMgr_GetCapsById");
-    return res;
-    }
-
-/* XAresult XACapabilitiesMgr_GetCapsByIdx
- * Description: Get n'th capabilities of type XACapsType
- */
-XAresult XACapabilitiesMgr_GetCapsByIdx(XACapabilities* pListHead,
-        XACapsType filter, XAuint32 idx, XACapabilities* data)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities* currNode = pListHead;
-    XAboolean found = XA_BOOLEAN_FALSE;
-    XAuint32 j = 0;
-
-    DEBUG_API("->XACapabilitiesMgr_GetCapsByIdx");
-
-    if (!currNode)
-        {
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    while (currNode)
-        {
-        if ((currNode->capsType & filter) == filter)
-            {
-            if (idx == j++)
-                {
-                memcpy(data, currNode, sizeof(XACapabilities));
-                found = XA_BOOLEAN_TRUE;
-                break;
-                }
-            }
-        currNode = currNode->next;
-        }
-
-    if (!found)
-        {
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    DEBUG_API("<-XACapabilitiesMgr_GetCapsByIdx");
-    return res;
-    }
-
-/* XAresult XACapabilitiesMgr_QueryColorFormats
- * Description: Get color formats associated with the XA_IMAGECODEC_RAW codec.
- */
-XAresult XACapabilitiesMgr_QueryColorFormats(XACapabilities* pListHead,
-        XAuint32* pIndex, XAuint32* pColorFormats)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities temp;
-
-    DEBUG_API("->XACapabilitiesMgr_QueryColorFormats");
-
-    if (!pIndex)
-        {
-        DEBUG_ERR("illegal NULL parameter");
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    res = XACapabilitiesMgr_GetCapsById(pListHead,
-            (XACapsType) ((XACapsType) (XACAP_ENCODER | XACAP_IMAGE)),
-            XA_IMAGECODEC_RAW, &temp);
-    if (res == XA_RESULT_SUCCESS)
-        {
-        if (!pColorFormats)
-            { /* query number of color formats */
-            *pIndex = 1; /* one used by camera context */
-            }
-        else
-            { /* query color format */
-            if (*pIndex >= 1) /* one used by camera context */
-                {
-                DEBUG_ERR("index parameter invalid");
-                res = XA_RESULT_PARAMETER_INVALID;
-                }
-            else
-                { /* internal format used by pipeline, look camera context for details  */
-                *pColorFormats = XA_COLORFORMAT_YUV420PLANAR;
-                }
-            }
-        }
-    else
-        {
-        *pIndex = 0;
-        }
-
-    DEBUG_API("<-XACapabilitiesMgr_QueryColorFormats");
-    return res;
-    }
-
-/* Add AudioInputDeviceCaps */
-XAresult XACapabilitiesMgr_GetAudioInputDeviceCapabilities(
-        XACapabilities** ppNode)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities *newNode = NULL;
-    XAAudioInputDescriptor *entries = NULL;
-    XAchar micDeviceName[] = "Default Mic";
-    int strLen = 0;
-
-    newNode = (XACapabilities *) calloc(1, sizeof(XACapabilities));
-    if (!newNode)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        return res;
-        }
-
-    newNode->capsType = AUD_I;
-    newNode->xaid = 0xAD7E5001;
-    newNode->noOfEntries = 1;
-
-    /* Allocate array */
-    entries = (XAAudioInputDescriptor*) calloc(1,
-            sizeof(XAAudioInputDescriptor));
-    if (!entries)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-
-    newNode->pEntry = (void*) entries;
-
-    strLen = strlen((char*) micDeviceName);
-    entries->deviceName = (XAchar *) calloc(strLen + 1, sizeof(XAchar));
-    if (!entries->deviceName)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-
-    strncpy((char*) entries->deviceName, (char*) micDeviceName, strLen);
-    entries->deviceName[strLen] = '\0'; /*Null terminate it*/
-    entries->deviceConnection = XA_DEVCONNECTION_INTEGRATED;
-    entries->deviceScope = XA_DEVSCOPE_ENVIRONMENT;
-    entries->deviceLocation = XA_DEVLOCATION_HANDSET;
-    entries->isForTelephony = XA_BOOLEAN_FALSE;
-    entries->minSampleRate = 8000000; /* milliHz */
-    entries->maxSampleRate = 96000000; /* milliHz */
-    entries->isFreqRangeContinuous = XA_BOOLEAN_FALSE;
-    entries->numOfSamplingRatesSupported = 12;
-    entries->samplingRatesSupported = (XAmilliHertz*) calloc(
-            entries->numOfSamplingRatesSupported, sizeof(XAmilliHertz));
-    if (!entries->samplingRatesSupported)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-    /* entries in milliHz */
-    entries->samplingRatesSupported[0] = 8000000;
-    entries->samplingRatesSupported[1] = 11025000;
-    entries->samplingRatesSupported[2] = 12000000;
-    entries->samplingRatesSupported[3] = 16000000;
-    entries->samplingRatesSupported[4] = 22050000;
-    entries->samplingRatesSupported[5] = 24000000;
-    entries->samplingRatesSupported[6] = 32000000;
-    entries->samplingRatesSupported[7] = 44100000;
-    entries->samplingRatesSupported[8] = 48000000;
-    entries->samplingRatesSupported[9] = 64000000;
-    entries->samplingRatesSupported[10] = 88200000;
-    entries->samplingRatesSupported[11] = 96000000;
-    entries->maxChannels = 2;
-
-    newNode->pEntry = (void*) entries;
-
-    *ppNode = newNode;
-    return res;
-    }
-
-XAresult XACapabilitiesMgr_GetAudioOutputDeviceCapabilities(
-        XACapabilities **ppNode)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities *newNode = NULL;
-    XAAudioOutputDescriptor *entries = NULL;
-    XAchar outputDeviceName[] = "Default Speaker";
-    int strLen = 0;
-
-    newNode = (XACapabilities *) calloc(1, sizeof(XACapabilities));
-    if (!newNode)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        return res;
-        }
-
-    newNode->capsType = AUD_O;
-    newNode->xaid = 0xAD7E5002;
-    newNode->noOfEntries = 1;
-
-    /* Allocate array */
-    entries = (XAAudioOutputDescriptor*) calloc(1,
-            sizeof(XAAudioOutputDescriptor));
-    if (!entries)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-
-    newNode->pEntry = (void*) entries;
-
-    strLen = strlen((char*) outputDeviceName);
-    entries->pDeviceName = (XAchar *) calloc(strLen + 1, sizeof(XAchar));
-    if (!entries->pDeviceName)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-    strncpy((char*) entries->pDeviceName, (char*) outputDeviceName, strLen);
-    entries->pDeviceName[strLen] = '\0'; /*Null terminate it*/
-    entries->deviceConnection = XA_DEVCONNECTION_INTEGRATED;
-    entries->deviceScope = XA_DEVSCOPE_ENVIRONMENT;
-    entries->deviceLocation = XA_DEVLOCATION_HANDSET;
-    entries->isForTelephony = XA_BOOLEAN_FALSE;
-    entries->minSampleRate = 8000000; /* milliHz */
-    entries->maxSampleRate = 96000000; /* milliHz */
-    entries->isFreqRangeContinuous = XA_BOOLEAN_FALSE;
-    entries->numOfSamplingRatesSupported = 12;
-    entries->samplingRatesSupported = (XAmilliHertz*) calloc(
-            entries->numOfSamplingRatesSupported, sizeof(XAmilliHertz));
-    if (!entries->samplingRatesSupported)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-    /* entries in milliHz */
-    entries->samplingRatesSupported[0] = 8000000;
-    entries->samplingRatesSupported[1] = 11025000;
-    entries->samplingRatesSupported[2] = 12000000;
-    entries->samplingRatesSupported[3] = 16000000;
-    entries->samplingRatesSupported[4] = 22050000;
-    entries->samplingRatesSupported[5] = 24000000;
-    entries->samplingRatesSupported[6] = 32000000;
-    entries->samplingRatesSupported[7] = 44100000;
-    entries->samplingRatesSupported[8] = 48000000;
-    entries->samplingRatesSupported[9] = 64000000;
-    entries->samplingRatesSupported[10] = 88200000;
-    entries->samplingRatesSupported[11] = 96000000;
-    entries->maxChannels = 2;
-
-    newNode->pEntry = (void*) entries;
-
-    *ppNode = newNode;
-    return res;
-    }
-
--- a/khronosfws/openmax_al/src/adptcommon/xacapabilitiesmgr.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Header File
- *
- */
-
-#ifndef XACAPABILITIESMGR_H
-#define XACAPABILITIESMGR_H
-
-#include "xaframeworkmgr.h"
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-
-#define AUD_D (XACAP_DECODER|XACAP_AUDIO)
-#define AUD_E (XACAP_ENCODER|XACAP_AUDIO)
-#define VID_D (XACAP_DECODER|XACAP_VIDEO)
-#define VID_E ((XACapsType)(XACAP_ENCODER|XACAP_VIDEO))
-#define IMG_D (XACAP_DECODER|XACAP_IMAGE)
-#define IMG_E ((XACapsType)(XACAP_ENCODER|XACAP_IMAGE))
-#define AUD_O ((XACapsType)(XACAP_DEVSNK|XACAP_AUDIO))
-#define AUD_I (XACAP_DEVSRC|XACAP_AUDIO)
-#define VID_O (XACAP_DEVSNK|XACAP_VIDEO)
-#define VID_I (XACAP_DEVSRC|XACAP_VIDEO)
-#define ANY 0x7FFFFFFF
-
-/* Structure to hold commonly used capabilities of codec/device.
- */
-typedef struct XACapabilities_ XACapabilities;
-
-struct XACapabilities_
-    {
-    XAuint32 capsType;
-    XAuint32 xaid;      /* OpenMAX id (e.g. XA_VIDEOCODEC macro) */
-    XAchar* adaptId;    /* Internal Adaptation Device IDs */
-    XAuint32 noOfEntries;
-    void* pEntry;
-
-    /*add if/when needed*/
-    XACapabilities* next;
-    };
-
-XAresult XACapabilitiesMgr_CreateCapabilitieList(FrameworkMap* frameworkMap,
-        XACapabilities** ppListHead);
-
-XAresult XACapabilitiesMgr_DeleteCapabilitieList(XACapabilities** ppListHead);
-
-XAresult XACapabilitiesMgr_GetCapsCount(XACapabilities* pListHead,
-        XACapsType filter, XAuint32* count);
-
-XAresult XACapabilitiesMgr_GetCapsById(XACapabilities* pListHead,
-        XACapsType filter, XAuint32 maxId, XACapabilities* data);
-
-XAresult XACapabilitiesMgr_GetCapsByIdx(XACapabilities* pListHead,
-        XACapsType filter, XAuint32 idx, XACapabilities* data);
-
-XAresult XACapabilitiesMgr_QueryColorFormats(XACapabilities* pListHead,
-        XAuint32* pIndex, XAuint32* pColorFormats);
-
-#endif /* XACAPABILITIESMGR_H */
--- a/khronosfws/openmax_al/src/adptcommon/xaframeworkmgr.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,551 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Framework Manager. Parses the CFG file
- *
- */
-
-#include <stdio.h>
-#include <string.h>
-#include "xaframeworkmgr.h"
-
-/* Default line width permitted in the cfg file + 2 to hold "\r\n"*/
-#define LINEWIDTH 82
-
-typedef enum
-    {
-    FWMgrTagNone,
-    FWMgrTagURIScheme,
-    FWMgrTagFileExt
-    } FWMgrTagType;
-
-/* Config file location */
-const char configFileLocationZ[] = "z:/openmaxal/openmaxal.cfg";
-const char configFileLocationC[] = "c:/openmaxal/openmaxal.cfg";
-
-/* Tags used for parsing */
-const char mediaPlayerBeginTag[] = "<mediaplayer>";
-const char mediaPlayerEndTag[] = "</mediaplayer>";
-const char mediaRecorderBeginTag[] = "<mediarecorder>";
-const char mediaRecorderEndTag[] = "</mediarecorder>";
-const char mediaFrameworkMmfBeginTag[] = "<mmf>";
-const char mediaFrameworkMmfEndTag[] = "</mmf>";
-const char mediaFrameworkGstBeginTag[] = "<gst>";
-const char uriSchemeBeginTag[] = "<urischeme>";
-const char uriSchemeEndTag[] = "</urischeme>";
-const char mediaFrameworkGstEndTag[] = "</gst>";
-const char fileExtBeginTag[] = "<fileext>";
-const char fileExtEndTag[] = "</fileext>";
-
-/* Local function definitions */
-/* returns FWMgrTrue if processed successfully */
-static FWMgrBool processConfigEntry(const char* buffer,
-        FWMgrMOType *mediaType, FWMgrFwType *frameworkType,
-        FWMgrTagType *tagType, FWMgrBool *newNode, FrameworkMap **node);
-
-/* returns FWMgrTrue if processed successfully */
-static FWMgrBool processTagType(const char* buffer,
-        FWMgrFwType *frameworkType, FWMgrTagType *tagType,
-        FrameworkMap **node);
-
-/* returns FWMgrTrue if processed successfully */
-static FWMgrBool tokenizeTag(FWMgrTagType tagType, const char* buffer,
-        FrameworkMap **node);
-
-/* Global functions from header file */
-
-/* FrameworkMap* XAFrameworkMgr_CreateFrameworkMap
- * Description: Creates a list of framework and use-case map.
- */
-FrameworkMap* XAFrameworkMgr_CreateFrameworkMap()
-    {
-    char buffer[LINEWIDTH];
-    int readSize;
-    int lineNumber = 0;
-    FWMgrBool processedEntry = FWMgrTrue;
-    FWMgrMOType currentMediaType = FWMgrMOUnknown;
-    FWMgrFwType currentFrameworkType = FWMgrFWUknown;
-    FWMgrTagType currentTagType = FWMgrTagNone;
-    FrameworkMap *curNode = NULL;
-    FWMgrBool newNode;
-    FrameworkMap *frameworkMap = NULL;
-
-    FILE* fp = fopen(configFileLocationC, "r");
-    if (fp == NULL)
-        {
-        fp = fopen(configFileLocationZ, "r");
-        }
-
-    if (fp != NULL)
-        {
-        while ((fgets(buffer, LINEWIDTH, fp) != NULL) && processedEntry)
-            {
-            /* keep looping until NULL pointer OR error... */
-            lineNumber++;
-            readSize = strlen(buffer);
-            /* Ignore comments line */
-            if (buffer[0] == '#')
-                continue;
-
-            /* Ignore replace "\r\n" with '\0' */
-            if ((readSize >= 2) && (buffer[readSize - 2] == '\r')
-                    && (buffer[readSize - 1] == '\n'))
-                buffer[readSize - 2] = '\0';
-
-            /* Ignore new line... */
-            if (readSize == 2)
-                continue;
-
-            processedEntry = processConfigEntry(buffer, &currentMediaType,
-                    &currentFrameworkType, &currentTagType, &newNode,
-                    &curNode);
-            if (newNode)
-                {
-                /*Just link to the last element in the chain*/
-                if (!frameworkMap)
-                    {
-                    frameworkMap = curNode;
-                    }
-                else
-                    {
-                    FrameworkMap *lastNode = frameworkMap;
-                    while (lastNode->next)
-                        {
-                        lastNode = lastNode->next;
-                        }
-                    lastNode->next = curNode;
-                    }
-                }
-            }
-        fclose(fp);
-        }
-    else
-        {
-        printf("unable to open config file!\n");
-        }
-    return frameworkMap;
-    }
-
-#ifdef _DEBUG
-/* void XAFrameworkMgr_DumpFrameworkMap
- * Description: Prints map to std console.
- */
-void XAFrameworkMgr_DumpFrameworkMap(FrameworkMap *map)
-    {
-    FrameworkMap *node = map;
-    int i;
-    int loopIndex = 0;
-    while (node)
-        {
-        loopIndex++;
-        printf("%d>", loopIndex);
-        if (node->moType == FWMgrMOPlayer)
-            printf("MediaPlayer-");
-        else if (node->moType == FWMgrMORecorder)
-            printf("MediaRecrdr-");
-        else
-            printf("UKNOWN-");
-        if (node->fwType == FWMgrFWMMF)
-            printf("MMF-");
-        else if (node->fwType == FWMgrFWGST)
-            printf("GST-");
-        else
-            printf("UKNOWN-");
-        printf("Scheme[");
-        for (i = 0; i < node->uriSchemeCount; i++)
-            printf(" %s", node->uriSchemes[i]);
-        printf("]FileExt[");
-        for (i = 0; i < node->fileExtCount; i++)
-            printf(" %s", node->fileExts[i]);
-        printf("]\n");
-        node = node->next;
-        }
-    }
-#endif
-
-/* void XAFrameworkMgr_DeleteFrameworkMap
- * Description: Deletes the list of framework and use-case map.
- */
-void XAFrameworkMgr_DeleteFrameworkMap(FrameworkMap **map)
-    {
-    FrameworkMap *node = *map;
-    FrameworkMap *nextNode = NULL;
-    int i;
-    while (node)
-        {
-        for (i = 0; i < node->uriSchemeCount; i++)
-            free(node->uriSchemes[i]);
-        free(node->uriSchemes);
-
-        for (i = 0; i < node->fileExtCount; i++)
-            free(node->fileExts[i]);
-        free(node->fileExts);
-
-        nextNode = node->next;
-        free(node);
-        node = nextNode;
-        }
-    *map = NULL;
-    }
-
-/* FWMgrFwType XAFrameworkMgr_GetFramework
- * Description: Returns the framework enum that handles uri.
- */
-FWMgrFwType XAFrameworkMgr_GetFramework(FrameworkMap *map, const char *uri,
-        FWMgrMOType mediaObject)
-    {
-    FWMgrFwType retVal = FWMgrFWUknown;
-    char fileScheme[] = "file";
-    char *uriScheme = NULL;
-    char *fileExt = NULL;
-    FrameworkMap *node = map;
-    FWMgrBool uriMatchFound = FWMgrFalse;
-    FWMgrBool fileExtMatchFound = FWMgrFalse;
-    int i = 0;
-    int copyLen = 0;
-
-    if (!map || !uri)
-        {
-        /* TODO Log invalid uri */
-        return retVal;
-        }
-
-    /* Get uri scheme */
-    uriScheme = strchr(uri, ':');
-    if (uriScheme == NULL)
-        {
-        /* TODO Log invalid uri */
-        return retVal;
-        }
-
-    copyLen = (uriScheme - uri);
-    uriScheme = (char*) calloc(copyLen + 1, sizeof(char));
-    strncpy(uriScheme, uri, copyLen);
-    uriScheme[copyLen] = '\0'; /*Null terminate it*/
-
-    if (strcasecmp(uriScheme, fileScheme) == 0)
-        {
-        /* Get uri extension */
-        char* dotLoc = strrchr(uri, '.');
-        if (dotLoc == NULL)
-            {
-            /* TODO Log invalid uri */
-            free(uriScheme);
-            return retVal;
-            }
-        /* We need to add 1 to exclude '.'*/
-        copyLen = strlen(uri) - (dotLoc + 1 - uri);
-        fileExt = (char*) calloc(copyLen + 1, sizeof(char));
-        strncpy(fileExt, dotLoc + 1, copyLen);
-        fileExt[copyLen] = '\0'; /*Null terminate it*/
-        }
-
-    while (node)
-        {
-        if (mediaObject == node->moType)
-            {
-            uriMatchFound = FWMgrFalse;
-            fileExtMatchFound = FWMgrFalse;
-            /* Match for uri*/
-            for (i = 0; i < node->uriSchemeCount; i++)
-                {
-                if (strcasecmp(uriScheme, node->uriSchemes[i]) == 0)
-                    {
-                    uriMatchFound = FWMgrTrue;
-                    break;
-                    }
-                }
-            /* if uri scheme is not file, we only need to check for uri */
-            if (!fileExt)
-                {
-                fileExtMatchFound = FWMgrTrue;
-                }
-            else
-                {
-                for (i = 0; i < node->fileExtCount; i++)
-                    {
-                    if (strcasecmp(fileExt, node->fileExts[i]) == 0)
-                        {
-                        fileExtMatchFound = FWMgrTrue;
-                        break;
-                        }
-                    }
-                }
-
-            if ((uriMatchFound == FWMgrTrue) && (fileExtMatchFound
-                    == FWMgrTrue))
-                {
-                retVal = node->fwType;
-                break;
-                }
-            }
-        node = node->next;
-        }
-    free(uriScheme);
-    free(fileExt);
-    return retVal;
-    }
-
-/* Local functions */
-
-/* FWMgrBool processConfigEntry
- * Description: Processes a single line entry from the config file.
- */
-FWMgrBool processConfigEntry(const char* buffer, FWMgrMOType *mediaType,
-        FWMgrFwType *frameworkType, FWMgrTagType *tagType,
-        FWMgrBool *newNode, FrameworkMap **node)
-    {
-    FWMgrBool processedSuccessfully = FWMgrTrue;
-
-    if (!buffer || !mediaType || !frameworkType || !tagType || !newNode)
-        {
-        processedSuccessfully = FWMgrFalse;
-        return processedSuccessfully;
-        }
-
-	*newNode = FWMgrFalse;
-    switch (*mediaType)
-        {
-        case FWMgrMOUnknown:
-            {
-            if (strcmp(buffer, mediaPlayerBeginTag) == 0)
-                {
-                *mediaType = FWMgrMOPlayer;
-                *frameworkType = FWMgrFWUknown;
-                *tagType = FWMgrTagNone;
-                *node = NULL;
-                }
-            else if (strcmp(buffer, mediaRecorderBeginTag) == 0)
-                {
-                *mediaType = FWMgrMORecorder;
-                *frameworkType = FWMgrFWUknown;
-                *tagType = FWMgrTagNone;
-                *node = NULL;
-                }
-            }
-            break;
-        case FWMgrMOPlayer:
-        case FWMgrMORecorder:
-            {
-            switch (*frameworkType)
-                {
-                case FWMgrFWUknown:
-                    {
-                    if ((*mediaType == FWMgrMOPlayer) && (strcmp(buffer,
-                            mediaPlayerEndTag) == 0))
-                        *mediaType = FWMgrMOUnknown;
-                    else if ((*mediaType == FWMgrMORecorder) && (strcmp(
-                            buffer, mediaRecorderEndTag) == 0))
-                        *mediaType = FWMgrMOUnknown;
-                    else if ((strcmp(buffer, mediaFrameworkMmfBeginTag) == 0)
-                            || (strcmp(buffer, mediaFrameworkGstBeginTag)
-                                    == 0))
-                        {
-
-                        *frameworkType = FWMgrFWMMF;
-                        if (strcmp(buffer, mediaFrameworkGstBeginTag) == 0)
-                            *frameworkType = FWMgrFWGST;
-                        if (*node)
-                            {
-                            printf(
-                                    "Fatal error error. Entry already exists and creating another one!!!");
-                            processedSuccessfully = FWMgrFalse;
-                            }
-                        else
-                            {
-                            *node = (FrameworkMap*) calloc(1,
-                                    sizeof(FrameworkMap));
-                            if (!(*node))
-                                {
-                                printf(
-                                        "Fatal error. No memory to create an Entry!!!");
-                                processedSuccessfully = FWMgrFalse;
-                                }
-                            else
-                                {
-                                *newNode = FWMgrTrue;
-                                (*node)->moType = *mediaType;
-                                (*node)->fwType = *frameworkType;
-                                }
-                            }
-                        }
-                    }
-                    break;
-                case FWMgrFWMMF:
-                    {
-                    processedSuccessfully = processTagType(buffer,
-                            frameworkType, tagType, node);
-                    }
-                    break;
-                case FWMgrFWGST:
-                    {
-                    processedSuccessfully = processTagType(buffer,
-                            frameworkType, tagType, node);
-                    }
-                    break;
-                default:
-                    processedSuccessfully = FWMgrFalse;
-                    break;
-                };
-            }
-            break;
-        default:
-            processedSuccessfully = FWMgrFalse;
-            break;
-        };
-    return processedSuccessfully;
-    }
-
-/* FWMgrBool processTagType
- * Description: Processes a framework type, uri, file tags entry from 
- * the config file.
- */
-FWMgrBool processTagType(const char* buffer, FWMgrFwType *frameworkType,
-        FWMgrTagType *tagType, FrameworkMap **node)
-    {
-    FWMgrBool processedSuccessfully = FWMgrTrue;
-
-    if (!buffer || !frameworkType || !tagType || (*node == NULL))
-        {
-        processedSuccessfully = FWMgrFalse;
-        return processedSuccessfully;
-        }
-
-    switch (*tagType)
-        {
-        case FWMgrTagNone:
-            {
-            if (((*frameworkType == FWMgrFWMMF) && (strcmp(buffer,
-                    mediaFrameworkMmfEndTag) == 0)) || ((*frameworkType
-                    == FWMgrFWGST)
-                    && (strcmp(buffer, mediaFrameworkGstEndTag) == 0)))
-                {
-                *node = NULL;
-                *frameworkType = FWMgrFWUknown;
-                }
-            else if (strcmp(buffer, uriSchemeBeginTag) == 0)
-                *tagType = FWMgrTagURIScheme;
-            else if (strcmp(buffer, fileExtBeginTag) == 0)
-                *tagType = FWMgrTagFileExt;
-            }
-            break;
-        case FWMgrTagURIScheme:
-            {
-            if (strcmp(buffer, uriSchemeEndTag) == 0)
-                *tagType = FWMgrTagNone;
-            else
-                {
-                processedSuccessfully = FWMgrFalse;
-                if (*node)
-                    processedSuccessfully = tokenizeTag(FWMgrTagURIScheme,
-                            buffer, node);
-                }
-            }
-            break;
-        case FWMgrTagFileExt:
-            {
-            if (strcmp(buffer, fileExtEndTag) == 0)
-                *tagType = FWMgrTagNone;
-            else
-                {
-                processedSuccessfully = FWMgrFalse;
-                if (*node)
-                    processedSuccessfully = tokenizeTag(FWMgrTagFileExt,
-                            buffer, node);
-                }
-            }
-            break;
-        default:
-            processedSuccessfully = FWMgrFalse;
-            break;
-        };
-    return processedSuccessfully;
-    }
-
-/* FWMgrBool processTagType
- * Description: Processes a framework type, uri, file tags entry from 
- * the config file.
- */
-FWMgrBool tokenizeTag(FWMgrTagType tagType, const char* buffer,
-        FrameworkMap **node)
-    {
-    char* tempStartPtr;
-    char* tempEndPtr;
-    int index = 0;
-    int strLen = 0;
-
-    if (!buffer || (*node == NULL))
-        {
-        return FWMgrFalse;
-        }
-
-    tempStartPtr = /*const_cast<char*>*/(char*) (buffer);
-    tempEndPtr = /*const_cast<char*>*/(char*) (buffer);
-
-    if (tagType == FWMgrTagURIScheme)
-        {
-        (*node)->uriSchemeCount = atoi(buffer);
-        (*node)->uriSchemes = (char**) calloc((*node)->uriSchemeCount,
-                sizeof(*((*node)->uriSchemes)));
-        if (!(*node)->uriSchemes)
-            {
-            printf("Fatal error. No memory to create an Entry!!!");
-            return FWMgrFalse;
-            }
-        }
-    else if (tagType == FWMgrTagFileExt)
-        {
-        (*node)->fileExtCount = atoi(buffer);
-        (*node)->fileExts = (char**) calloc((*node)->fileExtCount,
-                sizeof(*((*node)->fileExts)));
-        if (!(*node)->fileExts)
-            {
-            printf("Fatal error. No memory to create an Entry!!!");
-            return FWMgrFalse;
-            }
-        }
-    else
-        return FWMgrFalse;
-
-    /*Find the index of :*/
-    tempStartPtr = strchr(tempStartPtr, ',');
-    index = 0;
-    while (tempStartPtr && (strlen(tempStartPtr) > 1))
-        {
-        tempStartPtr++; /* Ignore separator ','*/
-        tempEndPtr = strchr(tempStartPtr, ',');
-        strLen = (tempEndPtr - tempStartPtr) + 1; /* To hold null terminator */
-        if (strLen > 0)
-            {
-            if (tagType == FWMgrTagURIScheme)
-                {
-                (*node)->uriSchemes[index] = (char*) calloc(strLen,
-                        sizeof(char));
-                strncpy((*node)->uriSchemes[index], tempStartPtr, strLen);
-                (*node)->uriSchemes[index][strLen - 1] = '\0'; /*Null terminate it*/
-                index++;
-                }
-            else if (tagType == FWMgrTagFileExt)
-                {
-                (*node)->fileExts[index] = (char*) calloc(strLen,
-                        sizeof(char));
-                strncpy((*node)->fileExts[index], tempStartPtr, strLen);
-                (*node)->fileExts[index][strLen - 1] = '\0'; /*Null terminate it*/
-                index++;
-                }
-            }
-        tempStartPtr = tempEndPtr;
-        }
-    return FWMgrTrue;
-    }
-	
--- a/khronosfws/openmax_al/src/adptcommon/xaframeworkmgr.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Header File for Framework Manager
- *
- */
-
-#ifndef XAFRAMEWORKMANAGER_H
-#define XAFRAMEWORKMANAGER_H
-
-#include <stdlib.h>
-
-typedef enum
-    {
-    FWMgrMOUnknown,
-    FWMgrMOPlayer,
-    FWMgrMORecorder
-    } FWMgrMOType;
-
-typedef enum
-    {
-    FWMgrFWUknown,
-    FWMgrFWMMF,
-    FWMgrFWGST
-    } FWMgrFwType;
-
-typedef enum
-    {
-    FWMgrFalse,
-    FWMgrTrue
-    } FWMgrBool;
-
-typedef struct FrameworkMap_ FrameworkMap;
-
-struct FrameworkMap_
-    {
-    FWMgrMOType moType;
-    int uriSchemeCount;
-    char **uriSchemes;
-    int fileExtCount;
-    char **fileExts;
-    FWMgrFwType fwType;
-    FrameworkMap *next;
-    };
-
-FrameworkMap* XAFrameworkMgr_CreateFrameworkMap(void);
-#ifdef _DEBUG
-void XAFrameworkMgr_DumpFrameworkMap(FrameworkMap *map);
-#endif
-void XAFrameworkMgr_DeleteFrameworkMap(FrameworkMap **map);
-
-FWMgrFwType XAFrameworkMgr_GetFramework(FrameworkMap *map, const char *uri,
-        FWMgrMOType mediaObject);
-
-#endif //XAFRAMEWORKMANAGER_H
--- a/khronosfws/openmax_al/src/common/openmaxal.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:  Entry Point to the OpenMAX AL Core from the Client 
- *               Application. Implementation of the OpenMAX AL Global
- *               Functions.
- *              
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "openmaxalwrapper.h"
-#include "openmaxal_iid.c"
-#include "xanokialinearvolume_iid.c"
-#include "xanokiavolumeext_iid.c"
-
-#include "xaglobals.h"
-#include "xaobjects.h"
-
-EXPORT_C XAresult XAAPIENTRY xaCreateEngine(XAObjectItf *pEngine,
-        XAuint32 numOptions, const XAEngineOption *pEngineOptions,
-        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-    XAresult ret;
-    DEBUG_API("->xaCreateEngine");
-    ret = XAEngineImpl_Create(pEngine, numOptions, pEngineOptions,
-            numInterfaces, pInterfaceIds, pInterfaceRequired);
-    DEBUG_API_A1("<-xaCreateEngine: 0x%x",(int)ret);
-    return ret;
-    }
-
-EXPORT_C XAresult XAAPIENTRY xaQueryNumSupportedEngineInterfaces(
-        XAuint32 *pNumSupportedInterfaces)
-    {
-    XAresult ret;
-    DEBUG_API("->xaQueryNumSupportedEngineInterfaces");
-    ret = XAEngineImpl_QueryNumSupportedInterfaces(pNumSupportedInterfaces);
-    DEBUG_API_A1("<-xaQueryNumSupportedEngineInterfaces: 0x%x",(int)ret);
-    return ret;
-    }
-
-EXPORT_C XAresult XAAPIENTRY xaQuerySupportedEngineInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId)
-    {
-    XAresult ret;
-    DEBUG_API("->xaQuerySupportedEngineInterfaces");
-    ret = XAEngineImpl_QuerySupportedInterfaces(index, pInterfaceId);
-    DEBUG_API_A1("<-xaQuerySupportedEngineInterfaces: 0x%x",(int)ret);
-    return ret;
-    }
--- a/khronosfws/openmax_al/src/common/xacommon.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,335 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Common Openmax AL utility functions
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <stdarg.h>
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaengine.h"
-/*
- *  compare two XAInterfaceIDs, return true if same
- */
-XAboolean XACommon_EqualIIds(XAInterfaceID idA, XAInterfaceID idB)
-    {
-    XAboolean nodeOk;
-    XAuint16 nodeIdx;
-    if (idA == idB)
-        return XA_BOOLEAN_TRUE;
-    if (!idA || !idB)
-        return XA_BOOLEAN_FALSE;
-    if (idA->time_low == idB->time_low && idA->time_mid == idB->time_mid
-            && idA->time_hi_and_version == idB->time_hi_and_version
-            && idA->clock_seq == idB->clock_seq)
-        {
-        nodeOk = XA_BOOLEAN_TRUE;
-        for (nodeIdx = 0; nodeIdx < sizeof(idA->node); nodeIdx++)
-            {
-            if (idA->node[nodeIdx] != idB->node[nodeIdx])
-                {
-                nodeOk = XA_BOOLEAN_FALSE;
-                break;
-                }
-            }
-        if (nodeOk)
-            {
-            return XA_BOOLEAN_TRUE;
-            }
-        }
-    return XA_BOOLEAN_FALSE;
-    }
-
-/* Check source availability and content type. Return error only if we are sure
- * content is not valid, otherwise let adaptation try to identify and use content.
- * @param type: on return, contains content type, if known.
- * @return Success code
- */
-XAresult XACommon_CheckDataSource(XADataSource* source, XAMediaType* type)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAchar* fname = NULL;
-    XAchar* mime = NULL;
-    XAboolean isLocal = XA_BOOLEAN_FALSE;
-
-    if (!source || !source->pLocator)
-        {
-        DEBUG_ERR("Invalid XADataSource structure!!");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* check URI availability */
-    if (*(XAuint32*) (source->pLocator) == XA_DATALOCATOR_URI)
-        {
-        fname = (XAchar*) ((XADataLocator_URI*) (source->pLocator))->URI;
-        /* check protocol prefix */
-        if (strstr((char*) fname, "://"))
-            {
-            if (strncmp((char*) fname, "file:///", 8) == 0)
-                {
-                isLocal = XA_BOOLEAN_TRUE;
-                fname += 8;
-                }
-            else
-                { /* add support for other protocols if needed */
-                isLocal = XA_BOOLEAN_FALSE;
-                }
-            }
-        else
-            {
-            isLocal = XA_BOOLEAN_TRUE;
-            }
-        if (isLocal)
-            {
-            FILE* file = fopen((char*) fname, "r");
-            if (!file)
-                {
-                DEBUG_INFO_A1("%s not found from filesystem", fname);
-                ret = XA_RESULT_CONTENT_NOT_FOUND;
-                }
-            else
-                {
-                fclose(file);
-                }
-            }
-        }
-
-    /* check content type */
-    if (type)
-        {
-        if (source->pFormat)
-            {
-            switch (*(XAuint32*) source->pFormat)
-                {
-                case XA_DATAFORMAT_MIME:
-                    {
-                    /* try to parse mimetype first */
-                    mime = ((XADataFormat_MIME*) (source->pFormat))->mimeType;
-                    if (mime && (strncmp((char*) mime, "audio", 5) == 0))
-                        {
-                        *type = XA_MEDIATYPE_AUDIO;
-                        }
-                    else if (mime && (strncmp((char*) mime, "video", 5) == 0))
-                        {
-                        *type = XA_MEDIATYPE_VIDEO;
-                        }
-                    else if (mime && (strncmp((char*) mime, "image", 5) == 0))
-                        {
-                        *type = XA_MEDIATYPE_IMAGE;
-                        }
-                    else
-                        {
-                        /* try to parse containertype next */
-                        switch (((XADataFormat_MIME*) (source->pFormat))->containerType)
-                            {
-                            case XA_CONTAINERTYPE_M4A:
-                            case XA_CONTAINERTYPE_MP3:
-                            case XA_CONTAINERTYPE_WAV:
-                            case XA_CONTAINERTYPE_XMF_0:
-                            case XA_CONTAINERTYPE_XMF_1:
-                            case XA_CONTAINERTYPE_XMF_2:
-                            case XA_CONTAINERTYPE_XMF_3:
-                            case XA_CONTAINERTYPE_XMF_GENERIC:
-                            case XA_CONTAINERTYPE_AMR:
-                            case XA_CONTAINERTYPE_AAC:
-                            case XA_CONTAINERTYPE_3GA:
-                            case XA_CONTAINERTYPE_DMF:
-                            case XA_CONTAINERTYPE_SMF:
-                            case XA_CONTAINERTYPE_MOBILE_DLS:
-                                *type = XA_MEDIATYPE_AUDIO;
-                                break;
-
-                            case XA_CONTAINERTYPE_ASF:
-                            case XA_CONTAINERTYPE_AVI:
-                            case XA_CONTAINERTYPE_MP4:
-                            case XA_CONTAINERTYPE_MPEG_ES:
-                            case XA_CONTAINERTYPE_MPEG_PS:
-                            case XA_CONTAINERTYPE_MPEG_TS:
-                            case XA_CONTAINERTYPE_QT:
-                            case XA_CONTAINERTYPE_3GPP:
-                            case XA_CONTAINERTYPE_RM:
-                                *type = XA_MEDIATYPE_VIDEO;
-                                break;
-
-                            case XA_CONTAINERTYPE_BMP:
-                            case XA_CONTAINERTYPE_JPG:
-                            case XA_CONTAINERTYPE_JPG2000:
-                                *type = XA_MEDIATYPE_IMAGE;
-                                break;
-
-                            case XA_CONTAINERTYPE_RAW:
-                            case XA_CONTAINERTYPE_UNSPECIFIED:
-                            default:
-                                *type = XA_MEDIATYPE_UNKNOWN;
-                                break;
-                            }
-                        }
-                    }
-                    break;
-
-                case XA_DATAFORMAT_PCM:
-                    *type = XA_MEDIATYPE_AUDIO;
-                    break;
-
-                case XA_DATAFORMAT_RAWIMAGE:
-                    *type = XA_MEDIATYPE_IMAGE;
-                    break;
-
-                default:
-                    *type = XA_MEDIATYPE_UNKNOWN;
-                    DEBUG_INFO("Warning: unknown dataformat")
-                    ;
-                    break;
-                }
-            }
-        else
-            {
-            DEBUG_ERR("Warning: no data format set");
-            *type = XA_MEDIATYPE_UNKNOWN;
-            }
-
-        /* Expand this list if add new supported media type */
-        /* If media type unknow check it from file extension */
-        if (*type == XA_MEDIATYPE_UNKNOWN && fname)
-            {
-            if ((strstr((char*) fname, ".wav")) || (strstr((char*) fname,
-                    ".mid")) || (strstr((char*) fname, ".amr")))
-                {
-                *type = XA_MEDIATYPE_AUDIO;
-                }
-            if ((strstr((char*) fname, ".avi")) || (strstr((char*) fname,
-                    ".ogg")))
-                {
-
-                }
-            if (strstr((char*) fname, ".jpg"))
-                {
-                *type = XA_MEDIATYPE_IMAGE;
-                }
-            }
-        }
-    return ret;
-    }
-
-/* Validate XADataSink and XADataSrc object creation parameters.
- * @return Success code
- */
-XAresult XACommon_ValidateDataLocator(XAuint32 pCounter, void* pSnk, ...)
-    {
-    va_list argptr;
-    XAuint32 counter = 0;
-    XADataLocator_URI* uri = NULL;
-    XADataLocator_NativeDisplay* display = NULL;
-    XADataLocator_OutputMix* omix = NULL;
-    XADataLocator_Address* address = NULL;
-    XADataLocator_IODevice* iodevice = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-    XADataSink* xaSnk = NULL;
-    DEBUG_API("->XACommon_ValidateDataLocator");
-
-    xaSnk = (XADataSink*) pSnk;
-
-    /* Initialize variable arguments. */
-    va_start (argptr, pSnk);
-    while (counter < pCounter)
-        {
-        if (counter > 0)
-            {
-            /*XADataSink and XADataSrc are equivalent, use XADataSink for both*/
-xaSnk            = va_arg(argptr, XADataSink*);
-            }
-        if( !xaSnk )
-            { /*NULL sinks/sources are possible, not checked here*/
-            counter++;
-            continue;
-            }
-        else if( !xaSnk->pLocator )
-            {
-            DEBUG_ERR_A1("NULL XADataLocator in parameter %d",(int)counter);
-            ret = XA_RESULT_PARAMETER_INVALID;
-            va_end(argptr);
-            DEBUG_API("<-XACommon_ValidateDataLocator");
-            return ret;
-            }
-        switch ( *(XAuint32*)(xaSnk->pLocator) )
-            {
-            case XA_DEFAULTDEVICEID_AUDIOOUTPUT:
-            DEBUG_INFO("XA_DEFAULTDEVICEID_AUDIOOUTPUT");
-            uri = (XADataLocator_URI*)xaSnk->pLocator;
-            break;
-            case XA_DATALOCATOR_URI:
-            DEBUG_INFO("XA_DATALOCATOR_URI");
-            uri = (XADataLocator_URI*)xaSnk->pLocator;
-            if( !uri->URI && !xaSnk->pFormat )
-                {
-                DEBUG_ERR("Invalid parameter set for uri ");
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            break;
-            case XA_DATALOCATOR_NATIVEDISPLAY:
-            DEBUG_INFO("Sink locator type - XA_DATALOCATOR_NATIVEDISPLAY");
-            display = (XADataLocator_NativeDisplay*)(xaSnk->pLocator);
-            if( !display->hDisplay || !display->hWindow )
-                {
-                /*No action at this time*/
-                DEBUG_INFO("Warning - no display or window handle set");
-                }
-            break;
-            case XA_DATALOCATOR_OUTPUTMIX:
-            DEBUG_INFO("Sink locator type - XA_DATALOCATOR_OUTPUTMIX");
-                {
-                omix = (XADataLocator_OutputMix*)(xaSnk->pLocator);
-                if ( !omix->outputMix )
-                    {
-                    DEBUG_ERR("Invalid parameter set for outputmix");
-                    ret = XA_RESULT_PARAMETER_INVALID;
-                    }
-                }
-            break;
-            case XA_DATALOCATOR_ADDRESS:
-            DEBUG_INFO("XA_DATALOCATOR_ADDRESS");
-            address = (XADataLocator_Address*)(xaSnk->pLocator);
-            if( !address->pAddress && !xaSnk->pFormat )
-                {
-                DEBUG_ERR("Invalid parameter set for address");
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            break;
-            case XA_DATALOCATOR_IODEVICE:
-            DEBUG_INFO("XA_DATALOCATOR_IODEVICE");
-            iodevice = (XADataLocator_IODevice*)(xaSnk->pLocator);
-            if( iodevice->device )
-                {
-                DEBUG_INFO("Media object as IODevice");
-                }
-            else
-                {
-                DEBUG_INFO("Iodevice id used");
-                }
-            break;
-            default:
-            DEBUG_ERR("Incorrect data locator for sink.")
-            ret = XA_RESULT_PARAMETER_INVALID;
-            break;
-            }
-        counter ++;
-        }
-    va_end(argptr);
-    DEBUG_API("<-XACommon_ValidateDataLocator");
-    return ret;
-    }
--- a/khronosfws/openmax_al/src/common/xaconfigextensionsitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-#include "xaglobals.h"
-#include "xaconfigextensionsitf.h"
-
-static XAConfigExtensionsItfImpl* GetImpl(XAConfigExtensionsItf self)
-{
-    if( self )
-    {
-        XAConfigExtensionsItfImpl* impl = (XAConfigExtensionsItfImpl*)(*self);
-        if( impl && (impl == impl->self) )
-        {
-            return impl;
-        }
-    }
-    return NULL;
-}
-
-/**
- * Base interface XAConfigExtensionsItf implementation
- */
-XAresult XAConfigExtensionsItfImpl_SetConfiguration(
-                            XAConfigExtensionsItf self,
-                            const XAchar* configKey,
-                            XAuint32 valueSize,
-                            const void* pConfigValue)
-{
-    XAConfigExtensionsItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAConfigExtensionsItfImpl_SetConfiguration");
-    if( !impl || !configKey )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAConfigExtensionsItfImpl_SetConfiguration");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    if( strcmp((char *)configKey, CPCONFIGKEY) == 0
-        && pConfigValue )
-    {
-        XAuint8 numValue = *(XAuint8*)(pConfigValue);
-        impl->testbufferconf = numValue;
-        if( numValue>4 )
-        {   /* Conformance tester uses only reference-to-string values, try to parse string to integer
-             * First char is enough since legal values are 0 to 4
-             */
-            XAchar* chVal = *(XAchar**)(pConfigValue);
-            if(chVal)
-            {
-                impl->testbufferconf = *chVal;
-                numValue = (*chVal) - 48;
-            }
-            if( numValue>4 )
-            {
-                res = XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-        DEBUG_INFO_A1("CP conf value %d", numValue);
-        if(res == XA_RESULT_SUCCESS)
-        {
-
-            /*Inform adaptation*/
-            if( impl->ctx )
-            {
-/*                res = XAAdaptationBase_SetCPConfiguration(impl->ctx,impl->testbufferconf);*/
-            }
-
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Unknown key or invalid value pointer");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    DEBUG_API("<-XAConfigExtensionsItfImpl_SetConfiguration");
-    return res;
-}
-
-XAresult XAConfigExtensionsItfImpl_GetConfiguration(
-                            XAConfigExtensionsItf self,
-                            const XAchar* configKey,
-                            XAuint32* pValueSize,
-                            void* pConfigValue)
-{
-    XAConfigExtensionsItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAConfigExtensionsItfImpl_GetConfiguration");
-
-    if( !impl )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAConfigExtensionsItfImpl_SetConfiguration");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    if( strcmp((char *)configKey, CPCONFIGKEY) == 0
-            && pValueSize
-            && sizeof(XAuint8) <= *pValueSize
-            && pConfigValue )
-    {
-        memcpy(*(XAuint8**)pConfigValue, &(impl->testbufferconf),1);
-        *pValueSize = sizeof(XAuint8);
-        res = XA_RESULT_SUCCESS;
-    }
-    else
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    DEBUG_API("<-XAConfigExtensionsItfImpl_GetConfiguration");
-    return res;
-}
-
- 
-XAresult XAConfigExtensionsItfImpl_SetContext(XAConfigExtensionsItfImpl* self,XAAdaptationBaseCtx* adptctx)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAConfigExtensionsItfImpl_SetContext");
-    if( adptctx && self)
-    {
-        self->ctx = adptctx;
-        res = XA_RESULT_SUCCESS;
-    }
-    else
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    DEBUG_API("<-XAConfigExtensionsItfImpl_SetContext");
-    return res;
-    }
-
-/**
- * XAConfigExtensionsItfImpl -specific methods
- **/
-XAConfigExtensionsItfImpl* XAConfigExtensionsItfImpl_Create()
-{
-    XAConfigExtensionsItfImpl* self = (XAConfigExtensionsItfImpl*)
-        calloc(1,sizeof(XAConfigExtensionsItfImpl));
-    DEBUG_API("->XAConfigExtensionsItfImpl_Create");
-
-    if(self)
-    {
-        /* init itf default implementation */
-        self->itf.GetConfiguration =
-            XAConfigExtensionsItfImpl_GetConfiguration;
-        self->itf.SetConfiguration =
-            XAConfigExtensionsItfImpl_SetConfiguration;
-        /* init variables */
-        self->self = self;
-    }
-    DEBUG_API("<-XAConfigExtensionsItfImpl_Create");
-    return self;
-}
-
-void XAConfigExtensionsItfImpl_Free(XAConfigExtensionsItfImpl* self)
-{
-    DEBUG_API("->XAConfigExtensionsItfImpl_Free");
-    assert(self==self->self);
-    free(self);
-    DEBUG_API("<-XAConfigExtensionsItfImpl_Free");
-}
--- a/khronosfws/openmax_al/src/common/xaconfigextensionsitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef XACONFIGEXTENSIONSITF_H
-#define XACONFIGEXTENSIONSITF_H
-
-#include "xaadptbasectx.h"
-
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XAConfigExtensionsItf implementation */
-typedef struct XAConfigExtensionsItfImpl_
-{
-    /* parent interface */
-    struct XAConfigExtensionsItf_ itf;
-    /* pointer to self */
-    struct XAConfigExtensionsItfImpl_* self;
-    /* variables */
-    XAuint8 testbufferconf;
-   
-    /*Adaptation variables*/
-    XAAdaptationBaseCtx *ctx;
-  
-} XAConfigExtensionsItfImpl;
-
-/* Base interface XAConfigExtensionsItf implementation */
-XAresult XAConfigExtensionsItfImpl_SetConfiguration(
-                            XAConfigExtensionsItf self,
-                            const XAchar* configKey,
-                            XAuint32 valueSize,
-                            const void* pConfigValue);
-
-XAresult XAConfigExtensionsItfImpl_GetConfiguration(
-                            XAConfigExtensionsItf self,
-                            const XAchar* configKey,
-                            XAuint32* pValueSize,
-                            void* pConfigValue);
-
-XAresult XAConfigExtensionsItfImpl_SetContext(XAConfigExtensionsItfImpl* self,XAAdaptationBaseCtx* ctx);
-
-/* XAConfigExtensionsItfImpl -specific methods */
-XAConfigExtensionsItfImpl* XAConfigExtensionsItfImpl_Create(void);
-void XAConfigExtensionsItfImpl_Free(XAConfigExtensionsItfImpl* self);
-
-#endif /* XACONFIGEXTENSIONSITF_H */
--- a/khronosfws/openmax_al/src/common/xadebug.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-/* Define all debug macros here */
-
-#ifndef XADEBUG_H
-#define XADEBUG_H
-
-#define _DEBUG_API_     1
-#define _DEBUG_ERR_     2
-#define _DEBUG_INFO_    4
-
-/*
- * Define wanted debug level via DEBUG_LEVEL macro:
- * _DEPUG_API_ - prints entry/exit messages in the methods
- * _DEBUG_ERR_ - prints error messages
- * _DEBUG_INFO_ - prints info messages
- *
- * e.g. DEBUG_LEVEL ( _DEBUG_API_ | _DEBUG_ERR_ ) prints entry/exit and
- * error messages.
- */
-#define DEBUG_LEVEL 0
-
-
-/*********************************************************/
-/*
- * Debug definitions do not touch
- */
-#ifdef _DEBUG
-#include <stdio.h>
-    #if ( DEBUG_LEVEL & _DEBUG_API_ )
-        #define DEBUG_API(X) printf(X"\n");
-        #define DEBUG_API_A1(X,A1) printf(X"\n",A1);
-        #define DEBUG_API_A2(X,A1,A2) printf(X"\n",A1,A2);
-        #define DEBUG_API_A3(X,A1,A2,A3) printf(X"\n",A1,A2,A3);
-        #define DEBUG_API_A4(X,A1,A2,A3,A4) printf(X"\n",A1,A2,A3,A4);
-    #else // ( DEBUG_LEVEL & _DEBUG_API_ ) 
-        #define DEBUG_API(X);
-        #define DEBUG_API_A1(X,A1);
-        #define DEBUG_API_A2(X,A1,A2);
-        #define DEBUG_API_A3(X,A1,A2,A3);
-        #define DEBUG_API_A4(X,A1,A2,A3,A4);
-    #endif // ( DEBUG_LEVEL & _DEBUG_API_ ) 
-
-    #if ( DEBUG_LEVEL & _DEBUG_ERR_ )
-        #define DEBUG_ERR(X) printf("  ERR: "X"\n");
-        #define DEBUG_ERR_A1(X,A1) printf("  ERR: "X"\n",A1);
-        #define DEBUG_ERR_A2(X,A1,A2) printf("  ERR: "X"\n",A1,A2);
-        #define DEBUG_ERR_A3(X,A1,A2,A3) printf("  ERR: "X"\n",A1,A2,A3);
-    #else // ( DEBUG_LEVEL & _DEBUG_ERR_ ) 
-        #define DEBUG_ERR(X);
-        #define DEBUG_ERR_A1(X,A1);
-        #define DEBUG_ERR_A2(X,A1,A2);
-        #define DEBUG_ERR_A3(X,A1,A2,A3);
-    #endif // ( DEBUG_LEVEL & _DEBUG_ERR_ ) 
-
-    #if ( DEBUG_LEVEL & _DEBUG_INFO_ )
-        #define DEBUG_INFO(X) printf("  :"X"\n");
-        #define DEBUG_INFO_A1(X,A1) printf("  :"X"\n",A1);
-        #define DEBUG_INFO_A2(X,A1,A2) printf("  :"X"\n",A1,A2);
-        #define DEBUG_INFO_A3(X,A1,A2,A3) printf("  :"X"\n",A1,A2,A3);
-        #define DEBUG_INFO_A4(X,A1,A2,A3,A4) printf("  :"X"\n",A1,A2,A3,A4);
-    #else // ( DEBUG_LEVEL & _DEBUG_INFO_ ) 
-        #define DEBUG_INFO(X);
-        #define DEBUG_INFO_A1(X,A1);
-        #define DEBUG_INFO_A2(X,A1,A2);
-        #define DEBUG_INFO_A3(X,A1,A2,A3);
-        #define DEBUG_INFO_A4(X,A1,A2,A3,A4);
-    #endif // ( DEBUG_LEVEL & _DEBUG_INFO_ )
-
-#else 
-
-        #define DEBUG_API(X)
-        #define DEBUG_API_A1(X,A1)
-        #define DEBUG_API_A2(X,A1,A2)
-        #define DEBUG_API_A3(X,A1,A2,A3)
-        #define DEBUG_API_A4(X,A1,A2,A3,A4)
-
-        #define DEBUG_ERR(X)
-        #define DEBUG_ERR_A1(X,A1)
-        #define DEBUG_ERR_A2(X,A1,A2)
-        #define DEBUG_ERR_A3(X,A1,A2,A3)
-
-        #define DEBUG_INFO(X)
-        #define DEBUG_INFO_A1(X,A1)
-        #define DEBUG_INFO_A2(X,A1,A2)
-        #define DEBUG_INFO_A3(X,A1,A2,A3)
-        #define DEBUG_INFO_A4(X,A1,A2,A3,A4);
-#endif /* _DEBUG */
-
-#endif /* XADEBUG_H */
--- a/khronosfws/openmax_al/src/common/xadynamicsourceitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Dynamic Source Interface Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include "xadynamicsourceitf.h"
-
-#include "xadynamicsourceitfadaptationmmf.h"
-
-/*****************************************************************************
- * Base interface XADynamicSourceItf implementation
- *****************************************************************************/
-
-/* XAResult XADynamicSourceItfImpl_SetSource
- * Description: Sets the data source for the object.
- */
-XAresult XADynamicSourceItfImpl_SetSource(XADynamicSourceItf self,
-        XADataSource *pDataSource)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XADynamicSourceItfImpl* impl = (XADynamicSourceItfImpl*) (*self);
-    DEBUG_API("->XADynamicSourceItfImpl_SetSource");
-    /* check casting */
-    if (!impl || impl != impl->self || !pDataSource)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XADynamicSourceItfImpl_SetSource");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (!impl->adaptCtx)
-        {
-        DEBUG_ERR("Adaptation not ready!!");
-        DEBUG_ERR("XA_RESULT_INTERNAL_ERROR");
-        DEBUG_API("<-XADynamicSourceItfImpl_SetSource");
-        res = XA_RESULT_INTERNAL_ERROR;
-        }
-    else
-        {
-        res = XACommon_CheckDataSource(pDataSource, NULL);
-        if (res == XA_RESULT_SUCCESS)
-            {
-            if (impl->adaptCtx->fwtype == FWMgrFWMMF)
-                {
-                res = XADynamicSourceItfAdaptMMF_SetSource(
-                        (XAAdaptationMMFCtx*) impl->adaptCtx, pDataSource);
-                }
-            }
-        }
-
-    DEBUG_API("<-XADynamicSourceItfImpl_SetSource");
-    return res;
-    }
-
-/*****************************************************************************
- * XADynamicSourceItfImpl -specific methods
- *****************************************************************************/
-
-/* XADynamicSourceItfImpl* XADynamicSourceItfImpl_Create()
- * Description: Allocate and initialize DynamicSourceItfImpl
- */
-XADynamicSourceItfImpl* XADynamicSourceItfImpl_Create(
-        XAAdaptationBaseCtx *adaptCtx)
-    {
-    XADynamicSourceItfImpl* self = (XADynamicSourceItfImpl*) calloc(1,
-            sizeof(XADynamicSourceItfImpl));
-
-    DEBUG_API("->XADynamicSourceItfImpl_Create");
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.SetSource = XADynamicSourceItfImpl_SetSource;
-        /* init variables */
-        self->adaptCtx = adaptCtx;
-        self->self = self;
-        }
-    DEBUG_API("<-XADynamicSourceItfImpl_Create");
-    return self;
-    }
-
-/* void XADynamicSourceItfImpl_Free(XADynamicSourceItfImpl* self)
- * Description: Free all resources reserved at XADynamicSourceItfImpl_Create
- */
-void XADynamicSourceItfImpl_Free(XADynamicSourceItfImpl* self)
-    {
-    DEBUG_API("->XADynamicSourceItfImpl_Free");
-    assert( self==self->self );
-    free(self);
-    DEBUG_API("<-XADynamicSourceItfImpl_Free");
-    }
-
--- a/khronosfws/openmax_al/src/common/xadynamicsourceitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Dynamic Source Interface Implementation Header
- *
- */
-
-#ifndef XADYNAMICSOURCEITF_H
-#define XADYNAMICSOURCEITF_H
-
-#include "xaadptbasectx.h"
-
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XADynamicSourceItf implementation */
-typedef struct XADynamicSourceItfImpl_
-    {
-    /* parent interface */
-    struct XADynamicSourceItf_ itf;
-    /* pointer to self */
-    struct XADynamicSourceItfImpl_* self;
-    /* variables */
-    XAAdaptationBaseCtx *adaptCtx;
-
-    } XADynamicSourceItfImpl;
-
-/** METHODS **/
-
-/* Base interface XADynamicSourceItf implementation
- * See API Specification for method documentation
- */
-XAresult XADynamicSourceItfImpl_SetSource(XADynamicSourceItf self,
-        XADataSource *pDataSource);
-
-/* XADynamicSourceItfImpl -specific methods */
-XADynamicSourceItfImpl* XADynamicSourceItfImpl_Create(
-        XAAdaptationBaseCtx *adaptCtx);
-void XADynamicSourceItfImpl_Free(XADynamicSourceItfImpl* self);
-
-#endif /* XADYNAMICSOURCEITF_H */
--- a/khronosfws/openmax_al/src/common/xadynintmgmtitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,461 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Dynamic Management Interface Implementation
- *
- */
-
-#include <stdlib.h>
-#include <assert.h>
-
-#include "openmaxalwrapper.h"
-#include "xadynintmgmtitf.h"
-#include "xadebug.h"
-
-/* XADIMItfImpl* GetImpl(XADIMItf self)
- * Description: Validate interface pointer and cast it to implementation pointer.
- */
-static XADIMItfImpl* GetImpl(XADynamicInterfaceManagementItf self)
-    {
-    if (self)
-        {
-        XADIMItfImpl* impl = (XADIMItfImpl*) (*self);
-        if (impl && (impl == impl->self))
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-/**
- * Base Interface XADynamicInterfaceManagementItf implementation
- **/
-
-/* XAresult XADIMItfImpl_AddInterface
- * Optionally asynchronous method for exposing an interface on an object.
- */
-XAresult XADIMItfImpl_AddInterface(XADynamicInterfaceManagementItf self,
-        const XAInterfaceID iid, XAboolean async)
-    {
-    XADIMItfImpl* impl = GetImpl(self);
-    XAresult retval = XA_RESULT_SUCCESS;
-    DEBUG_API("->XADIMItfImpl_AddInterface");
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XADIMItfImpl_AddInterface");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (async)
-        {
-        /* invoke asynchronously */
-        /* check if another async operation is processed */
-        if (impl->asyncOngoing)
-            {
-            /* abort ongoing operation */
-            XAImpl_CancelThread(impl->asyncThr);
-            }
-        impl->asyncOngoing = XA_BOOLEAN_TRUE;
-        impl->asyncID = iid;
-        if (XAImpl_StartThread(impl->asyncThr, NULL,
-                &XADIMItfImpl_AsyncAddItf, (void*) (self)))
-            {
-            impl->asyncOngoing = XA_BOOLEAN_FALSE;
-            retval = XA_RESULT_RESOURCE_ERROR;
-            }
-        else
-            {
-            retval = XA_RESULT_SUCCESS;
-            }
-        }
-    else
-        {
-        /* invoke synchronously */
-        retval = XADIMItfImpl_DoAddItf(impl, iid);
-        }
-
-    DEBUG_API_A1("<-XADIMItfImpl_AddInterface %lu", retval);
-    return retval;
-    }
-
-/* XAresult XADIMItfImpl_RemoveInterface
- * Synchronous method for removing a dynamically exposed interface on an object.
- */
-XAresult XADIMItfImpl_RemoveInterface(XADynamicInterfaceManagementItf self,
-        const XAInterfaceID iid)
-    {
-    XADIMItfImpl* impl = GetImpl(self);
-    XAresult retval = XA_RESULT_SUCCESS;
-    DEBUG_API("->XADIMItfImpl_RemoveInterface");
-
-    if (impl)
-        {
-        XAObjItfMapEntry *mapEntry = NULL;
-        if (impl->parent)
-            {
-            mapEntry = XAObjectItfImpl_GetItfEntry(impl->parent, iid);
-            }
-        if (mapEntry && mapEntry->isDynamic)
-            {
-            if ((mapEntry->pItf))
-                {
-                if (impl->DoRemoveItfImpl)
-                    {
-                    retval = impl->DoRemoveItfImpl(impl->parent, mapEntry);
-                    }
-                else
-                    {
-                    DEBUG_ERR("XADIMItfImpl_RemoveInterface: Object has specified dynamic itfs but not implemented DoRemoveItfImpl!!!");
-                    retval = XA_RESULT_INTERNAL_ERROR;
-                    }
-                }
-            else
-                {
-                DEBUG_ERR("XADIMItfImpl_RemoveInterface interface not exposed");
-                retval = XA_RESULT_PRECONDITIONS_VIOLATED;
-                }
-            }
-        else /*( mapEntry && mapEntry->isDynamic )*/
-            { /* interface is not supported for dynamic management */
-            DEBUG_ERR("XADIMItfImpl_RemoveInterface interface not supported");
-            retval = XA_RESULT_FEATURE_UNSUPPORTED;
-            }
-        }
-    else
-        {
-        retval = XA_RESULT_PARAMETER_INVALID;
-        DEBUG_ERR("XADIMItfImpl_RemoveInterface: INVALID args");
-        }
-
-    DEBUG_API_A1("<-XADIMItfImpl_RemoveInterface %lu", retval);
-    return retval;
-    }
-
-/* XAresult XADIMItfImpl_ResumeInterface
- * Optionally asynchronous method for resuming a dynamically exposed interface on the object.
- */
-XAresult XADIMItfImpl_ResumeInterface(XADynamicInterfaceManagementItf self,
-        const XAInterfaceID iid, XAboolean async)
-    {
-    XADIMItfImpl* impl = GetImpl(self);
-    XAresult retval = XA_RESULT_SUCCESS;
-    DEBUG_API("->XADIMItfImpl_ResumeInterface");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XADIMItfImpl_ResumeInterface");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (async)
-        {
-        /* invoke asynchronously */
-        /* check if another async operation is processed */
-        if (impl->asyncOngoing)
-            {
-            /* abort ongoing operation */
-            XAImpl_CancelThread(impl->asyncThr);
-            }
-        impl->asyncOngoing = XA_BOOLEAN_TRUE;
-        impl->asyncID = iid;
-        if (XAImpl_StartThread(impl->asyncThr, NULL,
-                &XADIMItfImpl_AsyncResumeItf, (void*) (self)))
-            {
-            impl->asyncOngoing = XA_BOOLEAN_FALSE;
-            retval = XA_RESULT_RESOURCE_ERROR;
-            }
-        else
-            {
-            retval = XA_RESULT_SUCCESS;
-            }
-        }
-    else
-        {
-        /* invoke synchronously */
-        retval = XADIMItfImpl_DoResumeItf(impl, iid);
-        }
-
-    DEBUG_API_A1("<-XADIMItfImpl_ResumeInterface %lu", retval);
-    return retval;
-    }
-
-/* XAresult XADIMItfImpl_RegisterCallback
- * Registers a callback on the object
- */
-XAresult XADIMItfImpl_RegisterCallback(XADynamicInterfaceManagementItf self,
-        xaDynamicInterfaceManagementCallback callback, void * pContext)
-    {
-    XADIMItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XADIMItfImpl_RegisterCallback");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XADIMItfImpl_RegisterCallback");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    impl->dimCb = callback;
-    impl->dimCbContext = pContext;
-    impl->dimCbPtrToSelf = self;
-
-    DEBUG_API("<-XADIMItfImpl_RegisterCallback");
-    return XA_RESULT_SUCCESS;
-    }
-
-/**
- * XADIMItfImpl -specific methods
- **/
-
-/* XADIMItfImpl* XADIMItfImpl_Create()
- * Description: Allocate and initialize DIMItfImpl
- */
-XADIMItfImpl* XADIMItfImpl_Create()
-    {
-    XADIMItfImpl *self = (XADIMItfImpl*) calloc(1, sizeof(XADIMItfImpl));
-    DEBUG_API("->XADIMItfImpl_Create");
-
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.AddInterface = XADIMItfImpl_AddInterface;
-        self->itf.RemoveInterface = XADIMItfImpl_RemoveInterface;
-        self->itf.ResumeInterface = XADIMItfImpl_ResumeInterface;
-        self->itf.RegisterCallback = XADIMItfImpl_RegisterCallback;
-
-        /* init variables */
-        self->asyncOngoing = XA_BOOLEAN_FALSE;
-        self->dimCbPtrToSelf = NULL;
-
-        self->self = self;
-        if (XAImpl_CreateThreadHandle(&(self->asyncThr)) != XA_RESULT_SUCCESS)
-            {
-            free(self);
-            self = NULL;
-            }
-        }
-    DEBUG_API("<-XADIMItfImpl_Create");
-    return self;
-    }
-
-/* void XADIMItfImpl_Free(XADIMItfImpl* self)
- * Description: Free all resources reserved at XADIMItfImpl_Create
- */
-void XADIMItfImpl_Free(XADIMItfImpl* self)
-    {
-    DEBUG_API("->XADIMItfImpl_Free");
-    assert(self==self->self);
-    XAImpl_DeleteThreadHandle(self->asyncThr);
-    free(self);
-    DEBUG_API("<-XADIMItfImpl_Free");
-    }
-
-/* void XADIMItfImpl_Init
- * Description: Initialize DIM interface. Mandatory to call if dynamic
- * interfaces are supported by object.
- */
-void XADIMItfImpl_Init(XADIMItfImpl* self, XAObjectItf parent,
-        xaDoAddItfImpl doAdd, xaDoResumeItfImpl doResume,
-        xaDoRemoveItfImpl doRemove)
-    {
-    DEBUG_API("->XADIMItfImpl_Init");
-
-    assert(self==self->self && parent && doAdd && doResume && doRemove);
-    self->parent = parent;
-    self->DoAddItfImpl = doAdd;
-    self->DoResumeItfImpl = doResume;
-    self->DoRemoveItfImpl = doRemove;
-
-    DEBUG_API("<-XADIMItfImpl_Init");
-    }
-
-/* void XADIMItfImpl_SendCbEvent
- * Description: Object can use this method to send resource events
- */
-void XADIMItfImpl_SendCbEvent(XADIMItfImpl* self, XAuint32 event,
-        XAresult result, const XAInterfaceID iid)
-    {
-    DEBUG_API("->XADIMItfImpl_SendCbEvent");
-    if (self->dimCb)
-        {
-        self->dimCb((XADynamicInterfaceManagementItf) (self),
-                self->dimCbContext, event, result, iid);
-        }
-    DEBUG_API("<-XADIMItfImpl_SendCbEvent");
-    }
-
-/* void* XADIMItfImpl_AsyncAddItf
- * Description: Launch AddItf from async thread.
- */
-void* XADIMItfImpl_AsyncAddItf(void* args)
-    {
-    XAresult retval = XA_RESULT_SUCCESS;
-    XADIMItfImpl* impl = GetImpl(args);
-    DEBUG_API("->XADIMItfImpl_AsyncAddItf");
-
-    if (impl)
-        {
-        retval = XADIMItfImpl_DoAddItf(impl, impl->asyncID);
-        if (impl->dimCb)
-            {
-            impl->dimCb((XADynamicInterfaceManagementItf) (args),
-                    impl->dimCbContext,
-                    XA_DYNAMIC_ITF_EVENT_ASYNC_TERMINATION, retval,
-                    impl->asyncID);
-            }
-        impl->asyncOngoing = XA_BOOLEAN_FALSE;
-        XAImpl_ExitThread(impl->asyncThr);
-        }
-    else
-        {
-        DEBUG_ERR("XADIMItfImpl_AsyncAddItf: INVALID args");
-        }
-
-    DEBUG_API("<-XADIMItfImpl_AsyncAddItf");
-    return NULL;
-    }
-
-/* XAresult XADIMItfImpl_DoAddItf
- * Description: Handle Itf dynamic addition and call object-specific parts.
- *              Launched either from async thread or directly.
- */
-XAresult XADIMItfImpl_DoAddItf(XADIMItfImpl* impl, const XAInterfaceID iid)
-    {
-    XAresult retval = XA_RESULT_SUCCESS;
-    DEBUG_API("->XADIMItfImpl_DoAddItf");
-
-    if (impl)
-        {
-        XAObjItfMapEntry *mapEntry = NULL;
-        if (impl->parent)
-            {
-            mapEntry = XAObjectItfImpl_GetItfEntry(impl->parent, iid);
-            }
-        if (mapEntry && mapEntry->isDynamic)
-            {
-            if (!(mapEntry->pItf))
-                {
-                if (impl->DoAddItfImpl)
-                    {
-                    retval = impl->DoAddItfImpl(impl->parent, mapEntry);
-                    }
-                else
-                    {
-                    DEBUG_ERR("XADIMItfImpl_DoAddItf: Object has specified dynamic itfs but not implemented DoAddItfImpl!!!");
-                    retval = XA_RESULT_INTERNAL_ERROR;
-                    }
-                }
-            else
-                {
-                DEBUG_ERR("XADIMItfImpl_DoAddItf interface already exposed");
-                retval = XA_RESULT_PRECONDITIONS_VIOLATED;
-                }
-            }
-        else /*( mapEntry && mapEntry->isDynamic )*/
-            { /* interface is not supported for dynamic management */
-            DEBUG_ERR("XADIMItfImpl_DoAddItf interface not supported");
-            retval = XA_RESULT_FEATURE_UNSUPPORTED;
-            }
-        }
-    else
-        {
-        retval = XA_RESULT_INTERNAL_ERROR;
-        DEBUG_ERR("XADIMItfImpl_DoAddItf: INVALID args");
-        }
-
-    DEBUG_API("<-XADIMItfImpl_DoAddItf");
-    return retval;
-    }
-
-/* void* XADIMItfImpl_AsyncResumeItf
- * Description: Launch ResumeItf from async thread.
- */
-void* XADIMItfImpl_AsyncResumeItf(void* args)
-    {
-    XAresult retval = XA_RESULT_SUCCESS;
-    XADIMItfImpl* impl = GetImpl(args);
-    DEBUG_API("->XADIMItfImpl_AsyncResumeItf");
-
-    if (impl)
-        {
-        retval = XADIMItfImpl_DoResumeItf(impl, impl->asyncID);
-        if (impl->dimCb)
-            {
-            impl->dimCb((XADynamicInterfaceManagementItf) (args),
-                    impl->dimCbContext,
-                    XA_DYNAMIC_ITF_EVENT_ASYNC_TERMINATION, retval,
-                    impl->asyncID);
-            }
-        impl->asyncOngoing = XA_BOOLEAN_FALSE;
-        XAImpl_ExitThread(impl->asyncThr);
-        }
-    else
-        {
-        DEBUG_ERR("XADIMItfImpl_AsyncResumeItf: INVALID args");
-        }
-
-    DEBUG_API("<-XADIMItfImpl_AsyncResumeItf");
-    return NULL;
-    }
-
-/* void XADIMItfImpl_DoResumeItf
- * Description: Handle Itf dynamic resuming and call object-specific parts.
- *              Launched either from async thread or directly.
- */
-XAresult XADIMItfImpl_DoResumeItf(XADIMItfImpl* impl, const XAInterfaceID iid)
-    {
-    XAresult retval = XA_RESULT_SUCCESS;
-    DEBUG_API("->XADIMItfImpl_DoResumeItf");
-
-    if (impl)
-        {
-        XAObjItfMapEntry *mapEntry = XAObjectItfImpl_GetItfEntry(
-                impl->parent, iid);
-        if (mapEntry && mapEntry->isDynamic)
-            {
-            if ((!mapEntry->pItf))
-                {
-                if (impl->DoResumeItfImpl)
-                    {
-                    retval = impl->DoResumeItfImpl(impl->parent, mapEntry);
-                    }
-                else
-                    {
-                    DEBUG_ERR("XADIMItfImpl_DoResumeItf: Object has specified dynamic itfs but not implemented DoResumeItfImpl!!!");
-                    retval = XA_RESULT_INTERNAL_ERROR;
-                    }
-                }
-            else
-                {
-                DEBUG_ERR("XADIMItfImpl_DoResumeItf interface already exposed");
-                retval = XA_RESULT_PRECONDITIONS_VIOLATED;
-                }
-            }
-        else /*( mapEntry && mapEntry->isDynamic )*/
-            { /* interface is not supported for dynamic management */
-            DEBUG_ERR("XADIMItfImpl_DoResumeItf interface not supported");
-            retval = XA_RESULT_FEATURE_UNSUPPORTED;
-            }
-        }
-    else
-        {
-        retval = XA_RESULT_INTERNAL_ERROR;
-        DEBUG_ERR("XADIMItfImpl_DoResumeItf: INVALID args");
-        }
-
-    DEBUG_API("<-XADIMItfImpl_DoResumeItf");
-    return retval;
-    }
-
--- a/khronosfws/openmax_al/src/common/xadynintmgmtitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Dynamic Mgmt Interface Header
- *
- */
-
-#ifndef XADYNINTMGMTITF_H
-#define XADYNINTMGMTITF_H
-
-#include "openmaxalwrapper.h"
-#include "xaobjectitf.h"
-#include "xaplatform.h"
-
-/** MACROS **/
-
-/** TYPES **/
-/* object implementation-specific DIM methods */
-typedef XAresult (*xaDoAddItfImpl)(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-typedef XAresult (*xaDoResumeItfImpl)(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-typedef XAresult (*xaDoRemoveItfImpl)(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XADynamicInterfaceManagementItf implementation */
-typedef struct XADIMItfImpl_
-    {
-    /* parent interface */
-    struct XADynamicInterfaceManagementItf_ itf;
-    /* pointer to self */
-    struct XADIMItfImpl_* self;
-
-    /* variables */
-    /* pointer to parent object */
-    XAObjectItf parent;
-    /* pointers to implementation-specific methods */
-    xaDoAddItfImpl DoAddItfImpl;
-    xaDoResumeItfImpl DoResumeItfImpl;
-    xaDoRemoveItfImpl DoRemoveItfImpl;
-
-    /* client callback */
-    XADynamicInterfaceManagementItf dimCbPtrToSelf;
-    xaDynamicInterfaceManagementCallback dimCb;
-    void* dimCbContext;
-    XAImplThreadHandle asyncThr;
-    XAboolean asyncOngoing;
-    XAInterfaceID asyncID;
-
-    } XADIMItfImpl;
-
-/* Base interface XADynamicInterfaceManagementItf implementation */
-XAresult XADIMItfImpl_AddInterface(XADynamicInterfaceManagementItf self,
-        const XAInterfaceID iid, XAboolean async);
-
-XAresult XADIMItfImpl_RemoveInterface(XADynamicInterfaceManagementItf self,
-        const XAInterfaceID iid);
-
-XAresult XADIMItfImpl_ResumeInterface(XADynamicInterfaceManagementItf self,
-        const XAInterfaceID iid, XAboolean async);
-
-XAresult XADIMItfImpl_RegisterCallback(XADynamicInterfaceManagementItf self,
-        xaDynamicInterfaceManagementCallback callback, void * pContext);
-
-/* XADIMItfImpl -specific methods */
-XADIMItfImpl* XADIMItfImpl_Create(void);
-void XADIMItfImpl_Free(XADIMItfImpl* self);
-
-void XADIMItfImpl_Init(XADIMItfImpl* self, XAObjectItf parent,
-        xaDoAddItfImpl doAdd, xaDoResumeItfImpl doResume,
-        xaDoRemoveItfImpl doRemove);
-
-void XADIMItfImpl_SendCbEvent(XADIMItfImpl* self, XAuint32 event,
-        XAresult result, const XAInterfaceID iid);
-
-/* methods for asynchronous service */
-void* XADIMItfImpl_AsyncAddItf(void* args);
-XAresult XADIMItfImpl_DoAddItf(XADIMItfImpl* impl, const XAInterfaceID iid);
-void* XADIMItfImpl_AsyncResumeItf(void* args);
-XAresult
-        XADIMItfImpl_DoResumeItf(XADIMItfImpl* impl, const XAInterfaceID iid);
-
-#endif /* XADYNINTMGMTITF_H */
--- a/khronosfws/openmax_al/src/common/xaglobals.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Header File for common AL enums, functions.
- *
- */
-/*All global definitions and declarations here */
-
-#ifndef XAGLOBALS_H
-#define XAGLOBALS_H
-
-#include "openmaxalwrapper.h"
-#include "xadebug.h"
-
-/**
- GLOBAL ENUMERATIONS
- */
-/**
- * enumeration for different adaptation event types.
- * add more types when needed, use single bit values.
- **/
-typedef enum
-    {
-    XA_GENERICEVENTS = 0x1,
-    XA_PLAYITFEVENTS = 0x2,
-    XA_RECORDITFEVENTS = 0x4,
-    XA_SNAPSHOTITFEVENTS = 0x8,
-    XA_OUTPUTMIXITFEVENTS = 0x10,
-    XA_CAMERAITFEVENTS = 0x20,
-    XA_PREFETCHITFEVENTS = 0x40,
-    XA_RADIOITFEVENTS = 0x80,
-    XA_RDSITFEVENTS = 0x100,
-    XA_METADATAEVENTS = 0x200,
-    XA_VOLUMEITFEVENTS = 0x400,
-    XA_NOKIALINEARVOLITFEVENTS = 0x800,
-    XA_NOKIAEXTVOLITFEVENTS = 0x1000,
-    XA_ADDMORETYPES = 0x2000
-    } XAAdaptEventTypes;
-
-typedef enum
-    {
-    XACAP_DECODER = 0x1,
-    XACAP_ENCODER = 0x2,
-    XACAP_DEVSNK = 0x4,
-    XACAP_DEVSRC = 0x8,
-
-    XACAP_AUDIO = 0x10,
-    XACAP_VIDEO = 0x20,
-    XACAP_IMAGE = 0x40
-    } XACapsType;
-
-typedef enum
-    {
-    XA_UNDEFINED = 0, XA_READBUFFER, XA_WRITEBUFFER, XA_READ, XA_WRITE
-    } XAConfigExtensionCpKey;
-
-typedef enum
-    {
-    XA_MEDIATYPE_AUDIO = 0,
-    XA_MEDIATYPE_VIDEO,
-    XA_MEDIATYPE_IMAGE,
-    XA_MEDIATYPE_UNKNOWN
-    } XAMediaType;
-
-#define CPCONFIGKEY "TestAppPipeConfig"
-
-#define XA_RECMODE_STREAM 1
-#define XA_RECMODE_STILL 2
-
-#define XA_IMPL_SUPPORTED_AUDIO_OUT_NUM 3
-#define XA_IMPL_OMIX_MAX_CONNECTED_MEDIAPLAYERS 10
-
-/* Max volume level is implementation-dependent but must be at least 0mB
- * now used max volume 10 mB
- */
-#define MAX_PERCENTAGE_VOLUME 100
-#define MIN_VOLUME_LEVEL 0
-#define MAX_SUPPORT_VOLUME_LEVEL 9000
-
-/* Stereo position range is -1000 to 1000 permille. -1000 permille is fully left
- * and 1000 permille is fully right. 0 permille is center.
- */
-#define STEREO_POSITION_RIGHT 1000
-#define STEREO_POSITION_LEFT -1000
-#define STEREO_POSITION_CENTER 0
-
-/**
- * GLOBAL METHODS
- */
-
-/*
- * Check if interface IDs are equal
- */
-XAboolean XACommon_EqualIIds(XAInterfaceID idA, XAInterfaceID idB);
-
-/*
- * Check Data Source availability and type
- */
-XAresult XACommon_CheckDataSource(XADataSource* source, XAMediaType* type);
-
-XAresult XACommon_ValidateDataLocator(XAuint32 pCounter, void* pSnk, ...);
-#endif /*XAGLOBALS_H */
--- a/khronosfws/openmax_al/src/common/xametadataextractionitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,713 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Metadata Extraction Interface Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include "xametadataextractionitf.h"
-#include "xadebug.h"
-
-#include "xametadataadaptation.h"
-
-#include "xaadaptationmmf.h"
-#include "xametadataadaptctxmmf.h"
-#include "xamediaplayeradaptctxmmf.h"
-#include "cmetadatautilityitf.h"
-
-/* XAMetadataExtractionItfImpl* GetImpl(XAMetadataExtractionItf self)
- * Description: Validate interface pointer and cast it to implementation pointer.
- **/
-static XAMetadataExtractionItfImpl* GetImpl(XAMetadataExtractionItf self)
-    {
-    if (self)
-        {
-        XAMetadataExtractionItfImpl* impl =
-                (XAMetadataExtractionItfImpl*) (*self);
-        if (impl && (impl == impl->self))
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-static void* GetMetadataUtilityContext(XAAdaptationMMFCtx* adaptCtx)
-    {
-    if (adaptCtx)
-        {
-        switch (adaptCtx->baseObj.ctxId)
-            {
-            case XAMediaPlayerAdaptation:
-                return ((XAMediaPlayerAdaptationMMFCtx*) adaptCtx)->mmfMetadataContext;
-            case XAMDAdaptation:
-                return ((XAMetadataAdaptationMMFCtx*) adaptCtx)->mmfContext;
-            default:
-                break;
-            }
-
-        }
-    return NULL;
-    }
-/*****************************************************************************
- * Base interface XAMetadataExtractionItf implementation
- *****************************************************************************/
-
-/*
- * Returns the number of metadata items within the current scope of the object.
- * @XAuint32 *pItemCount
- *      Number of metadata items.  Must be non-NULL
- */
-XAresult XAMetadataExtractionItfImpl_GetItemCount(
-        XAMetadataExtractionItf self, XAuint32 *pItemCount)
-    {
-    XAMetadataExtractionItfImpl *impl = NULL;
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMetadataExtractionItfImpl_GetItemCount");
-
-    impl = GetImpl(self);
-    /* check parameters */
-    if (!impl || !pItemCount)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-
-        if (impl->adaptCtx)
-            {
-
-            if (impl->adaptCtx->fwtype == FWMgrFWMMF)
-                {
-                void *mmfCtx = GetMetadataUtilityContext(
-                        (XAAdaptationMMFCtx*) impl->adaptCtx);
-                if (mmfCtx)
-                    {
-                    res = mmf_get_item_count(mmfCtx, pItemCount);
-                    }
-                else
-                    {
-                    res = XA_RESULT_PARAMETER_INVALID;
-                    }
-                }
-            else
-                {
-                if (impl->filteringOn)
-                    {
-                    *pItemCount = impl->filteredcount;
-                    }
-                else
-                    {
-                    *pItemCount = impl->currentTags.itemcount;
-                    }
-                res = XA_RESULT_SUCCESS;
-                }
-            }
-        else
-            {
-            res = XA_RESULT_INTERNAL_ERROR;
-            }
-
-        DEBUG_INFO_A1("itemCount = %d", (int)*pItemCount);
-        }
-
-    DEBUG_API_A1("<-XAMetadataExtractionItfImpl_GetItemCount (%d)", (int)res);
-    return res;
-    }
-
-/*
- * Returns the byte size of a given metadata key
- *
- * @XAuint32 index
- *      Metadata item Index. Range is [0, GetItemCount)
- * @XAuint32 *pKeySize
- *      Address to store key size. size must be greater than 0.  Must be non-NULL
- */
-XAresult XAMetadataExtractionItfImpl_GetKeySize(XAMetadataExtractionItf self,
-        XAuint32 index, XAuint32 *pKeySize)
-    {
-    XAMetadataExtractionItfImpl *impl = NULL;
-    XAresult res = XA_RESULT_SUCCESS;
-    XAuint32 newidx = 0;
-    DEBUG_API("->XAMetadataExtractionItfImpl_GetKeySize");
-
-    impl = GetImpl(self);
-    if (!impl || !pKeySize)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAMetadataExtractionItfImpl_GetKeySize");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    *pKeySize = 0;
-
-    if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWMMF)
-        {
-        void *mmfCtx = GetMetadataUtilityContext(
-                (XAAdaptationMMFCtx*) impl->adaptCtx);
-        if (mmfCtx)
-            {
-            res = mmf_get_key_size(mmfCtx, index, pKeySize);
-            }
-        else
-            {
-            res = XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    else
-        {
-        /* check index and return unfiltered index */
-        if (CheckAndUnfilterIndex(impl, index, &newidx) != XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XAMetadataExtractionItfImpl_GetKeySize");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-
-        /* size = size of struct + size of data - 1 (struct size already includes one char) */
-        *pKeySize = sizeof(XAMetadataInfo)
-                + impl->currentTags.mdeKeys[newidx]->size - 1;
-        }
-
-    DEBUG_API_A1("<-XAMetadataExtractionItfImpl_GetKeySize (%d)", (int)res);
-    return res;
-    }
-
-/*
- * Returns a XAMetadataInfo structure and associated data referenced by the structure for a key.
- * @XAuint32 index
- *      Metadata item Index. Range is [0, GetItemCount())
- * @XAuint32 keySize
- *      Size of the memory block passed as key. Range is [1, GetKeySize].
- * @XAMetadataInfo *pKey
- *      Address to store the key.  Must be non-NULL
- */
-XAresult XAMetadataExtractionItfImpl_GetKey(XAMetadataExtractionItf self,
-        XAuint32 index, XAuint32 keySize, XAMetadataInfo *pKey)
-    {
-    XAMetadataExtractionItfImpl *impl = NULL;
-    XAresult res = XA_RESULT_SUCCESS;
-    XAuint32 newidx = 0;
-
-    XAuint32 neededsize = 0;
-
-    XAuint32 newdatasize = 0;
-    DEBUG_API("->XAMetadataExtractionItfImpl_GetKey");
-
-    impl = GetImpl(self);
-    if (!impl || !pKey)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAMetadataExtractionItfImpl_GetKey");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    memset(pKey, 0, keySize);
-
-    if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWMMF)
-        {
-        void *mmfCtx = GetMetadataUtilityContext(
-                (XAAdaptationMMFCtx*) impl->adaptCtx);
-        if (mmfCtx)
-            {
-            res = mmf_get_key(mmfCtx, index, keySize, pKey);
-            }
-        else
-            {
-            res = XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    else
-        {
-
-        /* check index and return unfiltered index */
-        if (CheckAndUnfilterIndex(impl, index, &newidx) != XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XAMetadataExtractionItfImpl_GetKey");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-
-        /* needed size = size of struct + size of data - 1 (struct size already includes one char) */
-        neededsize = sizeof(XAMetadataInfo)
-                + impl->currentTags.mdeKeys[newidx]->size - 1;
-        if (keySize < neededsize)
-            { /* cannot fit all of key data */
-            newdatasize = impl->currentTags.mdeKeys[newidx]->size
-                    - (neededsize - keySize);
-            DEBUG_ERR("XA_RESULT_BUFFER_INSUFFICIENT");
-            res = XA_RESULT_BUFFER_INSUFFICIENT;
-            }
-        else
-            {
-            newdatasize = impl->currentTags.mdeKeys[newidx]->size;
-            res = XA_RESULT_SUCCESS;
-            }
-        /* copy data up to given size */
-        memcpy(pKey, impl->currentTags.mdeKeys[newidx], keySize - 1);
-        /* ensure null-termination */
-
-        memset(pKey->data + newdatasize - 1, 0, 1);
-        pKey->size = newdatasize;
-        }
-
-    DEBUG_API_A1("<-XAMetadataExtractionItfImpl_GetKey (%d)", (int)res);
-    return res;
-    }
-
-/*
- * Returns the byte size of a given metadata value
- * @XAuint32 index
- *      Metadata item Index. Range is [0, GetItemCount())
- * @XAuint32 *pValueSize
- *      Address to store value size. size must be greater than 0.  Must be non-NULL
- */
-XAresult XAMetadataExtractionItfImpl_GetValueSize(
-        XAMetadataExtractionItf self, XAuint32 index, XAuint32 *pValueSize)
-    {
-    XAMetadataExtractionItfImpl *impl = NULL;
-    XAresult res = XA_RESULT_SUCCESS;
-    XAuint32 newidx = 0;
-    DEBUG_API("->XAMetadataExtractionItfImpl_GetValueSize");
-
-    impl = GetImpl(self);
-    if (!impl || !pValueSize)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAMetadataExtractionItfImpl_GetValueSize");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    *pValueSize = 0;
-
-    if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWMMF)
-        {
-        void *mmfCtx = GetMetadataUtilityContext(
-                (XAAdaptationMMFCtx*) impl->adaptCtx);
-        if (mmfCtx)
-            {
-            res = mmf_get_value_size(mmfCtx, index, pValueSize);
-            }
-        else
-            {
-            res = XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    else
-        {
-        /* check index and return unfiltered index */
-        if (CheckAndUnfilterIndex(impl, index, &newidx) != XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XAMetadataExtractionItfImpl_GetValueSize");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-
-        /* size = size of struct + size of data - 1 (struct size already includes one char) */
-        *pValueSize = sizeof(XAMetadataInfo)
-                + impl->currentTags.mdeValues[newidx]->size - 1;
-        }
-
-    DEBUG_API_A1("<-XAMetadataExtractionItfImpl_GetValueSize (%d)", (int)res);
-    return res;
-    }
-
-/*
- * Returns a XAMetadataInfo structure and associated data referenced by the structure for a value.
- *  @XAuint32 index
- *      Metadata item Index. Range is [0, GetItemCount())
- *  @XAuint32 valueSize
- *      Size of the memory block passed as value. Range is [0, GetValueSize]
- *  @XAMetadataInfo *pValue
- *      Address to store the value.  Must be non-NULL
- */
-XAresult XAMetadataExtractionItfImpl_GetValue(XAMetadataExtractionItf self,
-        XAuint32 index, XAuint32 valueSize, XAMetadataInfo *pValue)
-    {
-    XAMetadataExtractionItfImpl *impl = NULL;
-    XAresult res = XA_RESULT_SUCCESS;
-    XAuint32 newidx = 0;
-
-    XAuint32 neededsize = 0;
-
-    XAuint32 newdatasize = 0;
-    DEBUG_API("->XAMetadataExtractionItfImpl_GetValue");
-
-    impl = GetImpl(self);
-    if (!impl || !pValue)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAMetadataExtractionItfImpl_GetValue");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    memset(pValue, 0, valueSize);
-
-    if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWMMF)
-        {
-        void *mmfCtx = GetMetadataUtilityContext(
-                (XAAdaptationMMFCtx*) impl->adaptCtx);
-        if (mmfCtx)
-            {
-            res = mmf_get_value(mmfCtx, index, valueSize, pValue);
-            }
-        else
-            {
-            res = XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    else
-        {
-        /* check index and return unfiltered index */
-        if (CheckAndUnfilterIndex(impl, index, &newidx) != XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XAMetadataExtractionItfImpl_GetValue");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-
-        /* needed size = size of struct + size of data - 1 (struct size already includes one char) */
-        neededsize = sizeof(XAMetadataInfo)
-                + impl->currentTags.mdeValues[newidx]->size - 1;
-        if (valueSize < neededsize)
-            { /* cannot fit all of key data */
-            newdatasize = impl->currentTags.mdeValues[newidx]->size
-                    - (neededsize - valueSize);
-            DEBUG_ERR("XA_RESULT_BUFFER_INSUFFICIENT");
-            res = XA_RESULT_BUFFER_INSUFFICIENT;
-            }
-        else
-            {
-            newdatasize = impl->currentTags.mdeValues[newidx]->size;
-            res = XA_RESULT_SUCCESS;
-            }
-        /* copy data up to given size */
-        memcpy(pValue, impl->currentTags.mdeValues[newidx], valueSize - 1);
-        /* ensure null-termination */
-
-        memset(pValue->data + newdatasize - 1, 0, 1);
-
-        pValue->size = newdatasize;
-        }
-
-    DEBUG_API_A1("<-XAMetadataExtractionItfImpl_GetValue (%d)",(int)res);
-    return res;
-    }
-
-/*
- * Adds a filter for a specific key
- * @XAuint32 keySize
- *      Size in bytes, of the pKey parameter. Ignored if filtering by key is disabled
- * @const void *pKey
- *      The key to filter by. The entire key must match. Ignored if filtering by key is disabled.
- * @XAuint32 keyEncoding
- *      Character encoding of the pKey parameter. Ignored if filtering by key is disabled
- * @const XAchar *pValueLangCountry
- *      Language / country code of the value to filter by. Ignored if filtering by language / country is disabled
- * @XAuint32 valueEncoding
- *      Encoding of the value to filter by. Ignored if filtering by encoding is disabled
- * @XAuint8 filterMask
- *      Bitmask indicating which criteria to filter by. Should be one of the XA_METADATA_FILTER macros
- */
-XAresult XAMetadataExtractionItfImpl_AddKeyFilter(
-        XAMetadataExtractionItf self, XAuint32 keySize, const void *pKey,
-        XAuint32 keyEncoding, const XAchar *pValueLangCountry,
-        XAuint32 valueEncoding, XAuint8 filterMask)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-
-    XAuint32 idx = 0;
-    XAuint8 matchMask = 0;
-
-    XAMetadataExtractionItfImpl *impl = NULL;
-    const XAchar* parsedkey;
-    impl = GetImpl(self);
-
-    DEBUG_API("->XAMetadataExtractionItfImpl_AddKeyFilter");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAMetadataExtractionItfImpl_AddKeyFilter");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-
-        if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWMMF)
-            {
-            DEBUG_API("<-XAMetadataExtractionItfImpl_AddKeyFilter Not Supported in MMF");
-            res = XA_RESULT_PARAMETER_INVALID;
-            }
-        else
-            {
-            impl->filteringOn = XA_BOOLEAN_TRUE;
-            for (idx = 0; idx < impl->currentTags.itemcount; idx++)
-                {
-                if ((filterMask & XA_METADATA_FILTER_KEY) && pKey)
-                    {
-                    parsedkey = XAMetadataAdapt_ParseKhronosKey(pKey);
-                    if (strcmp((char*) parsedkey,
-                            (char*) impl->currentTags.mdeKeys[idx]->data)
-                            == 0)
-                        {
-                        matchMask |= XA_METADATA_FILTER_KEY;
-                        }
-                    }
-                if (filterMask & XA_METADATA_FILTER_LANG && pValueLangCountry)
-                    {
-                    if (strcmp(
-                            (char*) pValueLangCountry,
-                            (char*) impl->currentTags.mdeKeys[idx]->langCountry)
-                            == 0)
-                        {
-                        matchMask |= XA_METADATA_FILTER_LANG;
-                        }
-                    }
-                if (filterMask & XA_METADATA_FILTER_ENCODING)
-                    {
-                    if (keyEncoding
-                            == impl->currentTags.mdeKeys[idx]->encoding)
-                        {
-                        matchMask |= XA_METADATA_FILTER_ENCODING;
-                        }
-                    if (valueEncoding
-                            == impl->currentTags.mdeValues[idx]->encoding)
-                        {
-                        matchMask |= XA_METADATA_FILTER_ENCODING;
-                        }
-                    }
-                /* check if all filters apply */
-                if (filterMask == matchMask)
-                    {
-                    if (impl->tagmatchesfilter[idx] == XA_BOOLEAN_FALSE)
-                        {
-                        impl->tagmatchesfilter[idx] = XA_BOOLEAN_TRUE;
-                        impl->filteredcount++;
-                        }
-                    }
-                /*reset matchmask*/
-                matchMask = 0;
-                }
-            }
-        }
-    DEBUG_API_A1("<-XAMetadataExtractionItfImpl_AddKeyFilter (%d)", (int)res);
-    return res;
-    }
-
-/*
- * Clears the key filter
- */
-XAresult XAMetadataExtractionItfImpl_ClearKeyFilter(
-        XAMetadataExtractionItf self)
-    {
-    XAMetadataExtractionItfImpl *impl = NULL;
-    XAresult res = XA_RESULT_SUCCESS;
-
-    XAuint32 idx = 0;
-
-    DEBUG_API("->XAMetadataExtractionItfImpl_ClearKeyFilter");
-    impl = GetImpl(self);
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-
-        if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWMMF)
-            {
-            DEBUG_API("<-XAMetadataExtractionItfImpl_ClearKeyFilter Not Supported in MMF");
-            res = XA_RESULT_PARAMETER_INVALID;
-            }
-        else
-            {
-            if (impl->tagmatchesfilter)
-                {
-
-                for (idx = 0; idx < impl->currentTags.itemcount; idx++)
-                    {
-                    impl->tagmatchesfilter[idx] = XA_BOOLEAN_FALSE;
-                    }
-
-                }
-            impl->filteredcount = 0;
-            impl->filteringOn = XA_BOOLEAN_FALSE;
-            }
-        }
-
-    DEBUG_API_A1("<-XAMetadataExtractionItfImpl_ClearKeyFilter (%d)", (int)res);
-    return res;
-    }
-
-/*****************************************************************************
- * XAMetadataExtractionItfImpl -specific methods
- *****************************************************************************/
-
-/* XAMetadataExtractionItfImpl* XAMetadataExtractionItfImpl_Create()
- * Description: Allocate and initialize XAMetadataExtractionItfImpl
- */
-XAMetadataExtractionItfImpl* XAMetadataExtractionItfImpl_Create(
-        XAAdaptationBaseCtx *adaptCtx)
-    {
-    XAMetadataExtractionItfImpl *self = NULL;
-    DEBUG_API("->XAMetadataExtractionItfImpl_Create");
-
-    self = (XAMetadataExtractionItfImpl*) calloc(1,
-            sizeof(XAMetadataExtractionItfImpl));
-
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.GetItemCount = XAMetadataExtractionItfImpl_GetItemCount;
-        self->itf.GetKeySize = XAMetadataExtractionItfImpl_GetKeySize;
-        self->itf.GetKey = XAMetadataExtractionItfImpl_GetKey;
-        self->itf.GetValueSize = XAMetadataExtractionItfImpl_GetValueSize;
-        self->itf.GetValue = XAMetadataExtractionItfImpl_GetValue;
-        self->itf.AddKeyFilter = XAMetadataExtractionItfImpl_AddKeyFilter;
-        self->itf.ClearKeyFilter = XAMetadataExtractionItfImpl_ClearKeyFilter;
-
-        /* init variables */
-        self->filteredcount = 0;
-        self->filteringOn = XA_BOOLEAN_FALSE;
-
-        self->adaptCtx = adaptCtx;
-
-        if (self->adaptCtx->fwtype != FWMgrFWMMF)
-            {
-            XAAdaptationBase_AddEventHandler(adaptCtx,
-                    &XAMetadataExtractionItfImp_AdaptCb, XA_METADATAEVENTS,
-                    self);
-            }
-
-        self->self = self;
-        }
-
-    DEBUG_API("<-XAMetadataExtractionItfImpl_Create");
-    return self;
-    }
-
-/* void XAMetadataExtractionItfImpl_Free(XAMetadataExtractionItfImpl* self)
- * Description: Free all resources reserved at XAMetadataExtractionItfImpl_Create
- */
-void XAMetadataExtractionItfImpl_Free(XAMetadataExtractionItfImpl* self)
-    {
-    DEBUG_API("->XAMetadataExtractionItfImpl_Free");
-    assert(self==self->self);
-
-    if (self->adaptCtx->fwtype != FWMgrFWMMF)
-        {
-        XAAdaptationBase_RemoveEventHandler(self->adaptCtx,
-                &XAMetadataExtractionItfImp_AdaptCb);
-        XAMetadataAdapt_FreeImplTagList(&(self->currentTags), XA_BOOLEAN_TRUE);
-
-        if (self->tagmatchesfilter)
-            {
-            free(self->tagmatchesfilter);
-            }
-        }
-
-    free(self);
-    DEBUG_API("<-XAMetadataExtractionItfImpl_Free");
-    }
-
-/* With this method, adaptation infroms that new tags are found (e.g. if source,
- * has changed, live stream contains metadata...)
- */
-void XAMetadataExtractionItfImp_AdaptCb(void *pHandlerCtx,
-        XAAdaptEvent *event)
-    {
-    XAMetadataExtractionItfImpl* impl = NULL;
-    DEBUG_API("->XAMetadataExtractionItfImp_AdaptCb");
-    impl = (XAMetadataExtractionItfImpl*) pHandlerCtx;
-    if (!impl)
-        {
-        DEBUG_ERR("XAMetadataExtractionItfImp_AdaptCb, invalid context pointer!");
-        DEBUG_API("<-XAMetadataExtractionItfImp_AdaptCb");
-        return;
-        }
-    if (event && event->eventid == XA_ADAPT_MDE_TAGS_AVAILABLE)
-        {
-        /* get the tag list */
-        XAMetadataExtractionItfAdapt_FillTagList(
-                (XAAdaptationGstCtx*) impl->adaptCtx, &(impl->currentTags));
-        if (impl->tagmatchesfilter)
-            {
-            free(impl->tagmatchesfilter);
-            }
-        impl->tagmatchesfilter = calloc(impl->currentTags.itemcount,
-                sizeof(XAboolean));
-        impl->filteredcount = 0;
-        }
-    else
-        {
-        DEBUG_INFO("unhandled");
-        }
-    DEBUG_API("<-XAMetadataExtractionItfImp_AdaptCb");
-    }
-
-/* For given index over filtered array, return index over whole array
- */
-XAresult CheckAndUnfilterIndex(XAMetadataExtractionItfImpl *impl,
-        XAuint32 oldidx, XAuint32 *newidx)
-    {
-    DEBUG_API("->CheckAndUnfilterIndex");
-
-    if (impl->filteringOn)
-        {
-        XAint16 i = -1;
-        if (oldidx >= impl->filteredcount)
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-CheckAndUnfilterIndex");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        *newidx = 0;
-        while (*newidx < impl->currentTags.itemcount)
-            {
-            if (impl->tagmatchesfilter[*newidx])
-                i++;
-            if (i < oldidx)
-                (*newidx)++;
-            else
-                break;
-            }
-        if (*newidx == impl->currentTags.itemcount)
-            {
-            /* should not end up here */
-            *newidx = 0;
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-CheckAndUnfilterIndex");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    else
-        {
-        if (oldidx >= impl->currentTags.itemcount)
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-CheckAndUnfilterIndex");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        *newidx = oldidx;
-        }
-
-    DEBUG_API("<-CheckAndUnfilterIndex");
-    return XA_RESULT_SUCCESS;
-    }
-
--- a/khronosfws/openmax_al/src/common/xametadataextractionitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Metadata Extraction Implementation Header
- *
- */
-
-#ifndef XAMETADATAEXTRACTIONITF_H
-#define XAMETADATAEXTRACTIONITF_H
-
-#include "xaadptbasectx.h"
-#include "xametadataadaptation.h"
-
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XAMetadataExtractionItf implementation */
-typedef struct XAMetadataExtractionItfImpl_
-    {
-    /* parent interface */
-    struct XAMetadataExtractionItf_ itf;
-    /* pointer to self */
-    struct XAMetadataExtractionItfImpl_* self;
-
-    /* variables */
-    XAuint32 filteredcount;
-    XAboolean* tagmatchesfilter;
-    XAboolean filteringOn;
-
-    XAMetadataImplTagList currentTags;
-
-    XAAdaptationBaseCtx *adaptCtx;
-
-    } XAMetadataExtractionItfImpl;
-
-/** METHODS **/
-
-/* Base interface XAMetadataExtractionItf implementation */
-XAresult XAMetadataExtractionItfImpl_GetItemCount(
-        XAMetadataExtractionItf self, XAuint32 *pItemCount);
-
-XAresult XAMetadataExtractionItfImpl_GetKeySize(XAMetadataExtractionItf self,
-        XAuint32 index, XAuint32 *pKeySize);
-
-XAresult XAMetadataExtractionItfImpl_GetKey(XAMetadataExtractionItf self,
-        XAuint32 index, XAuint32 keySize, XAMetadataInfo *pKey);
-
-XAresult XAMetadataExtractionItfImpl_GetValueSize(
-        XAMetadataExtractionItf self, XAuint32 index, XAuint32 *pValueSize);
-
-XAresult XAMetadataExtractionItfImpl_GetValue(XAMetadataExtractionItf self,
-        XAuint32 index, XAuint32 valueSize, XAMetadataInfo *pValue);
-
-XAresult XAMetadataExtractionItfImpl_AddKeyFilter(
-        XAMetadataExtractionItf self, XAuint32 keySize, const void *pKey,
-        XAuint32 keyEncoding, const XAchar *pValueLangCountry,
-        XAuint32 valueEncoding, XAuint8 filterMask);
-
-XAresult XAMetadataExtractionItfImpl_ClearKeyFilter(
-        XAMetadataExtractionItf self);
-
-/* XAMetadataExtractionItfImpl -specific methods */
-XAMetadataExtractionItfImpl* XAMetadataExtractionItfImpl_Create(
-        XAAdaptationBaseCtx *adaptCtx);
-void XAMetadataExtractionItfImp_AdaptCb(void *pHandlerCtx,
-        XAAdaptEvent *event);
-void XAMetadataExtractionItfImpl_Free(XAMetadataExtractionItfImpl* self);
-
-/* internal methods */
-XAresult CheckAndUnfilterIndex(XAMetadataExtractionItfImpl *impl,
-        XAuint32 oldidx, XAuint32 *newidx);
-
-#endif /* XAMETADATAEXTRACTIONITF_H */
--- a/khronosfws/openmax_al/src/common/xanlinearvolumeitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: 
- *
- */
-
-#ifndef XANLINEARVOLUMEITF_H
-#define XANLINEARVOLUMEITF_H
-
-#include "openmaxalwrapper.h"
-#include "xaadaptationmmf.h"
-
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XANokiaLinearVolumeItf implementation */
-typedef struct XANokiaLinearVolumeItfImpl_
-    {
-    /* parent interface */
-    struct XANokiaLinearVolumeItf_ itf;
-    /* pointer to self */
-    struct XANokiaLinearVolumeItfImpl_* self;
-
-    XAmillibel volumeLevel;
-    XAuint32 eventFlags;
-
-    XANokiaLinearVolumeItf cbPtrToSelf;
-    xaNokiaLinearVolumeCallback callback;
-    void *context;
-
-    /*Adaptation variables*/
-    XAAdaptationBaseCtx *adapCtx;
-
-    } XANokiaLinearVolumeItfImpl;
-
-/** METHODS **/
-
-/* Base interface XANokiaLinearVolumeItf implementation */
-XAresult XANokiaLinearVolumeItfImpl_SetVolumeLevel(
-        XANokiaLinearVolumeItf self, XAuint32 *percentage);
-
-XAresult XANokiaLinearVolumeItfImpl_GetVolumeLevel(
-        XANokiaLinearVolumeItf self, XAuint32 *percentage);
-
-XAresult XANokiaLinearVolumeItfImpl_GetStepCount(XANokiaLinearVolumeItf self,
-        XAuint32 *pStepCount);
-
-XAresult XANokiaLinearVolumeItfImpl_RegisterVolumeCallback(
-        XANokiaLinearVolumeItf self, xaNokiaLinearVolumeCallback callback,
-        void * pContext);
-XAresult XANokiaLinearVolumeItfImpl_SetCallbackEventsMask(
-        XANokiaLinearVolumeItf self, XAuint32 eventFlags);
-XAresult XANokiaLinearVolumeItfImpl_GetCallbackEventsMask(
-        XANokiaLinearVolumeItf self, XAuint32 * pEventFlags);
-/* XANokiaLinearVolumeItfImpl -specific methods */
-XANokiaLinearVolumeItfImpl* XANokiaLinearVolumeItfImpl_Create(
-        XAAdaptationBaseCtx *adapCtx);
-void XANokiaLinearVolumeItfImpl_Free(XANokiaLinearVolumeItfImpl* self);
-void XANokiaLinearVolumeItfImpl_AdaptCb(void *pHandlerCtx,
-        XAAdaptEvent *event);
-
-#endif /* XANLINEARVOLUMEITF_H */
--- a/khronosfws/openmax_al/src/common/xanokialinearvolume_iid.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Nokia Linear Volume IID
- *
- */
-
-#include "openmaxalwrapper.h"
-
-/*****************************************************************************/
-/* Interface IDs                                                             */
-/*****************************************************************************/
-/*866fa480-2610-11df-b13f-0002a5d5c51b*/
-static const struct XAInterfaceID_ XA_IID_NOKIALINEARVOLUME_ = { 0x866fa480, 0x2610, 0x11df, 0xb13f, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_NOKIALINEARVOLUME = &XA_IID_NOKIALINEARVOLUME_;
-
--- a/khronosfws/openmax_al/src/common/xanokialinearvolumeitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Nokia Linear Volume Interface Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#include "xanlinearvolumeitf.h"
-#include "xanokialinearvolumeitfadaptationmmf.h"
-
-/**
- * XANokiaLinearVolumeItfImpl* GetImpl(XANokiaLinearVolumeItf self)
- * Description: Validated interface pointer and cast it to implementations pointer.
- **/
-static XANokiaLinearVolumeItfImpl* GetImpl(XANokiaLinearVolumeItf self)
-    {
-    if (self)
-        {
-        XANokiaLinearVolumeItfImpl* impl =
-                (XANokiaLinearVolumeItfImpl*) (*self);
-        if (impl && impl == impl->self)
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-/**
- * XAresult XANokiaLinearVolumeItfImpl_RegisterVolumeCallback(XANokiaLinearVolumeItf self,
- *                                               xaNokiaLinearVolumeCallback callback,
- *                                               void * pContext)
- * Description: Sets or clears the xaVolumeCallback.
- **/
-XAresult XANokiaLinearVolumeItfImpl_RegisterVolumeCallback(
-        XANokiaLinearVolumeItf self, xaNokiaLinearVolumeCallback callback,
-        void * pContext)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaLinearVolumeItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XANokiaLinearVolumeItfImpl_RegisterVolumeCallback");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        DEBUG_API("<-XANokiaLinearVolumeItfImpl_RegisterVolumeCallback");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->callback = callback;
-    impl->context = pContext;
-    impl->cbPtrToSelf = self;
-
-    DEBUG_API("<-XANokiaLinearVolumeItfImpl_RegisterVolumeCallback");
-    return ret;
-    }
-
-/**
- * Base interface XANokiaLinearVolumeItf implementation
- */
-
-/**
- * XAresult XANokiaLinearVolumeItfImpl_SetVolumeLevel(XANokiaLinearVolumeItf self, XAuint32 percentage)
- * Description: Sets the object's volume level.
- **/
-XAresult XANokiaLinearVolumeItfImpl_SetVolumeLevel(
-        XANokiaLinearVolumeItf self, XAuint32 *percentage)
-    {
-    XANokiaLinearVolumeItfImpl *impl = GetImpl(self);
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint32 vol = *percentage;
-
-    DEBUG_API("->XANokiaLinearVolumeItfImpl_SetVolumeLevel");
-
-    if ((!impl) || (vol > MAX_PERCENTAGE_VOLUME))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaLinearVolumeItfImpl_SetVolumeLevel");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-    if (ret == XA_RESULT_SUCCESS)
-        {
-        if (impl->adapCtx && impl->adapCtx->fwtype == FWMgrFWMMF)
-            {
-            ret = XANokiaLinearVolumeItfAdapt_SetVolumeLevel(
-                    (XAAdaptationMMFCtx*) impl->adapCtx, vol);
-            if (ret == XA_RESULT_SUCCESS)
-                {
-                impl->volumeLevel = vol;
-                }
-            }
-        XAAdaptationBase_ThreadExit(impl->adapCtx);
-        }
-    DEBUG_API("<-XANokiaLinearVolumeItfImpl_SetVolumeLevel");
-    return ret;
-    }
-
-/**
- * XAresult XANokiaLinearVolumeItfImpl_GetVolumeLevel(XANokiaLinearVolumeItf self, XAmillibel *pLevel)
- * Description: Gets the object’s volume level.
- **/
-XAresult XANokiaLinearVolumeItfImpl_GetVolumeLevel(
-        XANokiaLinearVolumeItf self, XAuint32 *percentage)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaLinearVolumeItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XANokiaLinearVolumeItfImpl_GetVolumeLevel");
-
-    if (!impl || !percentage)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaLinearVolumeItfImpl_GetVolumeLevel");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-    if (ret == XA_RESULT_SUCCESS)
-        {
-        if (impl->adapCtx && impl->adapCtx->fwtype == FWMgrFWMMF)
-            {
-            ret = XANokiaLinearVolumeItfAdapt_GetVolumeLevel(
-                    (XAAdaptationMMFCtx*) impl->adapCtx, percentage);
-            if (ret == XA_RESULT_SUCCESS)
-                {
-                impl->volumeLevel = *percentage;
-                }
-            }
-        XAAdaptationBase_ThreadExit(impl->adapCtx);
-        }
-
-    DEBUG_API("<-XANokiaLinearVolumeItfImpl_GetVolumeLevel");
-    return ret;
-    }
-
-/**
- * XAresult XANokiaLinearVolumeItfImpl_GetMaxVolumeLevel(XANokiaLinearVolumeItf  self, XAmillibel *pMaxLevel)
- * Description: Gets the maximum supported level.
- **/
-XAresult XANokiaLinearVolumeItfImpl_GetStepCount(XANokiaLinearVolumeItf self,
-        XAuint32 *pStepCount)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaLinearVolumeItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XANokiaLinearVolumeItfImpl_GetVolumeLevel");
-
-    if (!impl || !pStepCount)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaLinearVolumeItfImpl_GetMaxVolumeLevel");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-    if (ret == XA_RESULT_SUCCESS)
-        {
-        if (impl->adapCtx && impl->adapCtx->fwtype == FWMgrFWMMF)
-            {
-            ret = XANokiaLinearVolumeItfAdapt_GetStepCount(
-                    (XAAdaptationMMFCtx*) impl->adapCtx, pStepCount);
-            }
-    
-        XAAdaptationBase_ThreadExit(impl->adapCtx);
-        }
-    DEBUG_API("<-XANokiaLinearVolumeItfImpl_GetMaxVolumeLevel");
-    return ret;
-    }
-
-XAresult XANokiaLinearVolumeItfImpl_SetCallbackEventsMask(
-        XANokiaLinearVolumeItf self, XAuint32 eventFlags)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaLinearVolumeItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XANokiaLinearVolumeItfImpl_SetCallbackEventsMask");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        DEBUG_API("<-XANokiaLinearVolumeItfImpl_SetCallbackEventsMask");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->eventFlags = eventFlags;
-
-    DEBUG_API("<-XANokiaLinearVolumeItfImpl_SetCallbackEventsMask");
-    return ret;
-    }
-
-XAresult XANokiaLinearVolumeItfImpl_GetCallbackEventsMask(
-        XANokiaLinearVolumeItf self, XAuint32 * pEventFlags)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaLinearVolumeItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XANokiaLinearVolumeItfImpl_GetCallbackEventsMask");
-
-    if (!impl || !pEventFlags)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        DEBUG_API("<-XANokiaLinearVolumeItfImpl_GetCallbackEventsMask");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pEventFlags = impl->eventFlags;
-
-    DEBUG_API("<-XANokiaLinearVolumeItfImpl_GetCallbackEventsMask");
-    return ret;
-    }
-
-/**
- * XANokiaLinearVolumeItfImpl -specific methods
- **/
-
-/**
- * XANokiaLinearVolumeItfImpl* XANokiaLinearVolumeItfImpl_Create()
- * Description: Allocate and initialize VolumeItfImpl
- **/
-XANokiaLinearVolumeItfImpl* XANokiaLinearVolumeItfImpl_Create(
-        XAAdaptationBaseCtx *adapCtx)
-    {
-    XANokiaLinearVolumeItfImpl *self = (XANokiaLinearVolumeItfImpl*) calloc(
-            1, sizeof(XANokiaLinearVolumeItfImpl));
-    DEBUG_API("->XANokiaLinearVolumeItfImpl_Create");
-
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.GetStepCount = XANokiaLinearVolumeItfImpl_GetStepCount;
-        self->itf.GetVolumeLevel = XANokiaLinearVolumeItfImpl_GetVolumeLevel;
-        self->itf.SetVolumeLevel = XANokiaLinearVolumeItfImpl_SetVolumeLevel;
-        self->itf.RegisterVolumeCallback
-                = XANokiaLinearVolumeItfImpl_RegisterVolumeCallback;
-        self->itf.SetCallbackEventsMask
-                = XANokiaLinearVolumeItfImpl_SetCallbackEventsMask;
-        self->itf.GetCallbackEventsMask
-                = XANokiaLinearVolumeItfImpl_GetCallbackEventsMask;
-        /* init variables */
-        self->volumeLevel = 0;
-
-        self->adapCtx = adapCtx;
-
-        XAAdaptationBase_AddEventHandler(adapCtx,
-                &XANokiaLinearVolumeItfImpl_AdaptCb,
-                XA_NOKIALINEARVOLITFEVENTS, self);
-
-        self->self = self;
-        }
-
-    DEBUG_API("<-XANokiaLinearVolumeItfImpl_Create");
-    return self;
-    }
-
-/**
- * void XANokiaLinearVolumeItfImpl_Free(XANokiaLinearVolumeItfImpl* self)
- * Description: Free all resources reserved at XANokiaLinearVolumeItfImpl_Create
- **/
-void XANokiaLinearVolumeItfImpl_Free(XANokiaLinearVolumeItfImpl* self)
-    {
-    DEBUG_API("->XANokiaLinearVolumeItfImpl_Free");
-    assert(self==self->self);
-    free(self);
-    DEBUG_API("<-XANokiaLinearVolumeItfImpl_Free");
-    }
-
-/* void XANokiaLinearVolumeItfimpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event )
- * Description: Event handler for adaptation events
- */
-void XANokiaLinearVolumeItfImpl_AdaptCb(void *pHandlerCtx,
-        XAAdaptEvent *event)
-    {
-    XANokiaLinearVolumeItfImpl* impl =
-            (XANokiaLinearVolumeItfImpl*) pHandlerCtx;
-    XAboolean eventBoolean = XA_BOOLEAN_FALSE;
-
-    DEBUG_API("->XANokiaLinearVolumeItfimpl_AdaptCb");
-
-    if (!impl || !event)
-        {
-        DEBUG_ERR("XANokiaLinearVolumeItfImpl_AdaptCb, invalid context pointer!");
-        DEBUG_API("<-XANokiaLinearVolumeItfImpl_AdaptCb");
-        return;
-        }
-    
-    if (event->eventid == XA_ADAPT_VOLUME_VOLUME_CHANGED && impl->callback)
-        {
-        if (XA_NOKIALINEARVOLUME_EVENT_VOLUME_CHANGED & impl->eventFlags)
-            {
-            DEBUG_API("Volume level changed in adaptation");
-            impl->callback(impl->cbPtrToSelf, impl->context,
-                    XA_NOKIALINEARVOLUME_EVENT_VOLUME_CHANGED, eventBoolean);
-            }
-        }
-    DEBUG_API("<-XANokiaLinearVolumeItfimpl_AdaptCb");
-    }
--- a/khronosfws/openmax_al/src/common/xanokiavolumeext_iid.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Nokia Volume Interface Extension IID
- *
- */
-
-
-#include "openmaxalwrapper.h"
-
-/*****************************************************************************/
-/* Interface IDs                                                             */
-/*****************************************************************************/
-/*ca2193c0-260e-11df-a99f-0002a5d5c51b*/
-static const struct XAInterfaceID_ XA_IID_NOKIAVOLUMEEXT_ = { 0xca2193c0, 0x260e, 0x11df, 0xa99f, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_NOKIAVOLUMEEXT = &XA_IID_NOKIAVOLUMEEXT_;
-
--- a/khronosfws/openmax_al/src/common/xanokiavolumeextitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,540 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: 
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#include "xanvolumeextitf.h"
-#include "xanokiavolumeextitfadaptationmmf.h"
-
-/**
- * XANokiaVolumeExtItfImpl* GetImpl(XANokiaVolumeExtItf self)
- * Description: Validated interface pointer and cast it to implementations pointer.
- **/
-static XANokiaVolumeExtItfImpl* GetImpl(XANokiaVolumeExtItf self)
-    {
-    if (self)
-        {
-        XANokiaVolumeExtItfImpl* impl = (XANokiaVolumeExtItfImpl*) (*self);
-        if (impl && impl == impl->self)
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-/**
- * XAresult XANokiaVolumeExtItfImpl_RegisterVolumeCallback(XANokiaVolumeExtItf self,
- *                                               xaNokiaVolumeExtCallback callback,
- *                                               void * pContext)
- * Description: Sets or clears the xaVolumeCallback.
- **/
-XAresult XANokiaVolumeExtItfImpl_RegisterVolumeCallback(
-        XANokiaVolumeExtItf self, xaNokiaVolumeExtCallback callback,
-        void * pContext)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaVolumeExtItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XANokiaVolumeExtItfImpl_RegisterVolumeCallback");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_RegisterVolumeCallback");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->callback = callback;
-    impl->context = pContext;
-    impl->cbPtrToSelf = self;
-
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_RegisterVolumeCallback");
-    return ret;
-    }
-
-/**
- * Base interface XANokiaVolumeExtItf implementation
- */
-
-/**
- * XAresult XANokiaVolumeExtItfImpl_SetVolumeLevel(XANokiaVolumeExtItf self, XAmillibel level)
- * Description: Sets the object's volume level.
- **/
-XAresult XANokiaVolumeExtItfImpl_SetVolumeLevel(XANokiaVolumeExtItf self,
-        XAmillibel level)
-    {
-    XANokiaVolumeExtItfImpl *impl = GetImpl(self);
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    XAmillibel maximumLevel = 0;
-
-    DEBUG_API("->XANokiaVolumeExtItfImpl_SetVolumeLevel");
-
-    /* check maximum volume level */
-    if (XANokiaVolumeExtItfImpl_GetMaxVolumeLevel(self, &maximumLevel)
-            != XA_RESULT_SUCCESS)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_SetVolumeLevel");
-        /* cannot solve maximum volume level */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (!impl || level > maximumLevel)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_SetVolumeLevel");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->volumeLevel = level;
-
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_SetVolumeLevel");
-    return ret;
-    }
-
-/**
- * XAresult XANokiaVolumeExtItfImpl_GetVolumeLevel(XANokiaVolumeExtItf self, XAmillibel *pLevel)
- * Description: Gets the object’s volume level.
- **/
-XAresult XANokiaVolumeExtItfImpl_GetVolumeLevel(XANokiaVolumeExtItf self,
-        XAmillibel *pLevel)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaVolumeExtItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XANokiaVolumeExtItfImpl_GetVolumeLevel");
-
-    if (!impl || !pLevel)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_GetVolumeLevel");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pLevel = impl->volumeLevel;
-
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_GetVolumeLevel");
-    return ret;
-    }
-
-/**
- * XAresult XANokiaVolumeExtItfImpl_GetMaxVolumeLevel(XANokiaVolumeExtItf  self, XAmillibel *pMaxLevel)
- * Description: Gets the maximum supported level.
- **/
-XAresult XANokiaVolumeExtItfImpl_GetMaxVolumeLevel(XANokiaVolumeExtItf self,
-        XAmillibel *pMaxLevel)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaVolumeExtItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XANokiaVolumeExtItfImpl_GetVolumeLevel");
-
-    if (!impl || !pMaxLevel)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_GetMaxVolumeLevel");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pMaxLevel = MAX_SUPPORT_VOLUME_LEVEL;
-
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_GetMaxVolumeLevel");
-    return ret;
-    }
-
-/**
- * XAresult XANokiaVolumeExtItfImpl_SetMute(XANokiaVolumeExtItf self, XAboolean mute)
- * Description: Mutes or unmutes the object.
- **/
-XAresult XANokiaVolumeExtItfImpl_SetMute(XANokiaVolumeExtItf self,
-        XAboolean mute)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaVolumeExtItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XANokiaVolumeExtItfImpl_SetMute");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_SetMute");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-    if (ret == XA_RESULT_SUCCESS)
-        {
-        /* check is mute state changed */
-        if (mute != impl->mute)
-            {
-            if (impl->adapCtx && impl->adapCtx->fwtype == FWMgrFWMMF)
-                {
-                ret = XANokiaVolumeExtItfAdapt_SetMute(
-                        (XAAdaptationMMFCtx*) impl->adapCtx, mute);
-                if (ret == XA_RESULT_SUCCESS)
-                    {
-                    impl->mute = mute;
-                    }
-                }
-            }
-
-        XAAdaptationBase_ThreadExit(impl->adapCtx);
-        }
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_SetMute");
-    return ret;
-    }
-
-/**
- * XAresult XANokiaVolumeExtItfImpl_GetMute(XANokiaVolumeExtItf self, XAboolean *pMute)
- * Description: Retrieves the object's state.
- **/
-XAresult XANokiaVolumeExtItfImpl_GetMute(XANokiaVolumeExtItf self,
-        XAboolean *pMute)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaVolumeExtItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XANokiaVolumeExtItfImpl_GetMute");
-
-    if (!impl || !pMute)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_GetMute");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pMute = impl->mute;
-
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_GetMute");
-    return ret;
-    }
-
-/**
- * XAresult XANokiaVolumeExtItfImpl_EnableStereoPosition(XANokiaVolumeExtItf self, XAboolean enable)
- * Description: Enables or disables the stereo positioning effect.
- **/
-XAresult XANokiaVolumeExtItfImpl_EnableStereoPosition(
-        XANokiaVolumeExtItf self, XAboolean enable)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaVolumeExtItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XANokiaVolumeExtItfImpl_EnableStereoPosition");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_EnableStereoPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-    if (ret == XA_RESULT_PARAMETER_INVALID || ret
-            == XA_RESULT_PRECONDITIONS_VIOLATED)
-        {
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_EnableStereoPosition");
-        return ret;
-        }
-    /* Check is stereo position state changed */
-    if (enable != impl->enableStereoPos)
-        {
-        if (impl->adapCtx->fwtype == FWMgrFWMMF)
-            {
-            ret = XANokiaVolumeExtItfAdapt_EnableStereoPosition(
-                    (XAAdaptationMMFCtx*) impl->adapCtx, enable);
-            }
-
-        if (ret == XA_RESULT_SUCCESS)
-            {
-            impl->enableStereoPos = enable;
-            }
-        }
-
-    XAAdaptationBase_ThreadExit(impl->adapCtx);
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_EnableStereoPosition");
-    return ret;
-    }
-
-/**
- * XAresult XANokiaVolumeExtItfImpl_IsEnabledStereoPosition(XANokiaVolumeExtItf self,
- *                                                  XAboolean *pEnable)
- * Description: Returns the enabled state of the stereo positioning effect.
- **/
-XAresult XANokiaVolumeExtItfImpl_IsEnabledStereoPosition(
-        XANokiaVolumeExtItf self, XAboolean *pEnable)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaVolumeExtItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XANokiaVolumeExtItfImpl_IsEnabledStereoPosition");
-
-    if (!impl || !pEnable)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_IsEnabledStereoPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pEnable = impl->enableStereoPos;
-
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_IsEnabledStereoPosition");
-    return ret;
-    }
-
-/**
- * XAresult XANokiaVolumeExtItfImpl_SetStereoPosition(XANokiaVolumeExtItf self,
- *                                            XApermille stereoPosition)
- * Description: Sets the stereo position of the object.
- **/
-XAresult XANokiaVolumeExtItfImpl_SetStereoPosition(XANokiaVolumeExtItf self,
-        XApermille stereoPosition)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaVolumeExtItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XANokiaVolumeExtItfImpl_SetStereoPosition");
-
-    if (!impl || (stereoPosition < STEREO_POSITION_LEFT) || (stereoPosition
-            > STEREO_POSITION_RIGHT))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_SetStereoPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->stereoPosition = stereoPosition;
-
-    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-    if (ret == XA_RESULT_PARAMETER_INVALID || ret
-            == XA_RESULT_PRECONDITIONS_VIOLATED)
-        {
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_SetStereoPosition");
-        return ret;
-        }
-    /* check is stereo position effect enabled if is then handle effect */
-    if (impl->enableStereoPos)
-        {
-        if (impl->adapCtx->fwtype == FWMgrFWMMF)
-            {
-            ret = XANokiaVolumeExtItfAdapt_SetStereoPosition(
-                    (XAAdaptationMMFCtx*) impl->adapCtx, stereoPosition);
-
-            }
-        }
-
-    XAAdaptationBase_ThreadExit(impl->adapCtx);
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_SetStereoPosition");
-    return ret;
-    }
-
-/**
- * XAresult XANokiaVolumeExtItfImpl_GetStereoPosition(XANokiaVolumeExtItf self,
- *                                            XApermille *pStereoPosition)
- * Description: Gets the object’s stereo position setting.
- **/
-XAresult XANokiaVolumeExtItfImpl_GetStereoPosition(XANokiaVolumeExtItf self,
-        XApermille *pStereoPosition)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaVolumeExtItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XANokiaVolumeExtItfImpl_GetStereoPosition");
-
-    if (!impl || !pStereoPosition)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_GetStereoPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pStereoPosition = impl->stereoPosition;
-
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_GetStereoPosition");
-    return ret;
-    }
-
-XAresult XANokiaVolumeExtItfImpl_SetCallbackEventsMask(
-        XANokiaVolumeExtItf self, XAuint32 eventFlags)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaVolumeExtItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XANokiaVolumeExtItfImpl_SetCallbackEventsMask");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_SetCallbackEventsMask");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->eventFlags = eventFlags;
-
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_SetCallbackEventsMask");
-    return ret;
-    }
-
-XAresult XANokiaVolumeExtItfImpl_GetCallbackEventsMask(
-        XANokiaVolumeExtItf self, XAuint32 * pEventFlags)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XANokiaVolumeExtItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XANokiaVolumeExtItfImpl_GetCallbackEventsMask");
-
-    if (!impl || !pEventFlags)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_GetCallbackEventsMask");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pEventFlags = impl->eventFlags;
-
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_GetCallbackEventsMask");
-    return ret;
-    }
-
-/**
- * XANokiaVolumeExtItfImpl -specific methods
- **/
-
-/**
- * XANokiaVolumeExtItfImpl* XANokiaVolumeExtItfImpl_Create()
- * Description: Allocate and initialize VolumeItfImpl
- **/
-XANokiaVolumeExtItfImpl* XANokiaVolumeExtItfImpl_Create(
-        XAAdaptationBaseCtx *adapCtx)
-    {
-    XANokiaVolumeExtItfImpl *self = (XANokiaVolumeExtItfImpl*) calloc(1,
-            sizeof(XANokiaVolumeExtItfImpl));
-    DEBUG_API("->XANokiaVolumeExtItfImpl_Create");
-
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.EnableStereoPosition
-                = XANokiaVolumeExtItfImpl_EnableStereoPosition;
-        self->itf.GetMaxVolumeLevel
-                = XANokiaVolumeExtItfImpl_GetMaxVolumeLevel;
-        self->itf.GetMute = XANokiaVolumeExtItfImpl_GetMute;
-        self->itf.GetStereoPosition
-                = XANokiaVolumeExtItfImpl_GetStereoPosition;
-        self->itf.GetVolumeLevel = XANokiaVolumeExtItfImpl_GetVolumeLevel;
-        self->itf.IsEnabledStereoPosition
-                = XANokiaVolumeExtItfImpl_IsEnabledStereoPosition;
-        self->itf.SetMute = XANokiaVolumeExtItfImpl_SetMute;
-        self->itf.SetStereoPosition
-                = XANokiaVolumeExtItfImpl_SetStereoPosition;
-        self->itf.SetVolumeLevel = XANokiaVolumeExtItfImpl_SetVolumeLevel;
-        self->itf.RegisterVolumeCallback
-                = XANokiaVolumeExtItfImpl_RegisterVolumeCallback;
-        self->itf.SetCallbackEventsMask
-                = XANokiaVolumeExtItfImpl_SetCallbackEventsMask;
-        self->itf.GetCallbackEventsMask
-                = XANokiaVolumeExtItfImpl_GetCallbackEventsMask;
-
-        /* init variables */
-        self->volumeLevel = 0;
-        self->mute = XA_BOOLEAN_FALSE;
-        self->enableStereoPos = XA_BOOLEAN_FALSE;
-        self->stereoPosition = STEREO_POSITION_CENTER;
-
-        self->adapCtx = adapCtx;
-
-        XAAdaptationBase_AddEventHandler(adapCtx,
-                &XANokiaVolumeExtItfImpl_AdaptCb, XA_NOKIAEXTVOLITFEVENTS,
-                self);
-
-        self->self = self;
-        }
-
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_Create");
-    return self;
-    }
-
-/**
- * void XANokiaVolumeExtItfImpl_Free(XANokiaVolumeExtItfImpl* self)
- * Description: Free all resources reserved at XANokiaVolumeExtItfImpl_Create
- **/
-void XANokiaVolumeExtItfImpl_Free(XANokiaVolumeExtItfImpl* self)
-    {
-    DEBUG_API("->XANokiaVolumeExtItfImpl_Free");
-    assert(self==self->self);
-    free(self);
-    DEBUG_API("<-XANokiaVolumeExtItfImpl_Free");
-    }
-
-/* void XANokiaVolumeExtItfimpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event )
- * Description: Event handler for adaptation events
- */
-void XANokiaVolumeExtItfImpl_AdaptCb(void *pHandlerCtx, XAAdaptEvent *event)
-    {
-    XANokiaVolumeExtItfImpl* impl = (XANokiaVolumeExtItfImpl*) pHandlerCtx;
-    XAboolean eventBoolean = XA_BOOLEAN_FALSE;
-
-    DEBUG_API("->XANokiaVolumeExtItfimpl_AdaptCb");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XANokiaVolumeExtItfImpl_AdaptCb, invalid context pointer!");
-        DEBUG_API("<-XANokiaVolumeExtItfImpl_AdaptCb");
-        return;
-        }
-    assert(event);
-
-    if (event->eventid == XA_ADAPT_VOLUME_MUTE_CHANGED && impl->callback)
-        {
-        if (impl->eventFlags & XA_NOKIAVOLUMEEXT_EVENT_MUTE_CHANGED)
-            {
-            DEBUG_API("Mute Status  changed in adaptation");
-            eventBoolean = *(XAboolean*) event->data;
-            impl->callback(impl->cbPtrToSelf, impl->context,
-                    XA_NOKIAVOLUMEEXT_EVENT_MUTE_CHANGED, eventBoolean);
-            }
-        }
-
-    else if (event->eventid == XA_ADAPT_VOLUME_VOLUME_CHANGED)
-        {
-        if (impl->eventFlags & XA_NOKIAVOLUMEEXT_EVENT_VOLUME_CHANGED)
-            {
-            DEBUG_API("Volume Status  changed in adaptation");
-            eventBoolean = *(XAboolean*) event->data;
-            impl->callback(impl->cbPtrToSelf, impl->context,
-                    XA_NOKIAVOLUMEEXT_EVENT_VOLUME_CHANGED, eventBoolean);
-            }
-        }
-    else if (event->eventid == XA_ADAPT_VULOME_STEREOPOSITION_CHANGED)
-        {
-        if (impl->eventFlags
-                & XA_NOKIAVOLUMEEXT_EVENT_STEREO_POSITION_CHANGED)
-            {
-            DEBUG_API("StereoPosituin Status  changed in adaptation");
-            eventBoolean = *(XAboolean*) event->data;
-            impl->callback(impl->cbPtrToSelf, impl->context,
-                    XA_NOKIAVOLUMEEXT_EVENT_STEREO_POSITION_CHANGED,
-                    eventBoolean);
-            }
-        }
-
-    DEBUG_API("<-XANokiaVolumeExtItfimpl_AdaptCb");
-    }
--- a/khronosfws/openmax_al/src/common/xanvolumeextitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: 
- *
- */
-
-#ifndef XANVOLUMEEXTITF_H
-#define XANVOLUMEEXTITF_H
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaadptbasectx.h"
-
-/** MACROS **/
-
-/* Max volume level is implementation-dependent but must be at least 0mB
- * now used max volume 10 mB
- */
-#define MAX_VOLUME_LEVEL 10
-#define MAX_VOLUME_AT_LEAST 0
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XANokiaVolumeExtItf implementation */
-typedef struct XANokiaVolumeExtItfImpl_
-    {
-    /* parent interface */
-    struct XANokiaVolumeExtItf_ itf;
-    /* pointer to self */
-    struct XANokiaVolumeExtItfImpl_* self;
-
-    XAmillibel volumeLevel;
-    XAboolean mute;
-    XAboolean enableStereoPos;
-    XApermille stereoPosition;
-    XAuint32 eventFlags;
-    XANokiaVolumeExtItf cbPtrToSelf;
-    xaNokiaVolumeExtCallback callback;
-    void *context;
-
-    /*Adaptation variables*/
-    XAAdaptationBaseCtx *adapCtx;
-
-    } XANokiaVolumeExtItfImpl;
-
-/** METHODS **/
-
-/* Base interface XANokiaVolumeExtItf implementation */
-XAresult XANokiaVolumeExtItfImpl_SetVolumeLevel(XANokiaVolumeExtItf self,
-        XAmillibel level);
-
-XAresult XANokiaVolumeExtItfImpl_GetVolumeLevel(XANokiaVolumeExtItf self,
-        XAmillibel *pLevel);
-
-XAresult XANokiaVolumeExtItfImpl_GetMaxVolumeLevel(XANokiaVolumeExtItf self,
-        XAmillibel *pMaxLevel);
-
-XAresult XANokiaVolumeExtItfImpl_SetMute(XANokiaVolumeExtItf self,
-        XAboolean mute);
-
-XAresult XANokiaVolumeExtItfImpl_GetMute(XANokiaVolumeExtItf self,
-        XAboolean *pMute);
-
-XAresult XANokiaVolumeExtItfImpl_EnableStereoPosition(
-        XANokiaVolumeExtItf self, XAboolean enable);
-
-XAresult XANokiaVolumeExtItfImpl_IsEnabledStereoPosition(
-        XANokiaVolumeExtItf self, XAboolean *pEnable);
-
-XAresult XANokiaVolumeExtItfImpl_SetStereoPosition(XANokiaVolumeExtItf self,
-        XApermille stereoPosition);
-
-XAresult XANokiaVolumeExtItfImpl_GetStereoPosition(XANokiaVolumeExtItf self,
-        XApermille *pStereoPosition);
-
-XAresult XANokiaVolumeExtItfImpl_RegisterVolumeCallback(
-        XANokiaVolumeExtItf self, xaNokiaVolumeExtCallback callback,
-        void * pContext);
-XAresult XANokiaVolumeExtItfImpl_SetCallbackEventsMask(
-        XANokiaVolumeExtItf self, XAuint32 eventFlags);
-XAresult XANokiaVolumeExtItfImpl_GetCallbackEventsMask(
-        XANokiaVolumeExtItf self, XAuint32 * pEventFlags);
-
-/* XANokiaVolumeExtItfImpl -specific methods */
-XANokiaVolumeExtItfImpl* XANokiaVolumeExtItfImpl_Create(
-        XAAdaptationBaseCtx *adapCtx);
-void XANokiaVolumeExtItfImpl_Free(XANokiaVolumeExtItfImpl* self);
-void XANokiaVolumeExtItfImpl_AdaptCb(void *pHandlerCtx, XAAdaptEvent *event);
-
-#endif /* XANVOLUMEEXTITF_H */
--- a/khronosfws/openmax_al/src/common/xaobjectitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,499 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Object Interface Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#include "xaobjectitf.h"
-
-/**
- * Base interface XAObjectItf implementation
- */
-XAresult XAObjectItfImpl_Realize(XAObjectItf self, XAboolean async)
-    {
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*self);
-    XAresult retval = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAObjectItfImpl_Realize");
-    if (!pObjImp || pObjImp != pObjImp->self)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAObjectItfImpl_Realize");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (async)
-        {
-        /* invoke asynchronously */
-        if (!pObjImp->callBack)
-            {
-            retval = XA_RESULT_PARAMETER_INVALID;
-            }
-        else
-            {
-            /* check if another async operation is processed */
-            if (pObjImp->asyncOngoing)
-                {
-                /* abort ongoing operation */
-                XAImpl_CancelThread(pObjImp->asyncThr);
-                }
-            pObjImp->asyncOngoing = XA_BOOLEAN_TRUE;
-            if (XAImpl_StartThread(pObjImp->asyncThr, NULL,
-                    XAObjectItfImpl_AsyncRealize, (void*) (self)))
-                {
-                pObjImp->asyncOngoing = XA_BOOLEAN_FALSE;
-                retval = XA_RESULT_RESOURCE_ERROR;
-                }
-            else
-                {
-                retval = XA_RESULT_SUCCESS;
-                }
-            }
-        }
-    else
-        {
-        /* Check if the object is in unrealized state */
-        if (pObjImp->state != XA_OBJECT_STATE_UNREALIZED)
-            {
-            DEBUG_ERR("XA_RESULT_PRECONDITIONS_VIOLATED");
-            DEBUG_API("<-XAObjectItfImpl_Realize");
-            return XA_RESULT_PRECONDITIONS_VIOLATED;
-            }
-        /* invoke synchronously */
-        if (pObjImp->DoRealizeImpl)
-            {
-            retval = pObjImp->DoRealizeImpl(self);
-            }
-        }
-    DEBUG_API("<-XAObjectItfImpl_Realize");
-    return retval;
-    }
-
-XAresult XAObjectItfImpl_Resume(XAObjectItf self, XAboolean async)
-    {
-    XAresult retval = XA_RESULT_SUCCESS;
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*self);
-    DEBUG_API("->XAObjectItfImpl_Resume");
-
-    if (!pObjImp || pObjImp != pObjImp->self)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAObjectItfImpl_Resume");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    if (async)
-        {
-        /* invoke asynchronously */
-        if (!pObjImp->callBack)
-            {
-            retval = XA_RESULT_PARAMETER_INVALID;
-            }
-        else
-            {
-            /* check if another async operation is processed */
-            if (pObjImp->asyncOngoing)
-                {
-                /* abort ongoing operation */
-                XAImpl_CancelThread(pObjImp->asyncThr);
-                }
-            pObjImp->asyncOngoing = XA_BOOLEAN_TRUE;
-            if (XAImpl_StartThread(pObjImp->asyncThr, NULL,
-                    XAObjectItfImpl_AsyncResume, (void*) (self)))
-                {
-                pObjImp->asyncOngoing = XA_BOOLEAN_FALSE;
-                retval = XA_RESULT_RESOURCE_ERROR;
-                }
-            else
-                {
-                retval = XA_RESULT_SUCCESS;
-                }
-            }
-        }
-    else
-        {
-        /* invoke synchronously */
-        if (pObjImp->DoResumeImpl)
-            {
-            retval = pObjImp->DoResumeImpl(self);
-            }
-        }
-    DEBUG_API("<-XAObjectItfImpl_Resume");
-    return retval;
-    }
-
-XAresult XAObjectItfImpl_GetState(XAObjectItf self, XAuint32 *pState)
-    {
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*self);
-    DEBUG_API("->XAObjectItfImpl_GetState");
-    if (!pObjImp || pObjImp != pObjImp->self || !pState)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAObjectItfImpl_GetState");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    *pState = pObjImp->state;
-
-    DEBUG_API("<-XAObjectItfImpl_GetState");
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult XAObjectItfImpl_GetInterface(XAObjectItf self,
-        const XAInterfaceID iid, void *pInterface)
-    {
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*self);
-    XAObjItfMapEntry *mapEntry = NULL;
-    DEBUG_API("->XAObjectItfImpl_GetInterface");
-
-    if (!pObjImp || pObjImp != pObjImp->self || !pInterface || !iid)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAObjectItfImpl_GetInterface");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (pObjImp->state != XA_OBJECT_STATE_REALIZED)
-        {
-        DEBUG_ERR("XA_RESULT_PRECONDITIONS_VIOLATED");
-        DEBUG_API("<-XAObjectItfImpl_GetInterface");
-        /*state is not correct */
-        return XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-
-    mapEntry = XAObjectItfImpl_GetItfEntry(self, iid);
-    if (mapEntry && mapEntry->pItf)
-        {
-        *(void**) pInterface = &(mapEntry->pItf);
-        DEBUG_API("<-XAObjectItfImpl_GetInterface");
-        return XA_RESULT_SUCCESS;
-        }
-    else
-        {
-        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
-        DEBUG_API("<-XAObjectItfImpl_GetInterface");
-        return XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-    }
-
-XAresult XAObjectItfImpl_RegisterCallback(XAObjectItf self,
-        xaObjectCallback callback, void *pContext)
-    {
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*self);
-    DEBUG_API("->XAObjectItfImpl_RegisterCallback");
-
-    if (!pObjImp || pObjImp != pObjImp->self)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAObjectItfImpl_RegisterCallback");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    pObjImp->callBack = callback;
-    pObjImp->context = pContext;
-    pObjImp->cbPtrToSelf = self;
-
-    DEBUG_API("<-XAObjectItfImpl_RegisterCallback");
-    return XA_RESULT_SUCCESS;
-    }
-
-void XAObjectItfImpl_AbortAsyncOperation(XAObjectItf self)
-    {
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*self);
-    DEBUG_API("->XAObjectItfImpl_AbortAsyncOperation");
-
-    if (pObjImp && (pObjImp == pObjImp->self) && pObjImp->callBack
-            && pObjImp->asyncOngoing)
-        {
-        /* abort ongoing operation */
-        XAImpl_CancelThread(pObjImp->asyncThr);
-        }
-
-    DEBUG_API("<-XAObjectItfImpl_AbortAsyncOperation");
-    }
-
-void XAObjectItfImpl_Destroy(XAObjectItf self)
-    {
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*self);
-    DEBUG_API("->XAObjectItfImpl_Destroy");
-
-    if (pObjImp && pObjImp == pObjImp->self)
-        {
-        if (pObjImp->asyncOngoing)
-            {
-            /* abort ongoing operation */
-            XAImpl_CancelThread(pObjImp->asyncThr);
-            }
-        /* free object specific resources */
-        if (pObjImp->FreeResourcesImpl)
-            {
-            pObjImp->FreeResourcesImpl(self);
-            }
-        free(pObjImp->interfaceMap);
-        XAImpl_DeleteThreadHandle(pObjImp->asyncThr);
-        free(pObjImp);
-        }
-
-    DEBUG_API("<-XAObjectItfImpl_Destroy");
-    }
-
-XAresult XAObjectItfImpl_SetPriority(XAObjectItf self, XAint32 priority,
-        XAboolean preemptable)
-    {
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*self);
-    DEBUG_API("->XAObjectItfImpl_SetPriority");
-
-    if (!pObjImp || pObjImp != pObjImp->self)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAObjectItfImpl_SetPriority");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    pObjImp->priority = priority;
-    pObjImp->preemptable = preemptable;
-
-    DEBUG_API("<-XAObjectItfImpl_SetPriority");
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult XAObjectItfImpl_GetPriority(XAObjectItf self, XAint32 *pPriority,
-        XAboolean *pPreemptable)
-    {
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*self);
-    DEBUG_API("->XAObjectItfImpl_GetPriority");
-
-    if (!pObjImp || pObjImp != pObjImp->self)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAObjectItfImpl_GetPriority");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    *pPriority = pObjImp->priority;
-    *pPreemptable = pObjImp->preemptable;
-
-    DEBUG_API("<-XAObjectItfImpl_GetPriority");
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult XAObjectItfImpl_SetLossOfControlInterfaces(XAObjectItf self,
-        XAint16 numInterfaces, XAInterfaceID *pInterfaceIDs,
-        XAboolean enabled)
-    {
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*self);
-    XAint32 itfIndex = 0;
-    XAObjItfMapEntry *mapEntry = NULL;
-    DEBUG_API("->XAObjectItfImpl_SetLossOfControlInterfaces");
-
-    if (!pObjImp || pObjImp != pObjImp->self || !pInterfaceIDs)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAObjectItfImpl_SetLossOfControlInterfaces");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    if (pInterfaceIDs)
-        {
-        for (itfIndex = 0; itfIndex < numInterfaces; itfIndex++)
-            {
-            mapEntry = XAObjectItfImpl_GetItfEntry(self,
-                    pInterfaceIDs[itfIndex]);
-            if (mapEntry)
-                {
-                mapEntry->locEnabled = enabled;
-                }
-            }
-        }
-
-    DEBUG_API("<-XAObjectItfImpl_SetLossOfControlInterfaces");
-    return XA_RESULT_SUCCESS;
-    }
-
-/**
- * XAObjectItfImpl -specific methods
- **/
-
-/*
- * Allocate and init new object itf instance
- */
-XAresult XAObjectItfImpl_Init(XAObjectItfImpl* self, XAuint32 itfCount,
-        const XAInterfaceID** itfIIDs, xaDoRealizeImpl doRealizeImpl,
-        xaDoResumeImpl doResumeImpl, xaFreeResourcesImpl freeResourcesImpl)
-    {
-    XAuint32 i = 0;
-    DEBUG_API("->XAObjectItfImpl_Init");
-
-    assert( self && itfIIDs && doRealizeImpl && doResumeImpl && freeResourcesImpl );
-
-    self->interfaceMap = (XAObjItfMapEntry*) calloc(itfCount,
-            sizeof(XAObjItfMapEntry));
-    if (!self->interfaceMap)
-        {
-        free(self);
-        DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-        DEBUG_API("<-XAObjectItfImpl_Init");
-        return XA_RESULT_MEMORY_FAILURE;
-        }
-    if (XAImpl_CreateThreadHandle(&(self->asyncThr)) != XA_RESULT_SUCCESS)
-        {
-        free(self);
-        DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-        DEBUG_API("<-XAObjectItfImpl_Init");
-        return XA_RESULT_MEMORY_FAILURE;
-        }
-    for (i = 0; i < itfCount; i++)
-        {
-        self->interfaceMap[i].mapIdx = i;
-        self->interfaceMap[i].iid = *(itfIIDs[i]);
-        self->interfaceMap[i].pItf = NULL;
-        self->interfaceMap[i].locEnabled = XA_BOOLEAN_FALSE;
-        self->interfaceMap[i].required = XA_BOOLEAN_FALSE;
-        self->interfaceMap[i].isDynamic = XA_BOOLEAN_FALSE;
-        }
-    self->interfaceMap[0].pItf = self;
-    self->interfaceMap[0].required = XA_BOOLEAN_TRUE;
-
-    self->interfaceCount = itfCount;
-    self->priority = XA_PRIORITY_NORMAL;
-    self->preemptable = XA_BOOLEAN_FALSE;
-    self->state = XA_OBJECT_STATE_UNREALIZED;
-    self->callBack = NULL;
-    self->context = NULL;
-    self->asyncOngoing = XA_BOOLEAN_FALSE;
-    self->cbPtrToSelf = NULL;
-
-    self->DoRealizeImpl = doRealizeImpl;
-    self->DoResumeImpl = doResumeImpl;
-    self->FreeResourcesImpl = freeResourcesImpl;
-
-    /* init itf default implementation */
-    self->itf.Realize = XAObjectItfImpl_Realize;
-    self->itf.Resume = XAObjectItfImpl_Resume;
-    self->itf.GetState = XAObjectItfImpl_GetState;
-    self->itf.GetInterface = XAObjectItfImpl_GetInterface;
-    self->itf.RegisterCallback = XAObjectItfImpl_RegisterCallback;
-    self->itf.AbortAsyncOperation = XAObjectItfImpl_AbortAsyncOperation;
-    self->itf.Destroy = XAObjectItfImpl_Destroy;
-    self->itf.SetPriority = XAObjectItfImpl_SetPriority;
-    self->itf.GetPriority = XAObjectItfImpl_GetPriority;
-    self->itf.SetLossOfControlInterfaces
-            = XAObjectItfImpl_SetLossOfControlInterfaces;
-    self->self = self;
-
-    DEBUG_API("<-XAObjectItfImpl_Init");
-    return XA_RESULT_SUCCESS;
-    }
-
-/*
- * Asynchronous invocation of Realize
- */
-void* XAObjectItfImpl_AsyncRealize(void* args)
-    {
-    XAresult retval = XA_RESULT_SUCCESS;
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*(XAObjectItf) (args));
-    DEBUG_API("->XAObjectItfImpl_AsyncRealize");
-
-    if (pObjImp && pObjImp == pObjImp->self)
-        {
-        /* Check if the object is in unrealized state */
-        if (pObjImp->state != XA_OBJECT_STATE_UNREALIZED)
-            {
-            retval = XA_RESULT_PRECONDITIONS_VIOLATED;
-            }
-        else if (pObjImp->DoRealizeImpl)
-            {
-            retval = pObjImp->DoRealizeImpl((XAObjectItf) (args));
-            }
-        if (pObjImp->callBack)
-            {
-            pObjImp->callBack(pObjImp->cbPtrToSelf, pObjImp->context,
-                    XA_OBJECT_EVENT_ASYNC_TERMINATION, retval,
-                    pObjImp->state, NULL);
-            }
-        pObjImp->asyncOngoing = XA_BOOLEAN_FALSE;
-        XAImpl_ExitThread(pObjImp->asyncThr);
-        }
-    else
-        {
-        DEBUG_API("XAObjectItfImpl_AsyncRealize: INVALID args");
-        }
-
-    DEBUG_API("<-XAObjectItfImpl_AsyncRealize");
-    return NULL;
-    }
-
-/*
- * Asynchronous invocation of Resume
- */
-void* XAObjectItfImpl_AsyncResume(void* args)
-    {
-    XAresult retval = XA_RESULT_SUCCESS;
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*(XAObjectItf) (args));
-    DEBUG_API("->XAObjectItfImpl_AsyncResume");
-
-    if (pObjImp && pObjImp == pObjImp->self)
-        {
-        if (pObjImp->DoResumeImpl)
-            {
-            retval = pObjImp->DoResumeImpl((XAObjectItf) (args));
-            }
-        if (pObjImp->callBack)
-            {
-            pObjImp->callBack(pObjImp->cbPtrToSelf, pObjImp->context,
-                    XA_OBJECT_EVENT_ASYNC_TERMINATION, retval,
-                    pObjImp->state, NULL);
-            }
-        pObjImp->asyncOngoing = XA_BOOLEAN_FALSE;
-        XAImpl_ExitThread(pObjImp->asyncThr);
-        }
-    else
-        {
-        DEBUG_API("XAObjectItfImpl_AsyncResume: INVALID args");
-        }
-
-    DEBUG_API("<-XAObjectItfImpl_AsyncResume");
-    return NULL;
-    }
-
-XAObjItfMapEntry* XAObjectItfImpl_GetItfEntry(const XAObjectItf self,
-        const XAInterfaceID iid)
-    {
-    XAuint32 mapIndex = 0;
-    XAObjectItfImpl* pObjImp = (XAObjectItfImpl*) (*self);
-    DEBUG_API("->XAObjectItfImpl_GetItfEntry");
-
-    if (pObjImp && (pObjImp == pObjImp->self) && pObjImp->interfaceMap && iid)
-        {
-        /* Check interface */
-        for (mapIndex = 0; mapIndex < pObjImp->interfaceCount; mapIndex++)
-            {
-            if (XACommon_EqualIIds(pObjImp->interfaceMap[mapIndex].iid, iid))
-                {
-                DEBUG_API("<-XAObjectItfImpl_GetItfEntry");
-                return &(pObjImp->interfaceMap[mapIndex]);
-                }
-            }
-        }
-
-    DEBUG_API("<-XAObjectItfImpl_GetItfEntry");
-    return NULL;
-    }
-
--- a/khronosfws/openmax_al/src/common/xaobjectitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: 
- *
- */
-
-#ifndef XAOBJECTITF_H
-#define XAOBJECTITF_H
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaplatform.h"
-
-/** MACROS **/
-
-/** TYPES **/
-/* object-specific function pointers */
-typedef XAresult (*xaDoRealizeImpl)(XAObjectItf self);
-typedef XAresult (*xaDoResumeImpl)(XAObjectItf self);
-typedef void (*xaFreeResourcesImpl)(XAObjectItf self);
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-typedef struct XAObjItfMapEntry_
-    {
-    XAInterfaceID iid;
-    XAuint8 mapIdx;
-    void *pItf;
-    XAboolean locEnabled;
-    XAboolean required;
-    XAboolean isDynamic;
-    } XAObjItfMapEntry;
-
-/* Definition of XAObjectItf implementation */
-typedef struct XAObjectItfImpl_
-    {
-    /* parent interface */
-    struct XAObjectItf_ itf;
-    /* pointer to self */
-    struct XAObjectItfImpl_* self;
-
-    /* variables */
-    XAint32 priority;
-    XAboolean preemptable;
-    XAuint32 state;
-
-    /* array of available interfaces */
-    XAObjItfMapEntry *interfaceMap;
-    XAuint32 interfaceCount;
-
-    /* async related variables */
-    XAImplThreadHandle asyncThr;
-    XAboolean asyncOngoing;
-    xaObjectCallback callBack;
-    void *context;
-    XAObjectItf cbPtrToSelf;
-
-    /* object-specific function implementation pointers */
-    /* (must be implemented by every object) */
-    xaDoRealizeImpl DoRealizeImpl;
-    xaDoResumeImpl DoResumeImpl;
-    xaFreeResourcesImpl FreeResourcesImpl;
-    } XAObjectItfImpl;
-
-/** METHODS **/
-
-/* Base interface XAObjectItf implementation */
-XAresult XAObjectItfImpl_Realize(XAObjectItf self, XAboolean async);
-
-XAresult XAObjectItfImpl_Resume(XAObjectItf self, XAboolean async);
-
-XAresult XAObjectItfImpl_GetState(XAObjectItf self, XAuint32 *pState);
-
-XAresult XAObjectItfImpl_GetInterface(XAObjectItf self,
-        const XAInterfaceID iid, void *pInterface);
-
-XAresult XAObjectItfImpl_RegisterCallback(XAObjectItf self,
-        xaObjectCallback callback, void *pContext);
-
-void XAObjectItfImpl_AbortAsyncOperation(XAObjectItf self);
-
-void XAObjectItfImpl_Destroy(XAObjectItf self);
-
-XAresult XAObjectItfImpl_SetPriority(XAObjectItf self, XAint32 priority,
-        XAboolean preemptable);
-
-XAresult XAObjectItfImpl_GetPriority(XAObjectItf self, XAint32 *pPriority,
-        XAboolean *pPreemptable);
-
-XAresult XAObjectItfImpl_SetLossOfControlInterfaces(XAObjectItf self,
-        XAint16 numInterfaces, XAInterfaceID *pInterfaceIDs,
-        XAboolean enabled);
-
-/* XAObjectItfImpl -specific methods */
-
-/* Allocate and initialize base object */
-XAresult XAObjectItfImpl_Init(XAObjectItfImpl* self, XAuint32 itfCount,
-        const XAInterfaceID** itfIIDs, xaDoRealizeImpl doRealizeImpl,
-        xaDoResumeImpl doResumeImpl, xaFreeResourcesImpl freeResourcesImpl);
-
-/* methods for asynchronous service */
-void* XAObjectItfImpl_AsyncRealize(void* args);
-void* XAObjectItfImpl_AsyncResume(void* args);
-
-XAObjItfMapEntry* XAObjectItfImpl_GetItfEntry(const XAObjectItf self,
-        const XAInterfaceID iid);
-
-#endif /* XAOBJECTITF_H */
--- a/khronosfws/openmax_al/src/common/xaobjects.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Entry Point Functions to Create AL Objects
- *
- */
-/*All global definitions and declarations here */
-
-#ifndef XAOBJECTS_H
-#define XAOBJECTS_H
-
-#include "openmaxalwrapper.h"
-#include "xaframeworkmgr.h"
-#include "xaglobals.h"
-#include "xacapabilitiesmgr.h"
-
-/**
- * GLOBAL METHODS
- */
-
-/*
- * Engine
- */
-XAresult XAEngineImpl_Create(XAObjectItf *pEngine, XAuint32 numOptions,
-        const XAEngineOption *pEngineOptions, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAEngineImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces);
-
-XAresult XAEngineImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId);
-
-/*
- * Media Player
- */
-XAresult XAMediaPlayerImpl_CreateMediaPlayer(FrameworkMap* mapper,
-        XACapabilities* capabilities, XAObjectItf *pPlayer,
-        XADataSource *pDataSrc, XADataSource *pBankSrc,
-        XADataSink *pAudioSnk, XADataSink *pImageVideoSnk,
-        XADataSink *pVibra, XADataSink *pLEDArray, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAMediaPlayerImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces);
-
-XAresult XAMediaPlayerImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId);
-
-/*
- * Metadata Extractor
- */
-XAresult XAMetadataExtractorImpl_Create(FrameworkMap* mapper,
-        XACapabilities* capabilities, XAObjectItf *pMetadataExtractor,
-        XADataSource *pDataSource, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAMetadataExtractorImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces);
-
-XAresult XAMetadataExtractorImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId);
-
-/*
- * Output Mix
- */
-XAresult XAOMixImpl_CreateOutputMix(FrameworkMap* mapper,
-        XACapabilities* capabilities, XAObjectItf *pMix,
-        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAOMixImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces);
-
-XAresult XAOMixImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId);
-
-/*
- * Media Recorder
- */
-XAresult XAMediaRecorderImpl_CreateMediaRecorder(FrameworkMap* mapper,
-        XACapabilities* capabilities, XAObjectItf* pRecorder,
-        XADataSource* pAudioSrc, XADataSource* pImageVideoSrc,
-        XADataSink* pDataSnk, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAMediaRecorderImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces);
-
-XAresult XAMediaRecorderImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId);
-
-/*
- * Camera Device
- */
-XAresult XACameraDeviceImpl_CreateCameraDevice(FrameworkMap* mapper,
-        XACapabilities* capabilities, XAObjectItf* pDevice,
-        XAuint32 deviceID, XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired);
-
-XAresult XACameraDeviceImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces);
-
-XAresult XACameraDeviceImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId);
-
-/*
- * Radio Device
- */
-XAresult XARadioDeviceImpl_CreateRadioDevice( /*FrameworkMap* mapper,*/
-XAObjectItf* pDevice, XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired);
-
-XAresult XARadioDeviceImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces);
-
-XAresult XARadioDeviceImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId);
-
-/*
- * Vibra Device
- */
-XAresult XAVibraDeviceImpl_CreateVibraDevice(FrameworkMap* mapper,
-        XAObjectItf* pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired);
-
-XAresult XAVibraDeviceImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces);
-
-XAresult XAVibraDeviceImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId);
-
-/*
- * LED Array
- */
-XAresult XALEDArrayDeviceImpl_CreateLEDArrayDevice(FrameworkMap* mapper,
-        XAObjectItf* pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired);
-
-XAresult XALEDArrayDeviceImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces);
-
-XAresult XALEDArrayDeviceImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId);
-
-#endif /*XAOBJECTS_H */
--- a/khronosfws/openmax_al/src/common/xaplatform.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Platform Specific Utility Functions
- *
- */
-
-#include <pthread.h>
-#include <semaphore.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <errno.h>
-
-#include "xaplatform.h"
-
-/** MACROS **/
-
-/**********************************************************************
- * mutex management
- **********************************************************************/
-/* define next if platform supports posix error checking mutex type */
-#undef _MUTEXERRORSUPPORT
-
-#ifdef _MUTEXERRORSUPPORT
-typedef pthread_mutex_t XA_MTX;
-#else
-typedef struct
-    {
-    pthread_mutex_t mutex;
-    pthread_t owner;
-    } XA_MTX;
-#endif
-
-XAresult XAImpl_CreateMutex(XAImplMutexHandle *mtx)
-    {
-    XA_MTX *pMtx = (XA_MTX *) malloc(sizeof(XA_MTX));
-    assert(mtx);
-    if (pMtx)
-        {
-        pthread_mutexattr_t *pAttr = NULL;
-#ifdef _MUTEXERRORSUPPORT
-        pthread_mutexattr_t attr;
-        pAttr = &attr;
-        pthread_mutexattr_init(pAttr);
-        pthread_mutexattr_settype(pAttr, PTHREAD_MUTEX_ERRORCHECK);
-        if(pthread_mutex_init(pMtx, pAttr))
-#else
-        if (pthread_mutex_init(&(pMtx->mutex), pAttr))
-#endif
-            {
-            free(pMtx);
-            *mtx = NULL;
-            return XA_RESULT_INTERNAL_ERROR;
-            }
-        *mtx = (XAImplMutexHandle) pMtx;
-        return XA_RESULT_SUCCESS;
-        }
-    else
-        {
-        return XA_RESULT_MEMORY_FAILURE;
-        }
-    }
-
-XAresult XAImpl_LockMutex(XAImplMutexHandle mtx)
-    {
-    XA_MTX *pMtx = (XA_MTX*) mtx;
-    assert(pMtx);
-#ifdef _MUTEXERRORSUPPORT
-    if(pthread_mutex_lock(pMtx))
-        {
-        return XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-#else
-    if (pthread_self() == pMtx->owner || pthread_mutex_unlock(&(pMtx->mutex)))
-        {
-        return XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-    pMtx->owner = pthread_self();
-#endif
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult XAImpl_TryLockMutex(XAImplMutexHandle mtx)
-    {
-    XA_MTX *pMtx = (XA_MTX*) mtx;
-    XAint32 mutexRet;
-    XAresult ret = XA_RESULT_SUCCESS;
-    assert(pMtx);
-
-#ifdef _MUTEXERRORSUPPORT
-    mutexRet = pthread_ mutex_trylock(pMtx);
-    switch (mutexRet)
-        {
-        case EBUSY:
-        /* if mutex is already locked, return permission denied */
-        ret = XA_RESULT_PERMISSION_DENIED;
-        break;
-        case 0:
-        ret = XA_RESULT_SUCCESS;
-        break;
-        default:
-        ret = XA_RESULT_PRECONDITIONS_VIOLATED;
-        break;
-        }
-#else
-    if (pthread_self() == pMtx->owner)
-        {
-        return XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-
-    mutexRet = pthread_mutex_trylock(&(pMtx->mutex));
-    switch (mutexRet)
-        {
-        case EBUSY:
-            /* if mutex is already locked, return permission denied */
-            ret = XA_RESULT_PERMISSION_DENIED;
-            break;
-        case 0:
-            pMtx->owner = pthread_self();
-            ret = XA_RESULT_SUCCESS;
-            break;
-        default:
-            ret = XA_RESULT_PRECONDITIONS_VIOLATED;
-            break;
-        }
-#endif
-    return ret;
-    }
-
-XAresult XAImpl_UnlockMutex(XAImplMutexHandle mtx)
-    {
-    XA_MTX *pMtx = (XA_MTX*) mtx;
-    assert(pMtx);
-#ifdef _MUTEXERRORSUPPORT
-    if(pthread_mutex_lock(pMtx))
-        {
-        return XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-#else
-    if (pthread_self() != pMtx->owner || pthread_mutex_unlock(&(pMtx->mutex)))
-        {
-        return XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-    // Changing the below value to 0 since owner is an unsigned int.
-    // pMtx->owner = -1;
-    pMtx->owner = 0;
-#endif
-    return XA_RESULT_SUCCESS;
-    }
-
-void XAImpl_DeleteMutex(XAImplMutexHandle mtx)
-    {
-    XA_MTX *pMtx = (XA_MTX*) mtx;
-    if (pMtx)
-        {
-#ifdef _MUTEXERRORSUPPORT
-        pthread_mutex_destroy(pMtx);
-#else
-        pthread_mutex_destroy(&(pMtx->mutex));
-#endif
-        free(pMtx);
-        }
-    }
-
-/**********************************************************************
- * semaphores
- **********************************************************************/
-
-XAresult XAImpl_CreateSemaphore(XAImplSemHandle *sem)
-    {
-    sem_t *pSem = (sem_t*) malloc(sizeof(sem_t));
-    assert(sem);
-    if (pSem)
-        {
-        if (sem_init(pSem, 0, 0))
-            {
-            free(pSem);
-            *sem = NULL;
-            return XA_RESULT_INTERNAL_ERROR;
-            }
-        *sem = (XAImplSemHandle) pSem;
-        return XA_RESULT_SUCCESS;
-        }
-    else
-        {
-        return XA_RESULT_MEMORY_FAILURE;
-        }
-    }
-
-XAresult XAImpl_WaitSemaphore(XAImplSemHandle sem)
-    {
-    sem_t* pSem = (sem_t*) sem;
-    assert(pSem);
-    sem_wait(pSem);
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult XAImpl_PostSemaphore(XAImplSemHandle sem)
-    {
-    sem_t *pSem = (sem_t*) sem;
-    assert(pSem);
-    sem_post(pSem);
-    return XA_RESULT_SUCCESS;
-    }
-
-void XAImpl_DeleteSemaphore(XAImplSemHandle sem)
-    {
-    sem_t *pSem = (sem_t*) sem;
-    if (pSem)
-        {
-        sem_destroy(pSem);
-        free(pSem);
-        }
-    }
-
-/**********************************************************************
- * THREADS
- **********************************************************************/
-
-XAresult XAImpl_CreateThreadHandle(XAImplThreadHandle *thd)
-    {
-    pthread_t *pThd = (pthread_t*) malloc(sizeof(pthread_t));
-    assert(thd);
-    if (!pThd)
-        {
-        return XA_RESULT_MEMORY_FAILURE;
-        }
-    *thd = (XAImplThreadHandle) pThd;
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult XAImpl_StartThread(XAImplThreadHandle thd, void *thdattrib,
-        XAImplThreadFunction thdfunc, void* thdfuncargs)
-    {
-    pthread_t *pThd = (pthread_t*) thd;
-    assert(thd);
-    if (pthread_create(pThd, thdattrib, thdfunc, thdfuncargs))
-        {
-        return XA_RESULT_INTERNAL_ERROR;
-        }
-    return XA_RESULT_SUCCESS;
-    }
-
-void XAImpl_CancelThread(XAImplThreadHandle thd)
-    {
-    // int res;
-    // TL: TODO: There is no pthread_cancel API in S60, need to replace
-    //res = pthread_cancel(*pThd);
-
-    }
-
-void XAImpl_ExitThread(XAImplThreadHandle thd)
-    {
-    pthread_exit(NULL);
-    }
-
-void XAImpl_DeleteThreadHandle(XAImplThreadHandle thd)
-    {
-    pthread_t *pThd = (pthread_t*) thd;
-    if (pThd)
-        {
-        free(pThd);
-        }
-    }
-
--- a/khronosfws/openmax_al/src/common/xaplatform.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Platform Specfic Header File
- *
- */
-
-#ifndef XAPLATFORM_H
-#define XAPLATFORM_H
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-
-/** MACROS **/
-
-/** TYPES **/
-
-typedef void* XAImplMutexHandle;
-typedef void* XAImplSemHandle;
-typedef void* XAImplThreadHandle;
-typedef void* (* XAImplThreadFunction)(void *xaThdFunAargs);
-
-/** METHODS **/
-
-/* mutex management */
-XAresult XAImpl_CreateMutex(XAImplMutexHandle *mtx);
-XAresult XAImpl_TryLockMutex(XAImplMutexHandle mtx);
-XAresult XAImpl_LockMutex(XAImplMutexHandle mtx);
-XAresult XAImpl_UnlockMutex(XAImplMutexHandle mtx);
-void XAImpl_DeleteMutex(XAImplMutexHandle mtx);
-
-/* semaphores */
-XAresult XAImpl_CreateSemaphore(XAImplSemHandle *sem);
-XAresult XAImpl_WaitSemaphore(XAImplSemHandle sem);
-XAresult XAImpl_PostSemaphore(XAImplSemHandle sem);
-void XAImpl_DeleteSemaphore(XAImplSemHandle sem);
-
-/* thread management */
-
-XAresult XAImpl_CreateThreadHandle(XAImplThreadHandle *thd);
-XAresult XAImpl_StartThread(XAImplThreadHandle thd, void *thdattrib,
-        XAImplThreadFunction thdfunc, void *thdfuncargs);
-void XAImpl_CancelThread(XAImplThreadHandle thd);
-void XAImpl_ExitThread(XAImplThreadHandle thd);
-void XAImpl_DeleteThreadHandle(XAImplThreadHandle thd);
-
-#endif /* XAPLATFORM_H */
--- a/khronosfws/openmax_al/src/common/xastreaminformationitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Stream Information Interface Implementation
- *
- */
-
-#include <assert.h>
-
-#include "xastreaminformationitf.h"
-
-#include "xastreaminformationitfadaptationmmf.h"
-
-/* XAStreamInformationItfImpl* GetImpl
- * Description: Validate interface pointer and cast it to implementation pointer.
- */
-static XAStreamInformationItfImpl* GetImpl(XAStreamInformationItf self)
-    {
-    if (self)
-        {
-        XAStreamInformationItfImpl* impl =
-                (XAStreamInformationItfImpl*) (*self);
-        if (impl && impl == impl->self)
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-/**
- * Base interface XAPlayItf implementation
- */
-
-XAresult XAStreamInformationItfImpl_QueryMediaContainerInformation(
-        XAStreamInformationItf self, XAMediaContainerInformation * info)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAStreamInformationItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XAStreamInformationItfImpl_QueryMediaContainerInformation");
-    if (!impl || !info || !impl->adapCtx)
-        {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("-<XAStreamInformationItfImpl_QueryMediaContainerInformation");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->adapCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-        if (ret == XA_RESULT_PARAMETER_INVALID)
-            {
-            DEBUG_API("<-XAStreamInformationItfImpl_QueryMediaContainerInformation");
-            return ret;
-            }
-        ret = XAStreamInformationItfAdaptMMF_QueryMediaContainerInformation(
-                impl->adapCtx, &(info->containerType),
-                &(info->mediaDuration), &(info->numStreams));
-        XAAdaptationBase_ThreadExit(impl->adapCtx);
-        }
-
-    DEBUG_API("-<XAStreamInformationItfImpl_QueryMediaContainerInformation");
-    return ret;
-    }
-
-XAresult XAStreamInformationItfImpl_QueryStreamType(
-        XAStreamInformationItf self, XAuint32 streamIndex, XAuint32 *domain)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAStreamInformationItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XAStreamInformationItfImpl_QueryStreamType");
-    if (!impl || !domain || (streamIndex == 0) || !impl->adapCtx)
-        {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("-<XAStreamInformationItfImpl_QueryStreamType");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    if (impl->adapCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-        if (ret == XA_RESULT_PARAMETER_INVALID)
-            {
-            DEBUG_API("<-XAStreamInformationItfImpl_QueryStreamType");
-            return ret;
-            }
-
-        ret = XAStreamInformationItfAdaptMMF_QueryStreamType(impl->adapCtx,
-                streamIndex, domain);
-
-        XAAdaptationBase_ThreadExit(impl->adapCtx);
-        }
-    DEBUG_API("-<XAStreamInformationItfImpl_QueryStreamType");
-    return ret;
-    }
-
-XAresult XAStreamInformationItfImpl_QueryStreamInformation(
-        XAStreamInformationItf self, XAuint32 streamIndex, void * info)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAStreamInformationItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XAStreamInformationItfImpl_QueryStreamInformation");
-    if (!impl || !info || (streamIndex == 0) || !impl->adapCtx)
-        {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("-<XAStreamInformationItfImpl_QueryStreamInformation");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->adapCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-        if (ret == XA_RESULT_PARAMETER_INVALID)
-            {
-            DEBUG_API("<-XAStreamInformationItfImpl_QueryStreamInformation");
-            return ret;
-            }
-
-        ret = XAStreamInformationItfAdaptMMF_QueryStreamInformation(
-                impl->adapCtx, streamIndex, info);
-
-        XAAdaptationBase_ThreadExit(impl->adapCtx);
-        }
-
-    DEBUG_API("-<XAStreamInformationItfImpl_QueryStreamInformation");
-    return ret;
-    }
-
-XAresult XAStreamInformationItfImpl_QueryStreamName(
-        XAStreamInformationItf self, XAuint32 streamIndex,
-        XAuint16 * pNameSize, XAchar * pName)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAStreamInformationItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XAStreamInformationItfImpl_QueryStreamName");
-    if (!impl || (streamIndex == 0) || !pNameSize || !impl->adapCtx)
-        {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("-<XAStreamInformationItfImpl_QueryStreamName");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->adapCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-        if (ret == XA_RESULT_PARAMETER_INVALID)
-            {
-            DEBUG_API("<-XAStreamInformationItfImpl_QueryStreamName");
-            return ret;
-            }
-
-        ret = XAStreamInformationItfAdaptMMF_QueryStreamName(impl->adapCtx,
-                streamIndex, pNameSize, pName);
-
-        XAAdaptationBase_ThreadExit(impl->adapCtx);
-        }
-    DEBUG_API("-<XAStreamInformationItfImpl_QueryStreamName");
-    return ret;
-    }
-
-XAresult XAStreamInformationItfImpl_RegisterStreamChangeCallback(
-        XAStreamInformationItf self, xaStreamEventChangeCallback callback,
-        void * pContext)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAStreamInformationItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XAStreamInformationItfImpl_RegisterStreamChangeCallback");
-    if (!impl)
-        {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("-<XAStreamInformationItfImpl_RegisterStreamChangeCallback");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* callback may be NULL (to remove callback) */
-    impl->callback = callback;
-    impl->cbcontext = pContext;
-    impl->cbPtrToSelf = self;
-
-    DEBUG_API("-<XAStreamInformationItfImpl_RegisterStreamChangeCallback");
-    return ret;
-    }
-
-XAresult XAStreamInformationItfImpl_QueryActiveStreams(
-        XAStreamInformationItf self, XAuint32 *numStreams,
-        XAboolean *activeStreams)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAStreamInformationItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XAStreamInformationItfImpl_QueryActiveStreams");
-    if (!impl || !numStreams || !impl->adapCtx)
-        {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("-<XAStreamInformationItfImpl_QueryActiveStreams");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->adapCtx->fwtype == FWMgrFWGST)
-        {
-        ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-        if (ret == XA_RESULT_PARAMETER_INVALID)
-            {
-            DEBUG_API("<-XAStreamInformationItfImpl_QueryActiveStreams");
-            return ret;
-            }
-
-        ret = XAStreamInformationItfAdaptMMF_QueryActiveStreams(
-                impl->adapCtx, numStreams, activeStreams);
-
-        XAAdaptationBase_ThreadExit(impl->adapCtx);
-        }
-
-    DEBUG_API("-<XAStreamInformationItfImpl_QueryActiveStreams");
-    return ret;
-    }
-
-XAresult XAStreamInformationItfImpl_SetActiveStream(
-        XAStreamInformationItf self, XAuint32 streamNum, XAboolean active,
-        XAboolean commitNow)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAStreamInformationItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XAStreamInformationItfImpl_SetActiveStream");
-    if (!impl || !impl->adapCtx)
-        {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("-<XAStreamInformationItfImpl_SetActiveStream");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->adapCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-        if (ret == XA_RESULT_PARAMETER_INVALID)
-            {
-            DEBUG_API("<-XAStreamInformationItfImpl_SetActiveStream");
-            return ret;
-            }
-
-        ret = XAStreamInformationItfAdaptMMF_SetActiveStream(impl->adapCtx,
-                streamNum, active, commitNow);
-
-        XAAdaptationBase_ThreadExit(impl->adapCtx);
-        }
-
-    DEBUG_API("-<XAStreamInformationItfImpl_SetActiveStream");
-    return ret;
-    }
-
-/**
- * XAStreamInformationItfImpl -specific methods
- **/
-
-/**
- * XAStreamInformationItfImpl* XAStreamInformationItfImpl_Create()
- * Description: Allocate and initialize PlayItfImpl
- **/
-XAStreamInformationItfImpl* XAStreamInformationItfImpl_Create(
-        XAAdaptationBaseCtx *adapCtx)
-    {
-    XAStreamInformationItfImpl *self;
-
-    DEBUG_API("->XAStreamInformationItfImpl_Create");
-    self = (XAStreamInformationItfImpl*) calloc(1,
-            sizeof(XAStreamInformationItfImpl));
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.QueryMediaContainerInformation
-                = XAStreamInformationItfImpl_QueryMediaContainerInformation;
-        self->itf.QueryStreamType
-                = XAStreamInformationItfImpl_QueryStreamType;
-        self->itf.QueryStreamInformation
-                = XAStreamInformationItfImpl_QueryStreamInformation;
-        self->itf.QueryStreamName
-                = XAStreamInformationItfImpl_QueryStreamName;
-        self->itf.RegisterStreamChangeCallback
-                = XAStreamInformationItfImpl_RegisterStreamChangeCallback;
-        self->itf.QueryActiveStreams
-                = XAStreamInformationItfImpl_QueryActiveStreams;
-        self->itf.SetActiveStream
-                = XAStreamInformationItfImpl_SetActiveStream;
-
-        /* init variables */
-        self->cbPtrToSelf = NULL;
-        self->callback = NULL;
-        self->cbcontext = NULL;
-        self->adapCtx = adapCtx;
-
-        self->self = self;
-        }
-
-    DEBUG_API("<-XAStreamInformationItfImpl_Create");
-    return self;
-    }
-
-/* void XAStreamInformationItfImpl_Free(XAStreamInformationItfImpl* self)
- * Description: Free all resources reserved at XAStreamInformationItfImpl_Create
- */
-void XAStreamInformationItfImpl_Free(XAStreamInformationItfImpl* self)
-    {
-    DEBUG_API("->XAStreamInformationItfImpl_Free");
-    if(self)
-        {
-        assert(self==self->self);
-        free(self);
-        }
-    DEBUG_API("<-XAStreamInformationItfImpl_Free");
-    }
-
--- a/khronosfws/openmax_al/src/common/xastreaminformationitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Stream Information Interface Header
- *
- */
-
-#ifndef XASTREAMINFORMATIONITF_H
-#define XASTREAMINFORMATIONITF_H
-
-#include "openmaxalwrapper.h"
-#include "xaadptbasectx.h"
-
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XAStreamInformationItf implementation */
-typedef struct XAStreamInformationItfImpl_
-    {
-    /* parent interface */
-    struct XAStreamInformationItf_ itf;
-    /* pointer to self */
-    struct XAStreamInformationItfImpl_* self;
-
-    /*Adaptation variables*/
-
-    XAStreamInformationItf cbPtrToSelf;
-    xaStreamEventChangeCallback callback;
-    void *cbcontext;
-    XAAdaptationBaseCtx *adapCtx;
-
-    } XAStreamInformationItfImpl;
-
-/** METHODS **/
-
-/* Base interface XAStreamInformationItf implementation */
-XAresult XAStreamInformationItfImpl_QueryMediaContainerInformation(
-        XAStreamInformationItf self, XAMediaContainerInformation * info);
-
-XAresult XAStreamInformationItfImpl_QueryStreamType(
-        XAStreamInformationItf self, XAuint32 streamIndex, XAuint32 *domain);
-
-XAresult XAStreamInformationItfImpl_QueryStreamInformation(
-        XAStreamInformationItf self, XAuint32 streamIndex, void * info);
-
-XAresult XAStreamInformationItfImpl_QueryStreamName(
-        XAStreamInformationItf self, XAuint32 streamIndex,
-        XAuint16 * pNameSize, XAchar * pName);
-
-XAresult XAStreamInformationItfImpl_RegisterStreamChangeCallback(
-        XAStreamInformationItf self, xaStreamEventChangeCallback callback,
-        void * pContext);
-
-XAresult XAStreamInformationItfImpl_QueryActiveStreams(
-        XAStreamInformationItf self, XAuint32 *numStreams,
-        XAboolean *activeStreams);
-
-XAresult XAStreamInformationItfImpl_SetActiveStream(
-        XAStreamInformationItf self, XAuint32 streamNum, XAboolean active,
-        XAboolean commitNow);
-
-/* XAStreamInformationItfImpl -specific methods */
-XAStreamInformationItfImpl* XAStreamInformationItfImpl_Create(
-        XAAdaptationBaseCtx *adapCtx);
-void XAStreamInformationItfImpl_Free(XAStreamInformationItfImpl* self);
-
-#endif /* XASTREAMINFORMATIONITF_H */
--- a/khronosfws/openmax_al/src/common/xathreadsafety.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Thread Safety Implementation
- *
- */
-
-#include <stdlib.h>
-#include "xathreadsafety.h"
-
-typedef struct
-    {
-    XAImplMutexHandle mutexTable[XATSCount];
-    XAboolean tsEnabled;
-    } XAThreadSafetyImpl;
-
-static XAThreadSafetyImpl* threadSafety;
-
-/*
- * XAresult XAThreadSafety_Init()
- * Description: Creates mutex table for thread safety support
- * @return: Success value
- */
-XAresult XAThreadSafety_Init(XAboolean tsEnable)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAint32 i = 0;
-    DEBUG_API_A1("->XAThreadSafety_Init - tsEnable:%lu",tsEnable);
-
-    /* Initialize thread safety only once */
-    if (!threadSafety)
-        {
-        threadSafety = (XAThreadSafetyImpl *) calloc(1,
-                sizeof(XAThreadSafetyImpl));
-        if (!threadSafety)
-            {
-            DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-            DEBUG_API("<-XAThreadSafety_Init");
-            /* memory allocation failed */
-            return XA_RESULT_MEMORY_FAILURE;
-            }
-
-        threadSafety->tsEnabled = tsEnable;
-
-        if (tsEnable)
-            {
-            for (i = 0; i < XATSCount; i++)
-                {
-                ret = XAImpl_CreateMutex(&threadSafety->mutexTable[i]);
-                if (ret != XA_RESULT_SUCCESS)
-                    {
-                    break;
-                    }
-                DEBUG_INFO_A2("Created %s:%x",MEDIAOBJECTNAME(i), threadSafety->mutexTable[i] );
-                }
-            }
-        else
-            {
-            DEBUG_INFO("Thread safety: disabled.");
-            }
-        }
-
-    DEBUG_API("<-XAThreadSafety_Init");
-    return ret;
-    }
-
-/*
- * XAresult XAThreadSafety_Destroy()
- * Description: Destroys mutex table created for thread safety support
- */
-XAresult XAThreadSafety_Destroy()
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAint32 i = 0;
-    DEBUG_API("->XAThreadSafety_Destroy");
-
-    if (threadSafety)
-        {
-        if (threadSafety->tsEnabled)
-            {
-            for (i = 0; i < XATSCount; i++)
-                {
-                DEBUG_INFO_A2("Free %s:%x",MEDIAOBJECTNAME(i), threadSafety->mutexTable[i] );
-                XAImpl_DeleteMutex(threadSafety->mutexTable[i]);
-                }
-            }
-        free(threadSafety);
-        }
-    else
-        {
-        DEBUG_INFO("Thread safety: disabled.");
-        }
-
-    DEBUG_API("<-XAThreadSafety_Destroy");
-    return ret;
-
-    }
-
-/*
- * XAresult XAThreadSafety_Unlock( XAThreadSafetyMediaObjects mediaObject )
- * Description:
- * @param XAThreadSafetyMediaObjects mediaObject
- * @return
- */
-XAresult XAThreadSafety_Unlock(XAThreadSafetyMediaObjects mediaObject)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAThreadSafety_Unlock");
-
-    if (threadSafety)
-        {
-        if (threadSafety->tsEnabled)
-            {
-            ret = XAImpl_UnlockMutex(threadSafety->mutexTable[mediaObject]);
-            if (ret == XA_RESULT_SUCCESS)
-                {
-                DEBUG_INFO_A2("Released lock for %s:%x",MEDIAOBJECTNAME(mediaObject), threadSafety->mutexTable[mediaObject] );
-                }
-            }
-        }
-    else
-        {
-        DEBUG_INFO("Thread safety: disabled.");
-        }
-    DEBUG_API("<-XAThreadSafety_Unlock");
-    return ret;
-    }
-/*
- * XAresult XAThreadSafety_TryLock( XAThreadSafetyMediaObjects mediaObject );
- * Description:
- * @param XAThreadSafetyMediaObjects mediaObject
- * @return
- */
-XAresult XAThreadSafety_TryLock(XAThreadSafetyMediaObjects mediaObject)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAThreadSafety_TryLock");
-
-    if (threadSafety)
-        {
-        if (threadSafety->tsEnabled)
-            {
-            ret = XAImpl_TryLockMutex(threadSafety->mutexTable[mediaObject]);
-            if (ret == XA_RESULT_SUCCESS)
-                {
-                DEBUG_INFO_A2("Locked %s:%x",MEDIAOBJECTNAME(mediaObject), threadSafety->mutexTable[mediaObject] );
-                }
-            }
-        }
-    else
-        {
-        DEBUG_INFO("Thread safety: disabled.");
-        }
-
-    DEBUG_API("<-XAThreadSafety_TryLock");
-    return ret;
-    }
-
--- a/khronosfws/openmax_al/src/common/xathreadsafety.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Thread Safety Header
- *
- */
-
-#ifndef XATHREADSAFETY_H_
-#define XATHREADSAFETY_H_
-
-#include "openmaxalwrapper.h"
-#include "xaplatform.h"
-#include "xadebug.h"
-
-#ifdef _DEBUG
-/*parse media object names for debug prints*/
-
-static const char* mediaobjectnames[5] =
-    {
-            "XATSMediaPlayer",
-            "XATSMediaRecorder",
-            "XATSEngine",
-            "XATSRadio",
-            "XATSMetaDataExtractor"
-    };
-#define MEDIAOBJECTNAME(i) ((i<XATSCount)?mediaobjectnames[i]:"INVALID")
-#endif /*_DEBUG*/
-
-/* MACROS */
-/*
- * XA_IMPL_THREAD_SAFETY_ENTRY( mediaObject )
- * Description: Tries to lock media object specified by parameter. If object is already locked
- * returns error value.
- * @param mediaObject - Index of media object where check is to be done
- * @return: XA_RESULT_PRECONDITIONS_VIOLATED - If shared data mutex is already in use
- * @return: XA_RESULT_INTERNAL_ERROR - If there is problem when reserving mutex
- * @return: In success cases doesn't return
- */
-#define XA_IMPL_THREAD_SAFETY_ENTRY( mediaObject )                                      \
-{                                                                                       \
-    XAresult  mutexRet = XA_RESULT_SUCCESS;                                             \
-    if ( mediaObject > XATSCount )                                                      \
-    {                                                                                   \
-        DEBUG_INFO("Thread safety - invalid mutex reference index");                    \
-        return XA_RESULT_PARAMETER_INVALID;                                             \
-    }                                                                                   \
-    DEBUG_INFO_A1("Thread safety entry for %s",MEDIAOBJECTNAME(mediaObject));           \
-    mutexRet = XAThreadSafety_TryLock( mediaObject );                                   \
-    if ( mutexRet == XA_RESULT_PERMISSION_DENIED )                                      \
-    {                                                                                   \
-        DEBUG_INFO("Media object already locked!");                                     \
-        return XA_RESULT_PRECONDITIONS_VIOLATED;                                        \
-    }                                                                                   \
-    else if ( mutexRet != XA_RESULT_SUCCESS )                                           \
-    {                                                                                   \
-        DEBUG_INFO("Media object lock error!");                                         \
-        return XA_RESULT_INTERNAL_ERROR;                                                \
-    }                                                                                   \
-    /* Fall through if XA_RESULT_SUCCESS */                                             \
-}                                                                                       \
-
-#define XA_IMPL_THREAD_SAFETY_ENTRY_FOR_VOID_FUNCTIONS( mediaObject )                   \
-{                                                                                       \
-    XAresult  mutexRet = XA_RESULT_SUCCESS;                                             \
-    if ( mediaObject > XATSCount )                                                      \
-    {                                                                                   \
-        DEBUG_INFO("Thread safety - invalid mutex reference index");                    \
-        return;                                                                         \
-    }                                                                                   \
-    DEBUG_INFO_A1("Thread safety entry for %s",MEDIAOBJECTNAME(mediaObject));           \
-    mutexRet = XAThreadSafety_TryLock( mediaObject );                                   \
-    if ( mutexRet == XA_RESULT_PERMISSION_DENIED )                                      \
-    {                                                                                   \
-        DEBUG_INFO("Media object already locked!");                                     \
-        return;                                                                         \
-    }                                                                                   \
-    else if ( mutexRet != XA_RESULT_SUCCESS )                                           \
-    {                                                                                   \
-        DEBUG_INFO("Media object lock error!");                                         \
-        return;                                                                         \
-    }                                                                                   \
-    /* Fall through if XA_RESULT_SUCCESS */                                             \
-}                                                                                       \
-/*
- * XA_IMPL_THREAD_SAFETY_EXIT( mediaObject )
- * Description: Frees reserved lock for shared data related specified by parameter.
- * @param mediaObject - Index of media object where check is to be done
- * @return: XA_RESULT_PRECONDITIONS_VIOLATED if lock is not reserved
- * @return: XA_RESULT_INTERNAL_ERROR if freeing of lock cannot be done
- * @return: In success cases doesn't return anything
- */
-#define XA_IMPL_THREAD_SAFETY_EXIT( mediaObject )                                       \
-{                                                                                       \
-    XAresult  mutexRet = XA_RESULT_SUCCESS;                                             \
-    if ( mediaObject > XATSCount )                                                      \
-    {                                                                                   \
-        DEBUG_INFO("Thread safety - invalid mutex reference index");                    \
-        return XA_RESULT_PARAMETER_INVALID;                                             \
-    }                                                                                   \
-    DEBUG_INFO_A1("Thread safety exit for %s",MEDIAOBJECTNAME(mediaObject));            \
-    mutexRet = XAThreadSafety_Unlock( mediaObject );                                    \
-    if ( mutexRet != XA_RESULT_SUCCESS)                                                 \
-    {                                                                                   \
-        DEBUG_INFO("Unable to unlock media object!")                                    \
-        return XA_RESULT_INTERNAL_ERROR;                                                \
-    }                                                                                   \
-}                                                                                       \
-
-#define XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( mediaObject )                    \
-{                                                                                       \
-    XAresult  mutexRet = XA_RESULT_SUCCESS;                                             \
-    if ( mediaObject > XATSCount )                                                      \
-    {                                                                                   \
-        DEBUG_INFO("Thread safety - invalid mutex reference index");                    \
-        return;                                                                         \
-    }                                                                                   \
-    DEBUG_INFO_A1("Thread safety exit for %s",MEDIAOBJECTNAME(mediaObject));            \
-    mutexRet = XAThreadSafety_Unlock( mediaObject );                                    \
-    if ( mutexRet != XA_RESULT_SUCCESS)                                                 \
-    {                                                                                   \
-        DEBUG_INFO("Unable to unlock media object!")                                    \
-        return;                                                                         \
-    }                                                                                   \
-}                                                                                       \
-/* ENUMERATIONS */
-
-typedef enum
-    {
-    XATSMediaPlayer = 0,
-    XATSMediaRecorder,
-    XATSEngine,
-    XATSRadio,
-    XATSMetaDataExtractor,
-    XATSCount
-    } XAThreadSafetyMediaObjects;
-
-/* FUNCTIONS */
-XAresult XAThreadSafety_Init(XAboolean tsEnable);
-XAresult XAThreadSafety_Destroy(void);
-XAresult XAThreadSafety_Unlock(XAThreadSafetyMediaObjects mediaObject);
-XAresult XAThreadSafety_TryLock(XAThreadSafetyMediaObjects mediaObject);
-
-#endif /* XATHREADSAFETY_H_ */
--- a/khronosfws/openmax_al/src/common/xavolumeitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,420 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Volume Interface Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#include "xavolumeitf.h"
-
-#include "xanokiavolumeextitfadaptationmmf.h"
-/**
- * XAVolumeItfImpl* GetImpl(XAVolumeItf self)
- * Description: Validated interface pointer and cast it to implementations pointer.
- **/
-static XAVolumeItfImpl* GetImpl(XAVolumeItf self)
-    {
-    if (self)
-        {
-        XAVolumeItfImpl* impl = (XAVolumeItfImpl*) (*self);
-        if (impl && impl == impl->self)
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-/**
- * Base interface XAVolumeItf implementation
- */
-
-/**
- * XAresult XAVolumeItfImpl_SetVolumeLevel(XAVolumeItf self, XAmillibel level)
- * Description: Sets the object's volume level.
- **/
-XAresult XAVolumeItfImpl_SetVolumeLevel(XAVolumeItf self, XAmillibel level)
-    {
-    XAVolumeItfImpl *impl = GetImpl(self);
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    XAmillibel maximumLevel = 0;
-    DEBUG_API("->XAVolumeItfImpl_SetVolumeLevel");
-
-    /* check maximum volume level */
-    if (XAVolumeItfImpl_GetMaxVolumeLevel(self, &maximumLevel)
-            != XA_RESULT_SUCCESS)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAVolumeItfImpl_SetVolumeLevel");
-        /* cannot solve maximum volume level */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (!impl || level > maximumLevel || !impl->adapCtx)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAVolumeItfImpl_SetVolumeLevel");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-    if (ret == XA_RESULT_PARAMETER_INVALID || ret
-            == XA_RESULT_PRECONDITIONS_VIOLATED)
-        {
-        DEBUG_API("<-XAVolumeItfImpl_SetVolumeLevel");
-        return ret;
-        }
-
-    if (ret == XA_RESULT_SUCCESS)
-        {
-        impl->volumeLevel = level;
-        }
-
-    XAAdaptationBase_ThreadExit(impl->adapCtx);
-
-    DEBUG_API("<-XAVolumeItfImpl_SetVolumeLevel");
-    return ret;
-    }
-
-/**
- * XAresult XAVolumeItfImpl_GetVolumeLevel(XAVolumeItf self, XAmillibel *pLevel)
- * Description: Gets the object’s volume level.
- **/
-XAresult XAVolumeItfImpl_GetVolumeLevel(XAVolumeItf self, XAmillibel *pLevel)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAVolumeItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAVolumeItfImpl_GetVolumeLevel");
-
-    if (!impl || !pLevel)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAVolumeItfImpl_GetVolumeLevel");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pLevel = impl->volumeLevel;
-
-    DEBUG_API("<-XAVolumeItfImpl_GetVolumeLevel");
-    return ret;
-    }
-
-/**
- * XAresult XAVolumeItfImpl_GetMaxVolumeLevel(XAVolumeItf  self, XAmillibel *pMaxLevel)
- * Description: Gets the maximum supported level.
- **/
-XAresult XAVolumeItfImpl_GetMaxVolumeLevel(XAVolumeItf self,
-        XAmillibel *pMaxLevel)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAVolumeItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAVolumeItfImpl_GetVolumeLevel");
-
-    if (!impl || !pMaxLevel || !impl->adapCtx)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAVolumeItfImpl_GetMaxVolumeLevel");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-    if (ret == XA_RESULT_PARAMETER_INVALID || ret
-            == XA_RESULT_PRECONDITIONS_VIOLATED)
-        {
-        DEBUG_API("<-XAVolumeItfImpl_GetMaxVolumeLevel");
-        return ret;
-        }
-    *pMaxLevel = MAX_SUPPORT_VOLUME_LEVEL;
-
-    XAAdaptationBase_ThreadExit(impl->adapCtx);
-
-    DEBUG_API("<-XAVolumeItfImpl_GetMaxVolumeLevel");
-    return ret;
-    }
-
-/**
- * XAresult XAVolumeItfImpl_SetMute(XAVolumeItf self, XAboolean mute)
- * Description: Mutes or unmutes the object.
- **/
-XAresult XAVolumeItfImpl_SetMute(XAVolumeItf self, XAboolean mute)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAVolumeItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAVolumeItfImpl_SetMute");
-
-    if (!impl || !impl->adapCtx)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAVolumeItfImpl_SetMute");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-    if (ret == XA_RESULT_PARAMETER_INVALID || ret
-            == XA_RESULT_PRECONDITIONS_VIOLATED)
-        {
-        DEBUG_API("<-XAVolumeItfImpl_SetMute");
-        return ret;
-        }
-    /* check is mute state changed */
-    if (mute != impl->mute)
-        {
-        if (impl->adapCtx->fwtype == FWMgrFWMMF)
-            {
-            ret = XANokiaVolumeExtItfAdapt_SetMute(
-                    (XAAdaptationMMFCtx*) impl->adapCtx, mute);
-            }
-
-        if (ret == XA_RESULT_SUCCESS)
-            {
-            impl->mute = mute;
-            }
-        }
-
-    XAAdaptationBase_ThreadExit(impl->adapCtx);
-
-    DEBUG_API("<-XAVolumeItfImpl_SetMute");
-    return ret;
-    }
-
-/**
- * XAresult XAVolumeItfImpl_GetMute(XAVolumeItf self, XAboolean *pMute)
- * Description: Retrieves the object's state.
- **/
-XAresult XAVolumeItfImpl_GetMute(XAVolumeItf self, XAboolean *pMute)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAVolumeItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAVolumeItfImpl_GetMute");
-
-    if (!impl || !pMute)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAVolumeItfImpl_GetMute");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pMute = impl->mute;
-
-    DEBUG_API("<-XAVolumeItfImpl_GetMute");
-    return ret;
-    }
-
-/**
- * XAresult XAVolumeItfImpl_EnableStereoPosition(XAVolumeItf self, XAboolean enable)
- * Description: Enables or disables the stereo positioning effect.
- **/
-XAresult XAVolumeItfImpl_EnableStereoPosition(XAVolumeItf self,
-        XAboolean enable)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAVolumeItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAVolumeItfImpl_EnableStereoPosition");
-
-    if (!impl || !impl->adapCtx)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAVolumeItfImpl_EnableStereoPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-    if (ret == XA_RESULT_PARAMETER_INVALID || ret
-            == XA_RESULT_PRECONDITIONS_VIOLATED)
-        {
-        DEBUG_API("<-XAVolumeItfImpl_EnableStereoPosition");
-        return ret;
-        }
-    /* Check is stereo position state changed */
-    if (enable != impl->enableStereoPos)
-        {
-        if (impl->adapCtx->fwtype == FWMgrFWMMF)
-            {
-            ret = XANokiaVolumeExtItfAdapt_EnableStereoPosition(
-                    (XAAdaptationMMFCtx*) impl->adapCtx, enable);
-            }
-        if (ret == XA_RESULT_SUCCESS)
-            {
-            impl->enableStereoPos = enable;
-            }
-        }
-
-    XAAdaptationBase_ThreadExit(impl->adapCtx);
-
-    DEBUG_API("<-XAVolumeItfImpl_EnableStereoPosition");
-    return ret;
-    }
-
-/**
- * XAresult XAVolumeItfImpl_IsEnabledStereoPosition(XAVolumeItf self,
- *                                                  XAboolean *pEnable)
- * Description: Returns the enabled state of the stereo positioning effect.
- **/
-XAresult XAVolumeItfImpl_IsEnabledStereoPosition(XAVolumeItf self,
-        XAboolean *pEnable)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAVolumeItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAVolumeItfImpl_IsEnabledStereoPosition");
-
-    if (!impl || !pEnable)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAVolumeItfImpl_IsEnabledStereoPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pEnable = impl->enableStereoPos;
-
-    DEBUG_API("<-XAVolumeItfImpl_IsEnabledStereoPosition");
-    return ret;
-    }
-
-/**
- * XAresult XAVolumeItfImpl_SetStereoPosition(XAVolumeItf self,
- *                                            XApermille stereoPosition)
- * Description: Sets the stereo position of the object.
- **/
-XAresult XAVolumeItfImpl_SetStereoPosition(XAVolumeItf self,
-        XApermille stereoPosition)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAVolumeItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAVolumeItfImpl_SetStereoPosition");
-
-    if (!impl || (stereoPosition < STEREO_POSITION_LEFT) || (stereoPosition
-            > STEREO_POSITION_RIGHT) || !impl->adapCtx)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAVolumeItfImpl_SetStereoPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->stereoPosition = stereoPosition;
-
-    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
-    if (ret == XA_RESULT_PARAMETER_INVALID || ret
-            == XA_RESULT_PRECONDITIONS_VIOLATED)
-        {
-        DEBUG_API("<-XAVolumeItfImpl_SetStereoPosition");
-        return ret;
-        }
-    /* check is stereo position effect enabled if is then handle effect */
-    if (impl->enableStereoPos)
-        {
-        if (impl->adapCtx->fwtype == FWMgrFWMMF)
-            {
-            ret = XANokiaVolumeExtItfAdapt_SetStereoPosition(
-                    (XAAdaptationMMFCtx*) impl->adapCtx, stereoPosition);
-            }
-        }
-
-    XAAdaptationBase_ThreadExit(impl->adapCtx);
-
-    DEBUG_API("<-XAVolumeItfImpl_SetStereoPosition");
-    return ret;
-    }
-
-/**
- * XAresult XAVolumeItfImpl_GetStereoPosition(XAVolumeItf self,
- *                                            XApermille *pStereoPosition)
- * Description: Gets the object’s stereo position setting.
- **/
-XAresult XAVolumeItfImpl_GetStereoPosition(XAVolumeItf self,
-        XApermille *pStereoPosition)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAVolumeItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAVolumeItfImpl_GetStereoPosition");
-
-    if (!impl || !pStereoPosition)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAVolumeItfImpl_GetStereoPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pStereoPosition = impl->stereoPosition;
-
-    DEBUG_API("<-XAVolumeItfImpl_GetStereoPosition");
-    return ret;
-    }
-
-/**
- * XAVolumeItfImpl -specific methods
- **/
-
-/**
- * XAVolumeItfImpl* XAVolumeItfImpl_Create()
- * Description: Allocate and initialize VolumeItfImpl
- **/
-XAVolumeItfImpl* XAVolumeItfImpl_Create(XAAdaptationBaseCtx *adapCtx)
-    {
-    XAVolumeItfImpl *self = (XAVolumeItfImpl*) calloc(1,
-            sizeof(XAVolumeItfImpl));
-    DEBUG_API("->XAVolumeItfImpl_Create");
-
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.EnableStereoPosition = XAVolumeItfImpl_EnableStereoPosition;
-        self->itf.GetMaxVolumeLevel = XAVolumeItfImpl_GetMaxVolumeLevel;
-        self->itf.GetMute = XAVolumeItfImpl_GetMute;
-        self->itf.GetStereoPosition = XAVolumeItfImpl_GetStereoPosition;
-        self->itf.GetVolumeLevel = XAVolumeItfImpl_GetVolumeLevel;
-        self->itf.IsEnabledStereoPosition
-                = XAVolumeItfImpl_IsEnabledStereoPosition;
-        self->itf.SetMute = XAVolumeItfImpl_SetMute;
-        self->itf.SetStereoPosition = XAVolumeItfImpl_SetStereoPosition;
-        self->itf.SetVolumeLevel = XAVolumeItfImpl_SetVolumeLevel;
-
-        /* init variables */
-        self->volumeLevel = 0;
-        self->mute = XA_BOOLEAN_FALSE;
-        self->enableStereoPos = XA_BOOLEAN_FALSE;
-        self->stereoPosition = STEREO_POSITION_CENTER;
-
-        self->adapCtx = adapCtx;
-
-        self->self = self;
-        }
-
-    DEBUG_API("<-XAVolumeItfImpl_Create");
-    return self;
-    }
-
-/**
- * void XAVolumeItfImpl_Free(XAVolumeItfImpl* self)
- * Description: Free all resources reserved at XAVolumeItfImpl_Create
- **/
-void XAVolumeItfImpl_Free(XAVolumeItfImpl* self)
-    {
-    DEBUG_API("->XAVolumeItfImpl_Free");
-    assert(self==self->self);
-    free(self);
-    DEBUG_API("<-XAVolumeItfImpl_Free");
-    }
--- a/khronosfws/openmax_al/src/common/xavolumeitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Volume Interface Header
- *
- */
-
-#ifndef XAVOLUMEITF_H
-#define XAVOLUMEITF_H
-
-#include "xaadptbasectx.h"
-
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XAVolumeItf implementation */
-typedef struct XAVolumeItfImpl_
-    {
-    /* parent interface */
-    struct XAVolumeItf_ itf;
-    /* pointer to self */
-    struct XAVolumeItfImpl_* self;
-
-    XAmillibel volumeLevel;
-    XAboolean mute;
-    XAboolean enableStereoPos;
-    XApermille stereoPosition;
-    /*Adaptation variables*/
-    XAAdaptationBaseCtx *adapCtx;
-    } XAVolumeItfImpl;
-
-/** METHODS **/
-
-/* Base interface XAVolumeItf implementation */
-XAresult XAVolumeItfImpl_SetVolumeLevel(XAVolumeItf self, XAmillibel level);
-
-XAresult XAVolumeItfImpl_GetVolumeLevel(XAVolumeItf self, XAmillibel *pLevel);
-
-XAresult XAVolumeItfImpl_GetMaxVolumeLevel(XAVolumeItf self,
-        XAmillibel *pMaxLevel);
-
-XAresult XAVolumeItfImpl_SetMute(XAVolumeItf self, XAboolean mute);
-
-XAresult XAVolumeItfImpl_GetMute(XAVolumeItf self, XAboolean *pMute);
-
-XAresult XAVolumeItfImpl_EnableStereoPosition(XAVolumeItf self,
-        XAboolean enable);
-
-XAresult XAVolumeItfImpl_IsEnabledStereoPosition(XAVolumeItf self,
-        XAboolean *pEnable);
-
-XAresult XAVolumeItfImpl_SetStereoPosition(XAVolumeItf self,
-        XApermille stereoPosition);
-
-XAresult XAVolumeItfImpl_GetStereoPosition(XAVolumeItf self,
-        XApermille *pStereoPosition);
-
-/* XAVolumeItfImpl -specific methods */
-XAVolumeItfImpl* XAVolumeItfImpl_Create(XAAdaptationBaseCtx *adapCtx);
-void XAVolumeItfImpl_Free(XAVolumeItfImpl* self);
-
-#endif /* XAVOLUMEITF_H */
--- a/khronosfws/openmax_al/src/engine/xaaudioencodercapabilitiesitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Audio Encoder capabilities Itf Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#include "xaglobals.h"
-#include "xaadptbasectx.h"
-#include "xaaudioencodercapabilitiesitf.h"
-#include "xacapabilitiesmgr.h"
-
-/* XAAudioEncoderCapabilitiesItfImpl* GetImpl
- * Description: Validate interface pointer and cast it to implementation pointer.
- */
-static XAAudioEncoderCapabilitiesItfImpl* GetImpl(
-        XAAudioEncoderCapabilitiesItf self)
-    {
-    if (self)
-        {
-        XAAudioEncoderCapabilitiesItfImpl* impl =
-                (XAAudioEncoderCapabilitiesItfImpl*) (*self);
-        if (impl && (impl == impl->self))
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-/*****************************************************************************
- * Base interface XAAudioEncoderCapabilitiesItf implementation
- *****************************************************************************/
-
-/* XAresult XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoders
- * Description: Retrieves the available audio encoders.
- */
-XAresult XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoders(
-        XAAudioEncoderCapabilitiesItf self, XAuint32* pNumEncoders,
-        XAuint32* pEncoderIds)
-    {
-    XAAudioEncoderCapabilitiesItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoders");
-
-    if (!impl || !pNumEncoders)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-        if (pEncoderIds)
-            { /* query array of encoders */
-            if (*pNumEncoders < impl->numCodecs)
-                {
-                DEBUG_ERR("XA_RESULT_BUFFER_INSUFFICIENT");
-                res = XA_RESULT_BUFFER_INSUFFICIENT;
-                }
-            else
-                {
-
-                XAuint32 i = 0;
-                XACapabilities temp;
-                for (i = 0; i < impl->numCodecs; i++)
-                    {
-                    /* query encoder id from adaptation using index value */
-                    XACapabilitiesMgr_GetCapsByIdx(impl->capslist,
-                            (XACapsType) (XACAP_ENCODER | XACAP_AUDIO), i,
-                            &temp);
-                    pEncoderIds[i] = temp.xaid;
-                    }
-
-                pEncoderIds[0] = XA_AUDIOCODEC_AMR;
-                pEncoderIds[1] = XA_AUDIOCODEC_AAC;
-                pEncoderIds[2] = XA_AUDIOCODEC_PCM;
-                }
-            }
-
-        /* return number of encoders */
-        *pNumEncoders = impl->numCodecs;
-        }
-    DEBUG_API("<-XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoders");
-    return res;
-    }
-
-/* XAresult XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoderCapabilities
- * Description: Queries for the audio encoders capabilities.
- */
-XAresult XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoderCapabilities(
-        XAAudioEncoderCapabilitiesItf self, XAuint32 encoderId,
-        XAuint32 *pIndex, XAAudioCodecDescriptor *pDescriptor)
-    {
-    XAAudioEncoderCapabilitiesItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-
-    XACapabilities temp;
-
-    DEBUG_API("->XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoderCapabilities");
-
-    /*if( !impl || !pIndex || !pDescriptor )*/
-    /*Removing the pDescriptor because the client can pass
-     * it as NULL to query the pIndex for number of Codec/Mode
-     * pair capabilities for each encoder */
-    if (!impl || !pIndex)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-    else
-        {
-        *pIndex = 1;
-        if (!pDescriptor)
-            {
-            return res;
-            }
-        }
-
-    /* query capabilities from adaptation using codec id */
-    memset(pDescriptor, 0, sizeof(XAAudioCodecDescriptor));
- 
-    res = XACapabilitiesMgr_GetCapsById(impl->capslist,
-            (XACapsType) (XACAP_ENCODER | XACAP_AUDIO), encoderId, &temp);
-    if (res == XA_RESULT_SUCCESS)
-        {
-        XAAudioCodecDescriptor* desc =
-                ((XAAudioCodecDescriptor*) (temp.pEntry));
-        /* map applicable values to XAAudioCodecCapabilities */
-        pDescriptor->maxChannels = desc->maxChannels;
-        pDescriptor->minSampleRate = desc->minSampleRate ; /* milliHz */
-        if (desc->maxSampleRate < (0xFFFFFFFF))
-            {
-            pDescriptor->maxSampleRate = desc->maxSampleRate;
-            }
-        else
-            {
-            pDescriptor->maxSampleRate = 0xFFFFFFFF;
-            }
-        pDescriptor->minBitsPerSample = desc->minBitsPerSample;
-        pDescriptor->maxBitsPerSample = desc->maxBitsPerSample;
-      pDescriptor->isFreqRangeContinuous=desc->isFreqRangeContinuous;
-        pDescriptor->minBitRate = desc->minBitRate;
-        pDescriptor->maxBitRate = desc->maxBitRate;
-        pDescriptor->numBitratesSupported = desc->numBitratesSupported;
-      pDescriptor->isBitrateRangeContinuous=desc->isBitrateRangeContinuous;
-      pDescriptor->profileSetting=desc->profileSetting;
-      pDescriptor->modeSetting=desc->modeSetting; /* no chanmode for pcm defined */
-    }
-      else
-      {
-          /* do nothing */
-      }
-      
-    
-   	
-    DEBUG_API("<-XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoderCapabilities");
-    return res;
-    }
-
-/*****************************************************************************
- * XAAudioEncoderCapabilitiesItfImpl -specific methods
- *****************************************************************************/
-
-/* XAAudioEncoderCapabilitiesItfImpl_Create
- * Description: Allocate and initialize XAAudioEncoderCapabilitiesItfImpl
- */
-XAAudioEncoderCapabilitiesItfImpl* XAAudioEncoderCapabilitiesItfImpl_Create(
-        XACapabilities* caps)
-    {
-    XAAudioEncoderCapabilitiesItfImpl* self =
-            (XAAudioEncoderCapabilitiesItfImpl*) calloc(1,
-                    sizeof(XAAudioEncoderCapabilitiesItfImpl));
-
-    DEBUG_API("->XAAudioEncoderCapabilitiesItfImpl_Create");
-
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.GetAudioEncoders
-                = XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoders;
-        self->itf.GetAudioEncoderCapabilities
-                = XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoderCapabilities;
-        self->capslist = caps;
-
-        /* init variables */
-        assert( XACapabilitiesMgr_GetCapsCount( caps, (XACapsType)((XACapsType)(XACAP_ENCODER|XACAP_AUDIO)),
-                        &(self->numCodecs) ) == XA_RESULT_SUCCESS );
-
-        /*self->mmfEngine = (void*)mmf_capability_engine_init();*/
-        self->numCodecs = 3;
-        self->self = self;
-
-        }
-    DEBUG_API("<-XAAudioEncoderCapabilitiesItfImpl_Create");
-    return self;
-    }
-
-/* void XAAudioEncoderCapabilitiesItfImpl_Free
- * Description: Free all resources reserved at XAAudioEncoderCapabilitiesItfImpl_Create
- */
-void XAAudioEncoderCapabilitiesItfImpl_Free(
-        XAAudioEncoderCapabilitiesItfImpl* self)
-    {
-    DEBUG_API("->XAAudioEncoderCapabilitiesItfImpl_Free");
-    assert(self==self->self);
-    free(self);
-    DEBUG_API("<-XAAudioEncoderCapabilitiesItfImpl_Free");
-    }
--- a/khronosfws/openmax_al/src/engine/xaaudioencodercapabilitiesitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Audio Encoder capabilities Itf Header
- *
- */
-
-#ifndef XAAUDIOENCODERCAPABILITIESITF_H
-#define XAAUDIOENCODERCAPABILITIESITF_H
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xacapabilitiesmgr.h"
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XAAudioEncoderCapabilitiesItf implementation */
-typedef struct XAAudioEncoderCapabilitiesItfImpl_
-    {
-    /* parent interface */
-    struct XAAudioEncoderCapabilitiesItf_ itf;
-    /* pointer to self */
-    struct XAAudioEncoderCapabilitiesItfImpl_* self;
-    /* variables */
-    XAuint32 numCodecs;
-    XAmilliHertz sampleRateArray[10];
-    XAuint32 bitRateArray[10];
-    void* mmfEngine;
-    XACapabilities* capslist;
-    } XAAudioEncoderCapabilitiesItfImpl;
-
-/* Base interface XAAudioEncoderCapabilitiesItf implementation */
-XAresult XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoders(
-        XAAudioEncoderCapabilitiesItf self, XAuint32* pNumEncoders,
-        XAuint32* pEncoderIds);
-
-XAresult XAAudioEncoderCapabilitiesItfImpl_GetAudioEncoderCapabilities(
-        XAAudioEncoderCapabilitiesItf self, XAuint32 encoderId,
-        XAuint32* pIndex, XAAudioCodecDescriptor* pCapabilities);
-
-/* XAAudioEncoderCapabilitiesItfImpl -specific methods */
-XAAudioEncoderCapabilitiesItfImpl* XAAudioEncoderCapabilitiesItfImpl_Create(
-        XACapabilities* caps);
-void XAAudioEncoderCapabilitiesItfImpl_Free(
-        XAAudioEncoderCapabilitiesItfImpl* self);
-
-#endif /* XAAUDIOENCODERCAPABILITIESITF_H */
--- a/khronosfws/openmax_al/src/engine/xaaudioiodevicecapabilitiesitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,738 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: Audio IO Device capabilities Itf
-*
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-
-#include "xaglobals.h"
-#include "xaaudioiodevicecapabilitiesitf.h"
-#include "xacapabilitiesmgr.h"
-
-
-/* XAAudIODevCapaItfImpl* GetImpl
- * Description: Validate interface pointer and cast it to implementation pointer.
- */
-static XAAudIODevCapaItfImpl* GetImpl(XAAudioIODeviceCapabilitiesItf self)
-{
-    if( self )
-    {
-        XAAudIODevCapaItfImpl* impl = (XAAudIODevCapaItfImpl*)(*self);
-        if( impl && (impl == impl->self) )
-        {
-            return impl;
-        }
-    }
-    return NULL;
-}
-
-/**
- * Base interface XAAudioIODeviceCapabilitiesItf implementation
- **/
-
-/* XAresult XAAudIODevCapaItfImpl_GetAvailableAudioInputs
- * Description: Gets the number and IDs of audio input devices currently available.
- */
-XAresult XAAudIODevCapaItfImpl_GetAvailableAudioInputs(
-                                            XAAudioIODeviceCapabilitiesItf self,
-                                            XAint32* pNumInputs,
-                                            XAuint32* pInputDeviceIDs)
-{
-    XAAudIODevCapaItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAudIODevCapaItfImpl_GetAvailableAudioInputs");
-
-    if( !impl || !pNumInputs )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-        if( pInputDeviceIDs )
-        {   /* query array of input devices */
-            if( *pNumInputs < impl->numInputDevices )
-            {
-                DEBUG_ERR("XA_RESULT_BUFFER_INSUFFICIENT");
-                res = XA_RESULT_BUFFER_INSUFFICIENT;
-            }
-            else
-            {
-                XAuint32 i;
-                XACapabilities temp;
-                for( i=0; i<impl->numInputDevices; i++ )
-                {
-                    /* query device id from adaptation using index value */
-                    res = XACapabilitiesMgr_GetCapsByIdx(impl->capslist, (XACapsType)(XACAP_DEVSRC|XACAP_AUDIO), i, &temp);
-                    pInputDeviceIDs[i] = temp.xaid;
-                }
-
-                pInputDeviceIDs[0] = 0xAD7E5001;
-            }
-        }
-        *pNumInputs = impl->numInputDevices;
-    }
-    DEBUG_API("<-XAAudIODevCapaItfImpl_GetAvailableAudioInputs");
-    return res;
-}
-
-/* XAresult XAAudIODevCapaItfImpl_QueryAudioInputCapabilities
- * Description: Gets the capabilities of the specified audio input device.
- */
-XAresult XAAudIODevCapaItfImpl_QueryAudioInputCapabilities(
-                                            XAAudioIODeviceCapabilitiesItf self,
-                                            XAuint32 deviceId,
-                                            XAAudioInputDescriptor* pDescriptor)
-{
-    XAAudIODevCapaItfImpl* impl = GetImpl(self);
-    XACapabilities temp;
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAudIODevCapaItfImpl_QueryAudioInputCapabilities");
-
-    if( !impl || !pDescriptor )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-        memset(pDescriptor,0,sizeof(XAAudioInputDescriptor));
-
-        /* query capabilities from adaptation using device id */
-        
-
-        res = XACapabilitiesMgr_GetCapsById(impl->capslist, (XACapsType)(XACAP_DEVSRC|XACAP_AUDIO), deviceId, &temp);
-        if( res == XA_RESULT_SUCCESS )
-        {
-            XAAudioInputDescriptor* desc = ((XAAudioInputDescriptor*)(temp.pEntry));
-            /* map applicable values to XAAudioCodecCapabilities */
-            pDescriptor->maxChannels=desc->maxChannels;
-            pDescriptor->minSampleRate=desc->minSampleRate; /* milliHz */
-            if (desc->maxSampleRate < (0xFFFFFFFF ))
-            {
-                pDescriptor->maxSampleRate = desc->maxSampleRate;
-            }
-            else
-            {
-                pDescriptor->maxSampleRate = 0xFFFFFFFF;
-            }
-            pDescriptor->isFreqRangeContinuous=desc->isFreqRangeContinuous;
-            pDescriptor->deviceConnection = desc->deviceConnection;
-            pDescriptor->deviceScope = desc->deviceScope;
-            pDescriptor->deviceLocation = desc->deviceLocation;
-            pDescriptor->deviceName = desc->deviceName;
-            /* other caps undefined */
-            pDescriptor->isForTelephony = desc->isForTelephony;
-            pDescriptor->samplingRatesSupported = desc->samplingRatesSupported;
-            pDescriptor->numOfSamplingRatesSupported = desc->numOfSamplingRatesSupported;
-         }
-    }
-
-    DEBUG_API("<-XAAudIODevCapaItfImpl_QueryAudioInputCapabilities");
-    return res;
-}
-
-/* XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioInputsChangedCallback
- * Description: Sets or clears xaAvailableAudioInputsChangedCallback().
- */
-XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioInputsChangedCallback(
-                                            XAAudioIODeviceCapabilitiesItf self,
-                                            xaAvailableAudioInputsChangedCallback callback,
-                                            void* pContext)
-{
-    XAAudIODevCapaItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAAudIODevCapaItfImpl_RegisterAvailableAudioInputsChangedCallback");
-
-    if( !impl )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-        impl->inputCb = callback;
-        impl->inputCbCtx = pContext;
-        impl->inputCbPtrToSelf = self;
-    }
-
-    DEBUG_API("<-XAAudIODevCapaItfImpl_RegisterAvailableAudioInputsChangedCallback");
-    return res;
-}
-
-/* XAresult XAAudIODevCapaItfImpl_GetAvailableAudioOutputs
- * Description: Gets the number and IDs of audio output devices currently available.
- */
-XAresult XAAudIODevCapaItfImpl_GetAvailableAudioOutputs(
-                                            XAAudioIODeviceCapabilitiesItf self,
-                                            XAint32* pNumOutputs,
-                                            XAuint32* pOutputDeviceIDs)
-{
-    XAAudIODevCapaItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAAudIODevCapaItfImpl_GetAvailableAudioOutputs");
-
-    /* NOTE: only default speaker supported by this impl */
-    if( !impl || !pNumOutputs )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-        if( pOutputDeviceIDs )
-        {   /* query array of output devices */
-            if( *pNumOutputs < impl->numOutputDevices )
-            {
-                DEBUG_ERR("XA_RESULT_BUFFER_INSUFFICIENT");
-                res = XA_RESULT_BUFFER_INSUFFICIENT;
-            }
-            else
-            {
-
-
-                XAuint32 i = 0;
-                XACapabilities temp;
-                for( i=0; i<impl->numOutputDevices; i++ )
-                {
-                    /* query device id from adaptation using index value */
-                    res = XACapabilitiesMgr_GetCapsByIdx(impl->capslist, (XACapsType)(XACAP_DEVSNK|XACAP_AUDIO), i, &temp);
-                    pOutputDeviceIDs[i] = temp.xaid;
-                }
-
-                pOutputDeviceIDs[0] = 0xAD7E5002;
-            }
-        }
-        *pNumOutputs = impl->numOutputDevices;
-    }
-    DEBUG_API("<-XAAudIODevCapaItfImpl_GetAvailableAudioOutputs");
-    return res;
-}
-
-/* XAresult XAAudIODevCapaItfImpl_QueryAudioOutputCapabilities
- * Description: Gets the capabilities of the specified audio output device.
- */
-XAresult XAAudIODevCapaItfImpl_QueryAudioOutputCapabilities(
-                                        XAAudioIODeviceCapabilitiesItf self,
-                                        XAuint32 deviceId,
-                                        XAAudioOutputDescriptor* pDescriptor)
-{
-
-    XAAudIODevCapaItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities temp;
-    DEBUG_API("->XAAudIODevCapaItfImpl_QueryAudioOutputCapabilities");
-
-    if( !impl || !pDescriptor )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-        memset(pDescriptor,0,sizeof(XAAudioOutputDescriptor));
-        /* query capabilities from adaptation using device id */
-
-        
-
-        res = XACapabilitiesMgr_GetCapsById(impl->capslist, (XACapsType)(XACAP_DEVSNK|XACAP_AUDIO), deviceId, &temp);
-        if( res == XA_RESULT_SUCCESS )
-        {
-            XAAudioOutputDescriptor* desc = ((XAAudioOutputDescriptor*)(temp.pEntry));
-            /* map applicable values to XAAudioCodecCapabilities */
-            pDescriptor->maxChannels=desc->maxChannels;
-            pDescriptor->minSampleRate=desc->minSampleRate; /* milliHz */
-            if (desc->maxSampleRate < (0xFFFFFFFF))
-            {
-                pDescriptor->maxSampleRate = desc->maxSampleRate;
-            }
-            else
-            {
-                pDescriptor->maxSampleRate = 0xFFFFFFFF;
-            }
-            pDescriptor->isFreqRangeContinuous=desc->isFreqRangeContinuous;
-            pDescriptor->deviceConnection = desc->deviceConnection;
-            pDescriptor->deviceScope = desc->deviceScope;
-            pDescriptor->deviceLocation = desc->deviceLocation;
-            pDescriptor->pDeviceName = desc->pDeviceName;
-            /* other caps undefined */
-            pDescriptor->isForTelephony = desc->isForTelephony;
-            pDescriptor->samplingRatesSupported = desc->samplingRatesSupported;
-            pDescriptor->numOfSamplingRatesSupported = desc->numOfSamplingRatesSupported;
-         }
-    }
-
-    DEBUG_API("<-XAAudIODevCapaItfImpl_QueryAudioOutputCapabilities");
-    return res;
-}
-
-/* XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioOutputsChangedCallback
- * Description: Sets or clears xaAvailableAudioOutputsChangedCallback().
- */
-XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioOutputsChangedCallback(
-                                            XAAudioIODeviceCapabilitiesItf self,
-                                            xaAvailableAudioOutputsChangedCallback callback,
-                                            void* pContext)
-{
-
-    XAAudIODevCapaItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAudIODevCapaItfImpl_RegisterAvailableAudioOutputsChangedCallback");
-
-    if( !impl )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-        impl->outputCb = callback;
-        impl->outputCbCtx = pContext;
-        impl->outputCbPtrToSelf = self;
-    }
-
-    DEBUG_API("<-XAAudIODevCapaItfImpl_RegisterAvailableAudioOutputsChangedCallback");
-    return res;
-}
-
-/* XAresult XAAudIODevCapaItfImpl_RegisterDefaultDeviceIDMapChangedCallback
- * Description: Sets or clears xaDefaultDeviceIDMapChangedCallback().
- */
-XAresult XAAudIODevCapaItfImpl_RegisterDefaultDeviceIDMapChangedCallback(
-                                            XAAudioIODeviceCapabilitiesItf self,
-                                            xaDefaultDeviceIDMapChangedCallback callback,
-                                            void* pContext)
-{
-    XAAudIODevCapaItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAAudIODevCapaItfImpl_RegisterDefaultDeviceIDMapChangedCallback");
-
-    if( !impl )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-        impl->deviceMapCb = callback;
-        impl->deviceMapCtx = pContext;
-        impl->deviceMapCbPtrToSelf = self;
-    }
-
-    DEBUG_API("<-XAAudIODevCapaItfImpl_RegisterDefaultDeviceIDMapChangedCallback");
-    return res;
-}
-
-/* XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioInputs
- * Description: This method returns an array of audio input devices physically
- * associated with this audio I/O device.
- */
-XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioInputs(
-                                                XAAudioIODeviceCapabilitiesItf self,
-                                                XAuint32 deviceId,
-                                                XAint32* pNumAudioInputs,
-                                                XAuint32* pAudioInputDeviceIDs)
-{
-    XAAudIODevCapaItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAudIODevCapaItfImpl_GetAssociatedAudioInputs");
-    if( !impl || !pNumAudioInputs )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-
-        XACapabilities temp;
-        XAuint32 associatedCount = 0;
-
-        XAuint32 i = 0;
-        for( i=0; i<impl->numInputDevices; i++ )
-        {
-            /* query device id from adaptation using index value */
-            res = XACapabilitiesMgr_GetCapsByIdx(impl->capslist, (XACapsType)(XACAP_DEVSRC|XACAP_AUDIO), i, &temp);
-            if (temp.xaid != deviceId)
-            {
-                associatedCount++;
-            }
-        }
-
-        if (pAudioInputDeviceIDs)
-        {
-            if( *pNumAudioInputs < associatedCount )
-            {
-                DEBUG_ERR("XA_RESULT_BUFFER_INSUFFICIENT");
-                DEBUG_API("<-XAAudIODevCapaItfImpl_GetAssociatedAudioInputs");
-                return XA_RESULT_BUFFER_INSUFFICIENT;
-            }
-
-            for( i=0, associatedCount = 0; i<impl->numInputDevices; i++ )
-            {
-                /* query device id from adaptation using index value */
-                res = XACapabilitiesMgr_GetCapsByIdx(impl->capslist, (XACapsType)(XACAP_DEVSRC|XACAP_AUDIO), i, &temp);
-                if (temp.xaid != deviceId)
-                {
-                    pAudioInputDeviceIDs[associatedCount++] = temp.xaid;
-                }
-            }
-        }
-
-        *pNumAudioInputs = associatedCount;
-
-
-    if(!pAudioInputDeviceIDs)
-        {
-        switch(deviceId)
-            {
-            case 0xAD7E5001:
-                *pNumAudioInputs = 0;
-                break;
-            case 0xAD7E5002:
-                *pNumAudioInputs = 1;
-                break;
-            default:
-                res = XA_RESULT_PARAMETER_INVALID;
-                break;
-            }
-        }
-    else
-        {
-        switch(deviceId)
-            {
-            case 0xAD7E5001:
-                res = XA_RESULT_PARAMETER_INVALID;
-                break;
-            case 0xAD7E5002:
-                pAudioInputDeviceIDs[*pNumAudioInputs - 1] = 0xAD7E5001;
-                break;
-            default:
-                res = XA_RESULT_PARAMETER_INVALID;
-                break;
-            }
-        }
-
-    }
-
-    DEBUG_API("<-XAAudIODevCapaItfImpl_GetAssociatedAudioInputs");
-    return res;
-}
-
-/* XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioOutputs
- * Description: This method returns an array of audio output devices physically
- * associated with this audio I/O device.
- */
-XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioOutputs(
-                                                XAAudioIODeviceCapabilitiesItf self,
-                                                XAuint32 deviceId,
-                                                XAint32* pNumAudioOutputs,
-                                                XAuint32* pAudioOutputDeviceIDs)
-{
-    XAAudIODevCapaItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAudIODevCapaItfImpl_GetAssociatedAudioOutputs");
-
-    if( !impl || !pNumAudioOutputs )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-
-        XACapabilities temp;
-        XAuint32 associatedCount = 0;
-
-        XAuint32 i = 0;
-        for( i=0; i<impl->numOutputDevices; i++ )
-        {
-            /* query device id from adaptation using index value */
-            res = XACapabilitiesMgr_GetCapsByIdx(impl->capslist, (XACapsType)(XACAP_DEVSNK|XACAP_AUDIO), i, &temp);
-            if (temp.xaid != deviceId)
-            {
-                associatedCount++;
-            }
-        }
-
-        if (pAudioOutputDeviceIDs)
-        {
-            if( *pNumAudioOutputs < associatedCount )
-            {
-                DEBUG_ERR("XA_RESULT_BUFFER_INSUFFICIENT");
-                DEBUG_API("<-XAAudIODevCapaItfImpl_GetAssociatedAudioOutputs");
-                return XA_RESULT_BUFFER_INSUFFICIENT;
-            }
-
-            for( i=0, associatedCount = 0; i<impl->numOutputDevices; i++ )
-            {
-                /* query device id from adaptation using index value */
-                res = XACapabilitiesMgr_GetCapsByIdx(impl->capslist, (XACapsType)(XACAP_DEVSNK|XACAP_AUDIO), i, &temp);
-                if (temp.xaid != deviceId)
-                {
-                    pAudioOutputDeviceIDs[associatedCount++] = temp.xaid;
-                }
-            }
-        }
-
-        *pNumAudioOutputs = associatedCount;
-
-
-        if(!pAudioOutputDeviceIDs)
-            {
-            switch(deviceId)
-                {
-                case 0xAD7E5002:
-                    *pNumAudioOutputs = 0;
-                    break;
-                case 0xAD7E5001:
-                    *pNumAudioOutputs = 1;
-                    break;
-                default:
-                    res = XA_RESULT_PARAMETER_INVALID;
-                    break;
-                }
-            }
-        else
-            {
-            switch(deviceId)
-                {
-                case 0xAD7E5002:
-                    res = XA_RESULT_PARAMETER_INVALID;
-                    break;
-                case 0xAD7E5001:
-                    pAudioOutputDeviceIDs[*pNumAudioOutputs - 1] = 0xAD7E5001;
-                    break;
-                default:
-                    res = XA_RESULT_PARAMETER_INVALID;
-                    break;
-                }
-            }
-    }
-
-    DEBUG_API("<-XAAudIODevCapaItfImpl_GetAssociatedAudioOutputs");
-    return res;
-}
-
-/* XAresult XAAudIODevCapaItfImpl_GetDefaultAudioDevices
- * Gets the number of audio devices currently mapped to the given default device ID.
- */
-XAresult XAAudIODevCapaItfImpl_GetDefaultAudioDevices(XAAudioIODeviceCapabilitiesItf self,
-                                                      XAuint32 defaultDeviceID,
-                                                      XAint32 *pNumAudioDevices,
-                                                      XAuint32 *pAudioDeviceIDs)
-{
-    XAAudIODevCapaItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAudIODevCapaItfImpl_GetDefaultAudioDevices");
-
-    if( !impl || !pNumAudioDevices )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-    if(!pAudioDeviceIDs)
-        {
-        switch(defaultDeviceID)
-            {
-            case XA_DEFAULTDEVICEID_AUDIOOUTPUT:
-                *pNumAudioDevices = 1;
-                break;
-            case XA_DEFAULTDEVICEID_AUDIOINPUT :
-                *pNumAudioDevices = 1;
-                break;
-            default:
-                res = XA_RESULT_PARAMETER_INVALID;
-                break;
-            }
-        }
-    else
-        {
-        switch(defaultDeviceID)
-            {
-            case XA_DEFAULTDEVICEID_AUDIOOUTPUT:
-                pAudioDeviceIDs[*pNumAudioDevices - 1] = 0xAD7E5002;
-                break;
-            case XA_DEFAULTDEVICEID_AUDIOINPUT:
-                pAudioDeviceIDs[*pNumAudioDevices - 1] = 0xAD7E5001;
-                break;
-            default:
-                res = XA_RESULT_PARAMETER_INVALID;
-                break;
-            }
-        }      
-
-    }
-    DEBUG_API("<-XAAudIODevCapaItfImpl_GetDefaultAudioDevices");
-    return res;
-}
-
-/* XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioOutputs
- * Description: Gets an array of sample formats supported by the audio I/O
- * device for the given sampling rate.
- */
-XAresult XAAudIODevCapaItfImpl_QuerySampleFormatsSupported(
-                                            XAAudioIODeviceCapabilitiesItf self,
-                                            XAuint32 deviceId,
-                                            XAmilliHertz samplingRate,
-                                            XAint32* pSampleFormats,
-                                            XAint32* pNumOfSampleFormats)
-{
-    XAAudIODevCapaItfImpl* impl = GetImpl(self);
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAudIODevCapaItfImpl_QuerySampleFormatsSupported");
-
-    if( !impl || !pNumOfSampleFormats )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-
-/*        XACapabilities temp;
-        res = XACapabilitiesMgr_GetCapsById(NULL, (XACapsType)(XACAP_DEVSNK|XACAP_AUDIO),
-                                            deviceId, &temp);
-         deviceid can be either input or output
-        if( res == XA_RESULT_FEATURE_UNSUPPORTED )
-        {
-            res = XACapabilitiesMgr_GetCapsById(NULL, (XACapsType)(XACAP_DEVSRC|XACAP_AUDIO),
-                                                deviceId, &temp);
-        }
-        if( res == XA_RESULT_SUCCESS )
-        {
-            XAAudioOutputDescriptor* desc = ((XAAudioOutputDescriptor*)(temp.pEntry));
-            XAuint32 count = 0, i = 0;
-            for (i=0; i < sizeof(temp.pcmProfilesSupported)*8; i++)
-                count+=temp.pcmProfilesSupported>>i&0x1;
-
-            if(pSampleFormats)
-            {
-                if(*pNumOfSampleFormats<count)
-                {
-                    res = XA_RESULT_BUFFER_INSUFFICIENT;
-                }
-                else
-                {
-                    XAuint32 insertCount = 0;
-                    if (temp.pcmProfilesSupported & XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_8) {
-                        pSampleFormats[insertCount++] = XA_PCMSAMPLEFORMAT_FIXED_8; }
-                    if (temp.pcmProfilesSupported & XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_16) {
-                        pSampleFormats[insertCount++] = XA_PCMSAMPLEFORMAT_FIXED_16; }
-                    if (temp.pcmProfilesSupported & XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_20) {
-                        pSampleFormats[insertCount++] = XA_PCMSAMPLEFORMAT_FIXED_20; }
-                    if (temp.pcmProfilesSupported & XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_24) {
-                        pSampleFormats[insertCount++] = XA_PCMSAMPLEFORMAT_FIXED_20; }
-                    if (temp.pcmProfilesSupported & XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_28) {
-                        pSampleFormats[insertCount++] = XA_PCMSAMPLEFORMAT_FIXED_20; }
-                    if (temp.pcmProfilesSupported & XA_ADAPT_PCMSAMPLEFORMAT_SUPPORTED_32) {
-                        pSampleFormats[insertCount++] = XA_PCMSAMPLEFORMAT_FIXED_20; }
-                }
-            }
-            *pNumOfSampleFormats = count;
-        }*/
-
-
-    if(!pSampleFormats)
-        {
-        *pNumOfSampleFormats = 1;
-        }
-    else
-        {
-        pSampleFormats[*pNumOfSampleFormats - 1] = XA_PCMSAMPLEFORMAT_FIXED_16;
-        }
-
-    }
-
-    DEBUG_API("<-XAAudIODevCapaItfImpl_QuerySampleFormatsSupported");
-    return res;
-}
-
-/**
- * XAAudIODevCapaItfImpl -specific methods
- **/
-
-/* XAAudIODevCapaItfImpl_Create
- * Description: Allocate and initialize XAAudIODevCapaItfImpl
- */
-XAAudIODevCapaItfImpl* XAAudIODevCapaItfImpl_Create(XACapabilities* caps)
-{
-    XAAudIODevCapaItfImpl* self = (XAAudIODevCapaItfImpl*)
-        calloc(1,sizeof(XAAudIODevCapaItfImpl));
-    DEBUG_API("->XAAudIODevCapaItfImpl_Create");
-
-    if( self )
-    {
-        /* init itf default implementation */
-        self->itf.GetAssociatedAudioInputs =
-            XAAudIODevCapaItfImpl_GetAssociatedAudioInputs;
-        self->itf.GetAssociatedAudioOutputs =
-            XAAudIODevCapaItfImpl_GetAssociatedAudioOutputs;
-        self->itf.GetAvailableAudioInputs =
-            XAAudIODevCapaItfImpl_GetAvailableAudioInputs;
-        self->itf.GetAvailableAudioOutputs =
-            XAAudIODevCapaItfImpl_GetAvailableAudioOutputs;
-        self->itf.QueryAudioInputCapabilities =
-            XAAudIODevCapaItfImpl_QueryAudioInputCapabilities;
-        self->itf.QueryAudioOutputCapabilities =
-            XAAudIODevCapaItfImpl_QueryAudioOutputCapabilities;
-        self->itf.GetDefaultAudioDevices =
-            XAAudIODevCapaItfImpl_GetDefaultAudioDevices;
-        self->itf.QuerySampleFormatsSupported =
-            XAAudIODevCapaItfImpl_QuerySampleFormatsSupported;
-        self->itf.RegisterAvailableAudioInputsChangedCallback =
-            XAAudIODevCapaItfImpl_RegisterAvailableAudioInputsChangedCallback;
-        self->itf.RegisterAvailableAudioOutputsChangedCallback =
-            XAAudIODevCapaItfImpl_RegisterAvailableAudioOutputsChangedCallback;
-        self->itf.RegisterDefaultDeviceIDMapChangedCallback =
-            XAAudIODevCapaItfImpl_RegisterDefaultDeviceIDMapChangedCallback;
-        self->capslist = caps;
-        /* init variables */
-        XACapabilitiesMgr_GetCapsCount( caps, (XACapsType)(XACAP_DEVSNK|XACAP_AUDIO),
-                                  &(self->numOutputDevices) );
-        XACapabilitiesMgr_GetCapsCount( caps, (XACapsType)(XACAP_DEVSRC|XACAP_AUDIO),
-                                  &(self->numInputDevices) );
-        
-        /*TODO: Remove this later*/
-        XACapabilitiesMgr_QueryColorFormats(caps, NULL, NULL);
-
-        self->inputCbPtrToSelf = NULL;
-        self->outputCbPtrToSelf = NULL;
-        self->deviceMapCbPtrToSelf = NULL;
-        self->numInputDevices = 1;
-        self->numOutputDevices = 1;
-        self->self = self;
-    }
-    DEBUG_API("<-XAAudIODevCapaItfImpl_Create");
-    return self;
-}
-
-/* void XAAudIODevCapaItfImpl_Free
- * Description: Free all resources reserved at XAAudIODevCapaItfImpl_Create
- */
-void XAAudIODevCapaItfImpl_Free(XAAudIODevCapaItfImpl* self)
-{
-    DEBUG_API("->XAAudIODevCapaItfImpl_Free");
-    assert(self==self->self);
-    free(self);
-    DEBUG_API("<-XAAudIODevCapaItfImpl_Free");
-}
--- a/khronosfws/openmax_al/src/engine/xaaudioiodevicecapabilitiesitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Audio IO Device capabilities Itf
- *
- */
-
-#ifndef XAAUDIOIODEVICECAPABILITIESITF_H
-#define XAAUDIOIODEVICECAPABILITIESITF_H
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xacapabilitiesmgr.h"
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XAAudioIODeviceCapabilitiesItf implementation */
-typedef struct XAAudIODevCapaItfImpl_
-    {
-    /* parent interface */
-    struct XAAudioIODeviceCapabilitiesItf_ itf;
-    /* pointer to self */
-    struct XAAudIODevCapaItfImpl_* self;
-
-    /* variables */
-    xaAvailableAudioInputsChangedCallback inputCb;
-    void* inputCbCtx;
-    XAAudioIODeviceCapabilitiesItf inputCbPtrToSelf;
-    xaAvailableAudioOutputsChangedCallback outputCb;
-    void* outputCbCtx;
-    XAAudioIODeviceCapabilitiesItf outputCbPtrToSelf;
-    xaDefaultDeviceIDMapChangedCallback deviceMapCb;
-    void* deviceMapCtx;
-    XAAudioIODeviceCapabilitiesItf deviceMapCbPtrToSelf;
-
-    XAuint32 numInputDevices;
-    XAuint32 numOutputDevices;
-    XAmilliHertz sampleRateArray[12];
-    XACapabilities* capslist;
-
-    } XAAudIODevCapaItfImpl;
-
-/* Base interface XAAudioIODeviceCapabilitiesItf implementation */
-XAresult XAAudIODevCapaItfImpl_GetAvailableAudioInputs(
-        XAAudioIODeviceCapabilitiesItf self, XAint32* pNumInputs,
-        XAuint32* pInputDeviceIDs);
-
-XAresult XAAudIODevCapaItfImpl_QueryAudioInputCapabilities(
-        XAAudioIODeviceCapabilitiesItf self, XAuint32 deviceId,
-        XAAudioInputDescriptor* pDescriptor);
-
-XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioInputsChangedCallback(
-        XAAudioIODeviceCapabilitiesItf self,
-        xaAvailableAudioInputsChangedCallback callback, void* pContext);
-
-XAresult XAAudIODevCapaItfImpl_GetAvailableAudioOutputs(
-        XAAudioIODeviceCapabilitiesItf self, XAint32* pNumOutputs,
-        XAuint32* pOutputDeviceIDs);
-
-XAresult XAAudIODevCapaItfImpl_QueryAudioOutputCapabilities(
-        XAAudioIODeviceCapabilitiesItf self, XAuint32 deviceId,
-        XAAudioOutputDescriptor* pDescriptor);
-
-XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioOutputsChangedCallback(
-        XAAudioIODeviceCapabilitiesItf self,
-        xaAvailableAudioOutputsChangedCallback callback, void* pContext);
-
-XAresult XAAudIODevCapaItfImpl_RegisterDefaultDeviceIDMapChangedCallback(
-        XAAudioIODeviceCapabilitiesItf self,
-        xaDefaultDeviceIDMapChangedCallback callback, void* pContext);
-
-XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioInputs(
-        XAAudioIODeviceCapabilitiesItf self, XAuint32 deviceId,
-        XAint32* pNumAudioInputs, XAuint32* pAudioInputDeviceIDs);
-
-XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioOutputs(
-        XAAudioIODeviceCapabilitiesItf self, XAuint32 deviceId,
-        XAint32* pNumAudioOutputs, XAuint32* pAudioOutputDeviceIDs);
-
-XAresult XAAudIODevCapaItfImpl_GetDefaultAudioDevices(
-        XAAudioIODeviceCapabilitiesItf self, XAuint32 defaultDeviceID,
-        XAint32 *pNumAudioDevices, XAuint32 *pAudioDeviceIDs);
-
-XAresult XAAudIODevCapaItfImpl_QuerySampleFormatsSupported(
-        XAAudioIODeviceCapabilitiesItf self, XAuint32 deviceId,
-        XAmilliHertz samplingRate, XAint32* pSampleFormats,
-        XAint32* pNumOfSampleFormats);
-
-/* XAAudIODevCapaItfImpl -specific methods */
-XAAudIODevCapaItfImpl* XAAudIODevCapaItfImpl_Create(XACapabilities* caps);
-void XAAudIODevCapaItfImpl_Free(XAAudIODevCapaItfImpl* self);
-
-#endif /* XAAUDIOIODEVICECAPABILITIESITF_H */
--- a/khronosfws/openmax_al/src/engine/xaengine.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,380 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Engine Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#include "xaengine.h"
-#include "xaobjectitf.h"
-#include "xaengineitf.h"
-#include "xathreadsyncitf.h"
-#include "xadynintmgmtitf.h"
-#include "xaaudioiodevicecapabilitiesitf.h"
-#include "xaaudioencodercapabilitiesitf.h"
-#include "xaconfigextensionsitf.h"
-#include "xathreadsafety.h"
-#include "xaframeworkmgr.h"  
-
-/* Static mapping of enumeration XAEngineInterfaces to interface iids */
-static const XAInterfaceID* xaEngineItfIIDs[ENGINE_ITFCOUNT] =
-    {
-    &XA_IID_OBJECT,
-    &XA_IID_ENGINE,
-    &XA_IID_DYNAMICINTERFACEMANAGEMENT,
-    &XA_IID_THREADSYNC,
-    /*    &XA_IID_CONFIGEXTENSION,*/
-    /*    &XA_IID_DEVICEVOLUME,*/
-    &XA_IID_AUDIOIODEVICECAPABILITIES,
-    /*    &XA_IID_AUDIODECODERCAPABILITIES,*/
-    &XA_IID_AUDIOENCODERCAPABILITIES
-    /*
-    &XA_IID_CAMERACAPABILITIES,
-    &XA_IID_IMAGEDECODERCAPABILITIES,
-    &XA_IID_IMAGEENCODERCAPABILITIES,
-    &XA_IID_VIDEODECODERCAPABILITIES,
-    &XA_IID_VIDEOENCODERCAPABILITIES
-     */
-    };
-
-/*****************************************************************************
- * Global methods
- *****************************************************************************/
-
-/* XAResult XAEngineImpl_Create
- * Description: Create object
- */
-XAresult XAEngineImpl_Create(XAObjectItf *pEngine, XAuint32 numOptions,
-        const XAEngineOption *pEngineOptions, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-    XAEngineImpl* pImpl = NULL;
-    XAObjectItfImpl* pBaseObj = NULL;
-    XAuint32 itfIndex = 0;
-    //XAboolean optEnabled = XA_BOOLEAN_FALSE;
-    XAboolean threadSafeEnabled = XA_BOOLEAN_TRUE;
-    DEBUG_API("->XAEngineImpl_Create");
-
-    if (!pEngine)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAEngineImpl_Create");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* check engine options */
-    if (pEngineOptions && (numOptions != 0))
-        {
-        int i;
-        for (i = 0; i < numOptions; i++)
-            {
-            if (pEngineOptions[i].feature == XA_ENGINEOPTION_LOSSOFCONTROL)
-                {
-                //XAboolean optEnabled = pEngineOptions[i].data;
-                // TODO: do something with the above value or else remove the code
-                }
-            if (pEngineOptions[i].feature == XA_ENGINEOPTION_THREADSAFE)
-                {
-                threadSafeEnabled = pEngineOptions[i].data;
-                }
-            }
-        }
-
-    /* instantiate object implementation */
-    pImpl = (XAEngineImpl*) calloc(1, sizeof(XAEngineImpl));
-    if (!pImpl)
-        {
-        DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-        DEBUG_API("<-XAEngineImpl_Create");
-        /* memory allocation failed */
-        return XA_RESULT_MEMORY_FAILURE;
-        }
-    pBaseObj = &pImpl->baseObj;
-
-    /* Initialize base object default implementation */
-    XAObjectItfImpl_Init(pBaseObj, ENGINE_ITFCOUNT, xaEngineItfIIDs,
-            XAEngineImpl_DoRealize, XAEngineImpl_DoResume,
-            XAEngineImpl_FreeResources);
-
-    /* Mark interfaces that need to be exposed */
-    /* Implicit and mandated interfaces */
-    pBaseObj->interfaceMap[ENGINE_ENGINEITF].required = XA_BOOLEAN_TRUE;
-    pBaseObj->interfaceMap[ENGINE_DIMITF].required = XA_BOOLEAN_TRUE;
-    pBaseObj->interfaceMap[ENGINE_THREADSYNCITF].required = XA_BOOLEAN_TRUE;
-    pBaseObj->interfaceMap[ENGINE_AUDIOIODEVICECAPAITF].required
-            = XA_BOOLEAN_TRUE;
-    pBaseObj->interfaceMap[ENGINE_AUDIOENCODERCAPAITF].required
-            = XA_BOOLEAN_TRUE;
-    /* Explicit interfaces */
-    if ((numInterfaces != 0) && pInterfaceIds && pInterfaceRequired)
-        {
-        /* Check required interfaces */
-        for (itfIndex = 0; itfIndex < numInterfaces; itfIndex++)
-            {
-            /* If mapEntry is null then required interface is not supported.*/
-            XAObjItfMapEntry *entry = XAObjectItfImpl_GetItfEntry(
-                    (XAObjectItf) &(pBaseObj), pInterfaceIds[itfIndex]);
-            if (!entry)
-                {
-                if (pInterfaceRequired[itfIndex])
-                    {
-                    /* required interface cannot be accommodated - fail creation */
-                    XAObjectItfImpl_Destroy((XAObjectItf) &(pBaseObj));
-                    DEBUG_ERR("Required interface not found - abort creation!");
-                    DEBUG_API("<-XAEngineImpl_Create");
-                    return XA_RESULT_FEATURE_UNSUPPORTED;
-                    }
-                else
-                    {
-                    DEBUG_INFO("Requested (not required) interface not found - continue creation");
-                    }
-                }
-            else
-                {
-                entry->required = XA_BOOLEAN_TRUE;
-                }
-            }
-        }
-
-    /* Initialize XAEngineImpl variables */
-    if (threadSafeEnabled)
-        {
-        XAresult ret = XA_RESULT_SUCCESS;
-        pImpl->isThreadSafe = threadSafeEnabled;
-        ret = XAThreadSafety_Init(threadSafeEnabled);
-        if (ret != XA_RESULT_SUCCESS)
-            {
-            DEBUG_INFO_A1("Unable to initialize thread safety - ret:%x", ret );
-            }
-        }
-
-    /* Set ObjectItf to point to newly created object */
-    *pEngine = ((XAObjectItf) &(pBaseObj->self));
-
-    DEBUG_API("<-XAEngineImpl_Create");
-    return XA_RESULT_SUCCESS;
-    }
-
-/* XAResult XAEngineImpl_QueryNumSupportedInterfaces
- * Description: Statically query number of supported interfaces
- */
-XAresult XAEngineImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces)
-    {
-    DEBUG_API("->XAEngineImpl_QueryNumSupportedInterfaces");
-    if (pNumSupportedInterfaces)
-        {
-        *pNumSupportedInterfaces = ENGINE_ITFCOUNT;
-        DEBUG_API("<-XAEngineImpl_QueryNumSupportedInterfaces");
-        return XA_RESULT_SUCCESS;
-        }
-    else
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAEngineImpl_QueryNumSupportedInterfaces");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    }
-
-/* XAResult XAEngineImpl_QuerySupportedInterfaces
- * Description: Statically query supported interfaces
- */
-XAresult XAEngineImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId)
-    {
-    DEBUG_API("->XAEngineImpl_QuerySupportedInterfaces");
-    if (index >= ENGINE_ITFCOUNT || !pInterfaceId)
-        {
-        if (pInterfaceId)
-            {
-            *pInterfaceId = XA_IID_NULL;
-            }
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAEngineImpl_QuerySupportedInterfaces");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-        *pInterfaceId = *(xaEngineItfIIDs[index]);
-        DEBUG_API("<-XAEngineImpl_QuerySupportedInterfaces");
-        return XA_RESULT_SUCCESS;
-        }
-    }
-
-/*****************************************************************************
- * base object XAObjectItfImpl methods
- *****************************************************************************/
-
-/* XAresult XAEngineImpl_DoRealize
- * Description: Realize all implicit and explicitly wanted interfaces.
- * Create and initialize implementation-specific variables.
- * Called from base object XAObjectItfImpl
- */
-XAresult XAEngineImpl_DoRealize(XAObjectItf self)
-    {
-    XAuint8 itfIdx = 0;
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*) (*self);
-    XAEngineImpl* pObjImpl = (XAEngineImpl*) (pObj);
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAEngineImpl_DoRealize");
-
-    /* check casting from correct pointer type */
-    if (!pObjImpl || pObj != pObjImpl->baseObj.self)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAEngineImpl_DoRealize");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* Table containing use-case framework map */
-    pObjImpl->frameworkMap = XAFrameworkMgr_CreateFrameworkMap();
-    if (pObjImpl->frameworkMap == NULL)
-        {
-        DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-        DEBUG_API("<-XAEngineImpl_DoRealize");
-        /* memory allocation failed */
-        return XA_RESULT_MEMORY_FAILURE;
-        }
-
-    /* Create capabilities list */
-    ret = XACapabilitiesMgr_CreateCapabilitieList(pObjImpl->frameworkMap,
-            &(pObjImpl->capabilities));
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        return ret;
-        }
-
-    /* Realize all implicit and explicitly wanted interfaces */
-    for (itfIdx = 0; itfIdx < ENGINE_ITFCOUNT; itfIdx++)
-        {
-        if (!(pObj->interfaceMap[itfIdx].pItf)
-                && pObj->interfaceMap[itfIdx].required)
-            {
-            void *pItf = NULL;
-            switch (itfIdx)
-                {
-                case ENGINE_ENGINEITF:
-                    pItf = XAEngineItfImpl_Create(pObjImpl->frameworkMap,
-                            pObjImpl->capabilities);
-                    break;
-                case ENGINE_THREADSYNCITF:
-                    pItf = XAThreadSyncItfImpl_Create();
-                    break;
-                case ENGINE_DIMITF:
-                    pItf = XADIMItfImpl_Create();
-                    break;
-                case ENGINE_AUDIOIODEVICECAPAITF:
-                    pItf = XAAudIODevCapaItfImpl_Create(
-                            pObjImpl->capabilities);
-                    break;
-                case ENGINE_AUDIOENCODERCAPAITF:
-                    pItf = XAAudioEncoderCapabilitiesItfImpl_Create(
-                            pObjImpl->capabilities);
-                    break;
-                default:
-                    break;
-                }
-            if (!pItf)
-                {
-                DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-                DEBUG_API("<-XAEngineImpl_DoRealize");
-                /* memory allocation failed */
-                return XA_RESULT_MEMORY_FAILURE;
-                }
-            else
-                {
-                pObj->interfaceMap[itfIdx].pItf = pItf;
-                }
-            }
-        }
-
-    pObj->state = XA_OBJECT_STATE_REALIZED;
-    DEBUG_API("<-XAEngineImpl_DoRealize");
-    return XA_RESULT_SUCCESS;
-    }
-
-/* XAresult XAEngineImpl_DoResume
- * Description: Resume object from suspended state
- */
-XAresult XAEngineImpl_DoResume(XAObjectItf self)
-    {
-    DEBUG_API("->XAEngineImpl_DoResume");
-    DEBUG_API("<-XAEngineImpl_DoResume");
-
-    return XA_RESULT_PRECONDITIONS_VIOLATED;
-    }
-
-/* void XAEngineImpl_FreeResources
- * Description: Free all resources reserved at XA%ExampleObject%Impl_DoRealize()
- */
-void XAEngineImpl_FreeResources(XAObjectItf self)
-    {
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*) (*self);
-    XAEngineImpl* pImpl = (XAEngineImpl*) (*self);
-    XAuint8 itfIdx = 0;
-    DEBUG_API("->XAEngineImpl_FreeResources");
-    assert( pObj && pImpl && pObj == pObj->self );
-
-    /* free all allocated interfaces */
-    for (itfIdx = 0; itfIdx < ENGINE_ITFCOUNT; itfIdx++)
-        {
-        void *pItf = pObj->interfaceMap[itfIdx].pItf;
-        if (pItf)
-            {
-            switch (itfIdx)
-                {
-                case ENGINE_ENGINEITF:
-                    XAEngineItfImpl_Free(pItf);
-                    break;
-                case ENGINE_THREADSYNCITF:
-                    XAThreadSyncItfImpl_Free(pItf);
-                    break;
-                case ENGINE_DIMITF:
-                    XADIMItfImpl_Free(pItf);
-                    break;
-                case ENGINE_AUDIOIODEVICECAPAITF:
-                    XAAudIODevCapaItfImpl_Free(pItf);
-                    break;
-                case ENGINE_AUDIOENCODERCAPAITF:
-                    XAAudioEncoderCapabilitiesItfImpl_Free(pItf);
-                    break;
-                default:
-                    break;
-                }
-            pObj->interfaceMap[itfIdx].pItf = NULL;
-            }
-        }
-
-    /* free all other allocated resources*/
-
-    /* free framework map */
-    XAFrameworkMgr_DeleteFrameworkMap(&pImpl->frameworkMap);
-
-    /* free capabilities list */
-    XACapabilitiesMgr_DeleteCapabilitieList(&pImpl->capabilities);
-
-    XAThreadSafety_Destroy();
-
-    DEBUG_API("<-XAEngineImpl_FreeResources");
-    return;
-    }
-
-/* END OF FILE */
--- a/khronosfws/openmax_al/src/engine/xaengine.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Engine Implementation Header
- *
- */
-
-#ifndef XAENGINE_H
-#define XAENGINE_H
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaobjectitf.h"
-#include "xaengineadaptctx.h"
-
-#include "xaengineadaptctxmmf.h"
-#include "xaframeworkmgr.h"
-#include "xacapabilitiesmgr.h"
-
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-/* Enumeration for interfaces that Engine supports.  */
-typedef enum
-    {
-    ENGINE_OBJECTITF,
-    ENGINE_ENGINEITF,
-    ENGINE_DIMITF,
-    ENGINE_THREADSYNCITF,
-    /*
-     ENGINE_CONFIGEXTENSIONSITF,
-     ENGINE_DEVICEVOLUMEITF,
-     */
-    ENGINE_AUDIOIODEVICECAPAITF,
-    /*    ENGINE_AUDIODECODERCAPAITF,*/
-    ENGINE_AUDIOENCODERCAPAITF,
-    /*
-     ENGINE_CAMERACAPAITF,
-     ENGINE_IMAGEDECODERCAPAITF,
-     ENGINE_IMAGEENCODERCAPAITF,
-     ENGINE_VIDEODECODERCAPAITF,
-     ENGINE_VIDEOENCODERCAPAITF,
-     */
-    ENGINE_ITFCOUNT
-    } XAEngineInterfaces;
-
-/** STRUCTURES **/
-/* Specification for XAEngineImpl.
- */
-typedef struct XAEngineImpl_
-    {
-    /* Parent for XAEngineImpl */
-    XAObjectItfImpl baseObj;
-
-    /* engine variables */
-    XAboolean isThreadSafe;
-
-    //actual adpatation context can point to either MMF or GST implementations
-    FrameworkMap *frameworkMap;
-    XACapabilities* capabilities;
-
-    /*    void* adaptationGstCtx;
-     void* adaptationMmfCtx;*/
-    } XAEngineImpl;
-
-/** METHODS **/
-
-/* base object XAObjectItfImpl methods */
-XAresult XAEngineImpl_DoRealize(XAObjectItf self);
-XAresult XAEngineImpl_DoResume(XAObjectItf self);
-void XAEngineImpl_FreeResources(XAObjectItf self);
-
-/* XAEngineImpl -specific methods */
-
-#endif /* XAENGINE_H */
--- a/khronosfws/openmax_al/src/engine/xaengineitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,432 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Engine Interface Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include "xaengineitf.h"
-#include "xaobjects.h"
-#include "xacapabilitiesmgr.h"
-/*static XAchar implementationText[] = "Implementation does not conform to AL Spec";*/
-
-/**
- * XAEngineItfImpl* GetImpl(XAEngineItf self)
- * Description: Validate interface pointer and cast it to implementation pointer.
- **/
-static XAEngineItfImpl* GetImpl(XAEngineItf self)
-    {
-    if (self)
-        {
-        XAEngineItfImpl* impl = (XAEngineItfImpl*) (*self);
-        if (impl && (impl == impl->self))
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-/**
- * Base interface XAEngineItf implementation
- */
-XAresult XAEngineItfImpl_CreateCameraDevice(XAEngineItf self,
-        XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-#ifdef OMAX_CAMERABIN
-    XAEngineItfImpl* impl = GetImpl(self);
-    return XACameraDeviceImpl_CreateCameraDevice( impl->mapper,impl->capabilities,
-            pDevice, deviceID,numInterfaces,
-            pInterfaceIds, pInterfaceRequired );
-#else
-    return XA_RESULT_FEATURE_UNSUPPORTED;
-#endif
-    }
-
-XAresult XAEngineItfImpl_CreateRadioDevice(XAEngineItf self,
-        XAObjectItf *pDevice, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-    return XARadioDeviceImpl_CreateRadioDevice( /*((XAEngineItfImpl*)self)->mapper,*/
-    pDevice, numInterfaces, pInterfaceIds, pInterfaceRequired);
-    }
-
-XAresult XAEngineItfImpl_CreateLEDDevice(XAEngineItf self,
-        XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-    return XA_RESULT_FEATURE_UNSUPPORTED;
-    }
-
-XAresult XAEngineItfImpl_CreateVibraDevice(XAEngineItf self,
-        XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-    return XA_RESULT_FEATURE_UNSUPPORTED;
-    }
-
-XAresult XAEngineItfImpl_CreateMediaPlayer(XAEngineItf self,
-        XAObjectItf *pPlayer, XADataSource *pDataSrc, XADataSource *pBankSrc,
-        XADataSink *pAudioSnk, XADataSink *pImageVideoSnk,
-        XADataSink *pVibra, XADataSink *pLEDArray, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-    XAEngineItfImpl* impl = GetImpl(self);
-    return XAMediaPlayerImpl_CreateMediaPlayer(impl->mapper,
-            impl->capabilities, pPlayer, pDataSrc, pBankSrc, pAudioSnk,
-            pImageVideoSnk, pVibra, pLEDArray, numInterfaces, pInterfaceIds,
-            pInterfaceRequired);
-    }
-
-XAresult XAEngineItfImpl_CreateMediaRecorder(XAEngineItf self,
-        XAObjectItf * pRecorder, XADataSource * pAudioSrc,
-        XADataSource * pImageVideoSrc, XADataSink * pDataSnk,
-        XAuint32 numInterfaces, const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired)
-    {
-    XAEngineItfImpl* impl = GetImpl(self);
-    return XAMediaRecorderImpl_CreateMediaRecorder(impl->mapper,
-            impl->capabilities, pRecorder, pAudioSrc, pImageVideoSrc,
-            pDataSnk, numInterfaces, pInterfaceIds, pInterfaceRequired);
-    }
-
-XAresult XAEngineItfImpl_CreateOutputMix(XAEngineItf self, XAObjectItf *pMix,
-        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-    return XA_RESULT_FEATURE_UNSUPPORTED;
-    }
-
-XAresult XAEngineItfImpl_CreateMetadataExtractor(XAEngineItf self,
-        XAObjectItf *pMetadataExtractor, XADataSource *pDataSource,
-        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-    XAEngineItfImpl* impl = GetImpl(self);
-    return XAMetadataExtractorImpl_Create(impl->mapper, impl->capabilities,
-            pMetadataExtractor, pDataSource, numInterfaces, pInterfaceIds,
-            pInterfaceRequired);
-    }
-
-XAresult XAEngineItfImpl_CreateExtensionObject(XAEngineItf self,
-        XAObjectItf *pObject, void *pParameters, XAuint32 objectID,
-        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-    DEBUG_API("->XAEngineItfImpl_CreateExtensionObject");
-    /* no supported extensions */
-    DEBUG_API("<-XAEngineItfImpl_CreateExtensionObject - XA_RESULT_FEATURE_UNSUPPORTED");
-    return XA_RESULT_FEATURE_UNSUPPORTED;
-    }
-
-XAresult XAEngineItfImpl_GetImplementationInfo(XAEngineItf self,
-        XAuint32 *pMajor, XAuint32 *pMinor, XAuint32 *pStep,
-        const XAchar *pImplementationText)
-    {
-    DEBUG_API("->XAEngineItfImpl_GetImplementationInfo");
-
-    if (!pMajor || !pMinor || !pStep)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAEngineItfImpl_GetImplementationInfo");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    /* OpenMAX AL API ver 1.0.1 */
-    *pMajor = 1;
-    *pMinor = 0;
-    *pStep = 1;
-    /*pImplementationText = (XAchar *) implementationText;*/
-
-    DEBUG_API("<-XAEngineItfImpl_GetImplementationInfo");
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult XAEngineItfImpl_QuerySupportedProfiles(XAEngineItf self,
-        XAint16 *pProfilesSupported)
-    {
-    DEBUG_API("->XAEngineItfImpl_QuerySupportedProfiles");
-
-    if (!pProfilesSupported)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAEngineItfImpl_QuerySupportedProfiles");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    /* NOTE: enable +MIDI when/if XMF issues solved
-     *        XA_PROFILES_MEDIA_PLAYER |
-     *        XA_PROFILES_MEDIA_PLAYER_RECORDER |
-     *        XA_PROFILES_PLUS_MIDI;
-     */
-    *pProfilesSupported = XA_PROFILES_MEDIA_PLAYER
-            | XA_PROFILES_MEDIA_PLAYER_RECORDER;
-
-    DEBUG_API("<-XAEngineItfImpl_QuerySupportedProfiles");
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult XAEngineItfImpl_QueryNumSupportedInterfaces(XAEngineItf self,
-        XAuint32 objectID, XAuint32 *pNumSupportedInterfaces)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAEngineItfImpl_QueryNumSupportedInterfaces");
-
-    if (!pNumSupportedInterfaces)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAEngineItfImpl_QueryNumSupportedInterfaces");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    *pNumSupportedInterfaces = 0;
-    switch (objectID)
-        {
-        case XA_OBJECTID_ENGINE:
-            res = XAEngineImpl_QueryNumSupportedInterfaces(
-                    pNumSupportedInterfaces);
-            break;
-        case XA_OBJECTID_MEDIAPLAYER:
-            res = XAMediaPlayerImpl_QueryNumSupportedInterfaces(
-                    pNumSupportedInterfaces);
-            break;
-        case XA_OBJECTID_MEDIARECORDER:
-            res = XAMediaRecorderImpl_QueryNumSupportedInterfaces(
-                    pNumSupportedInterfaces);
-            break;
-        case XA_OBJECTID_RADIODEVICE:
-            res = XARadioDeviceImpl_QueryNumSupportedInterfaces(
-                    pNumSupportedInterfaces);
-            break;
-        case XA_OBJECTID_METADATAEXTRACTOR:
-            res = XAMetadataExtractorImpl_QueryNumSupportedInterfaces(
-                    pNumSupportedInterfaces);
-            break;
-        default:
-            res = XA_RESULT_FEATURE_UNSUPPORTED;
-            break;
-        }
-
-    DEBUG_API_A1("<-XAEngineItfImpl_QueryNumSupportedInterfaces %lu",res);
-    return res;
-    }
-
-XAresult XAEngineItfImpl_QuerySupportedInterfaces(XAEngineItf self,
-        XAuint32 objectID, XAuint32 index, XAInterfaceID *pInterfaceId)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAEngineItfImpl_QuerySupportedInterfaces");
-
-    if (!pInterfaceId)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAEngineItfImpl_QuerySupportedInterfaces");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    *pInterfaceId = XA_IID_NULL;
-    switch (objectID)
-        {
-        case XA_OBJECTID_ENGINE:
-            res = XAEngineImpl_QuerySupportedInterfaces(index, pInterfaceId);
-            break;
-        case XA_OBJECTID_MEDIAPLAYER:
-            res = XAMediaPlayerImpl_QuerySupportedInterfaces(index,
-                    pInterfaceId);
-            break;
-        case XA_OBJECTID_MEDIARECORDER:
-            res = XAMediaRecorderImpl_QuerySupportedInterfaces(index,
-                    pInterfaceId);
-            break;
-        case XA_OBJECTID_RADIODEVICE:
-            res = XARadioDeviceImpl_QuerySupportedInterfaces(index,
-                    pInterfaceId);
-            break;
-        case XA_OBJECTID_METADATAEXTRACTOR:
-            res = XAMetadataExtractorImpl_QuerySupportedInterfaces(index,
-                    pInterfaceId);
-            break;
-        default:
-            res = XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-
-    DEBUG_API_A1("<-XAEngineItfImpl_QuerySupportedInterfaces %lu", res);
-    return res;
-    }
-
-XAresult XAEngineItfImpl_QueryLEDCapabilities(XAEngineItf self,
-        XAuint32 *pIndex, XAuint32 *pLEDDeviceID,
-        XALEDDescriptor *pDescriptor)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAEngineItfImpl_QueryLEDCapabilities");
-
-    if (!pDescriptor)
-        { /*query number of devices*/
-        if (!pIndex)
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XAEngineItfImpl_QueryLEDCapabilities");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        else
-            {
-            /* Number of devices */
-            *pIndex = 0;
-            }
-        }
-    else
-        {
-        // return NotSupported below
-        res = XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-    DEBUG_API("<-XAEngineItfImpl_QueryLEDCapabilities");
-    return res;
-    }
-
-XAresult XAEngineItfImpl_QueryVibraCapabilities(XAEngineItf self,
-        XAuint32 *pIndex, XAuint32 *pVibraDeviceID,
-        XAVibraDescriptor *pDescriptor)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAEngineItfImpl_QueryVibraCapabilities");
-
-    if (!pDescriptor)
-        { /*query number of devices*/
-        if (!pIndex)
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XAEngineItfImpl_QueryVibraCapabilities");
-            res = XA_RESULT_PARAMETER_INVALID;
-            }
-        else
-            {
-            /* Number of devices */
-            *pIndex = 0;
-            }
-        }
-    else
-        {
-        // return NotSupported below
-        res = XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-
-    DEBUG_API("<-XAEngineItfImpl_QueryVibraCapabilities");
-    return res;
-    }
-
-XAresult XAEngineItfImpl_QueryNumSupportedExtensions(XAEngineItf self,
-        XAuint32 *pNumExtensions)
-    {
-    DEBUG_API("->XAEngineItfImpl_QuerySupportedExtension");
-    if (pNumExtensions == NULL)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAEngineItfImpl_QuerySupportedExtension");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    /* no supported extensions */
-    *pNumExtensions = 0;
-    DEBUG_API("<-XAEngineItfImpl_QuerySupportedExtension");
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult XAEngineItfImpl_QuerySupportedExtension(XAEngineItf self,
-        XAuint32 index, XAchar *pExtensionName, XAint16 *pNameLength)
-    {
-    DEBUG_API("->XAEngineItfImpl_QuerySupportedExtension");
-    /* no supported extensions => index is always wrong */
-    DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-    DEBUG_API("<-XAEngineItfImpl_QuerySupportedExtension");
-    return XA_RESULT_PARAMETER_INVALID;
-    }
-
-XAresult XAEngineItfImpl_IsExtensionSupported(XAEngineItf self,
-        const XAchar *pExtensionName, XAboolean *pSupported)
-    {
-    DEBUG_API("->XAEngineItfImpl_IsExtensionSupported");
-    if (pSupported == NULL)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAEngineItfImpl_IsExtensionSupported");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    /* no supported extensions */
-    *pSupported = XA_BOOLEAN_FALSE;
-    DEBUG_API("<-XAEngineItfImpl_IsExtensionSupported");
-    return XA_RESULT_SUCCESS;
-    }
-
-/**
- * XAEngineItfImpl -specific methods
- **/
-XAEngineItfImpl* XAEngineItfImpl_Create(FrameworkMap* fwkmapper,
-        XACapabilities* capabilities)
-    {
-    XAEngineItfImpl* self = (XAEngineItfImpl*) calloc(1,
-            sizeof(XAEngineItfImpl));
-    DEBUG_API("->XAEngineItfImpl_Create");
-
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.CreateCameraDevice = XAEngineItfImpl_CreateCameraDevice;
-        self->itf.CreateRadioDevice = XAEngineItfImpl_CreateRadioDevice;
-        self->itf.CreateLEDDevice = XAEngineItfImpl_CreateLEDDevice;
-        self->itf.CreateVibraDevice = XAEngineItfImpl_CreateVibraDevice;
-        self->itf.CreateMediaPlayer = XAEngineItfImpl_CreateMediaPlayer;
-        self->itf.CreateMediaRecorder = XAEngineItfImpl_CreateMediaRecorder;
-        self->itf.CreateOutputMix = XAEngineItfImpl_CreateOutputMix;
-        self->itf.CreateMetadataExtractor
-                = XAEngineItfImpl_CreateMetadataExtractor;
-        self->itf.CreateExtensionObject
-                = XAEngineItfImpl_CreateExtensionObject;
-        self->itf.GetImplementationInfo
-                = XAEngineItfImpl_GetImplementationInfo;
-        self->itf.QuerySupportedProfiles
-                = XAEngineItfImpl_QuerySupportedProfiles;
-        self->itf.QueryNumSupportedInterfaces
-                = XAEngineItfImpl_QueryNumSupportedInterfaces;
-        self->itf.QuerySupportedInterfaces
-                = XAEngineItfImpl_QuerySupportedInterfaces;
-        self->itf.QueryLEDCapabilities = XAEngineItfImpl_QueryLEDCapabilities;
-        self->itf.QueryVibraCapabilities
-                = XAEngineItfImpl_QueryVibraCapabilities;
-        self->itf.QueryNumSupportedExtensions
-                = XAEngineItfImpl_QueryNumSupportedExtensions;
-        self->itf.QuerySupportedExtension
-                = XAEngineItfImpl_QuerySupportedExtension;
-        self->itf.IsExtensionSupported = XAEngineItfImpl_IsExtensionSupported;
-        self->mapper = fwkmapper;
-        self->capabilities = capabilities;
-        self->xyz = 50;
-        self->self = self;
-        }
-    DEBUG_API("<-XAEngineItfImpl_Create");
-    return self;
-    }
-
-void XAEngineItfImpl_Free(XAEngineItfImpl* self)
-    {
-    DEBUG_API("->XAEngineItfImpl_Free");
-    if(self)
-        {
-        assert(self==self->self);
-        free(self);
-        }
-    DEBUG_API("<-XAEngineItfImpl_Free");
-    }
--- a/khronosfws/openmax_al/src/engine/xaengineitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Engine Interface Header
- *
- */
-
-#ifndef XAENGINEITF_H
-#define XAENGINEITF_H
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaframeworkmgr.h"
-#include "xacapabilitiesmgr.h"
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XAEngineItf implementation */
-typedef struct XAEngineItfImpl_
-    {
-    /* parent interface */
-    struct XAEngineItf_ itf;
-    /* pointer to self */
-    struct XAEngineItfImpl_* self;
-    /* variables */
-    /*Not Owned*/
-    struct FrameworkMap_* mapper;
-    /*Not Owned*/
-    struct XACapabilities_* capabilities;
-
-    int xyz;
-
-    } XAEngineItfImpl;
-
-/** METHODS **/
-
-/* Base interface XAEngineItf implementation */
-XAresult XAEngineItfImpl_CreateCameraDevice(XAEngineItf self,
-        XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAEngineItfImpl_CreateRadioDevice(XAEngineItf self,
-        XAObjectItf *pDevice, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAEngineItfImpl_CreateLEDDevice(XAEngineItf self,
-        XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAEngineItfImpl_CreateVibraDevice(XAEngineItf self,
-        XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAEngineItfImpl_CreateMediaPlayer(XAEngineItf self,
-        XAObjectItf *pPlayer, XADataSource *pDataSrc, XADataSource *pBankSrc,
-        XADataSink *pAudioSnk, XADataSink *pImageVideoSnk,
-        XADataSink *pVibra, XADataSink *pLEDArray, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAEngineItfImpl_CreateMediaRecorder(XAEngineItf self,
-        XAObjectItf *pRecorder, XADataSource *pAudioSrc,
-        XADataSource *pImageVideoSrc, XADataSink *pDataSnk,
-        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAEngineItfImpl_CreateOutputMix(XAEngineItf self, XAObjectItf *pMix,
-        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAEngineItfImpl_CreateMetadataExtractor(XAEngineItf self,
-        XAObjectItf *pMetadataExtractor, XADataSource *pDataSource,
-        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAEngineItfImpl_CreateExtensionObject(XAEngineItf self,
-        XAObjectItf *pObject, void *pParameters, XAuint32 objectID,
-        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired);
-
-XAresult XAEngineItfImpl_GetImplementationInfo(XAEngineItf self,
-        XAuint32 *pMajor, XAuint32 *pMinor, XAuint32 *pStep,
-        const XAchar *pImplementationText);
-
-XAresult XAEngineItfImpl_QuerySupportedProfiles(XAEngineItf self,
-        XAint16 *pProfilesSupported);
-
-XAresult XAEngineItfImpl_QueryNumSupportedInterfaces(XAEngineItf self,
-        XAuint32 objectID, XAuint32 *pNumSupportedInterfaces);
-
-XAresult XAEngineItfImpl_QuerySupportedInterfaces(XAEngineItf self,
-        XAuint32 objectID, XAuint32 index, XAInterfaceID *pInterfaceId);
-
-XAresult XAEngineItfImpl_QueryLEDCapabilities(XAEngineItf self,
-        XAuint32 *pIndex, XAuint32 *pLEDDeviceID,
-        XALEDDescriptor *pDescriptor);
-
-XAresult XAEngineItfImpl_QueryVibraCapabilities(XAEngineItf self,
-        XAuint32 *pIndex, XAuint32 *pVibraDeviceID,
-        XAVibraDescriptor *pDescriptor);
-
-XAresult XAEngineItfImpl_QueryNumSupportedExtensions(XAEngineItf self,
-        XAuint32 *pNumExtensions);
-
-XAresult XAEngineItfImpl_QuerySupportedExtension(XAEngineItf self,
-        XAuint32 index, XAchar *pExtensionName, XAint16 *pNameLength);
-
-XAresult XAEngineItfImpl_IsExtensionSupported(XAEngineItf self,
-        const XAchar *pExtensionName, XAboolean *pSupported);
-
-/* XAEngineItfImpl -specific methods */
-XAEngineItfImpl* XAEngineItfImpl_Create(FrameworkMap* fwkmapper,
-        XACapabilities* capabilities);
-void XAEngineItfImpl_Free(XAEngineItfImpl *self);
-
-#endif /* XAENGINEITF_H */
--- a/khronosfws/openmax_al/src/engine/xathreadsyncitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: ThreadSync Itf Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#include "xathreadsyncitf.h"
-
-/**
- * Base interface XAThreadSyncItf Implementation
- */
-XAresult XAThreadSyncItfImpl_EnterCriticalSection(XAThreadSyncItf self)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAThreadSyncItfImpl* impl = NULL;
-
-    DEBUG_API("->XAThreadSyncItfImpl_EnterCriticalSection");
-
-    impl = (XAThreadSyncItfImpl*) (*self);
-    if (!impl || impl != impl->self)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAThreadSyncItfImpl_EnterCriticalSection");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->engInCritical)
-        {
-        /* The calling context must not already be in
-         critical section state. */
-        DEBUG_ERR("XA_RESULT_PRECONDITIONS_VIOLATED");
-        ret = XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-    else
-        {
-        ret = XAImpl_LockMutex(impl->engCriticalSection);
-        if (ret == XA_RESULT_SUCCESS)
-            {
-            impl->engInCritical = XA_BOOLEAN_TRUE;
-            }
-        }
-    DEBUG_API("<-XAThreadSyncItfImpl_EnterCriticalSection");
-    return ret;
-    }
-
-XAresult XAThreadSyncItfImpl_ExitCriticalSection(XAThreadSyncItf self)
-    {
-    XAThreadSyncItfImpl* impl = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    impl = (XAThreadSyncItfImpl*) (*self);
-    DEBUG_API("->XAThreadSyncItfImpl_ExitCriticalSection");
-
-    if (!impl || impl != impl->self)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAThreadSyncItfImpl_ExitCriticalSection");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->engInCritical)
-        {
-        ret = XAImpl_UnlockMutex(impl->engCriticalSection);
-        if (ret == XA_RESULT_SUCCESS)
-            {
-            impl->engInCritical = XA_BOOLEAN_FALSE;
-            }
-        }
-    else
-        {
-        /* The engine must be in critical section state */
-        DEBUG_ERR("XA_RESULT_PRECONDITIONS_VIOLATED");
-        ret = XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-    DEBUG_API("<-XAThreadSyncItfImpl_ExitCriticalSection");
-    return ret;
-    }
-
-/**
- * XAThreadSyncItfImpl -specific methods
- **/
-
-XAThreadSyncItfImpl* XAThreadSyncItfImpl_Create()
-    {
-    XAThreadSyncItfImpl *self = NULL;
-    DEBUG_API("->XAThreadSyncItfImpl_Create");
-
-    self = (XAThreadSyncItfImpl*) calloc(1, sizeof(XAThreadSyncItfImpl));
-
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.EnterCriticalSection
-                = XAThreadSyncItfImpl_EnterCriticalSection;
-        self->itf.ExitCriticalSection
-                = XAThreadSyncItfImpl_ExitCriticalSection;
-
-        if (XAImpl_CreateMutex(&(self->engCriticalSection))
-                != XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("Mutex creation failed, abort");
-            free(self);
-            DEBUG_API("<-XAThreadSyncItfImpl_Create");
-            return NULL;
-            }
-
-        self->self = self;
-        }
-    DEBUG_API("<-XAThreadSyncItfImpl_Create");
-    return self;
-    }
-
-void XAThreadSyncItfImpl_Free(XAThreadSyncItfImpl* self)
-    {
-    DEBUG_API("->XAThreadSyncItfImpl_Free");
-    if(self)
-        {
-        assert(self==self->self);
-        XAImpl_DeleteMutex(self->engCriticalSection);
-        free(self);
-        }
-    DEBUG_API("<-XAThreadSyncItfImpl_Free");
-    }
-
--- a/khronosfws/openmax_al/src/engine/xathreadsyncitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: ThreadSync Itf Header
- *
- */
-
-#ifndef XATHREADSYNCITF_H
-#define XATHREADSYNCITF_H
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaplatform.h"
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XA%ExampleItf% implementation */
-typedef struct XAThreadSyncItfImpl_
-    {
-    /* parent interface */
-    struct XAThreadSyncItf_ itf;
-    /* pointer to self */
-    struct XAThreadSyncItfImpl_* self;
-
-    /* variables */
-    XAImplMutexHandle engCriticalSection;
-    XAboolean engInCritical;
-    } XAThreadSyncItfImpl;
-
-/** METHODS **/
-
-/* Base interface XAThreadSyncItf implementation */
-XAresult XAThreadSyncItfImpl_EnterCriticalSection(XAThreadSyncItf self);
-XAresult XAThreadSyncItfImpl_ExitCriticalSection(XAThreadSyncItf self);
-
-/* XAThreadSyncItfImpl -specific methods */
-XAThreadSyncItfImpl* XAThreadSyncItfImpl_Create(void);
-void XAThreadSyncItfImpl_Free(XAThreadSyncItfImpl* self);
-
-#endif /* XATHREADSYNCITF_H */
--- a/khronosfws/openmax_al/src/gst_adaptation/xaadaptationgst.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1415 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Base GStreamer Adaptation Source
- *
- */
-
-#include <assert.h>
-#include <string.h>
-#include <gst/gst.h>
-#include <gst/gstbuffer.h>
-#include "xaobjectitf.h"
-#include "xaradiodevice.h"
-#include <stdlib.h>
-#include "xaadaptationgst.h"
-/*
- * XAAdaptationGstCtx* XAAdaptationGst_Create()
- * 1st phase initialization function for Adaptation Base context structure.
- * Reserves memory for base context and initializes GStreamer FW.
- */
-XAresult XAAdaptationGst_Init(XAAdaptationGstCtx* pSelf, XAuint32 ctxId)
-    {
-    DEBUG_API("->XAAdaptationGst_Init");
-
-    if (pSelf)
-        {
-        if (XAAdaptationBase_Init(&(pSelf->baseObj), ctxId)
-                != XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("Failed to init base context!!!");
-            free(pSelf);
-            pSelf = NULL;
-            }
-        else
-            {
-            GError* gerror = 0;
-            /*         Add default handler for Gst-bus messages */
-            pSelf->busCb = XAAdaptationGst_GstBusCb;
-
-            // VASU MOD BEGINS
-            pSelf->cond_mutx_inited = XA_BOOLEAN_FALSE;
-            // VASU MOD ENDS
-
-            sem_init(&(pSelf->semAsyncWait), 0, 0);
-//cross check
-            if ( !gst_init_check( NULL, NULL, &gerror ) )
-                {
-                    DEBUG_ERR("Gst Initalization failure.");
-                    return XA_RESULT_INTERNAL_ERROR;
-                }
-            }
-        }
-    else
-        {
-        DEBUG_ERR("Invalid Gst Base Context.")
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    DEBUG_API("<-XAAdaptationGst_Init");
-    return XA_RESULT_SUCCESS;
-    }
-
-/*
- * XAresult XAAdaptationGst_PostInit()
- * 2nd phase initialization for Adaptation Base.
- */
-XAresult XAAdaptationGst_PostInit(XAAdaptationGstCtx* ctx)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAdaptationGst_PostInit");
-    // VASU MOD BEGINS
-    XAAdaptationBase_PostInit(&ctx->baseObj);
-
-    ctx->thread_launched = XA_BOOLEAN_FALSE;
-    pthread_mutex_init(&(ctx->ds_mutex), NULL);
-    pthread_cond_init(&(ctx->ds_condition), NULL);
-    ctx->cond_mutx_inited = XA_BOOLEAN_TRUE;
-
-    // VASU MOD ENDS
-    DEBUG_API("<-XAAdaptationGst_PostInit");
-    return ret;
-    }
-
-/*
- * void XAAdaptationGst_Free( XAAdaptationGstCtx* ctx )
- * Frees all Base context variables .
- */
-void XAAdaptationGst_Free(XAAdaptationGstCtx* ctx)
-    {
-    GstElement* fakesink = NULL;
-    DEBUG_API("->XAAdaptationGst_Free");
-
-    if (ctx->bin)
-        {
-        fakesink = gst_bin_get_by_name(GST_BIN(ctx->bin), "fakesink");
-        if (fakesink)
-            {
-            gst_element_set_state(GST_ELEMENT(fakesink), GST_STATE_NULL);
-            gst_object_unref(fakesink);
-            }
-
-        if (gst_element_set_state(GST_ELEMENT(ctx->bin), GST_STATE_NULL)
-                != GST_STATE_CHANGE_SUCCESS)
-            { /*not much we can do*/
-            DEBUG_ERR("WARNING: Failed to change to NULL state before deletion!!")
-            }
-        }
-
-    if (ctx->asynctimer)
-        { /*cancel timer*/
-        g_source_remove(ctx->asynctimer);
-        }
-    sem_post(&(ctx->semAsyncWait));
-    sem_destroy(&(ctx->semAsyncWait));
-
-    XAAdaptationGst_StopGstListener(ctx);
-
-    if (ctx->bin)
-        {
-        gst_object_unref(ctx->bin);
-        }
-
-    //g_array_free(ctx->evtHdlrs, TRUE);
-    // VASU MOD BEGINS
-    if (ctx->cond_mutx_inited == XA_BOOLEAN_TRUE)
-        {
-        ctx->thread_launched = XA_BOOLEAN_FALSE;
-        pthread_mutex_destroy(&(ctx->ds_mutex));
-        pthread_cond_destroy(&(ctx->ds_condition));
-        ctx->cond_mutx_inited = XA_BOOLEAN_FALSE;
-        }
-    // VASU MOD ENDS
-    XAAdaptationBase_Free(&ctx->baseObj);
-
-    DEBUG_API("<-XAAdaptationGst_Free");
-    }
-
-/*
- * gboolean XAAdaptationBase_GstBusCb( GstBus *bus, GstMessage *message, gpointer data )
- * Default Gst-bus message handler (Callback)
- */
-gboolean XAAdaptationGst_GstBusCb(GstBus *bus, GstMessage *message,
-        gpointer data)
-    {
-    GError *error;
-    gchar *debug;
-    DEBUG_API("->XAAdaptationGst_GstBusCb");DEBUG_INFO_A2("Received Gst callback \"%s\" from \"%s\"",
-            GST_MESSAGE_TYPE_NAME(message),
-            GST_OBJECT_NAME(GST_MESSAGE_SRC(message)));
-
-    switch (GST_MESSAGE_TYPE(message))
-        {
-        case GST_MESSAGE_ERROR:
-            gst_message_parse_error(message, &error, &debug);
-            DEBUG_INFO_A1("%s", debug)
-            ;
-            break;
-        case GST_MESSAGE_EOS:
-            break;
-        case GST_MESSAGE_UNKNOWN:
-            break;
-        case GST_MESSAGE_WARNING:
-            break;
-        case GST_MESSAGE_INFO:
-            break;
-        case GST_MESSAGE_TAG:
-            break;
-        case GST_MESSAGE_BUFFERING:
-            break;
-        case GST_MESSAGE_STATE_CHANGED:
-            break;
-        case GST_MESSAGE_STATE_DIRTY:
-            break;
-        case GST_MESSAGE_STEP_DONE:
-            break;
-        case GST_MESSAGE_CLOCK_PROVIDE:
-            break;
-        case GST_MESSAGE_CLOCK_LOST:
-            break;
-        case GST_MESSAGE_NEW_CLOCK:
-            break;
-        case GST_MESSAGE_STRUCTURE_CHANGE:
-            break;
-        case GST_MESSAGE_STREAM_STATUS:
-            break;
-        case GST_MESSAGE_APPLICATION:
-            break;
-        case GST_MESSAGE_ELEMENT:
-            break;
-        case GST_MESSAGE_SEGMENT_START:
-            break;
-        case GST_MESSAGE_SEGMENT_DONE:
-            break;
-        case GST_MESSAGE_DURATION:
-            break;
-        case GST_MESSAGE_LATENCY:
-            break;
-        case GST_MESSAGE_ASYNC_START:
-            break;
-        case GST_MESSAGE_ASYNC_DONE:
-            break;
-        case GST_MESSAGE_ANY:
-            break;
-        default:
-            DEBUG_INFO("Unhandled Gst-Bus message")
-            ;
-            break;
-        }
-    DEBUG_API("<-XAAdaptationGst_GstBusCb");
-    return TRUE;
-    }
-
-XAresult XAAdaptationGst_InitGstListener(XAAdaptationGstCtx* ctx)
-    {
-    int ret;
-    DEBUG_API("->XAAdaptationGst_InitGstListener");
-    if (ctx->bin)
-        {
-        ctx->bus = gst_pipeline_get_bus(GST_PIPELINE( ctx->bin ));
-        }
-    if (!ctx->bus)
-        {
-        DEBUG_ERR("could not get gst bus!")
-        return XA_RESULT_INTERNAL_ERROR;
-        }
-    ret = pthread_create(&(ctx->busloopThr), NULL,
-            (XAAdaptationGst_LaunchGstListener), (void*) ctx);
-    // VASU MOD BEGINS
-    if (ctx->thread_launched == XA_BOOLEAN_FALSE)
-        {
-        // Wait until the thread is created
-        pthread_mutex_lock(&(ctx->ds_mutex));
-        pthread_cond_wait(&(ctx->ds_condition), &(ctx->ds_mutex));
-        pthread_mutex_unlock(&(ctx->ds_mutex));
-        // VASU MOD ENDS
-        }
-    if (ret)
-        {
-        DEBUG_ERR_A1("could not create thread!! (%d)",ret)
-        return XA_RESULT_INTERNAL_ERROR;
-        }
-    DEBUG_API("<-XAAdaptationGst_InitGstListener");
-    return XA_RESULT_SUCCESS;
-    }
-
-void * XAAdaptationGst_LaunchGstListener(void* args)
-    {
-    XAAdaptationGstCtx* ctx = (XAAdaptationGstCtx*) args;
-    DEBUG_API("->XAAdaptationGst_LaunchGstListener");
-    // VASU MOD BEGINS
-    // Signal calling thread that this thread creation is completed
-    ctx->thread_launched = XA_BOOLEAN_TRUE;
-    pthread_mutex_lock(&(ctx->ds_mutex));
-    pthread_cond_signal(&(ctx->ds_condition));
-    pthread_mutex_unlock(&(ctx->ds_mutex));
-    // VASU MOD ENDS
-
-    ctx->busloop = g_main_loop_new(NULL, FALSE);
-    if (!ctx->busloop)
-        {
-        DEBUG_ERR("Glib main loop failure.");
-        DEBUG_API("<-XAAdaptationGst_LaunchGstListener");
-        assert(0);
-        }
-    else
-        {
-        DEBUG_INFO("Start Glib main loop")
-        g_main_loop_run(ctx->busloop);
-        DEBUG_INFO("Glib main loop stopped - exiting thread");
-        DEBUG_API("<-XAAdaptationGst_LaunchGstListener");
-        pthread_exit(NULL);
-        }
-    return NULL;
-    }
-
-void XAAdaptationGst_StopGstListener(XAAdaptationGstCtx* ctx)
-    {
-    DEBUG_API("->XAAdaptationGst_StopGstListener");
-    if (ctx->busloop)
-        {
-        g_main_loop_quit(ctx->busloop);
-        g_main_loop_unref(ctx->busloop);
-        }
-    if (ctx->bus)
-        {
-        gst_object_unref(ctx->bus);
-        ctx->bus = NULL;
-        }
-    DEBUG_API("<-XAAdaptationGst_StopGstListener");
-    }
-
-/*
- * ASynchronous operation managing
- **/
-
-/* NOTE: This should NOT be called from gst callbacks - danger of deadlock!!
- */
-void XAAdaptationGst_PrepareAsyncWait(XAAdaptationGstCtx* ctx)
-    {
-    DEBUG_API("->XAAdaptationGst_PrepareAsyncWait");
-
-    if (ctx->waitingasyncop)
-        { /*wait previous async op*/
-        DEBUG_INFO("::WARNING:: previous asynch still ongoing!!!");
-        DEBUG_INFO(">>>>  WAIT PREVIOUS");
-        sem_wait(&(ctx->semAsyncWait));
-        DEBUG_INFO("<<<<  PREVIOUS COMPLETED");
-        }
-    sem_init(&(ctx->semAsyncWait), 0, 0);
-
-    ctx->waitingasyncop = XA_BOOLEAN_TRUE;
-    DEBUG_API("<-XAAdaptationGst_PrepareAsyncWait");
-    }
-
-void XAAdaptationGst_StartAsyncWait(XAAdaptationGstCtx* ctx)
-    {
-    DEBUG_API("->XAAdaptationGst_StartAsyncWait");
-
-    /* timeout to try to avoid gst freeze in rollup */
-    ctx->asynctimer = g_timeout_add(XA_ADAPT_ASYNC_TIMEOUT,
-            XAAdaptationGst_CancelAsyncWait, ctx);
-    /* check flag once again if callback already happened before wait */
-    if (ctx->waitingasyncop)
-        {
-        DEBUG_INFO(">>>>  ASYNC STARTS");
-        sem_wait(&(ctx->semAsyncWait));
-        DEBUG_INFO("<<<<  ASYNC COMPLETED");
-        }
-    else
-        {
-        DEBUG_INFO("<> async completed already");
-        }
-    /*cancel timer*/
-    if (ctx->asynctimer)
-        {
-        g_source_remove(ctx->asynctimer);
-        }
-    ctx->waitingasyncop = XA_BOOLEAN_FALSE;
-
-    DEBUG_API("<-XAAdaptationGst_StartAsyncWait");
-    }
-
-/* async operation timeout callback*/
-gboolean XAAdaptationGst_CancelAsyncWait(gpointer ctx)
-    {
-    XAAdaptationGstCtx* bCtx = (XAAdaptationGstCtx*) ctx;
-    DEBUG_API("->XAAdaptationGst_CancelAsyncWait");
-    if (bCtx->waitingasyncop)
-        {
-        DEBUG_ERR_A3("ASYNC TIMED OUT : current %d, gsttarget %d, wanted %d",
-                GST_STATE(bCtx->bin), GST_STATE_TARGET(bCtx->bin), bCtx->binWantedState);
-        bCtx->waitingasyncop = XA_BOOLEAN_FALSE;
-        sem_post(&(bCtx->semAsyncWait));
-        }
-    DEBUG_API("<-XAAdaptationGst_CancelAsyncWait");
-    /* return false to remove timer */
-    return FALSE;
-    }
-
-void XAAdaptationGst_CompleteAsyncWait(XAAdaptationGstCtx* ctx)
-    {
-    DEBUG_API("->XAAdaptationGst_CompleteAsyncWait");
-    if (ctx->waitingasyncop)
-        {
-        int i;
-        ctx->waitingasyncop = XA_BOOLEAN_FALSE;
-        sem_getvalue(&(ctx->semAsyncWait), &i);
-        DEBUG_INFO_A1("Asynch operation succeeded, sem value %d",i);
-        if (i <= 0)
-            { /* only post if locked */
-            sem_post(&(ctx->semAsyncWait));
-            }
-        else if (i > 0)
-            { /* should not be, reset semaphore */
-            sem_init(&(ctx->semAsyncWait), 0, 0);
-            }
-        }
-    DEBUG_API("<-XAAdaptationGst_CompleteAsyncWait");
-    }
-
-/**
- * GstElement* XAAdaptationGst_CreateGstSource( XADataSource* xaSrc, const XAchar *name )
- * @param XADataSource* xaSnk - XADataSource defining gst source to create
- * @param const XAchar *name - string for naming the gst element
- * @param XAboolean *isobj - (out param) is source another XA object?
- * @return GstElement* - return newly created gst source element
- * Description: Create gst source element corresponding to XA source structure
- */
-GstElement* XAAdaptationGst_CreateGstSource(XADataSource* xaSrc,
-        const char *name, XAboolean *isobj, XAboolean *isPCM,
-        XAboolean *isRawImage)
-    {
-    XAuint32 locType = 0;
-    GstElement* gstSrc = NULL;
-    char* fname = NULL;
-    XADataLocator_URI* uri = NULL;
-    XADataLocator_IODevice* ioDevice = NULL;
-#ifdef OMAX_CAMERABIN
-    XACameraDeviceImpl* cameraDevice = NULL;
-    XAObjectItfImpl* pObj = NULL;
-#endif
-    XARadioDeviceImpl* radioDevice = NULL;
-
-    DEBUG_API("->XAAdaptationGst_CreateGstSource");
-    if (!xaSrc || !xaSrc->pLocator || !isobj)
-        {
-        return NULL;
-        }
-    *isobj = XA_BOOLEAN_FALSE;
-    if (xaSrc && xaSrc->pFormat && *((XAuint32*) (xaSrc->pFormat))
-            ==XA_DATAFORMAT_PCM && isPCM)
-        {
-        *isPCM = XA_BOOLEAN_TRUE;
-        }
-    if (xaSrc && xaSrc->pFormat && *((XAuint32*) (xaSrc->pFormat))
-            ==XA_DATAFORMAT_RAWIMAGE && isRawImage)
-        {
-        *isRawImage = XA_BOOLEAN_TRUE;
-        }
-    locType = *((XAuint32*) (xaSrc->pLocator));
-    switch (locType)
-        {
-        case XA_DATALOCATOR_URI:
-            DEBUG_INFO("XA_DATALOCATOR_URI")
-            ;
-            uri = (XADataLocator_URI*) xaSrc->pLocator;
-            gstSrc = gst_element_factory_make("filesrc", name);
-            if (uri->URI != NULL)
-                {
-                DEBUG_INFO_A1("URI: %s", uri->URI);
-                if (strncmp((char *) uri->URI, "file:///", 8) == 0)
-                    {
-                    fname = (char *) &((uri->URI)[8]);
-                    }
-                else
-                    {
-                    fname = (char *) uri->URI;
-                    }DEBUG_INFO_A1("->filesystem path %s", fname);
-                g_object_set(G_OBJECT(gstSrc), "location", fname, NULL);
-                /*check for pcm - decodebin does not know how to handle raw PCM files */
-                if (isPCM && strstr(fname, ".pcm"))
-                    {
-                    DEBUG_INFO("PCM file detected");
-                    *isPCM = XA_BOOLEAN_TRUE;
-                    }
-                }
-            else
-                {
-                DEBUG_ERR("No uri specified.");
-                return NULL;
-                }
-            break; /* XA_DATALOCATOR_URI */
-
-        case XA_DATALOCATOR_IODEVICE:
-            DEBUG_INFO("XA_DATALOCATOR_IODEVICE")
-            ;
-            ioDevice = (XADataLocator_IODevice*) (xaSrc->pLocator);
-            switch (ioDevice->deviceType)
-                {
-                case XA_IODEVICE_AUDIOINPUT:
-                    {
-                    DEBUG_INFO("XA_IODEVICE_AUDIOINPUT");
-                    DEBUG_INFO_A1("ioDevice->deviceID: %x", ioDevice->deviceID);
-                    switch (ioDevice->deviceID)
-                        {
-                        //case XA_ADAPTID_ALSASRC: //Krishna
-                        case XA_ADAPTID_DEVSOUNDSRC:
-                            //DEBUG_INFO("alsasrc"); //Krishna
-                            DEBUG_INFO("devsoundsrc")
-                            ;
-                            gstSrc = gst_element_factory_make("devsoundsrc",
-                                    name); //Krishna - changed to devsoundsrc
-							// no need to set num-buffers		
-                            /*g_object_set(G_OBJECT (gstSrc), "num-buffers",
-                                    80, NULL);*/
-                            break;
-                        case XA_ADAPTID_AUDIOTESTSRC:
-                            /*fall through*/
-                        default:
-                            DEBUG_INFO("audiotestsrc")
-                            ;
-                            gstSrc = gst_element_factory_make("audiotestsrc",
-                                    name);
-                            break;
-                        }
-                    break;
-                    }
-#ifdef OMAX_CAMERABIN
-
-                    case XA_IODEVICE_CAMERA:
-                        {
-                        DEBUG_INFO("XA_IODEVICE_CAMERA");
-                        if ( ioDevice->device )
-                            { /*source is camera object*/
-                            DEBUG_INFO("Use camerabin as source.");
-                            /* Get camerabin from source object */
-                            pObj = (XAObjectItfImpl*)(*ioDevice->device);
-                            cameraDevice = (XACameraDeviceImpl*)(pObj);
-                            /*TODO we had to remove this line below since adaptationCtx
-                             * was  not a member of structure*/
-
-                            gstSrc = GST_ELEMENT(((XAAdaptationGstCtx*)(cameraDevice->adaptationCtx))->bin);
-                            /* refcount increase is needed to keep this not being deleted after use */
-                            gst_object_ref(GST_OBJECT(gstSrc));
-                            *isobj = XA_BOOLEAN_TRUE;
-                            }
-                        else
-                            {
-                            DEBUG_INFO_A1("ioDevice->deviceID: %x", ioDevice->deviceID);
-                            switch (ioDevice->deviceID )
-                                {
-                                case XA_ADAPTID_V4L2SRC:
-                                DEBUG_INFO("Camera deviceID: v4l2src ");
-
-                                break;
-                                case XA_ADAPTID_VIDEOTESTSRC:
-                                DEBUG_INFO("Camera deviceID: videotestsrc");
-
-                                break;
-                                default:
-                                case XA_DEFAULTDEVICEID_CAMERA:
-                                DEBUG_INFO("Camera deviceID:Default");
-
-                                break;
-                                }
-                            if ( cameraCtx )
-                                {
-                                gstSrc = GST_ELEMENT(cameraCtx->baseObj.bin);
-                                gst_object_ref(GST_OBJECT(gstSrc));
-                                *isobj = XA_BOOLEAN_TRUE;
-                                }
-                            else
-                                {
-                                DEBUG_ERR("No camera object created!");
-                                return NULL;
-                                }
-                            }
-                        break;
-                        }
-#endif                
-                case XA_IODEVICE_RADIO:
-                    DEBUG_INFO("XA_IODEVICE_RADIO")
-                    ;
-                    if (ioDevice->device)
-                        {
-                        DEBUG_INFO("Use radio pipeline as source.");
-                        /* Get radio_pipeline and set it to base context */
-                        radioDevice = (XARadioDeviceImpl*) (*ioDevice->device);
-                        /* radio does not have actual bin, only source element*/
-                        gstSrc = GST_ELEMENT(((XAAdaptationGstCtx*)radioDevice->adaptationCtx)->bin);
-                        /* refcount increase is needed to keep this not being deleted after use */
-                        gst_object_ref(GST_OBJECT(gstSrc));
-                        /**isobj = XA_BOOLEAN_TRUE;*/
-                        }
-                    break;
-                default:
-                    {
-                    DEBUG_ERR("Unsupported IODevice.");
-                    break;
-                    }
-                }
-            break; /* XA_DATALOCATOR_IODEVICE */
-
-        case XA_DATALOCATOR_ADDRESS:
-            {
-            XADataLocator_Address* address =
-                    (XADataLocator_Address*) (xaSrc->pLocator);
-            gstSrc = gst_element_factory_make("appsrc", name);
-            /* init gst buffer from datalocator */
-            if (gstSrc)
-                {
-                /* init GST buffer from XADataLocator*/
-                GstBuffer* userBuf = gst_buffer_new();
-                if (userBuf)
-                    {
-                    userBuf->size = address->length;
-                    userBuf->data = address->pAddress;
-                    /* push the whole buffer to appsrc so it is ready for preroll */
-                    DEBUG_INFO("Pushing buffer");
-                    gst_app_src_push_buffer(GST_APP_SRC(gstSrc), userBuf);
-                    DEBUG_INFO_A1("Sent buffer at 0x%x to appsrc", userBuf );
-                    gst_app_src_end_of_stream(GST_APP_SRC(gstSrc));
-                    }
-                else
-                    {
-                    DEBUG_ERR("Failure allocating buffer!");
-                    }
-                }
-            else
-                {
-                DEBUG_ERR("Failure creating appsrc!");
-                }
-            }
-            break;
-
-        default:
-            DEBUG_ERR("Incorrect data locator for source.")
-            break;
-        }
-
-    if (gstSrc)
-        {
-        DEBUG_INFO_A1("Created gstreamer source element at %x", gstSrc);
-        }
-
-    DEBUG_API("<-XAAdaptationGst_CreateGstSource");
-    return gstSrc;
-    }
-
-/**
- * GstElement* XAAdaptationGst_CreateGstSink( XADataSink* xaSnk, const XAchar *name )
- * @param XADataSink* xaSnk - XADataSink defining gst sink to create
- * @param const XAchar *name - string for naming the gst element
- * @return GstElement* - return newly created gst sink element
- * Description: Create gst sink element corresponding to XA sink structure
- */
-GstElement* XAAdaptationGst_CreateGstSink(XADataSink* xaSnk,
-        const char *name, XAboolean *isobj)
-    {
-    XAuint32 locType = 0;
-    GstElement* gstSnk = NULL;
-    XADataLocator_URI* uri = NULL;
-    DEBUG_API("->XAAdaptationGst_CreateGstSink");
-    if (!xaSnk || !xaSnk->pLocator)
-        {
-        DEBUG_INFO("Warning! No sink specified, use fakesink");
-        gstSnk = gst_element_factory_make("fakesink", name);
-        if (!gstSnk)
-            {
-            DEBUG_ERR("Cannot create sink!");
-            return NULL;
-            }
-        g_object_set(G_OBJECT(gstSnk), "async", FALSE, NULL);
-        }
-    else
-        {
-        locType = *((XAuint32*) (xaSnk->pLocator));
-        switch (locType)
-            {
-            case XA_DATALOCATOR_URI:
-                DEBUG_INFO("XA_DATALOCATOR_URI")
-                ;
-                uri = (XADataLocator_URI*) xaSnk->pLocator;
-                gstSnk = gst_element_factory_make("filesink", name);
-                if (!gstSnk)
-                    {
-                    DEBUG_ERR("Cannot create sink!");
-                    return NULL;
-                    }
-                if (uri->URI != NULL)
-                    {
-                    XAchar *fname;
-                    DEBUG_INFO_A1("URI: %s", uri->URI);
-                    if (strncmp((char *) uri->URI, "file:///", 8) == 0)
-                        {
-                        fname = &((uri->URI)[8]);
-                        }
-                    else
-                        {
-                        fname = uri->URI;
-                        }DEBUG_INFO_A1("->filesystem path %s", fname);
-                    g_object_set(G_OBJECT(gstSnk), "location", fname,
-                            "async", FALSE, "qos", FALSE, "max-lateness",
-                            (gint64) (-1), NULL);
-                    }
-                else
-                    {
-                    DEBUG_ERR("No recording output uri specified.");
-                    return NULL;
-                    }
-                break;
-            case XA_DATALOCATOR_NATIVEDISPLAY:
-                DEBUG_INFO("Sink locator type - XA_DATALOCATOR_NATIVEDISPLAY")
-                ;
-#ifdef USE_NGA_SURFACES
-                gstSnk = gst_element_factory_make("devvideosink",
-                        "devvideosink");
-#else
-                gstSnk = gst_element_factory_make("ximagesink",name);
-#endif /*USE_NGA_SURFACES*/
-                if (!gstSnk)
-                    {
-                    DEBUG_ERR("Cannot create sink!");
-                    return NULL;
-                    }
-                g_object_set(G_OBJECT(gstSnk), "force-aspect-ratio", TRUE,
-                        "async", FALSE, "qos", FALSE, "handle-events", TRUE,
-                        "handle-expose", TRUE, "max-lateness", (gint64) (-1),
-                        NULL);
-                break;
-            case XA_DATALOCATOR_OUTPUTMIX:
-                DEBUG_INFO("Sink locator type - XA_DATALOCATOR_OUTPUTMIX");
-                    {
-                    }
-                break;
-
-            case XA_DATALOCATOR_ADDRESS:
-                {
-                gstSnk = gst_element_factory_make("appsink", name);
-                /* Not actually object sink, but attribute used to notify recorder
-                 * about appsink (no object sinks applicable in this use case)
-                 **/
-                *isobj = TRUE;
-                }
-                break;
-            case XA_DATALOCATOR_IODEVICE:
-                /* when only valid IOdevice sinks vibra and LED sinks implemented
-                 * at adaptation level, add handling here (in this implementation,
-                 * no handling needed as only dummy implementations for those)
-                 **/
-            default:
-                DEBUG_ERR("Incorrect data locator for sink.")
-                break;
-            }
-        }
-    if (gstSnk)
-        {
-        DEBUG_INFO_A1("Created gstreamer sink element at %x", gstSnk);
-        }
-    DEBUG_API("<-XAAdaptationGst_CreateGstSink");
-    return gstSnk;
-    }
-
-/**
- * GstElement* XAAdaptationGst_CreateVideoPP( )
- * @return GstElement* - return newly created gst pipeline element
- * Description: Create video processing pipeline
- */
-GstElement* XAAdaptationGst_CreateVideoPP()
-    {
-    GstElement *vpp;
-    DEBUG_API("->XAAdaptationGst_CreateVideoPP");
-    vpp = gst_pipeline_new("videopp");
-    if (vpp)
-        {
-        GstPad *ghostsink, *ghostsrc;
-        GstElement *col1, *col2, *rotate, *mirror, *box, *crop, *gamma,
-                *balance, *scale, *scale2,
-#ifdef USE_NGA_SURFACES
-                *identity,
-#endif /*USE_NGA_SURFACES*/
-                *queue;
-
-        /* Crete ffmpegcolorspace to convert stream to correct format */
-        col1 = gst_element_factory_make("ffmpegcolorspace", "pp_colsp1");
-        if (col1)
-            {
-            DEBUG_INFO("Created ffmpegcolorspace element");
-            gst_bin_add(GST_BIN(vpp), col1);
-            /* make this bin link point*/
-            ghostsink = gst_element_get_static_pad(col1, "sink");
-            if (ghostsink)
-                {
-                gst_element_add_pad(vpp, gst_ghost_pad_new("videopp_sink",
-                        ghostsink));
-                gst_object_unref(GST_OBJECT(ghostsink));
-                }
-            }
-
-        /* create video crop, this will be sink for videoPP pipeline */
-        crop = gst_element_factory_make("videocrop", "pp_crop");
-        if (crop)
-            {
-            DEBUG_INFO("Created crop element");
-            gst_bin_add(GST_BIN(vpp), crop);
-            }
-
-        /* create video rotate */
-        rotate = gst_element_factory_make("videoflip", "pp_rotate");
-        if (rotate)
-            {
-            DEBUG_INFO("Created rotate element");
-            g_object_set(G_OBJECT(rotate), "method", FLIP_NONE, NULL);
-            gst_bin_add(GST_BIN(vpp), rotate);
-            }
-
-        /* create video mirror */
-        mirror = gst_element_factory_make("videoflip", "pp_mirror");
-        if (mirror)
-            {
-            DEBUG_INFO("Created mirror element");
-            g_object_set(G_OBJECT(mirror), "method", FLIP_NONE, NULL);
-            gst_bin_add(GST_BIN(vpp), mirror);
-            }
-
-        /* create video box */
-        box = gst_element_factory_make("videobox", "pp_box");
-        if (box)
-            {
-            DEBUG_INFO("Created videobox element");
-            gst_bin_add(GST_BIN(vpp), box);
-            }
-
-        /* create video balance */
-        balance = gst_element_factory_make("videobalance", "pp_balance");
-        if (balance)
-            {
-            DEBUG_INFO("Created balance element");
-            gst_bin_add(GST_BIN(vpp), balance);
-            }
-
-        /* create video gamma */
-        gamma = gst_element_factory_make("gamma", "pp_gamma");
-        if (gamma)
-            {
-            DEBUG_INFO("Created gamma element");
-            gst_bin_add(GST_BIN(vpp), gamma);
-            }
-
-        /* Create videoscale element to scale postprocessed output to correct size */
-        scale = gst_element_factory_make("videoscale", "pp_scale");
-        if (scale)
-            {
-            DEBUG_INFO("Created videoscale element");
-            gst_bin_add(GST_BIN(vpp), scale);
-            }
-        scale2 = gst_element_factory_make("videoscale", "pp_scale2");
-        if (scale2)
-            {
-            GstPad *pad = NULL;
-            GstCaps *caps = NULL;
-            DEBUG_INFO("Created videoscale element");
-            pad = gst_element_get_static_pad(scale2, "src");
-            caps = gst_caps_new_simple("video/x-raw-yuv", "width",
-                    G_TYPE_INT, 0, "height", G_TYPE_INT, 0, NULL);
-            gst_pad_set_caps(pad, caps);
-            gst_bin_add(GST_BIN(vpp), scale2);
-            }
-
-        /* create video queue */
-        queue = gst_element_factory_make("queue", "vpp_queue");
-        if (queue)
-            {
-            DEBUG_INFO("Created queue element");
-            gst_bin_add(GST_BIN(vpp), queue);
-#ifdef USE_NGA_SURFACES
-            /* make this bin link point*/
-            ghostsink = gst_element_get_static_pad(queue, "sink");
-            if (ghostsink)
-                {
-                gst_element_add_pad(vpp, gst_ghost_pad_new("videopp_src",
-                        ghostsink));
-                gst_object_unref(GST_OBJECT(ghostsink));
-                }
-#endif /*USE_NGA_SURFACES*/
-            }
-
-        /* Crete ffmpegcolorspace to convert stream to correct format */
-        col2 = gst_element_factory_make("ffmpegcolorspace", "pp_colsp2");
-        if (col2)
-            {
-            DEBUG_INFO("Created ffmpegcolorspace element");
-            gst_bin_add(GST_BIN(vpp), col2);
-            /* make this bin link point*/
-            ghostsrc = gst_element_get_static_pad(col2, "src");
-            if (ghostsrc)
-                {
-                gst_element_add_pad(vpp, gst_ghost_pad_new("videopp_src",
-                        ghostsrc));
-                gst_object_unref(GST_OBJECT(ghostsrc));
-                }
-            }
-
-#ifdef USE_NGA_SURFACES
-        //shyward
-        /* create identity element */
-        identity = gst_element_factory_make("identity", "identity");
-        if (identity)
-            {
-            DEBUG_INFO("Created identity element");
-            gst_bin_add(GST_BIN(vpp), identity);
-            /* make this bin link point*/
-            ghostsrc = gst_element_get_static_pad(identity, "src");
-            if (ghostsrc)
-                {
-                gst_element_add_pad(vpp, gst_ghost_pad_new("videopp_sink",
-                        ghostsrc));
-                gst_object_unref(GST_OBJECT(ghostsrc));
-                }
-            }
-        if (!(gst_element_link_many(queue, identity, NULL)))
-#else
-        //shyward - thins code assumes all the elements will have been created, which is not true
-        if( !(gst_element_link_many(col1,
-                                scale,
-                                crop,
-                                rotate,
-                                mirror,
-                                box,
-                                balance,
-                                gamma,
-                                queue,
-                                scale2,
-#ifdef USE_NGA_SURFACES
-                                identity,
-#endif /*USE_NGA_SURFACES*/
-                                col2,
-                                NULL)
-                ) )
-#endif /*USE_NGA_SURFACES*/
-            {
-            DEBUG_ERR("Could not link videopp elements!!");
-            gst_object_unref(vpp);
-            vpp = NULL;
-            }
-        }
-    DEBUG_API("<-XAAdaptationGst_CreateVideoPP");
-    return vpp;
-    }
-
-/**
- * GstElement* XAAdaptationGst_CreateFixedSizeRecordVideoPP( )
- * @return GstElement* - return newly created gst pipeline element
- * Description: Create video processing pipeline with fixed output size
- *  to TEST_VIDEO_WIDTH x TEST_VIDEO_HEIGHT
- *              experimental implementation for changing recorder output size
- */
-GstElement* XAAdaptationGst_CreateFixedSizeVideoPP()
-    {
-    GstElement *vpp;
-    DEBUG_API("->XAAdaptationGst_CreateFixedSizeVideoPP");
-    vpp = gst_pipeline_new("videopp");
-    if (vpp)
-        {
-        GstPad *ghostsink, *ghostsrc;
-        GstElement *col1, *col2, *rotate, *mirror, *box, *crop, *gamma,
-                *balance, *scale, *scale2, *filter, *queue;
-
-        /* Crete ffmpegcolorspace to convert stream to correct format */
-        col1 = gst_element_factory_make("ffmpegcolorspace", "pp_colsp1");
-        if (col1)
-            {
-            DEBUG_INFO("Created ffmpegcolorspace element");
-            gst_bin_add(GST_BIN(vpp), col1);
-            /* make this bin link point*/
-            ghostsink = gst_element_get_static_pad(col1, "sink");
-            if (ghostsink)
-                {
-                gst_element_add_pad(vpp, gst_ghost_pad_new("videopp_sink",
-                        ghostsink));
-                gst_object_unref(GST_OBJECT(ghostsink));
-                }
-            }
-
-        /* create video crop, this will be sink for videoPP pipeline */
-        crop = gst_element_factory_make("videocrop", "pp_crop");
-        if (crop)
-            {
-            DEBUG_INFO("Created crop element");
-            gst_bin_add(GST_BIN(vpp), crop);
-            }
-
-        /* create video rotate */
-        rotate = gst_element_factory_make("videoflip", "pp_rotate");
-        if (rotate)
-            {
-            DEBUG_INFO("Created rotate element");
-            g_object_set(G_OBJECT(rotate), "method", FLIP_NONE, NULL);
-            gst_bin_add(GST_BIN(vpp), rotate);
-            }
-
-        /* create video mirror */
-        mirror = gst_element_factory_make("videoflip", "pp_mirror");
-        if (mirror)
-            {
-            DEBUG_INFO("Created mirror element");
-            g_object_set(G_OBJECT(mirror), "method", FLIP_NONE, NULL);
-            gst_bin_add(GST_BIN(vpp), mirror);
-            }
-
-        /* create video box */
-        box = gst_element_factory_make("videobox", "pp_box");
-        if (box)
-            {
-            DEBUG_INFO("Created videobox element");
-            gst_bin_add(GST_BIN(vpp), box);
-            }
-
-        /* create video balance */
-        balance = gst_element_factory_make("videobalance", "pp_balance");
-        if (balance)
-            {
-            DEBUG_INFO("Created balance element");
-            gst_bin_add(GST_BIN(vpp), balance);
-            }
-
-        /* create video gamma */
-        gamma = gst_element_factory_make("gamma", "pp_gamma");
-        if (gamma)
-            {
-            DEBUG_INFO("Created gamma element");
-            gst_bin_add(GST_BIN(vpp), gamma);
-            }
-
-        /* Create videoscale element to scale postprocessed output to correct size */
-        scale = gst_element_factory_make("videoscale", "pp_scale");
-        if (scale)
-            {
-            DEBUG_INFO("Created videoscale element");
-            gst_bin_add(GST_BIN(vpp), scale);
-            }
-        scale2 = gst_element_factory_make("videoscale", "pp_scale2");
-        if (scale2)
-            {
-            GstPad *pad = NULL;
-            GstCaps *caps = NULL;
-            DEBUG_INFO("Created videoscale element");
-            pad = gst_element_get_static_pad(scale2, "src");
-            caps = gst_caps_new_simple("video/x-raw-yuv", "width",
-                    G_TYPE_INT, 0, "height", G_TYPE_INT, 0, NULL);
-            gst_pad_set_caps(pad, caps);
-            gst_bin_add(GST_BIN(vpp), scale2);
-            }
-
-        /* create capsfilter for fixed video size */
-        filter = gst_element_factory_make("capsfilter", "pp_filter");
-        if (filter)
-            {
-
-            g_object_set(G_OBJECT(filter), "caps", gst_caps_new_simple(
-                    "video/x-raw-yuv", "width", G_TYPE_INT, TEST_VIDEO_WIDTH,
-                    "height", G_TYPE_INT, TEST_VIDEO_HEIGHT, NULL), NULL);
-            gst_bin_add(GST_BIN(vpp), filter);
-            }
-
-        /* create video queue */
-        queue = gst_element_factory_make("queue", "vpp_queue");
-        if (queue)
-            {
-            gst_bin_add(GST_BIN(vpp), queue);
-            }
-
-        /* Crete ffmpegcolorspace to convert stream to correct format */
-        col2 = gst_element_factory_make("ffmpegcolorspace", "pp_colsp2");
-        if (col2)
-            {
-            DEBUG_INFO("Created ffmpegcolorspace element");
-            gst_bin_add(GST_BIN(vpp), col2);
-            /* make this bin link point*/
-            ghostsrc = gst_element_get_static_pad(col2, "src");
-            if (ghostsrc)
-                {
-                gst_element_add_pad(vpp, gst_ghost_pad_new("videopp_src",
-                        ghostsrc));
-                gst_object_unref(GST_OBJECT(ghostsrc));
-                }
-            }
-        if (!(gst_element_link_many(col1, scale, crop, rotate, mirror, box,
-                balance, gamma, queue, scale2, filter, col2, NULL)))
-            {
-            DEBUG_ERR("Could not link videopp elements!!");
-            gst_object_unref(vpp);
-            vpp = NULL;
-            }
-        }
-    DEBUG_API("<-XAAdaptationGst_CreateFixedSizeVideoPP");
-    return vpp;
-    }
-
-/**
- * GstElement* XAAdaptationGst_CreateVideoPPBlackScr( )
- * @return GstElement* - return newly created gst pipeline element
- * Description: Create video processing pipeline for black screen
- */
-GstElement* XAAdaptationGst_CreateVideoPPBlackScr()
-    {
-    GstElement *vppBScr;
-    DEBUG_API("->XAAdaptationGst_CreateVideoPPBlackScr");
-    vppBScr = gst_pipeline_new("videoppBScr");
-    if (vppBScr)
-        {
-        GstPad *ghostsrc = NULL;
-        GstElement *testVideo = NULL, *scale = NULL;
-        GstElement *ffmpegcolorspace = NULL;
-
-        testVideo = gst_element_factory_make("videotestsrc", "videotest");
-        if (testVideo)
-            {
-            DEBUG_INFO("Created videotestsrc element");
-
-            g_object_set(G_OBJECT(testVideo), "pattern", (gint) 2,
-                    "num-buffers", (gint) 1, NULL);
-            gst_bin_add(GST_BIN(vppBScr), testVideo);
-            }
-
-        scale = gst_element_factory_make("videoscale", "BSrc_scale");
-        if (scale)
-            {
-            DEBUG_INFO("Created videoscale element");
-            gst_bin_add(GST_BIN(vppBScr), scale);
-            /* make this bin link point*/
-            ghostsrc = gst_element_get_static_pad(scale, "src");
-            if (ghostsrc)
-                {
-                gst_element_add_pad(vppBScr, gst_ghost_pad_new(
-                        "videoppBSrc_src", ghostsrc));
-                gst_object_unref(GST_OBJECT(ghostsrc));
-                }
-            }
-        ffmpegcolorspace = gst_element_factory_make("ffmpegcolorspace",
-                "BlackScrFfmpeg");
-        gst_bin_add(GST_BIN(vppBScr), ffmpegcolorspace);
-        if (!(gst_element_link_many(testVideo, ffmpegcolorspace, scale, NULL)))
-            {
-            DEBUG_ERR("Could not link videoppBSrc elements!!");
-            gst_object_unref(vppBScr);
-            vppBScr = NULL;
-            }
-        }
-    DEBUG_API("<-XAAdaptationGst_CreateVideoPPBlackScr");
-    return vppBScr;
-    }
-
-/**
- * GstElement* XAAdaptationGst_CreateInputSelector( )
- * @return GstElement* - return newly created input selector
- * Description: Create input selector to processing between black screen and video screen
- */
-GstElement* XAAdaptationGst_CreateInputSelector()
-    {
-    GstElement *inputSelector;
-    DEBUG_API("->XAAdaptationGst_CreateInputSelector");
-    inputSelector = gst_element_factory_make("input-selector",
-            "input-selector");
-    if (inputSelector)
-        {
-        g_object_set(G_OBJECT(inputSelector), "select-all", TRUE, NULL);
-        }
-    DEBUG_API("<-XAAdaptationGst_CreateInputSelector");
-    return inputSelector;
-    }
-
-/**
- * GstElement* XAAdaptationGst_CreateAudioPP( )
- * @return GstElement* - return newly created gst pipeline element
- * Description: Create video processing pipeline
- */
-GstElement* XAAdaptationGst_CreateAudioPP()
-    {
-    GstElement *app;
-    gboolean ok = TRUE;
-    DEBUG_API("->XAAdaptationGst_CreateAudioPP");
-    app = gst_pipeline_new("audiopp");
-    if (app)
-        {
-        GstPad *ghostsink, *ghostsrc;
-        GstElement *ac, *vol, *eq, *queue, *pan, *ac2;
-
-        /* first and last elements should be audioconverts to
-         *  match sink and encoder formats */
-        ac = gst_element_factory_make("audioconvert", "pp_ac");
-        if (ac)
-            {
-            ok = gst_bin_add(GST_BIN(app), ac);
-            /* make this bin link point*/
-            if (ok)
-                {
-                ghostsink = gst_element_get_static_pad(ac, "sink");
-                ok = gst_element_add_pad(app, gst_ghost_pad_new("sink",
-                        ghostsink));
-                gst_object_unref(GST_OBJECT(ghostsink));
-                }
-            }
-        ac2 = gst_element_factory_make("audioconvert", "pp_ac2");
-        if (ac2 && ok)
-            {
-            ok = gst_bin_add(GST_BIN(app), ac2);
-            /* make this bin link point*/
-            if (ok)
-                {
-                ghostsrc = gst_element_get_static_pad(ac2, "src");
-                ok = gst_element_add_pad(app, gst_ghost_pad_new("src",
-                        ghostsrc));
-                gst_object_unref(GST_OBJECT(ghostsrc));
-                }
-            }
-
-        vol = gst_element_factory_make("volume", "pp_vol");
-        /* create volume controller */
-        if (vol && ok)
-            {
-            ok = gst_bin_add(GST_BIN(app), vol);
-            g_object_set(G_OBJECT(vol), "volume", (gdouble) 1, NULL);
-            }
-        /* create 10-band equalizer */
-        eq = gst_element_factory_make("equalizer-10bands", "pp_equ");
-        if (eq && ok)
-            {
-            ok = gst_bin_add(GST_BIN(app), eq);
-            }
-        /* create audio queue */
-        queue = gst_element_factory_make("queue", "app_queue");
-        if (queue && ok)
-            {
-            ok = gst_bin_add(GST_BIN(app), queue);
-            g_object_set(G_OBJECT (queue), "max-size-buffers", 2, NULL);
-            }
-        /* create audio pan effect */
-        pan = gst_element_factory_make("audiopanorama", "pp_pan");
-        if (pan && ok)
-            {
-            ok = gst_bin_add(GST_BIN(app), pan);
-            }
-
-        if (ac && ok)
-            {
-            if (queue)
-                {
-                ok = gst_element_link(ac, queue);
-                }
-            else if (vol)
-                {
-                ok = gst_element_link(ac, vol);
-                }
-            else if (pan)
-                {
-                ok = gst_element_link(ac, pan);
-                }
-            else if (eq)
-                {
-                ok = gst_element_link(ac, eq);
-                }
-            else if (ac2)
-                {
-                ok = gst_element_link(ac, ac2);
-                }
-            }
-        if (queue && ok)
-            {
-            if (vol)
-                {
-                ok = gst_element_link(queue, vol);
-                }
-            else if (pan)
-                {
-                ok = gst_element_link(queue, pan);
-                }
-            else if (eq)
-                {
-                ok = gst_element_link(queue, eq);
-                }
-            else if (ac2)
-                {
-                ok = gst_element_link(queue, ac2);
-                }
-            }
-        if (vol && ok)
-            {
-            if (pan)
-                {
-                ok = gst_element_link(vol, pan);
-                }
-            else if (eq)
-                {
-                ok = gst_element_link(vol, eq);
-                }
-            else if (ac2)
-                {
-                ok = gst_element_link(vol, ac2);
-                }
-            }
-        if (pan && ok)
-            {
-            if (eq)
-                {
-                ok = gst_element_link(pan, eq);
-                }
-            else if (ac2)
-                {
-                ok = gst_element_link(pan, ac2);
-                }
-            }
-        if (eq && ok)
-            {
-            if (ac2)
-                {
-                ok = gst_element_link(eq, ac2);
-                }
-            }
-
-        if (ac)
-            {
-            // ghost sink above
-            }
-        else if (queue && ok)
-            {
-            /* make this bin link point*/
-            ghostsink = gst_element_get_static_pad(queue, "sink");
-            ok = gst_element_add_pad(app,
-                    gst_ghost_pad_new("sink", ghostsink));
-            gst_object_unref(GST_OBJECT(ghostsink));
-            }
-        else if (vol && ok)
-            {
-            /* make this bin link point*/
-            ghostsink = gst_element_get_static_pad(vol, "sink");
-            ok = gst_element_add_pad(app,
-                    gst_ghost_pad_new("sink", ghostsink));
-            gst_object_unref(GST_OBJECT(ghostsink));
-            }
-        else if (pan && ok)
-            {
-            /* make this bin link point*/
-            ghostsink = gst_element_get_static_pad(pan, "sink");
-            ok = gst_element_add_pad(app,
-                    gst_ghost_pad_new("sink", ghostsink));
-            gst_object_unref(GST_OBJECT(ghostsink));
-            }
-        else if (eq && ok)
-            {
-            /* make this bin link point*/
-            ghostsink = gst_element_get_static_pad(eq, "sink");
-            ok = gst_element_add_pad(app,
-                    gst_ghost_pad_new("sink", ghostsink));
-            gst_object_unref(GST_OBJECT(ghostsink));
-            }
-        else if (ac2 && ok)
-            {
-            /* make this bin link point*/
-            ghostsink = gst_element_get_static_pad(ac2, "sink");
-            ok = gst_element_add_pad(app,
-                    gst_ghost_pad_new("sink", ghostsink));
-            gst_object_unref(GST_OBJECT(ghostsink));
-            }
-
-        if (ac2)
-            {
-            // ghost src above
-            }
-        else if (eq && ok)
-            {
-            /* make this bin link point*/
-            ghostsrc = gst_element_get_static_pad(eq, "src");
-            ok = gst_element_add_pad(app, gst_ghost_pad_new("src", ghostsrc));
-            gst_object_unref(GST_OBJECT(ghostsrc));
-            }
-        else if (pan && ok)
-            {
-            /* make this bin link point*/
-            ghostsrc = gst_element_get_static_pad(pan, "src");
-            ok = gst_element_add_pad(app, gst_ghost_pad_new("src", ghostsrc));
-            gst_object_unref(GST_OBJECT(ghostsrc));
-            }
-        else if (vol && ok)
-            {
-            /* make this bin link point*/
-            ghostsrc = gst_element_get_static_pad(vol, "src");
-            ok = gst_element_add_pad(app, gst_ghost_pad_new("src", ghostsrc));
-            gst_object_unref(GST_OBJECT(ghostsrc));
-            }
-        else if (queue && ok)
-            {
-            /* make this bin link point*/
-            ghostsrc = gst_element_get_static_pad(queue, "src");
-            ok = gst_element_add_pad(app, gst_ghost_pad_new("src", ghostsrc));
-            gst_object_unref(GST_OBJECT(ghostsrc));
-            }
-        else if (ac && ok)
-            {
-            /* make this bin link point*/
-            ghostsrc = gst_element_get_static_pad(ac, "src");
-            ok = gst_element_add_pad(app, gst_ghost_pad_new("src", ghostsrc));
-            gst_object_unref(GST_OBJECT(ghostsrc));
-            }
-
-        //        if( !(gst_element_link_many(ac, queue, vol, ac2, NULL)) )
-        //        if( !(gst_element_link_many(ac, queue, vol, pan, eq, ac2, NULL)) )
-        if (!ok)
-            {
-            DEBUG_ERR("Could not link audiopp elements!!");
-            gst_object_unref(app);
-            app = NULL;
-            }
-        }
-
-    DEBUG_API("<-XAAdaptationGst_CreateAudioPP");
-    return app;
-    }
-
-/* called when pad is actually blocking/ gets unblocked*/
-void XAAdaptationGst_PadBlockCb(GstPad *pad, gboolean blocked,
-        gpointer user_data)
-    {
-    DEBUG_API_A2("->XAAdaptationGst_PadBlockCb   pad \"%s\" of \"%s\" ",
-            GST_OBJECT_NAME(pad),
-            GST_OBJECT_NAME(gst_pad_get_parent_element(pad)) );
-    DEBUG_API_A1("<-XAAdaptationGst_PadBlockCb   blocked:%d",blocked);
-    }
-
-/* utility to set same fields for all media types in caps */
-void XAAdaptationGst_SetAllCaps(GstCaps * caps, char *field, ...)
-    {
-    GstStructure *structure;
-    va_list var_args;
-    int i;
-
-    for (i = 0; i < gst_caps_get_size(caps); i++)
-        {
-        structure = gst_caps_get_structure(caps, i);
-        va_start (var_args, field);
-        gst_structure_set_valist(structure, field, var_args);
-        va_end (var_args);
-        }
-    }
-
--- a/khronosfws/openmax_al/src/gst_adaptation/xaadaptationgst.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Base Gstreamer Adaptation Source
- *
- */
-
-#ifndef XAADAPTATIONGST_H_
-#define XAADAPTATIONGST_H_
-
-#include <pthread.h>
-#include <semaphore.h>
-#include <string.h>
-#include <unistd.h>
-#include <gst/gst.h>
-#include <gst/app/gstappsrc.h>
-#include <gst/app/gstappsink.h>
-#include <gst/app/gstappbuffer.h>
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaplatform.h"
-#include "xaadptbasectx.h"
-#include <stdlib.h>
-
-#ifdef XA_IMPL_MEASURE_GST_DELAY
-#include <time.h>
-#endif /* XA_IMPL_MEASURE_GST_DELAY */
-
-/* MACROS */
-#define FLIP_NONE               0
-#define FLIP_CLOCKWISE          1 /* Rotate clockwise 90 degrees */
-#define FLIP_ROTATE_180         2 /* Rotate 180 degrees */
-#define FLIP_COUNTERCLOCKWISE   3 /* Rotate counter-clockwise 90 degrees */
-#define FLIP_HORIZONTAL         4 /* Flip image horizontally */
-#define FLIP_VERTICAL           5 /* Flip image vertically */
-
-/* TYPEDEFS */
-typedef gboolean (*GstBusCb)(GstBus *bus, GstMessage *message, gpointer data);
-
-#define CONTENT_PIPE_BUFFER_SIZE 1000
-#define TEST_VIDEO_WIDTH     640
-#define TEST_VIDEO_HEIGHT    480
-
-/*typedef enum
- {
- XA_AUDIO_WAVENC = 0,
- XA_AUDIO_VORBISENC,
- XA_AUDIO_PCM,
- XA_NUM_OF_AUDIOENCODERS  Do not move this line 
- } XAAudioEnc;*/
-
-/*typedef enum
- {
- XA_VIDEO_JPEGENC = 0,
- XA_VIDEO_THEORAENC,
- XA_NUM_OF_VIDEOENCODERS  Do not move this line 
- } XAVideoEnc;*/
-
-/*typedef enum CP_STATE
- {
- CPStateNull =0,
- CPStateInitialized,
- CPStatePrerolling,
- CPStateStarted,
- CPStateRunning,
- CPStatePaused,
- CPStateStopped,
- CPStateWaitForData,
- CPStateEOS,
- CPStateError
- }CP_STATE;*/
-
-/*typedef enum
- {
- XA_IMAGE_JPEGENC = 0,
- XA_IMAGE_RAW,
- XA_NUM_OF_IMAGEENCODERS  Do not move this line 
- } XAImageEnc;*/
-
-/* STRUCTURES */
-
-/* Forward declaration of adaptation basecontext */
-typedef struct XAAdaptationGstCtx_ XAAdaptationGstCtx;
-
-/*
- * Structure that holds all common variables for every
- * Gst-Adaptation context structures.
- */
-typedef struct XAAdaptationGstCtx_
-    {
-    /* Common Variables for all adaptation elements */
-    XAAdaptationBaseCtx baseObj;
-
-    GstState binWantedState; /** requested gst-bin target state **/
-    GstElement *bin; /** Container for all gst elements **/
-
-    GstBus *bus; /** Gst-bus where gst sends messages **/
-    GMainLoop *busloop; /** Gst-bus listener loop **/
-    pthread_t busloopThr;
-    GstBusCb busCb; /** Gst-Bus callback funtion*/
-
-    XAboolean waitingasyncop;
-    sem_t semAsyncWait;
-    guint asynctimer;
-
-#ifdef XA_IMPL_MEASURE_GST_DELAY
-    clock_t startTime;
-    clock_t endTime;
-    double diff;
-#endif /*XA_IMPL_MEASURE_GST_DELAY*/
-
-    XAboolean thread_launched;
-    pthread_mutex_t ds_mutex;
-    pthread_cond_t ds_condition;
-    XAboolean cond_mutx_inited;
-    /* FUNCTIONS*/
-
-    } XAAdaptationGstCtx_;
-
-/* FUNCTIONS */
-/*
- * gboolean XAAdaptationBase_GstBusCb( GstBus *bus, GstMessage *message, gpointer data );
- * Default CallBack handler for gst-bus messages. This will be called if object specific callback is
- * not implemented.
- */
-
-XAresult XAAdaptationGst_Init(XAAdaptationGstCtx* pSelf, XAuint32 ctxId);
-XAresult XAAdaptationGst_PostInit(XAAdaptationGstCtx* ctx);
-void XAAdaptationGst_Free(XAAdaptationGstCtx* ctx);
-
-gboolean XAAdaptationGst_GstBusCb(GstBus *bus, GstMessage *message,
-        gpointer data);
-
-XAresult XAAdaptationGst_InitGstListener(XAAdaptationGstCtx* ctx);
-void* XAAdaptationGst_LaunchGstListener(void* args);
-void XAAdaptationGst_StopGstListener(XAAdaptationGstCtx* ctx);
-
-void XAAdaptationGst_PrepareAsyncWait(XAAdaptationGstCtx* ctx);
-void XAAdaptationGst_StartAsyncWait(XAAdaptationGstCtx* ctx);
-gboolean XAAdaptationGst_CancelAsyncWait(gpointer ctx);
-void XAAdaptationGst_CompleteAsyncWait(XAAdaptationGstCtx* ctx);
-
-GstElement* XAAdaptationGst_CreateGstSource(XADataSource* xaSrc,
-        const char *name, XAboolean *isobj, XAboolean *isPCM,
-        XAboolean *isRawImage);
-GstElement* XAAdaptationGst_CreateGstSink(XADataSink* xaSrc,
-        const char *name, XAboolean *isobj);
-GstElement* XAAdaptationGst_CreateVideoPP(void);
-
-GstElement* XAAdaptationGst_CreateVideoPPBlackScr(void);
-GstElement* XAAdaptationGst_CreateInputSelector(void);
-GstElement* XAAdaptationGst_CreateAudioPP(void);
-void XAAdaptationGst_PadBlockCb(GstPad *pad, gboolean blocked,
-        gpointer user_data);
-void XAAdaptationGst_SetAllCaps(GstCaps * caps, char *field, ...);
-
-/*XAresult XAMetadataAdapt_TryWriteTags(XAAdaptationGstCtx* mCtx, GstBin* binToWriteTo);*/
-
-#endif /* XAADAPTATIONGST_H_ */
--- a/khronosfws/openmax_al/src/gst_adaptation/xaaudioencoderitfadaptation.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: AudioEnc Intfc Adaptation for GStreamer
- *
- */
-
-#include <gst/gst.h>
-#include "xamediarecorderadaptctx.h"
-#include "xaaudioencoderitfadaptation.h"
-#include "xaadaptationgst.h"
-//#include "XAStaticCapsAdaptation.h"
-
-/*
- * XAresult XAAudioEncoderItfAdapt_SetEncoderSettings( XAAdaptationGstCtx *ctx,
- *                                                     XAAudioEncoderSettings *pSettings )
- * @param XAAdaptationGstCtx *ctx - pointer to Media Recorer adaptation contex
- * @param XAAudioEncoderSettings *pSettings - Settings to be setted for encoder
- * @return XAresult ret - return success value
- * Description: Sets preferred encoder settings for pipeline.
- */
-XAresult XAAudioEncoderItfAdapt_SetEncoderSettings(XAAdaptationBaseCtx *ctx,
-        XAAudioEncoderSettings *pSettings)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaRecorderAdaptationCtx* mCtx = NULL;
-
-    DEBUG_API("->XAAudioEncoderItfAdapt_SetEncoderSettings");
-    if (!ctx || (ctx->ctxId != XAMediaRecorderAdaptation) || !pSettings)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAAudioEncoderItfImpl_SetEncoderSettings");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    mCtx = (XAMediaRecorderAdaptationCtx*) ctx;
-
-    ret = XAMediaRecorderAdapt_CheckCodec(mCtx, XACAP_AUDIO,
-            pSettings->encoderId);
-    if (ret == XA_RESULT_SUCCESS)
-        {
-        /*change of settings - pipeline must be regenerated**/
-        mCtx->encodingchanged = XA_BOOLEAN_TRUE;
-        memcpy(&mCtx->audioEncSettings, pSettings,
-                sizeof(XAAudioEncoderSettings));
-        }
-    DEBUG_API("<-XAAudioEncoderItfAdapt_SetEncoderSettings");
-    return ret;
-    }
-
-static gboolean
-populate_field_settings (GQuark field, const GValue * value, gpointer pfx)
-{
-    gchar *field_name ;
-   
-    gpointer *pfxd = (gpointer*)pfx;
-    XAMediaRecorderAdaptationCtx *ctxx = (XAMediaRecorderAdaptationCtx *) *pfxd;
-
-    field_name = (gchar*)g_quark_to_string (field);
-  
-  if((strcasecmp((const char*)field_name,"channels") == 0))
-      {
-          if(GST_VALUE_HOLDS_INT_RANGE(value) == TRUE)
-             {
-                  (ctxx)->audioEncSettings.channelsIn = gst_value_get_int_range_max (value);
-                  (ctxx)->audioEncSettings.channelsOut = gst_value_get_int_range_max (value);
-             }else
-                 {
-                 (ctxx)->audioEncSettings.channelsIn = g_value_get_int(value);
-                 (ctxx)->audioEncSettings.channelsOut = g_value_get_int(value);
-                 }
-
-      }                
-  if((strcasecmp((const char*)field_name,"depth") == 0))
-      {
-          if(GST_VALUE_HOLDS_INT_RANGE(value) == TRUE)
-            {
-                (ctxx)->audioEncSettings.bitsPerSample = gst_value_get_int_range_min (value);
-            }else
-            {
-                (ctxx)->audioEncSettings.bitsPerSample = g_value_get_int(value);
-            }
-      }
-  if((strcasecmp((const char*)field_name,"endianness") == 0))
-      {
-          if(GST_VALUE_HOLDS_INT_RANGE(value) == TRUE)
-        {
-            (ctxx)->audioEncSettings.blockAlignment = gst_value_get_int_range_min (value);
-        }else
-        {
-            (ctxx)->audioEncSettings.blockAlignment = g_value_get_int(value);
-        }
-      }
-  if((strcasecmp((const char*)field_name,"bitrate") == 0))
-      {
-      if(GST_VALUE_HOLDS_INT_RANGE(value) == TRUE)
-          {
-              (ctxx)->audioEncSettings.bitRate = gst_value_get_int_range_min (value);
-          }else
-          {
-              (ctxx)->audioEncSettings.bitRate = g_value_get_int(value);
-          }
-  
-      }
-  if((strcasecmp((const char*)field_name,"rate") == 0))
-      {
-        if(GST_VALUE_HOLDS_INT_RANGE(value) == TRUE)
-            {
-                (ctxx)->audioEncSettings.sampleRate = gst_value_get_int_range_min (value)*1000;
-            }else
-                {
-                (ctxx)->audioEncSettings.sampleRate = g_value_get_int(value) * 1000;
-                }
-
-        }
-
-return TRUE;
-}
-XAresult XAAudioEncoderItfAdapt_GetEncoderSettings(XAAdaptationBaseCtx *bCtx,
-        XAAudioEncoderSettings *pSettings)
-    {
-    XAMediaRecorderAdaptationCtx* mCtx = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-    
-    GstElement *encoderelement=NULL,*actualencoder=NULL;
-    GstPad * encoderpad = NULL;
-    GstCaps *encodercaps =NULL;
-    GstStructure *structure = NULL;
-    XAAdaptationGstCtx *ctx = NULL;
-    int value = -1 ;
-
-    DEBUG_API("->XAAudioEncoderItfAdapt_GetEncoderSettings");
-    if (!bCtx || (bCtx->ctxId != XAMediaRecorderAdaptation) || !pSettings)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    mCtx = (XAMediaRecorderAdaptationCtx*) bCtx;
-    ctx = (XAAdaptationGstCtx *)bCtx; 
-    
-    encoderelement = gst_bin_get_by_name((GstBin*)ctx->bin ,"mrcodecbin");
-    if (encoderelement != NULL)
-    {   
-        encoderpad = gst_element_get_pad(encoderelement , "sink");
-        if(encoderpad != NULL){
-            encodercaps = gst_pad_get_negotiated_caps(encoderpad);
-            if(encodercaps == NULL)
-                {
-                //pipeline is not in playing state , so getting allowed caps
-                encodercaps = gst_pad_get_allowed_caps(encoderpad);
-                }
-        }
-        else{
-            DEBUG_ERR("No pad named sink in codecbin pad");
-        }
-        if(encodercaps != NULL && encodercaps->structs->len > 0)
-        {    
-        structure = gst_caps_get_structure (encodercaps, 0);
-        } 
-        else{
-          DEBUG_ERR("no allowed caps for encoderelement");
-        }
-        
-      //populate the values based on neotiated caps or allowed caps. 
-      gst_structure_foreach (structure, populate_field_settings, (gpointer) &mCtx);
-      
-      //finding the actual encoder.
-      if(mCtx->codecbin != NULL){
-        actualencoder = gst_bin_get_by_name((GstBin*)mCtx->codecbin ,"audioenc");
-      }
-      //finding bitrate property
-      if(value == -1 && actualencoder != NULL)
-            {
-            //search in encoder element , property is there or not?
-                g_object_get(G_OBJECT (actualencoder), "bitrate", &value,NULL);
-             }
-      if(mCtx->audioEncSettings.encoderId == XA_AUDIOCODEC_AMR)
-          {
-          g_object_get(G_OBJECT (mCtx->audiosource), "speechbitrate", &value,NULL);
-          }
-       if(value != -1)
-            {
-               mCtx->audioEncSettings.bitRate = value;
-               value =-1;
-            }
-       
-       //finding profile property        
-        if(value == -1 && actualencoder != NULL)
-            {
-                g_object_get(G_OBJECT (actualencoder), "profile", &value,NULL);
-            }
-        if(value != -1)
-          {
-                mCtx->audioEncSettings.levelSetting = value;
-                value =-1;
-          }
-        
-        //finding output-format property
-        if(value == -1 && actualencoder != NULL)
-          {
-                //try to see search in encoder element , property is there or not?
-               g_object_get(G_OBJECT (actualencoder), "output-format", &value,NULL);
-          }
-        if(value != -1)
-          {
-                mCtx->audioEncSettings.streamFormat = value;
-                value =-1;
-          }
-        
-        
-        //setting these settings to default.
-        mCtx->audioEncSettings.channelMode=0;
-        mCtx->audioEncSettings.rateControl = XA_RATECONTROLMODE_CONSTANTBITRATE;
-        mCtx->audioEncSettings.encodeOptions = 0;
-        
-    //unref the caps, pads , elements      
-    if(encodercaps != NULL)
-    gst_caps_unref(encodercaps);
-    if(encoderpad!= NULL)
-    gst_object_unref(encoderpad);
-    if(actualencoder!= NULL)
-    gst_object_unref (actualencoder);
-    if(encoderelement!= NULL)
-    gst_object_unref (encoderelement);
-    }else{
-        DEBUG_ERR("Codecbin element Not found ");
-    }
-    memcpy(pSettings, &(mCtx->audioEncSettings), 
-							sizeof(XAAudioEncoderSettings));
-    DEBUG_API("<-XAAudioEncoderItfAdapt_GetEncoderSettings");
-    return ret;
-    }
--- a/khronosfws/openmax_al/src/gst_adaptation/xaaudioencoderitfadaptation.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: AudioEnc Itf GST Adaptation
-*
-*/
-
-#ifndef XAAUDIOENCODERITFADAPTATION_H
-#define XAAUDIOENCODERITFADAPTATION_H
-
-#include "xaadptbasectx.h"
-/* FUNCTIONS */
-XAresult XAAudioEncoderItfAdapt_SetEncoderSettings(XAAdaptationBaseCtx *ctx,
-                                                   XAAudioEncoderSettings *pSettings );
-XAresult XAAudioEncoderItfAdapt_GetEncoderSettings(XAAdaptationBaseCtx *ctx,
-                                                   XAAudioEncoderSettings *pSettings );
-
-#endif /* XAAUDIOENCODERITFADAPTATION_H */
--- a/khronosfws/openmax_al/src/gst_adaptation/xaengineadaptctx.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#include <string.h>
-#include <gst/gst.h>
-#include "xaengineadaptctx.h"
-#include "xaadaptationgst.h"
-
-/*
- * gboolean XAEngineAdapt_GstBusCb( GstBus *bus, GstMessage *message, gpointer data )
- * MediaPlayer Gst-bus message handler (Callback)
- */
-gboolean XAEngineAdapt_GstBusCb( GstBus *bus, GstMessage *message, gpointer data )
-{
-    XAEngineAdaptationCtx* mCtx = (XAEngineAdaptationCtx*)data;
-    DEBUG_API("->XAEngineAdapt_GstBusCb");
-
-    /* only listen to pipeline messages */
-    if(GST_MESSAGE_SRC(message)==(GstObject*)(mCtx->baseObj.bin) )
-    {
-        DEBUG_API_A2("->XAEngineAdapt_GstBusCb:\"%s\" from object \"%s\"",
-                        GST_MESSAGE_TYPE_NAME(message), GST_OBJECT_NAME(GST_MESSAGE_SRC(message)));
-    }
-
-    DEBUG_API("<-XAEngineAdapt_GstBusCb");
-    return TRUE;
-}
-
-/*
- * XAAdaptationGstCtx* XAEngineAdapt_Create()
- * Allocates memory for Engine Adaptation Context and makes 1st phase initialization
- * @returns XAEngineAdaptationCtx* - Pointer to created context
- */
-XAAdaptationGstCtx* XAEngineAdapt_Create()
-{
-    XAEngineAdaptationCtx *pSelf = NULL;
-    DEBUG_API("->XAEngineAdapt_Create");
-
-    pSelf = (XAEngineAdaptationCtx*)calloc(1, sizeof(XAEngineAdaptationCtx));
-    if ( pSelf)
-    {
-        if( XAAdaptationBase_Init(&(pSelf->baseObj.baseObj),XAEngineAdaptation)
-                    != XA_RESULT_SUCCESS )
-            {
-                DEBUG_ERR("Failed to init base context!!!");
-                free(pSelf);
-                pSelf = NULL;
-            }
-            else
-            {
-                /* Init internal variables */
-            }
-    }
-
-    DEBUG_API("<-XAEngineAdapt_Create");
-    return (XAAdaptationGstCtx*)pSelf;
-}
-
-/*
- * XAresult XAEngineAdapt_PostInit()
- * 2nd phase initialization of engine Adaptation Context
- */
-XAresult XAEngineAdapt_PostInit(XAAdaptationGstCtx* bCtx)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    GstStateChangeReturn gret = GST_STATE_CHANGE_SUCCESS;
-    XAEngineAdaptationCtx* ctx = NULL;
-
-    DEBUG_API("->XAEngineAdapt_PostInit");
-    if( !bCtx || bCtx->baseObj.ctxId != XAEngineAdaptation )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAEngineAdapt_PostInit");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    ctx = (XAEngineAdaptationCtx*)bCtx;
-
-    if ( !ctx )
-    {
-        DEBUG_ERR("XA_RESULT_INTERNAL_ERROR");
-        DEBUG_API("<-XAEngineAdapt_PostInit");
-        return XA_RESULT_INTERNAL_ERROR;
-    }
-
-    XAAdaptationBase_PostInit( &(ctx->baseObj.baseObj) );
-
-    ctx->baseObj.bin = gst_pipeline_new("engine");
-   // gst_bin_add(GST_BIN(ctx->baseObj.bin), gst_element_factory_make( "alsamixer", "alsamixer"));
-
-    if ( !ctx->baseObj.bin )
-    {
-        DEBUG_ERR("Failed to create alsamixer");
-        DEBUG_ERR("XA_RESULT_INTERNAL_ERROR");
-        DEBUG_API("<-XAEngineAdapt_PostInit");
-        return XA_RESULT_INTERNAL_ERROR;
-    }
-
-    /* Create Gst bus listener. */
-    ret = XAAdaptationGst_InitGstListener(&(ctx->baseObj));
-    if( ret!=XA_RESULT_SUCCESS )
-    {
-        DEBUG_ERR_A1("Bus listener creation failed!! - (%d)", ret);
-        DEBUG_API("<-XAEngineAdapt_PostInit");
-        return ret;
-    }
-
-    /* Add Engine specific handler */
-    if(ctx->baseObj.bus)
-    {
-        ctx->baseObj.busCb = XAEngineAdapt_GstBusCb;
-    }
-    else
-    {
-        DEBUG_ERR("Failed to create message bus");
-        DEBUG_ERR("XA_RESULT_INTERNAL_ERROR");
-        DEBUG_API("<-XAEngineAdapt_PostInit");
-        return XA_RESULT_INTERNAL_ERROR;
-    }
-
-    /* roll up bin */
-    ctx->baseObj.binWantedState = GST_STATE_PAUSED;
-    XAAdaptationGst_PrepareAsyncWait(&(ctx->baseObj));
-    gret = gst_element_set_state( GST_ELEMENT(ctx->baseObj.bin), ctx->baseObj.binWantedState);
-    if( gret == GST_STATE_CHANGE_ASYNC )
-    {
-        DEBUG_INFO("Wait for preroll");
-        XAAdaptationGst_StartAsyncWait(&(ctx->baseObj));
-        DEBUG_INFO("Preroll ready");
-    }
-    ctx->baseObj.waitingasyncop = XA_BOOLEAN_FALSE;
-
-    //ret = XAStaticCapsAdapt_InitCaps();
-
-    DEBUG_API("<-XAEngineAdapt_PostInit");
-    return ret;
-}
-
-/*
- * void XAEngineAdapt_Destroy(XAEngineAdaptationCtx* ctx)
- * Destroys Engine Adaptation Context
- * @param ctx - Engine Adaptation context to be destroyed
- */
-void XAEngineAdapt_Destroy(XAAdaptationGstCtx* bCtx)
-{
-	XAEngineAdaptationCtx* ctx = NULL;
-
-	DEBUG_API("->XAEngineAdapt_Destroy");
-	if( !bCtx || bCtx->baseObj.ctxId != XAEngineAdaptation )
-	{
-		DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-		DEBUG_API("<-XAEngineAdapt_Destroy");
-		return;
-	}
-	ctx = (XAEngineAdaptationCtx*)bCtx;
-
-    XAAdaptationBase_Free(&(ctx->baseObj.baseObj));
-
-    free(ctx);
-    ctx = NULL;
-
-    DEBUG_API("<-XAEngineAdapt_Destroy");
-}
--- a/khronosfws/openmax_al/src/gst_adaptation/xaengineadaptctx.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef XAENGINEADAPTCTX_H_
-#define XAENGINEADAPTCTX_H_
-
-#include "xaadaptationgst.h"
-//#include "XAStaticCapsAdaptation.h"
-
-/* TYPEDEFS */
-
-typedef struct XAEngineAdaptationCtx_ XAEngineAdaptationCtx;
-
-typedef struct XAEngineAdaptationCtx_
-{
-    /* Parent*/
-    XAAdaptationGstCtx_    baseObj;
-
-} XAEngineAdaptationCtx_;
-
-/* FUNCTIONS */
-XAAdaptationGstCtx* XAEngineAdapt_Create(void);
-XAresult XAEngineAdapt_PostInit(XAAdaptationGstCtx* bCtx);
-void XAEngineAdapt_Destroy(XAAdaptationGstCtx* bCtx);
-
-#endif /* XAENGINEADAPTCTX_H_ */
--- a/khronosfws/openmax_al/src/gst_adaptation/xagstcapabilitiesmgr.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,501 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: GST Capabilities Mgr. Here you can query the capabilities
- *               of various GST components and store it in a list.
- *
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <strings.h>
-#include <gst/gst.h>
-#include <gobject_global.h>
-
-#include "xagstcapabilitiesmgr.h"
-#include "xaframeworkmgr.h"
-
-static XAresult XAGSTCapabilitiesMgr_GetAudioAACEncoderCapabilities(
-        XACapabilities **ppNode);
-static XAresult XAGSTCapabilitiesMgr_GetAudioAMREncoderCapabilities(
-        XACapabilities **ppNode);
-static XAresult XAGSTCapabilitiesMgr_GetAudioPCMEncoderCapabilities(
-        XACapabilities **ppNode);
-static XAresult XAGSTCapabilitiesMgr_GetCapabilities_FromGstElement(
-        XAAudioCodecDescriptor **entries, XAuint32 type);
-
-/* XAresult XAGSTCapabilitiesMgr_UpdateCapabilitieList
- * Description: Update the capabilities list supported by GStreamer framework.
- */
-static gboolean populate_field(GQuark field, const GValue * value,
-        gpointer pfx)
-    {
-    gchar *field_name;
-    gpointer *pfxd = (gpointer*) pfx;
-    XAAudioCodecDescriptor *ctxx = (XAAudioCodecDescriptor *) pfxd;
-
-    field_name = (gchar*) g_quark_to_string(field);
-
-    if ((strcasecmp((const char*) field_name, "channels") == 0))
-        {
-        if (GST_VALUE_HOLDS_INT_RANGE(value) == TRUE)
-            {
-            (ctxx)->maxChannels = gst_value_get_int_range_max(value);
-            }
-        else
-            (ctxx)->maxChannels = g_value_get_int(value);
-        }
-    if ((strcasecmp((const char*) field_name, "depth") == 0))
-        {
-        if (GST_VALUE_HOLDS_INT_RANGE(value) == TRUE)
-            {
-            (ctxx)->minBitsPerSample = gst_value_get_int_range_min(value);
-            }
-        else
-            (ctxx)->minBitsPerSample = g_value_get_int(value);
-        }
-    if ((strcasecmp((const char*) field_name, "bitrate") == 0))
-        {
-        if (GST_VALUE_HOLDS_INT_RANGE(value) == TRUE)
-            {
-            (ctxx)->minBitRate = gst_value_get_int_range_min(value);
-            (ctxx)->maxBitRate = gst_value_get_int_range_max(value);
-            }
-        else
-            {
-            (ctxx)->minBitRate = g_value_get_int(value);
-            (ctxx)->maxBitRate = g_value_get_int(value);
-            }
-        }
-    if ((strcasecmp((const char*) field_name, "width") == 0))
-        {
-        if (GST_VALUE_HOLDS_INT_RANGE(value) == TRUE)
-            {
-            (ctxx)->maxBitsPerSample = gst_value_get_int_range_max(value);
-            }
-        else
-            (ctxx)->maxBitsPerSample = g_value_get_int(value);
-        }
-    if ((strcasecmp((const char*) field_name, "rate") == 0))
-        {
-        if (GST_VALUE_HOLDS_INT_RANGE(value) == TRUE)
-            {
-            (ctxx)->minSampleRate = gst_value_get_int_range_min(value) * 1000;
-            (ctxx)->maxSampleRate = gst_value_get_int_range_max(value) * 1000;
-            }
-        else
-            {
-            (ctxx)->minSampleRate = g_value_get_int(value) * 1000;
-            (ctxx)->maxSampleRate = g_value_get_int(value) * 1000;
-            }
-        }
-
-    return TRUE;
-    }
-
-XAresult XAGSTCapabilitiesMgr_GetCapabilities_FromGstElement(
-        XAAudioCodecDescriptor **entries, XAuint32 type)
-    {
-    int i = 0;
-    GstElement *element = NULL;
-    GstPad *elementpad = NULL;
-    GstCaps *elementcaps = NULL;
-    GstStructure *s = NULL;
-    GParamSpec *elementproperty;
-    GParamSpecInt *pint;
-    GParamSpecEnum *penum;
-    gchar *findamr = "\0";
-    gpointer *myentries;
-
-
-    if (type == XA_AUDIOCODEC_AAC)
-        {
-        element = gst_element_factory_make("nokiaaacenc", "encoderelement");
-        if (element)
-            {
-            elementpad = gst_element_get_static_pad(element, "sink");
-            if (!elementpad)
-                {
-                DEBUG_ERR("no pad found for AAC Encoder");
-                return XA_RESULT_INTERNAL_ERROR;
-                }
-            elementcaps = gst_pad_get_caps(elementpad);
-            s = gst_caps_get_structure(elementcaps, 0);
-
-            myentries = (gpointer*) *entries;
-            gst_structure_foreach(s, populate_field, (gpointer) myentries);
-
-            elementproperty = g_object_class_find_property(
-                    G_OBJECT_GET_CLASS (element), "bitrate");
-            if (elementproperty)
-                {
-                pint = G_PARAM_SPEC_INT (elementproperty);
-                (*entries)->minBitRate = pint->minimum;
-                (*entries)->maxBitRate = pint->maximum;
-                }
-            elementproperty = g_object_class_find_property(
-                    G_OBJECT_GET_CLASS (element), "profile");
-            if (elementproperty)
-                {
-                penum = G_PARAM_SPEC_ENUM(elementproperty);
-                (*entries)->modeSetting = penum->default_value;
-                }
-
-            (*entries)->profileSetting = XA_AUDIOPROFILE_AAC_AAC;
-            (*entries)->isFreqRangeContinuous = XA_BOOLEAN_TRUE;
-            (*entries)->isBitrateRangeContinuous = XA_BOOLEAN_TRUE;
-            }
-        else
-            {
-            DEBUG_ERR("failed to get the AACencoder element");
-            }
-        }
-    else if (type == XA_AUDIOCODEC_AMR)
-        {
-        element = gst_element_factory_make("devsoundsrc", "encoderelement");
-        if (element)
-            {
-            elementpad = gst_element_get_pad(element, "src");
-            if (!elementpad)
-                {
-                DEBUG_ERR("no source pad for Devsound(amr) element");
-                return XA_RESULT_INTERNAL_ERROR;
-                }
-
-            elementcaps = gst_pad_get_caps(elementpad);
-            while (!(strcasecmp(findamr, "audio/amr") == 0) && i
-                    < elementcaps->structs->len)
-                {
-                s = gst_caps_get_structure(elementcaps, i);
-                findamr = (char*) gst_structure_get_name(s);
-                i++;
-                }
-
-            //populating the Other Values
-            myentries = (gpointer*) *entries;
-            gst_structure_foreach(s, populate_field, (gpointer) myentries);
-
-            elementproperty = g_object_class_find_property(
-                    G_OBJECT_GET_CLASS (element), "speechbitrate");
-            if (elementproperty)
-                {
-                pint = G_PARAM_SPEC_INT (elementproperty);
-                (*entries)->minBitRate = pint->minimum;
-                (*entries)->maxBitRate = pint->maximum;
-                }
-
-            (*entries)->profileSetting = XA_AUDIOPROFILE_AMR;
-            (*entries)->modeSetting = 0;
-            (*entries)->isFreqRangeContinuous = XA_BOOLEAN_TRUE;
-            (*entries)->isBitrateRangeContinuous = XA_BOOLEAN_TRUE;
-
-            }
-        else
-            {
-            DEBUG_ERR("failed to get the Devsoundsrc(amr encoder) element");
-            }
-        }
-
-    else if (type == XA_AUDIOCODEC_PCM)
-        {
-        element = gst_element_factory_make("wavenc", "encoderelement");
-        if (element)
-            {
-            elementpad = gst_element_get_pad(element, "sink");
-            if (!elementpad)
-                {
-                DEBUG_ERR("failed to get Sink pad on Wave encoder element");
-                return XA_RESULT_INTERNAL_ERROR;
-                }
-            elementcaps = gst_pad_get_caps(elementpad);
-            s = gst_caps_get_structure(elementcaps, 2);
-            myentries = (gpointer*) *entries;
-            gst_structure_foreach(s, populate_field, (gpointer) myentries);
-            elementproperty = g_object_class_find_property(
-                    G_OBJECT_GET_CLASS (element), "bitrate");
-            if (elementproperty)
-                {
-                pint = G_PARAM_SPEC_INT (elementproperty);
-                (*entries)->minBitRate = pint->minimum;
-                (*entries)->maxBitRate = pint->maximum;
-                }
-
-            (*entries)->profileSetting = XA_AUDIOPROFILE_PCM;
-            (*entries)->modeSetting = 0;
-            (*entries)->isFreqRangeContinuous = XA_BOOLEAN_TRUE;
-            (*entries)->isBitrateRangeContinuous = XA_BOOLEAN_TRUE;
-            }
-        else
-            {
-            DEBUG_ERR("failed to get the wavencoder element");
-            }
-        }
-
-    if (elementcaps != NULL)
-        gst_caps_unref(elementcaps);
-    if (elementpad != NULL)
-        gst_object_unref(elementpad);
-    if (element != NULL)
-        gst_object_unref(element);
-
-    return XA_RESULT_SUCCESS;
-    }
-XAresult XAGSTCapabilitiesMgr_UpdateCapabilitieList(
-        FrameworkMap *frameworkMap, XACapabilities **ppListHead)
-
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities *newNode = NULL;
-    FWMgrFwType fwtype = FWMgrFWUknown;
-    char *uri = NULL;
-    XACapabilities *lastNode;
-    XACapabilities *firstNode;
-
-    DEBUG_API("->XAGSTCapabilitiesMgr_UpdateCapabilitieList");
-
-    if (!frameworkMap || !ppListHead)
-        {
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    lastNode = firstNode = *ppListHead;
-
-    /* traverse and point to the last node in the list */
-    while (lastNode && lastNode->next)
-        {
-        lastNode = lastNode->next;
-        }
-
-    uri = "file:///c:/test.mp4";
-    fwtype = XAFrameworkMgr_GetFramework(frameworkMap, uri, FWMgrMORecorder);
-
-    if (fwtype == FWMgrFWGST)
-        {
-        GError* gerror = 0;
-        //initialize gstreamer
-        //AL_PROFILING_BEGIN;
-        if (!gst_init_check(NULL, NULL, &gerror))
-            {
-            DEBUG_ERR("Gst Initalization failure.");
-            return XA_RESULT_INTERNAL_ERROR;
-            }
-        //AL_PROFILING_END_PRINT("gst_init_check");
-
-        }
-
-    if (fwtype == FWMgrFWGST)
-        {
-        /* Add codec capabilities */
-        newNode = NULL;
-        res = XAGSTCapabilitiesMgr_GetAudioAACEncoderCapabilities(&newNode);
-        if (res != XA_RESULT_SUCCESS)
-            {
-            return res;
-            }
-        if (lastNode)
-            {
-            lastNode->next = newNode;
-            }
-        if (newNode)
-            { /* if a new node is created move lastNode to the new item */
-            if (!firstNode)
-                firstNode = newNode;
-            lastNode = newNode;
-            }
-        }
-
-    uri = "file:///c:/test.amr";
-    fwtype = XAFrameworkMgr_GetFramework(frameworkMap, uri, FWMgrMORecorder);
-
-    if (fwtype == FWMgrFWGST)
-        {
-        newNode = NULL;
-        res = XAGSTCapabilitiesMgr_GetAudioAMREncoderCapabilities(&newNode);
-        if (res != XA_RESULT_SUCCESS)
-            {
-            return res;
-            }
-        if (lastNode)
-            {
-            lastNode->next = newNode;
-            }
-        if (newNode)
-            { /* if a new node is created move lastNode to the new item */
-            if (!firstNode)
-                firstNode = newNode;
-            lastNode = newNode;
-            }
-        }
-
-    uri = "file:///c:/test.wav";
-    fwtype = XAFrameworkMgr_GetFramework(frameworkMap, uri, FWMgrMORecorder);
-
-    if (fwtype == FWMgrFWGST)
-        {
-        newNode = NULL;
-        res = XAGSTCapabilitiesMgr_GetAudioPCMEncoderCapabilities(&newNode);
-        if (res != XA_RESULT_SUCCESS)
-            {
-            return res;
-            }
-        if (lastNode)
-            {
-            lastNode->next = newNode;
-            }
-        if (newNode)
-            { /* if a new node is created move lastNode to the new item */
-            if (!firstNode)
-                firstNode = newNode;
-            lastNode = newNode;
-            }
-        }
-    /* if empty list, then append first node as the head */
-    if (!(*ppListHead))
-        {
-        *ppListHead = firstNode;
-        }
-    DEBUG_API("<-XAGSTCapabilitiesMgr_UpdateCapabilitieList");
-    return res;
-    }
-
-XAresult XAGSTCapabilitiesMgr_GetAudioAACEncoderCapabilities(
-        XACapabilities **ppNode)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities *newNode = NULL;
-    XAAudioCodecDescriptor *entries = NULL;
-    XAchar aacencelement[] = "nokiaaacenc";
-    int strLen = 0;
-
-    newNode = (XACapabilities *) calloc(1, sizeof(XACapabilities));
-    if (!newNode)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        return res;
-        }
-
-    newNode->capsType = AUD_E;
-    newNode->xaid = XA_AUDIOCODEC_AAC;
-    newNode->noOfEntries = 1;
-
-    strLen = strlen((char*) aacencelement);
-    newNode->adaptId = (XAchar *) calloc(strLen + 1, sizeof(XAchar));
-    if (!newNode->adaptId)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-
-    strncpy((char*) newNode->adaptId, (char*) aacencelement, strLen);
-    newNode->adaptId[strLen] = '\0'; /*Null terminate it*/
-
-    /* Allocate array */
-    entries = (XAAudioCodecDescriptor*) calloc(1,
-            sizeof(XAAudioCodecDescriptor));
-    if (!entries)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-
-    newNode->pEntry = (void*) entries;
-
-    res = XAGSTCapabilitiesMgr_GetCapabilities_FromGstElement(&entries,
-            newNode->xaid);
-
-    newNode->pEntry = (void*) entries;
-
-    *ppNode = newNode;
-    return res;
-    }
-
-XAresult XAGSTCapabilitiesMgr_GetAudioAMREncoderCapabilities(
-        XACapabilities **ppNode)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities *newNode = NULL;
-    XAAudioCodecDescriptor *entries = NULL;
-
-    newNode = (XACapabilities *) calloc(1, sizeof(XACapabilities));
-    if (!newNode)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        return res;
-        }
-
-    newNode->capsType = AUD_E;
-    newNode->xaid = XA_AUDIOCODEC_AMR;
-    newNode->noOfEntries = 1;
-
-    /* Allocate array */
-    entries = (XAAudioCodecDescriptor*) calloc(1,
-            sizeof(XAAudioCodecDescriptor));
-    if (!entries)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-
-    newNode->pEntry = (void*) entries;
-
-    XAGSTCapabilitiesMgr_GetCapabilities_FromGstElement(&entries,
-            newNode->xaid);
-
-    newNode->pEntry = (void*) entries;
-
-    *ppNode = newNode;
-    return res;
-    }
-
-XAresult XAGSTCapabilitiesMgr_GetAudioPCMEncoderCapabilities(
-        XACapabilities **ppNode)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities *newNode = NULL;
-    XAAudioCodecDescriptor *entries = NULL;
-
-    newNode = (XACapabilities *) calloc(1, sizeof(XACapabilities));
-    if (!newNode)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        return res;
-        }
-
-    newNode->capsType = AUD_E;
-    newNode->xaid = XA_AUDIOCODEC_PCM;
-    newNode->noOfEntries = 1;
-
-    /* Allocate array */
-    entries = (XAAudioCodecDescriptor*) calloc(1,
-            sizeof(XAAudioCodecDescriptor));
-    if (!entries)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-
-    newNode->pEntry = (void*) entries;
-
-    XAGSTCapabilitiesMgr_GetCapabilities_FromGstElement(&entries,
-            newNode->xaid);
-
-    newNode->pEntry = (void*) entries;
-
-    *ppNode = newNode;
-    return res;
-    }
--- a/khronosfws/openmax_al/src/gst_adaptation/xagstcapabilitiesmgr.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: GST Capability Mgr header
- *
- */
-
-#ifndef XAGSTCAPABILITIESMGR_H
-#define XAGSTCAPABILITIESMGR_H
-
-#include "openmaxalwrapper.h"
-#include "xaframeworkmgr.h"
-#include "xacapabilitiesmgr.h"
-
-XAresult XAGSTCapabilitiesMgr_UpdateCapabilitieList(
-        FrameworkMap *frameworkMap, XACapabilities** ppListHead);
-
-#endif /* XAGSTCAPABILITIESMGR_H */
--- a/khronosfws/openmax_al/src/gst_adaptation/xamediarecorderadaptctx.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1895 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: Media Recorder Adaptation for GST
-*
-*/
-
-#include <string.h>
-#include <assert.h>
-#include <gst/gst.h>
-#include <gst/app/gstappsink.h>
-#include "xacapabilitiesmgr.h"
-#include "xamediarecorderadaptctx.h"
-
-/*forward declarations*/
-GstElement* XAMediaRecorderAdapt_CreateEncodeBin(
-        XAMediaRecorderAdaptationCtx* ctx);
-XAresult XAMediaRecorderAdapt_CreatePipeline(
-        XAMediaRecorderAdaptationCtx* ctx);
-void XAMediaRecorderAdapt_BufferAvailable(GstElement* sink,
-        gpointer user_data);
-
-/** Creates the caps gst element */
-/*static XAresult XAMediaRecorderAdapt_CreateCapsFilter( XAMediaRecorderAdaptationCtx* ctx );*/
-
-/*
- * gboolean XAMediaRecorderAdapt_GstBusCb( GstBus *bus, GstMessage *message, gpointer data )
- * MediaPlayer Gst-bus message handler (Callback)
- */
-gboolean XAMediaRecorderAdapt_GstBusCb(GstBus *bus, GstMessage *message,
-        gpointer data)
-{
-    XAAdaptationGstCtx* bCtx = (XAAdaptationGstCtx*) data;
-    /* only listen to pipeline messages */
-    if (GST_MESSAGE_SRC(message)==GST_OBJECT(bCtx->bin))
-    {
-        XAMediaRecorderAdaptationCtx* mCtx = NULL;
-        DEBUG_API_A2("->XAMediaRecorderAdapt_GstBusCb:\"%s\" from object \"%s\"",
-                        GST_MESSAGE_TYPE_NAME(message), GST_OBJECT_NAME(GST_MESSAGE_SRC(message)));
-        mCtx = (XAMediaRecorderAdaptationCtx*)data;
-
-        switch( GST_MESSAGE_TYPE(message))
-        {
-            case GST_MESSAGE_EOS:
-            {
-                /* stop position tracking */
-                if(mCtx->runpositiontimer > 0)
-                {
-                    g_source_remove(mCtx->runpositiontimer);
-                    mCtx->runpositiontimer = 0;
-                }
-
-                /* complete any ongoing client async operations */
-                XAAdaptationGst_CompleteAsyncWait(bCtx);
-
-                /* send needed events */
-                {
-                    XAAdaptEvent event = {XA_RECORDITFEVENTS, XA_RECORDEVENT_HEADATLIMIT, 0, NULL };
-                    XAAdaptationBase_SendAdaptEvents(&bCtx->baseObj, &event );
-                }
-                if(mCtx->positionCb)
-                {
-                    mCtx->positionCb(bCtx);
-                }
-                bCtx->binWantedState = GST_STATE_PAUSED;
-                break;
-            }
-            case GST_MESSAGE_STATE_CHANGED:
-            {
-                GstState oldstate, newstate, pendingstate, gsttargetstate;
-                gst_message_parse_state_changed(message, &oldstate, &newstate, &pendingstate);
-                gsttargetstate = GST_STATE_TARGET(bCtx->bin);
-                DEBUG_INFO_A4("old %d -> new %d (-> pending %d -> gsttarget %d)",
-                               oldstate, newstate, pendingstate, gsttargetstate);
-                if(gsttargetstate!=bCtx->binWantedState)
-                {
-                    DEBUG_ERR_A1("WARNING: Gst target is not wanted target [%d]!!!", bCtx->binWantedState);
-                }
-                /* print out some more info */
-                if( pendingstate == GST_STATE_VOID_PENDING )
-                {
-                    if( newstate != bCtx->binWantedState )
-                    {
-                        DEBUG_INFO_A2("Gst in intermediate state transition (curr %d, target %d)",
-                                    newstate,bCtx->binWantedState);
-                    }
-                    else
-                    {
-                        DEBUG_INFO_A1("Gst in wanted target state (%d)",newstate);
-                    }
-                }
-                if( oldstate!=GST_STATE_PLAYING && newstate==GST_STATE_PLAYING )
-                {
-                    XAAdaptEvent event = {XA_RECORDITFEVENTS, XA_RECORDEVENT_HEADMOVING, 0, NULL };
-                    /* send needed events */
-                    XAAdaptationBase_SendAdaptEvents(&bCtx->baseObj, &event );
-                    /* enable position tracking if needed */
-                    if( mCtx->runpositiontimer==0 && mCtx->trackpositionenabled && mCtx->positionCb )
-                    {
-                        mCtx->runpositiontimer = g_timeout_add(XA_ADAPT_PU_INTERVAL, mCtx->positionCb, mCtx);
-                    }
-                }
-                break;
-            }
-
-            case GST_MESSAGE_ASYNC_DONE:
-            {
-                /* some async sequence ended */
-                XAAdaptationGst_CompleteAsyncWait(bCtx);
-                break;
-            }
-
-            case GST_MESSAGE_ERROR:
-            {
-                GError* error;
-                gchar* debug;
-                gst_message_parse_error(message, &error, &debug);
-                DEBUG_ERR_A1("Gst reports error \"%s\"", debug);
-                /* stop waiting any ongoing async operations */
-                XAAdaptationGst_CompleteAsyncWait(bCtx);
-                break;
-            }
-            case GST_MESSAGE_WARNING:
-            {
-                GError* error;
-                gchar* debug;
-                gst_message_parse_warning(message, &error, &debug);
-                DEBUG_ERR_A1("Gst reports warning \"%s\"", debug);
-                /* stop waiting any ongoing async operations */
-                XAAdaptationGst_CompleteAsyncWait(bCtx);
-                break;
-            }
-            default:
-                break;
-        }
-    DEBUG_API("<-XAMediaRecorderAdapt_GstBusCb");
-    }
-    return TRUE;
-    }
-
-/*
- * XAAdaptationGstCtx* XAMediaRecorderAdapt_Create()
- * Allocates memory for Media Recorder Adaptation Context and makes 1st phase initialization
- * @param XADataSource *pAudioSrc - pointer to OMX-AL audio source
- * @param XADataSource *pImageVideoSrc - pointer image/video source
- * @param XADataSink *pDataSnk - pointer to OMX-AL sink
- * @returns XAMediaRecorderAdaptationCtx* - Pointer to created context, NULL if error occurs.
- */
-XAAdaptationBaseCtx* XAMediaRecorderAdapt_Create(XADataSource* pAudioSrc,
-        XADataSource* pImageVideoSrc, XADataSink* pDataSnk, XAuint8 recModes)
-{
-    XAMediaRecorderAdaptationCtx *pSelf = NULL;
-    DEBUG_API("->XAMediaRecorderAdapt_Create");
-
-    pSelf = (XAMediaRecorderAdaptationCtx*)calloc(1, sizeof(XAMediaRecorderAdaptationCtx));
-    if (pSelf)
-    {
-        if (XAAdaptationGst_Init(&(pSelf->baseObj),
-                XAMediaRecorderAdaptation) != XA_RESULT_SUCCESS)
-        {
-            DEBUG_ERR("Failed to init base context!!!");
-            free(pSelf);
-            pSelf = NULL;
-            DEBUG_API("<-XAMediaRecorderAdapt_Create");
-            return NULL;
-        }
-        else
-        {
-            pSelf->baseObj.baseObj.fwtype = FWMgrFWGST;
-            pSelf->xaAudioSource = pAudioSrc;
-            pSelf->xaVideoSource = pImageVideoSrc;
-            pSelf->xaSink = pDataSnk;
-/*            pSelf->baseObj.pipeSinkThrCtx.state = CPStateNull;*/
-            pSelf->xaRecordState = XA_RECORDSTATE_STOPPED;
-            pSelf->curMirror = XA_VIDEOMIRROR_NONE;
-            pSelf->curRotation = 0;
-            pSelf->recModes = recModes;
-            pSelf->isRecord = XA_BOOLEAN_FALSE;
-
-            /* defaults from API spec */
-            pSelf->imageEncSettings.width = 640;
-            pSelf->imageEncSettings.height = 480;
-            pSelf->imageEncSettings.compressionLevel = 0;
-            pSelf->imageEncSettings.encoderId = XA_IMAGECODEC_JPEG;
-            pSelf->imageEncSettings.colorFormat = XA_COLORFORMAT_UNUSED;
-            /* no specified defaults for rest, determined later from container type */
-            pSelf->videoEncSettings.encoderId = XA_ADAPTID_UNINITED;
-            pSelf->videoEncSettings.width = 640;
-            pSelf->videoEncSettings.height = 480;
-            pSelf->videoEncSettings.frameRate = 15;
-            pSelf->audioEncSettings.encoderId = XA_ADAPTID_UNINITED;
-            pSelf->audioEncSettings.channelsIn = 0;
-            pSelf->audioEncSettings.channelsOut = 0;
-            pSelf->audioEncSettings.bitsPerSample = 0;
-            pSelf->audioEncSettings.bitRate = 0;
-            pSelf->audioEncSettings.sampleRate = 0;
-            pSelf->audioEncSettings.rateControl = 0;
-            pSelf->audioEncSettings.profileSetting = 0;
-            pSelf->audioEncSettings.levelSetting = 0;
-            pSelf->audioEncSettings.channelMode = 0;
-            pSelf->audioEncSettings.streamFormat = 0;
-            pSelf->audioEncSettings.encodeOptions = 0;
-            pSelf->audioEncSettings.blockAlignment = 0;
-        }
-    }
-
-    DEBUG_API("<-XAMediaRecorderAdapt_Create");
-    return (XAAdaptationBaseCtx*) &pSelf->baseObj;
-}
-
-/*
- * XAresult XAMediaRecorderAdapt_PostInit()
- * 2nd phase initialization of Media Recorder Adaptation Context
- * @param XAAdaptationGstCtx* ctx - pointer to Media Recorder adaptation context
- * @return XAresult - Success value
- */
-XAresult XAMediaRecorderAdapt_PostInit(XAAdaptationGstCtx* bCtx)
-{
-    GstStateChangeReturn gret;
-
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaRecorderAdaptationCtx* ctx = NULL;
-    DEBUG_API("->XAMediaRecorderAdapt_PostInit");
-    if (bCtx == NULL || bCtx->baseObj.ctxId != XAMediaRecorderAdaptation)
-    {
-        DEBUG_ERR("Invalid parameter!!");
-        DEBUG_API("<-XAMediaRecorderAdapt_PostInit");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    ctx = (XAMediaRecorderAdaptationCtx*) bCtx;
-
-    ret = XAAdaptationGst_PostInit(bCtx);
-    if (ret != XA_RESULT_SUCCESS)
-    {
-        DEBUG_ERR("Gst context postinit failed!!");
-        return ret;
-    }
-
-    /* top level bin for media recorder */
-    bCtx->bin = gst_pipeline_new("media_recorder");
-
-    /* Create Gst bus listener. */
-    ret = XAAdaptationGst_InitGstListener(bCtx);
-    if (ret != XA_RESULT_SUCCESS)
-    {
-        DEBUG_ERR("Bus listener creation failed!!");
-        return ret;
-    }
-    /* Add Media Recorder specific handler */
-    if (bCtx->bus)
-    {
-        bCtx->busCb = XAMediaRecorderAdapt_GstBusCb;
-        gst_bus_add_signal_watch(bCtx->bus);
-        g_signal_connect(bCtx->bus, "message::eos", G_CALLBACK(bCtx->busCb), ctx );
-        g_signal_connect(bCtx->bus, "message::error", G_CALLBACK(bCtx->busCb), ctx );
-        g_signal_connect(bCtx->bus, "message::warning", G_CALLBACK(bCtx->busCb), ctx );
-        g_signal_connect(bCtx->bus, "message::state-changed", G_CALLBACK(bCtx->busCb), ctx );
-        g_signal_connect(bCtx->bus, "message::segment-done", G_CALLBACK(bCtx->busCb), ctx );
-        g_signal_connect(bCtx->bus, "message::async-done", G_CALLBACK(bCtx->busCb), ctx );
-    }
-    else
-    {
-        DEBUG_ERR("Failed to create message bus");
-        return XA_RESULT_INTERNAL_ERROR;
-    }
-
-    XAMetadataAdapt_PreInit(bCtx);
-
-    /* create pipeline */
-    ret = XAMediaRecorderAdapt_CreatePipeline(ctx);
-    if (ret != XA_RESULT_SUCCESS)
-    {
-        DEBUG_ERR("Failed to create recorder pipeline");
-        return XA_RESULT_INTERNAL_ERROR;
-    }
-
-#ifdef XA_IMPL_MEASURE_GST_DELAY
-    bCtx->startTime = clock();
-#endif /* XA_IMPL_MEASURE_GST_DELAY */
-    /* roll up bin */
-    bCtx->binWantedState = GST_STATE_PAUSED;
-    XAAdaptationGst_PrepareAsyncWait(bCtx);
-    gret = gst_element_set_state(GST_ELEMENT(bCtx->bin), bCtx->binWantedState);
-    if (gret == GST_STATE_CHANGE_ASYNC)
-    {
-        DEBUG_INFO("Wait for preroll");
-        XAAdaptationGst_StartAsyncWait(bCtx);DEBUG_INFO("Preroll ready");
-    }
-    else if (gret == GST_STATE_CHANGE_FAILURE)
-    {
-        DEBUG_ERR("Preroll FAILED");
-        /*ret = XA_RESULT_INTERNAL_ERROR;*/
-    }
-#ifdef XA_IMPL_MEASURE_GST_DELAY
-    bCtx->endTime = clock();
-    double diff = bCtx->endTime - bCtx->startTime;
-    diff = diff / CLOCKS_PER_SEC;
-    DEBUG_API_A1( "Starting up bin took %.4lf secs",diff);
-#endif /* XA_IMPL_MEASURE_GST_DELAY */
-    XAMetadataAdapt_PostInit(bCtx);
-
-    bCtx->waitingasyncop = XA_BOOLEAN_FALSE;
-
-    DEBUG_API("<-XAMediaRecorderAdapt_PostInit");
-    return ret;
-}
-
-/*
- * void XAMediaRecorderAdapt_Destroy( XAAdaptationGstCtx* bCtx )
- * Destroys Media Recorder Adaptation Context
- * @param ctx - Media Recorder Adaptation context to be destroyed
- */
-void XAMediaRecorderAdapt_Destroy(XAAdaptationGstCtx* bCtx)
-{
-    XAMediaRecorderAdaptationCtx* ctx = NULL;
-    char* fname = NULL;
-    DEBUG_API("->XAMediaRecorderAdapt_Destroy");
-
-    if (bCtx == NULL || bCtx->baseObj.ctxId != XAMediaRecorderAdaptation)
-    {
-        DEBUG_ERR("Invalid parameter!!");
-        DEBUG_API("<-XAMediaRecorderAdapt_Destroy");
-        return;
-    }
-    ctx = (XAMediaRecorderAdaptationCtx*) bCtx;
-
-    if (ctx->isRecord == XA_BOOLEAN_FALSE)
-    {
-        DEBUG_INFO("Removing unnecessary file.");
-        if (ctx->xaSink && *((XAuint32*) (ctx->xaSink->pLocator)) == XA_DATALOCATOR_URI)
-        {
-            if (strncmp( (char *)((XADataLocator_URI*)(ctx->xaSink->pLocator))->URI, "file:///", 8) == 0)
-            {
-                fname = (char *) &(((XADataLocator_URI*) (ctx->xaSink->pLocator))->URI[8]);
-            }
-            else
-            {
-                fname = (char *) ((XADataLocator_URI*) (ctx->xaSink->pLocator))->URI;
-            }
-            if (remove(fname) != 0)
-            {
-                DEBUG_ERR_A1("Cannot remove file %s", fname);
-            }
-        }
-    }
-
-    if (ctx->isobjvsrc && ctx->videosource)
-    { /* external source, unlink now */
-        gst_element_unlink(ctx->videosource, ctx->codecbin);
-        GST_OBJECT_FLAG_SET(GST_OBJECT(ctx->videosource),GST_OBJECT_FLOATING);
-    }
-    if (bCtx->bus)
-    {
-        gst_bus_remove_signal_watch(bCtx->bus);
-    }
-    XAAdaptationGst_CancelAsyncWait(bCtx);
-
-    if (ctx->runpositiontimer)
-    {
-        g_source_remove(ctx->runpositiontimer);
-    }
-
-    XAAdaptationGst_Free(bCtx);
-
-    free(ctx);
-    ctx = NULL;
-
-    DEBUG_API("<-XAMediaRecorderAdapt_Destroy");
-}
-
-/***************** INTERNAL FUNCTIONS *******************************/
-
-/*
- * void XAMediaRecorderAdapt_CreatePipeline( XAMediaRecorderAdaptationCtx* ctx );
- */
-XAresult XAMediaRecorderAdapt_CreatePipeline(
-        XAMediaRecorderAdaptationCtx* ctx)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMediaRecorderAdapt_CreatePipeline");
-
-    /* Create the audio src */
-    if ( ctx->xaAudioSource )
-    {
-        /* create audio pipe source */
-        ctx->audiosource = XAAdaptationGst_CreateGstSource( ctx->xaAudioSource, "audiosource",
-                &(ctx->isobjasrc), NULL, NULL );
-
-        if( ctx->audiosource )
-        {
-            if (gst_bin_add(GST_BIN(ctx->baseObj.bin), ctx->audiosource))
-            {
-                DEBUG_API("Added audiosource to bin");
-            }
-            else
-            {
-                DEBUG_API("Could not add audiosource to bin");
-                return XA_RESULT_INTERNAL_ERROR;
-            }
-        }
-        else
-        {
-            DEBUG_ERR("Could not create audio source!!!!");
-            return XA_RESULT_INTERNAL_ERROR;
-        }
-    }
-
-    /* create and add video pipeline */
-    ctx->codecbin = XAMediaRecorderAdapt_CreateEncodeBin(ctx);
-    if (ctx->codecbin)
-    {
-        if (gst_bin_add(GST_BIN(ctx->baseObj.bin), ctx->codecbin))
-        {
-            DEBUG_API("->XAMediaRecorderAdapt_CreatePipeline: gst_bin_add success");
-        }
-        else
-        {
-            DEBUG_ERR("Could not add codec bin");
-            return XA_RESULT_INTERNAL_ERROR;
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Could not create encoding bin!!!");
-        return XA_RESULT_INTERNAL_ERROR;
-    }
-
-    /* create and add video pipeline if video source available and codec supports video */
-    if (ctx->xaVideoSource
-            && gst_element_get_pad(ctx->codecbin, "v_sink"))
-    {
-        /* create video pipe source */
-        ctx->videosource = XAAdaptationGst_CreateGstSource(
-                ctx->xaVideoSource, "videosource", &(ctx->isobjvsrc),
-                NULL, NULL );
-        if (!ctx->videosource)
-        {
-            DEBUG_ERR("Could not create video source!!!!");
-            return XA_RESULT_INTERNAL_ERROR;
-        }
-
-        if (!ctx->isobjvsrc)
-        { /* Add other than camera sources to media recorder bin */
-            gst_bin_add(GST_BIN(ctx->baseObj.bin), ctx->videosource);
-        }
-        else
-        { /* Don't add camera source to media recorder bin */
-            GstCaps * encSrcCaps;
-            encSrcCaps = gst_caps_new_simple( "video/x-raw-yuv",
-            "format", GST_TYPE_FOURCC,GST_MAKE_FOURCC('I','4','2','0'),
-            "framerate", GST_TYPE_FRACTION, ctx->videoEncSettings.frameRate, 1,
-                    NULL);
-            DEBUG_INFO_A1("new camera encoding filter: %s",gst_caps_to_string(encSrcCaps));
-            g_object_set( G_OBJECT(ctx->videosource), "filter-caps",encSrcCaps,NULL);
-            gst_caps_unref(encSrcCaps);
-        }
-        /* create video filter for video encoder settings */
-        ctx->videofilter = gst_element_factory_make("capsfilter", "videofilter");
-        if( ctx->videofilter )
-        {
-            GstCaps* encSrcCaps;
-            gst_bin_add(GST_BIN(ctx->baseObj.bin), ctx->videofilter);
-            encSrcCaps = gst_caps_new_simple("video/x-raw-yuv",
-                    "width", G_TYPE_INT, ctx->videoEncSettings.width,
-                    "height", G_TYPE_INT, ctx->videoEncSettings.height,
-                    "framerate", GST_TYPE_FRACTION, ctx->videoEncSettings.frameRate, 1,
-                    NULL);
-            DEBUG_INFO_A1("video encoder config from settings: %s",gst_caps_to_string(encSrcCaps));
-            g_object_set( G_OBJECT(ctx->videofilter), "caps",encSrcCaps,NULL);
-            gst_caps_unref(encSrcCaps);
-            if ( ! ctx->isobjvsrc )
-            {
-                if(!gst_element_link(ctx->videosource, ctx->videofilter))
-                {
-                    DEBUG_ERR("Could not link videopp to videofilter!!");
-                    return XA_RESULT_INTERNAL_ERROR;
-                }
-            }
-            else
-            { /* For camera source used ghost-pads for linking, because elements are in different bins */
-                GstStateChangeReturn gret;
-                GstElement *camTee=NULL;
-                GstPad *cameraBinGhostPad=NULL;
-                GstPad *ghost=NULL;
-                GstPad *mrGhostSink=NULL;
-
-                DEBUG_INFO("Set ext-source PAUSED for pipeline manipulation");
-                gret = gst_element_set_state( GST_ELEMENT(ctx->videosource), GST_STATE_READY);
-                if(gret == GST_STATE_CHANGE_SUCCESS)
-                {
-                    gret = gst_element_get_state( GST_ELEMENT(ctx->videosource), NULL,NULL,XA_ADAPT_ASYNC_TIMEOUT_SHORT_NSEC);
-                }
-
-                /* Add new ghost-pad to external camera source */
-                camTee = gst_bin_get_by_name( GST_BIN(ctx->videosource), "CamTee");
-                if ( !camTee )
-                {
-                    DEBUG_ERR("Could not get tee-element from camera");
-                }
-                cameraBinGhostPad = gst_element_get_request_pad( camTee, "src%d" );
-                if ( !cameraBinGhostPad )
-                {
-                    DEBUG_ERR("Could not get new src-pad from CamTee element");
-                }
-                gst_element_add_pad(ctx->videosource, gst_ghost_pad_new("MRObjSrc",cameraBinGhostPad));
-                ghost = gst_element_get_static_pad( GST_ELEMENT(ctx->videosource), "MRObjSrc" );
-                DEBUG_INFO_A2("Setting element:%s pad:%s to blocking.",
-                        gst_element_get_name(ctx->baseObj.bin),
-                        gst_pad_get_name(ghost));
-                /* Set newly created pad to blocking */
-                gst_pad_set_blocked_async(ghost, TRUE, XAAdaptationGst_PadBlockCb, NULL);
-
-                mrGhostSink = gst_element_get_static_pad( GST_ELEMENT(ctx->videofilter), "sink");
-                gst_element_add_pad(ctx->baseObj.bin, gst_ghost_pad_new("MRObjSink",mrGhostSink));
-                if ( !gst_element_link_pads( GST_ELEMENT(ctx->videosource), "MRObjSrc",
-                                GST_ELEMENT(ctx->baseObj.bin), "MRObjSink") )
-                {
-                    DEBUG_ERR("Could not link camera:MRObjSrc to videofilter:MRObjSink");
-                    return XA_RESULT_INTERNAL_ERROR;
-                }
-
-                if ( cameraBinGhostPad )
-                {
-                    gst_object_unref( cameraBinGhostPad );
-                }
-                if ( ghost )
-                {
-                    gst_object_unref( ghost );
-                }
-                if ( mrGhostSink )
-                {
-                    gst_object_unref( mrGhostSink );
-                }
-                if ( camTee )
-                {
-                    gst_object_unref( camTee );
-                }
-            }
-        }
-        /* create video processing pipeline */
-#ifdef XA_IMPL_FIXED_VIDEO_SIZE
-        ctx->videoppbin = XAAdaptationGst_CreateFixedSizeVideoPP( );
-#else
-        ctx->videoppbin = XAAdaptationGst_CreateVideoPP( );
-#endif
-        if( ctx->videoppbin )
-        {
-            gst_bin_add(GST_BIN(ctx->baseObj.bin), ctx->videoppbin);
-            if(!gst_element_link(ctx->videofilter, ctx->videoppbin))
-            {
-                DEBUG_ERR("Could not link videofilter to videopp!!");
-                return XA_RESULT_INTERNAL_ERROR;
-            }
-        }
-        else
-        {
-            DEBUG_ERR("Could not create video pp bin!!!!");
-            return XA_RESULT_INTERNAL_ERROR;
-        }
-        /* create identity to extract buffers from */
-        ctx->videoextract = gst_element_factory_make("identity", "videoextract");
-        if( ctx->videoextract )
-        {
-            gst_bin_add(GST_BIN(ctx->baseObj.bin), ctx->videoextract);
-            if(!gst_element_link(ctx->videoppbin, ctx->videoextract))
-            {
-                DEBUG_ERR("Could not link videopp to videoextract!!");
-                return XA_RESULT_INTERNAL_ERROR;
-            }
-        }
-        else
-        {
-            DEBUG_ERR("Could not create videoextract!!!!");
-            return XA_RESULT_INTERNAL_ERROR;
-        }
-        if( ctx->videoextract )
-        {
-            if( !gst_element_link_pads(ctx->videoextract, "src", ctx->codecbin, "v_sink") )
-            {
-                DEBUG_INFO("Warning: could not link videoextract to codec!!");
-            }
-        }
-    }
-    else
-    {
-        DEBUG_INFO("No video input");
-    }
-
-    /* create and add audio pipeline */
-    if ( ctx->audiosource )
-    {
-#ifdef USE_AUDIO_PP
-        /* create audio processing pipeline */
-        ctx->audioppbin = XAAdaptationGst_CreateAudioPP( );
-        if( ctx->audioppbin )
-        {
-            if (gst_bin_add(GST_BIN(ctx->baseObj.bin), ctx->audioppbin))
-            {
-                DEBUG_INFO("Added audioppbin to bin");
-            }
-            else
-            {
-                DEBUG_ERR("Could not add audioppbin to bin");
-                return XA_RESULT_INTERNAL_ERROR;
-            }
-            if(!gst_element_link(ctx->audiosource, ctx->audioppbin))
-            {
-                DEBUG_ERR("Could not link audiofilter to audiopp!!");
-                return XA_RESULT_INTERNAL_ERROR;
-            }
-        }
-        else
-        {
-            DEBUG_ERR("Could not create audio pp bin!!!!");
-            return XA_RESULT_INTERNAL_ERROR;
-        }
-#endif //USE_AUDIO_PP
-
-        /* create audio filter for audio encoder settings */
-
-//        ret = XAMediaRecorderAdapt_CreateCapsFilter(ctx);
-//
-//        if ( XA_RESULT_SUCCESS != ret )
-//        {
-//            DEBUG_ERR("cannot create caps filter");
-//            return ret;
-//        }
-//
-//        /*LINK : audiosource -> audiofilter */
-//        if(!gst_element_link(ctx->audiosource, ctx->audiofilter))
-//        {
-//            DEBUG_ERR("Could not link audiosource to audiofilter!!");
-//            return XA_RESULT_INTERNAL_ERROR;
-//        }
-
-/*            if( !gst_element_link_pads_filtered(ctx->audiofilter, "src", ctx->codecbin, "sink", encSrcCaps) )
-            {
-            DEBUG_INFO("Warning: could not link audiopp to codec!!");
-            return XA_RESULT_INTERNAL_ERROR;
-            }
-*/
-#ifdef USE_AUDIO_PP
-            if (!gst_element_link_filtered( ctx->audiofilter , ctx->audioppbin ,encSrcCaps))
-            {
-                DEBUG_INFO("Warning: could not link audiosource to audiopp!!");
-                return XA_RESULT_INTERNAL_ERROR;
-            }
-            if(!gst_element_link(ctx->audioppbin, ctx->codecbin))
-            {
-                DEBUG_INFO("Warning: could not link audioppbin to codecbin!!");
-                return XA_RESULT_INTERNAL_ERROR;
-            }
-#else
-        //if(!gst_element_link(ctx->audiofilter, ctx->codecbin ))
-        if(!gst_element_link(ctx->audiosource, ctx->codecbin ))
-        {
-            DEBUG_ERR("Could not link audiosource to codecbin!!");
-            return XA_RESULT_INTERNAL_ERROR;
-        }
-        else
-        {
-            DEBUG_INFO("Warning: link audiosource to codecbin is successfull with muxcaps!!");
-        }
-#endif // USE_AUDIO_PP
-    }
-    else
-    {
-        DEBUG_INFO("No audio input");
-    }
-
-    /* create and add data sink */
-    ctx->datasink = XAAdaptationGst_CreateGstSink( ctx->xaSink, "datasink", &(ctx->isobjsink) );
-    if( ctx->datasink )
-    {
-        if ( GST_IS_APP_SINK(ctx->datasink) )
-        {
-            gst_app_sink_set_emit_signals( GST_APP_SINK(ctx->datasink), TRUE );
-        }
-        if (gst_bin_add(GST_BIN(ctx->baseObj.bin), ctx->datasink))
-        {
-            DEBUG_INFO("Added datasink to bin");
-        }
-        else
-        {
-            DEBUG_ERR("Could not add datasink to bin");
-            return XA_RESULT_INTERNAL_ERROR;
-        }
-        if(!gst_element_link(ctx->codecbin, ctx->datasink))
-        {
-            DEBUG_ERR("Could not link codec to sink!!");
-            return XA_RESULT_INTERNAL_ERROR;
-        }
-        /* NOTE: no actual object sinks applicable, variable used to imply appsrc (recording to memory)*/
-        if(ctx->isobjsink)
-        {
-            g_signal_connect(ctx->datasink, "new-buffer",
-                    G_CALLBACK (XAMediaRecorderAdapt_BufferAvailable),ctx);
-
-            ret = XAImpl_CreateSemaphore( &(ctx->recThrCtx.bufInsufficientSem));
-            if ( ret != XA_RESULT_SUCCESS )
-            {
-                DEBUG_ERR("WARN: Could not create semaphore for recorder event handler!");
-            }
-            XAImpl_CreateThreadHandle( &(ctx->recordingEventThr) );
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Could not create data sink!!!");
-        return XA_RESULT_INTERNAL_ERROR;
-    }
-    DEBUG_API("<-XAMediaRecorderAdapt_CreatePipeline");
-    return ret;
-}
-
-/*
- * XAresult XAMediaRecorderAdapt_CheckCodec( XAMediaRecorderAdaptationCtx_* mCtx );
- * Check codec compatibility and support with initiated datasink content
- */
-XAresult XAMediaRecorderAdapt_CheckCodec( XAMediaRecorderAdaptationCtx_* mCtx, XACapsType encType, XAuint32 encoderId )
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint32 format;
-    XACapabilities temp;
-
-    DEBUG_API("->XAMediaRecorderAdapt_CheckCodec");
-
-    /*first, check if codec supported at all*/
-    ret = XACapabilitiesMgr_GetCapsById(mCtx->baseObj.baseObj.capslist,(XACapsType)(XACAP_ENCODER|encType), encoderId, &temp);
-
-    if( ret==XA_RESULT_SUCCESS )
-    {
-        if(encType & (XACAP_VIDEO|XACAP_AUDIO))
-        {
-            if(mCtx->xaSink && mCtx->xaSink->pFormat)
-            {
-                format = *(XAuint32*)(mCtx->xaSink->pFormat);
-            }
-            else
-            {
-                ret=XA_RESULT_FEATURE_UNSUPPORTED;
-            }
-        }
-        else
-        {
-            if(mCtx->snapshotVars.xaSink && mCtx->snapshotVars.xaSink->pFormat)
-            {
-                format = *(XAuint32*)(mCtx->snapshotVars.xaSink->pFormat);
-            }
-            else
-            {
-                ret=XA_RESULT_FEATURE_UNSUPPORTED;
-            }
-        }
-        if(ret==XA_RESULT_SUCCESS)
-        {
-             switch ( format )
-            {
-                case XA_DATAFORMAT_PCM:
-                if ( (encType == XACAP_AUDIO) && (encoderId == XA_AUDIOCODEC_PCM) )
-                {
-                    ret=XA_RESULT_SUCCESS;
-                }
-                else
-                {
-                    ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                }
-                break;
-    
-                case XA_DATAFORMAT_RAWIMAGE:
-                if ( (encType == XACAP_IMAGE) && (encoderId == XA_IMAGECODEC_RAW) )
-                {
-                    ret=XA_RESULT_SUCCESS;
-                }
-                else
-                {
-                    ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                }
-                break;
-    
-                case XA_DATAFORMAT_MIME:
-                DEBUG_INFO("XA_DATAFORMAT_MIME ");
-                {
-                    XADataFormat_MIME* mime = ((XADataFormat_MIME*)mCtx->xaSink->pFormat);
-                    DEBUG_INFO_A1("mime->containerType:%u",(int)mime->containerType);
-                    DEBUG_INFO_A1("mime->mimeType:%s",mime->mimeType);
-                    switch ( mime->containerType )
-                    {
-                        case XA_CONTAINERTYPE_RAW:
-                        if( ((encType == XACAP_AUDIO) && (encoderId == XA_AUDIOCODEC_PCM)) ||
-                                ((encType == XACAP_VIDEO) && (encoderId == XA_ADAPTID_RAWVIDEO)) ||
-                                ((encType == XACAP_IMAGE) && (encoderId == XA_IMAGECODEC_RAW)) )
-                        {
-                            ret=XA_RESULT_SUCCESS;
-                        }
-                        else
-                        {
-                            ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                        }
-                        break;
-    
-                        case XA_CONTAINERTYPE_AVI:
-                        if(encType == XACAP_VIDEO)
-                        {
-                            switch(encoderId)
-                            {
-                                case XA_ADAPTID_MOTIONJPEG:
-                                case XA_ADAPTID_RAWVIDEO:
-                                ret=XA_RESULT_SUCCESS;
-                                break;
-                                default:
-                                ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                                break;
-                            }
-                        }
-                        else if(encType == XACAP_AUDIO)
-                        {
-                            switch(encoderId)
-                            {
-                                case XA_AUDIOCODEC_PCM:
-                                ret=XA_RESULT_SUCCESS;
-                                break;
-                                default:
-                                ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                                break;
-                            }
-                        }
-                        else
-                        {
-                            ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                        }
-                        break;
-    
-                        case XA_CONTAINERTYPE_WAV:
-                        if(encType == XACAP_AUDIO)
-                        {
-                            switch(encoderId)
-                            {
-                                case XA_AUDIOCODEC_PCM:
-                                ret=XA_RESULT_SUCCESS;
-                                break;
-                                default:
-                                ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                                break;
-                            }
-                        }
-                        else
-                        {
-                            ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                        }
-                        break;
-    
-                        case XA_CONTAINERTYPE_JPG:
-                        if(encType == XACAP_VIDEO)
-                        {
-                            switch(encoderId)
-                            {
-                                case XA_ADAPTID_MOTIONJPEG:
-                                ret=XA_RESULT_SUCCESS;
-                                break;
-                                default:
-                                ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                                break;
-                            }
-                        }
-                        else if(encType == XACAP_IMAGE)
-                        {
-                            switch(encoderId)
-                            {
-                                case XA_IMAGECODEC_JPEG:
-                                ret=XA_RESULT_SUCCESS;
-                                break;
-                                default:
-                                ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                                break;
-                            }
-                        }
-                        else
-                        {
-                            ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                        }
-                        break;
-    
-                        case XA_CONTAINERTYPE_UNSPECIFIED:
-                        if(strstr( (char *) mime->mimeType, "/ogg") != 0)
-                        {
-                            if(encType == XACAP_VIDEO)
-                            {
-                                switch(encoderId)
-                                {
-                                    case XA_ADAPTID_THEORA:
-                                    ret=XA_RESULT_SUCCESS;
-                                    break;
-                                    default:
-                                    ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                                    break;
-                                }
-                            }
-                            else if(encType == XACAP_AUDIO)
-                            {
-                                switch(encoderId)
-                                {
-                                    case XA_ADAPTID_VORBIS:
-                                    ret=XA_RESULT_SUCCESS;
-                                    break;
-                                    default:
-                                    ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                                    break;
-                                }
-                            }
-                            else
-                            {
-                                ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                            }
-                        }
-                        else
-                        {
-                            ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                        }
-                        break;
-                        case XA_CONTAINERTYPE_AMR:
-                        if(encType == XACAP_AUDIO)
-                        {
-                            switch(encoderId)
-                            {
-                                case XA_AUDIOCODEC_AMR:
-                                ret=XA_RESULT_SUCCESS;
-                                break;
-                                default:
-                                ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                                break;
-                            }
-                        }
-                        else
-                        {
-                            ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                        }
-                        break;
-                        case XA_CONTAINERTYPE_MP4:
-                        if(encType == XACAP_AUDIO )
-                        {
-                            switch(encoderId)
-                            {
-                                case XA_AUDIOCODEC_AAC:
-                                ret=XA_RESULT_SUCCESS;
-                                break;
-                                default:
-                                ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                                break;
-                            }
-                        }
-                        else
-                        {
-                            ret=XA_RESULT_FEATURE_UNSUPPORTED;
-                        }
-                        break;
-                        default: /*switch (containertype)*/
-                        ret = XA_RESULT_FEATURE_UNSUPPORTED;
-                        break;
-                    }
-                    break;
-                }
-                default: /*switch (format)*/
-                ret = XA_RESULT_CONTENT_UNSUPPORTED;
-                break;
-            }
-        }
-    }
-    if( ret!=XA_RESULT_SUCCESS )
-    {
-        DEBUG_ERR("cannot accommodate given codec & datasink pair!!!");
-    }
-    DEBUG_API("<-XAMediaRecorderAdapt_CheckCodec");
-    return ret;
-}
-
-/*
- * XAresult XAMediaRecorderAdapt_ChangeEncoders( XAMediaRecorderAdaptationCtx* mCtx );
- * re-create encodebin based on new encoder settings
- */
-XAresult XAMediaRecorderAdapt_ChangeEncoders( XAMediaRecorderAdaptationCtx* mCtx )
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    GstElement  *encoderelement = NULL;
-    XAAdaptationGstCtx* bCtx = &(mCtx->baseObj);
-
-    DEBUG_API("->XAMediaRecorderAdapt_ChangeEncoders");
-    /* check state */
-    if(GST_STATE(mCtx->baseObj.bin)<GST_STATE_PLAYING)
-    {
-        GstElement* newBin = XAMediaRecorderAdapt_CreateEncodeBin(mCtx);
-        if(newBin)
-        { /* replace old bin with new */
-            GstStateChangeReturn gret;
-            GstPad *asink=NULL, *linkedasrc=NULL;
-            GstPad *vsink=NULL, *linkedvsrc=NULL;
-            GstPad *src=NULL, *linkedsink=NULL;
-            GstPad *moSrc=NULL, *moSink=NULL;
-            GstCaps* encSrcCaps = NULL;
-            GstPad *afiltsrc=NULL, *afiltsink=NULL;
-
-            /* pipeline must be unrolled for renegotiation */
-            DEBUG_INFO("Unroll pipeline");
-            bCtx->binWantedState = GST_STATE_READY;
-            gret = gst_element_set_state( GST_ELEMENT(bCtx->bin), bCtx->binWantedState);
-            gret = gst_element_get_state( GST_ELEMENT(bCtx->bin), NULL, NULL, XA_ADAPT_ASYNC_TIMEOUT_SHORT_NSEC);
-
-            /*set new stream settings*/
-            if( mCtx->videofilter )
-            {
-                encSrcCaps = gst_caps_new_simple("video/x-raw-yuv",
-                        "format", GST_TYPE_FOURCC,GST_MAKE_FOURCC('I','4','2','0'),
-                        "width", G_TYPE_INT, mCtx->videoEncSettings.width,
-                        "height", G_TYPE_INT, mCtx->videoEncSettings.height,
-                        "framerate", GST_TYPE_FRACTION, mCtx->videoEncSettings.frameRate, 1,
-                        NULL);
-                DEBUG_INFO_A1("new video encoder config from settings: %s",gst_caps_to_string(encSrcCaps));
-                g_object_set( G_OBJECT(mCtx->videofilter), "caps",encSrcCaps,NULL);
-                gst_caps_unref(encSrcCaps);
-            }
-            if(!mCtx ->audiofilter)
-            {
-               //creating caps filter
-               mCtx->audiofilter = gst_element_factory_make("capsfilter", "audiofilter");
-               if ( mCtx->audiofilter )
-               {
-                   gst_bin_add(GST_BIN(bCtx->bin), mCtx->audiofilter);
-                   encSrcCaps = gst_caps_new_full(
-                   gst_structure_new("audio/x-raw-int",
-                           "channels", G_TYPE_INT, mCtx->audioEncSettings.channelsOut,
-                           "rate", G_TYPE_INT, (mCtx->audioEncSettings.sampleRate / 1000),
-                           "depth", G_TYPE_INT, mCtx->audioEncSettings.bitsPerSample,
-                           "signed",G_TYPE_BOOLEAN, TRUE,
-                           "endianness",G_TYPE_INT, mCtx->audioEncSettings.blockAlignment,
-                           NULL),
-                   gst_structure_new("audio/amr",
-                          "signed",G_TYPE_BOOLEAN, TRUE,
-                          "endianness",G_TYPE_INT, mCtx->audioEncSettings.blockAlignment,
-                          "depth", G_TYPE_INT, mCtx->audioEncSettings.bitsPerSample,
-                          "rate", G_TYPE_INT, (mCtx->audioEncSettings.sampleRate / 1000),
-                          "channels", G_TYPE_INT, mCtx->audioEncSettings.channelsOut,
-                          NULL),
-                    gst_structure_new("audio/x-raw-float",
-                           "channels", G_TYPE_INT, mCtx->audioEncSettings.channelsOut,
-                           "width", G_TYPE_INT, mCtx->audioEncSettings.bitsPerSample,
-                           "rate", G_TYPE_INT , mCtx->audioEncSettings.sampleRate / 1000,
-                           NULL),
-                           NULL);
-                   DEBUG_INFO_A1("new audio encoder config from settings: %s",gst_caps_to_string(encSrcCaps));
-                   g_object_set( G_OBJECT(mCtx->audiofilter), "caps",encSrcCaps,NULL);
-
-                   gst_caps_unref(encSrcCaps);
-                }
-                else
-                {
-                    DEBUG_ERR("cannot create caps filter");
-                    return XA_RESULT_INTERNAL_ERROR;
-                }
-            }
-
-            if(mCtx->isobjvsrc)
-            {
-                moSrc = gst_element_get_static_pad(mCtx->videosource,"MRObjSrc");
-                moSink = gst_pad_get_peer(moSrc);
-                if(moSink)
-                {
-                    gst_pad_unlink(moSrc,moSink);
-                }
-                encSrcCaps = gst_caps_new_simple("video/x-raw-yuv",
-                        "format", GST_TYPE_FOURCC,GST_MAKE_FOURCC('I','4','2','0'),
-                        "framerate", GST_TYPE_FRACTION, mCtx->videoEncSettings.frameRate, 1,
-                        NULL);
-                DEBUG_INFO_A1("new camera encoding filter: %s",gst_caps_to_string(encSrcCaps));
-                g_object_set( G_OBJECT(mCtx->videosource), "filter-caps",encSrcCaps,NULL);
-                gst_caps_unref(encSrcCaps);
-            }
-
-            DEBUG_INFO("Unlink and remove old encodebin");
-            asink = gst_element_get_static_pad(mCtx->codecbin,"sink");
-            if(asink)
-            {
-                linkedasrc = gst_pad_get_peer(asink);
-                if(linkedasrc)
-                {
-                    gst_pad_unlink(linkedasrc,asink);
-                }
-            }
-            vsink = gst_element_get_static_pad(mCtx->codecbin,"v_sink");
-            if(vsink)
-            {
-                linkedvsrc = gst_pad_get_peer(vsink);
-                if(linkedvsrc)
-                {
-                    gst_pad_unlink(linkedvsrc,vsink);
-                }
-            }
-            src = gst_element_get_static_pad(mCtx->codecbin,"src");
-            if(src)
-            {
-                linkedsink = gst_pad_get_peer(src);
-                if(linkedsink)
-                {
-                    gst_pad_unlink(src,linkedsink);
-                }
-            }
-
-            gst_element_set_state( GST_ELEMENT(mCtx->codecbin), GST_STATE_NULL );
-            gst_element_get_state( GST_ELEMENT(mCtx->codecbin),NULL,NULL,1000 );
-            gst_bin_remove( GST_BIN(bCtx->bin), mCtx->codecbin );
-            /*reset filesink too*/
-            gst_element_set_state(GST_ELEMENT(mCtx->datasink),GST_STATE_NULL);
-            gst_element_sync_state_with_parent(mCtx->datasink);
-            gst_element_get_state(mCtx->datasink,NULL,NULL,XA_ADAPT_ASYNC_TIMEOUT_SHORT_NSEC);
-
-            DEBUG_INFO("Link new encodebin");
-            mCtx->codecbin = newBin;
-            gst_bin_add(GST_BIN(bCtx->bin), mCtx->codecbin);
-            asink = gst_element_get_static_pad(mCtx->codecbin,"sink");
-            afiltsink = gst_element_get_static_pad(mCtx->audiofilter,"sink");
-            afiltsrc = gst_element_get_static_pad(mCtx->audiofilter,"src");
-            if(linkedasrc && afiltsink)
-            {
-                if(gst_pad_link(linkedasrc , afiltsink ) != GST_PAD_LINK_OK)
-                {
-                    DEBUG_ERR("Could not link audiosource to audiofilter!!");
-                    return XA_RESULT_INTERNAL_ERROR;
-                }
-            }
-            if(asink && afiltsrc)
-            {
-                if(gst_pad_link(afiltsrc , asink) != GST_PAD_LINK_OK)
-                {
-                    DEBUG_ERR("Could not link audiosource to audiofilter!!");
-                    return XA_RESULT_INTERNAL_ERROR;
-                }
-            }
-            vsink = gst_element_get_static_pad(mCtx->codecbin,"v_sink");
-            if(vsink && linkedvsrc)
-            {
-                if(gst_pad_link(linkedvsrc,vsink) != GST_PAD_LINK_OK)
-                        {
-                            DEBUG_ERR("Could not link linkedvsrc to vsink!!");
-                            return XA_RESULT_INTERNAL_ERROR;
-                        }
-            }
-            src = gst_element_get_static_pad(mCtx->codecbin,"src");
-            if(src && linkedsink)
-            {
-                if(gst_pad_link(src,linkedsink) != GST_PAD_LINK_OK)
-                {
-                    DEBUG_ERR("Could not link codecbin src pad  to linkedsink!!");
-                    return XA_RESULT_INTERNAL_ERROR;
-                }
-            }
-
-            if(mCtx->isobjvsrc)
-            {
-                moSrc = gst_element_get_static_pad(mCtx->videosource,"MRObjSrc");
-                if(moSink&&moSrc)
-                {
-                    if(gst_pad_link(moSrc,moSink) != GST_PAD_LINK_OK)
-                    {
-                        DEBUG_ERR("Could not link codecbin src pad  to linkedsink!!");
-                        return XA_RESULT_INTERNAL_ERROR;
-                    }
-                }
-            }
-
-
-            //setting the Bitrate and other properties for elements
-            if(mCtx->audioEncSettings.encoderId == XA_AUDIOCODEC_AAC)
-            {
-                encoderelement = gst_bin_get_by_name((GstBin*)mCtx->codecbin, "audioenc") ;
-                if(encoderelement)
-                {
-                    g_object_set(G_OBJECT(encoderelement),"bitrate" , mCtx->audioEncSettings.bitRate , NULL );
-                    g_object_set(G_OBJECT(encoderelement),"profile", mCtx->audioEncSettings.levelSetting , NULL );
-                    g_object_set(G_OBJECT(encoderelement),"output-format", mCtx->audioEncSettings.streamFormat , NULL );
-                    gst_object_unref (encoderelement);
-                 }
-                 else
-                 {
-                    DEBUG_ERR("Encoder Element not found for AAC");
-                 }
-            }
-            else if(mCtx->audioEncSettings.encoderId == XA_AUDIOCODEC_AMR)
-            {
-                g_object_set(G_OBJECT(mCtx->audiosource),"speechbitrate", mCtx->audioEncSettings.bitRate , NULL );
-            }
-            else
-            {
-                DEBUG_INFO("No properties for PCM or Wav")
-            }
-
-            /*re-roll*/
-            DEBUG_INFO("Reroll pipeline");
-            bCtx->binWantedState = GST_STATE_PAUSED;
-            gret = gst_element_set_state( GST_ELEMENT(bCtx->bin), bCtx->binWantedState);
-            if( gret == GST_STATE_CHANGE_ASYNC )
-            {
-                DEBUG_INFO("Wait for reroll");
-                XAAdaptationGst_StartAsyncWait(bCtx);
-            }
-            else if( gret == GST_STATE_CHANGE_FAILURE )
-            {
-                DEBUG_ERR("reroll FAILED");
-                ret = XA_RESULT_INTERNAL_ERROR;
-            }
-            bCtx->waitingasyncop = XA_BOOLEAN_FALSE;
-            DEBUG_INFO_A1("Pipeline in state %s",gst_element_state_get_name(GST_STATE(bCtx->bin)));
-        }
-        else
-        {
-            /* could not support wanted encoders */
-            DEBUG_ERR("Failed to create encodebin with new settings, using old one!");
-            ret = XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-    }
-    else
-    { /* n/a while playing */
-        DEBUG_ERR("Cannot change encoder when recording ongoing!");
-        ret = XA_RESULT_PRECONDITIONS_VIOLATED;
-    }
-    DEBUG_API("<-XAMediaRecorderAdapt_ChangeEncoders");
-    return ret;
-}
-
-/**
- * GstElement* XAMediaRecorderAdapt_CreateEncodeBin( XAMediaRecorderAdaptationCtx* ctx )
- * @return GstElement* - pointer to created bin element
- * Decription: Create encoder/muxer element based on given format and encoder settings
- */
-GstElement* XAMediaRecorderAdapt_CreateEncodeBin( XAMediaRecorderAdaptationCtx* ctx )
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    GstElement *audioenc = NULL, *videoenc=NULL, *mux=NULL;
-    GstElement *codecbin = gst_bin_new( "mrcodecbin" );
-    GstPad *ghostsrc = NULL, *ghostaudiosink = NULL, *ghostvideosink = NULL;
-    XAuint32 format;
-    XACapabilities temp;
-
-    DEBUG_API("->XAMediaRecorderAdapt_CreateEncodeBin");
-    if(ctx->recModes & XA_RECMODE_STREAM)
-    {
-        if(ctx->xaSink && ctx->xaSink->pFormat)
-        {
-            format = *(XAuint32*)(ctx->xaSink->pFormat);
-            switch ( format )
-            {
-                case XA_DATAFORMAT_PCM:
-                DEBUG_INFO("XA_DATAFORMAT_PCM");
-                {
-                    XADataFormat_PCM* pcm = ((XADataFormat_PCM*)ctx->xaSink->pFormat);
-                    if(!ctx->xaAudioSource)
-                    {
-                        DEBUG_ERR("Unsupported dataformat for given data sources");
-                        return NULL;
-                    }
-                    /* no need for codec, just pass data on */
-                    mux = gst_element_factory_make("identity", "mux");
-                    gst_bin_add(GST_BIN(codecbin), mux);
-                    ghostsrc = gst_element_get_static_pad(mux,"src");
-                    ghostaudiosink = gst_element_get_static_pad(mux,"sink");
-                    /*set usable audio settings from the sink structure*/
-                    ctx->audioEncSettings.encoderId = XA_AUDIOCODEC_PCM;
-                    ctx->audioEncSettings.channelsOut = pcm->numChannels;
-                    ctx->audioEncSettings.bitsPerSample = pcm->bitsPerSample;
-                }
-                break;
-
-                case XA_DATAFORMAT_RAWIMAGE:
-                DEBUG_INFO("XA_DATAFORMAT_RAWIMAGE");
-                {
-                    XADataFormat_RawImage* img = ((XADataFormat_RawImage*)ctx->xaSink->pFormat);
-                    if(!ctx->xaVideoSource)
-                    {
-                        DEBUG_ERR("Unsupported dataformat for given data sources");
-                        return NULL;
-                    }
-                    /* no need for codec, just pass data on */
-                    mux = gst_element_factory_make("identity", "mux");
-                    gst_bin_add(GST_BIN(codecbin), mux);
-                    ghostsrc = gst_element_get_static_pad(mux,"src");
-                    ghostvideosink = gst_element_get_static_pad(mux,"sink");
-                    /*set needed image settings from the sink structure*/
-                    ctx->imageEncSettings.encoderId = XA_IMAGECODEC_RAW;
-                    ctx->imageEncSettings.width = img->width;
-                    ctx->imageEncSettings.height = img->height;
-                    ctx->imageEncSettings.colorFormat = img->colorFormat;
-                }
-                break;
-
-                case XA_DATAFORMAT_MIME:
-                DEBUG_INFO("XA_DATAFORMAT_MIME ");
-                {
-                    XADataFormat_MIME* mime = ((XADataFormat_MIME*)ctx->xaSink->pFormat);
-                    DEBUG_INFO_A1("mime->containerType:%u",(int)mime->containerType);
-                    DEBUG_INFO_A1("mime->mimeType:%s",mime->mimeType);
-                    switch ( mime->containerType )
-                    {
-                        case XA_CONTAINERTYPE_AVI:
-                        DEBUG_INFO("XA_CONTAINERTYPE_AVI");
-                        mux = gst_element_factory_make("avimux", "mux");
-                        if(mux)
-                        {
-                            if (gst_bin_add(GST_BIN(codecbin), mux))
-                            {
-                                DEBUG_INFO("Added mux to codecbin");
-                            }
-                            else
-                            {
-                                DEBUG_ERR("Could not add mux to codecbin");
-                                return NULL;
-                            }
-                            /*use this as linkpoint*/
-                            ghostsrc = gst_element_get_static_pad(mux,"src");
-                        }
-                        /* Add and link audio/video codecs */
-                        /*set video defaults*/
-                        if(ctx->videoEncSettings.encoderId == XA_ADAPTID_UNINITED)
-                        ctx->videoEncSettings.encoderId = XA_ADAPTID_MOTIONJPEG;
-                        if(ctx->xaVideoSource)
-                        {
-                            if(XACapabilitiesMgr_GetCapsById(NULL, (XACapsType)(XACAP_ENCODER|XACAP_VIDEO), ctx->videoEncSettings.encoderId, &temp) == XA_RESULT_SUCCESS)
-                            {
-                                if(temp.adaptId)
-                                {
-                                    videoenc = gst_element_factory_make((char*)temp.adaptId, "videoenc");
-                                }
-                            }
-                            if(videoenc)
-                            {
-                                gst_bin_add(GST_BIN(codecbin), videoenc);
-                                if(!gst_element_link(videoenc, mux))
-                                {
-                                    DEBUG_ERR("Could not link videoenc to mux!!");
-                                    DEBUG_API("<-XAMediaRecorderAdapt_CreateEncodeBin");
-                                    return NULL;
-                                }
-                                ghostvideosink = gst_element_get_static_pad(videoenc,"sink");
-                            }
-                            else
-                            {
-                                /*no video codec but video source = raw video case, request video pad directly from mux*/
-                                ghostvideosink = gst_element_get_request_pad(mux,"video_%d");
-                            }
-                        }
-                        /*set audio defaults*/
-                        if(ctx->audioEncSettings.encoderId == XA_ADAPTID_UNINITED)
-                        ctx->audioEncSettings.encoderId = XA_AUDIOCODEC_PCM;
-                        if(ctx->xaAudioSource)
-                        {
-                            if(XACapabilitiesMgr_GetCapsById(NULL, (XACapsType)(XACAP_ENCODER|XACAP_AUDIO), ctx->audioEncSettings.encoderId, &temp) == XA_RESULT_SUCCESS)
-                            {
-                                if(temp.adaptId)
-                                {
-                                    audioenc = gst_element_factory_make((char*)temp.adaptId, "audioenc");
-                                }
-                            }
-                            if(audioenc)
-                            {
-                                gst_bin_add(GST_BIN(codecbin), audioenc);
-                                if(!gst_element_link(audioenc, mux))
-                                {
-                                    DEBUG_ERR("Could not link audioenc to mux!!");
-                                    DEBUG_API("<-XAMediaRecorderAdapt_CreateEncodeBin");
-                                    return NULL;
-                                }
-                                ghostaudiosink = gst_element_get_static_pad(audioenc,"sink");
-                            }
-                            else
-                            {
-                                /*no audio codec but audio source = PCM case, explicity request audio pad*/
-                                ghostaudiosink = gst_element_get_request_pad(mux,"audio_%d");
-                            }
-                        }
-                        break;
-
-                        case XA_CONTAINERTYPE_WAV:
-                        DEBUG_INFO("XA_CONTAINERTYPE_WAV");
-                        audioenc = gst_element_factory_make("wavenc", "audioenc");
-                        if(audioenc)
-                        {
-                            if (gst_bin_add(GST_BIN(codecbin), audioenc))
-                            {
-                                DEBUG_INFO("added audioenc to codecbin");
-                            }
-                            else
-                            {
-                                DEBUG_ERR("Could not add audioenc to codecbin");
-                                return NULL;
-                            }
-                            /*use this as linkpoint*/
-                            ghostsrc = gst_element_get_static_pad(audioenc,"src");
-                            ghostaudiosink = gst_element_get_static_pad(audioenc,"sink");
-                            if ( ghostsrc == NULL || ghostaudiosink == NULL)
-                            {
-                                DEBUG_ERR("Could not get src or sink ghoset element(s)");
-                                return NULL;
-                            }
-                        }
-                        /* no other codecs needed */
-                        break;
-                        case XA_CONTAINERTYPE_JPG:
-                        /*motion jpeg*/
-                        DEBUG_INFO("XA_CONTAINERTYPE_JPG");
-                        /*set defaults*/
-                        if(ctx->videoEncSettings.encoderId == XA_ADAPTID_UNINITED)
-                        ctx->videoEncSettings.encoderId = XA_ADAPTID_MOTIONJPEG;
-                        if(XACapabilitiesMgr_GetCapsById(NULL, (XACapsType)(XACAP_ENCODER|XACAP_VIDEO), ctx->videoEncSettings.encoderId, &temp) == XA_RESULT_SUCCESS)
-                        {
-                            videoenc = gst_element_factory_make((char*)temp.adaptId, "videoenc");
-                        }
-                        if(videoenc)
-                        {
-                            gst_bin_add(GST_BIN(codecbin), videoenc);
-                            /*use this as linkpoint*/
-                            ghostsrc = gst_element_get_static_pad(videoenc,"src");
-                            ghostvideosink = gst_element_get_static_pad(videoenc,"sink");
-                        }
-                        /* no other codecs needed */
-                        break;
-                        case XA_CONTAINERTYPE_RAW:
-                        DEBUG_INFO("XA_CONTAINERTYPE_RAW");
-                        /* no need for codec, just pass data on */
-                        if(strncmp((char *)mime->mimeType, "video", 5) == 0 && ctx->xaVideoSource)
-                        {
-                            mux = gst_element_factory_make("identity", "mux");
-                            gst_bin_add(GST_BIN(codecbin), mux);
-                            ghostvideosink = gst_element_get_static_pad(mux,"sink");
-                        }
-                        else if (strncmp((char *)mime->mimeType, "audio", 5) == 0 && ctx->xaAudioSource)
-                        {
-                            mux = gst_element_factory_make("identity", "mux");
-                            gst_bin_add(GST_BIN(codecbin), mux);
-                            ghostaudiosink = gst_element_get_static_pad(mux,"sink");
-                        }
-                        else
-                        {
-                            ret = XA_RESULT_CONTENT_UNSUPPORTED;
-                            DEBUG_ERR("Content mismatch with given sources!!!")
-                        }
-                        ghostsrc = gst_element_get_static_pad(mux,"src");
-                        break;
-                        case XA_CONTAINERTYPE_UNSPECIFIED:
-                        DEBUG_INFO("No support for requested encoder...try to select encoder from mime string");
-                        if(strstr( (char *) mime->mimeType, "/ogg") != 0)
-                        {
-                            DEBUG_INFO("XA_CONTAINERTYPE_UNSPECIFIED - mimetype ogg detected");
-                            mux = gst_element_factory_make("oggmux", "mux");
-                            if(mux)
-                            {
-                                gst_bin_add(GST_BIN(codecbin), mux);
-                                /*use this as linkpoint*/
-                                ghostsrc = gst_element_get_static_pad(mux,"src");
-                                /*set defaults*/
-                                if(ctx->audioEncSettings.encoderId == XA_ADAPTID_UNINITED)
-                                {
-                                    ctx->audioEncSettings.encoderId = XA_ADAPTID_VORBIS;
-                                    ctx->audioEncSettings.bitsPerSample=32;
-                                }
-                                if(ctx->videoEncSettings.encoderId == XA_ADAPTID_UNINITED)
-                                {
-                                    ctx->videoEncSettings.encoderId = XA_ADAPTID_THEORA;
-                                }
-                                if(ctx->xaAudioSource)
-                                {
-                                    if(XACapabilitiesMgr_GetCapsById(NULL, (XACapsType)(XACAP_ENCODER|XACAP_AUDIO), ctx->audioEncSettings.encoderId, &temp) == XA_RESULT_SUCCESS)
-                                    {
-                                        audioenc = gst_element_factory_make((char*)temp.adaptId, "audioenc");
-                                    }
-                                    if(audioenc)
-                                    {
-                                        gst_bin_add(GST_BIN(codecbin), audioenc);
-                                        if(!gst_element_link(audioenc, mux))
-                                        {
-                                            DEBUG_ERR("Could not link audioenc to mux!!");
-                                            DEBUG_API("<-XAMediaRecorderAdapt_CreateEncodeBin");
-                                            return NULL;
-                                        }
-                                        ghostaudiosink = gst_element_get_static_pad(audioenc,"sink");
-                                    }
-                                }
-                                if(strncmp((char *)mime->mimeType, "video", 5) == 0 && ctx->xaVideoSource)
-                                {
-                                    if(XACapabilitiesMgr_GetCapsById(NULL, (XACapsType)(XACAP_ENCODER|XACAP_VIDEO), ctx->videoEncSettings.encoderId, &temp) == XA_RESULT_SUCCESS)
-                                    {
-                                        videoenc = gst_element_factory_make((char*)temp.adaptId, "videoenc");
-                                    }
-                                    if(videoenc)
-                                    {
-                                        gst_bin_add(GST_BIN(codecbin), videoenc);
-                                        if(!gst_element_link(videoenc, mux))
-                                        {
-                                            DEBUG_ERR("Could not link videoenc to mux!!");
-                                            DEBUG_API("<-XAMediaRecorderAdapt_CreateEncodeBin");
-                                            return NULL;
-                                        }
-                                        ghostvideosink = gst_element_get_static_pad(videoenc,"sink");
-                                    }
-                                }
-                            }
-                        }
-                        else
-                        {
-                            DEBUG_INFO("No support for requested mime/container type.");
-                            ret = XA_RESULT_CONTENT_UNSUPPORTED;
-                        }
-                        break;
-                        case XA_CONTAINERTYPE_MOBILE_DLS:
-                        case XA_CONTAINERTYPE_MP4:
-                        DEBUG_INFO("XA_CONTAINERTYPE_MP4");
-                        mux = gst_element_factory_make("mp4mux", "mp4mux");
-                        if(mux)
-                        {
-                            if (gst_bin_add(GST_BIN(codecbin), mux))
-                            {
-                                DEBUG_INFO("Added mux to codecbin");
-                            }
-                            else
-                            {
-                                DEBUG_ERR("Could not add mux to codecbin");
-                                return NULL;
-                            }
-                            /*use this as linkpoint*/
-                            ghostsrc = gst_element_get_static_pad(mux,"src");
-                        }
-                        /* Add and link audio/video codecs */
-                        /*set video defaults*/
-                        if(ctx->videoEncSettings.encoderId == XA_ADAPTID_UNINITED)
-                            ctx->videoEncSettings.encoderId = XA_ADAPTID_MOTIONJPEG;
-                        if(ctx->xaVideoSource)
-                        {
-                            if(XACapabilitiesMgr_GetCapsById(ctx->baseObj.baseObj.capslist, (XACapsType)(XACAP_ENCODER|XACAP_VIDEO), ctx->videoEncSettings.encoderId, &temp) == XA_RESULT_SUCCESS)
-                            {
-                                if(temp.adaptId)
-                                {
-                                    videoenc = gst_element_factory_make((char*)temp.adaptId, "videoenc");
-                                }
-                            }
-                            if(videoenc)
-                            {
-                                gst_bin_add(GST_BIN(codecbin), videoenc);
-                                if(!gst_element_link(videoenc, mux))
-                                {
-                                    DEBUG_ERR("Could not link videoenc to mux!!");
-                                    DEBUG_API("<-XAMediaRecorderAdapt_CreateEncodeBin");
-                                    return NULL;
-                                }
-                                ghostvideosink = gst_element_get_static_pad(videoenc,"sink");
-                            }
-                            else
-                            {
-                                /*no video codec but video source = raw video case, request video pad directly from mux*/
-                                ghostvideosink = gst_element_get_request_pad(mux,"video_%d");
-                            }
-                        }
-                        /*set audio defaults*/
-                        if(ctx->audioEncSettings.encoderId == XA_ADAPTID_UNINITED)
-                            ctx->audioEncSettings.encoderId = XA_AUDIOCODEC_AAC;
-                        if(ctx->xaAudioSource)
-                        {
-                            if(XACapabilitiesMgr_GetCapsById(ctx->baseObj.baseObj.capslist, (XACapsType)(XACAP_ENCODER|XACAP_AUDIO), ctx->audioEncSettings.encoderId, &temp) == XA_RESULT_SUCCESS)
-                            {
-                                if(temp.adaptId)
-                                {
-                                    audioenc = gst_element_factory_make((char*)temp.adaptId, "audioenc");
-                                }
-                            }
-                            if(audioenc)
-                            {
-//                                GstCaps* caps = gst_caps_new_simple((const char*)mime->mimeType,
-//                                        "mpegversion", G_TYPE_INT, 4,
-//                                        "channels", G_TYPE_INT, 1,
-//                                        "rate", G_TYPE_INT, 16000,
-//                                        NULL);
-                                gst_bin_add(GST_BIN(codecbin), audioenc);
-                                //if(!gst_element_link_filtered(audioenc, mux,caps))
-                                if(!gst_element_link(audioenc, mux))
-                                {
-                                    DEBUG_ERR("Could not link audioenc to mux!!");
-                                    DEBUG_API("<-XAMediaRecorderAdapt_CreateEncodeBin");
-                                    return NULL;
-                                }
-                                ghostaudiosink = gst_element_get_static_pad(audioenc,"sink");
-                            }
-                            else
-                            {
-                                /*no audio codec but audio source = PCM case, explicity request audio pad*/
-                                ghostaudiosink = gst_element_get_request_pad(mux,"audio_%d");
-                            }
-                        }
-                        break;
-                        case XA_CONTAINERTYPE_AMR:
-                            DEBUG_INFO("XA_CONTAINERTYPE_AMR");
-                            if(ctx->audioEncSettings.encoderId == XA_ADAPTID_UNINITED)
-                                ctx->audioEncSettings.encoderId = XA_AUDIOCODEC_AMR;
-                             mux = gst_element_factory_make("amrmux", "mux");
-                             if(mux)
-                             {
-                                 if (gst_bin_add(GST_BIN(codecbin), mux))
-                                 {
-                                     DEBUG_INFO("Added mux to codecbin");
-                                     /*Setting the buffer size on src since amr generates
-                                      * small amounts of data */
-                                     g_object_set (G_OBJECT (ctx->audiosource),
-                                               "blocksize", 1280,
-                                                NULL);
-                                 }
-                                 else
-                                 {
-                                     DEBUG_ERR("Could not add mux to codecbin");
-                                     return NULL;
-                                 }
-                                 /*use this as linkpoint*/
-                                 ghostsrc = gst_element_get_static_pad(mux,"src");
-                             }
-                             /*set audio defaults*/
-                             if(ctx->xaAudioSource)
-                             {
-                                 /*no audio codec but audio source = PCM case, explicity request audio pad*/
-                                 ghostaudiosink = gst_element_get_static_pad(mux,"sink");
-                             }
-                             break;
-                        case XA_CONTAINERTYPE_3GPP:
-                        case XA_CONTAINERTYPE_BMP:
-                        case XA_CONTAINERTYPE_ASF:
-                        case XA_CONTAINERTYPE_M4A:
-                        case XA_CONTAINERTYPE_MP3:
-                        case XA_CONTAINERTYPE_JPG2000:
-                        case XA_CONTAINERTYPE_MPEG_ES:
-                        case XA_CONTAINERTYPE_MPEG_PS:
-                        case XA_CONTAINERTYPE_MPEG_TS:
-                        case XA_CONTAINERTYPE_QT:
-                        case XA_CONTAINERTYPE_XMF_0:
-                        case XA_CONTAINERTYPE_XMF_1:
-                        case XA_CONTAINERTYPE_XMF_2:
-                        case XA_CONTAINERTYPE_XMF_3:
-                        case XA_CONTAINERTYPE_XMF_GENERIC:
-                        case XA_CONTAINERTYPE_AAC:
-                        case XA_CONTAINERTYPE_3GA:
-                        case XA_CONTAINERTYPE_RM:
-                        case XA_CONTAINERTYPE_DMF:
-                        default:
-                        DEBUG_INFO("No support for requested container type.");
-                        ret = XA_RESULT_CONTENT_UNSUPPORTED;
-                        break;
-                    }
-                    break;
-                }
-                default:
-                DEBUG_ERR("Incorrect data format type.");
-                ret = XA_RESULT_PARAMETER_INVALID;
-                break;
-            }
-        }
-        else
-        {
-            DEBUG_ERR("Invalid data sink for stream recording!!");
-            ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    }
-    else
-    {/* stream recording not requested, datasink ignored, use uncoded recordstream*/
-        mux = gst_element_factory_make("identity", "mux");
-        gst_bin_add(GST_BIN(codecbin), mux);
-        ghostsrc = gst_element_get_static_pad(mux,"src");
-        ghostvideosink = gst_element_get_static_pad(mux,"sink");
-    }
-
-    /*set default codecs for unrecognized*/
-    if(ctx->audioEncSettings.encoderId == XA_ADAPTID_UNINITED)
-    ctx->audioEncSettings.encoderId = XA_AUDIOCODEC_PCM;
-    if(ctx->imageEncSettings.encoderId == XA_ADAPTID_UNINITED)
-    ctx->imageEncSettings.encoderId = XA_IMAGECODEC_RAW;
-    if(ctx->videoEncSettings.encoderId == XA_ADAPTID_UNINITED)
-    ctx->videoEncSettings.encoderId = XA_ADAPTID_RAWVIDEO;
-
-    if ( ret != XA_RESULT_SUCCESS )
-    {
-        gst_object_unref(codecbin);
-        codecbin=NULL;
-    }
-    else
-    {
-        /*add ghost pad(s) to link to*/
-        if(ghostsrc)
-        {
-            gst_element_add_pad(codecbin, gst_ghost_pad_new("src",ghostsrc));
-            gst_object_unref(GST_OBJECT(ghostsrc));
-        }
-        if(ghostaudiosink)
-        {
-            gst_element_add_pad(codecbin, gst_ghost_pad_new("sink",ghostaudiosink));
-            gst_object_unref(GST_OBJECT(ghostaudiosink));
-        }
-        if(ghostvideosink)
-        {
-            gst_element_add_pad(codecbin, gst_ghost_pad_new("v_sink",ghostvideosink));
-            gst_object_unref(GST_OBJECT(ghostvideosink));
-        }
-        DEBUG_INFO_A1("Created encoder bin at %x", (int)codecbin);
-    }
-
-    DEBUG_API("<-XAMediaRecorderAdapt_CreateEncodeBin");
-    return codecbin;
-
-}
-
-/*
- * void XAMediaRecorderAdapt_BufferAvailable(GstElement* sink, gpointer user_data)
- * called when new buffer is available at appsink
- */
-void XAMediaRecorderAdapt_BufferAvailable(GstElement* sink, gpointer user_data)
-{
-    GstBuffer *buffer=NULL;
-    XAMediaRecorderAdaptationCtx* mCtx = (XAMediaRecorderAdaptationCtx*)user_data;
-    DEBUG_API("->XAMediaRecorderAdapt_BufferAvailable");
-    if(!mCtx || !mCtx->xaSink)
-    {
-        DEBUG_ERR("Invalid context")
-        return;
-    }
-    /* get the buffer */
-    buffer = gst_app_sink_pull_buffer(GST_APP_SINK(sink));
-    if(buffer)
-    {
-        guint size;
-        XADataLocator_Address* address;
-        size = GST_BUFFER_SIZE(buffer);
-        DEBUG_INFO_A1("Pulled new buffer of size %d", size);
-        address = (XADataLocator_Address*)(mCtx->xaSink->pLocator);
-        if( !address || *(XAuint32*)address != XA_DATALOCATOR_ADDRESS )
-        {
-            DEBUG_ERR("Invalid address datalocator")
-            return;
-        }
-
-        if(mCtx->writepos + size < address->length )
-        { /*enough room in buffer*/
-            memcpy(((char*)(address->pAddress) + mCtx->writepos),
-                    GST_BUFFER_DATA (buffer), size);
-            mCtx->writepos+=size;
-        }
-        else
-        { /*not enough room in buffer*/
-            XAAdaptEvent event =
-                {XA_RECORDITFEVENTS, XA_RECORDEVENT_BUFFER_FULL, 0, NULL};
-
-            size = address->length - mCtx->writepos;
-            memcpy(((char*)(address->pAddress) + mCtx->writepos),
-                    GST_BUFFER_DATA (buffer), size);
-            DEBUG_INFO_A1("Buffer insufficient, wrote %d bytes", size);
-            /* send event */
-            XAAdaptationBase_SendAdaptEvents(&(mCtx->baseObj.baseObj), &event);
-            /* "recordhead to start" i.e. reset write position */
-            mCtx->writepos=0;
-            mCtx->recThrCtx.buffer_insufficient = XA_BOOLEAN_TRUE;
-            if ( XAImpl_PostSemaphore( mCtx->recThrCtx.bufInsufficientSem ) != XA_RESULT_SUCCESS)
-            {
-                DEBUG_ERR("Posting buffer-insufficien semaphore FAILED!");
-            }
-        }
-        gst_buffer_unref (buffer);
-    }
-    else
-    {
-        DEBUG_ERR("Could not pull buffer from appsink!");
-    }
-    DEBUG_API("<-XAMediaRecorderAdapt_BufferAvailable");
-}
-
-/*
- * void* XAMediaRecorderAdapt_RecordEventThr( void* ctx )
- */
-void* XAMediaRecorderAdapt_RecordEventThr( void* ctx )
-{
-    XAMediaRecorderAdaptationCtx* mrCtx = (XAMediaRecorderAdaptationCtx*)ctx;
-    GstStateChangeReturn gret;
-    XAresult ret;
-    DEBUG_API("->XAMediaRecorderAdapt_RecordEventThr");
-
-    /* Wait semaphore here */
-    ret = XAImpl_WaitSemaphore( mrCtx->recThrCtx.bufInsufficientSem );
-    if ( ret != XA_RESULT_SUCCESS)
-    {
-        DEBUG_ERR("Could not start semaphore");
-    }
-
-    if(mrCtx->recThrCtx.buffer_insufficient)
-    {
-        mrCtx->baseObj.binWantedState = GST_STATE_PAUSED;
-        XAAdaptationGst_PrepareAsyncWait(&(mrCtx->baseObj));
-        gret = gst_element_set_state( GST_ELEMENT(mrCtx->baseObj.bin), mrCtx->baseObj.binWantedState);
-        if( gret == GST_STATE_CHANGE_ASYNC )
-        {
-            DEBUG_INFO("Start to wait recoder state change.");
-            XAAdaptationGst_StartAsyncWait(&(mrCtx->baseObj));
-            DEBUG_INFO("Recorder state change async. SUCCESFULL.");
-        }
-        else if( gret == GST_STATE_CHANGE_FAILURE )
-        {
-            DEBUG_INFO("Recorder state change FAILED");
-            /*ret = XA_RESULT_INTERNAL_ERROR;*/
-        }
-        else
-        {
-            DEBUG_INFO("Recorder state change SUCCESFULL")
-        }
-
-        mrCtx->baseObj.waitingasyncop= XA_BOOLEAN_FALSE;
-    }
-    DEBUG_API("<-XAMediaRecorderAdapt_RecordEventThr");
-    return NULL;
-}
-
-/*XAresult XAMediaRecorderAdapt_CreateCapsFilter( XAMediaRecorderAdaptationCtx* ctx )
-{
-
-    GstCaps* encSrcCaps = NULL;
-    XADataFormat_MIME *pMime = 0;
-
-    if (!ctx )
-        return XA_RESULT_PARAMETER_INVALID;
-
-    DEBUG_INFO("create capsfilter");
-    ctx->audiofilter = gst_element_factory_make("capsfilter", "audiofilter");
-    if( !ctx->audiofilter )
-    {
-        return XA_RESULT_INTERNAL_ERROR;
-    }
-    //   GstCaps* encSrcCaps; TL
-    if (gst_bin_add(GST_BIN(ctx->baseObj.bin), ctx->audiofilter))
-    {
-        DEBUG_INFO("Added audiofilter to bin");
-    }
-    else
-    {
-        DEBUG_ERR("Could not add audio filter to bin");
-        return XA_RESULT_INTERNAL_ERROR;
-    }
-
-    pMime = (XADataFormat_MIME*) ctx->xaSink->pFormat;
-    if(!strcmp((const char*)pMime->mimeType, "audio/amr"))
-    {
-        encSrcCaps = gst_caps_new_simple ("audio/amr",
-                   "width", G_TYPE_INT, ctx->audioEncSettings.bitsPerSample,
-                   "depth", G_TYPE_INT, ctx->audioEncSettings.bitsPerSample,
-                   "signed",G_TYPE_BOOLEAN, TRUE,
-                   "endianness",G_TYPE_INT, G_BYTE_ORDER,
-                   "rate", G_TYPE_INT,  ctx->audioEncSettings.sampleRate,
-                   "channels", G_TYPE_INT, ctx->audioEncSettings.channelsOut, NULL);
-    }
-    else
-    {
-        encSrcCaps = gst_caps_new_full(
-                gst_structure_new("audio/x-raw-int",
-                  "channels", G_TYPE_INT, ctx->audioEncSettings.channelsOut,
-                  "width", G_TYPE_INT, ctx->audioEncSettings.bitsPerSample,
-                  "width", G_TYPE_INT, ctx->audioEncSettings.bitsPerSample,
-                  "rate", G_TYPE_INT, ctx->audioEncSettings.sampleRate,
-                  "bitrate", G_TYPE_INT, ctx->audioEncSettings.bitRate,
-                  "signed",G_TYPE_BOOLEAN, TRUE,
-                  "endianness",G_TYPE_INT, G_BYTE_ORDER,
-                  NULL),
-                gst_structure_new("audio/x-raw-float",
-                    "channels", G_TYPE_INT, ctx->audioEncSettings.channelsOut,
-                    "width", G_TYPE_INT, ctx->audioEncSettings.bitsPerSample,
-                    "rate", G_TYPE_INT, ctx->audioEncSettings.sampleRate,
-                    "bitrate", G_TYPE_INT, ctx->audioEncSettings.bitRate,
-                    "signed",G_TYPE_BOOLEAN, TRUE,
-                    "endianness",G_TYPE_INT, G_BYTE_ORDER,
-                    NULL),
-                NULL);
-
-    }
-
-
-    DEBUG_INFO_A1("audio encoder config from settings: %s",gst_caps_to_string(encSrcCaps));
-    g_object_set( G_OBJECT(ctx->audiofilter), "caps",encSrcCaps,NULL);
-
-    gst_caps_unref(encSrcCaps);
-    return XA_RESULT_SUCCESS;
-}*/
-
--- a/khronosfws/openmax_al/src/gst_adaptation/xamediarecorderadaptctx.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Media Recoder Adaptation for GST Header
- *
- */
-
-#ifndef XAMEDIARECORDERADAPTCTX_H_
-#define XAMEDIARECORDERADAPTCTX_H_
-
-#include "xaadaptationgst.h"
-#include "xametadataadaptation.h"
-
-/* TYPEDEFS */
-
-typedef struct XASnapshotItfVars_
-    {
-
-    /*User variables*/
-    XAuint32 numpics;
-    XAuint32 fps;
-    XAboolean freeze;
-    gchar* fnametemplate;
-    XADataSink* xaSink;
-
-    /* internal variables */
-    gboolean waitforbuffer;
-    gboolean parsenegotiated;
-    XAuint32 numpicstaken;
-
-    GstBus* ssbus;
-    GstElement* sspipeline;
-    GstElement* ssbuffersrc;
-    GstElement* ssparser;
-    GstElement* ssscaler;
-    GstElement* ssfilter;
-    GstElement* ssencoder;
-    GstElement* sstagger;
-    GstElement* sssink;
-    gulong sighandler;
-
-    GstBuffer* snapshotbuffer;
-
-    } XASnapshotItfVars;
-
-/* context to track buffer insufficient event */
-typedef struct recordItfCtx_
-    {
-    XAImplSemHandle bufInsufficientSem;
-    XAboolean buffer_insufficient;
-    } recodtItfCtx;
-
-typedef struct XAMediaRecorderAdaptationCtx_ XAMediaRecorderAdaptationCtx;
-
-typedef struct XAMediaRecorderAdaptationCtx_
-    {
-    /* Parent*/
-    XAAdaptationGstCtx_ baseObj;
-
-    /* OMX-AL Variables */
-    XADataSource *xaAudioSource, *xaVideoSource;
-    XADataSink *xaSink;
-    XAuint8 recModes;
-
-    /* GST elements */
-    GstElement *datasink;
-    XAboolean isobjsink; /*is sink another XA object?*/
-    GstElement *codecbin;
-    GstElement *audioppbin;
-    GstElement *audiofilter;
-    GstElement *videoppbin;
-    GstElement *videofilter;
-    GstElement *videoextract;
-    GstElement *audiosource;
-    GstElement *audioqueue;
-    XAboolean isobjasrc; /*is audio source another XA object?*/
-    GstElement *videosource;
-    GstState vsrcOrigState;
-    GstElement *videoqueue;
-    XAboolean isobjvsrc; /*is video source another XA object?*/
-    XAboolean encodingchanged;
-
-    XAboolean mute;
-    XAuint32 imageEffectID;
-    XAboolean isStereoPosition;
-    XAuint32 xaRecordState;
-    XAmillidegree curRotation;
-    XAuint32 curMirror;
-    XAboolean isRecord;
-
-    /* internals */
-    XAboolean trackpositionenabled;
-    gboolean runpositiontimer;
-    GSourceFunc positionCb;
-
-    XAImplThreadHandle recordingEventThr;
-    recodtItfCtx recThrCtx;
-
-    /* Variables for snapshot */
-    XASnapshotItfVars snapshotVars;
-
-    XAMetadataAdaptVars *metadatavars;
-
-    /* Variables for encoders */
-    XAAudioEncoderSettings audioEncSettings;
-    XAVideoSettings videoEncSettings;
-    XAImageSettings imageEncSettings;
-
-    /*buffersink variable*/
-    guint64 writepos;
-
-    } XAMediaRecorderAdaptationCtx_;
-
-/* FUNCTIONS */
-XAAdaptationBaseCtx* XAMediaRecorderAdapt_Create(XADataSource* pAudioSrc,
-        XADataSource* pImageVideoSrc, XADataSink* pDataSnk, XAuint8 recModes);
-XAresult XAMediaRecorderAdapt_PostInit(XAAdaptationGstCtx* bCtx);
-void XAMediaRecorderAdapt_Destroy(XAAdaptationGstCtx* bCtx);
-/*XAresult XAMediaRecorderAdapt_InitContentPipeSink(XAMediaRecorderAdaptationCtx* ctx);*/
-XAresult XAMediaRecorderAdapt_ChangeEncoders(
-        XAMediaRecorderAdaptationCtx_* mCtx);
-XAresult XAMediaRecorderAdapt_CheckCodec(XAMediaRecorderAdaptationCtx_* mCtx,
-        XACapsType encType, XAuint32 encoderId);
-
-void* XAMediaRecorderAdapt_RecordEventThr(void* ctx);
-
-#endif /* XAMEDIARECORDERADAPTCTX_H_ */
--- a/khronosfws/openmax_al/src/gst_adaptation/xametadataadaptation.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1095 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-*
-*/
-
-#include <string.h>
-#include <gst/gst.h>
-#include "xaadaptationgst.h"
-
-#include "xamediarecorderadaptctx.h"
-#include "xametadataadaptation.h"
-
-/* forward declarations of internal methods */
-XAMetadataAdaptVars* XAMetadataAdapt_GetMetadataVars(XAAdaptationGstCtx *bCtx);
-GstStructure* XAMetadataAdapt_GetChildStructure(XAMetadataAdaptVars* mdv, XAuint32 index);
-gboolean XAMetadataAdapt_CountTags(GQuark gkey, const GValue *gvalue, gpointer counter);
-void XAMetadataAdapt_ParseTag(const GstTagList* list, const gchar* tag, gpointer listptr);
-gboolean XAMetadataAdapt_ParseItem(GQuark field_id, const GValue * value, gpointer listptr);
-gboolean XAMetadataAdapt_GstTagCb( GstBus *bus, GstMessage *message, gpointer data );
-
-/*NOTE: no way to query these dynamically?*/
-/*supported keys for metadata insertion*/
-static char* xaMetadataAdaptSupportedKeys[] = {
-    KHRONOS_TITLE,
-    KHRONOS_ALBUM,
-    KHRONOS_TRACK_NUMBER,
-    KHRONOS_ARTIST,
-    KHRONOS_GENRE,
-    KHRONOS_COMMENT,
-    KHRONOS_COPYRIGHT,
-    GST_TAG_TITLE,
-    GST_TAG_TITLE_SORTNAME,
-    GST_TAG_ARTIST,
-    GST_TAG_ARTIST_SORTNAME,
-    GST_TAG_ALBUM,
-    GST_TAG_ALBUM_SORTNAME,
-    GST_TAG_COMPOSER,
-    GST_TAG_DATE,
-    GST_TAG_GENRE,
-    GST_TAG_COMMENT,
-    GST_TAG_EXTENDED_COMMENT,
-    GST_TAG_TRACK_NUMBER,
-    GST_TAG_TRACK_COUNT,
-    GST_TAG_ALBUM_VOLUME_NUMBER,
-    GST_TAG_ALBUM_VOLUME_COUNT,
-    GST_TAG_LOCATION,
-    GST_TAG_DESCRIPTION,
-    GST_TAG_VERSION,
-    GST_TAG_ISRC,
-    GST_TAG_ORGANIZATION,
-    GST_TAG_COPYRIGHT,
-    GST_TAG_COPYRIGHT_URI,
-    GST_TAG_CONTACT,
-    GST_TAG_LICENSE,
-    GST_TAG_LICENSE_URI,
-    GST_TAG_PERFORMER,
-    NULL
-};
-
-/******************************************************************************
- * COMMONS
- ******************************************************************************/
-
-
-/* const char* XAMetadataAdapt_ParseKhronosKey(const char* pKKey)
- * Translates Khronos key string to adaptation-specific key string
- * @return Translated key string
- */
-const XAchar* XAMetadataAdapt_ParseKhronosKey(const XAchar* pKKey)
-{
-    const XAchar* newKey;
-    DEBUG_API_A1("->XAMetadataAdapt_ParseKhronosKey: \"%s\"", (char*)pKKey);
-    if( strcmp((char*)pKKey,KHRONOS_TITLE) ==0 ) newKey = (XAchar*)GST_TAG_TITLE;
-    else if( strcmp((char*)pKKey,KHRONOS_ALBUM) ==0 ) newKey = (XAchar*)GST_TAG_ALBUM;
-    else if( strcmp((char*)pKKey,KHRONOS_TRACK_NUMBER) ==0 ) newKey = (XAchar*)GST_TAG_TRACK_NUMBER;
-    else if( strcmp((char*)pKKey,KHRONOS_ARTIST) ==0 ) newKey = (XAchar*)GST_TAG_ARTIST;
-    else if( strcmp((char*)pKKey,KHRONOS_GENRE) ==0 ) newKey = (XAchar*)GST_TAG_GENRE;
-    else if( strcmp((char*)pKKey,KHRONOS_COMMENT) ==0 ) newKey = (XAchar*)GST_TAG_COMMENT;
-    else if( strcmp((char*)pKKey,KHRONOS_COPYRIGHT) ==0 ) newKey = (XAchar*)GST_TAG_COPYRIGHT;
-    else newKey = pKKey;
-/* No Gst keys for following:
-    else if( strcmp(pKKey,KHRONOS_YEAR) ==0 ) newKey = ;
-    else if( strcmp(pKKey,KHRONOS_ARTIST_URL) ==0 ) newKey = ;
-    else if( strcmp(pKKey,KHRONOS_CONTENT_URL) ==0 ) newKey = ;
-    else if( strcmp(pKKey,KHRONOS_RATING) ==0 ) newKey = ;
-    else if( strcmp(pKKey,KHRONOS_ALBUM_ART) ==0 ) newKey = ;
- */
-    DEBUG_API_A1("<-XAMetadataAdapt_ParseKhronosKey: => \"%s\"", (char*)newKey);
-    return newKey;
-}
-
-/* XAresult XAMetadataAdapt_PreInit(XAAdaptationGstCtx *bCtx)
- * Initialize values needed before preroll
- * @return XAresult ret - Success value
- */
-XAresult XAMetadataAdapt_PreInit(XAAdaptationGstCtx *bCtx)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMetadataAdaptVars* mdv;
-    DEBUG_API("->XAMetadataAdapt_PreInit");
-
-    if ( bCtx->baseObj.ctxId == XAMediaRecorderAdaptation )
-    {
-        mdv = (XAMetadataAdaptVars*) calloc(1, sizeof(XAMetadataAdaptVars));
-        mdv->currentchild = &(mdv->generaltags);
-        mdv->traversemode=XA_METADATATRAVERSALMODE_NODE;
-        ((XAMediaRecorderAdaptationCtx*)bCtx)->metadatavars = mdv;
-    }
-    else
-    {
-        DEBUG_ERR("Unsupported metadata context!!");
-        ret = XA_RESULT_FEATURE_UNSUPPORTED;
-    }
-
-    if(ret == XA_RESULT_SUCCESS)
-    {
-        if(bCtx->bus)
-        {
-            g_signal_connect(bCtx->bus, "message::tag", G_CALLBACK(XAMetadataAdapt_GstTagCb), bCtx );
-        }
-        else
-        {
-            DEBUG_ERR("No bus in context!!");
-            ret = XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-    }
-    DEBUG_API_A1("<-XAMetadataAdapt_PreInit (%d)", (int)ret);
-    return ret;
-}
-/* XAresult XAMetadataAdapt_PostInit(XAAdaptationGstCtx *bCtx)
- * Initialize values after preroll
- * @return XAresult ret - Success value
- */
-XAresult XAMetadataAdapt_PostInit(XAAdaptationGstCtx *bCtx)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMetadataAdapt_PostInit");
-    DEBUG_API_A1("<-XAMetadataAdapt_PostInit (%d)", (int)ret);
-    return ret;
-}
-
-/*
- * void XAMetadataAdapt_FreeImplTagList(XAMetadataImplTagList *list, XAboolean freeItems)
- * deallocate elements inside taglist
- */
-void XAMetadataAdapt_FreeImplTagList(XAMetadataImplTagList *list, XAboolean freeItems)
-{
-    XAuint16 i;
-    DEBUG_API("->XAMetadataExtractionItfAdapt_FreeTagList");
-    if(list->mdeKeys)
-    {
-        for(i=0;i<list->itemcount;i++)
-        {
-            if(list->mdeKeys[i])
-            {
-                if(freeItems)
-                    free(list->mdeKeys[i]);
-                list->mdeKeys[i]=NULL;
-            }
-        }
-        free(list->mdeKeys);
-        list->mdeKeys = NULL;
-    }
-    if(list->mdeValues)
-    {
-        for(i=0;i<list->itemcount;i++)
-        {
-            if(list->mdeValues[i])
-            {
-                if(freeItems)
-                    free(list->mdeValues[i]);
-                list->mdeValues[i]=NULL;
-            }
-        }
-        free(list->mdeValues);
-        list->mdeValues = NULL;
-    }
-    list->itemcount = 0;
-    DEBUG_API("<-XAMetadataExtractionItfAdapt_FreeTagList");
-}
-
-/*
- * void XAMetadataAdapt_FreeVars(XAMetadataAdaptVars *vars)
- * deallocate XAMetadataAdaptVars
- */
-void XAMetadataAdapt_FreeVars(XAMetadataAdaptVars *vars)
-{
-    DEBUG_API("->XAMetadataAdapt_FreeVars");
-    if(vars)
-    {
-        if( vars->generaltags )
-        {
-            gst_tag_list_free(vars->generaltags);
-        }
-        if( vars->audiotags )
-        {
-            gst_structure_set_parent_refcount(vars->audiotags,NULL);
-            gst_structure_free(vars->audiotags);
-        }
-        if( vars->videotags )
-        {
-            gst_structure_set_parent_refcount(vars->videotags,NULL);
-            gst_structure_free(vars->videotags);
-        }
-        free(vars);
-    }
-    DEBUG_API("<-XAMetadataAdapt_FreeVars");
-}
-
-/******************************************************************************
- * EXTRACTION
- ******************************************************************************/
-
-/*
- * XAresult XAMetadataExtractionItfAdapt_FillTagList()
- * @param tagList - contains pointer to tag list to be updated
- * @return XAresult ret - Success value
- */
-XAresult XAMetadataExtractionItfAdapt_FillTagList(XAAdaptationGstCtx *bCtx,
-                                                  XAMetadataImplTagList* tagList)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMetadataAdaptVars* mdv;
-    XAuint32 newcount = 0;
-    DEBUG_API("->XAMetadataExtractionItfAdapt_FillTagList");
-
-    mdv = XAMetadataAdapt_GetMetadataVars(bCtx);
-    if( mdv )
-    {
-        XAMetadataAdapt_FreeImplTagList(tagList, XA_BOOLEAN_TRUE);
-        /* get number of tags and allocate memory for them */
-        if(mdv->traversemode==XA_METADATATRAVERSALMODE_ALL)
-        {
-            if(mdv->generaltags)
-                gst_structure_foreach(mdv->generaltags, XAMetadataAdapt_CountTags, &newcount);
-            if(mdv->audiotags)
-                gst_structure_foreach(mdv->audiotags, XAMetadataAdapt_CountTags, &newcount);
-            if(mdv->videotags)
-                gst_structure_foreach(mdv->videotags, XAMetadataAdapt_CountTags, &newcount);
-        }
-        else
-        {
-            if(mdv->currentchild && *(mdv->currentchild))
-                gst_structure_foreach(*(mdv->currentchild), XAMetadataAdapt_CountTags, &newcount);
-        }
-        DEBUG_INFO_A1("tag count = %d",(int)newcount)
-        tagList->mdeKeys = (XAMetadataInfo**)calloc(newcount,sizeof(XAMetadataInfo*));
-        tagList->mdeValues = (XAMetadataInfo**)calloc(newcount,sizeof(XAMetadataInfo*));
-
-        /* fill in given tag list */
-        tagList->itemcount = 0;
-        if(mdv->traversemode==XA_METADATATRAVERSALMODE_ALL)
-        {
-            if(mdv->generaltags)
-                gst_tag_list_foreach(mdv->generaltags, XAMetadataAdapt_ParseTag, tagList);
-            if(mdv->audiotags)
-                gst_structure_foreach(mdv->audiotags, XAMetadataAdapt_ParseItem, tagList);
-            if(mdv->videotags)
-                gst_structure_foreach(mdv->videotags, XAMetadataAdapt_ParseItem, tagList);
-        }
-        else
-        {
-            if(mdv->currentchild && *(mdv->currentchild))
-            {
-                if(GST_IS_TAG_LIST(*(mdv->currentchild)))
-                {
-                    gst_tag_list_foreach(*(mdv->currentchild), XAMetadataAdapt_ParseTag, tagList);
-                }
-                else
-                {
-                    gst_structure_foreach(*(mdv->currentchild), XAMetadataAdapt_ParseItem, tagList);
-                }
-            }
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Metadata variables not found!!");
-        ret = XA_RESULT_PARAMETER_INVALID;
-    }
-
-    DEBUG_API_A1("<-XAMetadataExtractionItfAdapt_FillTagList (%d)", (int)ret);
-    return ret;
-}
-
-/******************************************************************************
- * TRAVERSAL
- *****************************************************************************/
-
-/*
- * XAresult XAMetadataTraversalItfAdapt_SetMode(XAAdaptationGstCtx *bCtx, XAuint32 mode)
- */
-XAresult XAMetadataTraversalItfAdapt_SetMode(XAAdaptationGstCtx *bCtx, XAuint32 mode)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMetadataAdaptVars* mdv=NULL;
-    XAAdaptEvent event = {XA_METADATAEVENTS, XA_ADAPT_MDE_TAGS_AVAILABLE, 0, NULL };
-
-    DEBUG_API("->XAMetadataTraversalItfAdapt_SetMode");
-    mdv = XAMetadataAdapt_GetMetadataVars(bCtx);
-    if( mdv )
-    {
-        mdv->traversemode = mode;
-        /* inform extractor to update tag list */
-        XAAdaptationBase_SendAdaptEvents(&bCtx->baseObj, &event );
-        if(mdv->traversemode==XA_METADATATRAVERSALMODE_ALL)
-        {
-            mdv->nodedepth = 0;
-            mdv->currentchild = &(mdv->generaltags);
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Metadata variables not found!!");
-        ret = XA_RESULT_PARAMETER_INVALID;
-    }
-
-    DEBUG_API("<-XAMetadataTraversalItfAdapt_SetMode");
-    return ret;
-}
-
-/*
- * XAresult XAMetadataTraversalItfAdapt_GetChildCount(XAAdaptationGstCtx *bCtx, XAuint32 *pCount)
- */
-XAresult XAMetadataTraversalItfAdapt_GetChildCount(XAAdaptationGstCtx *bCtx, XAuint32 *pCount)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMetadataAdaptVars* mdv=NULL;
-
-    DEBUG_API("->XAMetadataTraversalItfAdapt_GetChildCount");
-    mdv = XAMetadataAdapt_GetMetadataVars(bCtx);
-    if( mdv )
-    {
-        /* only depth of 1 is supported */
-        if( mdv->nodedepth == 0 )
-        {
-            *pCount=mdv->childcount;
-        }
-        else
-        {
-            *pCount=0;
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Metadata variables not found!!");
-        ret = XA_RESULT_PARAMETER_INVALID;
-        *pCount=0;
-    }
-    DEBUG_API_A2("<-XAMetadataTraversalItfAdapt_GetChildCount(%d) count=%d", (int)ret, (int)*pCount);
-    return ret;
-}
-
-/*
- * XAresult XAMetadataTraversalItfAdapt_GetChildMIMETypeSize(XAAdaptationGstCtx *bCtx,
- *                                                         XAuint32 index,
- *                                                         XAuint32 *pSize)
- */
-XAresult XAMetadataTraversalItfAdapt_GetChildMIMETypeSize(XAAdaptationGstCtx *bCtx,
-                                                          XAuint32 index,
-                                                          XAuint32 *pSize)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMetadataAdaptVars* mdv=NULL;
-
-    DEBUG_API("->XAMetadataTraversalItfAdapt_GetChildMIMETypeSize");
-    mdv = XAMetadataAdapt_GetMetadataVars(bCtx);
-    if( mdv )
-    {
-        GstStructure* child = XAMetadataAdapt_GetChildStructure(mdv,index);
-        if(child)
-        {
-            *pSize = strlen(gst_structure_get_name(child));
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Metadata variables not found!!");
-        ret = XA_RESULT_PARAMETER_INVALID;
-        *pSize=0;
-    }
-    DEBUG_API("<-XAMetadataTraversalItfAdapt_GetChildMIMETypeSize");
-    return ret;
-}
-
-/*
- * XAresult XAMetadataTraversalItfAdapt_GetChildInfo(XAAdaptationGstCtx *bCtx,
- *                                                  XAuint32 index,
- *                                                 XAint32 *pNodeID,
- *                                                 XAuint32 *pType,
- *                                                 XAuint32 size,
- *                                                 XAchar *pMimeType)
- */
-XAresult XAMetadataTraversalItfAdapt_GetChildInfo(XAAdaptationGstCtx *bCtx,
-                                                  XAuint32 index,
-                                                  XAint32 *pNodeID,
-                                                  XAuint32 *pType,
-                                                  XAuint32 size,
-                                                  XAchar *pMimeType)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMetadataAdaptVars* mdv=NULL;
-    const gchar* mime;
-    GstStructure* child;
-
-    DEBUG_API("->XAMetadataTraversalItfAdapt_GetChildInfo");
-    mdv = XAMetadataAdapt_GetMetadataVars(bCtx);
-    if( mdv )
-    {
-        child = XAMetadataAdapt_GetChildStructure(mdv,index);
-        if(child)
-        {
-            *pNodeID = (XAint32)child;
-            mime = gst_structure_get_name(child);
-            if(strncmp(mime,"audio",5)==0)
-            {
-                *pType = XA_NODETYPE_AUDIO;
-            }
-            if(strncmp(mime,"video",5)==0)
-            {
-                *pType = XA_NODETYPE_VIDEO;
-            }
-            if(strncmp(mime,"image",5)==0)
-            {
-                *pType = XA_NODETYPE_IMAGE;
-            }
-            else
-            {
-                *pType = XA_NODETYPE_UNSPECIFIED;
-            }
-            strncpy((char*)pMimeType,mime,size);
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Metadata variables not found!!");
-        ret = XA_RESULT_PARAMETER_INVALID;
-    }
-    DEBUG_API("<-XAMetadataTraversalItfAdapt_GetChildInfo");
-    return ret;
-}
-
-/*
- * XAresult XAMetadataTraversalItfAdapt_SetActiveNode(XAAdaptationGstCtx *bCtx,
- *                                                  XAuint32 index)
- */
-XAresult XAMetadataTraversalItfAdapt_SetActiveNode(XAAdaptationGstCtx *bCtx,
-                                                   XAuint32 index)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMetadataAdaptVars* mdv=NULL;
-    GstStructure* child;
-
-    DEBUG_API("->XAMetadataTraversalItfAdapt_SetActiveNode");
-    mdv = XAMetadataAdapt_GetMetadataVars(bCtx);
-    if( mdv )
-    {
-        child = XAMetadataAdapt_GetChildStructure(mdv,index);
-        if(child)
-        {
-            mdv->currentchild = &child;
-            if(index==XA_NODE_PARENT) mdv->nodedepth--;
-            else mdv->nodedepth++;
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Metadata variables not found!!");
-        ret = XA_RESULT_PARAMETER_INVALID;
-    }
-    DEBUG_API("<-XAMetadataTraversalItfAdapt_SetActiveNode");
-    return ret;
-}
-
-/*****************************************************************************
- * INSERTION
- *****************************************************************************/
-
-/*
- * XAresult XAMetadataInsertionItfAdapt_CreateChildNode(XAAdaptationGstCtx *bCtx,
- *                                                   XAint32 parentNodeID,
- *                                                   XAuint32 type,
- *                                                   XAchar *mimeType,
- *                                                   XAint32 *pChildNodeID)
- */
-XAresult XAMetadataInsertionItfAdapt_CreateChildNode(XAAdaptationGstCtx *bCtx,
-                                                    XAint32 parentNodeID,
-                                                    XAuint32 type,
-                                                    XAchar *mimeType,
-                                                    XAint32 *pChildNodeID)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMetadataAdaptVars* mdv=NULL;
-    XAMediaRecorderAdaptationCtx* mCtx;
-
-    DEBUG_API("->XAMetadataInsertionItfAdapt_CreateChildNode");
-    if(bCtx && bCtx->baseObj.ctxId == XAMediaRecorderAdaptation)
-    {
-        /* no support for more than 1 levels of childs*/
-        if(parentNodeID==XA_ROOT_NODE_ID)
-        {
-            XAMediaType mediaType;
-            mCtx = (XAMediaRecorderAdaptationCtx*)bCtx;
-
-            /* first check sink type */
-            XACommon_CheckDataSource((XADataSource*)(mCtx->xaSink),&mediaType);
-            if( ((mediaType==XA_MEDIATYPE_AUDIO||mediaType==XA_MEDIATYPE_VIDEO) && type==XA_NODETYPE_IMAGE) ||
-                (mediaType==XA_MEDIATYPE_IMAGE && (type==XA_NODETYPE_AUDIO || type==XA_NODETYPE_VIDEO)) )
-            {
-                DEBUG_ERR("Nodetype not supported!");
-                ret = XA_RESULT_CONTENT_UNSUPPORTED;
-                DEBUG_API_A1("<-XAMetadataInsertionItfAdapt_CreateChildNode (%d)", (int)ret);
-                return ret;
-            }
-
-            mdv = mCtx->metadatavars;
-            if(!mdv)
-            {
-                DEBUG_ERR("Metadata variables not initialized!");
-                ret = XA_RESULT_PRECONDITIONS_VIOLATED;
-                return ret;
-            }
-
-            switch(type)
-            {
-            case XA_NODETYPE_IMAGE:
-                /*fall-through to use video pipe tags for image*/
-            case XA_NODETYPE_VIDEO:
-                if(!mCtx->videosource)
-                {
-                    DEBUG_ERR("Nodetype not found!");
-                    ret = XA_RESULT_CONTENT_UNSUPPORTED;
-                }
-                else
-                {
-                    if(!mdv->videotags)
-                    {
-                        if(strlen((char*)mimeType)==0)
-                        {
-                            mdv->videotags = gst_structure_empty_new("video/unknown");
-                        }
-                        else
-                        {
-                            mdv->videotags = gst_structure_empty_new((gchar*)mimeType);
-                        }
-                    }
-                    *pChildNodeID = (XAint32)mdv->videotags;
-                }
-                break;
-            case XA_NODETYPE_AUDIO:
-                if(!mCtx->audiosource)
-                {
-                    DEBUG_ERR("Nodetype not found!");
-                    ret = XA_RESULT_CONTENT_UNSUPPORTED;
-                }
-                else
-                {
-                    if(!mdv->audiotags)
-                    {
-                        if(strlen((char*)mimeType)==0)
-                        {
-                            mdv->audiotags = gst_structure_empty_new("audio/unknown");
-                        }
-                        else
-                        {
-                            mdv->audiotags = gst_structure_empty_new((gchar*)mimeType);
-                        }
-                    }
-                    *pChildNodeID = (XAint32)mdv->audiotags;
-                }
-                break;
-            default:
-                DEBUG_ERR("Nodetype not found!");
-                ret = XA_RESULT_CONTENT_UNSUPPORTED;
-                break;
-            }
-        }
-        else
-        {
-            DEBUG_ERR("Only root childs supported!!");
-            ret = XA_RESULT_CONTENT_UNSUPPORTED;
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Unsupported metadata insertion context!!");
-        ret = XA_RESULT_PARAMETER_INVALID;
-    }
-    DEBUG_API_A1("<-XAMetadataInsertionItfAdapt_CreateChildNode (%d)", (int)ret);
-    return ret;
-}
-
-/*
- * XAresult XAMetadataInsertionItfAdapt_GetSupportedKeysCount(XAAdaptationGstCtx *bCtx,
- *                                                         XAint32 nodeID,
- *                                                         XAboolean *pFreeKeys,
- *                                                         XAuint32 *pKeyCount,
- *                                                         XAuint32 *pEncodingCount)
- */
-XAresult XAMetadataInsertionItfAdapt_GetSupportedKeysCount(XAAdaptationGstCtx *bCtx,
-                                                          XAint32 nodeID,
-                                                          XAboolean *pFreeKeys,
-                                                          XAuint32 *pKeyCount,
-                                                          XAuint32 *pEncodingCount)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMetadataInsertionItfAdapt_GetSupportedKeysCount");
-    if(bCtx && bCtx->baseObj.ctxId == XAMediaRecorderAdaptation)
-    {
-        *pKeyCount = 0;
-        *pFreeKeys = XA_BOOLEAN_FALSE;
-        while(xaMetadataAdaptSupportedKeys[*pKeyCount])
-        {
-            (*pKeyCount)++;
-        }
-        *pEncodingCount = 1;
-    }
-    else
-    {
-        DEBUG_ERR("Unsupported metadata insertion context!!");
-        ret = XA_RESULT_PARAMETER_INVALID;
-    }
-    DEBUG_API("<-XAMetadataInsertionItfAdapt_GetSupportedKeysCount");
-    return ret;
-}
-
-/*
- * XAresult XAMetadataInsertionItfAdapt_GetKeySize(XAAdaptationGstCtx *bCtx,
- *                                              XAint32 nodeID,
- *                                              XAuint32 keyIndex,
- *                                              XAuint32 *pKeySize)
- */
-XAresult XAMetadataInsertionItfAdapt_GetKeySize(XAAdaptationGstCtx *bCtx,
-                                               XAint32 nodeID,
-                                               XAuint32 keyIndex,
-                                               XAuint32 *pKeySize)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMetadataInsertionItfAdapt_GetKeySize");
-    if(bCtx && bCtx->baseObj.ctxId == XAMediaRecorderAdaptation)
-    {
-        if(xaMetadataAdaptSupportedKeys[keyIndex])
-        {
-            *pKeySize = sizeof(XAMetadataInfo)+strlen(xaMetadataAdaptSupportedKeys[keyIndex]);
-        }
-        else
-        {
-            ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Unsupported metadata insertion context!!");
-        ret = XA_RESULT_PARAMETER_INVALID;
-    }
-    DEBUG_API("<-XAMetadataInsertionItfAdapt_GetKeySize");
-    return ret;
-}
-
-/*
- * XAresult XAMetadataInsertionItfAdapt_GetKey(XAAdaptationGstCtx *bCtx,
- *                                          XAint32 nodeID,
- *                                          XAuint32 keyIndex,
- *                                          XAuint32 keySize,
- *                                          XAMetadataInfo *pKey)
- */
-XAresult XAMetadataInsertionItfAdapt_GetKey(XAAdaptationGstCtx *bCtx,
-                                           XAint32 nodeID,
-                                           XAuint32 keyIndex,
-                                           XAuint32 keySize,
-                                           XAMetadataInfo *pKey)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint32 datasize, neededsize;
-
-    DEBUG_API("->XAMetadataInsertionItfAdapt_GetKey");
-    if(bCtx && bCtx->baseObj.ctxId == XAMediaRecorderAdaptation)
-    {
-        memset(pKey,0,keySize);
-        if(xaMetadataAdaptSupportedKeys[keyIndex] && (keySize > sizeof(XAMetadataInfo)))
-        {
-            neededsize = strlen(xaMetadataAdaptSupportedKeys[keyIndex])+1;
-            datasize = keySize-sizeof(XAMetadataInfo)+1;
-            if(neededsize>datasize)
-            {
-                strncpy((char*)pKey->data,xaMetadataAdaptSupportedKeys[keyIndex],datasize);
-                pKey->size=datasize;
-                ret=XA_RESULT_BUFFER_INSUFFICIENT;
-            }
-            else
-            {
-                strncpy((char*)pKey->data,xaMetadataAdaptSupportedKeys[keyIndex],neededsize);
-                pKey->size=neededsize;
-            }
-            pKey->encoding = XA_CHARACTERENCODING_ASCII;
-            strcpy((char*)(pKey->langCountry),"en");
-        }
-        else
-        {
-            ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Unsupported metadata insertion context!!");
-        ret = XA_RESULT_PARAMETER_INVALID;
-    }
-    DEBUG_API("<-XAMetadataInsertionItfAdapt_GetKey");
-    return ret;
-}
-
-/*
- * XAresult XAMetadataInsertionItfAdapt_GetFreeKeysEncoding(XAAdaptationGstCtx *bCtx,
- *                                                       XAint32 nodeID,
- *                                                       XAuint32 encodingIndex,
- *                                                       XAuint32 *pEncoding)
- */
-XAresult XAMetadataInsertionItfAdapt_GetFreeKeysEncoding(XAAdaptationGstCtx *bCtx,
-                                                        XAint32 nodeID,
-                                                        XAuint32 encodingIndex,
-                                                        XAuint32 *pEncoding)
-{
-    DEBUG_API("->XAMetadataInsertionItfAdapt_GetFreeKeysEncoding");
-    DEBUG_API("<-XAMetadataInsertionItfAdapt_GetFreeKeysEncoding");
-    /* no free keys*/
-    return XA_RESULT_PRECONDITIONS_VIOLATED;
-}
-
-/*
- * XAresult XAMetadataInsertionItfAdapt_InsertMetadataItem(XAAdaptationGstCtx *bCtx,
- *                                                      XAint32 nodeID,
- *                                                      XAMetadataInfo *pKey,
- *                                                      XAMetadataInfo *pValue,
- *                                                      XAboolean overwrite)
- */
-XAresult XAMetadataInsertionItfAdapt_InsertMetadataItem(XAAdaptationGstCtx *bCtx,
-                                                       XAint32 nodeID,
-                                                       XAMetadataInfo *pKey,
-                                                       XAMetadataInfo *pValue,
-                                                       XAboolean overwrite)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMetadataAdaptVars* mdv=NULL;
-    XAMediaRecorderAdaptationCtx* mCtx;
-    GstTagMergeMode mode = (overwrite?GST_TAG_MERGE_REPLACE:GST_TAG_MERGE_KEEP);
-    gchar* parsedKey = (gchar*)XAMetadataAdapt_ParseKhronosKey((XAchar*)pKey->data);
-    DEBUG_API("->XAMetadataInsertionItfAdapt_InsertMetadataItem");
-    if(bCtx && bCtx->baseObj.ctxId == XAMediaRecorderAdaptation)
-    {
-        mCtx = (XAMediaRecorderAdaptationCtx*)bCtx;
-        mdv = mCtx->metadatavars;
-        if(mdv)
-        {
-            if( nodeID==XA_ROOT_NODE_ID )
-            {
-                if(!mdv->generaltags)
-                {
-                    mdv->generaltags = gst_tag_list_new();
-                }
-                if (gst_tag_get_type (parsedKey) == G_TYPE_STRING)
-                {
-                    gst_tag_list_add(mdv->generaltags, mode, parsedKey, (gchar*)pValue->data, NULL );
-                }
-                else
-                {
-                    gst_tag_list_add(mdv->generaltags, mode, parsedKey, atoi((gchar*)pValue->data), NULL );
-                }
-            }
-            else
-            {
-                if(nodeID == (XAint32)mdv->audiotags || nodeID == (XAint32)mdv->videotags)
-                {
-                    if (gst_tag_get_type (parsedKey) == G_TYPE_STRING)
-                    {
-                        gst_structure_set((GstStructure*)nodeID, parsedKey, G_TYPE_STRING, g_strdup((gchar*)pValue->data), NULL );
-                    }
-                    else
-                    {
-                        gst_structure_set((GstStructure*)nodeID, parsedKey, gst_tag_get_type (parsedKey), atoi((gchar*)pValue->data), NULL );
-                    }
-                }
-                else
-                {
-                    DEBUG_ERR("Unknown node!!");
-                    ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            }
-            if( ret == XA_RESULT_SUCCESS )
-            {   /* let (possible) extraction itf to know new tags  */
-                XAAdaptEvent event = {XA_METADATAEVENTS, XA_ADAPT_MDE_TAGS_AVAILABLE, 0, NULL };
-                XAAdaptationBase_SendAdaptEvents(&bCtx->baseObj, &event );
-            }
-        }
-        else
-        {
-            DEBUG_ERR("Metadata not initialized!!");
-            ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    }
-    else
-    {
-        DEBUG_ERR("Unsupported metadata insertion context!!");
-        ret = XA_RESULT_PARAMETER_INVALID;
-    }
-    DEBUG_API("<-XAMetadataInsertionItfAdapt_InsertMetadataItem");
-    return ret;
-}
-
-/*****************************************************************************
- * INTERNALS
- *****************************************************************************/
-
-
-/*
- * GstStructure* XAMetadataAdapt_GetChildStructure(XAMetadataAdaptVars* mdv, XAuint32 index)
- * helper to get gst structure corresponding to child index
- */
-GstStructure* XAMetadataAdapt_GetChildStructure(XAMetadataAdaptVars* mdv, XAuint32 index)
-{
-    if(mdv->nodedepth == 0)
-    {   /*root childs, if existent, the order is 1)video 2)audio*/
-        if (index==0)
-        {
-            if(mdv->videotags) return mdv->videotags;
-            else if (mdv->audiotags) return mdv->audiotags;
-        }
-        else if (index==1)
-        {
-            if (mdv->audiotags) return mdv->audiotags;
-        }
-    }
-    else
-    {
-        if(index==XA_NODE_PARENT)
-        {
-            return GST_STRUCTURE(mdv->generaltags);
-        }
-    }
-    /*else*/
-    return NULL;
-}
-
-/*
- * XAMetadataAdaptVars* XAMetadataAdapt_GetMetadataVars(XAAdaptationGstCtx *bCtx)
- * Return metadata variables from different types of context
- */
-XAMetadataAdaptVars* XAMetadataAdapt_GetMetadataVars(XAAdaptationGstCtx *bCtx)
-{
-
-    if( bCtx->baseObj.ctxId == XAMediaRecorderAdaptation )
-    {
-        return ((XAMediaRecorderAdaptationCtx*)bCtx)->metadatavars;
-    }
-    else
-    {
-        DEBUG_ERR("Invalid context for metadata");
-        return NULL;
-    }
-}
-
-/*
- * gboolean XAMetadataAdapt_CountTags(GQuark field_id, const GValue* value, gpointer counter)
- * GstStructureForeachFunc to count number of items inside list
- */
-gboolean XAMetadataAdapt_CountTags(GQuark field_id, const GValue* value, gpointer counter)
-{
-    XAuint32* cnt = (XAuint32*)counter;
-    (*cnt)++;
-    return TRUE;
-}
-
-/*
- * void XAMetadataAdapt_ParseTag(const GstTagList* list, const gchar* tag, gpointer listptr)
- * GstTaglistForeachFunc to parse items inside gsttaglist
- */
-void XAMetadataAdapt_ParseTag(const GstTagList* list, const gchar* tag, gpointer listptr)
-{
-    XAMetadataImplTagList* tagList = (XAMetadataImplTagList*)listptr;
-    const gchar *key;
-    gchar *value;
-    guint32 keylen, valuelen;
-
-    DEBUG_API("->XAMetadataAdapt_ParseTag");
-    key = gst_tag_get_nick(tag);
-    /*include null-terminator*/
-    keylen = strlen(key)+1;
-    tagList->mdeKeys[tagList->itemcount] = (XAMetadataInfo*)calloc(1,keylen+sizeof(XAMetadataInfo));
-    tagList->mdeKeys[tagList->itemcount]->size = keylen;
-    strncpy((char*)tagList->mdeKeys[tagList->itemcount]->data,key,keylen-1);
-
-    if (gst_tag_get_type (tag) == G_TYPE_STRING)
-    {
-        gst_tag_list_get_string_index(list, tag, 0, &value);
-    }
-    else
-    {
-        value = g_strdup_value_contents (gst_tag_list_get_value_index (list, tag, 0));
-    }
-    /*include null-terminator*/
-    valuelen = strlen(value)+1;
-    tagList->mdeValues[tagList->itemcount] = (XAMetadataInfo*)calloc(1,valuelen+sizeof(XAMetadataInfo));
-    tagList->mdeValues[tagList->itemcount]->size = valuelen;
-    strncpy((char*)tagList->mdeValues[tagList->itemcount]->data,value,valuelen-1);
-
-    /* NOTE: for now, encoding and language fixed */
-    tagList->mdeKeys[tagList->itemcount]->encoding = XA_CHARACTERENCODING_ASCII;
-    tagList->mdeValues[tagList->itemcount]->encoding = XA_CHARACTERENCODING_ASCII;
-    strcpy((char*)tagList->mdeKeys[tagList->itemcount]->langCountry,"en");
-    strcpy((char*)tagList->mdeValues[tagList->itemcount]->langCountry,"en");
-    tagList->itemcount++;
-    DEBUG_API_A2("<-XAMetadataAdapt_ParseTag: added %s : %s",
-                 tagList->mdeKeys[tagList->itemcount-1]->data,
-                 tagList->mdeValues[tagList->itemcount-1]->data);
-}
-
-/*
- * gboolean XAMetadataAdapt_ParseItem(GQuark gkey,
- *                                const GValue* gvalue,
- *                                gpointer listptr)
- * GstStructureForeachFunc to parse items inside caps structure
- */
-gboolean XAMetadataAdapt_ParseItem(GQuark gkey,
-                                 const GValue* gvalue,
-                                 gpointer listptr)
-{
-    XAMetadataImplTagList* tagList = (XAMetadataImplTagList*)listptr;
-    const gchar *key;
-    gchar *value;
-    guint32 keylen, valuelen;
-
-    DEBUG_API("->XAMetadataAdapt_ParseItem");
-    key = g_quark_to_string(gkey);
-    /*include null-terminator*/
-    keylen = strlen(key)+1;
-    tagList->mdeKeys[tagList->itemcount] = (XAMetadataInfo*)calloc(1,keylen+sizeof(XAMetadataInfo));
-    tagList->mdeKeys[tagList->itemcount]->size = keylen;
-    strncpy((char*)tagList->mdeKeys[tagList->itemcount]->data,key,keylen-1);
-
-    value = gst_value_serialize(gvalue);
-    /*include null-terminator*/
-    valuelen = strlen(value)+1;
-    tagList->mdeValues[tagList->itemcount] = (XAMetadataInfo*)calloc(1,valuelen+sizeof(XAMetadataInfo));
-    tagList->mdeValues[tagList->itemcount]->size = valuelen;
-    strncpy((char*)tagList->mdeValues[tagList->itemcount]->data,value,valuelen-1);
-
-    /* for Gst, encoding and language fixed */
-    tagList->mdeKeys[tagList->itemcount]->encoding = XA_CHARACTERENCODING_ASCII;
-    tagList->mdeValues[tagList->itemcount]->encoding = XA_CHARACTERENCODING_ASCII;
-    strcpy((char*)tagList->mdeKeys[tagList->itemcount]->langCountry,"en");
-    strcpy((char*)tagList->mdeValues[tagList->itemcount]->langCountry,"en");
-    tagList->itemcount++;
-    DEBUG_API_A2("<-XAMetadataAdapt_ParseItem: added %15s : %s",
-                 tagList->mdeKeys[tagList->itemcount-1]->data,
-                 tagList->mdeValues[tagList->itemcount-1]->data);
-    return TRUE;
-}
-
-/*
- * gboolean XAMetadataAdapt_GstTagCb( GstBus *bus, GstMessage *message, gpointer data )
- * Metadata callback - called when new tags found from stream
- */
-gboolean XAMetadataAdapt_GstTagCb( GstBus *bus, GstMessage *message, gpointer data )
-{
-    GstTagList *new_tags;
-    GstTagList **old_tags = NULL;
-    XAAdaptationGstCtx* bCtx;
-    GstTagMergeMode mode;
-
-    bCtx = (XAAdaptationGstCtx*)data;
-    if(GST_MESSAGE_TAG==GST_MESSAGE_TYPE(message))
-    {
-        DEBUG_API_A2("->XAMetadataAdapt_GstTagCb:\"%s\" from object \"%s\"",
-                        GST_MESSAGE_TYPE_NAME(message), GST_OBJECT_NAME(GST_MESSAGE_SRC(message)));
-        gst_message_parse_tag (message, &new_tags);
-        /* NOTE: only general tags received this way (not child nodes)*/
-
-        if( bCtx->baseObj.ctxId == XAMediaRecorderAdaptation )
-        {
-            old_tags = &((XAMediaRecorderAdaptationCtx*)bCtx)->metadatavars->generaltags;
-            /* keep user's tags */
-            mode = GST_TAG_MERGE_KEEP;
-        }
-        else
-        {   /*context not applicable*/
-            return TRUE;
-        }
-
-        if( *old_tags )
-            *old_tags = gst_tag_list_merge (*old_tags, new_tags, mode);
-        else
-            *old_tags = new_tags;
-
-        if( GST_STATE(bCtx->bin)==GST_STATE_PLAYING )
-        {   /* send event only for live stream, otherwise wait for preroll to complete */
-            XAAdaptEvent event = {XA_METADATAEVENTS, XA_ADAPT_MDE_TAGS_AVAILABLE, 0, NULL };
-            XAAdaptationBase_SendAdaptEvents(&bCtx->baseObj, &event );
-        }
-        DEBUG_API("<-XAMetadataAdapt_GstTagCb");
-    }
-    return TRUE;
-}
-
-/*
- * void XAMetadataAdapt_TryWriteTag(const GstTagList* list, const gchar* tag, gpointer taggerptr)
- * GstTaglistForeachFunc to write single tag entries to stream
- */
-void XAMetadataAdapt_TryWriteTag(const GstTagList* list, const gchar* tag, gpointer taggerptr)
-{
-    GstTagSetter* tagger = (GstTagSetter*)taggerptr;
-    const gchar *key;
-    gchar *value;
-
-    DEBUG_API("->XAMetadataAdapt_ParseTag");
-    key = gst_tag_get_nick(tag);
-    if (gst_tag_get_type (tag) == G_TYPE_STRING)
-    {
-        gst_tag_list_get_string_index(list, tag, 0, &value);
-    }
-    else
-    {
-        value = g_strdup_value_contents (gst_tag_list_get_value_index (list, tag, 0));
-    }
-    gst_tag_setter_add_tags(tagger, GST_TAG_MERGE_REPLACE, key, value, NULL);
-}
-
-/*
- * XAresult XAMetadataAdapt_TryWriteTags(XAAdaptationGstCtx* bCtx, GstBin* binToWriteTo)
- */
-XAresult XAMetadataAdapt_TryWriteTags(XAAdaptationGstCtx* bCtx, GstBin* binToWriteTo)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    GstTagSetter *tagger=NULL;
-    /* Find metadata tagger from bin (if any) */
-    GstIterator *iter = gst_bin_iterate_all_by_interface( binToWriteTo, GST_TYPE_TAG_SETTER );
-    gboolean done = FALSE;
-    XAMediaRecorderAdaptationCtx* mCtx;
-    XAAdaptEvent mdevent = {XA_METADATAEVENTS, XA_ADAPT_MDE_TAGS_WRITTEN, 0, NULL };
-
-    DEBUG_API("->XAMetadataAdapt_TryWriteTags");
-
-    if( bCtx->baseObj.ctxId != XAMediaRecorderAdaptation )
-    {
-        return XA_RESULT_FEATURE_UNSUPPORTED;
-    }
-    mCtx = ((XAMediaRecorderAdaptationCtx*)bCtx);
-    while (!done)
-    {
-        switch (gst_iterator_next(iter, (gpointer)&tagger))
-        {
-        case GST_ITERATOR_OK:
-            if(mCtx->metadatavars)
-            {
-                if(mCtx->metadatavars->generaltags)
-                {
-                    gst_tag_setter_merge_tags(tagger, mCtx->metadatavars->generaltags, GST_TAG_MERGE_REPLACE);
-                }
-            }
-            done = TRUE;
-        break;
-        case GST_ITERATOR_ERROR:
-            done = TRUE;
-            DEBUG_ERR("Pipeline does not support tag setting");
-            ret = XA_RESULT_CONTENT_UNSUPPORTED;
-        break;
-        case GST_ITERATOR_DONE:
-            done = TRUE;
-            DEBUG_ERR("Pipeline does not support tag setting");
-            ret = XA_RESULT_CONTENT_UNSUPPORTED;
-        break;
-        case GST_ITERATOR_RESYNC:
-            gst_iterator_resync(iter);
-        break;
-        }
-    }
-    /*here datasize field is used for return value*/
-    mdevent.datasize = ret;
-    XAAdaptationBase_SendAdaptEvents(&bCtx->baseObj, &mdevent );
-    gst_iterator_free (iter);
-    DEBUG_API("<-XAMetadataAdapt_TryWriteTags");
-    return ret;
-}
--- a/khronosfws/openmax_al/src/gst_adaptation/xametadataadaptation.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef XAMETADATAADAPTATION_H
-#define XAMETADATAADAPTATION_H
-
-#include "xaadaptationgst.h"
-
-
-/* FUNCTIONS */
-typedef struct XAMetadataImplTagList
-{
-    XAuint32         itemcount; /* number of items in all three following arrays */
-    XAMetadataInfo** mdeKeys;   /* array of tag keys */
-    XAMetadataInfo** mdeValues; /* array of tag values */
-} XAMetadataImplTagList;
-
-
-typedef struct XAMetadataAdaptVars_
-{
-
-    XAuint32        childcount;
-    XAuint32        nodedepth;
-    XAuint32        traversemode;
-
-    GstTagList*     generaltags;
-    GstStructure*   audiotags;
-    GstStructure*   videotags;
-    GstStructure**   currentchild; /*points to one of previous 3*/
-
-} XAMetadataAdaptVars;
-
-XAresult XAMetadataAdapt_PreInit(XAAdaptationGstCtx *bCtx);
-XAresult XAMetadataAdapt_PostInit(XAAdaptationGstCtx *bCtx);
-const XAchar* XAMetadataAdapt_ParseKhronosKey(const XAchar* KKey);
-void XAMetadataAdapt_FreeImplTagList(XAMetadataImplTagList *list, XAboolean freeItems);
-void XAMetadataAdapt_FreeVars(XAMetadataAdaptVars *vars);
-XAresult XAMetadataAdapt_TryWriteTags(XAAdaptationGstCtx* bCtx, GstBin* binToWriteTo);
-
-XAresult XAMetadataExtractionItfAdapt_FillTagList(XAAdaptationGstCtx *bCtx,
-                                                  XAMetadataImplTagList* tagList);
-
-
-XAresult XAMetadataTraversalItfAdapt_SetMode(XAAdaptationGstCtx *bCtx, XAuint32 mode);
-XAresult XAMetadataTraversalItfAdapt_GetChildCount(XAAdaptationGstCtx *bCtx, XAuint32 *pCount);
-XAresult XAMetadataTraversalItfAdapt_GetChildMIMETypeSize(XAAdaptationGstCtx *bCtx,
-                                                          XAuint32 index,
-                                                          XAuint32 *pSize);
-XAresult XAMetadataTraversalItfAdapt_GetChildInfo(XAAdaptationGstCtx *bCtx,
-                                                  XAuint32 index,
-                                                  XAint32 *pNodeID,
-                                                  XAuint32 *pType,
-                                                  XAuint32 size,
-                                                  XAchar *pMimeType);
-XAresult XAMetadataTraversalItfAdapt_SetActiveNode(XAAdaptationGstCtx *bCtx,
-                                                   XAuint32 index);
-
-XAresult XAMetadataInsertionItfAdapt_CreateChildNode(XAAdaptationGstCtx *bCtx,
-                                                    XAint32 parentNodeID,
-                                                    XAuint32 type,
-                                                    XAchar *mimeType,
-                                                    XAint32 *pChildNodeID);
-XAresult XAMetadataInsertionItfAdapt_GetSupportedKeysCount(XAAdaptationGstCtx *bCtx,
-                                                          XAint32 nodeID,
-                                                          XAboolean *pFreeKeys,
-                                                          XAuint32 *pKeyCount,
-                                                          XAuint32 *pEncodingCount);
-XAresult XAMetadataInsertionItfAdapt_GetKeySize(XAAdaptationGstCtx *bCtx,
-                                               XAint32 nodeID,
-                                               XAuint32 keyIndex,
-                                               XAuint32 *pKeySize);
-XAresult XAMetadataInsertionItfAdapt_GetKey(XAAdaptationGstCtx *bCtx,
-                                           XAint32 nodeID,
-                                           XAuint32 keyIndex,
-                                           XAuint32 keySize,
-                                           XAMetadataInfo *pKey);
-XAresult XAMetadataInsertionItfAdapt_GetFreeKeysEncoding(XAAdaptationGstCtx *bCtx,
-                                                        XAint32 nodeID,
-                                                        XAuint32 encodingIndex,
-                                                        XAuint32 *pEncoding);
-XAresult XAMetadataInsertionItfAdapt_InsertMetadataItem(XAAdaptationGstCtx *bCtx,
-                                                       XAint32 nodeID,
-                                                       XAMetadataInfo *pKey,
-                                                       XAMetadataInfo *pValue,
-                                                       XAboolean overwrite);
-#endif /* XAMETADATAADAPTATION_H */
--- a/khronosfws/openmax_al/src/gst_adaptation/xarecorditfadaptation.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,390 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Record Itf GST adaptation
- *
- */
-
-#include <pthread.h>
-#include <gst/gst.h>
-#include "xamediarecorderadaptctx.h"
-#include "xarecorditfadaptation.h"
-#include "xaadaptationgst.h"
-
-
-/*forward declaration of position updater callback*/
-gboolean XARecordItfAdapt_PositionUpdate(gpointer ctx);
-
-/*
- * XAresult XARecordItfAdapt_SetRecordState(XAAdaptationGstCtx *ctx, XAuint32 state)
- * Sets record state to GStreamer.
- * @param XAAdaptationGstCtx *ctx - Adaptation context
- * XAuint32 state - Record state to be set
- * @return XAresult ret - Success value
- */
-XAresult XARecordItfAdapt_SetRecordState(XAAdaptationGstCtx *bCtx,
-        XAuint32 state)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAboolean closeSink = XA_BOOLEAN_FALSE;
-    XAboolean requestStateChange = XA_BOOLEAN_FALSE;
-    GstStateChangeReturn gstRet = GST_STATE_CHANGE_SUCCESS;
-    XAMediaRecorderAdaptationCtx* mCtx = NULL;
-    XAboolean recording = XA_BOOLEAN_FALSE;
-    DEBUG_API_A1("->XARecordItfAdapt_SetRecordState %s",RECORDSTATENAME(state));
-    if (!bCtx || bCtx->baseObj.ctxId != XAMediaRecorderAdaptation)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfAdapt_SetRecordState");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    mCtx = (XAMediaRecorderAdaptationCtx*) bCtx;
-
-    mCtx->isRecord = XA_BOOLEAN_TRUE;
-
-    switch (state)
-        {
-        case XA_RECORDSTATE_STOPPED:
-            {
-            // Audio sourse should be stopped 
-            if (mCtx->audiosource)
-                {
-                if (gst_element_send_event(mCtx->audiosource,
-                        gst_event_new_eos()) == TRUE)
-                    {
-                    DEBUG_INFO ("posted eos");
-                    }
-                else
-                    {
-                    DEBUG_ERR("FAIL : post eos");
-                    }
-                }
-
-            bCtx->binWantedState = GST_STATE_PAUSED;
-            closeSink = XA_BOOLEAN_TRUE;
-            if (mCtx->runpositiontimer > 0)
-                {
-                g_source_remove(mCtx->runpositiontimer);
-                mCtx->runpositiontimer = 0;
-                }
-
-            if (mCtx->recThrCtx.bufInsufficientSem)
-                {
-                DEBUG_INFO("No buffer-insufficient received, posting record thr semaphore.");
-                if (XAImpl_PostSemaphore(mCtx->recThrCtx.bufInsufficientSem)
-                        != XA_RESULT_SUCCESS)
-                    {
-                    DEBUG_ERR("Posting buffer-insufficient semaphore FAILED!");
-                    }
-                }
-
-            break;
-            }
-        case XA_RECORDSTATE_PAUSED:
-            {
-            if (mCtx->xaRecordState == XA_RECORDSTATE_STOPPED
-                    && mCtx->encodingchanged)
-                {
-                ret = XAMediaRecorderAdapt_ChangeEncoders(mCtx);
-                mCtx->encodingchanged = XA_BOOLEAN_FALSE;
-                if(ret != XA_RESULT_SUCCESS)
-                    {
-                      return ret;
-                    }
-                }
-            bCtx->binWantedState = GST_STATE_PAUSED;
-            if (mCtx->runpositiontimer > 0)
-                {
-                g_source_remove(mCtx->runpositiontimer);
-                mCtx->runpositiontimer = 0;
-                }
-            break;
-            }
-        case XA_RECORDSTATE_RECORDING:
-            {
-            if (mCtx->xaRecordState == XA_RECORDSTATE_STOPPED
-                    && (mCtx->encodingchanged))
-                {
-                ret = XAMediaRecorderAdapt_ChangeEncoders(mCtx);
-                mCtx->encodingchanged = XA_BOOLEAN_FALSE;
-                if(ret != XA_RESULT_SUCCESS)
-                    {
-                      return ret;
-                    }
-                }
-
-            if (mCtx->recThrCtx.bufInsufficientSem)
-                {
-                /* Recording to address and recording thread semaphora is created */
-                if (!XAImpl_StartThread(&(mCtx->recordingEventThr), NULL,
-                        &XAMediaRecorderAdapt_RecordEventThr, (void*) mCtx))
-                    {
-                    DEBUG_ERR("Start thread Failed");
-                    return XA_RESULT_INTERNAL_ERROR;
-                    }
-                }
-
-            bCtx->binWantedState = GST_STATE_PLAYING;
-            recording = XA_BOOLEAN_TRUE;
-            break;
-            }
-        default:
-            DEBUG_ERR("Unhandled state")
-            ;
-            ret = XA_RESULT_PARAMETER_INVALID;
-            break;
-        }
-
-    if (ret == XA_RESULT_SUCCESS)
-        {
-        mCtx->xaRecordState = state;
-        }
-
-    /* launch Gstreamer state change only if necessary */
-    if (GST_STATE_TARGET(bCtx->bin) == bCtx->binWantedState)
-        {
-        DEBUG_INFO("Gst already transitioning to wanted state!!");
-        requestStateChange = XA_BOOLEAN_FALSE;
-        }
-    else
-        {
-        if ((GST_STATE(bCtx->bin) == bCtx->binWantedState)
-                && (GST_STATE_PENDING(bCtx->bin) == GST_STATE_VOID_PENDING))
-            {
-            DEBUG_ERR_A3("WARNING : gststate %d == wanted %d != gsttarget %d and no statechange pending",
-                    GST_STATE(bCtx->bin), bCtx->binWantedState, GST_STATE_TARGET(bCtx->bin));
-            }
-        requestStateChange = XA_BOOLEAN_TRUE;
-        }
-
-    if (requestStateChange)
-        {
-        XAAdaptationGst_PrepareAsyncWait(bCtx);
-        DEBUG_INFO_A1("Sending change state request to state %d", bCtx->binWantedState);
-        gstRet = gst_element_set_state(GST_ELEMENT(bCtx->bin),
-                bCtx->binWantedState);
-        switch (gstRet)
-            {
-            case GST_STATE_CHANGE_FAILURE:
-                DEBUG_ERR_A1("FAILED to change state (target %d)",bCtx->binWantedState)
-                ;
-                bCtx->binWantedState = GST_STATE(bCtx->bin);
-                ret = XA_RESULT_INTERNAL_ERROR;
-                break;
-            case GST_STATE_CHANGE_ASYNC:
-                DEBUG_INFO_A1("Change state will happen asyncronously (target %d)",bCtx->binWantedState);
-                XAAdaptationGst_StartAsyncWait(bCtx);
-                ret = XA_RESULT_SUCCESS;
-                break;
-            case GST_STATE_CHANGE_NO_PREROLL:
-                DEBUG_INFO("GST_STATE_CHANGE_NO_PREROLL")
-                ;
-                /* deliberate fall-through */
-            case GST_STATE_CHANGE_SUCCESS:
-                DEBUG_INFO_A1("Successfully changed state (target %d)",bCtx->binWantedState)
-                ;
-                ret = XA_RESULT_SUCCESS;
-                break;
-            default:
-                DEBUG_ERR_A1("Unhandled error (%d)",gstRet)
-                ;
-                ret = XA_RESULT_UNKNOWN_ERROR;
-                break;
-            }
-        bCtx->waitingasyncop = XA_BOOLEAN_FALSE;
-        }
-    if ((GST_STATE(bCtx->bin) > GST_STATE_READY) && closeSink)
-        { /* close the sink*/
-        gst_element_send_event(bCtx->bin, gst_event_new_flush_start());
-        gst_element_send_event(bCtx->bin, gst_event_new_flush_stop());
-        }
-
-    if (recording && mCtx->isobjvsrc && mCtx->videosource)
-        {
-        GstPad *pad = gst_element_get_static_pad(
-                GST_ELEMENT(mCtx->videosource), "MRObjSrc");
-        if (pad && gst_pad_is_linked(pad))
-            {
-            DEBUG_INFO_A2("unblock element:%s pad:%s",
-                    gst_element_get_name(mCtx->videosource),
-                    gst_pad_get_name(pad));
-            gst_pad_set_blocked_async(pad, FALSE, XAAdaptationGst_PadBlockCb,
-                    NULL);
-            }
-
-        if (GST_STATE( GST_ELEMENT(mCtx->videosource)) != GST_STATE_PLAYING)
-            {
-            GstStateChangeReturn gret = GST_STATE_CHANGE_SUCCESS;
-            DEBUG_INFO("Start camera source");
-            gret = gst_element_set_state(GST_ELEMENT(mCtx->videosource),
-                    GST_STATE_PLAYING);
-            if (gret == GST_STATE_CHANGE_SUCCESS)
-                gret = gst_element_get_state(GST_ELEMENT(mCtx->videosource),
-                        NULL, NULL, XA_ADAPT_ASYNC_TIMEOUT_SHORT_NSEC);
-            }
-        }
-    DEBUG_API("<-XARecordItfAdapt_SetRecordState");
-    return ret;
-    }
-
-/*
- * XAresult XARecordItfAdapt_GetRecordState(XAAdaptationGstCtx *bCtx, XAuint32 *state)
- * Description: Return record state
- */
-XAresult XARecordItfAdapt_GetRecordState(XAAdaptationGstCtx *bCtx,
-        XAuint32 *state)
-    {
-    XAMediaRecorderAdaptationCtx* mCtx = NULL;
-    DEBUG_API("->XARecordItfAdapt_GetRecordState");
-
-    if (!bCtx || bCtx->baseObj.ctxId != XAMediaRecorderAdaptation)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfAdapt_GetRecordState");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    mCtx = (XAMediaRecorderAdaptationCtx*) bCtx;
-
-    *state = mCtx->xaRecordState;
-
-    DEBUG_API("<-XARecordItfAdapt_GetRecordState");
-    return XA_RESULT_SUCCESS;
-    }
-
-/*
- * XAresult XARecordItfAdapt_GetPosition(XAAdaptationGstCtx *ctx, AdaptationContextIDS ctxIDs, XAmillisecond *pMsec)
- * @param XAAdaptationGstCtx *ctx - Adaptation context, this will be casted to correct type regarding to contextID value given as 2nd parameter
- * XAmillisecond *pMsec - Pointer where to store current position in stream.
- * @return XAresult ret - Success value
- */
-XAresult XARecordItfAdapt_GetPosition(XAAdaptationGstCtx *bCtx,
-        XAmillisecond *pMsec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    gint64 position = 0;
-    GstFormat format = GST_FORMAT_TIME;
-    DEBUG_API("->XARecordItfAdapt_GetPosition");
-
-    if (!bCtx || bCtx->baseObj.ctxId != XAMediaRecorderAdaptation)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfAdapt_GetPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    if (gst_element_query_position(GST_ELEMENT(bCtx->bin), &format, &position))
-        {
-        ret = XA_RESULT_SUCCESS;
-        *pMsec = GST_TIME_AS_MSECONDS(position); /*Warning ok due to used API specification*/
-        DEBUG_INFO_A1("Gst: Position in microseconds : %u", *pMsec );
-        }
-    else
-        {
-        DEBUG_ERR("WARNING: Gst: could not get position");
-        /* probably not fully prerolled - safe assumption for position = 0 */
-        *pMsec = 0;
-        ret = XA_RESULT_SUCCESS;
-        }
-
-    DEBUG_API("<-XARecordItfAdapt_GetPosition");
-    return ret;
-    }
-
-/*
- * gboolean XARecordItfAdapt_PositionUpdate(gpointer ctx)
- * callback.
- * If position tracking enabled, periodic timer calls this method every XA_ADAPT_PU_INTERVAL msecs
- * @return false to stop periodic calls
- */
-gboolean XARecordItfAdapt_PositionUpdate(gpointer ctx)
-    {
-    XAAdaptationGstCtx *bCtx = (XAAdaptationGstCtx*) ctx;
-    XAMediaRecorderAdaptationCtx* mCtx = (XAMediaRecorderAdaptationCtx*) ctx;
-    DEBUG_API("->XARecordItfAdapt_PositionUpdate");
-
-    if (mCtx && mCtx->trackpositionenabled)
-        {
-        GstFormat format = GST_FORMAT_TIME;
-        gint64 position = 0;
-        if (gst_element_query_position(GST_ELEMENT(bCtx->bin), &format,
-                &position))
-            {
-            XAuint32 posMsec = GST_TIME_AS_MSECONDS(position);
-            /*Warning ok due to used API specification*/
-            XAAdaptEvent event =
-                {
-                XA_RECORDITFEVENTS, XA_ADAPT_POSITION_UPDATE_EVT, 1, NULL
-                };
-            event.data = &posMsec;
-            DEBUG_API_A1("XARecordItfAdapt_PositionUpdate: pos %lu ms", posMsec);
-            /* send needed events */
-            XAAdaptationBase_SendAdaptEvents(&bCtx->baseObj, &event);
-            }
-        else
-            {
-            DEBUG_ERR("Gst: Failed to get position");
-            }
-        DEBUG_API_A1("<-XARecordItfAdapt_PositionUpdate: %d", mCtx->runpositiontimer);
-        /* return false to stop timer */
-        return (mCtx->runpositiontimer);
-        }
-    return FALSE;
-    }
-
-/*
- * XAresult XARecordItfAdapt_EnablePositionTracking
- * Enable/disable periodic position tracking callbacks
- */
-XAresult XARecordItfAdapt_EnablePositionTracking(XAAdaptationGstCtx *bCtx,
-        XAboolean enable)
-    {
-    XAMediaRecorderAdaptationCtx* mCtx = (XAMediaRecorderAdaptationCtx*) bCtx;
-    DEBUG_API_A1("->XARecordItfAdapt_EnablePositionTracking (enable: %lu)", enable);
-
-    if (!bCtx || bCtx->baseObj.ctxId != XAMediaRecorderAdaptation)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfAdapt_EnablePositionTracking");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* create a timer to track position of playback */
-    if (enable && !(mCtx->trackpositionenabled))
-        {
-        mCtx->trackpositionenabled = XA_BOOLEAN_TRUE;
-        mCtx->positionCb = &XARecordItfAdapt_PositionUpdate;
-        /* if recording is already on, create a timer to track position of recording */
-        if (GST_STATE(bCtx->bin) == GST_STATE_PLAYING)
-            {
-            mCtx->runpositiontimer = g_timeout_add(XA_ADAPT_PU_INTERVAL,
-                    mCtx->positionCb, mCtx);
-            }
-        }
-    else if (!enable && (mCtx->trackpositionenabled))
-        {
-        mCtx->trackpositionenabled = XA_BOOLEAN_FALSE;
-        if (mCtx->runpositiontimer > 0)
-            {
-            g_source_remove(mCtx->runpositiontimer);
-            mCtx->runpositiontimer = 0;
-            }
-        }
-
-    DEBUG_API("<-XARecordItfAdapt_EnablePositionTracking");
-    return XA_RESULT_SUCCESS;
-    }
-
--- a/khronosfws/openmax_al/src/gst_adaptation/xarecorditfadaptation.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Record Itf GST adapt header
- *
- */
-
-#ifndef XARECORDITFADAPTATION_H
-#define XARECORDITFADAPTATION_H
-
-#include "xaadaptationgst.h"
-
-#ifdef _DEBUG
-/*parse state names for debug prints*/
-static const char* recordstatenames[3] =
-    {
-            "XA_RECORDSTATE_STOPPED",
-            "XA_RECORDSTATE_PAUSED",
-            "XA_RECORDSTATE_RECORDING",
-    };
-#define RECORDSTATENAME(i) ((i>0&&i<4)?recordstatenames[i-1]:"INVALID")
-#endif /*_DEBUG*/
-
-/* FUNCTIONS */
-
-XAresult XARecordItfAdapt_SetRecordState(XAAdaptationGstCtx *ctx,
-        XAuint32 state);
-XAresult XARecordItfAdapt_SetDurationLimit(XAAdaptationGstCtx *ctx,
-        XAmillisecond msec);
-XAresult XARecordItfAdapt_GetPosition(XAAdaptationGstCtx *ctx,
-        XAmillisecond *pMsec);
-XAresult XARecordItfAdapt_EnablePositionTracking(XAAdaptationGstCtx *ctx,
-        XAboolean enable);
-XAresult XARecordItfAdapt_GetRecordState(XAAdaptationGstCtx *bCtx,
-        XAuint32 *state);
-
-#endif /* XARECORDITFADAPTATION_H */
--- a/khronosfws/openmax_al/src/khronos/openmaxal_iid.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 2007-2009 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and/or associated documentation files (the
- * "Materials "), to deal in the Materials without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Materials, and to
- * permit persons to whom the Materials are furnished to do so, subject to 
- * the following conditions: 
- *
- * The above copyright notice and this permission notice shall be included 
- * in all copies or substantial portions of the Materials. 
- *
- * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- * OpenMAXAL_IID.c - OpenMAX AL version 1.0
- *
- */
-
-/****************************************************************************/
-/* NOTE: This file is a standard OpenMAX AL file and should not be          */
-/* modified in any way.                                                     */
-/****************************************************************************/
-#include "OpenMAXAL.h"
-
-/*****************************************************************************/
-/* Interface IDs                                                             */
-/*****************************************************************************/
-
-static const struct XAInterfaceID_ XA_IID_NULL_ = { 0xec7178ec, 0xe5e1, 0x4432, 0xa3f4, { 0x46, 0x57, 0xe6, 0x79, 0x52, 0x10 } };
-XA_API const XAInterfaceID XA_IID_NULL = &XA_IID_NULL_;
-
-static const struct XAInterfaceID_ XA_IID_AUDIODECODERCAPABILITIES_ = { 0xdeac0cc0, 0x3995, 0x11dc, 0x8872, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_AUDIODECODERCAPABILITIES = &XA_IID_AUDIODECODERCAPABILITIES_;
-
-static const struct XAInterfaceID_ XA_IID_AUDIOENCODER_ = { 0xebbab900, 0x3997, 0x11dc, 0x891f, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_AUDIOENCODER = &XA_IID_AUDIOENCODER_;
-
-static const struct XAInterfaceID_ XA_IID_AUDIOENCODERCAPABILITIES_ = { 0x83fbc600, 0x3998, 0x11d, 0x8f6d, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_AUDIOENCODERCAPABILITIES = &XA_IID_AUDIOENCODERCAPABILITIES_;
-
-static const struct XAInterfaceID_ XA_IID_AUDIOIODEVICECAPABILITIES_ = { 0x2b276d00, 0xf775, 0x11db, 0xa963, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_AUDIOIODEVICECAPABILITIES = &XA_IID_AUDIOIODEVICECAPABILITIES_;
-
-static const struct XAInterfaceID_ XA_IID_CAMERA_ = { 0xc7b84d20, 0xdf00, 0x11db, 0xba87, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_CAMERA = &XA_IID_CAMERA_;
-
-static const struct XAInterfaceID_ XA_IID_CAMERACAPABILITIES_ = { 0x01cab1c0, 0xe86a, 0x11db, 0xa5b9, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_CAMERACAPABILITIES = &XA_IID_CAMERACAPABILITIES_;
-
-static const struct XAInterfaceID_ XA_IID_CONFIGEXTENSION_ = { 0x6dc22ea0, 0xdf03, 0x11db, 0xbed7, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_CONFIGEXTENSION = &XA_IID_CONFIGEXTENSION_;
-
-static const struct XAInterfaceID_ XA_IID_DEVICEVOLUME_ = { 0x4bb44020, 0xf775, 0x11db, 0xad03, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_DEVICEVOLUME = &XA_IID_DEVICEVOLUME_;
-
-static const struct XAInterfaceID_ XA_IID_DYNAMICINTERFACEMANAGEMENT_ = { 0x6e2340c0, 0xf775, 0x11db, 0x85da, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_DYNAMICINTERFACEMANAGEMENT = &XA_IID_DYNAMICINTERFACEMANAGEMENT_;
-
-static const struct XAInterfaceID_ XA_IID_DYNAMICSOURCE_ = { 0xc88d5480, 0x3a12, 0x11dc, 0x80a2, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_DYNAMICSOURCE = &XA_IID_DYNAMICSOURCE_;
-
-static const struct XAInterfaceID_ XA_IID_ENGINE_ = { 0x45c58f40, 0xdf04, 0x11db, 0x9e76, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_ENGINE = &XA_IID_ENGINE_;
-
-static const struct XAInterfaceID_ XA_IID_EQUALIZER_ = { 0x7ad86d40, 0xf775, 0x11db, 0xbc77, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_EQUALIZER = &XA_IID_EQUALIZER_;
-
-static const struct XAInterfaceID_ XA_IID_IMAGECONTROLS_ = { 0xf46de3e0, 0xdf03, 0x11db, 0x92f1, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_IMAGECONTROLS = &XA_IID_IMAGECONTROLS_;
-
-static const struct XAInterfaceID_ XA_IID_IMAGEDECODERCAPABILITIES_ = { 0xc333e7a0, 0xe616, 0x11dc, 0xa93e, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_IMAGEDECODERCAPABILITIES = &XA_IID_IMAGEDECODERCAPABILITIES_;
-
-static const struct XAInterfaceID_ XA_IID_IMAGEEFFECTS_ = { 0xb865bca0, 0xdf04, 0x11db, 0xbab9, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_IMAGEEFFECTS = &XA_IID_IMAGEEFFECTS_;
-
-static const struct XAInterfaceID_ XA_IID_IMAGEENCODER_ = { 0xcd49f140, 0xdf04, 0x11db, 0x8888, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_IMAGEENCODER = &XA_IID_IMAGEENCODER_;
-
-static const struct XAInterfaceID_ XA_IID_IMAGEENCODERCAPABILITIES_ = { 0xc19f0640, 0xe86f, 0x11db, 0xb2d2, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_IMAGEENCODERCAPABILITIES = &XA_IID_IMAGEENCODERCAPABILITIES_;
-
-static const struct XAInterfaceID_ XA_IID_LED_ = { 0xa534d920, 0xf775, 0x11db, 0x8b70, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_LED = &XA_IID_LED_;
-
-static const struct XAInterfaceID_ XA_IID_METADATAEXTRACTION_ = { 0x5df4fda0, 0xf776, 0x11db, 0xabc5, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_METADATAEXTRACTION = &XA_IID_METADATAEXTRACTION_;
-
-static const struct XAInterfaceID_ XA_IID_METADATAINSERTION_ = { 0x49a14d60, 0xdf05, 0x11db, 0x9191, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_METADATAINSERTION = &XA_IID_METADATAINSERTION_;
-
-static const struct XAInterfaceID_ XA_IID_METADATATRAVERSAL_ = { 0x73ffb0e0, 0xf776, 0x11db, 0xa00e, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_METADATATRAVERSAL = &XA_IID_METADATATRAVERSAL_;
-
-static const struct XAInterfaceID_ XA_IID_OBJECT_ = { 0x82f5a5a0, 0xf776, 0x11db, 0x9700, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_OBJECT = &XA_IID_OBJECT_;
-
-static const struct XAInterfaceID_ XA_IID_OUTPUTMIX_ = { 0xb25b6fa0, 0xf776, 0x11db, 0xb86b, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_OUTPUTMIX = &XA_IID_OUTPUTMIX_;
-
-static const struct XAInterfaceID_ XA_IID_PLAY_ = { 0xb9c293e0, 0xf776, 0x11db, 0x80df, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_PLAY = &XA_IID_PLAY_;
-
-static const struct XAInterfaceID_ XA_IID_PLAYBACKRATE_ = { 0xc36f1440, 0xf776, 0x11db, 0xac48, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_PLAYBACKRATE = &XA_IID_PLAYBACKRATE_;
-
-static const struct XAInterfaceID_ XA_IID_PREFETCHSTATUS_ = { 0xcceac0a0, 0xf776, 0x11db, 0xbb9c, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_PREFETCHSTATUS = &XA_IID_PREFETCHSTATUS_;
-
-static const struct XAInterfaceID_ XA_IID_RADIO_ = { 0xb316ad80, 0xdf05, 0x11db, 0xb5b6, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_RADIO = &XA_IID_RADIO_;
-
-static const struct XAInterfaceID_ XA_IID_RDS_ = { 0xb80f42c0, 0xdf05, 0x11db, 0x92a5, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_RDS = &XA_IID_RDS_;
-
-static const struct XAInterfaceID_ XA_IID_RECORD_ = { 0xd7948cc0, 0xf776, 0x11db, 0x8a3b, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_RECORD = &XA_IID_RECORD_;
-
-static const struct XAInterfaceID_ XA_IID_SEEK_ = { 0xee6a3120, 0xf776, 0x11db, 0xb518, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_SEEK = &XA_IID_SEEK_;
-
-static const struct XAInterfaceID_ XA_IID_SNAPSHOT_ = { 0xdb1b6dc0, 0xdf05, 0x11db, 0x8c01, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_SNAPSHOT = &XA_IID_SNAPSHOT_;
-
-static const struct XAInterfaceID_ XA_IID_THREADSYNC_ = { 0xf3599ea0, 0xf776, 0x11db, 0xb3ea, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_THREADSYNC = &XA_IID_THREADSYNC_;
-
-static const struct XAInterfaceID_ XA_IID_VIBRA_ = { 0xfe374c00, 0xf776, 0x11db, 0xa8f0, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_VIBRA = &XA_IID_VIBRA_;
-
-static const struct XAInterfaceID_ XA_IID_VIDEODECODERCAPABILITIES_ = { 0xd18cb200, 0xe616, 0x11dc, 0xab01, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_VIDEODECODERCAPABILITIES = &XA_IID_VIDEODECODERCAPABILITIES_;
-
-static const struct XAInterfaceID_ XA_IID_VIDEOENCODER_ = { 0x9444db60, 0xdf06, 0x11db, 0xb311, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_VIDEOENCODER = &XA_IID_VIDEOENCODER_;
-
-static const struct XAInterfaceID_ XA_IID_VIDEOENCODERCAPABILITIES_ = { 0x5aef2760, 0xe872, 0x11db, 0x849f, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_VIDEOENCODERCAPABILITIES = &XA_IID_VIDEOENCODERCAPABILITIES_;
-
-static const struct XAInterfaceID_ XA_IID_VIDEOPOSTPROCESSING_ = { 0x898b6820, 0x7e6e, 0x11dd, 0x8caf, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_VIDEOPOSTPROCESSING = &XA_IID_VIDEOPOSTPROCESSING_;
-
-static const struct XAInterfaceID_ XA_IID_VOLUME_ = { 0x088ba520, 0xf777, 0x11db, 0xa5e3, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_VOLUME = &XA_IID_VOLUME_;
-
-static const struct XAInterfaceID_ XA_IID_STREAMINFORMATION_ = { 0x3a628fe0, 0x1238, 0x11de, 0xad9f, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
-XA_API const XAInterfaceID XA_IID_STREAMINFORMATION = &XA_IID_STREAMINFORMATION_;
-
-
--- a/khronosfws/openmax_al/src/mediaplayer/xamediaplayer.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,620 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Media Player Object Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include "xamediaplayer.h"
-#include "xaplayitf.h"
-#include "xaseekitf.h"
-#include "xaprefetchstatusitf.h"
-#include "xadynintmgmtitf.h"
-#include "xavolumeitf.h"
-#include "xametadataextractionitf.h"
-#include "xaplaybackrateitf.h"
-#include "xaconfigextensionsitf.h"
-#include "xathreadsafety.h"
-#include "xametadataadaptation.h"
-#include "xacapabilitiesmgr.h"
-#include "xadynamicsourceitf.h"
-#include "xastreaminformationitf.h"
-#include "xanlinearvolumeitf.h"
-#include "xanvolumeextitf.h"
-
-extern void* vfHandle;
-
-/* Static mapping of enumeration XAMediaPlayerInterfaces to interface iids */
-static const XAInterfaceID* xaMediaPlayerItfIIDs[MP_ITFCOUNT] =
-    {
-    &XA_IID_OBJECT,
-    &XA_IID_DYNAMICINTERFACEMANAGEMENT,
-    &XA_IID_PLAY,
-    &XA_IID_SEEK,
-    &XA_IID_VOLUME,
-    &XA_IID_PREFETCHSTATUS,
-    &XA_IID_CONFIGEXTENSION,
-    &XA_IID_DYNAMICSOURCE,
-    &XA_IID_METADATAEXTRACTION,
-    &XA_IID_PLAYBACKRATE,
-    &XA_IID_NOKIAVOLUMEEXT,
-    &XA_IID_NOKIALINEARVOLUME,
-    &XA_IID_STREAMINFORMATION
-    };
-
-/* Global methods */
-
-/* XAResult XAMediaPlayerImpl_CreateMediaPlayer
- * Create object
- */
-XAresult XAMediaPlayerImpl_CreateMediaPlayer(FrameworkMap* mapper,
-        XACapabilities* capabilities, XAObjectItf *pPlayer,
-        XADataSource *pDataSrc, XADataSource *pBankSrc,
-        XADataSink *pAudioSnk, XADataSink *pImageVideoSnk,
-        XADataSink *pVibra, XADataSink *pLEDArray, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-    XAuint8 itfIdx = 0;
-    XAMediaType mediaType = XA_MEDIATYPE_UNKNOWN;
-    XAMediaPlayerImpl* pPlayerImpl = NULL;
-    FWMgrFwType fwType;
-    XAObjectItfImpl* pBaseObj = NULL;
-    const char *uri = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-    XADataLocator_IODevice* tmpIODevice;
-    XADataLocator_IODevice locatorIODevice;
-
-    DEBUG_API("->XAMediaPlayerImpl_CreateMediaPlayer");
-
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSMediaPlayer);
-
-    if (!pPlayer || !pDataSrc)
-        {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAMediaPlayerImpl_CreateMediaPlayer");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    /* check sink&source parameters */
-    ret = XACommon_ValidateDataLocator(6, pAudioSnk, pImageVideoSnk,
-            pDataSrc, pBankSrc, pVibra, pLEDArray);
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-        DEBUG_API("<-XAMediaPlayerImpl_CreateMediaPlayer");
-        return ret;
-        }
-    /* also, check source availability */
-    ret = XACommon_CheckDataSource(pDataSrc, &mediaType);
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-        DEBUG_API("<-XAMediaPlayerImpl_CreateMediaPlayer");
-        return ret;
-        }
-
-    /* instantiate object */
-    pPlayerImpl = (XAMediaPlayerImpl*) calloc(1, sizeof(XAMediaPlayerImpl));
-    if (!pPlayerImpl)
-        {
-        /* memory allocation failed */
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-        DEBUG_API("<-XAMediaPlayerImpl_CreateMediaPlayer");
-        return XA_RESULT_MEMORY_FAILURE;
-        }
-    pBaseObj = &pPlayerImpl->baseObj;
-
-    /* Initialize base object default implementation */
-    XAObjectItfImpl_Init(pBaseObj, MP_ITFCOUNT, xaMediaPlayerItfIIDs,
-            XAMediaPlayerImpl_DoRealize, XAMediaPlayerImpl_DoResume,
-            XAMediaPlayerImpl_FreeResources);
-
-    /* Mark interfaces that need to be exposed */
-    /* Implicit and mandated interfaces */
-    pBaseObj->interfaceMap[MP_PLAYITF].required = XA_BOOLEAN_TRUE;
-    pBaseObj->interfaceMap[MP_DIMITF].required = XA_BOOLEAN_TRUE;
-
-    /* Explicit interfaces */
-    if ((numInterfaces != 0) && pInterfaceIds && pInterfaceRequired)
-        {
-        /* Check required interfaces */
-        for (itfIdx = 0; itfIdx < numInterfaces; itfIdx++)
-            {
-            /* If mapEntry is null then required interface is not supported.*/
-            XAObjItfMapEntry *entry = XAObjectItfImpl_GetItfEntry(
-                    (XAObjectItf) &(pBaseObj), pInterfaceIds[itfIdx]);
-            if (!entry)
-                {
-                if (pInterfaceRequired[itfIdx])
-                    {
-                    /* required interface cannot be accommodated - fail creation */
-                    DEBUG_ERR("Required interface not found - abort creation!");
-                    ret = XA_RESULT_FEATURE_UNSUPPORTED;
-                    break;
-                    }
-                else
-                    {
-                    DEBUG_INFO("Requested (not required) interface not found - continue creation");
-                    }
-                }
-            else
-                { /* weed out unsupported content-aware itf's */
-                if ((mediaType == XA_MEDIATYPE_IMAGE && (entry->mapIdx == MP_SEEKITF 
-                        || entry->mapIdx == MP_VOLUMEITF)))
-                    {
-                    entry->required = XA_BOOLEAN_FALSE;
-                    if (pInterfaceRequired[itfIdx])
-                        {
-                        DEBUG_ERR("Required interface not supported for given media - abort creation!");
-                        ret = XA_RESULT_FEATURE_UNSUPPORTED;
-                        break;
-                        }
-                    }
-                else
-                    {
-                    entry->required = XA_BOOLEAN_TRUE;
-                    }
-                }
-            }
-        }
-
-    if (ret != XA_RESULT_SUCCESS)
-        { /* creation fails */
-        XAObjectItfImpl_Destroy((XAObjectItf) &(pBaseObj));
-        return ret;
-        }
-
-    /* Mark interfaces that can be handled dynamically */
-    /* Mandated dynamic itfs */
-    pBaseObj->interfaceMap[MP_METADATAEXTRACTIONITF].isDynamic
-            = XA_BOOLEAN_TRUE;
-    pBaseObj->interfaceMap[MP_PLAYBACKRATEITF].isDynamic = XA_BOOLEAN_TRUE;
-
-    /*Set ObjectItf to point to newly created object*/
-    *pPlayer = (XAObjectItf) &(pBaseObj->self);
-
-    /*initialize XAPlayerImpl variables */
-
-    pPlayerImpl->dataSrc = pDataSrc;
-    pPlayerImpl->bankSrc = pBankSrc;
-    pPlayerImpl->audioSnk = pAudioSnk;
-    pPlayerImpl->imageVideoSnk = pImageVideoSnk;
-    pPlayerImpl->vibra = pVibra;
-    pPlayerImpl->LEDArray = pLEDArray;
-
-    // Handle possible radio:      
-    tmpIODevice = (XADataLocator_IODevice*) (pPlayerImpl->dataSrc->pLocator);
-    locatorIODevice = *tmpIODevice;
-    if (locatorIODevice.deviceType == XA_IODEVICE_RADIO)
-        {
-        fwType = (FWMgrFwType) FWMgrFWMMF;
-        }
-    else
-        {
-        /* Determine framework type that can handle recording */
-        fwType = (FWMgrFwType) FWMgrMOUnknown;
-        /**/
-        if (pDataSrc->pLocator)
-            {
-            XADataLocator_URI* dataLoc =
-                    (XADataLocator_URI*) pDataSrc->pLocator;
-            if (dataLoc->locatorType == XA_DATALOCATOR_URI)
-                {
-                uri = (char*) dataLoc->URI;
-                }
-            }
-        fwType = XAFrameworkMgr_GetFramework(mapper, uri, FWMgrMOPlayer);
-
-        if (fwType == FWMgrMOUnknown)
-            {
-            ret = XA_RESULT_CONTENT_UNSUPPORTED;
-            XAObjectItfImpl_Destroy((XAObjectItf) &(pBaseObj));
-            XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-            DEBUG_API("<-XAMediaPlayerImpl_CreateMediaPlayer");
-            return ret;
-            }
-        } // end else
-
-    if (fwType == FWMgrFWMMF)
-        {
-        pPlayerImpl->adaptationCtxMMF = XAMediaPlayerAdaptMMF_Create(
-                pPlayerImpl->dataSrc, pPlayerImpl->bankSrc,
-                pPlayerImpl->audioSnk, pPlayerImpl->imageVideoSnk,
-                pPlayerImpl->vibra, pPlayerImpl->LEDArray);
-
-        pPlayerImpl->curAdaptCtx = pPlayerImpl->adaptationCtxMMF;
-        }
-
-    pPlayerImpl->curAdaptCtx->capslist = capabilities;
-    pPlayerImpl->curAdaptCtx->fwtype = fwType;
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-    DEBUG_API("<-XAMediaPlayerImpl_CreateMediaPlayer");
-    return XA_RESULT_SUCCESS;
-    }
-
-/* XAResult XAMediaPlayerImpl_QueryNumSupportedInterfaces
- * Statically query supported interfaces
- */
-XAresult XAMediaPlayerImpl_QueryNumSupportedInterfaces(
-        XAuint32 * pNumSupportedInterfaces)
-    {
-    DEBUG_API("->XAMediaPlayerImpl_QueryNumSupportedInterfaces");
-
-    if (pNumSupportedInterfaces)
-        {
-        *pNumSupportedInterfaces = MP_ITFCOUNT;
-        DEBUG_API("<-XAMediaPlayerImpl_QueryNumSupportedInterfaces");
-        return XA_RESULT_SUCCESS;
-        }
-    else
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAMediaPlayerImpl_QueryNumSupportedInterfaces");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    }
-
-/* XAResult XAMediaPlayerImpl_QuerySupportedInterfaces
- * Statically query supported interfaces
- */
-XAresult XAMediaPlayerImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID * pInterfaceId)
-    {
-    DEBUG_API("->XAMediaPlayerImpl_QuerySupportedInterfaces");
-
-    if (index >= MP_ITFCOUNT || !pInterfaceId)
-        {
-        if (pInterfaceId)
-            {
-            *pInterfaceId = XA_IID_NULL;
-            }DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XAMediaPlayerImpl_QuerySupportedInterfaces");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-        *pInterfaceId = *(xaMediaPlayerItfIIDs[index]);
-        DEBUG_API("<-XAMediaPlayerImpl_QuerySupportedInterfaces");
-        return XA_RESULT_SUCCESS;
-        }
-    }
-
-/*
- * Realize the object
- */
-XAresult XAMediaPlayerImpl_DoRealize(XAObjectItf self)
-    {
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*) (*self);
-    XAMediaPlayerImpl* pImpl = (XAMediaPlayerImpl*) (pObj);
-    XAuint8 itfIdx = 0;
-    void *pItf = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMediaPlayerImpl_DoRealize");
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    /* check casting from correct pointer type */
-    if (!pImpl || pObj != pImpl->baseObj.self)
-        {
-        /* invalid parameter */
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAMediaPlayerImpl_DoRealize");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* Realize all implicit and explicitly wanted interfaces */
-    for (itfIdx = 0; itfIdx < MP_ITFCOUNT; itfIdx++)
-        {
-        if (!(pObj->interfaceMap[itfIdx].pItf)
-                && pObj->interfaceMap[itfIdx].required)
-            {
-            switch (itfIdx)
-                {
-                case MP_DIMITF:
-                    pItf = XADIMItfImpl_Create();
-                    if (pItf)
-                        {
-                        XADIMItfImpl_Init(pItf, self,
-                                XAMediaPlayerImpl_DoAddItf,
-                                XAMediaPlayerImpl_DoResumeItf,
-                                XAMediaPlayerImpl_DoRemoveItf);
-                        }
-                    break;
-                case MP_PLAYITF:
-                    pItf = XAPlayItfImpl_Create(pImpl);
-                    if (pImpl->dataSrc)
-                        {
-                        XAuint32 locType =
-                                *((XAuint32*) (pImpl->dataSrc->pLocator));
-                        if (locType == XA_DATALOCATOR_IODEVICE)
-                            {
-                            XADataLocator_IODevice
-                                    *ioDevice =
-                                            (XADataLocator_IODevice*) (pImpl->dataSrc->pLocator);
-                            if (ioDevice->deviceType == XA_IODEVICE_CAMERA)
-                                {
-                                vfHandle = (void*) pItf;
-                                DEBUG_INFO_A1("Stored view finder pointer to global address %x", vfHandle);
-                                }
-                            }
-                        else
-                            {
-
-                            }
-                        }
-                    break;
-                case MP_VOLUMEITF:
-                    pItf = XAVolumeItfImpl_Create(pImpl->curAdaptCtx);
-                    break;
-                case MP_SEEKITF:
-                    pItf = XASeekItfImpl_Create(pImpl);
-                    break;
-                case MP_PREFETCHSTATUSITF:
-                    pItf = XAPrefetchStatusItfImpl_Create(pImpl);
-                    break;
-                case MP_METADATAEXTRACTIONITF:
-                    pItf = XAMetadataExtractionItfImpl_Create(
-                            pImpl->curAdaptCtx);
-                    break;
-                case MP_PLAYBACKRATEITF:
-                    pItf = XAPlaybackRateItfImpl_Create(pImpl);
-                    break;
-                case MP_CONFIGEXTENSIONITF:
-                    pItf = XAConfigExtensionsItfImpl_Create();
-                    XAConfigExtensionsItfImpl_SetContext(pItf,
-                            pImpl->curAdaptCtx);
-                    break;
-                case MP_DYNAMICSOURCEITF:
-                    pItf = XADynamicSourceItfImpl_Create(pImpl->curAdaptCtx);
-                    break;
-                case MP_NOKIAVOLUMEEXT:
-                    pItf = XANokiaVolumeExtItfImpl_Create(pImpl->curAdaptCtx);
-                    break;
-                case MP_NOKIALINEARVOLUME:
-                    pItf = XANokiaLinearVolumeItfImpl_Create(
-                            pImpl->curAdaptCtx);
-                    break;
-                case MP_STREAMINFORMATIONITF:
-                    pItf = XAStreamInformationItfImpl_Create(
-                            pImpl->curAdaptCtx);
-                    break;
-                default:
-                    break;
-                }
-            if (!pItf)
-                {
-                /* Memory allocation failed */
-                XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-                DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-                DEBUG_API("<-XAMediaPlayerImpl_DoRealize");
-                return XA_RESULT_MEMORY_FAILURE;
-                }
-            else
-                {
-                pObj->interfaceMap[itfIdx].pItf = pItf;
-                }
-            }
-        }
-    /* init adaptation */
-    if (pImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAMediaPlayerAdaptMMF_PostInit(
-                (XAAdaptationMMFCtx*) pImpl->adaptationCtxMMF);
-        }
-
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-        DEBUG_ERR("Adaptation init failed!");
-        DEBUG_API("<-XAMediaPlayerImpl_DoRealize");
-        return ret;
-        }
-
-    pObj->state = XA_OBJECT_STATE_REALIZED;
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-    DEBUG_API("<-XAMediaPlayerImpl_DoRealize");
-    return XA_RESULT_SUCCESS;
-    }
-
-/*
- * Resume object
- */
-XAresult XAMediaPlayerImpl_DoResume(XAObjectItf self)
-    {
-    DEBUG_API("->XAMediaPlayerImpl_DoResume");
-    DEBUG_API("<-XAMediaPlayerImpl_DoResume");
-    /* suspended state not supported by this implementation */
-    return XA_RESULT_PRECONDITIONS_VIOLATED;
-    }
-
-/**
- * void XAMediaPlayerImpl_FreeResources(XAObjectItf self)
- * Description: Free all resources reserved at XAMediaPlayerImpl_DoRealize()
- **/
-void XAMediaPlayerImpl_FreeResources(XAObjectItf self)
-    {
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*) (*self);
-    XAuint8 itfIdx = 0;
-    XAMediaPlayerImpl* pImpl = (XAMediaPlayerImpl*) pObj;
-    DEBUG_API("->XAMediaPlayerImpl_FreeResources");
-    XA_IMPL_THREAD_SAFETY_ENTRY_FOR_VOID_FUNCTIONS( XATSMediaPlayer );
-
-    assert(pObj && pImpl && pObj == pObj->self);
-    for (itfIdx = 0; itfIdx < MP_ITFCOUNT; itfIdx++)
-        {
-        void *pItf = pObj->interfaceMap[itfIdx].pItf;
-        if (pItf)
-            {
-            switch (itfIdx)
-                {
-                case MP_DIMITF:
-                    XADIMItfImpl_Free(pItf);
-                    break;
-                case MP_PLAYITF:
-                    XAPlayItfImpl_Free(pItf);
-                    break;
-                case MP_VOLUMEITF:
-                    XAVolumeItfImpl_Free(pItf);
-                    break;
-                case MP_SEEKITF:
-                    XASeekItfImpl_Free(pItf);
-                    break;
-                case MP_PREFETCHSTATUSITF:
-                    XAPrefetchStatusItfImpl_Free(pItf);
-                    break;
-                case MP_METADATAEXTRACTIONITF:
-                    XAMetadataExtractionItfImpl_Free(pItf);
-                    break;
-                case MP_PLAYBACKRATEITF:
-                    XAPlaybackRateItfImpl_Free(pItf);
-                    break;
-                case MP_CONFIGEXTENSIONITF:
-                    XAConfigExtensionsItfImpl_Free(pItf);
-                    break;
-                case MP_DYNAMICSOURCEITF:
-                    XADynamicSourceItfImpl_Free(pItf);
-                    break;
-                case MP_NOKIAVOLUMEEXT:
-                    XANokiaVolumeExtItfImpl_Free(pItf);
-                    break;
-                case MP_NOKIALINEARVOLUME:
-                    XANokiaLinearVolumeItfImpl_Free(pItf);
-                    break;
-                case MP_STREAMINFORMATIONITF:
-                    XAStreamInformationItfImpl_Free(pItf);
-                    break;
-
-                }
-            pObj->interfaceMap[itfIdx].pItf = NULL;
-            }
-        }
-
-    if (pImpl->curAdaptCtx)
-        {
-        if (pImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-            {
-            XAMediaPlayerAdaptMMF_Destroy(
-                    (XAAdaptationMMFCtx*) pImpl->adaptationCtxMMF);
-            }
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( XATSMediaPlayer );
-    DEBUG_API("<-XAMediaPlayerImpl_FreeResources");
-    return;
-    }
-
-/* XAMediaPlayerImpl_DoAddItf
- * Dynamically add an interface, object specific parts
- */
-XAresult XAMediaPlayerImpl_DoAddItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry)
-    {
-
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*) (*self);
-    XAMediaPlayerImpl* pImpl = (XAMediaPlayerImpl*) (pObj);
-
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMediaPlayerImpl_DoAddItf");
-
-    if (mapEntry)
-        {
-        switch (mapEntry->mapIdx)
-            {
-
-            case MP_METADATAEXTRACTIONITF:
-                mapEntry->pItf = XAMetadataExtractionItfImpl_Create(
-                        pImpl->curAdaptCtx);
-                break;
-            case MP_PLAYBACKRATEITF:
-                mapEntry->pItf = XAPlaybackRateItfImpl_Create(pImpl);
-                break;
-            default:
-                DEBUG_ERR("XAMediaPlayerImpl_DoAddItf unknown id")
-                ;
-                ret = XA_RESULT_FEATURE_UNSUPPORTED;
-                break;
-            }
-
-        if (!mapEntry->pItf && ret == XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("XAMediaPlayerImpl_DoAddItf itf creation failed");
-            ret = XA_RESULT_MEMORY_FAILURE;
-            }
-        }
-    else
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-
-    DEBUG_API("<-XAMediaPlayerImpl_DoAddItf");
-    return ret;
-    }
-
-/* XAMediaPlayerImpl_DoResumeItf
- * Try to resume lost interface, object specific parts
- */
-XAresult XAMediaPlayerImpl_DoResumeItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry)
-    {
-    /* For now, no difference between suspended and unrealised itfs */
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMediaPlayerImpl_DoResumeItf");
-    ret = XAMediaPlayerImpl_DoAddItf(self, mapEntry);
-    DEBUG_API("<-XAMediaPlayerImpl_DoResumeItf");
-    return ret;
-    }
-
-/* XAMediaPlayerImpl_DoRemoveItf
- * Dynamically remove an interface, object specific parts
- */
-XAresult XAMediaPlayerImpl_DoRemoveItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMediaPlayerImpl_DoRemoveItf");
-
-    if (mapEntry)
-        {
-        switch (mapEntry->mapIdx)
-            {
-            case MP_METADATAEXTRACTIONITF:
-                XAMetadataExtractionItfImpl_Free(mapEntry->pItf);
-                break;
-            case MP_PLAYBACKRATEITF:
-                XAPlaybackRateItfImpl_Free(mapEntry->pItf);
-                break;
-            default:
-                DEBUG_ERR("XAMediaPlayerImpl_DoRemoveItf unknown id")
-                ;
-                ret = XA_RESULT_FEATURE_UNSUPPORTED;
-                break;
-            }
-        mapEntry->pItf = NULL;
-        }
-    else
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-
-    DEBUG_API("<-XAMediaPlayerImpl_DoRemoveItf");
-    return ret;
-    }
-
--- a/khronosfws/openmax_al/src/mediaplayer/xamediaplayer.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: MediaPlayer Object Implementation Header
- *
- */
-
-#ifndef XAMEDIAPLAYER_H
-#define XAMEDIAPLAYER_H
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaobjectitf.h"
-#include "xamediaplayeradaptctxmmf.h"
-#include "xacapabilitiesmgr.h"
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-/* Enumeration for interfaces that MediaPlayer supports.  */
-typedef enum
-    {
-    MP_OBJECTITF,
-    MP_DIMITF,
-    MP_PLAYITF,
-    MP_SEEKITF,
-    MP_VOLUMEITF,
-    MP_PREFETCHSTATUSITF,
-    MP_CONFIGEXTENSIONITF,
-    MP_DYNAMICSOURCEITF,
-    MP_METADATAEXTRACTIONITF,
-    MP_PLAYBACKRATEITF,
-    MP_NOKIAVOLUMEEXT,
-    MP_NOKIALINEARVOLUME,
-    MP_STREAMINFORMATIONITF,
-    MP_ITFCOUNT
-    } MPInterfaces;
-
-/** STRUCTURES **/
-/* Specification for XAMediaPlayerImpl.*/
-typedef struct XAMediaPlayerImpl_
-    {
-    /* Parent for XAMediaPlayerImpl */
-    XAObjectItfImpl baseObj;
-
-    /* variables */
-    XADataSource *dataSrc;
-    XADataSource *bankSrc;
-    XADataSink *audioSnk;
-    XADataSink *imageVideoSnk;
-    XADataSink *vibra;
-    XADataSink *LEDArray;
-    XAuint32 numRequiredInterfaces;
-    XAInterfaceID *requiredItfIds;
-
-    XAAdaptationBaseCtx* curAdaptCtx;
-    XAAdaptationBaseCtx* adaptationCtxGst;
-    XAAdaptationBaseCtx* adaptationCtxMMF;
-
-    } XAMediaPlayerImpl;
-
-/** METHODS **/
-
-/* base object XAObjectItfImpl methods */
-XAresult XAMediaPlayerImpl_DoRealize(XAObjectItf self);
-XAresult XAMediaPlayerImpl_DoResume(XAObjectItf self);
-void XAMediaPlayerImpl_FreeResources(XAObjectItf self);
-
-/* DynamicInterfaceManagement object-specific methods */
-XAresult XAMediaPlayerImpl_DoAddItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-XAresult XAMediaPlayerImpl_DoResumeItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-XAresult XAMediaPlayerImpl_DoRemoveItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-
-#endif /* XAMEDIAPLAYER_H */
--- a/khronosfws/openmax_al/src/mediaplayer/xaplaybackrateitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include "xaplaybackrateitf.h"
-
-#include "xaplaybackrateitfadaptationmmf.h"
-
-#include "xathreadsafety.h"
-
-static XAPlaybackRateItfImpl* GetImpl(XAPlaybackRateItf self)
-{
-    if(self)
-    {
-        XAPlaybackRateItfImpl *impl = (XAPlaybackRateItfImpl*)(*self);
-        if(impl && impl == impl->self)
-        {
-            return impl;
-        }
-    }
-    return NULL;
-}
-
-/**
- * Base interface XAPlaybackRateItf implementation
- */
-XAresult XAPlaybackRateItfImpl_SetRate(XAPlaybackRateItf self, XApermille rate)
-{
-    XAresult res = XA_RESULT_SUCCESS;
-    XAPlaybackRateItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPlaybackRateItfImpl_SetRate");
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    if( !impl )
-    {
-
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlaybackRateItfImpl_SetRate");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    if(impl->adaptCtx->fwtype == FWMgrFWMMF)
-        {
-        res = XAPlaybackRateItfAdaptMMF_SetRate((XAAdaptationMMFCtx*)impl->adaptCtx, rate);
-        }
-    else
-        {
-        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
-        res = XA_RESULT_FEATURE_UNSUPPORTED;          
-        }
-    
-    if(res == XA_RESULT_SUCCESS)
-    {
-        impl->currentRate = rate;
-    }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-    DEBUG_API("<-XAPlaybackRateItfImpl_SetRate");
-    return res;
-}
-
-XAresult XAPlaybackRateItfImpl_GetRate(XAPlaybackRateItf self, XApermille *pRate)
-{
-    XAresult res = XA_RESULT_SUCCESS;
-    XAPlaybackRateItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPlaybackRateItfImpl_GetRate");
-
-    if( !impl || !pRate )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlaybackRateItfImpl_GetRate");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    
-    if(impl->adaptCtx->fwtype == FWMgrFWMMF)
-        {
-        *pRate = impl->currentRate;
-        }
-    else
-        {
-        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
-        res = XA_RESULT_FEATURE_UNSUPPORTED;          
-        }
-
-    DEBUG_API("<-XAPlaybackRateItfImpl_GetRate");
-    return res;
-}
-
-XAresult XAPlaybackRateItfImpl_SetPropertyConstraints(XAPlaybackRateItf self,
-                                                        XAuint32 constraints)
-{
-    XAresult res = XA_RESULT_SUCCESS;
-    XAPlaybackRateItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPlaybackRateItfImpl_SetPropertyConstraints");
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-    if( !impl )
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlaybackRateItfImpl_SetPropertyConstraints");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    
-    if(impl->adaptCtx->fwtype == FWMgrFWMMF)
-        {
-        /* set to adaptation */
-        res = XAPlaybackRateItfAdaptMMF_SetPropertyConstraints((XAAdaptationMMFCtx*)impl->adaptCtx, constraints);
-        }
-    else
-        {
-        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
-        res = XA_RESULT_FEATURE_UNSUPPORTED;          
-        }
-    
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-    DEBUG_API("<-XAPlaybackRateItfImpl_SetPropertyConstraints");
-    return res;
-}
-
-XAresult XAPlaybackRateItfImpl_GetProperties(XAPlaybackRateItf self,
-                                               XAuint32 *pProperties)
-{
-    XAresult res = XA_RESULT_SUCCESS;
-    XAPlaybackRateItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPlaybackRateItfImpl_GetProperties");
-
-    if( !impl || !pProperties )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlaybackRateItfImpl_GetProperties");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-   
-    if(impl->adaptCtx->fwtype == FWMgrFWMMF)
-        {
-        /* needs to be queried from adaptation */
-        res = XAPlaybackRateItfAdaptMMF_GetProperties((XAAdaptationMMFCtx*)impl->adaptCtx, pProperties);
-        }
-    else
-        {
-        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
-        res = XA_RESULT_FEATURE_UNSUPPORTED;          
-        }
-    
-    DEBUG_API("<-XAPlaybackRateItfImpl_GetProperties");
-    return res;
-}
-
-XAresult XAPlaybackRateItfImpl_GetCapabilitiesOfRate(XAPlaybackRateItf self,
-                                                       XApermille rate,
-                                                       XAuint32 *pCapabilities)
-{
-    XAresult res = XA_RESULT_SUCCESS;
-    XAPlaybackRateItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPlaybackRateItfImpl_GetCapabilitiesOfRate");
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-    if( !impl || !pCapabilities )
-    {
-
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlaybackRateItfImpl_GetCapabilitiesOfRate");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    
-    if(impl->adaptCtx->fwtype == FWMgrFWMMF)
-        {
-        /* needs to be queried from adaptation */
-        res = XAPlaybackRateItfAdaptMMF_GetCapabilitiesOfRate((XAAdaptationMMFCtx*)impl->adaptCtx, rate, pCapabilities);
-        }
-    else
-        {
-        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
-        res = XA_RESULT_FEATURE_UNSUPPORTED;          
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-    DEBUG_API("<-XAPlaybackRateItfImpl_GetCapabilitiesOfRate");
-    return res;
-}
-
-XAresult XAPlaybackRateItfImpl_GetRateRange(XAPlaybackRateItf self,
-                                              XAuint8 index,
-                                              XApermille *pMinRate,
-                                              XApermille *pMaxRate,
-                                              XApermille *pStepSize,
-                                              XAuint32 *pCapabilities)
-{
-    XAresult res = XA_RESULT_SUCCESS;
-    XAPlaybackRateItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPlaybackRateItfImpl_GetRateRange");
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-    if( !impl || !pMinRate || !pMaxRate || !pStepSize || !pCapabilities )
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlaybackRateItfImpl_GetRateRange");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    
-    if(impl->adaptCtx->fwtype == FWMgrFWMMF)
-        {
-        /* needs to be queried from adaptation */
-        res = XAPlaybackRateItfAdaptMMF_GetRateRange((XAAdaptationMMFCtx*)impl->adaptCtx, index, pMinRate,
-                                                  pMaxRate,pStepSize, pCapabilities);
-        }
-    else
-        {
-        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
-        res = XA_RESULT_FEATURE_UNSUPPORTED;          
-        }
-    
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-    DEBUG_API("<-XAPlaybackRateItfImpl_GetRateRange");
-    return res;
-}
-
-/**
- * XAPlaybackRateItfImpl -specific methods
- **/
-/**
- * XAPlaybackRateItfImpl* XAPlaybackRateItfImpl_Create();
- * @return  XAPlaybackRateItfImpl* - Pointer to  PlaybackRateItf interface implementation
- **/
-XAPlaybackRateItfImpl* XAPlaybackRateItfImpl_Create( XAMediaPlayerImpl *impl )
-{
-    XAPlaybackRateItfImpl *self = (XAPlaybackRateItfImpl*)
-        calloc(1,sizeof(XAPlaybackRateItfImpl));
-    DEBUG_API("->XAPlaybackRateItfImpl_Create");
-
-    if(self)
-    {
-        /* init itf default implementation */
-        self->itf.GetCapabilitiesOfRate = XAPlaybackRateItfImpl_GetCapabilitiesOfRate;
-        self->itf.GetProperties = XAPlaybackRateItfImpl_GetProperties;
-        self->itf.GetRate = XAPlaybackRateItfImpl_GetRate;
-        self->itf.GetRateRange = XAPlaybackRateItfImpl_GetRateRange;
-        self->itf.SetPropertyConstraints = XAPlaybackRateItfImpl_SetPropertyConstraints;
-        self->itf.SetRate = XAPlaybackRateItfImpl_SetRate;
-
-        /* init variables */
-        self->adaptCtx = impl->curAdaptCtx;
-        self->currentRate = 1000;
-        self->self = self;
-    }
-
-    DEBUG_API("<-XAPlaybackRateItfImpl_Create");
-    return self;
-}
-
-/**
- * void XAPlaybackRateItfImpl_Free(XAPlaybackRateItfImpl* self);
- * @param  XAPlaybackRateItfImpl* self -
- **/
-void XAPlaybackRateItfImpl_Free(XAPlaybackRateItfImpl* self)
-{
-    DEBUG_API("->XAPlaybackRateItfImpl_Free");
-    assert(self==self->self);
-    free(self);
-    DEBUG_API("<-XAPlaybackRateItfImpl_Free");
-}
--- a/khronosfws/openmax_al/src/mediaplayer/xaplaybackrateitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef XAPLAYBACKRATEITF_H
-#define XAPLAYBACKRATEITF_H
-
-#include "xamediaplayer.h"
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XAPlaybackRateItf implementation */
-typedef struct XAPlaybackRateItfImpl_
-{
-    /* parent interface */
-    struct XAPlaybackRateItf_ itf;
-    /* pointer to self */
-    struct XAPlaybackRateItfImpl_* self;
-
-    /* variables */
-    XAAdaptationBaseCtx *adaptCtx;
-    XApermille currentRate;
-
-} XAPlaybackRateItfImpl;
-
-/** METHODS **/
-
-/* Base interface XAPlaybackRateItf implementation */
-XAresult XAPlaybackRateItfImpl_SetRate(XAPlaybackRateItf self, XApermille rate);
-
-XAresult XAPlaybackRateItfImpl_GetRate(XAPlaybackRateItf self, XApermille *pRate);
-
-XAresult XAPlaybackRateItfImpl_SetPropertyConstraints(XAPlaybackRateItf self,
-                                                        XAuint32 constraints);
-
-XAresult XAPlaybackRateItfImpl_GetProperties(XAPlaybackRateItf self,
-                                               XAuint32 *pProperties);
-
-XAresult XAPlaybackRateItfImpl_GetCapabilitiesOfRate(XAPlaybackRateItf self,
-                                                       XApermille rate,
-                                                       XAuint32 *pCapabilities);
-
-XAresult XAPlaybackRateItfImpl_GetRateRange(XAPlaybackRateItf self,
-                                              XAuint8 index,
-                                              XApermille *pMinRate,
-                                              XApermille *pMaxRate,
-                                              XApermille *pStepSize,
-                                              XAuint32 *pCapabilities);
-
-
-/* XAPlaybackRateItfImpl -specific methods */
-XAPlaybackRateItfImpl* XAPlaybackRateItfImpl_Create( XAMediaPlayerImpl *impl );
-void XAPlaybackRateItfImpl_Free(XAPlaybackRateItfImpl* self);
-
-#endif /* XAPLAYBACKRATEITF_H */
--- a/khronosfws/openmax_al/src/mediaplayer/xaplayitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,563 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Play Itf Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#include "xaplayitf.h"
-
-#include "xaplayitfadaptationmmf.h"
-#include "xathreadsafety.h"
-#include <string.h>
-
-void* vfHandle;
-
-/* XAPlayItfImpl* GetImpl
- * Description: Validate interface pointer and cast it to implementation pointer.
- */
-static XAPlayItfImpl* GetImpl(XAPlayItf self)
-    {
-    if (self)
-        {
-        XAPlayItfImpl* impl = (XAPlayItfImpl*) (*self);
-        if (impl && impl == impl->self)
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-/**
- * Base interface XAPlayItf implementation
- */
-
-/**
- * XAresult XAPlayItfImpl_SetPlayState(XAPlayItf self, XAuint32 state)
- * Description: Requests a transition of the player into the given play state.
- **/
-XAresult XAPlayItfImpl_SetPlayState(XAPlayItf self, XAuint32 state)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPlayItfImpl* impl = GetImpl(self);
-    DEBUG_API_A1("->XAPlayItfImpl_SetPlayState %s",PLAYSTATENAME(state));
-
-    if (!impl || state < XA_PLAYSTATE_STOPPED || state > XA_PLAYSTATE_PLAYING)
-        {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_SetPlayState");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAPlayItfAdaptMMF_SetPlayState(impl->pObjImpl->curAdaptCtx,
-                state);
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-    DEBUG_API("<-XAPlayItfImpl_SetPlayState");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfImpl_GetPlayState(XAPlayItf self, XAuint32 *pState)
- * Description: Gets the player's current play state.
- **/
-XAresult XAPlayItfImpl_GetPlayState(XAPlayItf self, XAuint32 *pState)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPlayItfImpl* impl = GetImpl(self);
-
-    DEBUG_API("->XAPlayItfImpl_GetPlayState");
-
-    if (!impl || !pState)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_GetPlayState");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAPlayItfAdaptMMF_GetPlayState(impl->pObjImpl->curAdaptCtx,
-                pState);
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-
-    DEBUG_API_A1("<-XAPlayItfImpl_GetPlayState: %s",PLAYSTATENAME(impl->playbackState));
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfImpl_GetDuration(XAPlayItf self, XAmillisecond *pMsec)
- * Description: Gets the duration of the current content, in milliseconds.
- **/
-XAresult XAPlayItfImpl_GetDuration(XAPlayItf self, XAmillisecond *pMsec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPlayItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XAPlayItfImpl_GetDuration");
-
-    if (!impl || !pMsec)
-        {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_GetDuration");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAPlayItfAdaptMMF_GetDuration(impl->pObjImpl->curAdaptCtx,
-                pMsec);
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-
-    DEBUG_API("<-XAPlayItfImpl_GetDuration");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfImpl_GetPosition(XAPlayItf self, XAmillisecond *pMsec)
- * Description: Returns the current position of the playback head relative
- * to the beginning of the content.
- **/
-XAresult XAPlayItfImpl_GetPosition(XAPlayItf self, XAmillisecond *pMsec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPlayItfImpl* impl = GetImpl(self);
-
-    DEBUG_API("->XAPlayItfImpl_GetPosition");
-
-    if (!impl || !pMsec)
-        {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_GetPosition");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAPlayItfAdaptMMF_GetPosition(impl->pObjImpl->curAdaptCtx,
-                pMsec);
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-    DEBUG_API("<-XAPlayItfImpl_GetPosition");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfImpl_RegisterCallback(XAPlayItf self, xaPlayCallback callback,
- *                                         void *pContext)
- * Description: Sets the playback callback function.
- **/
-XAresult XAPlayItfImpl_RegisterCallback(XAPlayItf self,
-        xaPlayCallback callback, void *pContext)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPlayItfImpl* impl = GetImpl(self);
-
-    DEBUG_API("->XAPlayItfImpl_RegisterCallback");
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_RegisterCallback");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* callback may be NULL (to remove callback) */
-    impl->callback = callback;
-    impl->cbcontext = pContext;
-    impl->cbPtrToSelf = self;
-
-    // No need to do anything else if radio:
-    if (((XAMediaPlayerAdaptationMMFCtx*) impl->pObjImpl->curAdaptCtx)->isForRadio
-            == XA_BOOLEAN_TRUE)
-        {
-        DEBUG_API("<-XAPlayItfImpl_RegisterCallback");
-        return ret;
-        }
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAPlayItfAdaptMMF_RegisterCallback(impl->pObjImpl->curAdaptCtx,
-                callback);
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-
-    DEBUG_API("<-XAPlayItfImpl_RegisterCallback");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfImpl_SetCallbackEventsMask(XAPlayItf self, XAuint32 eventFlags)
- * Description: Enables/disables notification of playback events.
- **/
-XAresult XAPlayItfImpl_SetCallbackEventsMask(XAPlayItf self,
-        XAuint32 eventFlags)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPlayItfImpl* impl = GetImpl(self);
-
-    DEBUG_API("->XAPlayItfImpl_SetCallbackEventsMask");
-
-    if (!impl || (eventFlags > (XA_PLAYEVENT_HEADATEND
-            | XA_PLAYEVENT_HEADATMARKER | XA_PLAYEVENT_HEADATNEWPOS
-            | XA_PLAYEVENT_HEADMOVING | XA_PLAYEVENT_HEADSTALLED)))
-        {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_SetCallbackEventsMask");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    impl->eventFlags = eventFlags;
-
-    if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAPlayItfAdaptMMF_SetCallbackEventsMask(
-                impl->pObjImpl->curAdaptCtx, eventFlags);
-
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-        DEBUG_API("<-XAPlayItfImpl_SetCallbackEventsMask");
-        return ret;
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-    DEBUG_API("<-XAPlayItfImpl_SetCallbackEventsMask");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfImpl_GetCallbackEventsMask(XAPlayItf self, XAuint32 *pEventFlags)
- * Description: Queries for the notification state (enabled/disabled) of playback events.
- **/
-XAresult XAPlayItfImpl_GetCallbackEventsMask(XAPlayItf self,
-        XAuint32 *pEventFlags)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPlayItfImpl* impl = GetImpl(self);
-
-    DEBUG_API("->XAPlayItfImpl_GetCallbackEventsMask");
-    if (!impl || !pEventFlags)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_GetCallbackEventsMask");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pEventFlags = impl->eventFlags;
-
-    DEBUG_API("<-XAPlayItfImpl_GetCallbackEventsMask");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfImpl_SetMarkerPosition(XAPlayItf self, XAmillisecond mSec)
- * Description: Sets the position of the playback marker.
- **/
-XAresult XAPlayItfImpl_SetMarkerPosition(XAPlayItf self, XAmillisecond mSec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAmillisecond duration = 0;
-    XAPlayItfImpl* impl = GetImpl(self);
-
-    DEBUG_API_A1("->XAPlayItfImpl_SetMarkerPosition: %lu ms", mSec);
-
-    /* Get duration of the content */
-    if (XAPlayItfImpl_GetDuration(self, &duration) != XA_RESULT_SUCCESS)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_SetMarkerPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (!impl || mSec > duration)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_SetMarkerPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->markerPosition = mSec;
-    impl->isMarkerPosCbSend = XA_BOOLEAN_FALSE;
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAPlayItfAdaptMMF_SetMarkerPosition(
-                impl->pObjImpl->curAdaptCtx, mSec);
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-
-    DEBUG_API("<-XAPlayItfImpl_SetMarkerPosition");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfImpl_ClearMarkerPosition(XAPlayItf self)
- * Description: Clears marker.
- **/
-XAresult XAPlayItfImpl_ClearMarkerPosition(XAPlayItf self)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPlayItfImpl* impl = GetImpl(self);
-
-    DEBUG_API("->XAPlayItfImpl_ClearMarkerPosition");
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_ClearMarkerPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->isMarkerPosCbSend = XA_BOOLEAN_FALSE;
-    impl->markerPosition = NO_POSITION;
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAPlayItfAdaptMMF_ClearMarkerPosition(
-                impl->pObjImpl->curAdaptCtx);
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-
-    DEBUG_API("<-XAPlayItfImpl_ClearMarkerPosition");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfImpl_GetMarkerPosition(XAPlayItf self, XAmillisecond *pMsec)
- * Description: Queries the position of playback marker.
- **/
-XAresult XAPlayItfImpl_GetMarkerPosition(XAPlayItf self, XAmillisecond *pMsec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPlayItfImpl* impl = GetImpl(self);
-
-    DEBUG_API("->XAPlayItfImpl_GetMarkerPosition");
-    if (!impl || !pMsec)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_GetMarkerPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->markerPosition == NO_POSITION)
-        {
-        DEBUG_ERR("XA_RESULT_PRECONDITIONS_VIOLATED");
-        DEBUG_API("<-XAPlayItfImpl_GetMarkerPosition");
-        /*marker is not set */
-        return XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-
-    *pMsec = impl->markerPosition;
-
-    DEBUG_API("<-XAPlayItfImpl_GetMarkerPosition");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfImpl_SetPositionUpdatePeriod(XAPlayItf self, XAmillisecond mSec)
- * Description: Sets the interval between periodic position notifications.
- **/
-XAresult XAPlayItfImpl_SetPositionUpdatePeriod(XAPlayItf self,
-        XAmillisecond mSec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPlayItfImpl* impl = GetImpl(self);
-
-    DEBUG_API_A1("->XAPlayItfImpl_SetPositionUpdatePeriod, %lu mSec", mSec);
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_SetPositionUpdatePeriod");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    impl->positionUpdatePeriod = mSec;
-
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAPlayItfAdaptMMF_SetPositionUpdatePeriod(
-                impl->pObjImpl->curAdaptCtx, mSec);
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-
-    DEBUG_API("<-XAPlayItfImpl_SetPositionUpdatePeriod");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfImpl_GetPositionUpdatePeriod(XAPlayItf self, XAmillisecond *pMsec)
- * Description: Queries the interval between periodic position notifications.
- **/
-XAresult XAPlayItfImpl_GetPositionUpdatePeriod(XAPlayItf self,
-        XAmillisecond *pMsec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPlayItfImpl* impl = GetImpl(self);
-
-    DEBUG_API("->XAPlayItfImpl_GetPositionUpdatePeriod");
-    if (!impl || !pMsec)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPlayItfImpl_GetPositionUpdatePeriod");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pMsec = impl->positionUpdatePeriod;
-
-    DEBUG_API("<-XAPlayItfImpl_GetPositionUpdatePeriod");
-    return ret;
-    }
-
-/**
- * XAPlayItfImpl -specific methods
- **/
-
-/**
- * XAPlayItfImpl* XAPlayItfImpl_Create()
- * Description: Allocate and initialize PlayItfImpl
- **/
-XAPlayItfImpl* XAPlayItfImpl_Create(XAMediaPlayerImpl *impl)
-    {
-    XAPlayItfImpl *self;
-
-    DEBUG_API("->XAPlayItfImpl_Create");
-    self = (XAPlayItfImpl*) calloc(1, sizeof(XAPlayItfImpl));
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.ClearMarkerPosition = XAPlayItfImpl_ClearMarkerPosition;
-        self->itf.GetCallbackEventsMask = XAPlayItfImpl_GetCallbackEventsMask;
-        self->itf.GetDuration = XAPlayItfImpl_GetDuration;
-        self->itf.GetMarkerPosition = XAPlayItfImpl_GetMarkerPosition;
-        self->itf.GetPlayState = XAPlayItfImpl_GetPlayState;
-        self->itf.GetPosition = XAPlayItfImpl_GetPosition;
-        self->itf.GetPositionUpdatePeriod
-                = XAPlayItfImpl_GetPositionUpdatePeriod;
-        self->itf.RegisterCallback = XAPlayItfImpl_RegisterCallback;
-        self->itf.SetCallbackEventsMask = XAPlayItfImpl_SetCallbackEventsMask;
-        self->itf.SetMarkerPosition = XAPlayItfImpl_SetMarkerPosition;
-        self->itf.SetPlayState = XAPlayItfImpl_SetPlayState;
-        self->itf.SetPositionUpdatePeriod
-                = XAPlayItfImpl_SetPositionUpdatePeriod;
-
-        /* init variables */
-        self->callback = NULL;
-        self->cbcontext = NULL;
-        self->playbackState = XA_PLAYSTATE_STOPPED;
-        self->eventFlags = 0;
-        self->markerPosition = NO_POSITION;
-        self->positionUpdatePeriod = PLAYITF_DEFAULT_UPDATE_PERIOD;
-        self->lastPosition = START_POSITION;
-        /*self->adapCtx = impl->curAdaptCtx;*/
-        self->pObjImpl = impl;
-        self->cbPtrToSelf = NULL;
-        self->isMarkerPosCbSend = XA_BOOLEAN_FALSE;
-
-        /*        XAAdaptationBase_AddEventHandler( self->adapCtx, &XAPlayItfImpl_AdaptCb, XA_PLAYITFEVENTS, self );*/
-        XAAdaptationBase_AddEventHandler(self->pObjImpl->curAdaptCtx,
-                &XAPlayItfImpl_AdaptCb, XA_PLAYITFEVENTS, self);
-
-        self->self = self;
-        }
-
-    DEBUG_API("<-XAPlayItfImpl_Create");
-    return self;
-    }
-
-/* void XAPlayItfImpl_Free(XAPlayItfImpl* self)
- * Description: Free all resources reserved at XAPlayItfImpl_Create
- */
-void XAPlayItfImpl_Free(XAPlayItfImpl* self)
-    {
-    DEBUG_API("->XAPlayItfImpl_Free");
-    assert(self==self->self);
-    /*    XAAdaptationBase_RemoveEventHandler( self->adapCtx, &XAPlayItfImpl_AdaptCb );*/
-    XAAdaptationBase_RemoveEventHandler(self->pObjImpl->curAdaptCtx,
-            &XAPlayItfImpl_AdaptCb);
-    free(self);
-    DEBUG_API("<-XAPlayItfImpl_Free");
-    }
-
-/* void XAPlayItfImpl_AdaptCb
- * Description: Listen changes in adaptation
- */
-void XAPlayItfImpl_AdaptCb(void *pHandlerCtx, XAAdaptEvent *event)
-    {
-    XAPlayItfImpl* impl = (XAPlayItfImpl*) pHandlerCtx;
-
-    DEBUG_API("->XAPlayItfImpl_AdaptCb");
-    XA_IMPL_THREAD_SAFETY_ENTRY_FOR_VOID_FUNCTIONS( XATSMediaPlayer );
-    if (!impl)
-        {
-        DEBUG_ERR("XAPlayItfImpl_AdaptCb, invalid context pointer!");
-        DEBUG_API("<-XAPlayItfImpl_AdaptCb");
-        XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( XATSMediaPlayer );
-        return;
-        }
-    assert(event);
-
-    if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        impl->callback(impl->cbPtrToSelf, impl->cbcontext, event->eventid);
-        DEBUG_API("<-XAPlayItfImpl_AdaptCb");
-        XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( XATSMediaPlayer );
-        return;
-        }
-
-    DEBUG_API("<-XAPlayItfImpl_AdaptCb");
-    XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( XATSMediaPlayer );
-    }
-
--- a/khronosfws/openmax_al/src/mediaplayer/xaplayitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Play Itf Header
- *
- */
-
-#ifndef XAPLAYITF_H
-#define XAPLAYITF_H
-
-#include "xaadptbasectx.h"
-#include "xamediaplayer.h"
-
-/** MACROS **/
-#define NO_POSITION XA_TIME_UNKNOWN
-#define PLAYITF_DEFAULT_UPDATE_PERIOD 1000
-#define START_POSITION 0
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XAPlayItf implementation */
-typedef struct XAPlayItfImpl_
-    {
-    /* parent interface */
-    struct XAPlayItf_ itf;
-    /* pointer to self */
-    struct XAPlayItfImpl_* self;
-
-    /* variables */
-    XAPlayItf cbPtrToSelf;
-    /* TODO : This is no longer needed we need to get state from XAMediaPlayerImpl
-     * Delete this.*/
-    XAuint32 playbackState;
-
-    xaPlayCallback callback;
-    void *cbcontext;
-    XAuint32 eventFlags;
-    XAmillisecond markerPosition;
-    XAmillisecond positionUpdatePeriod;
-    XAboolean positionupdateOn;
-    XAmillisecond lastPosition;
-    XAboolean isMarkerPosCbSend;
-
-    /*Adaptation variables*/
-    /* TODO : This is no longer needed since we have access to XAMediaPlayerImpl
-     * Delete this.*/
-    XAAdaptationBaseCtx *adapCtx;
-
-    XAMediaPlayerImpl* pObjImpl;
-
-    } XAPlayItfImpl;
-
-/** METHODS **/
-
-/* Base interface XAPlayItf implementation */
-XAresult XAPlayItfImpl_SetPlayState(XAPlayItf self, XAuint32 state);
-
-XAresult XAPlayItfImpl_GetPlayState(XAPlayItf self, XAuint32 *pState);
-
-XAresult XAPlayItfImpl_GetDuration(XAPlayItf self, XAmillisecond *pMsec);
-
-XAresult XAPlayItfImpl_GetPosition(XAPlayItf self, XAmillisecond *pMsec);
-
-XAresult XAPlayItfImpl_RegisterCallback(XAPlayItf self,
-        xaPlayCallback callback, void *pContext);
-
-XAresult XAPlayItfImpl_SetCallbackEventsMask(XAPlayItf self,
-        XAuint32 eventFlags);
-
-XAresult XAPlayItfImpl_GetCallbackEventsMask(XAPlayItf self,
-        XAuint32 *pEventFlags);
-
-XAresult XAPlayItfImpl_SetMarkerPosition(XAPlayItf self, XAmillisecond mSec);
-
-XAresult XAPlayItfImpl_ClearMarkerPosition(XAPlayItf self);
-
-XAresult
-        XAPlayItfImpl_GetMarkerPosition(XAPlayItf self, XAmillisecond *pMsec);
-
-XAresult XAPlayItfImpl_SetPositionUpdatePeriod(XAPlayItf self,
-        XAmillisecond mSec);
-
-XAresult XAPlayItfImpl_GetPositionUpdatePeriod(XAPlayItf self,
-        XAmillisecond *pMsec);
-
-/*
- * implementation-specific methods
- */
-XAPlayItfImpl* XAPlayItfImpl_Create(XAMediaPlayerImpl *impl);
-void XAPlayItfImpl_AdaptCb(void *pHandlerCtx, XAAdaptEvent *event);
-void XAPlayItfImpl_Free(XAPlayItfImpl* self);
-
-#endif /* XAPLAYITF_H */
--- a/khronosfws/openmax_al/src/mediaplayer/xaprefetchstatusitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,269 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#include "xaprefetchstatusitf.h"
-
-#include "xaadaptationgst.h"
-
-
-static XAPrefetchStatusItfImpl* GetImpl(XAPrefetchStatusItf self)
-{
-    if(self)
-    {
-        XAPrefetchStatusItfImpl* impl = (XAPrefetchStatusItfImpl*)(*self);
-        if(impl && impl == impl->self)
-        {
-            return impl;
-        }
-    }
-    return NULL;
-}
-
-XAresult XAPrefetchStatusItfImpl_GetPrefetchStatus(XAPrefetchStatusItf self,
-                                                   XAuint32 *pStatus)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPrefetchStatusItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPrefetchStatusItfImpl_GetPrefetchStatus");
-
-    if(!impl || !pStatus )
-    {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPrefetchStatusItfImpl_GetPrefetchStatus");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    *pStatus = impl->pStatus;
-
-    DEBUG_API("<-XAPrefetchStatusItfImpl_GetPrefetchStatus");
-    return ret;
-}
-
-XAresult XAPrefetchStatusItfImpl_GetFillLevel(XAPrefetchStatusItf self,
-                                              XApermille *pLevel)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPrefetchStatusItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPrefetchStatusItfImpl_GetFillLevel");
-
-    if(!impl || !pLevel)
-    {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPrefetchStatusItfImpl_GetFillLevel");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    *pLevel = impl->pLevel;
-
-    DEBUG_API("<-XAPrefetchStatusItfImpl_GetFillLevel");
-    return ret;
-}
-
-XAresult XAPrefetchStatusItfImpl_RegisterCallback(XAPrefetchStatusItf self,
-                                                  xaPrefetchCallback callback,
-                                                  void *pContext)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPrefetchStatusItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPrefetchStatusItfImpl_RegisterCallback");
-
-    if(!impl)
-    {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPrefetchStatusItfImpl_RegisterCallback");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    /* Can be null to reset callback */
-    impl->callback = callback;
-    impl->cbcontext = pContext;
-    impl->cbPtrToSelf = self;
-
-    DEBUG_API("<-XAPrefetchStatusItfImpl_RegisterCallback");
-    return ret;
-}
-
-XAresult XAPrefetchStatusItfImpl_SetCallbackEventsMask(XAPrefetchStatusItf self,
-                                                       XAuint32 eventFlags)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPrefetchStatusItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPrefetchStatusItfImpl_SetCallbackEventsMask");
-
-    if(!impl  )
-    {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPrefetchStatusItfImpl_SetCallbackEventsMask");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    impl->eventFlags = eventFlags;
-
-    DEBUG_API("<-XAPrefetchStatusItfImpl_SetCallbackEventsMask");
-    return ret;
-}
-
-XAresult XAPrefetchStatusItfImpl_GetCallbackEventsMask(XAPrefetchStatusItf self,
-                                                       XAuint32 *pEventFlags)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPrefetchStatusItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPrefetchStatusItfImpl_GetCallbackEventsMask");
-
-    if(!impl || !pEventFlags)
-    {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPrefetchStatusItfImpl_GetCallbackEventsMask");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    *pEventFlags = impl->eventFlags;
-
-    DEBUG_API("<-XAPrefetchStatusItfImpl_GetCallbackEventsMask");
-    return ret;
-}
-
-XAresult XAPrefetchStatusItfImpl_SetFillUpdatePeriod(XAPrefetchStatusItf self,
-                                                     XApermille period)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPrefetchStatusItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPrefetchStatusItfImpl_SetFillUpdatePeriod");
-
-    if(!impl || period == 0 || period > 1000 )
-    {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPrefetchStatusItfImpl_SetFillUpdatePeriod");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    impl->fillUpdatePeriod = period;
-
-    DEBUG_API("<-XAPrefetchStatusItfImpl_SetFillUpdatePeriod");
-    return ret;
-}
-
-XAresult XAPrefetchStatusItfImpl_GetFillUpdatePeriod(XAPrefetchStatusItf self,
-                                                     XApermille *pPeriod)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAPrefetchStatusItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XAPrefetchStatusItfImpl_GetFillUpdatePeriod");
-
-    if(!impl || !pPeriod)
-    {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAPrefetchStatusItfImpl_GetFillUpdatePeriod");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    *pPeriod = impl->fillUpdatePeriod;
-
-    DEBUG_API("<-XAPrefetchStatusItfImpl_GetFillUpdatePeriod");
-    return ret;
-}
-
-/*
- * implementation-specific methods
- */
-XAPrefetchStatusItfImpl* XAPrefetchStatusItfImpl_Create( XAMediaPlayerImpl* impl )
-{
-    XAPrefetchStatusItfImpl *self = (XAPrefetchStatusItfImpl*)
-        calloc(1,sizeof(XAPrefetchStatusItfImpl));
-    DEBUG_API("->XAPrefetchStatusItfImpl_Create");
-
-    if(self)
-    {
-        /* init itf default implementation */
-        self->itf.GetCallbackEventsMask = XAPrefetchStatusItfImpl_GetCallbackEventsMask;
-        self->itf.GetFillLevel = XAPrefetchStatusItfImpl_GetFillLevel;
-        self->itf.GetFillUpdatePeriod = XAPrefetchStatusItfImpl_GetFillUpdatePeriod;
-        self->itf.GetPrefetchStatus = XAPrefetchStatusItfImpl_GetPrefetchStatus;
-        self->itf.RegisterCallback = XAPrefetchStatusItfImpl_RegisterCallback;
-        self->itf.SetCallbackEventsMask = XAPrefetchStatusItfImpl_SetCallbackEventsMask;
-        self->itf.SetFillUpdatePeriod = XAPrefetchStatusItfImpl_SetFillUpdatePeriod;
-
-        self->callback = NULL;
-        self->cbcontext = NULL;
-        self->eventFlags = 0;
-        self->fillUpdatePeriod = PREFETCHSTATUSITF_DEFAULT_UPDATE_PERIOD;
-        self->pStatus = XA_PREFETCHSTATUS_SUFFICIENTDATA;
-        self->adaptationCtx = impl->curAdaptCtx;
-        self->cbPtrToSelf = NULL;
-
-        XAAdaptationBase_AddEventHandler( self->adaptationCtx, &XAPrefetchStatusItfImpl_AdaptCb, XA_PREFETCHITFEVENTS, self );
-
-        self->self = self;
-    }
-
-    DEBUG_API("<-XAPrefetchStatusItfImpl_Create");
-    return self;
-}
-
-
-void XAPrefetchStatusItfImpl_Free(XAPrefetchStatusItfImpl* self)
-{
-    DEBUG_API("->XAPrefetchStatusItfImpl_Free");
-    assert(self==self->self);
-    XAAdaptationBase_RemoveEventHandler( (XAAdaptationBaseCtx*)self->adaptationCtx, &XAPrefetchStatusItfImpl_AdaptCb );
-    free(self);
-    DEBUG_API("<-XAPrefetchStatusItfImpl_Free");
-}
-
-/* void XAPrefetchStatusItfImpl_AdaptCb
- * Description: Listen changes in adaptation
- */
-void XAPrefetchStatusItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event )
-{
-    XAPrefetchStatusItfImpl* impl = (XAPrefetchStatusItfImpl*)pHandlerCtx;
-    DEBUG_API("->XAPrefetchStatusItfImpl_AdaptCb");
-    if(!impl)
-    {
-        DEBUG_ERR("XAPrefetchStatusItfImpl_AdaptCb, invalid context pointer!");
-        DEBUG_API("<-XAPrefetchStatusItfImpl_AdaptCb");
-        return;
-    }
-    assert(event);
-    if( event->eventid == XA_ADAPT_BUFFERING )
-    {
-        /* Adaptation sends percents convert it to permille */
-        impl->fillUpdatePeriod = ((*(XAint32*)(event->data))*10);
-
-        /*Check do we have to send event */
-        if( impl->callback && impl->eventFlags & XA_PREFETCHEVENT_FILLLEVELCHANGE )
-        {
-            if ( (*(XAint32*)event->data) >  impl->fillUpdatePeriod / 10 )
-            {
-                impl->callback(impl->cbPtrToSelf, impl->cbcontext, XA_PREFETCHEVENT_FILLLEVELCHANGE);
-            }
-        }
-    }
-
-    DEBUG_API("<-XAPrefetchStatusItfImpl_AdaptCb");
-}
-
--- a/khronosfws/openmax_al/src/mediaplayer/xaprefetchstatusitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef XAPREFETCHSTATUSITF_H_
-#define XAPREFETCHSTATUSITF_H_
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaadptbasectx.h"
-#include "xamediaplayer.h"
-
-#define PREFETCHSTATUSITF_DEFAULT_UPDATE_PERIOD 100
-
-/*
- * implementation declaration
- */
-typedef struct XAPrefetchStatusItfImpl_
-{
-    /* "inherit" interface */
-    struct XAPrefetchStatusItf_ itf;
-    /* pointer to self */
-    struct XAPrefetchStatusItfImpl_* self;
-
-    /* variables */
-
-    XAuint32 pStatus;
-    XApermille pLevel;
-
-    XAPrefetchStatusItf cbPtrToSelf;
-    xaPrefetchCallback  callback;
-    void                *cbcontext;
-    XAuint32            eventFlags;
-    XApermille          fillUpdatePeriod;
-    XAAdaptationBaseCtx* adaptationCtx;
-}XAPrefetchStatusItfImpl;
-
-/**
- * XAPrefetchStatusItf interface implementation
- */
-XAresult XAPrefetchStatusItfImpl_GetPrefetchStatus(XAPrefetchStatusItf self,
-                                                     XAuint32 *pStatus);
-
-XAresult XAPrefetchStatusItfImpl_GetFillLevel(XAPrefetchStatusItf self,
-                                                XApermille *pLevel);
-
-XAresult XAPrefetchStatusItfImpl_RegisterCallback(XAPrefetchStatusItf self,
-                                                    xaPrefetchCallback callback,
-                                                    void *pContext);
-
-XAresult XAPrefetchStatusItfImpl_SetCallbackEventsMask(XAPrefetchStatusItf self,
-                                                         XAuint32 eventFlags);
-
-XAresult XAPrefetchStatusItfImpl_GetCallbackEventsMask(XAPrefetchStatusItf self,
-                                                         XAuint32 *pEventFlags);
-
-XAresult XAPrefetchStatusItfImpl_SetFillUpdatePeriod(XAPrefetchStatusItf self,
-                                                       XApermille period);
-
-XAresult XAPrefetchStatusItfImpl_GetFillUpdatePeriod(XAPrefetchStatusItf self,
-                                                       XApermille *pPeriod);
-
-
-
-/*
- * implementation-specific methods
- */
-XAPrefetchStatusItfImpl* XAPrefetchStatusItfImpl_Create(  XAMediaPlayerImpl* impl );
-void XAPrefetchStatusItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event );
-void XAPrefetchStatusItfImpl_Free(XAPrefetchStatusItfImpl* self);
-
-#endif /* XAPREFETCHSTATUSITF_H_ */
--- a/khronosfws/openmax_al/src/mediaplayer/xaseekitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,251 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Seek Itf Implementation
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#include "xaseekitf.h"
-#include "xathreadsafety.h"
-#include "xaplayitfadaptationmmf.h"
-#include "xaseekitfadaptationmmf.h"
-/**
- * XASeekItfImpl* GetImpl(XASeekItf self)
- * Description: Validate interface pointer and cast it to implementation pointer.
- */
-static XASeekItfImpl* GetImpl(XASeekItf self)
-    {
-    if (self)
-        {
-        XASeekItfImpl* impl = (XASeekItfImpl*) (*self);
-        if (impl && impl == impl->self)
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-/**
- * Base interface XASeekItf implementation
- */
-
-/**
- * XAresult XASeekItfImpl_SetPosition(XASeekItf self, XAmillisecond pos,
- *                                    XAuint32 seekMode)
- * Description: Sets the position of the playback head.
- **/
-XAresult XASeekItfImpl_SetPosition(XASeekItf self, XAmillisecond pos,
-        XAuint32 seekMode)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAmillisecond duration = 0;
-    XASeekItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XASeekItfImpl_SetPosition");
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    if (!impl)
-        {
-        /* invalid parameter */
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XASeekItfImpl_SetPosition");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->adapCtx->fwtype == FWMgrFWMMF)
-        {
-        /* Get duration of the content */
-        if (XAPlayItfAdaptMMF_GetDuration(
-                (XAAdaptationBaseCtx*) impl->adapCtx, &duration)
-                != XA_RESULT_SUCCESS)
-            {
-            /* invalid parameter */
-            XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XASeekItfImpl_SetPosition");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        if (pos > duration)
-            {
-            /* invalid parameter */
-            XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XASeekItfImpl_SetPosition");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-
-        if (seekMode != XA_SEEKMODE_FAST && seekMode != XA_SEEKMODE_ACCURATE)
-            {
-            /* seek mode unsupported */
-            XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-            DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
-            DEBUG_API("<-XASeekItfImpl_SetPosition");
-            return XA_RESULT_FEATURE_UNSUPPORTED;
-            }
-
-        ret = XASeekItfAdaptMMF_SetPosition(impl->adapCtx, pos, seekMode);
-        if (ret == XA_RESULT_SUCCESS)
-            {
-            impl->playbackPosition = pos;
-            impl->seekMode = seekMode;
-            }
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-    DEBUG_API("<-XASeekItfImpl_SetPosition");
-    return ret;
-    }
-
-/**
- * XAresult XASeekItfImpl_SetLoop(XASeekItf self, XAboolean loopEnable,
- *                                XAmillisecond startPos, XAmillisecond endPos)
- * Description: Enables or disables looping and sets the start and end points of looping.
- **/
-XAresult XASeekItfImpl_SetLoop(XASeekItf self, XAboolean loopEnable,
-        XAmillisecond startPos, XAmillisecond endPos)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAmillisecond duration = 0;
-    XASeekItfImpl* impl = GetImpl(self);
-    DEBUG_API_A2("->XASeekItfImpl_SetLoop, startPos:%lu, endPos:%lu", startPos, endPos);
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaPlayer );
-
-    if (!impl || (startPos > endPos))
-        {
-        /* invalid parameter */
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XASeekItfImpl_SetLoop");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->adapCtx->fwtype == FWMgrFWMMF)
-        {
-        /* Get duration of the content */
-        if (XAPlayItfAdaptMMF_GetDuration(
-                (XAAdaptationBaseCtx*) impl->adapCtx, &duration)
-                != XA_RESULT_SUCCESS)
-            {
-            /* invalid parameter */
-            XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XASeekItfImpl_SetLoop");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        if (endPos > duration && endPos != XA_TIME_UNKNOWN)
-            {
-            /* invalid parameter */
-            XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XASeekItfImpl_SetLoop");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-
-        ret = XASeekItfAdaptMMF_SetLoop(impl->adapCtx, loopEnable, startPos,
-                endPos);
-        if (ret == XA_RESULT_SUCCESS)
-            {
-            impl->loopEnable = loopEnable;
-            impl->startPos = startPos;
-            impl->endPos = endPos;
-            }
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-    DEBUG_API("<-XASeekItfImpl_SetLoop");
-    return ret;
-    }
-
-/**
- * XAresult XASeekItfImpl_GetLoop(XASeekItf self, XAboolean *pLoopEnabled,
- *                                XAmillisecond *pStartPos,
- *                                XAmillisecond *pEndPos)
- * Description: Queries whether looping is enabled or disabled, and retrieves loop points.
- **/
-XAresult XASeekItfImpl_GetLoop(XASeekItf self, XAboolean *pLoopEnabled,
-        XAmillisecond *pStartPos, XAmillisecond *pEndPos)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    XASeekItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XASeekItfImpl_GetLoop");
-
-    if (!impl || !pLoopEnabled || !pStartPos || !pEndPos)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XASeekItfImpl_GetLoop");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pLoopEnabled = impl->loopEnable;
-    *pStartPos = impl->startPos;
-    *pEndPos = impl->endPos;
-
-    DEBUG_API("<-XASeekItfImpl_GetLoop");
-    return ret;
-    }
-
-/**
- * XASeekItfImpl -specific methods
- **/
-
-/**
- * XASeekItfImpl* XASeekItfImpl_Create()
- * Description: Allocate and initialize SeekItfImpl.
- **/
-XASeekItfImpl* XASeekItfImpl_Create(XAMediaPlayerImpl* impl)
-    {
-    XASeekItfImpl *self = (XASeekItfImpl*) calloc(1, sizeof(XASeekItfImpl));
-    DEBUG_API("->XASeekItfImpl_Create");
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.GetLoop = XASeekItfImpl_GetLoop;
-        self->itf.SetLoop = XASeekItfImpl_SetLoop;
-        self->itf.SetPosition = XASeekItfImpl_SetPosition;
-
-        /* init variables */
-        self->playbackPosition = 0;
-        self->seekMode = 0;
-        self->loopEnable = XA_BOOLEAN_FALSE;
-        self->startPos = 0;
-        self->endPos = 0;
-
-        self->adapCtx = impl->curAdaptCtx;
-
-        self->self = self;
-        }
-    DEBUG_API("<-XASeekItfImpl_Create");
-    return self;
-    }
-
-/**
- * void XASeekItfImpl_Free(XASeekItfImpl* self)
- * Description: Free all resources reserved at XASeekItfImpl_Create.
- **/
-void XASeekItfImpl_Free(XASeekItfImpl* self)
-    {
-    DEBUG_API("->XASeekItfImpl_Free");
-    if(self)
-        {
-        assert(self==self->self);
-        free(self);
-        }
-    DEBUG_API("<-XASeekItfImpl_Free");
-    }
--- a/khronosfws/openmax_al/src/mediaplayer/xaseekitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: Seek Interface Header
-*
-*/
-
-#ifndef XASEEKITF_H
-#define XASEEKITF_H
-
-#include "xamediaplayer.h"
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XASeekItf implementation */
-typedef struct XASeekItfImpl_
-{
-    /* parent interface */
-    struct XASeekItf_ itf;
-    /* pointer to self */
-    struct XASeekItfImpl_* self;
-
-    /* variables */
-    XAmillisecond playbackPosition;
-    XAuint32 seekMode;
-    XAboolean loopEnable;
-    XAmillisecond startPos;
-    XAmillisecond endPos;
-
-    /*Adaptation variables*/
-    XAAdaptationBaseCtx *adapCtx;
-}XASeekItfImpl;
-
-/** METHODS **/
-
-/* Base interface XASeekItf implementation */
-XAresult XASeekItfImpl_SetPosition(XASeekItf self, XAmillisecond pos,
-                                   XAuint32 seekMode);
-
-XAresult XASeekItfImpl_SetLoop(XASeekItf self, XAboolean loopEnable,
-                               XAmillisecond startPos,
-                               XAmillisecond endPos);
-
-XAresult XASeekItfImpl_GetLoop(XASeekItf self, XAboolean *pLoopEnabled,
-                               XAmillisecond *pStartPos,
-                               XAmillisecond *pEndPos);
-
-/* XASeekItfImpl -specific methods */
-XASeekItfImpl* XASeekItfImpl_Create( XAMediaPlayerImpl* impl );
-void XASeekItfImpl_Free(XASeekItfImpl* self);
-
-#endif /* XASEEKITF_H */
--- a/khronosfws/openmax_al/src/mediarecorder/xaaudioencoderitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,313 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: 
- *
- */
-
-#include <assert.h>
-#include "xamediarecorderadaptctxmmf.h"
-#include "xaaudioencoderitf.h"
-#include "xaaudioencoderitfadaptation.h"
-#include "xarecorditfadaptation.h"
-#include "xathreadsafety.h"
-#include "cmmfbackendengine.h"
-#include "xacapabilitiesmgr.h"
-
-/* XAAudioEncoderItfImpl* GetImpl(XAAudioEncoderItf self)
- * Description: Validate interface pointer and cast it to implementation pointer.
- **/
-static XAAudioEncoderItfImpl* GetImpl(XAAudioEncoderItf self)
-    {
-    if (self)
-        {
-        XAAudioEncoderItfImpl* impl = (XAAudioEncoderItfImpl*) (*self);
-        if (impl && (impl == impl->self))
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-/*****************************************************************************
- * Base interface XAAudioEncoderItf implementation
- *****************************************************************************/
-
-/**
- * XAresult XAAudioEncoderItfImpl_SetEncoderSettings(XAAudioEncoderItf self,
- *                                                   XAAudioEncoderSettings *pSettings)
- * Description: Set audio encoder settings.
- **/
-XAresult XAAudioEncoderItfImpl_SetEncoderSettings(XAAudioEncoderItf self,
-        XAAudioEncoderSettings *pSettings)
-    {
-    XAMediaRecorderAdaptationMMFCtx* mCtx;
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint32 recState = XA_RECORDSTATE_STOPPED;
-    XAAudioEncoderSettings currentSettings;
-    XAAudioEncoderItfImpl *impl = GetImpl(self);
-
-    DEBUG_API("->XAAudioEncoderItfImpl_SetEncoderSettings");
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaRecorder );
-
-    if (!impl || !pSettings)
-        {
-        /* invalid parameter */
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAAudioEncoderItfImpl_SetEncoderSettings");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->adapCtx->fwtype == FWMgrFWMMF)
-        {
-        mCtx
-                = (XAMediaRecorderAdaptationMMFCtx*) impl->pObjImpl->adaptationCtx;
-
-        if (mCtx->xaRecordState != recState)
-            {
-            XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-            DEBUG_ERR("XA_RESULT_PRECONDITIONS_VIOLATED");
-            DEBUG_API("<-XAAudioEncoderItfImpl_SetEncoderSettings");
-            return XA_RESULT_PRECONDITIONS_VIOLATED;
-            }
-
-        XAAudioEncoderItfImpl_GetEncoderSettings(self, &currentSettings);
-        if (pSettings->encoderId == currentSettings.encoderId)
-            {
-            if (pSettings->channelsIn != currentSettings.channelsIn)
-                {
-                ret = mmf_set_destination_channels(mCtx->mmfContext,
-                        &(pSettings->channelsIn));
-                }
-
-            if (pSettings->channelsOut != currentSettings.channelsOut)
-                {
-                ret = mmf_set_destination_channels(mCtx->mmfContext,
-                        &(pSettings->channelsOut));
-                }
-
-            if (pSettings->sampleRate != currentSettings.sampleRate)
-                {
-                ret = mmf_set_destination_samplerate(mCtx->mmfContext,
-                        &(pSettings->sampleRate));
-                }
-
-            if (pSettings->bitRate != currentSettings.bitRate)
-                {
-                ret = mmf_set_destination_bitrate(mCtx->mmfContext,
-                        &(pSettings->bitRate));
-                }
-
-            if (pSettings->rateControl != currentSettings.rateControl)
-                {
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            if (pSettings->channelMode != currentSettings.channelMode)
-                {
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            if (pSettings->encodeOptions != currentSettings.encodeOptions)
-                {
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            if (pSettings->blockAlignment != currentSettings.blockAlignment)
-                {
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            if (pSettings->bitsPerSample != currentSettings.bitsPerSample)
-                {
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            if (pSettings->profileSetting != currentSettings.profileSetting)
-                {
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            if (pSettings->levelSetting != currentSettings.levelSetting)
-                {
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            }
-        else
-            {
-            ret = XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    else
-        {
-        XACapabilities temp;
-
-        ret = XACapabilitiesMgr_GetCapsById(
-                impl->pObjImpl->adaptationCtx->capslist,
-                (XACapsType) (XACAP_ENCODER | XACAP_AUDIO),
-                pSettings->encoderId, &temp);
-        if (ret == XA_RESULT_SUCCESS)
-            {
-            ret = XARecordItfAdapt_GetRecordState(
-                    (XAAdaptationGstCtx*) impl->adapCtx, &recState);
-            if (ret == XA_RESULT_SUCCESS)
-                {
-                if (XA_RECORDSTATE_STOPPED == recState)
-                    {
-                    ret = XAAudioEncoderItfAdapt_SetEncoderSettings(
-                            impl->adapCtx, pSettings);
-                    }
-                else
-                    {
-                    DEBUG_ERR("XA_RESULT_PRECONDITIONS_VIOLATED");
-                    DEBUG_API("<-XAAudioEncoderItfImpl_SetEncoderSettings");
-                    return XA_RESULT_PRECONDITIONS_VIOLATED;
-                    }
-                }
-            }
-        else
-            {
-            DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
-            DEBUG_API("<-XAAudioEncoderItfImpl_SetEncoderSettings");
-            return XA_RESULT_FEATURE_UNSUPPORTED;
-            }
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-    DEBUG_API("<-XAAudioEncoderItfImpl_SetEncoderSettings");
-    return ret;
-    }
-
-/**
- * XAresult XAAudioEncoderItfImpl_GetEncoderSettings(XAAudioEncoderItf self,
- *                                                   XAAudioEncoderSettings *pSettings)
- * Description: Get audio encoder settings.
- **/
-XAresult XAAudioEncoderItfImpl_GetEncoderSettings(XAAudioEncoderItf self,
-        XAAudioEncoderSettings *pSettings)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint32 encoderId;
-    XAuint32 channelsIn;
-    XAuint32 channelsOut;
-    XAmilliHertz sampleRate;
-    XAuint32 bitRate;
-    XAMediaRecorderAdaptationMMFCtx* mCtx;
-
-    XAAudioEncoderItfImpl *impl = GetImpl(self);
-
-    DEBUG_API("->XAAudioEncoderItfImpl_GetEncoderSettings");
-    if (!impl || !pSettings)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    mCtx = (XAMediaRecorderAdaptationMMFCtx*) (impl->pObjImpl->adaptationCtx);
-
-    if (impl->adapCtx->fwtype == FWMgrFWMMF)
-        {
-        mmf_get_codec_id(mCtx->mmfContext, &encoderId);
-
-        switch (encoderId)
-            {
-            case 0x36315020:
-                pSettings->encoderId = XA_AUDIOCODEC_PCM;
-                pSettings->bitsPerSample = 16;
-                pSettings->profileSetting = XA_AUDIOPROFILE_PCM;
-                pSettings->levelSetting = 0;
-                pSettings->streamFormat = 0;
-                break;
-            case 0x524d4120:
-                pSettings->encoderId = XA_AUDIOCODEC_AMR;
-                pSettings->bitsPerSample = 8;
-                pSettings->profileSetting = XA_AUDIOPROFILE_AMR;
-                pSettings->levelSetting = 0;
-                pSettings->streamFormat = XA_AUDIOSTREAMFORMAT_FSF;
-                break;
-            case 0x43414120:
-                pSettings->encoderId = XA_AUDIOCODEC_AAC;
-                pSettings->bitsPerSample = 16;
-                pSettings->profileSetting = XA_AUDIOPROFILE_AAC_AAC;
-                pSettings->levelSetting = XA_AUDIOMODE_AAC_LC;
-                pSettings->streamFormat = XA_AUDIOSTREAMFORMAT_RAW;
-                break;
-            }
-
-        mmf_get_channels(mCtx->mmfContext, &channelsIn);
-        pSettings->channelsIn = channelsIn;
-        mmf_get_channels(mCtx->mmfContext, &channelsOut);
-        pSettings->channelsOut = channelsOut;
-        mmf_get_samplerate(mCtx->mmfContext, &sampleRate);
-        pSettings->sampleRate = sampleRate;
-        mmf_get_bitrate(mCtx->mmfContext, &bitRate);
-        pSettings->bitRate = bitRate;
-        pSettings->rateControl = XA_RATECONTROLMODE_CONSTANTBITRATE;
-        pSettings->channelMode = 0;
-        pSettings->encodeOptions = 0;
-        pSettings->blockAlignment = 0;
-        }
-    else
-        {
-        ret = XAAudioEncoderItfAdapt_GetEncoderSettings(impl->adapCtx,
-                pSettings);
-        }
-    DEBUG_API("<-XAAudioEncoderItfImpl_GetEncoderSettings");
-    return ret;
-    }
-
-/*****************************************************************************
- * XAAudioEncoderItfImpl -specific methods
- *****************************************************************************/
-
-/* XAAudioEncoderItfImpl* XAAudioEncoderItfImpl_Create()
- * Description: Allocate and initialize XAAudioEncoderItfImpl
- */
-XAAudioEncoderItfImpl* XAAudioEncoderItfImpl_Create(XAMediaRecorderImpl* impl)
-    {
-    XAAudioEncoderItfImpl* self = (XAAudioEncoderItfImpl*) calloc(1,
-            sizeof(XAAudioEncoderItfImpl));
-    //XAMediaRecorderAdaptationCtx* mCtx = (XAMediaRecorderAdaptationCtx*)(impl->adaptationCtx);
-
-    DEBUG_API("->XAAudioEncoderItfImpl_Create");
-    if (self)
-        {
-        //if(mCtx->fwtype == FWMgrFWMMF)
-            {
-            /* init itf default implementation */
-            self->itf.GetEncoderSettings
-                    = XAAudioEncoderItfImpl_GetEncoderSettings;
-            self->itf.SetEncoderSettings
-                    = XAAudioEncoderItfImpl_SetEncoderSettings;
-            }
-
-        self->pObjImpl = impl;
-        /* init variables */
-        self->adapCtx = impl->adaptationCtx;
-
-        self->self = self;
-        }
-    DEBUG_API("<-XAAudioEncoderItfImpl_Create");
-    return self;
-    }
-
-/* void XAAudioEncoderItfImpl_Free(XAAudioEncoderItfImpl* self)
- * Description: Free all resources reserved at XAAudioEncoderItfImpl_Create
- */
-void XAAudioEncoderItfImpl_Free(XAAudioEncoderItfImpl* self)
-    {
-    DEBUG_API("->XAAudioEncoderItfImpl_Free");
-    if(self)
-        {
-        assert( self==self->self );
-        free(self);
-        }
-    DEBUG_API("<-XAAudioEncoderItfImpl_Free");
-    }
--- a/khronosfws/openmax_al/src/mediarecorder/xaaudioencoderitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: AudioEncoder Itf Header
- *
- */
-
-#ifndef XAAUDIOENCODERITF_H
-#define XAAUDIOENCODERITF_H
-
-#include "xamediarecorder.h"
-
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XAAudioEncoderItf implementation */
-typedef struct XAAudioEncoderItfImpl_
-    {
-    /* parent interface */
-    struct XAAudioEncoderItf_ itf;
-    /* pointer to self */
-    struct XAAudioEncoderItfImpl_* self;
-
-    XAMediaRecorderImpl* pObjImpl;
-
-    /* variables */
-    XAAdaptationBaseCtx *adapCtx;
-
-    } XAAudioEncoderItfImpl;
-
-/** METHODS **/
-
-/* Base interface XAAudioEncoderItf implementation
- * See API Specification for method documentation
- */
-XAresult XAAudioEncoderItfImpl_SetEncoderSettings(XAAudioEncoderItf self,
-        XAAudioEncoderSettings *pSettings);
-
-XAresult XAAudioEncoderItfImpl_GetEncoderSettings(XAAudioEncoderItf self,
-        XAAudioEncoderSettings *pSettings);
-
-/* XAAudioEncoderItfImpl -specific methods */
-XAAudioEncoderItfImpl
-        * XAAudioEncoderItfImpl_Create(XAMediaRecorderImpl* impl);
-void XAAudioEncoderItfImpl_Free(XAAudioEncoderItfImpl* self);
-
-#endif /* XAAUDIOENCODERITF_H */
--- a/khronosfws/openmax_al/src/mediarecorder/xamediarecorder.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,597 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: MediaRecoder Object Impl
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include "xamediarecorder.h"
-#include "xaaudioencoderitf.h"
-#include "xaconfigextensionsitf.h"
-#include "xadynintmgmtitf.h"
-#include "xametadatainsertionitf.h"
-#include "xarecorditf.h"
-#include "xavolumeitf.h"
-#include "xametadataextractionitf.h"
-#include "xathreadsafety.h"
-#include <string.h>
-#include "xacapabilitiesmgr.h"
-#include "xamediarecorderadaptctxmmf.h"
-#include "xamediarecorderadaptctx.h"
-/* Static mapping of enumeration XAMediaRecorderInterfaces to interface iids */
-static const XAInterfaceID* xaMediaRecorderItfIIDs[MR_ITFCOUNT] =
-    {
-    &XA_IID_OBJECT,
-    &XA_IID_AUDIOENCODER,
-    &XA_IID_CONFIGEXTENSION,
-    &XA_IID_DYNAMICINTERFACEMANAGEMENT,
-    &XA_IID_METADATAINSERTION,
-    &XA_IID_RECORD,
-    &XA_IID_VOLUME,
-    &XA_IID_METADATAEXTRACTION
-    };
-
-/* Global methods */
-
-/* XAResult XAMediaRecorderImpl_Create
- * Create object
- */
-XAresult XAMediaRecorderImpl_CreateMediaRecorder(FrameworkMap* mapper,
-        XACapabilities* capabilities, XAObjectItf* pRecorder,
-        XADataSource* pAudioSrc, XADataSource* pImageVideoSrc,
-        XADataSink* pDataSnk, XAuint32 numInterfaces,
-        const XAInterfaceID *pInterfaceIds,
-        const XAboolean *pInterfaceRequired)
-    {
-    XAMediaRecorderImpl* pImpl = NULL;
-    XAObjectItfImpl* pBaseObj = NULL;
-    FWMgrFwType fwType;
-    XAuint8 itfIdx;
-    XAMediaType mediaType = XA_MEDIATYPE_UNKNOWN;
-    XAresult ret = XA_RESULT_SUCCESS;
-    const char *uri = NULL;
-
-    DEBUG_API("->XAMediaRecorderImpl_CreateMediaRecorder");
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaRecorder );
-
-    if (!pRecorder)
-        {
-        /* invalid parameter */
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAMediaRecorderImpl_CreateMediaRecorder");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* check sink&source parameters */
-    ret
-            = XACommon_ValidateDataLocator(3, pAudioSrc, pImageVideoSrc,
-                    pDataSnk);
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-        DEBUG_API("<-XAMediaRecorderImpl_CreateMediaRecorder");
-        return ret;
-        }
-
-    /* instantiate object implementation */
-    pImpl = (XAMediaRecorderImpl*) calloc(1, sizeof(XAMediaRecorderImpl));
-    if (!pImpl)
-        {
-
-        /* memory allocation failed */
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-        DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-        DEBUG_API("<-XAMediaRecorderImpl_CreateMediaRecorder");
-        return XA_RESULT_MEMORY_FAILURE;
-        }
-    pBaseObj = &pImpl->baseObj;
-
-    /* Initialize base object default implementation */
-    XAObjectItfImpl_Init(pBaseObj, MR_ITFCOUNT, xaMediaRecorderItfIIDs,
-            XAMediaRecorderImpl_DoRealize, XAMediaRecorderImpl_DoResume,
-            XAMediaRecorderImpl_FreeResources);
-
-    /* Mark interfaces that need to be exposed */
-    /* Implicit and mandated interfaces */
-    pBaseObj->interfaceMap[MR_RECORDITF].required = XA_BOOLEAN_TRUE;
-    if (pAudioSrc && mediaType != XA_MEDIATYPE_IMAGE)
-        {
-        pBaseObj->interfaceMap[MR_AUDIOENCODERITF].required = XA_BOOLEAN_TRUE;
-        }
-
-    pBaseObj->interfaceMap[MR_DIMITF].required = XA_BOOLEAN_TRUE;
-
-    /* Explicit interfaces */
-    if ((numInterfaces != 0) && pInterfaceIds && pInterfaceRequired)
-        {
-        /* check only sink media type, do not care about return value (availability) */
-        XACommon_CheckDataSource((XADataSource*) pDataSnk, &mediaType);
-        /* Check required interfaces */
-        for (itfIdx = 0; itfIdx < numInterfaces; itfIdx++)
-            {
-            /* If mapEntry is null then required interface is not supported.*/
-            XAObjItfMapEntry *entry = XAObjectItfImpl_GetItfEntry(
-                    (XAObjectItf) &(pBaseObj), pInterfaceIds[itfIdx]);
-            if (!entry)
-                {
-                if (pInterfaceRequired[itfIdx])
-                    {
-                    /* required interface cannot be accommodated - fail creation */
-                    DEBUG_ERR("Required interface not found - abort creation!");
-                    ret = XA_RESULT_FEATURE_UNSUPPORTED;
-                    break;
-                    }
-                else
-                    {
-                    DEBUG_INFO("Requested (not required) interface not found - continue creation");
-                    }
-                }
-            else
-                { /* weed out unsupported content-aware itf's */
-                if ((mediaType == XA_MEDIATYPE_IMAGE || !pAudioSrc)
-                        && (entry->mapIdx == MR_VOLUMEITF || entry->mapIdx == MR_AUDIOENCODERITF))
-                    {
-                    entry->required = XA_BOOLEAN_FALSE;
-                    if (pInterfaceRequired[itfIdx])
-                        {
-                        DEBUG_ERR("Required interface not supported for given media - abort creation!");
-                        ret = XA_RESULT_FEATURE_UNSUPPORTED;
-                        break;
-                        }
-                    }
-                else
-                    {
-                    entry->required = XA_BOOLEAN_TRUE;
-                    }
-
-                if (entry->mapIdx == MR_RECORDITF)
-                    {
-                    DEBUG_ERR("RecordItf requested - support stream mode");
-                    pImpl->recModes |= XA_RECMODE_STREAM;
-                    }
-                }
-            }
-        }
-    if (pImpl->recModes == 0)
-        {
-        DEBUG_ERR("Warning!!! No recording interfaces requested - unable to record!!");
-        }
-    /*check sink and src parameters*/
-    if (ret == XA_RESULT_SUCCESS)
-        {
-        ret = XACommon_ValidateDataLocator(3, pDataSnk, pAudioSrc,
-                pImageVideoSrc);
-        /*datasink ignored if only snapshotitf is used*/
-        if (!pDataSnk && (pImpl->recModes & XA_RECMODE_STREAM))
-            {
-            DEBUG_ERR("No datasink to record to!");
-            ret = XA_RESULT_PARAMETER_INVALID;
-            }
-        if (!pAudioSrc && !pImageVideoSrc)
-            {
-            DEBUG_ERR("No data sources set!");
-            ret = XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-
-    if (ret != XA_RESULT_SUCCESS)
-        { /* creation fails */
-        XAObjectItfImpl_Destroy((XAObjectItf) &(pBaseObj));
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-        DEBUG_API("<-XAMediaRecorderImpl_CreateMediaRecorder");
-        return ret;
-        }
-
-    /* Mark interfaces that can be handled dynamically */
-    /* Mandated dynamic itfs */
-    pBaseObj->interfaceMap[MR_METADATAINSERTIONITF].isDynamic
-            = XA_BOOLEAN_TRUE;
-
-    /* Initialize XAMediaRecorderImpl variables */
-    pImpl->audioSrc = pAudioSrc;
-    pImpl->dataSnk = pDataSnk;
-    pImpl->imageVideoSrc = pImageVideoSrc;
-    /* Determine framework type that can handle recording */
-    fwType = (FWMgrFwType) FWMgrMOUnknown;
-    /**/
-    if (pDataSnk && pDataSnk->pLocator)
-        {
-        XADataLocator_URI* dataLoc = (XADataLocator_URI*) pDataSnk->pLocator;
-        if (dataLoc->locatorType == XA_DATALOCATOR_URI)
-            {
-            uri = (char*) dataLoc->URI;
-            }
-        }
-    fwType = XAFrameworkMgr_GetFramework(mapper, uri, FWMgrMORecorder);
-
-    if (fwType == FWMgrMOUnknown)
-        {
-        ret = XA_RESULT_CONTENT_UNSUPPORTED;
-        XAObjectItfImpl_Destroy((XAObjectItf) &(pBaseObj));
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-        DEBUG_API("<-XAMediaRecorderImpl_CreateMediaRecorder");
-        return ret;
-        }
-
-    /* Set ObjectItf to point to newly created object */
-    *pRecorder = (XAObjectItf) &(pBaseObj->self);
-
-    if (fwType == FWMgrFWMMF)
-        {
-
-        pImpl->adaptationCtx = XAMediaRecorderAdaptMMF_Create(
-                pImpl->audioSrc, pImpl->imageVideoSrc, pImpl->dataSnk,
-                pImpl->recModes);
-        }
-    else
-        {
-
-        pImpl->adaptationCtx = XAMediaRecorderAdapt_Create(pImpl->audioSrc,
-                pImpl->imageVideoSrc, pImpl->dataSnk, pImpl->recModes);
-        }
-
-    if (pImpl->adaptationCtx)
-        {
-        pImpl->adaptationCtx->capslist = capabilities;
-        pImpl->adaptationCtx->fwtype = fwType;
-        }
-    else
-        {
-        ret = XA_RESULT_MEMORY_FAILURE;
-        XAObjectItfImpl_Destroy((XAObjectItf) &(pBaseObj));
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-        DEBUG_API("<-XAMediaRecorderImpl_CreateMediaRecorder");
-        return ret;
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-    DEBUG_API("<-XAMediaRecorderImpl_CreateMediaRecorder");
-    return XA_RESULT_SUCCESS;
-    }
-
-/* XAResult XAMediaRecorderImpl_QueryNumSupportedInterfaces
- * Statically query supported interfaces
- */
-XAresult XAMediaRecorderImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces)
-    {
-    DEBUG_API("->XAMediaRecorderImpl_QueryNumSupportedInterfaces");
-    if (pNumSupportedInterfaces)
-        {
-        *pNumSupportedInterfaces = MR_ITFCOUNT;
-
-        DEBUG_API("<-XAMediaRecorderImpl_QueryNumSupportedInterfaces");
-        return XA_RESULT_SUCCESS;
-        }
-    else
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    }
-/* XAResult XAMediaRecorderImpl_QuerySupportedInterfaces
- * Statically query supported interfaces
- */
-XAresult XAMediaRecorderImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID *pInterfaceId)
-    {
-    DEBUG_API("->XAMediaRecorderImpl_QuerySupportedInterfaces");
-    if (index >= MR_ITFCOUNT || !pInterfaceId)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-        *pInterfaceId = *(xaMediaRecorderItfIIDs[index]);
-
-        DEBUG_API("<-XAMediaRecorderImpl_QuerySupportedInterfaces");
-        return XA_RESULT_SUCCESS;
-        }
-    }
-
-/*****************************************************************************
- * base object XAObjectItfImpl methods
- *****************************************************************************/
-
-/* XAresult XAMediaRecorderImpl_DoRealize( XAObjectItf self )
- * Description: Realize all implicit and explicitly wanted interfaces.
- * Create and initialize implementation-specific variables.
- * Called from base object XAObjectItfImpl
- */
-XAresult XAMediaRecorderImpl_DoRealize(XAObjectItf self)
-    {
-    XAuint8 itfIdx;
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*) (*self);
-    XAMediaRecorderImpl* pObjImpl = (XAMediaRecorderImpl*) (pObj);
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMediaRecorderImpl_DoRealize");
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaRecorder );
-
-    /* check casting from correct pointer type */
-    if (!pObjImpl || pObj != pObjImpl->baseObj.self)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* init adaptation */
-    if (pObjImpl->adaptationCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAMediaRecorderAdaptMMF_PostInit(
-                (XAAdaptationMMFCtx*) pObjImpl->adaptationCtx);
-        }
-    else
-        {
-        ret = XAMediaRecorderAdapt_PostInit(
-                (XAAdaptationGstCtx*) pObjImpl->adaptationCtx);
-        }
-
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-        return ret;
-        }
-
-    /* Realize all implicit and explicitly wanted interfaces */
-    for (itfIdx = 0; itfIdx < MR_ITFCOUNT; itfIdx++)
-        {
-        if (!(pObj->interfaceMap[itfIdx].pItf)
-                && pObj->interfaceMap[itfIdx].required)
-            {
-            void *pItf = NULL;
-            switch (itfIdx)
-                {
-                case MR_DIMITF:
-                    pItf = XADIMItfImpl_Create();
-                    if (pItf)
-                        {
-                        XADIMItfImpl_Init(pItf, self,
-                                XAMediaRecorderImpl_DoAddItf,
-                                XAMediaRecorderImpl_DoResumeItf,
-                                XAMediaRecorderImpl_DoRemoveItf);
-                        }
-                    break;
-                case MR_RECORDITF:
-                    pItf = XARecordItfImpl_Create(pObjImpl);
-                    break;
-                case MR_AUDIOENCODERITF:
-                    pItf = XAAudioEncoderItfImpl_Create(pObjImpl);
-                    break;
-                case MR_METADATAINSERTIONITF:
-                    pItf = XAMetadataInsertionItfImpl_Create(pObjImpl);
-                    break;
-
-                case MR_CONFIGEXTENSIONITF:
-                    pItf = XAConfigExtensionsItfImpl_Create();
-                    XAConfigExtensionsItfImpl_SetContext(pItf,
-                            pObjImpl->adaptationCtx);
-                    break;
-                case MR_VOLUMEITF:
-                    pItf = XAVolumeItfImpl_Create(pObjImpl->adaptationCtx);
-                    break;
-                case MR_METADATAEXTRACTIONITF:
-                    pItf = XAMetadataExtractionItfImpl_Create(
-                            pObjImpl->adaptationCtx);
-                    break;
-                default:
-                    break;
-                }
-            if (!pItf)
-                {
-                DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-                /* memory allocation failed */
-                XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-                return XA_RESULT_MEMORY_FAILURE;
-                }
-            else
-                {
-                pObj->interfaceMap[itfIdx].pItf = pItf;
-                }
-            }
-        }
-
-    pObj->state = XA_OBJECT_STATE_REALIZED;
-    DEBUG_API("<-XAMediaRecorderImpl_DoRealize");
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-    return XA_RESULT_SUCCESS;
-    }
-
-/* XAresult XAMediaRecorderImpl_DoResume
- * Description: Resume object from suspended state
- */
-XAresult XAMediaRecorderImpl_DoResume(XAObjectItf self)
-    {
-    DEBUG_API("->XAMediaRecorderImpl_DoResume");
-    DEBUG_API("<-XAMediaRecorderImpl_DoResume");
-    /* This implementation does not support suspended state */
-    return XA_RESULT_PRECONDITIONS_VIOLATED;
-    }
-
-/* void XAMediaRecorderImpl_FreeResources
- * Description: Free all resources reserved at XAMediaRecorderImpl_DoRealize()
- */
-void XAMediaRecorderImpl_FreeResources(XAObjectItf self)
-    {
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*) (*self);
-    XAMediaRecorderImpl* pObjImpl = (XAMediaRecorderImpl*) (pObj);
-    XAuint8 itfIdx;
-    XAMediaRecorderImpl* pImpl = (XAMediaRecorderImpl*) (*self);
-    DEBUG_API("->XAMediaRecorderImpl_FreeResources");
-    XA_IMPL_THREAD_SAFETY_ENTRY_FOR_VOID_FUNCTIONS( XATSMediaRecorder );
-    assert( pObj && pImpl && pObj == pObj->self );
-
-    /* free all allocated interfaces */
-    for (itfIdx = 0; itfIdx < MR_ITFCOUNT; itfIdx++)
-        {
-        void *pItf = pObj->interfaceMap[itfIdx].pItf;
-        if (pItf)
-            {
-            switch (itfIdx)
-                {
-                case MR_AUDIOENCODERITF:
-                    XAAudioEncoderItfImpl_Free(pItf);
-                    break;
-                case MR_CONFIGEXTENSIONITF:
-                    XAConfigExtensionsItfImpl_Free(pItf);
-                    break;
-                case MR_DIMITF:
-                    XADIMItfImpl_Free(pItf);
-                    break;
-                case MR_METADATAINSERTIONITF:
-                    XAMetadataInsertionItfImpl_Free(pItf);
-                    break;
-                case MR_RECORDITF:
-                    XARecordItfImpl_Free(pItf);
-                    break;
-                case MR_VOLUMEITF:
-                    XAVolumeItfImpl_Free(pItf);
-                    break;
-                case MR_METADATAEXTRACTIONITF:
-                    XAMetadataExtractionItfImpl_Free(pItf);
-                    break;
-                default:
-                    break;
-                }
-            pObj->interfaceMap[itfIdx].pItf = NULL;
-            }
-        }
-
-    if (pImpl->adaptationCtx != NULL)
-        {
-        if (pImpl->adaptationCtx->fwtype == FWMgrFWMMF)
-            {
-            XAMediaRecorderAdaptMMF_Destroy(
-                    (XAAdaptationMMFCtx*) pObjImpl->adaptationCtx);
-            }
-        else
-            {
-            XAMediaRecorderAdapt_Destroy(
-                    (XAAdaptationGstCtx*) pImpl->adaptationCtx);
-            }
-        pImpl->adaptationCtx = NULL;
-        }
-
-    /* free all other allocated resources*/
-
-    DEBUG_API("<-XAMediaRecorderImpl_FreeResources");
-    XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( XATSMediaRecorder );
-    return;
-    }
-
-/*****************************************************************************
- * MediaRecorderImpl -specific methods
- *****************************************************************************/
-
-/* XAMediaRecorderImpl_DoAddItf
- * Dynamically add an interface, object specific parts
- */
-XAresult XAMediaRecorderImpl_DoAddItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry)
-    {
-
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*) (*self);
-    XAMediaRecorderImpl* pImpl = (XAMediaRecorderImpl*) (pObj);
-
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMediaRecorderImpl_DoAddItf");
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaRecorder );
-
-    if (mapEntry)
-        {
-        switch (mapEntry->mapIdx)
-            {
-
-            case MR_METADATAINSERTIONITF:
-                mapEntry->pItf = XAMetadataInsertionItfImpl_Create(pImpl);
-                break;
-            default:
-                DEBUG_ERR("XAMediaRecorderImpl_DoAddItf unknown id");
-                ret = XA_RESULT_FEATURE_UNSUPPORTED;
-                break;
-            }
-
-        if (!mapEntry->pItf && ret == XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("XAMediaRecorderImpl_DoAddItf itf creation failed");
-            ret = XA_RESULT_MEMORY_FAILURE;
-            }
-        }
-    else
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-    DEBUG_API("<-XAMediaRecorderImpl_DoAddItf");
-    return ret;
-    }
-
-/* XAMediaRecorderImpl_DoResumeItf
- * Try to resume lost interface, object specific parts
- */
-XAresult XAMediaRecorderImpl_DoResumeItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry)
-    {
-    XAresult ret;
-    /* For now, no difference between suspended and unrealised itfs */
-    DEBUG_API("->XAMediaRecorderImpl_DoResumeItf");
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaRecorder );
-    ret = XAMediaRecorderImpl_DoAddItf(self, mapEntry);
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-    DEBUG_API("<-XAMediaRecorderImpl_DoResumeItf");
-    return ret;
-    }
-
-/* XAMediaRecorderImpl_DoRemoveItf
- * Dynamically remove an interface, object specific parts
- */
-XAresult XAMediaRecorderImpl_DoRemoveItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMediaRecorderImpl_DoRemoveItf");
-    XA_IMPL_THREAD_SAFETY_ENTRY( XATSMediaRecorder );
-    if (mapEntry)
-        {
-        switch (mapEntry->mapIdx)
-            {
-            case MR_METADATAINSERTIONITF:
-                XAMetadataInsertionItfImpl_Free(mapEntry->pItf);
-                break;
-            default:
-                DEBUG_ERR("XAMediaRecorderImpl_DoRemoveItf unknown id");
-                ret = XA_RESULT_FEATURE_UNSUPPORTED;
-                break;
-            }
-        mapEntry->pItf = NULL;
-        }
-    else
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaRecorder );
-    DEBUG_API("<-XAMediaRecorderImpl_DoRemoveItf");
-    return ret;
-    }
-
-/* END OF FILE */
--- a/khronosfws/openmax_al/src/mediarecorder/xamediarecorder.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: MediaRecorder Object Header
- *
- */
-
-#ifndef XAMEDIARECORDER_H
-#define XAMEDIARECORDER_H
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaobjectitf.h"
-#include "xaadptbasectx.h"
-#include "xacapabilitiesmgr.h"
-
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-/* Enumeration for interfaces that MediaRecorder supports.  */
-typedef enum
-    {
-    MR_OBJECTITF,
-    MR_AUDIOENCODERITF,
-    MR_CONFIGEXTENSIONITF,
-    MR_DIMITF,
-    MR_METADATAINSERTIONITF,
-    MR_RECORDITF,
-    MR_VOLUMEITF,
-    MR_METADATAEXTRACTIONITF,
-    MR_ITFCOUNT
-    } MRInterfaces;
-
-/** STRUCTURES **/
-/* Specification for  MediaRecorderImpl. */
-typedef struct XAMediaRecorderImpl_
-    {
-    /* Parent for XAMediaRecorder */
-    XAObjectItfImpl baseObj;
-
-    /* variables */
-    XADataSource *audioSrc;
-    XADataSource *imageVideoSrc;
-    XADataSink *dataSnk;
-    XAuint8 recModes;
-    XAAdaptationBaseCtx* adaptationCtx;
-
-    } XAMediaRecorderImpl;
-
-/** METHODS **/
-
-/* base object XAObjectItfImpl methods */
-XAresult XAMediaRecorderImpl_DoRealize(XAObjectItf self);
-XAresult XAMediaRecorderImpl_DoResume(XAObjectItf self);
-void XAMediaRecorderImpl_FreeResources(XAObjectItf self);
-
-/* MediaRecorderImpl -specific methods*/
-XAresult XAMediaRecorderImpl_DoAddItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-XAresult XAMediaRecorderImpl_DoResumeItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-XAresult XAMediaRecorderImpl_DoRemoveItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-
-#endif /* XAMEDIARECORDER_H */
--- a/khronosfws/openmax_al/src/mediarecorder/xametadatainsertionitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,473 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Metadata Insertion Itf Impl
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include "xametadatainsertionitf.h"
-
-#include "xametadataadaptation.h"
-
-#define MAX_TAGS 255
-/* XAMetadataInsertionItfImpl* GetImpl(XAMetadataInsertionItf self)
- * Description: Validate interface pointer and cast it to implementation pointer.
- */
-static XAMetadataInsertionItfImpl* GetImpl(XAMetadataInsertionItf self)
-    {
-    if (self)
-        {
-        XAMetadataInsertionItfImpl* impl =
-                (XAMetadataInsertionItfImpl*) (*self);
-        if (impl && (impl == impl->self))
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-/*****************************************************************************
- * Base interface XAMetadataInsertionItf implementation
- *****************************************************************************/
-
-/* XAMetadataInsertionItfImpl_CreateChildNode
- * Description: Creates a new child node for the given parent.
- */
-XAresult XAMetadataInsertionItfImpl_CreateChildNode(
-        XAMetadataInsertionItf self, XAint32 parentNodeID, XAuint32 type,
-        XAchar *mimeType, XAint32 *pChildNodeID)
-    {
-    XAMetadataInsertionItfImpl *impl = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMetadataInsertionItfImpl_CreateChildNode");
-    impl = GetImpl(self);
-    if (!impl || !mimeType || !pChildNodeID)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-        if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWGST)
-            {
-            if (impl->adaptCtx)
-                {
-                ret = XAMetadataInsertionItfAdapt_CreateChildNode(
-                        (XAAdaptationGstCtx*) impl->adaptCtx, parentNodeID,
-                        type, mimeType, pChildNodeID);
-                }
-            else
-                {
-                ret = XA_RESULT_INTERNAL_ERROR;
-                }
-
-            }
-        else
-            {
-            DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
-            DEBUG_API("<-XAMetadataInsertionItfImpl_CreateChildNode");
-            return XA_RESULT_FEATURE_UNSUPPORTED;
-            }
-        }
-    DEBUG_API("<-XAMetadataInsertionItfImpl_CreateChildNode");
-    return ret;
-    }
-
-/* XAresult XAMetadataInsertionItfImpl_GetSupportedKeysCount
- * Description: A query method to tell if the metadata keys (for writing metadata)
- * can be freely chosen by the application or if they are fixed (for the given node).
- */
-XAresult XAMetadataInsertionItfImpl_GetSupportedKeysCount(
-        XAMetadataInsertionItf self, XAint32 nodeID, XAboolean *pFreeKeys,
-        XAuint32 *pKeyCount, XAuint32 *pEncodingCount)
-    {
-    XAMetadataInsertionItfImpl *impl = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMetadataInsertionItfImpl_GetSupportedKeysCount");
-    impl = GetImpl(self);
-    if (!impl || !pFreeKeys || !pKeyCount || !pEncodingCount)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-        if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWGST)
-            {
-            if (impl->adaptCtx)
-                {
-                ret = XAMetadataInsertionItfAdapt_GetSupportedKeysCount(
-                        (XAAdaptationGstCtx*) impl->adaptCtx, nodeID,
-                        pFreeKeys, pKeyCount, pEncodingCount);
-                }
-            else
-                {
-                ret = XA_RESULT_INTERNAL_ERROR;
-                }
-            }
-        else
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XAMetadataInsertionItfImpl_GetSupportedKeysCount");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    DEBUG_API("<-XAMetadataInsertionItfImpl_GetSupportedKeysCount");
-    return ret;
-    }
-
-/* XAresult XAMetadataInsertionItfImpl_GetKeySize
- * Description: Returns the byte size required for a supported metadata
- * key pointed by the given index
- */
-XAresult XAMetadataInsertionItfImpl_GetKeySize(XAMetadataInsertionItf self,
-        XAint32 nodeID, XAuint32 keyIndex, XAuint32 *pKeySize)
-    {
-    XAMetadataInsertionItfImpl *impl = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMetadataInsertionItfImpl_GetKeySize");
-    impl = GetImpl(self);
-    if (!impl || !pKeySize)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-        if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWGST)
-            {
-
-            if (impl->adaptCtx)
-                {
-                ret = XAMetadataInsertionItfAdapt_GetKeySize(
-                        (XAAdaptationGstCtx*) impl->adaptCtx, nodeID,
-                        keyIndex, pKeySize);
-                }
-            else
-                {
-                ret = XA_RESULT_INTERNAL_ERROR;
-                }
-            }
-        else
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XAMetadataInsertionItfImpl_GetKeySize");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    DEBUG_API("<-XAMetadataInsertionItfImpl_GetKeySize");
-    return ret;
-    }
-
-/* XAresult XAMetadataInsertionItfImpl_GetKey
- * Description; Returns a XAMetadataInfo structure and associated data
- * referenced by the structure for a supported key
- */
-XAresult XAMetadataInsertionItfImpl_GetKey(XAMetadataInsertionItf self,
-        XAint32 nodeID, XAuint32 keyIndex, XAuint32 keySize,
-        XAMetadataInfo *pKey)
-    {
-    XAMetadataInsertionItfImpl *impl = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMetadataInsertionItfImpl_GetKey");
-    impl = GetImpl(self);
-    if (!impl || !pKey)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-        if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWGST)
-            {
-
-            if (impl->adaptCtx)
-                {
-                ret = XAMetadataInsertionItfAdapt_GetKey(
-                        (XAAdaptationGstCtx*) impl->adaptCtx, nodeID,
-                        keyIndex, keySize, pKey);
-                }
-            else
-                {
-                ret = XA_RESULT_INTERNAL_ERROR;
-                }
-            }
-        else
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XAMetadataInsertionItfImpl_GetKey");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-
-        }
-    DEBUG_API("<-XAMetadataInsertionItfImpl_GetKey");
-    return ret;
-    }
-
-/* XAresult XAMetadataInsertionItfImpl_GetFreeKeysEncoding
- * Description: A method to be used in case implementation supports
- * free keys for metadata insertion.
- */
-XAresult XAMetadataInsertionItfImpl_GetFreeKeysEncoding(
-        XAMetadataInsertionItf self, XAint32 nodeID, XAuint32 encodingIndex,
-        XAuint32 *pEncoding)
-    {
-    XAMetadataInsertionItfImpl *impl = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMetadataInsertionItfImpl_GetFreeKeysEncoding");
-    impl = GetImpl(self);
-    if (!impl || !pEncoding)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-        if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWGST)
-            {
-
-            if (impl->adaptCtx)
-                {
-                ret = XAMetadataInsertionItfAdapt_GetFreeKeysEncoding(
-                        (XAAdaptationGstCtx*) impl->adaptCtx, nodeID,
-                        encodingIndex, pEncoding);
-                }
-            else
-                {
-                ret = XA_RESULT_INTERNAL_ERROR;
-                }
-            }
-        else
-            {
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-            DEBUG_API("<-XAMetadataInsertionItfImpl_GetFreeKeysEncoding");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    DEBUG_API("<-XAMetadataInsertionItfImpl_GetFreeKeysEncoding");
-    return ret;
-    }
-
-/* XAresult XAMetadataInsertionItfImpl_InsertMetadataItem
- * Description: Inserts the key/value pair to the specified node of the metadata tree.
- */
-XAresult XAMetadataInsertionItfImpl_InsertMetadataItem(
-        XAMetadataInsertionItf self, XAint32 nodeID, XAMetadataInfo *pKey,
-        XAMetadataInfo *pValue, XAboolean overwrite)
-    {
-    XAMetadataInsertionItfImpl *impl = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMetadataInsertionItfImpl_InsertMetadataItem");
-    impl = GetImpl(self);
-    if (!impl || !pKey || !pValue)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-        if (impl->adaptCtx && impl->adaptCtx->fwtype == FWMgrFWGST)
-            {
-
-            if (impl->adaptCtx)
-                {
-                ret = XAMetadataInsertionItfAdapt_InsertMetadataItem(
-                        (XAAdaptationGstCtx*) impl->adaptCtx, nodeID, pKey,
-                        pValue, overwrite);
-                impl->currentTags.mdeKeys[impl->currentTags.itemcount] = pKey;
-                impl->currentTags.mdeValues[impl->currentTags.itemcount]
-                        = pValue;
-                impl->currentTags.itemcount++;
-                }
-            else
-                {
-                ret = XA_RESULT_INTERNAL_ERROR;
-                }
-            }
-        else
-            {
-            DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
-            DEBUG_API("<-XAMetadataInsertionItfImpl_GetFreeKeysEncoding");
-            return XA_RESULT_FEATURE_UNSUPPORTED;
-            }
-        }
-    DEBUG_API("<-XAMetadataInsertionItfImpl_InsertMetadataItem");
-    return ret;
-    }
-
-/* XAresult XAMetadataInsertionItfImpl_RegisterCallback
- * Description: Registers a callback on the object that executes after each of
- * the actual writings of metadata key/value pairs takes place.
- */
-XAresult XAMetadataInsertionItfImpl_RegisterCallback(
-        XAMetadataInsertionItf self, xaMetadataInsertionCallback callback,
-        void *pContext)
-    {
-    XAMetadataInsertionItfImpl *impl = NULL;
-
-    DEBUG_API("->XAMetadataInsertionItfImpl_RegisterCallback");
-    impl = GetImpl(self);
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAMetadataInsertionItfImpl_RegisterCallback");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (callback)
-        {
-        XAAdaptationBase_AddEventHandler(impl->adaptCtx,
-                &XAMetadataInsertionItfImpl_AdaptCb, XA_METADATAEVENTS, impl);
-        impl->callback = callback;
-        impl->cbcontext = pContext;
-        impl->cbPtrToSelf = self;
-        }
-    else
-        {
-        XAAdaptationBase_RemoveEventHandler(impl->adaptCtx,
-                &XAMetadataInsertionItfImpl_AdaptCb);
-        }
-
-    DEBUG_API("<-XAMetadataInsertionItfImpl_RegisterCallback");
-    return XA_RESULT_SUCCESS;
-    }
-
-/*****************************************************************************
- * XAMetadataTraversalImpl -specific methods
- *****************************************************************************/
-
-/* XAMetadataInsertionItfImpl* XAMetadataInsertionItfImpl_Create()
- * Description: Allocate and initialize MetadataInsertionItfImpl
- */
-XAMetadataInsertionItfImpl* XAMetadataInsertionItfImpl_Create(
-        XAMediaRecorderImpl* impl)
-    {
-    XAMetadataInsertionItfImpl* self = (XAMetadataInsertionItfImpl*) calloc(
-            1, sizeof(XAMetadataInsertionItfImpl));
-    //XAMediaRecorderAdaptationCtx* mCtx = (XAMediaRecorderAdaptationCtx*)(impl->adaptationCtx);
-
-    DEBUG_API("->XAMetadataInsertionItfImpl_Create");
-    if (self)
-        {
-        //if(mCtx->fwtype == FWMgrFWGST)
-            {
-            /* init itf default implementation */
-            self->itf.CreateChildNode
-                    = XAMetadataInsertionItfImpl_CreateChildNode;
-            self->itf.GetFreeKeysEncoding
-                    = XAMetadataInsertionItfImpl_GetFreeKeysEncoding;
-            self->itf.GetKey = XAMetadataInsertionItfImpl_GetKey;
-            self->itf.GetKeySize = XAMetadataInsertionItfImpl_GetKeySize;
-            self->itf.GetSupportedKeysCount
-                    = XAMetadataInsertionItfImpl_GetSupportedKeysCount;
-            self->itf.InsertMetadataItem
-                    = XAMetadataInsertionItfImpl_InsertMetadataItem;
-            self->itf.RegisterCallback
-                    = XAMetadataInsertionItfImpl_RegisterCallback;
-            }
-
-        /* init variables*/
-
-        self->callback = NULL;
-        self->cbcontext = NULL;
-        self->cbPtrToSelf = NULL;
-        self->adaptCtx = impl->adaptationCtx;
-        self->currentTags.mdeKeys = calloc(MAX_TAGS, sizeof(XAMetadataInfo*));
-        self->currentTags.mdeValues = calloc(MAX_TAGS,
-                sizeof(XAMetadataInfo*));
-        self->self = self;
-
-        }
-    DEBUG_API("<-XAMetadataInsertionItfImpl_Create");
-    return self;
-    }
-
-/* void XAMetadataInsertionItfImpl_Free(XAMetadataInsertionItfImpl* self)
- * Description: Free all resources reserved at XAMetadataInsertionItfImpl_Create()
- */
-void XAMetadataInsertionItfImpl_Free(XAMetadataInsertionItfImpl* self)
-    {
-    DEBUG_API("->XAMetadataInsertionItfImpl_Free");
-    assert( self==self->self );
-    if (self->callback)
-        {
-        XAAdaptationBase_RemoveEventHandler(self->adaptCtx,
-                &XAMetadataInsertionItfImpl_AdaptCb);
-        }
-    XAMetadataAdapt_FreeImplTagList(&(self->currentTags), XA_BOOLEAN_FALSE);
-    free(self);
-    DEBUG_API("<-XAMetadataInsertionItfImpl_Free");
-    }
-
-/* With this method, adaptation infroms that tags are written to stream
- */
-void XAMetadataInsertionItfImpl_AdaptCb(void *pHandlerCtx,
-        XAAdaptEvent *event)
-    {
-    XAMetadataInsertionItfImpl* impl = NULL;
-    XAuint32 idx = 0, nodeID = XA_ROOT_NODE_ID;
-    XAboolean result = XA_BOOLEAN_TRUE;
-    DEBUG_API("->XAMetadataInsertionItfImpl_AdaptCb");
-    impl = (XAMetadataInsertionItfImpl*) pHandlerCtx;
-    if (!impl)
-        {
-        DEBUG_ERR("XAMetadataInsertionItfImpl_AdaptCb, invalid context pointer!");
-        DEBUG_API("<-XAMetadataInsertionItfImpl_AdaptCb");
-        return;
-        }
-    if (event && event->eventid == XA_ADAPT_MDE_TAGS_WRITTEN)
-        {
-        /*here datasize field is used for return value*/
-        if (event->datasize != XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR_A1("Adaptation failed to write metadata (code %x)!",(int)event->datasize);
-            result = XA_BOOLEAN_FALSE;
-            }
-        /*all tags written, send cb for client to free the memory*/
-        for (idx = 0; idx < impl->currentTags.itemcount; idx++)
-            {
-            if (impl->callback)
-                {
-                impl->callback(impl->cbPtrToSelf, impl->cbcontext,
-                        impl->currentTags.mdeKeys[idx],
-                        impl->currentTags.mdeValues[idx], nodeID, result);
-                }
-            impl->currentTags.mdeKeys[idx] = NULL;
-            impl->currentTags.mdeValues[idx] = NULL;
-            }
-        impl->currentTags.itemcount = 0;
-        }
-    else
-        {
-        DEBUG_INFO("unhandled");
-        }
-    DEBUG_API("<-XAMetadataInsertionItfImpl_AdaptCb");
-    }
-
--- a/khronosfws/openmax_al/src/mediarecorder/xametadatainsertionitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Metadata Insertion Itf Impl
- *
- */
-
-#ifndef XAMETADATAINSERTIONITF_H
-#define XAMETADATAINSERTIONITF_H
-
-#include "xametadataadaptation.h"
-#include "xamediarecorder.h"
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XAMetadataInsertionItf implementation */
-typedef struct XAMetadataInsertionItfImpl_
-    {
-    /* parent interface */
-    struct XAMetadataInsertionItf_ itf;
-    /* pointer to self */
-    struct XAMetadataInsertionItfImpl_* self;
-
-    /* variables */
-    XAAdaptationBaseCtx *adaptCtx;
-    XAMetadataImplTagList currentTags;
-
-    /*Callback*/
-    xaMetadataInsertionCallback callback;
-    void *cbcontext;
-    XAMetadataInsertionItf cbPtrToSelf;
-
-    } XAMetadataInsertionItfImpl;
-
-/** METHODS **/
-
-/* Base interface XAMetadataInsertionItf implementation */
-XAresult XAMetadataInsertionItfImpl_CreateChildNode(
-        XAMetadataInsertionItf self, XAint32 parentNodeID, XAuint32 type,
-        XAchar *mimeType, XAint32 *pChildNodeID);
-
-XAresult XAMetadataInsertionItfImpl_GetSupportedKeysCount(
-        XAMetadataInsertionItf self, XAint32 nodeID, XAboolean *pFreeKeys,
-        XAuint32 *pKeyCount, XAuint32 *pEncodingCount);
-
-XAresult XAMetadataInsertionItfImpl_GetKeySize(XAMetadataInsertionItf self,
-        XAint32 nodeID, XAuint32 keyIndex, XAuint32 *pKeySize);
-
-XAresult XAMetadataInsertionItfImpl_GetKey(XAMetadataInsertionItf self,
-        XAint32 nodeID, XAuint32 keyIndex, XAuint32 keySize,
-        XAMetadataInfo *pKey);
-
-XAresult XAMetadataInsertionItfImpl_GetFreeKeysEncoding(
-        XAMetadataInsertionItf self, XAint32 nodeID, XAuint32 encodingIndex,
-        XAuint32 *pEncoding);
-
-XAresult XAMetadataInsertionItfImpl_InsertMetadataItem(
-        XAMetadataInsertionItf self, XAint32 nodeID, XAMetadataInfo *pKey,
-        XAMetadataInfo *pValue, XAboolean overwrite);
-
-XAresult XAMetadataInsertionItfImpl_RegisterCallback(
-        XAMetadataInsertionItf self, xaMetadataInsertionCallback callback,
-        void *pContext);
-
-/* XAMetadataInsertionItfImpl -specific methods */
-XAMetadataInsertionItfImpl* XAMetadataInsertionItfImpl_Create(
-        XAMediaRecorderImpl* impl);
-void XAMetadataInsertionItfImpl_AdaptCb(void *pHandlerCtx,
-        XAAdaptEvent *event);
-void XAMetadataInsertionItfImpl_Free(XAMetadataInsertionItfImpl* self);
-
-#endif /* XAMETADATAINSERTIONITF_H */
--- a/khronosfws/openmax_al/src/mediarecorder/xarecorditf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,640 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Record Itf Impl
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include "xarecorditf.h"
-
-#include "xarecorditfadaptation.h"
-
-#include "xarecorditfadaptationmmf.h"
-#include "xathreadsafety.h"
-#include <string.h>
-/**
- * XARecordItfImpl* GetImpl(XARecordItf self)
- * Description: Validate interface pointer and cast it to implementation pointer.
- **/
-static XARecordItfImpl* GetImpl(XARecordItf self)
-    {
-    if (self)
-        {
-        XARecordItfImpl* impl = (XARecordItfImpl*) (*self);
-        if (impl && (impl == impl->self))
-            {
-            return impl;
-            }
-        }
-    return NULL;
-    }
-
-/*****************************************************************************
- * Base interface XARecordItf implementation
- *****************************************************************************/
-
-/**
- * XAresult XARecordItfImpl_SetRecordState(XARecordItf self,
- *                                         XAuint32 state)
- * Description: Transitions recorder into the given record state.
- **/
-XAresult XARecordItfImpl_SetRecordState(XARecordItf self, XAuint32 state)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARecordItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XARecordItfImpl_SetRecordState");
-
-    if (!impl || state < XA_RECORDSTATE_STOPPED || state
-            > XA_RECORDSTATE_RECORDING)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_SetRecordState");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* check is play state changed, if not do nothing */
-    if (state != impl->recordState)
-        {
-        if (impl->adapCtx->fwtype == FWMgrFWMMF)
-            {
-            ret = XARecordItfAdaptMMF_SetRecordState(
-                    (XAAdaptationMMFCtx*) impl->adapCtx, state);
-            }
-        else
-            {
-            ret = XARecordItfAdapt_SetRecordState(
-                    (XAAdaptationGstCtx*) impl->adapCtx, state);
-            }
-
-        if (ret == XA_RESULT_SUCCESS)
-            {
-            impl->recordState = state;
-            }
-        }
-
-    DEBUG_API("<-XARecordItfImpl_SetRecordState");
-    return ret;
-    }
-
-/**
- * XAresult XARecordItfImpl_GetRecordState(XARecordItf self,
- *                                         XAuint32 *pState)
- * Description: Gets the recorder’s current record state.
- **/
-XAresult XARecordItfImpl_GetRecordState(XARecordItf self, XAuint32 *pState)
-    {
-    XARecordItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XARecordItfImpl_GetRecordState");
-
-    if (!impl || !pState)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_GetRecordState");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pState = impl->recordState;
-
-    DEBUG_API("<-XARecordItfImpl_GetRecordState");
-
-    return XA_RESULT_SUCCESS;
-    }
-
-/**
- * XAresult XARecordItfImpl_SetDurationLimit(XARecordItf self,
- *                                           XAmillisecond msec)
- * Description: Sets the duration of current content in milliseconds.
- **/
-XAresult XARecordItfImpl_SetDurationLimit(XARecordItf self,
-        XAmillisecond msec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARecordItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XARecordItfImpl_SetDurationLimit");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSMediaRecorder);
-    if (!impl || msec <= 0)
-        {
-        /* invalid parameter */
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaRecorder);
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_SetDurationLimit");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->durationLimitSetted = 1;
-    impl->durationLimit = msec;
-    if (impl->adapCtx->fwtype == FWMgrFWGST)
-        {
-        ret = XARecordItfAdapt_EnablePositionTracking(
-                (XAAdaptationGstCtx*) impl->adapCtx, 1);
-        }
-    else
-        {
-        ret = XARecordItfAdaptMMF_EnablePositionTracking(
-                (XAAdaptationMMFCtx*) impl->adapCtx, 1);
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaRecorder);
-    DEBUG_API("<-XARecordItfImpl_SetDurationLimit");
-    return ret;
-    }
-
-/**
- * XAresult XARecordItfImpl_GetPosition(XARecordItf self,
- *                                      XAmillisecond *pMsec)
- * Description: Returns the current position of the recording head relative
- *              to the beginning of content.
- **/
-XAresult XARecordItfImpl_GetPosition(XARecordItf self, XAmillisecond *pMsec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARecordItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XARecordItfImpl_GetPosition");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSMediaRecorder);
-    if (!impl || !pMsec)
-        {
-        /* invalid parameter */
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaRecorder);
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_GetPosition");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (impl->adapCtx->fwtype == FWMgrFWGST)
-        {
-        ret = XARecordItfAdapt_GetPosition(
-                (XAAdaptationGstCtx*) impl->adapCtx, pMsec);
-        }
-    else
-        {
-        ret = XARecordItfAdaptMMF_GetPosition(
-                (XAAdaptationMMFCtx*) impl->adapCtx, pMsec);
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaRecorder);
-    DEBUG_API("<-XARecordItfImpl_GetPosition");
-    return ret;
-    }
-
-/**
- * XAresult XARecordItfImpl_RegisterCallback(XARecordItf self,
- *                                           xaRecordCallback callback,
- *                                           void *pContext)
- * Description: Registers the record callback function.
- **/
-XAresult XARecordItfImpl_RegisterCallback(XARecordItf self,
-        xaRecordCallback callback, void *pContext)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARecordItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XARecordItfImpl_RegisterCallback");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_RegisterCallback");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (callback)
-        {
-        impl->callback = callback;
-        impl->cbcontext = pContext;
-        impl->cbPtrToSelf = self;
-        }
-    else
-        {
-        /* There is no callback */
-        }
-
-    DEBUG_API("<-XARecordItfImpl_RegisterCallback");
-    return ret;
-    }
-
-/**
- * XAresult XARecordItfImpl_SetCallbackEventsMask(XARecordItf self,
- *                                                XAuint32 eventFlags)
- * Description: Sets the notification state of record events.
- **/
-XAresult XARecordItfImpl_SetCallbackEventsMask(XARecordItf self,
-        XAuint32 eventFlags)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARecordItfImpl* impl = GetImpl(self);
-    DEBUG_API_A1("->XARecordItfImpl_SetCallbackEventsMask- %lu", eventFlags);
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSMediaRecorder);
-
-    if (!impl || (eventFlags > (XA_RECORDEVENT_HEADATLIMIT
-            | XA_RECORDEVENT_HEADATMARKER | XA_RECORDEVENT_HEADATNEWPOS
-            | XA_RECORDEVENT_HEADMOVING | XA_RECORDEVENT_HEADSTALLED
-            | XA_RECORDEVENT_BUFFER_FULL)))
-        {
-        /* invalid parameter */
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaRecorder);
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_SetCallbackEventsMask");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->eventFlags = eventFlags;
-
-    if (impl->adapCtx->fwtype == FWMgrFWGST)
-        {
-        /* enable position tracking if client wants so */
-        if ((eventFlags & (XA_RECORDEVENT_HEADATMARKER
-                | XA_RECORDEVENT_HEADATNEWPOS)) && impl->adapCtx
-                && !impl->positionupdateOn)
-            {
-            ret = XARecordItfAdapt_EnablePositionTracking(
-                    (XAAdaptationGstCtx*) impl->adapCtx, XA_BOOLEAN_TRUE);
-            if (ret == XA_RESULT_SUCCESS)
-                {
-                impl->positionupdateOn = XA_BOOLEAN_TRUE;
-                }
-            }
-        else if (!(eventFlags & (XA_RECORDEVENT_HEADATMARKER
-                | XA_RECORDEVENT_HEADATNEWPOS)) && impl->adapCtx
-                && impl->positionupdateOn)
-            {
-            ret = XARecordItfAdapt_EnablePositionTracking(
-                    (XAAdaptationGstCtx*) impl->adapCtx, XA_BOOLEAN_FALSE);
-            if (ret == XA_RESULT_SUCCESS)
-                {
-                impl->positionupdateOn = XA_BOOLEAN_FALSE;
-                }
-            }
-        }
-    else
-        {
-        /* enable position tracking if client wants so */
-        if ((eventFlags & (XA_RECORDEVENT_HEADATMARKER
-                | XA_RECORDEVENT_HEADATNEWPOS)) && impl->adapCtx
-                && !impl->positionupdateOn)
-            {
-            ret = XARecordItfAdaptMMF_EnablePositionTracking(
-                    (XAAdaptationMMFCtx*) impl->adapCtx, XA_BOOLEAN_TRUE);
-            if (ret == XA_RESULT_SUCCESS)
-                {
-                impl->positionupdateOn = XA_BOOLEAN_TRUE;
-                }
-            }
-        else if (!(eventFlags & (XA_RECORDEVENT_HEADATMARKER
-                | XA_RECORDEVENT_HEADATNEWPOS)) && impl->adapCtx
-                && impl->positionupdateOn)
-            {
-            ret = XARecordItfAdaptMMF_EnablePositionTracking(
-                    (XAAdaptationMMFCtx*) impl->adapCtx, XA_BOOLEAN_FALSE);
-            if (ret == XA_RESULT_SUCCESS)
-                {
-                impl->positionupdateOn = XA_BOOLEAN_FALSE;
-                }
-            }
-        }
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaRecorder);
-    DEBUG_API("<-XARecordItfImpl_SetCallbackEventsMask");
-    return ret;
-    }
-
-/**
- * XAresult XARecordItfImpl_GetCallbackEventsMask(XARecordItf self,
- *                                                XAuint32 *pEventFlags)
- * Description: Queries the notification state of record events.
- **/
-XAresult XARecordItfImpl_GetCallbackEventsMask(XARecordItf self,
-        XAuint32 *pEventFlags)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARecordItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XARecordItfImpl_GetCallbackEventsMask");
-
-    DEBUG_INFO_A1("pEventFlags - %u", pEventFlags);
-
-    if (!impl || !pEventFlags)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_GetCallbackEventsMask");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pEventFlags = impl->eventFlags;
-    DEBUG_API("<-XARecordItfImpl_GetCallbackEventsMask");
-    return ret;
-    }
-
-/**
- * XAresult XARecordItfImpl_SetMarkerPosition(XARecordItf self,
- *                                            XAmillisecond mSec)
- * Description: Sets the position of the recording marker.
- **/
-XAresult XARecordItfImpl_SetMarkerPosition(XARecordItf self,
-        XAmillisecond mSec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARecordItfImpl *impl = GetImpl(self);
-    DEBUG_API_A1("->XARecordItfImpl_SetMarkerPosition, mSec-%lu",mSec);
-
-    if (!impl
-            || ((impl->durationLimitSetted) && (mSec > impl->durationLimit)))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_SetMarkerPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->markerPosition = mSec;
-
-    DEBUG_API("<-XARecordItfImpl_SetMarkerPosition");
-    return ret;
-    }
-
-/**
- * XAresult XARecordItfImpl_ClearMarkerPosition(XARecordItf self)
- * Description: Clears marker.
- **/
-XAresult XARecordItfImpl_ClearMarkerPosition(XARecordItf self)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARecordItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XARecordItfImpl_ClearMarkerPosition");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_ClearMarkerPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->markerPosition = NO_POSITION;
-
-    DEBUG_API("<-XARecordItfImpl_ClearMarkerPosition");
-    return ret;
-    }
-
-/**
- * XAresult XARecordItfImpl_GetMarkerPosition(XARecordItf self,
- *                                            XAmillisecond *pMsec)
- * Description: Queries the position of the recording marker.
- **/
-XAresult XARecordItfImpl_GetMarkerPosition(XARecordItf self,
-        XAmillisecond *pMsec)
-    {
-    XARecordItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XARecordItfImpl_GetMarkerPosition");
-
-    if (!impl || !pMsec)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_GetMarkerPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-    if (impl->markerPosition == NO_POSITION)
-        {
-        DEBUG_ERR("No marker position set.");
-        return XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-
-    *pMsec = impl->markerPosition;
-
-    DEBUG_API("<-XARecordItfImpl_GetMarkerPosition");
-    return XA_RESULT_SUCCESS;
-    }
-
-/**
- * XAresult XARecordItfImpl_SetPositionUpdatePeriod(XARecordItf self,
- *                                                  XAmillisecond mSec)
- * Description: Sets the interval between periodic position notifications.
- **/
-XAresult XARecordItfImpl_SetPositionUpdatePeriod(XARecordItf self,
-        XAmillisecond mSec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARecordItfImpl *impl = GetImpl(self);
-    DEBUG_API_A1("->XARecordItfImpl_SetPositionUpdatePeriod, mSec-%lu",mSec);
-
-    if (!impl
-            || ((impl->durationLimitSetted) && (mSec > impl->durationLimit)))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_SetPositionUpdatePeriod");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    impl->positionUpdatePeriod = mSec;
-
-    DEBUG_API("<-XARecordItfImpl_SetPositionUpdatePeriod");
-    return ret;
-    }
-
-/**
- * XAresult XARecordItfImpl_GetPositionUpdatePeriod(XARecordItf self,
- *                                                  XAmillisecond *pMsec)
- * Description: Queries the interval between periodic position notifications.
- **/
-XAresult XARecordItfImpl_GetPositionUpdatePeriod(XARecordItf self,
-        XAmillisecond *pMsec)
-    {
-    XARecordItfImpl *impl = GetImpl(self);
-    DEBUG_API("->XARecordItfImpl_GetPositionUpdatePeriod");
-
-    if (!impl || !pMsec)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfImpl_GetPositionUpdatePeriod");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    *pMsec = impl->positionUpdatePeriod;
-
-    DEBUG_API("<-XARecordItfImpl_GetPositionUpdatePeriod");
-    return XA_RESULT_SUCCESS;
-    }
-
-/*****************************************************************************
- * XARecordItfImpl -specific methods
- *****************************************************************************/
-
-/**
- * XARecordItfImpl* XARecordItfImpl_Create()
- * Description: Allocate and initialize XARecordItfImpl
- **/
-XARecordItfImpl* XARecordItfImpl_Create(XAMediaRecorderImpl* impl)
-    {
-    XARecordItfImpl* self = (XARecordItfImpl*) calloc(1,
-            sizeof(XARecordItfImpl));
-
-    DEBUG_API("->XARecordItfImpl_Create");
-    if (self)
-        {
-        /* init itf default implementation */
-        self->itf.ClearMarkerPosition = XARecordItfImpl_ClearMarkerPosition;
-        self->itf.GetCallbackEventsMask
-                = XARecordItfImpl_GetCallbackEventsMask;
-        self->itf.GetMarkerPosition = XARecordItfImpl_GetMarkerPosition;
-        self->itf.GetPosition = XARecordItfImpl_GetPosition;
-        self->itf.GetPositionUpdatePeriod
-                = XARecordItfImpl_GetPositionUpdatePeriod;
-        self->itf.GetRecordState = XARecordItfImpl_GetRecordState;
-        self->itf.RegisterCallback = XARecordItfImpl_RegisterCallback;
-        self->itf.SetCallbackEventsMask
-                = XARecordItfImpl_SetCallbackEventsMask;
-        self->itf.SetDurationLimit = XARecordItfImpl_SetDurationLimit;
-        self->itf.SetMarkerPosition = XARecordItfImpl_SetMarkerPosition;
-        self->itf.SetPositionUpdatePeriod
-                = XARecordItfImpl_SetPositionUpdatePeriod;
-        self->itf.SetRecordState = XARecordItfImpl_SetRecordState;
-
-        /* init variables */
-        self->recordState = XA_RECORDSTATE_STOPPED;
-        self->markerPosition = NO_POSITION;
-        self->durationLimit = DURATION_LIMIT_NOT_SETTED;
-        self->durationLimitSetted = 0;
-        self->positionUpdatePeriod = RECORDITF_DEFAULT_UPDATE_PERIOD;
-        self->lastPosition = START_POSITION;
-        self->callback = NULL;
-        self->cbcontext = NULL;
-        self->eventFlags = 0;
-        self->cbPtrToSelf = NULL;
-        self->pObjImpl = impl;
-        self->adapCtx = impl->adaptationCtx;
-        XAAdaptationBase_AddEventHandler(impl->adaptationCtx,
-                &XARecordItfImpl_AdaptCb, XA_RECORDITFEVENTS, self);
-        self->self = self;
-        }
-    DEBUG_API("<-XARecordItfImpl_Create");
-    return self;
-    }
-
-/**
- * void XARecordItfImpl_Free(XARecordItfImpl* self)
- * Description: Free all resources reserved at XARecordItfImpl_Create
- **/
-void XARecordItfImpl_Free(XARecordItfImpl* self)
-    {
-    DEBUG_API("->XARecordItfImpl_Free");
-    assert( self==self->self );
-    XAAdaptationBase_RemoveEventHandler(self->adapCtx,
-            &XARecordItfImpl_AdaptCb);
-    free(self);
-    DEBUG_API("<-XARecordItfImpl_Free");
-    }
-
-/* void XARecordItfImpl_AdaptCb
- * Description: Listen changes in adaptation
- */
-void XARecordItfImpl_AdaptCb(void *pHandlerCtx, XAAdaptEvent *event)
-    {
-    XARecordItfImpl* impl = (XARecordItfImpl*) pHandlerCtx;
-    DEBUG_API("->XARecordItfImpl_AdaptCb");
-
-    if (!impl)
-        {
-        DEBUG_ERR("XARecordItfImpl_AdaptCb, invalid context pointer!");
-        DEBUG_API("<-XARecordItfImpl_AdaptCb");
-        return;
-        }
-    assert(event);
-    /* check position update events */
-    if (event->eventid == XA_ADAPT_POSITION_UPDATE_EVT)
-        {
-        XAuint32 newpos = 0;
-        assert(event->data);
-        newpos = *((XAuint32*) (event->data));
-        DEBUG_INFO_A1("new position %u",newpos);
-        /* check if marker passed and callback needed */
-        if ((impl->markerPosition != NO_POSITION) && (impl->eventFlags
-                & XA_RECORDEVENT_HEADATMARKER))
-            {
-            if ((impl->lastPosition < impl->markerPosition) && (newpos
-                    >= impl->markerPosition) && impl->callback)
-                {
-                impl->callback(impl->cbPtrToSelf, impl->cbcontext,
-                        XA_RECORDEVENT_HEADATMARKER);
-                }
-            }
-        /* check if update period passed and callback needed */
-        if ((impl->positionUpdatePeriod > 0) && (impl->eventFlags
-                & XA_RECORDEVENT_HEADATNEWPOS) && impl->callback)
-            {
-            if ((XAuint32) ((impl->lastPosition)
-                    / (impl->positionUpdatePeriod)) < (XAuint32) (newpos
-                    / (impl->positionUpdatePeriod)))
-                {
-                impl->callback(impl->cbPtrToSelf, impl->cbcontext,
-                        XA_RECORDEVENT_HEADATNEWPOS);
-                }
-            }
-        /* store position */
-        impl->lastPosition = newpos;
-
-        /* Check have we reached record duration limit */
-        if (impl->durationLimitSetted)
-            {
-            if (impl->callback && (impl->lastPosition >= impl->durationLimit))
-                {
-                impl->itf.SetRecordState(impl->cbPtrToSelf,
-                        XA_RECORDSTATE_STOPPED);
-                impl->callback(impl->cbPtrToSelf, impl->cbcontext,
-                        XA_RECORDEVENT_HEADATLIMIT);
-                }
-            }
-        }
-    else if (event->eventid == XA_RECORDEVENT_HEADSTALLED)
-        {
-        impl->recordState = XA_RECORDSTATE_PAUSED;
-        /* send callback if needed */
-        if ((XA_RECORDEVENT_HEADSTALLED & impl->eventFlags) && impl->callback)
-            {
-            impl->callback(impl->cbPtrToSelf, impl->cbcontext,
-                    XA_RECORDEVENT_HEADSTALLED);
-            }
-        }
-    else if (event->eventid == XA_RECORDEVENT_BUFFER_FULL)
-        {
-        /* Adaptation is set to pause, need to sync state with AL-layer*/
-        impl->recordState = XA_RECORDSTATE_STOPPED;
-        /* send callback if needed */
-        if ((XA_RECORDEVENT_BUFFER_FULL & impl->eventFlags) && impl->callback)
-            {
-            impl->callback(impl->cbPtrToSelf, impl->cbcontext,
-                    XA_RECORDEVENT_BUFFER_FULL);
-            }
-        }
-    else if (event->eventid == XA_RECORDEVENT_HEADMOVING)
-        {
-        /* send callback if needed */
-        if ((XA_RECORDEVENT_HEADMOVING & impl->eventFlags) && impl->callback)
-            {
-            impl->callback(impl->cbPtrToSelf, impl->cbcontext,
-                    XA_RECORDEVENT_HEADMOVING);
-            }
-        }
-    else
-        {
-        /* do nothing */
-        }
-
-    DEBUG_API("<-XARecordItfImpl_AdaptCb");
-    }
-
--- a/khronosfws/openmax_al/src/mediarecorder/xarecorditf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Record Itf Impl
- *
- */
-
-#ifndef XARECORDITF_H
-#define XARECORDITF_H
-
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-
-#include "xamediarecorder.h"
-/** MACROS **/
-#define NO_POSITION XA_TIME_UNKNOWN
-#define RECORDITF_DEFAULT_UPDATE_PERIOD 1000
-#define START_POSITION 0
-#define DURATION_LIMIT_NOT_SETTED 0
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-/* Definition of XARecordItf implementation */
-typedef struct XARecordItfImpl_
-    {
-    /* parent interface */
-    struct XARecordItf_ itf;
-    /* pointer to self */
-    struct XARecordItfImpl_* self;
-
-    XAMediaRecorderImpl* pObjImpl;
-    /* variables */
-    XAuint32 recordState;
-    XAboolean durationLimitSetted;
-    XAmillisecond durationLimit;
-    XAmillisecond markerPosition;
-    XAmillisecond positionUpdatePeriod;
-    void *cbcontext;
-    XAuint32 eventFlags;
-    XAboolean positionupdateOn;
-    XAmillisecond lastPosition;
-
-    xaRecordCallback callback;
-    void* context;
-    XARecordItf cbPtrToSelf;
-
-    /*Adaptation variables*/
-    XAAdaptationBaseCtx *adapCtx;
-
-    } XARecordItfImpl;
-
-/** METHODS **/
-
-/* Base interface XARecordItf implementation
- * See API Specification for method documentation
- */
-XAresult XARecordItfImpl_SetRecordState(XARecordItf self, XAuint32 state);
-
-XAresult XARecordItfImpl_GetRecordState(XARecordItf self, XAuint32 *pState);
-
-XAresult XARecordItfImpl_SetDurationLimit(XARecordItf self,
-        XAmillisecond msec);
-
-XAresult XARecordItfImpl_GetPosition(XARecordItf self, XAmillisecond *pMsec);
-
-XAresult XARecordItfImpl_RegisterCallback(XARecordItf self,
-        xaRecordCallback callback, void *pContext);
-
-XAresult XARecordItfImpl_SetCallbackEventsMask(XARecordItf self,
-        XAuint32 eventFlags);
-
-XAresult XARecordItfImpl_GetCallbackEventsMask(XARecordItf self,
-        XAuint32 *pEventFlags);
-
-XAresult XARecordItfImpl_SetMarkerPosition(XARecordItf self,
-        XAmillisecond mSec);
-
-XAresult XARecordItfImpl_ClearMarkerPosition(XARecordItf self);
-
-XAresult XARecordItfImpl_GetMarkerPosition(XARecordItf self,
-        XAmillisecond *pMsec);
-
-XAresult XARecordItfImpl_SetPositionUpdatePeriod(XARecordItf self,
-        XAmillisecond mSec);
-
-XAresult XARecordItfImpl_GetPositionUpdatePeriod(XARecordItf self,
-        XAmillisecond *pMsec);
-
-/* XARecordItfImpl -specific methods */
-XARecordItfImpl* XARecordItfImpl_Create(XAMediaRecorderImpl* impl);
-void XARecordItfImpl_Free(XARecordItfImpl* self);
-void XARecordItfImpl_AdaptCb(void *pHandlerCtx, XAAdaptEvent *event);
-
-#endif
-/* XARECORDITF_H */
--- a/khronosfws/openmax_al/src/metadataextractor/xametadataextractor.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,491 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Metadata Extractor Object Impl
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include "xametadataextractor.h"
-#include "xadynamicsourceitf.h"
-#include "xadynintmgmtitf.h"
-#include "xametadataextractionitf.h"
-#include "xaconfigextensionsitf.h"
-
-#include "xacapabilitiesmgr.h"
-#include "xathreadsafety.h"
-
-#include "xaadaptationmmf.h"
-#include "xametadataadaptctxmmf.h"
-
-/* Static mapping of enumeration XAMetadataInterfaces to interface iids */
-static const XAInterfaceID* xaMetadataExtractorItfIIDs[MDE_ITFCOUNT] =
-    {
-    &XA_IID_OBJECT,
-    &XA_IID_DYNAMICINTERFACEMANAGEMENT,
-    &XA_IID_METADATAEXTRACTION,
-    &XA_IID_CONFIGEXTENSION,
-    &XA_IID_DYNAMICSOURCE
-    };
-
-/*****************************************************************************
- * Global methods
- *****************************************************************************/
-
-/* XAResult XAMetadataExtractorImpl_Create
- * Description: Create object
- * Add this method to XAGlobals.h
- */
-XAresult XAMetadataExtractorImpl_Create(FrameworkMap* mapper,
-        XACapabilities* capabilities, XAObjectItf *pMetadataExtractor,
-        XADataSource *pDataSource, XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired)
-    {
-    XAMetadataExtractorImpl* pImpl = NULL;
-    XAObjectItfImpl* pBaseObj = NULL;
-    XAuint8 itfIndex = 0;
-    FWMgrFwType fwType;
-    const char *uri = NULL;
-    XAresult res = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMetadataExtractorImpl_Create");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSMediaPlayer);
-
-    if (!pMetadataExtractor)
-        {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        DEBUG_API("<-XAMetadataExtractorImpl_Create");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    res = XACommon_CheckDataSource(pDataSource, NULL);
-    if (res != XA_RESULT_SUCCESS)
-        {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-        DEBUG_API("<-XAMetadataExtractorImpl_Create");
-        return res;
-        }
-
-    /* instantiate object implementation */
-    pImpl = (XAMetadataExtractorImpl*) calloc(1,
-            sizeof(XAMetadataExtractorImpl));
-    if (!pImpl)
-        {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-        DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-        /* memory allocation failed */
-        DEBUG_API("<-XAMetadataExtractorImpl_Create");
-        return XA_RESULT_MEMORY_FAILURE;
-        }
-    pBaseObj = &pImpl->baseObj;
-
-    /* Initialize base object default implementation */
-    XAObjectItfImpl_Init(pBaseObj, MDE_ITFCOUNT, xaMetadataExtractorItfIIDs,
-            XAMetadataExtractorImpl_DoRealize,
-            XAMetadataExtractorImpl_DoResume,
-            XAMetadataExtractorImpl_FreeResources);
-
-    /* Mark interfaces that need to be exposed */
-    /* Implicit and mandated interfaces */
-    pBaseObj->interfaceMap[MDE_METADATAEXTRACTIONITF].required
-            = XA_BOOLEAN_TRUE;
-    pBaseObj->interfaceMap[MDE_DYNAMICSOURCEITF].required = XA_BOOLEAN_TRUE;
-    pBaseObj->interfaceMap[MDE_DIMITF].required = XA_BOOLEAN_TRUE;
-
-    /* Explicit interfaces */
-    if ((numInterfaces != 0) && pInterfaceIds && pInterfaceRequired)
-        {
-        /* Check required interfaces */
-        for (itfIndex = 0; itfIndex < numInterfaces; itfIndex++)
-            {
-            /* If mapEntry is null then required interface is not supported.*/
-            XAObjItfMapEntry *entry = XAObjectItfImpl_GetItfEntry(
-                    (XAObjectItf) &(pBaseObj), pInterfaceIds[itfIndex]);
-            if (!entry)
-                {
-                if (pInterfaceRequired[itfIndex])
-                    {
-                    /* required interface cannot be accommodated - fail creation */
-                    XAObjectItfImpl_Destroy((XAObjectItf) &(pBaseObj));
-                    XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-                    DEBUG_ERR("Required interface not found - abort creation!");
-                    DEBUG_API("<-XAMetadataExtractorImpl_Create");
-                    return XA_RESULT_FEATURE_UNSUPPORTED;
-                    }
-                else
-                    {
-                    DEBUG_INFO("Requested (not required) interface not found - continue creation");
-                    }
-                }
-            else
-                {
-                entry->required = XA_BOOLEAN_TRUE;
-                }
-            }
-        }
-
-    // Mark interfaces that can be handled dynamically 
-    pBaseObj->interfaceMap[MDE_CONFIGEXTENSIONITF].isDynamic
-            = XA_BOOLEAN_TRUE;
-
-    //Set ObjectItf to point to newly created object 
-    *pMetadataExtractor = (XAObjectItf) &(pBaseObj->self);
-
-    //store member variables
-    pImpl->dataSrc = pDataSource;
-
-    /* Determine framework type that can handle recording */
-    fwType = (FWMgrFwType) FWMgrMOUnknown;
-    /**/
-    if (pDataSource->pLocator)
-        {
-        XADataLocator_URI* dataLoc =
-                (XADataLocator_URI*) pDataSource->pLocator;
-        if (dataLoc->locatorType == XA_DATALOCATOR_URI)
-            {
-            uri = (char*) dataLoc->URI;
-            }
-        }
-
-    fwType = XAFrameworkMgr_GetFramework(mapper, uri, FWMgrMOPlayer);
-
-    if (fwType == FWMgrMOUnknown)
-        {
-        XAObjectItfImpl_Destroy((XAObjectItf) &(pBaseObj));
-        XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
-        DEBUG_API("<-XAMetadataExtractorImpl_Create");
-        return XA_RESULT_CONTENT_UNSUPPORTED;
-        }
-
-    if (fwType == FWMgrFWMMF)
-        {
-        pImpl->adaptationCtxMMF = XAMetadataAdaptCtxMMF_Create(pDataSource);
-        pImpl->curAdaptCtx = pImpl->adaptationCtxMMF;
-        }
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-    DEBUG_API("<-XAMetadataExtractorImpl_Create");
-    return XA_RESULT_SUCCESS;
-    }
-
-/* XAResult XAMetadataExtractorImpl_QueryNumSupportedInterfaces
- * Description: Statically query number of supported interfaces
- */
-XAresult XAMetadataExtractorImpl_QueryNumSupportedInterfaces(
-        XAuint32 *pNumSupportedInterfaces)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMetadataExtractorImpl_QueryNumSupportedInterfaces");
-    if (pNumSupportedInterfaces)
-        {
-        *pNumSupportedInterfaces = MDE_ITFCOUNT;
-        res = XA_RESULT_SUCCESS;
-        }
-    else
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-        }
-    DEBUG_API_A1("<-XAMetadataExtractorImpl_QueryNumSupportedInterfaces (%d)", (int)res);
-    return res;
-    }
-/* XAResult XAMetadataExtractorImpl_QuerySupportedInterfaces
- * Description: Statically query supported interfaces
- */
-XAresult XAMetadataExtractorImpl_QuerySupportedInterfaces(XAuint32 index,
-        XAInterfaceID * pInterfaceId)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMetadataExtractorImpl_QuerySupportedInterfaces");
-
-    if (index >= MDE_ITFCOUNT || !pInterfaceId)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        res = XA_RESULT_PARAMETER_INVALID;
-        }
-    else
-        {
-        *pInterfaceId = *(xaMetadataExtractorItfIIDs[index]);
-        res = XA_RESULT_SUCCESS;
-        }
-    DEBUG_API_A1("<-XAMetadataExtractorImpl_QuerySupportedInterfaces (%d)", (int)res);
-    return res;
-    }
-
-/*****************************************************************************
- * base object XAObjectItfImpl methods
- *****************************************************************************/
-
-/* XAresult XAMetadataExtractorImpl_DoRealize( XAObjectItf self )
- * Description: Realize all implicit and explicitly wanted interfaces.
- * Create and initialize implementation-specific variables.
- * Called from base object XAObjectItfImpl
- */
-XAresult XAMetadataExtractorImpl_DoRealize(XAObjectItf self)
-    {
-    XAuint8 itfIdx = 0;
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*) (*self);
-    XAMetadataExtractorImpl* pObjImpl = (XAMetadataExtractorImpl*) (pObj);
-    void *pItf = NULL;
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XAMetadataExtractorImpl_DoRealize");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSMediaPlayer);
-
-    /* check casting from correct pointer type */
-    if (!pObjImpl || pObj != pObjImpl->baseObj.self)
-        {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        DEBUG_API("<-XAMetadataExtractorImpl_DoRealize");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* Realize all implicit and explicitly wanted interfaces */
-    for (itfIdx = 0; itfIdx < MDE_ITFCOUNT; itfIdx++)
-        {
-        if (!(pObj->interfaceMap[itfIdx].pItf)
-                && pObj->interfaceMap[itfIdx].required)
-            {
-            switch (itfIdx)
-                {
-                case MDE_DIMITF:
-                    pItf = XADIMItfImpl_Create();
-                    if (pItf)
-                        {
-                        XADIMItfImpl_Init(pItf, self,
-                                XAMetadataExtractorImpl_DoAddItf,
-                                XAMetadataExtractorImpl_DoResumeItf,
-                                XAMetadataExtractorImpl_DoRemoveItf);
-                        }
-                    break;
-
-                case MDE_METADATAEXTRACTIONITF:
-                    pItf = XAMetadataExtractionItfImpl_Create(
-                            pObjImpl->curAdaptCtx);
-                    break;
-                case MDE_CONFIGEXTENSIONITF:
-                    pItf = XAConfigExtensionsItfImpl_Create();
-                    XAConfigExtensionsItfImpl_SetContext(pItf,
-                            pObjImpl->curAdaptCtx);
-                    break;
-                case MDE_DYNAMICSOURCEITF:
-                    pItf = XADynamicSourceItfImpl_Create(
-                            pObjImpl->curAdaptCtx);
-                    break;
-
-                default:
-                    break;
-                }
-            if (!pItf)
-                {
-                XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-                DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-                /* memory allocation failed */
-                DEBUG_API("<-XAMetadataExtractorImpl_DoRealize");
-                return XA_RESULT_MEMORY_FAILURE;
-                }
-            else
-                {
-                pObj->interfaceMap[itfIdx].pItf = pItf;
-                }
-            }
-        }
-    /*Initialize adaptation context*/
-    /* init adaptation */
-
-    if (pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-        {
-        ret = XAMetadataAdaptCtxMMF_PostInit(
-                (XAAdaptationMMFCtx*) pObjImpl->adaptationCtxMMF);
-        }
-
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-        DEBUG_ERR("Adaptation init failed!");
-        DEBUG_API("<-XAMetadataExtractorImpl_DoRealize");
-        return ret;
-        }
-    pObj->state = XA_OBJECT_STATE_REALIZED;
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSMediaPlayer);
-    DEBUG_API("<-XAMetadataExtractorImpl_DoRealize");
-    return XA_RESULT_SUCCESS;
-    }
-
-/* XAresult XAMetadataExtractorImpl_DoResume
- * Description: Resume object from suspended state
- */
-XAresult XAMetadataExtractorImpl_DoResume(XAObjectItf self)
-    {
-    DEBUG_API("->XAMetadataExtractorImpl_DoResume");
-    DEBUG_API("<-XAMetadataExtractorImpl_DoResume");
-    /* "suspended" state not supported by this implementation */
-    return XA_RESULT_PRECONDITIONS_VIOLATED;
-    }
-
-/* void XAMetadataExtractorImpl_FreeResources
- * Description: Free all resources reserved at XAMetadataExtractorImpl_DoRealize()
- */
-void XAMetadataExtractorImpl_FreeResources(XAObjectItf self)
-    {
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*) (*self);
-
-    XAuint8 itfIdx = 0;
-    void *pItf = NULL;
-    XAMetadataExtractorImpl* pImpl = (XAMetadataExtractorImpl*) (*self);
-    DEBUG_API("->XAMetadataExtractorImpl_FreeResources");
-    XA_IMPL_THREAD_SAFETY_ENTRY_FOR_VOID_FUNCTIONS(XATSMediaPlayer);
-
-    assert( pObj && pImpl && pObj == pObj->self );
-
-    for (itfIdx = 0; itfIdx < MDE_ITFCOUNT; itfIdx++)
-        {
-        pItf = pObj->interfaceMap[itfIdx].pItf;
-        if (pItf)
-            {
-            switch (itfIdx)
-                {
-                case MDE_METADATAEXTRACTIONITF:
-                    XAMetadataExtractionItfImpl_Free(pItf);
-                    break;
-                case MDE_DYNAMICSOURCEITF:
-                    XADynamicSourceItfImpl_Free(pItf);
-                    break;
-                case MDE_DIMITF:
-                    XADIMItfImpl_Free(pItf);
-                    break;
-                case MDE_CONFIGEXTENSIONITF:
-                    XAConfigExtensionsItfImpl_Free(pItf);
-                    break;
-                }
-            pObj->interfaceMap[itfIdx].pItf = NULL;
-            }
-        }
-
-    if (pImpl->curAdaptCtx)
-        {
-        if (pImpl->curAdaptCtx->fwtype == FWMgrFWMMF)
-            {
-            XAMetadataAdaptCtxMMF_Destroy(
-                    (XAAdaptationMMFCtx*) pImpl->adaptationCtxMMF);
-            pImpl->adaptationCtxMMF = NULL;
-            }
-        }
-
-    pImpl->curAdaptCtx = NULL;
-
-    XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS(XATSMediaPlayer);
-    DEBUG_API("<-XAMetadataExtractorImpl_FreeResources");
-    return;
-    }
-
-/*****************************************************************************
- * MetadataExtractorImpl -specific methods
- *****************************************************************************/
-
-/* XAMetadataExtractorImpl_DoAddItf
- * Dynamically add an interface, object specific parts
- */
-XAresult XAMetadataExtractorImpl_DoAddItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry)
-    {
-
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*) (*self);
-    XAMetadataExtractorImpl* pImpl = (XAMetadataExtractorImpl*) (pObj);
-
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMetadataExtractorImpl_DoAddItf");
-
-    if (mapEntry)
-        {
-        switch (mapEntry->mapIdx)
-            {
-            case MDE_CONFIGEXTENSIONITF:
-                mapEntry->pItf = XAConfigExtensionsItfImpl_Create();
-
-                XAConfigExtensionsItfImpl_SetContext(mapEntry->pItf,
-                        pImpl->adaptationCtxGst);
-
-                break;
-            default:
-                DEBUG_ERR("XAMetadataExtractorImpl_DoAddItf unknown id");
-                ret = XA_RESULT_FEATURE_UNSUPPORTED;
-                break;
-            }
-        if (!mapEntry->pItf && ret == XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("XAMetadataExtractorImpl_DoAddItf itf creation failed");
-            ret = XA_RESULT_MEMORY_FAILURE;
-            }
-        }
-    else
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-
-    DEBUG_API("<-XAMetadataExtractorImpl_DoAddItf");
-    return ret;
-    }
-
-/* XAMetadataExtractorImpl_DoResumeItf
- * Try to resume lost interface, object specific parts
- */
-XAresult XAMetadataExtractorImpl_DoResumeItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMetadataExtractorImpl_DoResumeItf");
-    /* For now, no difference between suspended and unrealised itfs */
-    ret = XAMetadataExtractorImpl_DoAddItf(self, mapEntry);
-    DEBUG_API("<-XAMetadataExtractorImpl_DoResumeItf");
-    return ret;
-    }
-
-/* XAMetadataExtractorImpl_DoRemoveItf
- * Dynamically remove an interface, object specific parts
- */
-XAresult XAMetadataExtractorImpl_DoRemoveItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAMetadataExtractorImpl_DoRemoveItf");
-    ret = XA_RESULT_SUCCESS;
-    if (mapEntry)
-        {
-        switch (mapEntry->mapIdx)
-            {
-            case MDE_CONFIGEXTENSIONITF:
-                XAConfigExtensionsItfImpl_Free(mapEntry->pItf);
-                break;
-            default:
-                DEBUG_ERR("XAMetadataExtractorImpl_DoRemoveItf unknown id");
-                ret = XA_RESULT_FEATURE_UNSUPPORTED;
-                break;
-            }
-        mapEntry->pItf = NULL;
-        }
-    else
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    DEBUG_API("<-XAMetadataExtractorImpl_DoRemoveItf");
-    return ret;
-    }
-/* END OF FILE */
--- a/khronosfws/openmax_al/src/metadataextractor/xametadataextractor.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Metadata Extractor Header
- *
- */
-
-#ifndef XAMETADATAEXTRACTOR_H
-#define XAMETADATAEXTRACTOR_H
-
-#include "openmaxalwrapper.h"
-#include "xaobjectitf.h"
-#include "xaglobals.h"
-#include "xaadptbasectx.h"
-
-/** MACROS **/
-
-/** TYPES **/
-
-/** ENUMERATIONS **/
-/* Enumeration for interfaces that MetadataExtractor supports.  */
-typedef enum
-    {
-    MDE_OBJECTITF, /* <-keep this first */
-    MDE_DIMITF,
-    MDE_METADATAEXTRACTIONITF,
-    MDE_CONFIGEXTENSIONITF,
-    MDE_DYNAMICSOURCEITF,
-    MDE_ITFCOUNT
-    } XAMetadataExtractorInterfaces;
-
-/** STRUCTURES **/
-/* Specification for XAMetadataExtractorImpl
- */
-typedef struct XAMetadataExtractorImpl_
-    {
-    /* Parent for XAMetadataExtractorImpl */
-    XAObjectItfImpl baseObj; /* <-keep this first */
-
-    /* variables */
-    XADataSource *dataSrc;
-
-    XAAdaptationBaseCtx* curAdaptCtx;
-    XAAdaptationBaseCtx* adaptationCtxGst;
-    XAAdaptationBaseCtx* adaptationCtxMMF;
-
-    } XAMetadataExtractorImpl;
-
-/** METHODS **/
-
-/* base object XAObjectItfImpl methods */
-XAresult XAMetadataExtractorImpl_DoRealize(XAObjectItf self);
-XAresult XAMetadataExtractorImpl_DoResume(XAObjectItf self);
-void XAMetadataExtractorImpl_FreeResources(XAObjectItf self);
-
-/* MetadataExtractorImpl -specific methods */
-XAresult XAMetadataExtractorImpl_DoAddItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-XAresult XAMetadataExtractorImpl_DoResumeItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-XAresult XAMetadataExtractorImpl_DoRemoveItf(XAObjectItf self,
-        XAObjItfMapEntry *mapEntry);
-
-#endif /* XAMETADATAEXTRACTOR_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/cmetadatautilityitf.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1029 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Metadata backend engine
- *
- */
-
-#include <string.h>
-#include <ctype.h>
-#include <uri8.h>
-#include "cmetadatautilityitf.h"
-#include "profileutilmacro.h"
-
-CMetadataUtilityItf::CMetadataUtilityItf() :
-    m_pS60Util(NULL), m_pHXUtil(NULL)
-    {
-    }
-
-CMetadataUtilityItf::~CMetadataUtilityItf()
-    {
-    if (m_pS60Util)
-        {
-        delete m_pS60Util;
-        }
-
-    if (m_pHXUtil)
-        {
-        delete m_pHXUtil;
-        }
-    }
-
-CMetadataUtilityItf* CMetadataUtilityItf::New(char* uri)
-    {
-    CMetadataUtilityItf* p_mdutilitf = new CMetadataUtilityItf;
-
-    p_mdutilitf->ParseSource(uri); //ignore error
-
-    return p_mdutilitf;
-    }
-
-TInt CMetadataUtilityItf::OpenSource(char* pOrigUri)
-    {
-    //Make a local copy for uri
-    if (!pOrigUri)
-        return XA_RESULT_PARAMETER_INVALID;
-
-    int uriLen = strlen(pOrigUri);
-    char* uri = new char[uriLen + 1];
-    if (!uri)
-        {
-        return XA_RESULT_MEMORY_FAILURE;
-        }
-    strncpy(uri, pOrigUri, uriLen);
-    uri[uriLen] = '\0';
-    ////////////////////////////////////////////
-    _LIT8(KFileSlash,"file:///");
-    TInt fileslashlen = KFileSlash().Length();
-
-    TPtr8 fileuri((TUint8*) uri, strlen(uri), strlen(uri));
-    TPtr8 filepath = fileuri.RightTPtr(strlen(uri) - fileslashlen);
-
-    TInt pos = filepath.LocateReverse(':');
-    if (pos != KErrNotFound)
-        {
-        fileuri.Delete(fileslashlen + pos, 1);
-        }
-
-    TUriParser8 localfileUri;
-    TInt ret = localfileUri.Parse(fileuri);
-    if (ret == KErrNone)
-        {
-        HBufC* file = NULL;
-        TRAP(ret,file = localfileUri.GetFileNameL());
-        if (ret == KErrNone)
-            {
-            if (m_pS60Util)
-                {
-                ret = m_pS60Util->ParseSource(*file);
-                }
-            else if (m_pHXUtil)
-                {
-                ret = m_pHXUtil->ParseSource(*file);
-                }
-            else
-                {
-                ret = KErrNotFound;
-                }
-            }
-
-        delete file;
-        }
-
-    if (uri)
-        {
-        delete[] uri;
-        }
-
-    if (ret != KErrNone)
-        {
-        //delete the utilities
-        if (m_pS60Util)
-            {
-            delete m_pS60Util;
-            m_pS60Util = NULL;
-            }
-
-        if (m_pHXUtil)
-            {
-            delete m_pHXUtil;
-            m_pHXUtil = NULL;
-            }
-
-        }
-    return ret;
-    }
-
-TInt CMetadataUtilityItf::ExtractUCS2(TDesC& inDes, char* outPtr, TInt maxLen)
-    {
-    TPtrC tempPtr = inDes.Left((maxLen / 2) - 1); //save last one for null terminator
-    TInt outLen = tempPtr.Length() + 1;
-
-    TPtr16 outDes((unsigned short*) outPtr, outLen);
-    outDes.Copy(tempPtr);
-    outDes.ZeroTerminate();
-
-    return outLen * 2; //return size
-    }
-
-TInt CMetadataUtilityItf::CalculateNumMetadataItems(TUint*numItems)
-    {
-    *numItems = 0;
-
-    if (m_pS60Util)
-        {
-        return m_pS60Util->CalculateNumMetadataItems(numItems);
-        }
-    else if (m_pHXUtil)
-        {
-        return m_pHXUtil->CalculateNumMetadataItems(numItems);
-        }
-
-    return KErrNone;
-    }
-
-char* CMetadataUtilityItf::GetKey(TInt index)
-    {
-    if (m_pS60Util)
-        {
-        return m_pS60Util->GetKey(index);
-        }
-    else if (m_pHXUtil)
-        {
-        return m_pHXUtil->GetKey(index);
-        }
-
-    return NULL;
-    }
-
-TInt CMetadataUtilityItf::GetValueSize(TInt index)
-    {
-    if (m_pS60Util)
-        {
-        return m_pS60Util->GetValueSize(index);
-        }
-    else if (m_pHXUtil)
-        {
-        return m_pHXUtil->GetValueSize(index);
-        }
-
-    return 0;
-    }
-
-TInt CMetadataUtilityItf::GetValue(TInt index, char* data, TInt maxLength,
-        TInt* outSize, TInt* encodingType)
-    {
-    if (m_pS60Util)
-        {
-        return m_pS60Util->GetValue(index, data, maxLength, outSize,
-                encodingType);
-        }
-    else if (m_pHXUtil)
-        {
-        return m_pHXUtil->GetValue(index, data, maxLength, outSize,
-                encodingType);
-        }
-
-    return 0;
-    }
-
-TInt CMetadataUtilityItf::ParseSource(char* uri)
-    {
-    char* tempPtr = NULL;
-    char extension[MAX_EXTENSION_SIZE] =
-        {
-        0
-        };
-
-    tempPtr = strchr(uri, (int) '.');
-    strncpy(extension, tempPtr, sizeof(tempPtr));
-
-    for (unsigned int i = 0; i < sizeof(extension); i++)
-        {
-        extension[i] = tolower(extension[i]);
-        }
-
-    //if s60 util in use
-    if (m_pS60Util)
-        {
-        //reset existing instace
-        TInt ret = m_pS60Util->Reset();
-        if (!CS60MetadataUtilityItf::IsSupportedExtension(extension))
-            {
-            delete m_pS60Util;
-            m_pS60Util = NULL;
-            }
-        }
-
-    if (m_pHXUtil)
-        {
-        //reset existing instace
-        TInt ret = m_pHXUtil->Reset();
-        if (CS60MetadataUtilityItf::IsSupportedExtension(extension))
-            {
-            delete m_pHXUtil;
-            m_pHXUtil = NULL;
-            }
-        }
-
-    if (!m_pS60Util && !m_pHXUtil)
-        {
-
-        if (CS60MetadataUtilityItf::IsSupportedExtension(extension))
-            {
-            m_pS60Util = CS60MetadataUtilityItf::New();
-            }
-        else
-            {
-            m_pHXUtil = CHXMetadataUtilityItf::New();
-            }
-        }
-
-    return OpenSource(uri);
-    }
-
-bool CS60MetadataUtilityItf::IsSupportedExtension(char *extn)
-    {
-    if ((!strcasecmp(extn, ".mp3")) || (!strcasecmp(extn, ".wma"))
-            || (!strcasecmp(extn, ".aac")) || (!strcasecmp(extn, ".wav"))
-            || (!strcasecmp(extn, ".m4a")))
-        {
-        return true;
-        }
-
-    return false;
-    }
-
-CS60MetadataUtilityItf* CS60MetadataUtilityItf::New()
-    {
-    CS60MetadataUtilityItf* self = new CS60MetadataUtilityItf();
-
-    TInt err = KErrGeneral;
-    TRAP(err, self->ConstructL());
-
-    if (err == KErrNone)
-        {
-        return self;
-        }
-
-    delete self;
-    return NULL;
-    }
-
-CS60MetadataUtilityItf::CS60MetadataUtilityItf() :
-    pMetaDataUtility(NULL)
-    {
-    }
-
-void CS60MetadataUtilityItf::ConstructL()
-    {
-    TAG_TIME_PROFILING_BEGIN;
-    pMetaDataUtility = CMetaDataUtility::NewL();
-    TAG_TIME_PROFILING_END; PRINT_TO_CONSOLE_TIME_DIFF;
-    }
-
-CS60MetadataUtilityItf::~CS60MetadataUtilityItf()
-    {
-    if (pMetaDataUtility)
-        {
-        TInt err = KErrGeneral;
-
-        TAG_TIME_PROFILING_BEGIN;
-        TRAP(err, pMetaDataUtility->ResetL());
-        delete pMetaDataUtility;
-        TAG_TIME_PROFILING_END; PRINT_TO_CONSOLE_TIME_DIFF;
-        }
-
-    pMetaDataUtility = NULL;
-    }
-
-TInt CS60MetadataUtilityItf::ParseSource(TDesC& fileName)
-    {
-    TInt err = KErrGeneral;
-
-    if (pMetaDataUtility)
-        {
-
-        TAG_TIME_PROFILING_BEGIN;
-        //open with the file handle
-        TRAP(err, pMetaDataUtility->OpenFileL(fileName)); 
-        TAG_TIME_PROFILING_END; 
-        PRINT_TO_CONSOLE_TIME_DIFF;
-
-        if (err == KErrNone)
-            {
-            uNumMetadataItems = pMetaDataUtility->MetaDataCount();
-            }
-        }
-
-    return err;
-    }
-
-TInt CS60MetadataUtilityItf::CalculateNumMetadataItems(TUint* numItems)
-    {
-    TInt err = KErrGeneral;
-
-    if (pMetaDataUtility && numItems)
-        {
-        *numItems = uNumMetadataItems;
-        err = KErrNone;
-        }
-
-    return err;
-    }
-
-char* CS60MetadataUtilityItf::KeyMapping(TMetaDataFieldId fldID)
-    {
-    switch (fldID)
-        {
-
-        case EMetaDataSongTitle:
-            {
-            return "KhronosTitle";
-            }
-        case EMetaDataArtist:
-            {
-            return "KhronosArtist";
-            }
-        case EMetaDataAlbum:
-            {
-            return "KhronosAlbum";
-            }
-        case EMetaDataYear:
-            {
-            return "KhronosYear";
-            }
-        case EMetaDataComment:
-            {
-            return "KhronosComment";
-            }
-        case EMetaDataAlbumTrack:
-            {
-            return "KhronosTrackNumber";
-            }
-        case EMetaDataGenre:
-            {
-            return "KhronosGenre";
-            }
-        case EMetaDataComposer:
-            {
-            return "Composer"; //Non Standard
-            }
-        case EMetaDataCopyright:
-            {
-            return "KhronosCopyright";
-            }
-        case EMetaDataOriginalArtist:
-            {
-            return "Original Artist"; //Non Standard
-            }
-        case EMetaDataUserUrl:
-        case EMetaDataUrl:
-            {
-            return "KhronosContentURL";
-            }
-        case EMetaDataJpeg:
-            {
-            return "attachedpicture";//"KhronosAlbumArtJPEG";
-            }
-        case EMetaDataVendor:
-            {
-            return "Vendor"; //Non Standard
-            }
-        case EMetaDataRating:
-            {
-            return "KhronosRating";
-            }
-        case EMetaDataDuration:
-            {
-            return "Duration"; //Non Standard
-            }
-        default:
-            {
-            }
-        }
-
-    return "UnSupported";
-    }
-
-TInt CS60MetadataUtilityItf::ValueEncoding(TMetaDataFieldId fldID)
-    {
-    switch (fldID)
-        {
-        case EMetaDataJpeg:
-            {
-            return CMetadataUtilityItf::EBinaryEncoding;
-            }
-
-        case EMetaDataSongTitle:
-        case EMetaDataArtist:
-        case EMetaDataAlbum:
-        case EMetaDataYear:
-        case EMetaDataComment:
-        case EMetaDataAlbumTrack:
-        case EMetaDataGenre:
-        case EMetaDataComposer:
-        case EMetaDataCopyright:
-        case EMetaDataOriginalArtist:
-        case EMetaDataUserUrl:
-        case EMetaDataUrl:
-        case EMetaDataVendor:
-        case EMetaDataRating:
-        case EMetaDataDuration:
-        default:
-            {
-            return CMetadataUtilityItf::EUnicodeEncoding;
-            }
-        }
-
-    }
-char* CS60MetadataUtilityItf::GetKey(TInt index)
-    {
-
-    if (pMetaDataUtility && index < uNumMetadataItems)
-        {
-
-        TMetaDataFieldId fieldId;
-
-        TAG_TIME_PROFILING_BEGIN;
-        TInt err = KErrGeneral;
-        TRAP(err, pMetaDataUtility->MetaDataFieldsL().FieldIdAt( index, fieldId )); 
-        TAG_TIME_PROFILING_END; 
-        PRINT_TO_CONSOLE_TIME_DIFF;
-
-        if ((err == KErrNone) && (fieldId != EUnknownMetaDataField))
-            {
-            return KeyMapping(fieldId);
-            }
-        }
-    return NULL;
-    }
-
-TInt CS60MetadataUtilityItf::GetValueSize(TInt index)
-    {
-    if (pMetaDataUtility && index < uNumMetadataItems)
-        {
-
-        TMetaDataFieldId fieldId;
-        TInt err = KErrGeneral;
-        TRAP(err, pMetaDataUtility->MetaDataFieldsL().FieldIdAt( index, fieldId ));
-
-        if ((err == KErrNone) && (fieldId != EUnknownMetaDataField))
-            {
-            const CMetaDataFieldContainer* iContainer = NULL;
-            TRAP(err, iContainer = &pMetaDataUtility->MetaDataFieldsL());
-            if (err == KErrNone)
-                {
-                if (ValueEncoding(fieldId)
-                        == CMetadataUtilityItf::EUnicodeEncoding)
-                    {
-                    TPtrC field = iContainer->Field(fieldId);
-                    if (field != KNullDesC)
-                        {
-                        return field.Size() + 2; //additional character (two bytes) for null terminator
-                        }
-                    }
-                else //Binary
-                    {
-                    TPtrC8 field8 = iContainer->Field8(fieldId);
-                    if (field8 != KNullDesC8)
-                        {
-                        return field8.Size();
-                        }
-                    }
-                }
-            }
-        }
-
-    return 0;
-    }
-
-TInt CS60MetadataUtilityItf::GetValue(TInt index, char* data, TInt maxLength, //in params
-        TInt* outSize, TInt* encodingType) //out params
-    {
-
-    TInt retValueSize = 0;
-    *encodingType = CMetadataUtilityItf::EUnknownEncoding;
-
-    if (pMetaDataUtility && index < uNumMetadataItems)
-        {
-
-        TMetaDataFieldId fieldId;
-        TInt err = KErrGeneral;
-        TRAP(err, pMetaDataUtility->MetaDataFieldsL().FieldIdAt( index, fieldId ));
-
-        if ((err == KErrNone) && (fieldId != EUnknownMetaDataField))
-            {
-
-            const CMetaDataFieldContainer* iContainer = NULL;
-            TRAP(err, iContainer = &pMetaDataUtility->MetaDataFieldsL());
-            if (err == KErrNone)
-                {
-                *encodingType = ValueEncoding(fieldId);
-                if (*encodingType == CMetadataUtilityItf::EUnicodeEncoding)
-                    {
-
-                    TAG_TIME_PROFILING_BEGIN;
-                    TPtrC field = iContainer->Field(fieldId);
-                    TAG_TIME_PROFILING_END;
-                    PRINT_TO_CONSOLE_TIME_DIFF;
-                    if (field != KNullDesC)
-                        {
-                        *outSize = CMetadataUtilityItf::ExtractUCS2(field,
-                                data, maxLength);
-                        retValueSize = field.Size() + 2; //actual size
-                        }
-                    }
-                else //Binary
-                    {
-
-                    TAG_TIME_PROFILING_BEGIN;
-                    TPtrC8 field8 = iContainer->Field8(fieldId);
-                    TAG_TIME_PROFILING_END;
-                    PRINT_TO_CONSOLE_TIME_DIFF;
-                    if (field8 != KNullDesC8)
-                        {
-                        *outSize
-                                = (maxLength > field8.Size())
-                                                              ? field8.Size()
-                                                                 : maxLength;
-                        memcpy(data, field8.Ptr(), *outSize);
-                        retValueSize = field8.Size();
-                        }
-                    }
-                }
-            }
-        }
-
-    return retValueSize;
-    }
-
-TInt CS60MetadataUtilityItf::Reset()
-    {
-    TInt err = KErrNone;
-    if (pMetaDataUtility)
-        {
-        TRAP(err, pMetaDataUtility->ResetL());
-        }
-
-    return err;
-    }
-
-CHXMetadataUtilityItf::CHXMetadataUtilityItf() :
-    pHXMetaDataUtility(NULL)
-    {
-    }
-
-void CHXMetadataUtilityItf::ConstructL()
-    {
-    TAG_TIME_PROFILING_BEGIN;
-    pHXMetaDataUtility = CHXMetaDataUtility::NewL();
-    TAG_TIME_PROFILING_END; 
-    PRINT_TO_CONSOLE_TIME_DIFF;
-    }
-
-CHXMetadataUtilityItf* CHXMetadataUtilityItf::New()
-    {
-    CHXMetadataUtilityItf* self = new CHXMetadataUtilityItf();
-
-    if (self)
-        {
-        TInt err = KErrGeneral;
-        TRAP(err, self->ConstructL());
-
-        if (err != KErrNone)
-            {
-            delete self;
-            self = NULL;
-            }
-        }
-
-    return self;
-    }
-
-CHXMetadataUtilityItf::~CHXMetadataUtilityItf()
-    {
-    if (pHXMetaDataUtility)
-        {
-        TInt err = KErrGeneral;
-
-        TAG_TIME_PROFILING_BEGIN;
-        TRAP(err, pHXMetaDataUtility->ResetL());
-        delete pHXMetaDataUtility;
-        TAG_TIME_PROFILING_END; 
-        PRINT_TO_CONSOLE_TIME_DIFF;
-        }
-
-    pHXMetaDataUtility = NULL;
-    }
-
-TInt CHXMetadataUtilityItf::Reset()
-    {
-    TInt err = KErrNone;
-    if (pHXMetaDataUtility)
-        {
-        TRAP(err, pHXMetaDataUtility->ResetL());
-        }
-
-    return err;
-    }
-
-TInt CHXMetadataUtilityItf::ParseSource(TDesC& fileName)
-    {
-    TInt err = KErrGeneral;
-
-    if (pHXMetaDataUtility)
-        {
-        //open with the file handle
-        TAG_TIME_PROFILING_BEGIN;
-        TRAP(err, pHXMetaDataUtility->OpenFileL(fileName)); 
-        TAG_TIME_PROFILING_END; 
-        PRINT_TO_CONSOLE_TIME_DIFF;
-
-        if (err == KErrNone)
-            {
-            return pHXMetaDataUtility->GetMetaDataCount(uNumMetadataItems);
-            }
-        }
-
-    return err;
-    }
-
-TInt CHXMetadataUtilityItf::CalculateNumMetadataItems(TUint* numItems)
-    {
-    TInt err = KErrGeneral;
-
-    if (pHXMetaDataUtility && numItems)
-        {
-        *numItems = uNumMetadataItems;
-        err = KErrNone;
-        }
-
-    return err;
-    }
-
-char* CHXMetadataUtilityItf::KeyMapping(HXMetaDataKeys::EHXMetaDataId fldID)
-    {
-
-    switch (fldID)
-        {
-
-        case HXMetaDataKeys::EHXTitle:
-            {
-            return "KhronosTitle";
-            }
-        case HXMetaDataKeys::EHXPerformer:
-            {
-            return "KhronosArtist";
-            }
-        case HXMetaDataKeys::EHXDescription:
-            {
-            return "KhronosComment";
-            }
-        case HXMetaDataKeys::EHXGenre:
-            {
-            return "KhronosGenre";
-            }
-        case HXMetaDataKeys::EHXAuthor:
-            {
-            return "Composer"; //Non Standard
-            }
-        case HXMetaDataKeys::EHXCopyright:
-            {
-            return "KhronosCopyright";
-            }
-        case HXMetaDataKeys::EHXContentURI:
-            {
-            return "KhronosContentURL";
-            }
-        case HXMetaDataKeys::EHXDuration:
-            {
-            return "Duration"; //Non Standard
-            }
-        case HXMetaDataKeys::EHXClipBitRate:
-            {
-            return "ClipBitRate"; //non-standard
-            }
-        case HXMetaDataKeys::EHXVideoBitRate:
-            {
-            return "VideoBitRate"; // non-standard
-            }
-        case HXMetaDataKeys::EHXAudioBitRate:
-            {
-            return "AudioBitRate";
-            }
-        case HXMetaDataKeys::EHXCodec:
-            {
-            return "Codec";
-            }
-        case HXMetaDataKeys::EHXFrameSize:
-            {
-            return "Resolution";
-            }
-        case HXMetaDataKeys::EHXFramesPerSecond:
-            {
-            return "FrameRate";
-            }
-        case HXMetaDataKeys::EHXStreamCount:
-            {
-            return "Stream Count";
-            }
-        case HXMetaDataKeys::EHXLiveStream:
-            {
-            return "Live Stream";
-            }
-        case HXMetaDataKeys::EHXSeekable:
-            {
-            return "Seekable";
-            }
-        case HXMetaDataKeys::EHXContentType:
-            {
-            return "Content Type";
-            }
-        case HXMetaDataKeys::EHXFormat:
-            {
-            return "Format";
-            }
-        case HXMetaDataKeys::EHXQuality:
-            {
-            return "Quality";
-            }
-        case HXMetaDataKeys::EHXAbstract:
-            {
-            return "Abstract";
-            }
-        case HXMetaDataKeys::EHXMimeType:
-            {
-            return "MimeType";
-            }
-        case HXMetaDataKeys::EHXIconURI:
-            {
-            return "Icon URI";
-            }
-        case HXMetaDataKeys::EHXEPreviewURI:
-            {
-            return "Preview URI";
-            }
-        case HXMetaDataKeys::EHXContentID:
-            {
-            return "Content ID";
-            }
-        case HXMetaDataKeys::EHXInfoURL:
-            {
-            return "Info URL";
-            }
-        default:
-            {
-            }
-        }
-
-    return "UnSupported";
-    }
-
-TInt CHXMetadataUtilityItf::ValueEncoding(HXMetaDataKeys::EHXMetaDataId fldID)
-    {
-    switch (fldID)
-        {
-        default:
-            {
-            return CMetadataUtilityItf::EUnicodeEncoding;
-            }
-        }
-
-    }
-char* CHXMetadataUtilityItf::GetKey(TInt index)
-    {
-
-    if (pHXMetaDataUtility && index < uNumMetadataItems)
-        {
-        HXMetaDataKeys::EHXMetaDataId id;
-        HBufC* pDes;
-
-        TAG_TIME_PROFILING_BEGIN;
-        TInt err = pHXMetaDataUtility->GetMetaDataAt(index, id, pDes);
-        TAG_TIME_PROFILING_END; 
-        PRINT_TO_CONSOLE_TIME_DIFF;
-
-        if (err == KErrNone)
-            {
-            return KeyMapping(id);
-            }
-        }
-    return NULL;
-    }
-
-TInt CHXMetadataUtilityItf::GetValueSize(TInt index)
-    {
-    if (pHXMetaDataUtility && index < uNumMetadataItems)
-        {
-        HXMetaDataKeys::EHXMetaDataId id;
-        HBufC* pDes;
-
-        TInt err = pHXMetaDataUtility->GetMetaDataAt(index, id, pDes);
-
-        if (err == KErrNone)
-            {
-            if (ValueEncoding(id) == CMetadataUtilityItf::EUnicodeEncoding)
-                {
-                return pDes->Size() + 2; //additional character (two bytes) for null terminator
-                }
-            else //Binary
-                {
-                //no support
-                }
-            }
-        }
-
-    return 0;
-    }
-
-TInt CHXMetadataUtilityItf::GetValue(TInt index, char* data, TInt maxLength, //in params
-        TInt* outSize, TInt* encodingType) //out params
-    {
-
-    TInt retValueSize = 0;
-    *encodingType = CMetadataUtilityItf::EUnknownEncoding;
-
-    if (pHXMetaDataUtility && index < uNumMetadataItems)
-        {
-        HXMetaDataKeys::EHXMetaDataId id;
-        HBufC* pDes;
-
-        TAG_TIME_PROFILING_BEGIN;
-        TInt err = pHXMetaDataUtility->GetMetaDataAt(index, id, pDes);
-        TAG_TIME_PROFILING_END; 
-        PRINT_TO_CONSOLE_TIME_DIFF;
-
-        *encodingType = ValueEncoding(id);
-
-        if (err == KErrNone)
-            {
-            if (*encodingType == CMetadataUtilityItf::EUnicodeEncoding)
-                {
-                *outSize = CMetadataUtilityItf::ExtractUCS2(*pDes, data,
-                        maxLength);
-                retValueSize = pDes->Size() + 2; //actual Size	
-                }
-            else //Binary
-                {
-                //no support
-                }
-            }
-        }
-
-    return retValueSize;
-    }
-
-extern "C"
-    {
-
-    void* mmf_metadata_utility_init(char* uri)
-        {
-        return CMetadataUtilityItf::New(uri);
-        }
-
-    void mmf_metadata_utility_destroy(void* context)
-        {
-        delete ((CMetadataUtilityItf*) context);
-        }
-
-    XAresult mmf_metadata_utility_parse_source(void* context, char* uri)
-        {
-        TInt err = ((CMetadataUtilityItf*) context)->ParseSource(uri);
-
-        if (err == KErrNone)
-            {
-            return XA_RESULT_SUCCESS;
-            }
-
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    XAresult mmf_get_item_count(void* context, XAuint32* itemCount)
-        {
-        if (itemCount)
-            {
-            TInt err =((CMetadataUtilityItf*) (context))->CalculateNumMetadataItems(
-                                    (TUint *) itemCount);
-            if (err == KErrNone)
-                {
-                return XA_RESULT_SUCCESS;
-                }
-            }
-
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    XAresult mmf_get_key_size(void* context, XAuint32 keyIndex,
-            XAuint32* keySize)
-        {
-        char* key = ((CMetadataUtilityItf*) (context))->GetKey(keyIndex);
-        if (key && keySize)
-            {
-            *keySize = (strlen(key) + sizeof(XAMetadataInfo));
-
-            return XA_RESULT_SUCCESS;
-            }
-
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    XAresult mmf_get_key(void* context, XAuint32 index, XAuint32 keySize,
-            XAMetadataInfo *pKey)
-        {
-        XAresult ret = XA_RESULT_PARAMETER_INVALID;
-
-        TInt keyDataSize = keySize - sizeof(XAMetadataInfo) + 1;
-        char* ascKey = ((CMetadataUtilityItf*) (context))->GetKey(index);
-
-        if (ascKey && keyDataSize)
-            {
-            TInt ascKeySize = strlen(ascKey);
-            TInt outSize = (ascKeySize >= keyDataSize)
-                                                       ? (keyDataSize - 1)
-                                                          : ascKeySize;
-
-            pKey->size = outSize + 1;
-            pKey->encoding = XA_CHARACTERENCODING_ASCII;
-            strcpy((char *) (pKey->langCountry), "en-us");
-            strncpy((char *) (pKey->data), ascKey, outSize);
-            pKey->data[outSize] = '\0';
-
-            if (ascKeySize >= keyDataSize)
-                {
-                ret = XA_RESULT_BUFFER_INSUFFICIENT;
-                }
-            else
-                {
-                ret = XA_RESULT_SUCCESS;
-                }
-            }
-
-        ret = XA_RESULT_SUCCESS;
-        return ret;
-        }
-
-    XAresult mmf_get_value_size(void* context, XAuint32 index,
-            XAuint32 *pValueSize)
-        {
-        if (pValueSize)
-            {
-            *pValueSize = ((CMetadataUtilityItf*) (context))->GetValueSize(
-                    index) + sizeof(XAMetadataInfo) - 1; 
-            //XAMetadataInfo already includes one byte for Data
-
-            return XA_RESULT_SUCCESS;
-            }
-
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    XAresult mmf_get_value(void* context, XAuint32 index, XAuint32 valueSize,
-            XAMetadataInfo *pValue)
-        {
-        XAresult ret = XA_RESULT_PARAMETER_INVALID;
-        TInt dataSize = valueSize - sizeof(XAMetadataInfo) + 1;
-        TInt outLen = 0, encodingType = CMetadataUtilityItf::EUnknownEncoding;
-
-        if (dataSize > 0)
-            {
-
-            TInt actualDataSize =
-                    ((CMetadataUtilityItf*) (context))->GetValue(index,
-                            (char*) pValue->data, dataSize, &outLen,
-                            &encodingType);
-
-            pValue->size = outLen;
-            pValue->encoding
-                    = (encodingType == CMetadataUtilityItf::EUnicodeEncoding) 
-                    ? XA_CHARACTERENCODING_UTF16LE : XA_CHARACTERENCODING_BINARY;
-            strcpy((char *) (pValue->langCountry), "en-us");
-
-            if (!actualDataSize)
-                {
-                return XA_RESULT_INTERNAL_ERROR;
-                }
-            if (actualDataSize > dataSize)
-                {
-                ret = XA_RESULT_BUFFER_INSUFFICIENT;
-                }
-            else
-                {
-                ret = XA_RESULT_SUCCESS;
-                }
-            }
-
-        return ret;
-        }
-    }
-
--- a/khronosfws/openmax_al/src/mmf_adaptation/cmetadatautilityitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Metadata backend engine
- *
- */
-
-#ifndef CMETADATA_UTILITY_ITF_H
-#define CMETADATA_UTILITY_ITF_H
-
-#ifdef __cplusplus
-
-#include <e32base.h>
-#include <e32std.h>
-#include <e32hashtab.h>
-#include <openmaxalwrapper.h>
-
-#include <hxmetadatautil.h>
-#include <MetaDataUtility.h>
-#include <MetaDataFieldContainer.h>
-#include <MetaDataField.hrh>
-
-#define MAX_EXTENSION_SIZE 10
-#define uint32 unsigned int
-
-class CS60MetadataUtilityItf;
-class CHXMetadataUtilityItf;
-
-NONSHARABLE_CLASS(CMetadataUtilityItf)
-    {
-public:
-
-    enum TValueEncodingType
-        {
-        EUnknownEncoding, EAsciiEncoding, EUnicodeEncoding, EBinaryEncoding,
-        };
-
-    static CMetadataUtilityItf* New(char* uri);
-
-    CMetadataUtilityItf();
-    virtual ~CMetadataUtilityItf();
-    TInt ParseSource(char* uri);
-    TInt OpenSource(char* uri);
-    TInt CalculateNumMetadataItems(TUint*);
-    char* GetKey(TInt index);
-    TInt GetValueSize(TInt index);
-    TInt GetValue(TInt index, char* data, TInt maxLength, TInt* outSize,
-            TInt* encodingType);
-
-    //helper function
-    //extracts left part of input descriptor upto (maxLen-1) and copies content in outPtr
-    //append a null terminator
-    static TInt ExtractUCS2(TDesC& inDes, char* outPtr, TInt maxLen);
-
-private:
-    CS60MetadataUtilityItf* m_pS60Util;
-    CHXMetadataUtilityItf* m_pHXUtil;
-    };
-
-NONSHARABLE_CLASS(CS60MetadataUtilityItf)
-    {
-public:
-
-    static CS60MetadataUtilityItf* New();
-    ~CS60MetadataUtilityItf();
-
-    TInt CalculateNumMetadataItems(TUint*);
-
-    char* GetKey(TInt index);
-    TInt GetValueSize(TInt index);
-    TInt GetValue(TInt index, char* data, TInt maxLength, TInt* outSize,
-            TInt* encodingType);
-
-    TInt ParseSource(TDesC&);
-
-    char* KeyMapping(TMetaDataFieldId);
-    TInt ValueEncoding(TMetaDataFieldId);
-
-    static bool IsSupportedExtension(char* extn);
-
-    TInt Reset();
-
-private:
-
-    CS60MetadataUtilityItf();
-    void ConstructL();
-
-    CMetaDataUtility* pMetaDataUtility; //S60MetadataUtility
-
-    TUint uNumMetadataItems;
-
-    };
-
-NONSHARABLE_CLASS(CHXMetadataUtilityItf)
-    {
-public:
-
-    static CHXMetadataUtilityItf* New();
-    ~CHXMetadataUtilityItf();
-
-    TInt CalculateNumMetadataItems(TUint*);
-
-    char* GetKey(TInt index);
-
-    TInt ValueEncoding(HXMetaDataKeys::EHXMetaDataId fldID);
-    TInt GetValueSize(TInt index);
-    TInt GetValue(TInt index, char* data, TInt maxLength, TInt* outSize,
-            TInt* encodingType);
-
-    TInt ParseSource(TDesC&);
-    char* KeyMapping(HXMetaDataKeys::EHXMetaDataId);
-
-    TInt Reset();
-
-private:
-    CHXMetadataUtilityItf();
-    void ConstructL();
-
-    CHXMetaDataUtility *pHXMetaDataUtility;
-
-    TUint uNumMetadataItems;
-    };
-
-#else
-
-extern void* mmf_metadata_utility_init(char*);
-extern void mmf_metadata_utility_destroy(void* context);
-extern XAresult mmf_metadata_utility_parse_source(void* , char*);
-extern XAresult mmf_get_item_count(void* context, XAuint32* itemCount);
-extern XAresult mmf_get_key_size(void* context, XAuint32 keyIndex, XAuint32* keySize);
-extern XAresult mmf_get_key(void* context, XAuint32 index,XAuint32 keySize, XAMetadataInfo *pKey);
-extern XAresult mmf_get_value_size(void* context, XAuint32 index, XAuint32 *pValueSize);
-extern XAresult mmf_get_value(void* context, XAuint32 index, XAuint32 valueSize, XAMetadataInfo *pValue);
-#endif //__cplusplus
-#endif
--- a/khronosfws/openmax_al/src/mmf_adaptation/cmmfbackendengine.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1930 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- *
- */
-
-#include <string.h>
-#include <ctype.h>
-#include <uri8.h>
-#include <uri16.h>
-#include "cmmfbackendengine.h"
-#include "markerpositiontimer.h"
-#include "positionupdatetimer.h"
-#include "profileutilmacro.h"
-#include <mmf/common/mmfvideoenums.h>
-
-extern "C"
-    {
-#include "xaadaptationmmf.h"
-    }
-
-#define RET_IF_ERR(res, val) if (res != KErrNone) return val
-
-const XAuint32 XA_PLAYSTATE_PLAYERUNINITIALIZED = 0;
-
-CMMFBackendEngine* CMMFBackendEngine::NewL()
-    {
-    CMMFBackendEngine* self = new (ELeave) CMMFBackendEngine();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CMMFBackendEngine::~CMMFBackendEngine()
-    {
-    Close();
-    Destroy();
-    }
-
-CMMFBackendEngine::CMMFBackendEngine() :
-    iPositionUpdatePeriod(1000), /* default is 1000 millisec */
-    iUriPtr(NULL, 0)
-    {
-    iRecordState = ERecorderNotReady;
-    iPositionUpdateTimer = NULL;
-    iMediaPlayerState = XA_PLAYSTATE_PLAYERUNINITIALIZED;
-    iMMFPlayerState = EPlayerClosed;
-    }
-
-void CMMFBackendEngine::ConstructL()
-    {
-    iAPIBeingUsed = ENoUtility;
-    iActiveSchedulerWait = new (ELeave) CActiveSchedulerWait;
-    }
-
-void CMMFBackendEngine::InitAudioRecorderUtilityL()
-    {
-    if (!iAudioRecorder)
-        {
-        iBaseAudioRecorder = CMdaAudioRecorderUtility::NewL(*this);
-        iAudioRecorder = (CMdaAudioRecorderUtility*) iBaseAudioRecorder;
-        }
-    }
-
-void CMMFBackendEngine::InitAudioPlayerUtilityL()
-    {
-    if (!iAudioPlayer)
-        {
-        iBaseAudioPlayer = CMdaAudioPlayerUtility::NewL(*this);
-        iAudioPlayer = (CMdaAudioPlayerUtility*) iBaseAudioPlayer;
-        }
-    InitPlayerTimersL();
-    }
-
-void CMMFBackendEngine::InitVideoPlayerUtilityL()
-    {
-    if (!iVideoPlayer)
-        {
-        iBaseVideoPlayer = CVideoPlayerUtility2::NewL(*this,
-                EMdaPriorityNormal, EMdaPriorityPreferenceTimeAndQuality);
-        iVideoPlayer = (CVideoPlayerUtility2*) iBaseVideoPlayer;
-        iVideoPlayer->RegisterForVideoLoadingNotification(*this);
-        }
-    InitPlayerTimersL();
-    }
-
-void CMMFBackendEngine::InitPlayerTimersL()
-    {
-    if (!iMarkerPositionTimer)
-        {
-        iMarkerPositionTimer = CMarkerPositionTimer::NewL(iAudioPlayer,
-                iVideoPlayer);
-        iMarkerPositionTimer->SetContext(iAdaptContext);
-        }
-    if (!iPlayItfPositionUpdateTimer)
-        {
-        iPlayItfPositionUpdateTimer = CPositionUpdateTimer::NewL(
-                iAudioPlayer, iVideoPlayer);
-        iPlayItfPositionUpdateTimer->SetContext(iAdaptContext);
-        }
-    iMarkerPositionTimer->Stop();
-    iPlayItfPositionUpdateTimer->Stop();
-    }
-
-TInt CMMFBackendEngine::SetFileName(char* uri, XAuint32 format,
-        TFuncInUse func)
-    {
-    TInt err(KErrNone);
-    _LIT8(KFileSlash,"file:///");
-    TInt fileslashlen = KFileSlash().Length();
-    if (func == ERecord)
-        {
-        if (iRecordState == ERecorderNotReady)
-            {
-            iFileFormat = format;
-            iAPIBeingUsed = DetermineAPIToUse(uri, ERecord);
-            err = XA_RESULT_INTERNAL_ERROR;
-            if (iAPIBeingUsed == EAudioRecorderUtility)
-                {
-                /* Initialize URI as needed by MMF utilities */
-                err = InitializeURIForMMFUtil(uri);
-                RET_IF_ERR(err, XA_RESULT_INTERNAL_ERROR);
-                /* Initalize Recorder related objects */
-                TRAP(err, InitAudioRecorderUtilityL());
-                RET_IF_ERR(err, XA_RESULT_INTERNAL_ERROR);
-
-                TRAP(err, iAudioRecorder->OpenFileL(iUriPtr));
-                RET_IF_ERR(err, XA_RESULT_INTERNAL_ERROR);
-                /* Wait until we receive moscostatechanged callback */
-                if (iActiveSchedulerWait && !iActiveSchedulerWait->IsStarted())
-                    {
-                    iActiveSchedulerWait->Start();
-                    }
-                RET_IF_ERR(iErrorCode, XA_RESULT_INTERNAL_ERROR);
-                }
-            }
-        }
-    else
-        {
-        /* The second one is needed for dynamic source interface */
-        if ((iMediaPlayerState == XA_PLAYSTATE_PLAYERUNINITIALIZED)
-                || (iMediaPlayerState == XA_PLAYSTATE_STOPPED))
-            {
-            iFileFormat = format;
-            iAPIBeingUsed = DetermineAPIToUse(uri, EPlay);
-            err = XA_RESULT_INTERNAL_ERROR;
-            if (iAPIBeingUsed == EAudioPlayerUtility)
-                {
-                /* Initialize URI as needed by MMF utilities */
-                err = InitializeURIForMMFUtil(uri);
-                RET_IF_ERR(err, XA_RESULT_INTERNAL_ERROR);
-                /* Initalize Player related objects */
-                TRAP(err, InitAudioPlayerUtilityL());
-                RET_IF_ERR(err, XA_RESULT_INTERNAL_ERROR);
-
-                TAG_TIME_PROFILING_BEGIN;
-                TRAP(err, iAudioPlayer->OpenFileL(iUriPtr));
-                RET_IF_ERR(err, XA_RESULT_INTERNAL_ERROR); 
-                TAG_TIME_PROFILING_END; 
-                PRINT_TO_CONSOLE_TIME_DIFF;
-
-                /* Wait until we receive mapc init complete */
-                PRINT_TO_CONSOLE_HOME_TIME;
-                if (iActiveSchedulerWait && !iActiveSchedulerWait->IsStarted())
-                    {
-                    iActiveSchedulerWait->Start();
-                    }
-                RET_IF_ERR(iErrorCode, XA_RESULT_INTERNAL_ERROR);
-                }
-            else if (iAPIBeingUsed == EVideoPlayerUtility)
-                {
-                /* Initialize URI as needed by MMF utilities */
-                err = InitializeURIForMMFUtil(uri);
-                RET_IF_ERR(err, XA_RESULT_INTERNAL_ERROR);
-                /* Initalize Player related objects */
-                TRAP(err, InitVideoPlayerUtilityL());
-                RET_IF_ERR(err, XA_RESULT_INTERNAL_ERROR);
-
-                if (iUriType == ELocal)
-                    {
-                    /* Open file */
-                    TAG_TIME_PROFILING_BEGIN;
-                    TRAP(err, iVideoPlayer->OpenFileL(iUriPtr));
-                    RET_IF_ERR(err, XA_RESULT_INTERNAL_ERROR); 
-                    TAG_TIME_PROFILING_END; 
-                    PRINT_TO_CONSOLE_TIME_DIFF;
-                    }
-                else
-                    {
-                    /* Open URL */
-                    TAG_TIME_PROFILING_BEGIN;
-                    TRAP(err, iVideoPlayer->OpenUrlL(iUriPtr));
-                    RET_IF_ERR(err, XA_RESULT_INTERNAL_ERROR); 
-                    TAG_TIME_PROFILING_END; 
-                    PRINT_TO_CONSOLE_TIME_DIFF;
-                    }
-                /* Wait until we receive  MvpuoOpenComplete */
-                PRINT_TO_CONSOLE_HOME_TIME;
-                if (iActiveSchedulerWait && !iActiveSchedulerWait->IsStarted())
-                    {
-                    iActiveSchedulerWait->Start();
-                    }
-                RET_IF_ERR(iErrorCode, XA_RESULT_INTERNAL_ERROR);
-
-                /* Prepare utility */
-                TAG_TIME_PROFILING_BEGIN_NO_VAR_DEF;
-                iVideoPlayer->Prepare();
-                TAG_TIME_PROFILING_END_NO_VAR_DEF; 
-                PRINT_TO_CONSOLE_TIME_DIFF;
-
-                /* Wait until we receive  MvpuoPrepareComplete */
-                PRINT_TO_CONSOLE_HOME_TIME_NO_VAR_DEF;
-                if (iActiveSchedulerWait && !iActiveSchedulerWait->IsStarted())
-                    {
-                    iActiveSchedulerWait->Start();
-                    }
-                RET_IF_ERR(iErrorCode, XA_RESULT_INTERNAL_ERROR);
-                }
-            }
-        }
-    if (err != KErrNone)
-        {
-        err = XA_RESULT_INTERNAL_ERROR;
-        }
-    return err;
-    }
-
-TInt CMMFBackendEngine::DetermineAPIToUse(char* uri, TFuncInUse aFunc)
-    {
-    char* dotPtr = NULL;
-    char ext[MAX_EXTENSION_SIZE] =
-        {
-        0
-        };
-    int extLen;
-
-    int colpos;
-    char urischeme[MAX_EXTENSION_SIZE] =
-        {
-        0
-        };
-    int urischemeLen;
-
-    dotPtr = strrchr(uri, (int) '.');
-    if (!dotPtr)
-        {
-        return KErrNotFound;
-        }
-
-    strncpy(ext, dotPtr, strlen(dotPtr));
-    /*Null terminate the string*/
-    ext[strlen(dotPtr)] = '\0';
-    extLen = sizeof(ext);
-    for (unsigned int i = 0; i < extLen; i++)
-        {
-        ext[i] = tolower(ext[i]);
-        }
-
-    colpos = strcspn(uri, ":");
-
-    strncpy(urischeme, uri, colpos + 1);
-    /*Null terminate the string*/
-    urischeme[colpos + 1] = '\0';
-    urischemeLen = sizeof(urischeme);
-    for (unsigned int i = 0; i < urischemeLen; i++)
-        {
-        urischeme[i] = tolower(urischeme[i]);
-        }
-
-    if (aFunc == ERecord)
-        {
-        return EAudioRecorderUtility;
-        }
-    else
-        {
-        if (!strcmp(urischeme, "file:"))
-            {
-            if (!strcmp(ext, ".mp3") || !strcmp(ext, ".amr")
-                    || !strcmp(ext, ".aac") || !strcmp(ext, ".mid")
-                    || !strcmp(ext, ".wav") || !strcmp(ext, ".awb"))
-                {
-                return EAudioPlayerUtility;
-                }
-            else
-                {
-                return EVideoPlayerUtility;
-                }
-            }
-        else
-            {
-            return EVideoPlayerUtility;
-            }
-        }
-    }
-
-//From MVidePlayerUtilityObserver
-void CMMFBackendEngine::MvpuoOpenComplete(TInt aError)
-    {
-    PRINT_TO_CONSOLE_HOME_TIME;
-
-    iErrorCode = aError;
-    if (iErrorCode == KErrNone)
-        {
-        iMMFPlayerState = EPlayerOpened;
-        }
-    if (iActiveSchedulerWait && iActiveSchedulerWait->IsStarted())
-        {
-        iActiveSchedulerWait->AsyncStop();
-        }
-    }
-
-void CMMFBackendEngine::MvpuoPrepareComplete(TInt aError)
-    {
-    PRINT_TO_CONSOLE_HOME_TIME;
-
-    TAutoScaleType autoScale = EAutoScaleBestFit;
-    iErrorCode = aError;
-    iMediaPlayerState = XA_PLAYSTATE_PLAYERUNINITIALIZED;
-    iMediaDuration = 0;
-    iMarkerPositionTimer->ResetPlayer();
-    iPlayItfPositionUpdateTimer->ResetPlayer();
-    if (iErrorCode == KErrNone)
-        {
-        iMMFPlayerState = EPlayerPrepared;
-        TAG_TIME_PROFILING_BEGIN;
-        TRAP(iErrorCode, iMediaDuration = iVideoPlayer->DurationL()); 
-        TAG_TIME_PROFILING_END; 
-        PRINT_TO_CONSOLE_TIME_DIFF;
-        if (iErrorCode == KErrNone)
-            {
-            iPlaybackHead = 0;
-            iMediaPlayerState = XA_PLAYSTATE_STOPPED;
-            iMarkerPositionTimer->UseVideoPlayer();
-            iPlayItfPositionUpdateTimer->UseVideoPlayer();
-            if (m_pWs && m_pScr && m_pWindow)
-                {
-                TRect videoExtent = TRect(m_pWindow->Size());
-                TRect clipRect = TRect(m_pWindow->Size());
-                TAG_TIME_PROFILING_BEGIN;
-                TRAP_IGNORE(iVideoPlayer->AddDisplayWindowL(*m_pWs, *m_pScr, *m_pWindow, videoExtent, clipRect));
-                TRAP_IGNORE(iVideoPlayer->SetAutoScaleL(*m_pWindow, autoScale)); 
-                TAG_TIME_PROFILING_END; 
-                PRINT_TO_CONSOLE_TIME_DIFF;
-                }
-            }
-        }
-    if (iActiveSchedulerWait && iActiveSchedulerWait->IsStarted())
-        {
-        iActiveSchedulerWait->AsyncStop();
-        }
-    }
-
-void CMMFBackendEngine::MvpuoFrameReady(CFbsBitmap& /*aFrame*/, TInt /*aError*/)
-    {
-
-    }
-void CMMFBackendEngine::MvpuoPlayComplete(TInt aError)
-    {
-    iErrorCode = aError;
-    if (iErrorCode == KErrNone)
-        {
-        iPlaybackHead = iMediaDuration;
-        /* Per OpenMAX AL Spec, when playback is completed, media player stays in
-         * paused state with playhead at the end of the media clip */
-        iMediaPlayerState = XA_PLAYSTATE_PAUSED;
-        DoPostEvent(XA_PLAYEVENT_HEADATEND);
-        }
-    else
-        {
-        iPlaybackHead = 0;
-        iMediaPlayerState = XA_PLAYSTATE_STOPPED;
-        XAAdaptEvent event =
-            {
-            XA_PLAYITFEVENTS, XA_OBJECT_EVENT_RESOURCES_LOST, 0, NULL
-            };
-        XAAdaptationBase_SendAdaptEvents(
-                (XAAdaptationBaseCtx*) iAdaptContext, &event);
-        }
-    iMMFPlayerState = EPlayerPrepared;
-    iMarkerPositionTimer->Stop();
-    iPlayItfPositionUpdateTimer->Stop();
-    }
-
-void CMMFBackendEngine::MvpuoEvent(class TMMFEvent const & event)
-    {
-    //RDebug::Print(_L("CMMFBackendEngine::MvpuoEvent (0x%x %d)"), event.iEventType, event.iErrorCode);
-
-    if (event.iEventType == KMMFEventCategoryVideoPlayerGeneralError
-            && event.iErrorCode == KErrHardwareNotAvailable)
-        {
-        //RDebug::Print(_L("CMMFBackendEngine::MvpuoEvent: Hardware Not Available"));
-        }
-
-    else if (event.iEventType == KMMFEventCategoryVideoPlayerGeneralError
-            && event.iErrorCode == KErrMMPartialPlayback)
-        {
-        //RDebug::Print(_L("CMMFBackendEngine::MvpuoEvent: Partial playback"));
-        }
-    if (event.iEventType == KMMFEventCategoryVideoPlayerGeneralError
-            && event.iErrorCode == -12014)
-        {
-        //RDebug::Print(_L("CMMFBackendEngine::MvpuoEvent: Audio Device taken"));
-        PausePlayback();
-        XAAdaptEvent alEvent =
-            {
-            XA_PLAYITFEVENTS, XA_OBJECT_EVENT_RESOURCES_LOST, 0, NULL
-            };
-        XAAdaptationBase_SendAdaptEvents(
-                (XAAdaptationBaseCtx*) iAdaptContext, &alEvent);
-        }
-    else if (event.iEventType == KMMFRefreshMetaData)
-        {
-        //RDebug::Print(_L("CMMFBackendEngine::MvpuoEvent: EventType == KMMFRefreshMetaData"));
-        }
-    else
-        {
-        //RDebug::Print(_L("CMMFBackendEngine::MvpuoEvent: Unhandled event"));
-        }
-
-    }
-
-// From MRebufferCallback
-void CMMFBackendEngine::MvloLoadingStarted()
-    {
-    }
-
-void CMMFBackendEngine::MvloLoadingComplete()
-    {
-    //file playing
-    }
-
-//MMdaAudioPlayerCallback
-void CMMFBackendEngine::MapcInitComplete(TInt aError,
-        const TTimeIntervalMicroSeconds& aDuration)
-    {
-    PRINT_TO_CONSOLE_HOME_TIME;
-
-    iErrorCode = aError;
-    iMediaPlayerState = XA_PLAYSTATE_PLAYERUNINITIALIZED;
-    iMMFPlayerState = EPlayerClosed;
-    iMediaDuration = 0;
-    iMarkerPositionTimer->ResetPlayer();
-    iPlayItfPositionUpdateTimer->ResetPlayer();
-    if (iErrorCode == KErrNone)
-        {
-        iMediaDuration = aDuration;
-        iPlaybackHead = 0;
-        iMediaPlayerState = XA_PLAYSTATE_STOPPED;
-        iMMFPlayerState = EPlayerOpened;
-        iMarkerPositionTimer->UseAudioPlayer();
-        iPlayItfPositionUpdateTimer->UseAudioPlayer();
-        }
-    if (iActiveSchedulerWait && iActiveSchedulerWait->IsStarted())
-        {
-        iActiveSchedulerWait->AsyncStop();
-        }
-    }
-
-void CMMFBackendEngine::MapcPlayComplete(TInt aError)
-    {
-    iErrorCode = aError;
-    if (iErrorCode == KErrNone)
-        {
-        /* Now we should have better value. Start using that */
-        iAudioPlayer->Duration(iMediaDuration);
-        iPlaybackHead = iMediaDuration;
-        /* Per OpenMAX AL Spec, when playback is completed, media player stays in
-         * paused state with playhead at the end of the media clip */
-        iMediaPlayerState = XA_PLAYSTATE_PAUSED;
-        DoPostEvent(XA_PLAYEVENT_HEADATEND);
-        iMMFPlayerState = EPlayerOpened;
-        }
-    else
-        {
-        iAudioPlayer->GetPosition(iPlaybackHead);
-        iMediaPlayerState = XA_PLAYSTATE_PAUSED;
-        iMMFPlayerState = EPlayerPaused;
-        XAAdaptEvent event =
-            {
-            XA_PLAYITFEVENTS, XA_OBJECT_EVENT_RESOURCES_LOST, 0, NULL
-            };
-        XAAdaptationBase_SendAdaptEvents(
-                (XAAdaptationBaseCtx*) iAdaptContext, &event);
-        }
-    iMarkerPositionTimer->Stop();
-    iPlayItfPositionUpdateTimer->Stop();
-    }
-
-// from MMdaObjectStateChangeObserver
-void CMMFBackendEngine::MoscoStateChangeEvent(CBase* /*aObject*/,
-        TInt aPreviousState, TInt aCurrentState, TInt aErrorCode)
-    {
-    TInt err(KErrNone);
-    iPreviousRecordState = aPreviousState;
-    iCurrentRecordState = aCurrentState;
-    iErrorCode = aErrorCode;
-    //RDebug::Print(_L("CMMFBackendEngine::MoscoStateChangeEvent 1 Error[%d]"),aErrorCode);
-    if (iCurrentRecordState == CMdaAudioClipUtility::EOpen) //EOpen
-        {
-        //outputfile is open and ready for recording
-        iRecordState = CMMFBackendEngine::ERecorderOpen;
-        if (iErrorCode == KErrNone)
-            {
-            if (iPreviousRecordState == CMdaAudioClipUtility::ENotReady)
-                {
-                //RDebug::Print(_L("CMMFBackendEngine::MoscoStateChangeEvent 2"));
-                TRAP(err,iAudioInputRecord = CAudioInput::NewL( *iAudioRecorder ));
-                if (err == KErrNone)
-                    {
-                    RArray<CAudioInput::TAudioInputPreference> inputArray;
-                    inputArray.Append(CAudioInput::EDefaultMic);
-                    // Set Audio Input
-                    TRAP(err, iAudioInputRecord->SetAudioInputL( inputArray.Array( ) ));
-                    inputArray.Close();
-                    }
-                TMMFMessageDestination destination(
-                        KUidMetaDataWriteCustomCommand);
-                TMMFMessageDestinationPckg pckg = TMMFMessageDestinationPckg(
-                        destination);
-                TInt ret = iAudioRecorder->RecordControllerCustomCommandSync(
-                        pckg, 0, KNullDesC8, KNullDesC8);
-                //RDebug::Print(_L("CMMFBackendEngine::MoscoStateChangeEvent 3 [%d]"),ret);
-                if (ret != KErrNone && iFileFormat == XA_CONTAINERTYPE_MP4)
-                    {
-                    iPauseSupportMP4 = FALSE;
-                    }
-                if (iActiveSchedulerWait && iActiveSchedulerWait->IsStarted())
-                    {
-                    iActiveSchedulerWait->AsyncStop();
-                    }
-                }
-            }
-        else
-            {
-            XAAdaptEvent event =
-                {
-                XA_RECORDITFEVENTS, XA_OBJECT_EVENT_RESOURCES_LOST, 0, NULL
-                };
-            XAAdaptationBase_SendAdaptEvents(
-                    (XAAdaptationBaseCtx*) iAdaptContext, &event);
-            }
-        }
-    else if (iCurrentRecordState == CMdaAudioClipUtility::ERecording) //ERecording
-        {
-        iRecordState = CMMFBackendEngine::ERecorderRecording;
-        iPositionUpdateTimer->Start(iTimerDelay);
-        XAAdaptEvent event =
-            {
-            XA_RECORDITFEVENTS, XA_RECORDEVENT_HEADMOVING, 0, NULL
-            };
-        XAAdaptationBase_SendAdaptEvents(
-                (XAAdaptationBaseCtx*) iAdaptContext, &event);
-        }
-    else //ENotReady
-        {
-        //outputfile is not open
-        iRecordState = CMMFBackendEngine::ERecorderNotReady;
-        }
-    }
-
-TInt CMMFBackendEngine::SetRecorderState(TRecorderState state,
-        XAboolean stopCalled)
-    {
-    TInt err(KErrNone);
-
-    if (iAPIBeingUsed != EAudioRecorderUtility)
-        {
-        return XA_RESULT_INTERNAL_ERROR;
-        }
-
-    switch (state)
-        {
-        case ERecorderNotReady:
-            iAudioRecorder->Close();
-            iRecordState = ERecorderNotReady;
-            break;
-        case ERecorderOpen:
-            if (iFileFormat == XA_CONTAINERTYPE_MP4 && !iPauseSupportMP4
-                    && !stopCalled)
-                {
-                err = KErrNotSupported;
-                return err;
-                }
-            iPositionUpdateTimer->Stop();
-            iAudioRecorder->Stop();
-            iRecordState = ERecorderOpen;
-            break;
-        case ERecorderRecording:
-            TRAP(err, iAudioRecorder->RecordL())
-            ;
-            break;
-        }
-    return err;
-    }
-
-void CMMFBackendEngine::Close()
-    {
-    if (iMarkerPositionTimer)
-        {
-        iMarkerPositionTimer->Stop();
-        }
-    if (iPlayItfPositionUpdateTimer)
-        {
-        iPlayItfPositionUpdateTimer->Stop();
-        }
-
-    if (iBaseVideoPlayer && iVideoPlayer)
-        {
-        switch (iMMFPlayerState)
-            {
-            case EPlayerPlaying:
-            case EPlayerPaused:
-            case EPlayerPrepared:
-                iVideoPlayer->Stop();
-            case EPlayerOpened:
-                if (m_pWs && m_pScr && m_pWindow)
-                    {
-                    iVideoPlayer->RemoveDisplayWindow(*m_pWindow);
-                    }
-                iVideoPlayer->Close();
-            case EPlayerClosed:
-            default:
-                break;
-            };
-        }
-
-    // deleting the AudioInput object
-    if (iAudioInputRecord)
-        {
-        delete iAudioInputRecord;
-        iAudioInputRecord = NULL;
-        }
-
-    if (iBaseAudioPlayer && iAudioPlayer)
-        {
-        iAudioPlayer->Close();
-        }
-
-    if (iBaseAudioRecorder)
-        {
-        iAudioRecorder->Close();
-        }
-
-    if (iPositionUpdateTimer)
-        {
-        iPositionUpdateTimer->Stop();
-        }
-
-    if (iActiveSchedulerWait && iActiveSchedulerWait->IsStarted())
-        {
-        iActiveSchedulerWait->AsyncStop();
-        }
-    }
-
-void CMMFBackendEngine::Destroy()
-    {
-    delete iPositionUpdateTimer;
-    iPositionUpdateTimer = NULL;
-    delete iUri;
-    iUri = NULL;
-    delete iMarkerPositionTimer;
-    iMarkerPositionTimer = NULL;
-    delete iPlayItfPositionUpdateTimer;
-    iPlayItfPositionUpdateTimer = NULL;
-    delete iBaseVideoPlayer;
-    iBaseVideoPlayer = NULL;
-    iVideoPlayer = NULL;
-    delete iBaseAudioPlayer;
-    iBaseAudioPlayer = NULL;
-    iAudioPlayer = NULL;
-    delete iBaseAudioRecorder;
-    iBaseAudioRecorder = NULL;
-    iAudioRecorder = NULL;
-    delete iActiveSchedulerWait;
-    iActiveSchedulerWait = NULL;
-    delete m_pScr;
-    m_pScr = NULL;
-    }
-
-TInt CMMFBackendEngine::GetRecordPosition(XAuint64* position)
-    {
-    TInt err(KErrNone);
-    *position = iAudioRecorder->Position().Int64();
-    return err;
-    }
-
-TInt CMMFBackendEngine::SetPositionUpdatePerioed(XAmillisecond period)
-    {
-    TInt err(KErrNone);
-    iTimerDelay = period;
-    return err;
-    }
-
-TInt CMMFBackendEngine::SetAdaptContext(void* adaptcontext)
-    {
-    TInt err(KErrNone);
-    iAdaptContext = adaptcontext;
-    TRAP(err, iPositionUpdateTimer = new (ELeave) LocalTimer(this, iAdaptContext));
-    if (!err)
-        {
-        iPositionUpdateTimer->PostInit();
-        }
-    return err;
-    }
-
-TInt CMMFBackendEngine::GetCodecId(XAuint32* codecid)
-    {
-    TInt err(KErrNone);
-
-    if (iAPIBeingUsed == EAudioRecorderUtility)
-        {
-        if (iRecordState != CMMFBackendEngine::ERecorderNotReady)
-            {
-            TFourCC dest;
-            TRAP(err, dest = iAudioRecorder->DestinationDataTypeL());
-            if (err == KErrNone)
-                {
-                *codecid = dest.FourCC();
-                }
-            }
-        }
-    else if (iAPIBeingUsed == EAudioPlayerUtility)
-        {
-        if (iMediaPlayerState != XA_PLAYSTATE_PLAYERUNINITIALIZED)
-            {
-            TMMFMessageDestinationPckg pckg(KUidInterfaceMMFAudioController);
-            TPckgBuf<TMMFAudioConfig> configPackage;
-            TInt err = iAudioPlayer->CustomCommandSync(pckg,
-                    EMMFAudioControllerGetSourceDataType, KNullDesC8,
-                    KNullDesC8, configPackage);
-            if (err == KErrNone)
-                {
-                *codecid = configPackage().iSourceDataTypeCode.FourCC();
-                }
-            }
-        }
-    return err;
-    }
-
-TInt CMMFBackendEngine::GetBitRate(XAuint32* bitrate)
-    {
-    TInt err(KErrNone);
-    TUint br(0);
-    if (iAPIBeingUsed == EAudioRecorderUtility)
-        {
-        if (iRecordState != CMMFBackendEngine::ERecorderNotReady)
-            {
-            TRAP(err, br = iAudioRecorder->DestinationBitRateL());
-            if (err == KErrNone)
-                {
-                *bitrate = br;
-                }
-            }
-        }
-    else if (iAPIBeingUsed == EAudioPlayerUtility)
-        {
-        if (iMediaPlayerState != XA_PLAYSTATE_PLAYERUNINITIALIZED)
-            {
-            TInt err = iAudioPlayer->GetBitRate(br);
-            *bitrate = br;
-            }
-        }
-    return err;
-    }
-
-TInt CMMFBackendEngine::GetSampleRate(XAmilliHertz* samplerate)
-    {
-    TInt err(KErrNone);
-    TUint sr(0);
-    if (iAPIBeingUsed == EAudioRecorderUtility)
-        {
-        if (iRecordState != CMMFBackendEngine::ERecorderNotReady)
-            {
-            TRAP(err, sr = iAudioRecorder->DestinationSampleRateL());
-            if (err == KErrNone)
-                {
-                *samplerate = sr * 1000;
-                }
-            }
-        }
-    else if (iAPIBeingUsed == EAudioPlayerUtility)
-        {
-        if (iMediaPlayerState != XA_PLAYSTATE_PLAYERUNINITIALIZED)
-            {
-            TMMFMessageDestinationPckg pckg(KUidInterfaceMMFAudioController);
-            TPckgBuf<TMMFAudioConfig> configPackage;
-            TInt err = iAudioPlayer->CustomCommandSync(pckg,
-                    EMMFAudioControllerGetSourceSampleRate, KNullDesC8,
-                    KNullDesC8, configPackage);
-            if (err == KErrNone)
-                {
-                *samplerate = configPackage().iSampleRate * 1000;
-                }
-            }
-        }
-    return err;
-    }
-
-TInt CMMFBackendEngine::GetChannels(XAuint32* channels)
-    {
-    TInt err(KErrNone);
-    TUint ch(0);
-    if (iAPIBeingUsed == EAudioRecorderUtility)
-        {
-        if (iRecordState != CMMFBackendEngine::ERecorderNotReady)
-            {
-            TRAP(err,ch = iAudioRecorder->DestinationNumberOfChannelsL());
-            if (err == KErrNone)
-                {
-                *channels = ch;
-                }
-            }
-        }
-    else if (iAPIBeingUsed == EAudioPlayerUtility)
-        {
-        if (iMediaPlayerState != XA_PLAYSTATE_PLAYERUNINITIALIZED)
-            {
-            TMMFMessageDestinationPckg pckg(KUidInterfaceMMFAudioController);
-            TPckgBuf<TMMFAudioConfig> configPackage;
-            TInt err = iAudioPlayer->CustomCommandSync(pckg,
-                    EMMFAudioControllerGetSourceNumChannels, KNullDesC8,
-                    KNullDesC8, configPackage);
-            if (err == KErrNone)
-                {
-                *channels = configPackage().iChannels;
-                }
-            }
-        }
-    return err;
-    }
-
-TInt CMMFBackendEngine::SetDestinationBitRate(XAuint32* bitrate)
-    {
-    TInt err(KErrNone);
-    if (iRecordState == CMMFBackendEngine::ERecorderOpen)
-        {
-        TRAP(err, iAudioRecorder->SetDestinationBitRateL(*bitrate));
-        if (err != KErrNone)
-            {
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    return err;
-    }
-
-TInt CMMFBackendEngine::SetDestinationSampleRate(XAmilliHertz* samplerate)
-    {
-    TInt err(KErrNone);
-    if (iRecordState == CMMFBackendEngine::ERecorderOpen)
-        {
-        TRAP(err, iAudioRecorder->SetDestinationSampleRateL(*samplerate/1000));
-        if (err != KErrNone)
-            {
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    return err;
-    }
-
-TInt CMMFBackendEngine::SetDestinationChannels(XAuint32* channels)
-    {
-    TInt err(KErrNone);
-    if (iRecordState == CMMFBackendEngine::ERecorderOpen)
-        {
-        TRAP(err,iAudioRecorder->SetDestinationNumberOfChannelsL(*channels));
-        if (err != KErrNone)
-            {
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        }
-    return err;
-    }
-
-/*
- XAresult CMMFBackendEngine::SetWindowHandle(void* display_info)
- {
- XADataLocator_NativeDisplay* nativeDisplay;
- XADataSink* videoSink = (XADataSink*)display_info;
-
- nativeDisplay = (XADataLocator_NativeDisplay*) (videoSink->pLocator);
-
- m_pWindow = ((RWindow*)(nativeDisplay->hWindow));
- m_pWs =     ((RWsSession*)(nativeDisplay->hDisplay));
-
- m_bWindowReferencePassed = TRUE;
- return XA_RESULT_SUCCESS;
- }
-
- */
-XAresult CMMFBackendEngine::CreateAndConfigureWindowL()
-    {
-#ifdef USE_LOCAL_WINDOW_RESOURCES
-    // create window for attaching the surface as its background
-    //RWsSession ws;
-    //TInt err2(KErrNone);
-    TInt err2 = m_ws.Connect();
-    m_pScr = new(ELeave) CWsScreenDevice(m_ws);
-    err2 = m_pScr->Construct();
-    CWindowGc* gc = NULL;
-    err2 = m_pScr->CreateContext(gc);
-    RWindowGroup grp(m_ws);
-    err2 = grp.Construct(0xf00f00);
-    const TSize KWinSize(320, 240);
-    m_pWindow = new (ELeave) RWindow(m_ws);
-    err2 = m_pWindow->Construct(grp, 0xfeefee);
-    m_pWindow->SetExtent(TPoint(), KWinSize);
-    m_pWindow->SetBackgroundColor(TRgb(255,0,0,128));
-    //win.SetBackgroundColor(TRgb(0,0,0,0));
-    m_pWindow->Activate();
-    m_pWindow->Invalidate();
-    m_pWindow->BeginRedraw();
-    gc->Activate(*m_pWindow);
-    m_pWindow->EndRedraw();
-    m_ws.Flush();
-
-    //Create MediaClientUitlity for NGA Surfaces
-    TInt displayId = m_pScr->GetScreenNumber();
-
-    // Add the display window
-    m_cropRegion = TRect(m_pWindow->Size());
-    m_clipRect = TRect(m_pWindow->Size());
-    m_videoExtent = TRect(m_pWindow->Size());
-    m_rotation = EVideoRotationNone;
-#endif /* USE_LOCAL_WINDOW_RESOURCES */
-
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult CMMFBackendEngine::SetNativeDisplayInformation(void* display_info)
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-    //display_info is of type XADataSink
-    //display_info.pLocator is of type XADataLocator_NativeDisplay
-    XADataLocator_NativeDisplay* nativeDisplay;
-    XADataSink* videoSink = (XADataSink*) display_info;
-
-    if (videoSink)
-        {
-        nativeDisplay = (XADataLocator_NativeDisplay*) (videoSink->pLocator);
-        m_pWindow = ((RWindow*) (nativeDisplay->hWindow));
-        m_pWs = ((RWsSession*) (nativeDisplay->hDisplay));
-        /*
-         m_cropRegion = TRect(m_pWindow->Size());
-         m_videoExtent = TRect(m_pWindow->Size());
-         m_cropRect = TRect(m_pWindow->Size());
-         m_clipRect = TRect(m_pWindow->Size());
-         m_cropRegion = TRect(m_pWindow->Size());
-         */
-        if (m_pWs)
-            {
-            delete m_pScr;
-            m_pScr = NULL;
-            TRAPD(err, m_pScr = new CWsScreenDevice(*m_pWs));
-            RET_IF_ERR(err, XA_RESULT_MEMORY_FAILURE);
-            m_pScr->Construct();
-            }
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::ResumePlayback()
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-    TBool postHeadMovingEvent(EFalse);
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_STOPPED:
-        case XA_PLAYSTATE_PAUSED:
-            /* If we are already at the end of clip, do nothing
-             * check ::MapcPlayComplete for documentation */
-            if ((iPlaybackHead < iMediaDuration) && ((iAPIBeingUsed
-                    == EAudioPlayerUtility) || (iAPIBeingUsed
-                    == EVideoPlayerUtility)))
-                {
-                if (iAPIBeingUsed == EAudioPlayerUtility)
-                    {
-                    TAG_TIME_PROFILING_BEGIN;
-                    iAudioPlayer->Play();
-                    TAG_TIME_PROFILING_END; PRINT_TO_CONSOLE_TIME_DIFF;
-                    }
-                else if (iAPIBeingUsed == EVideoPlayerUtility)
-                    {
-                    TAG_TIME_PROFILING_BEGIN;
-                    //iVideoPlayer->Play( iPlaybackHead, iMediaDuration);
-                    iVideoPlayer->Play();
-                    TAG_TIME_PROFILING_END; PRINT_TO_CONSOLE_TIME_DIFF;
-                    }
-                postHeadMovingEvent = ETrue;
-                iMediaPlayerState = XA_PLAYSTATE_PLAYING;
-                iMMFPlayerState = EPlayerPlaying;
-                iMarkerPositionTimer->Start();
-                iPlayItfPositionUpdateTimer->Start();
-                }
-            break;
-        case XA_PLAYSTATE_PLAYING:
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            retVal = XA_RESULT_INTERNAL_ERROR;
-            break;
-        }
-
-    if (postHeadMovingEvent)
-        {
-        DoPostEvent(XA_PLAYEVENT_HEADMOVING);
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::PausePlayback()
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_PLAYING:
-        case XA_PLAYSTATE_STOPPED:
-            if ((iAPIBeingUsed == EAudioPlayerUtility) || (iAPIBeingUsed
-                    == EVideoPlayerUtility))
-                {
-                TInt pauseOpRes(KErrNone);
-                if (iAPIBeingUsed == EAudioPlayerUtility)
-                    {
-                    TAG_TIME_PROFILING_BEGIN;
-                    pauseOpRes = iAudioPlayer->Pause();
-                    TAG_TIME_PROFILING_END; PRINT_TO_CONSOLE_TIME_DIFF;
-                    }
-                else if (iAPIBeingUsed == EVideoPlayerUtility)
-                    {
-                    TAG_TIME_PROFILING_BEGIN;
-                    TRAP(pauseOpRes, iVideoPlayer->PauseL());
-                    if (pauseOpRes == KErrNone)
-                        {
-                        TRAPD(err, iPlaybackHead = iVideoPlayer->PositionL());
-                        if (err != KErrNone)
-                            {
-                            iPlaybackHead = 0;
-                            }
-                        } TAG_TIME_PROFILING_END; PRINT_TO_CONSOLE_TIME_DIFF;
-                    }
-                if (pauseOpRes == KErrNone)
-                    {
-                    iMediaPlayerState = XA_PLAYSTATE_PAUSED;
-                    iMMFPlayerState = EPlayerPaused;
-                    iMarkerPositionTimer->Stop();
-                    iPlayItfPositionUpdateTimer->Stop();
-                    }
-                }
-            break;
-        case XA_PLAYSTATE_PAUSED:
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            retVal = XA_RESULT_INTERNAL_ERROR;
-            break;
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::StopPlayback()
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_PAUSED:
-        case XA_PLAYSTATE_PLAYING:
-            if ((iAPIBeingUsed == EAudioPlayerUtility) || (iAPIBeingUsed
-                    == EVideoPlayerUtility))
-                {
-                if (iAPIBeingUsed == EAudioPlayerUtility)
-                    {
-                    TAG_TIME_PROFILING_BEGIN;
-                    iAudioPlayer->Stop();
-                    TAG_TIME_PROFILING_END; PRINT_TO_CONSOLE_TIME_DIFF;
-
-                    iMMFPlayerState = EPlayerOpened;
-                    }
-                else if (iAPIBeingUsed == EVideoPlayerUtility)
-                    {
-                    TAG_TIME_PROFILING_BEGIN;
-                    iVideoPlayer->Stop();
-                    TAG_TIME_PROFILING_END; PRINT_TO_CONSOLE_TIME_DIFF;
-
-                    iMMFPlayerState = EPlayerPrepared;
-                    }
-                iMediaPlayerState = XA_PLAYSTATE_STOPPED;
-                iPlaybackHead = 0;
-                iMarkerPositionTimer->Stop();
-                iPlayItfPositionUpdateTimer->Stop();
-                }
-            break;
-        case XA_PLAYSTATE_STOPPED:
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            retVal = XA_RESULT_INTERNAL_ERROR;
-            break;
-        }
-    return retVal;
-    }
-XAresult CMMFBackendEngine::GetPlayState(XAuint32 *pState)
-    {
-    XAresult retVal(XA_RESULT_INTERNAL_ERROR);
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_STOPPED:
-        case XA_PLAYSTATE_PAUSED:
-        case XA_PLAYSTATE_PLAYING:
-            *pState = iMediaPlayerState;
-            retVal = XA_RESULT_SUCCESS;
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            break;
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::GetDuration(XAmillisecond *pMsec)
-    {
-    XAresult retVal(XA_RESULT_INTERNAL_ERROR);
-    /* to convert from microseconds to milliseconds */
-    TInt64 divider(1000);
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_STOPPED:
-        case XA_PLAYSTATE_PAUSED:
-        case XA_PLAYSTATE_PLAYING:
-            /* TODO Check if we query from MMF*/
-            *pMsec = iMediaDuration.Int64() / divider;
-            retVal = XA_RESULT_SUCCESS;
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            break;
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::GetPosition(XAmillisecond *pMsec)
-    {
-    XAresult retVal(XA_RESULT_INTERNAL_ERROR);
-    TInt64 divider(1000);
-    TTimeIntervalMicroSeconds pos;
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_STOPPED:
-        case XA_PLAYSTATE_PAUSED:
-        case XA_PLAYSTATE_PLAYING:
-            if (iAPIBeingUsed == EAudioPlayerUtility)
-                {
-                if (iAudioPlayer->GetPosition(pos) == KErrNone)
-                    {
-                    *pMsec = pos.Int64() / divider;
-                    retVal = XA_RESULT_SUCCESS;
-                    }
-                }
-            else if (iAPIBeingUsed == EVideoPlayerUtility)
-                {
-                TInt err(KErrNone);
-                TRAP(err, pos = iVideoPlayer->PositionL());
-                if (err == KErrNone)
-                    {
-                    *pMsec = pos.Int64() / divider;
-                    retVal = XA_RESULT_SUCCESS;
-                    }
-                }
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            break;
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::SetPosition(XAmillisecond pMsec)
-    {
-    XAresult retVal(XA_RESULT_INTERNAL_ERROR);
-    TInt64 multiplier(1000);
-    TTimeIntervalMicroSeconds pos;
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_STOPPED:
-        case XA_PLAYSTATE_PAUSED:
-        case XA_PLAYSTATE_PLAYING:
-            if (iAPIBeingUsed == EAudioPlayerUtility)
-                {
-                pos = pMsec * multiplier;
-                TAG_TIME_PROFILING_BEGIN;
-                iAudioPlayer->SetPosition(pos);
-                TAG_TIME_PROFILING_END; PRINT_TO_CONSOLE_TIME_DIFF;
-
-                retVal = XA_RESULT_SUCCESS;
-                }
-            else if (iAPIBeingUsed == EVideoPlayerUtility)
-                {
-                pos = pMsec * multiplier;
-                TAG_TIME_PROFILING_BEGIN;
-                TRAPD(err, iVideoPlayer->SetPositionL(pos)); 
-                TAG_TIME_PROFILING_END; 
-                PRINT_TO_CONSOLE_TIME_DIFF;
-                if (err == KErrNone)
-                    {
-                    retVal = XA_RESULT_SUCCESS;
-                    }
-                }
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            break;
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::SetRepeats(XAboolean repeat)
-    {
-    XAresult retVal(XA_RESULT_INTERNAL_ERROR);
-    TInt numRepeats(0);
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_STOPPED:
-        case XA_PLAYSTATE_PAUSED:
-        case XA_PLAYSTATE_PLAYING:
-            if (iAPIBeingUsed == EAudioPlayerUtility)
-                {
-                numRepeats = repeat ? -2 : 0;
-                iAudioPlayer->SetRepeats(numRepeats, 0);
-                retVal = XA_RESULT_SUCCESS;
-                }
-            else
-                {
-                }
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            break;
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::SetPlayWindow(XAmillisecond start,
-        XAmillisecond end)
-    {
-    XAresult retVal(XA_RESULT_INTERNAL_ERROR);
-    TInt64 multiplier(1000);
-    TTimeIntervalMicroSeconds startpos(0);
-    TTimeIntervalMicroSeconds endpos(0);
-
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_STOPPED:
-        case XA_PLAYSTATE_PAUSED:
-        case XA_PLAYSTATE_PLAYING:
-            if (iAPIBeingUsed == EAudioPlayerUtility)
-                {
-                startpos = start * multiplier;
-                endpos = end * multiplier;
-                retVal = iAudioPlayer->SetPlayWindow(startpos, endpos);
-                }
-            else
-                {
-                }
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            break;
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::SetPlayAdaptContext(void * adaptcontext)
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-
-    iAdaptContext = adaptcontext;
-
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::RegisterCallback(xaPlayCallback cbFunction)
-    {
-    iPlayItfCBFunction = cbFunction;
-    return DoHandlePlayItfAttributesChanged();
-    }
-
-XAresult CMMFBackendEngine::SetCallbackEventsMask(XAuint32 eventflags)
-    {
-    iPlayItfEventFlags = eventflags;
-    return DoHandlePlayItfAttributesChanged();
-    }
-
-XAresult CMMFBackendEngine::SetMarkerPosition(XAmillisecond mSec)
-    {
-    iMarkerPosition = mSec;
-    return DoHandlePlayItfAttributesChanged();
-    }
-
-XAresult CMMFBackendEngine::ClearMarkerPosition()
-    {
-    iMarkerPosition = XA_TIME_UNKNOWN;
-    DoHandlePlayItfAttributesChanged();
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult CMMFBackendEngine::SetPositionUpdatePeriod(XAmillisecond mSec)
-    {
-    iPositionUpdatePeriod = mSec;
-    DoHandlePlayItfAttributesChanged();
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult CMMFBackendEngine::DoHandlePlayItfAttributesChanged()
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-
-    iMarkerPositionTimer->SetCallbackEventMask(iPlayItfEventFlags);
-    iMarkerPositionTimer->RegisterCallback(iPlayItfCBFunction);
-    iMarkerPositionTimer->SetMarkerPosition(iMarkerPosition);
-
-    iPlayItfPositionUpdateTimer->SetCallbackEventMask(iPlayItfEventFlags);
-    iPlayItfPositionUpdateTimer->RegisterCallback(iPlayItfCBFunction);
-    iPlayItfPositionUpdateTimer->SetPositionUpdatePeriod(
-            iPositionUpdatePeriod);
-
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_STOPPED:
-        case XA_PLAYSTATE_PAUSED:
-            break;
-        case XA_PLAYSTATE_PLAYING:
-            iMarkerPositionTimer->Start();
-            iPlayItfPositionUpdateTimer->Start();
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            break;
-        }
-    return retVal;
-    }
-
-void CMMFBackendEngine::DoPostEvent(XAuint32 event)
-    {
-    if ((iPlayItfEventFlags & event) && (iPlayItfCBFunction != NULL))
-        {
-        XAAdaptEvent xaevent =
-            {
-            XA_PLAYITFEVENTS, event, 0, 0
-            };
-        XAAdaptationBase_SendAdaptEvents(
-                (XAAdaptationBaseCtx*) iAdaptContext, &xaevent);
-        }
-    }
-
-XAresult CMMFBackendEngine::GetNumStreams(XAuint32* numstreams)
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-    TInt bitRate(0);
-    TInt numS(0);
-    if (iAPIBeingUsed == EAudioPlayerUtility)
-        {
-        numS = 1;
-        *numstreams = numS;
-        }
-    else if (iAPIBeingUsed == EVideoPlayerUtility)
-        {
-        TRAPD(err, bitRate = iVideoPlayer->VideoBitRateL());
-        if (!err && bitRate)
-            {
-            numS++;
-            *numstreams = numS;
-            }
-
-        bitRate = 0;
-        TRAP(err, bitRate = iVideoPlayer->AudioBitRateL());
-        if (!err && bitRate)
-            {
-            numS++;
-            *numstreams = numS;
-            }
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::GetStreamInfo(XAuint32 streamindex,
-        XAuint32* streamtype)
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-    if (iAPIBeingUsed == EAudioPlayerUtility)
-        {
-        *streamtype = XA_DOMAINTYPE_AUDIO;
-        }
-    else if (iAPIBeingUsed == EVideoPlayerUtility)
-        {
-        switch (streamindex)
-            {
-            case 1:
-                *streamtype = XA_DOMAINTYPE_VIDEO;
-                break;
-            case 2:
-                *streamtype = XA_DOMAINTYPE_AUDIO;
-                break;
-            default:
-                retVal = XA_RESULT_PARAMETER_INVALID;
-                break;
-            }
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::GetVideoFrameSize(XAuint32* height,
-        XAuint32* width, XAuint32* frameRate)
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-    if (iAPIBeingUsed == EVideoPlayerUtility)
-        {
-        if (iMediaPlayerState != XA_PLAYSTATE_PLAYERUNINITIALIZED)
-            {
-            TSize size;
-            TReal32 framerate(0);
-            TRAPD(err, iVideoPlayer->VideoFrameSizeL(size));
-            if (!err)
-                {
-                *height = size.iHeight;
-                *width = size.iWidth;
-                }
-            else
-                {
-                retVal = err;
-                }
-
-            TRAP(err, framerate = iVideoPlayer->VideoFrameRateL());
-            if (!err)
-                {
-                *frameRate = framerate;
-                }
-            }
-        else
-            {
-            retVal = XA_RESULT_PRECONDITIONS_VIOLATED;
-            }
-        }
-    else
-        {
-        retVal = XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::SetActiveState(XAuint32 streamindex,
-        XAboolean active)
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-    TInt err(KErrNone);
-    if (iAPIBeingUsed == EAudioPlayerUtility)
-        {
-        retVal = XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-    else if (iAPIBeingUsed == EVideoPlayerUtility)
-        {
-        switch (streamindex)
-            {
-            case 1:
-                TRAP(err, iVideoPlayer->SetVideoEnabledL(active))
-                ;
-                retVal = err;
-                break;
-            case 2:
-                TRAP(err, iVideoPlayer->SetAudioEnabledL(active))
-                ;
-                retVal = err;
-                break;
-            default:
-                retVal = XA_RESULT_PARAMETER_INVALID;
-                break;
-            }
-        }
-    return retVal;
-    }
-
-TInt CMMFBackendEngine::InitializeURIForMMFUtil(char *uri)
-    {
-    /* Initializes and save uri param into iUri structure */
-    TInt err(KErrNone);
-    TInt uriLen;
-
-    if (!uri)
-        return KErrArgument;
-
-    if (iUri)
-        {
-        delete iUri;
-        iUri = NULL;
-        }
-
-    uriLen = strlen(uri);
-    TPtr8 uriParam((TUint8*) uri, uriLen, uriLen);
-
-    TRAP(err, iUri = HBufC::NewL(uriLen));
-    if (err != KErrNone)
-        return err;
-
-    iUriPtr.Set(iUri->Des());
-    iUriPtr.Copy(uriParam); /* Copy data*/
-    //iUriPtr.LowerCase();
-    /* For file scheme convert from file:///c:/folder/file.ext
-     * format to c:\\folder\\file.ext using TUriParser. */
-    _LIT(KFileScheme,"file:///");
-    if (iUriPtr.Find(KFileScheme) >= 0)
-        {
-        iUriType = ELocal;
-        TPtr tmp(const_cast<TUint16 *> (iUriPtr.Ptr())
-                + KFileScheme().Length(), iUriPtr.Length(), iUriPtr.Length());
-        /* Convert from c:/folder/file.ext format to
-         * c:\\folder\\file.ext using TUriParser.
-         * TUriParser8 accepts uri in format file:///c/folder/file.ext,
-         * so get rid of ':' after drive letter (if any) */
-        TInt pos = tmp.Find(_L(":"));
-        if (pos != KErrNotFound)
-            {
-            iUriPtr.Delete(KFileScheme().Length() + pos, 1);
-            }
-
-        TUriParser16 uriParser;
-        err = uriParser.Parse(iUriPtr);
-        if (err != KErrNone)
-            return err;
-
-        HBufC* file = NULL;
-        TRAP(err, file = uriParser.GetFileNameL());
-        if (err != KErrNone)
-            return err;
-
-        iUriPtr.Copy(file->Des());
-        delete file;
-        file = NULL;
-
-        }
-    else
-        {
-        iUriType = EStreaming;
-        }
-    return err;
-    }
-
-XAresult CMMFBackendEngine::SetVolume(XAuint32 volume)
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-    TInt err(KErrNone);
-    if (iAPIBeingUsed == EAudioPlayerUtility)
-        {
-        retVal = iAudioPlayer->SetVolume(volume);
-        }
-    else if (iAPIBeingUsed == EVideoPlayerUtility)
-        {
-        TRAP(err, iVideoPlayer->SetVolumeL(volume));
-        retVal = err;
-        }
-    else if (iAPIBeingUsed == EAudioRecorderUtility)
-        {
-        retVal = iAudioRecorder->SetVolume(volume);
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::GetMaxVolume(XAuint32* maxvolume)
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-    if (iAPIBeingUsed == EAudioPlayerUtility)
-        {
-        *maxvolume = iAudioPlayer->MaxVolume();
-        }
-    else if (iAPIBeingUsed == EVideoPlayerUtility)
-        {
-        *maxvolume = iVideoPlayer->MaxVolume();
-        }
-    else if (iAPIBeingUsed == EAudioRecorderUtility)
-        {
-        *maxvolume = iAudioRecorder->MaxVolume();
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::GetVolume(XAuint32* volume)
-    {
-    XAresult retVal(XA_RESULT_SUCCESS);
-    TInt mmfvolume(0);
-    if (iAPIBeingUsed == EAudioPlayerUtility)
-        {
-        retVal = iAudioPlayer->GetVolume(mmfvolume);
-        if (retVal == XA_RESULT_SUCCESS)
-            {
-            *volume = mmfvolume;
-            }
-        }
-    else if (iAPIBeingUsed == EVideoPlayerUtility)
-        {
-        *volume = iVideoPlayer->Volume();
-        }
-    else if (iAPIBeingUsed == EAudioRecorderUtility)
-        {
-        retVal = iAudioRecorder->GetVolume(mmfvolume);
-        if (retVal == XA_RESULT_SUCCESS)
-            {
-            *volume = mmfvolume;
-            }
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::SetPlaybackRate(XAint16 rate)
-    {
-    XAresult retVal(XA_RESULT_INTERNAL_ERROR);
-
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_STOPPED:
-        case XA_PLAYSTATE_PAUSED:
-        case XA_PLAYSTATE_PLAYING:
-            if (iAPIBeingUsed == EAudioPlayerUtility)
-                {
-                retVal = XA_RESULT_FEATURE_UNSUPPORTED;
-                }
-            else
-                {
-                TRAPD(err, iVideoPlayer->SetPlayVelocityL(rate));
-                if(!err)
-                    {
-                    retVal = XA_RESULT_SUCCESS; 
-                    }
-                }
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            break;
-        }
-    return retVal;
-    }
-
-XAresult CMMFBackendEngine::GetPlaybackRateCapabilities(XAboolean* forward,
-                                                        XAboolean* backward)
-    {
-    XAresult retVal(XA_RESULT_PARAMETER_INVALID);
-    
-    switch (iMediaPlayerState)
-        {
-        case XA_PLAYSTATE_STOPPED:
-        case XA_PLAYSTATE_PAUSED:
-        case XA_PLAYSTATE_PLAYING:
-            if (iAPIBeingUsed == EAudioPlayerUtility)
-                {
-                retVal = XA_RESULT_FEATURE_UNSUPPORTED;
-                }
-            else
-                {
-                TVideoPlayRateCapabilities capability;
-                TRAPD(err, iVideoPlayer->GetPlayRateCapabilitiesL(capability));
-                if(!err)
-                    {
-                    *forward = capability.iPlayForward;
-                    *backward = capability.iPlayBackward;
-                    retVal = XA_RESULT_SUCCESS; 
-                    }
-                }
-            break;
-        case XA_PLAYSTATE_PLAYERUNINITIALIZED:
-        default:
-            break;
-        }
-    return retVal;
-    }
-
-extern "C"
-    {
-
-    int mmf_backend_engine_init(void** engine)
-        {
-        TRAPD(err, *engine = CMMFBackendEngine::NewL());
-        return err;
-        }
-
-    void mmf_backend_engine_deinit(void* engine)
-        {
-        delete ((CMMFBackendEngine*) engine);
-        }
-
-    int mmf_set_recorder_uri(void* context, char* uri, XAuint32 format)
-        {
-        return ((CMMFBackendEngine*) (context))->SetFileName(uri, format,
-                CMMFBackendEngine::ERecord);
-        }
-
-    int mmf_set_adapt_context(void* context, void* adaptcontext)
-        {
-        return ((CMMFBackendEngine*) (context))->SetAdaptContext(adaptcontext);
-        }
-
-    void mmf_close(void* context)
-        {
-        ((CMMFBackendEngine*) context)->Close();
-        }
-
-    int mmf_start_recording(void* context)
-        {
-        return ((CMMFBackendEngine*) (context))->SetRecorderState(
-                CMMFBackendEngine::ERecorderRecording, FALSE);
-        }
-
-    int mmf_stop_recording(void* context, XAboolean stopCalled)
-        {
-        return ((CMMFBackendEngine*) (context))->SetRecorderState(
-                CMMFBackendEngine::ERecorderOpen, stopCalled);
-        }
-
-    int mmf_get_record_position(void* context, XAuint64* position)
-        {
-        return ((CMMFBackendEngine*) (context))->GetRecordPosition(position);
-        }
-
-    int mmf_set_record_position_update_period(void* context,
-            XAmillisecond msec)
-        {
-        return ((CMMFBackendEngine*) (context))->SetPositionUpdatePerioed(
-                msec);
-        }
-
-    int mmf_get_codec_id(void* context, XAuint32* encoderId)
-        {
-        return ((CMMFBackendEngine*) (context))->GetCodecId(encoderId);
-        }
-
-    int mmf_get_channels(void* context, XAuint32* channelsIn)
-        {
-        return ((CMMFBackendEngine*) (context))->GetChannels(channelsIn);
-        }
-
-    int mmf_get_samplerate(void* context, XAmilliHertz* sampleRate)
-        {
-        return ((CMMFBackendEngine*) (context))->GetSampleRate(sampleRate);
-        }
-
-    int mmf_get_bitrate(void* context, XAuint32* bitRate)
-        {
-        return ((CMMFBackendEngine*) (context))->GetBitRate(bitRate);
-        }
-
-    int mmf_set_destination_channels(void* context, XAuint32* channelsIn)
-        {
-        return ((CMMFBackendEngine*) (context))->SetDestinationChannels(
-                channelsIn);
-        }
-
-    int mmf_set_destination_samplerate(void* context,
-            XAmilliHertz* sampleRate)
-        {
-        return ((CMMFBackendEngine*) (context))->SetDestinationSampleRate(
-                sampleRate);
-        }
-
-    int mmf_set_destination_bitrate(void* context, XAuint32* bitRate)
-        {
-        return ((CMMFBackendEngine*) (context))->SetDestinationBitRate(
-                bitRate);
-        }
-
-    XAresult mmf_set_play_adapt_context(void * context, void * adaptcontext)
-        {
-        return ((CMMFBackendEngine *) (context))->SetPlayAdaptContext(
-                adaptcontext);
-        }
-
-    XAresult mmf_set_player_uri(void * context, char * uri, XAuint32 format)
-        {
-        return ((CMMFBackendEngine *) (context))->SetFileName(uri, format,
-                CMMFBackendEngine::EPlay);
-        }
-
-    /*
-     XAresult mmf_set_window_handle(void * context, void *  display_info)
-     {
-     return ((CMMFBackendEngine *)(context))->SetWindowHandle(display_info);
-     }
-
-     */
-    XAresult mmf_setup_native_display(void * context, void * display_info)
-        {
-        return ((CMMFBackendEngine *) (context))->SetNativeDisplayInformation(
-                display_info);
-        }
-
-    XAresult mmf_playitf_resume_playback(void * context)
-        {
-        return ((CMMFBackendEngine *) (context))->ResumePlayback();
-        }
-
-    XAresult mmf_playitf_pause_playback(void * context)
-        {
-        return ((CMMFBackendEngine *) (context))->PausePlayback();
-        }
-
-    XAresult mmf_playitf_stop_playback(void * context)
-        {
-        return ((CMMFBackendEngine *) (context))->StopPlayback();
-        }
-
-    XAresult mmf_playitf_get_play_state(void * context, XAuint32 * pState)
-        {
-        return ((CMMFBackendEngine *) (context))->GetPlayState(pState);
-        }
-
-    XAresult mmf_playitf_get_duration(void * context, XAmillisecond * pMsec)
-        {
-        return ((CMMFBackendEngine *) (context))->GetDuration(pMsec);
-        }
-
-    XAresult mmf_playitf_get_position(void * context, XAmillisecond * pMsec)
-        {
-        return ((CMMFBackendEngine *) (context))->GetPosition(pMsec);
-        }
-
-    XAresult mmf_playitf_register_callback(void * context,
-            xaPlayCallback callback)
-        {
-        return ((CMMFBackendEngine *) (context))->RegisterCallback(callback);
-        }
-
-    XAresult mmf_playitf_set_callback_events_mask(void * context,
-            XAuint32 eventflags)
-        {
-        return ((CMMFBackendEngine *) (context))->SetCallbackEventsMask(
-                eventflags);
-        }
-
-    XAresult mmf_playitf_set_marker_position(void * context,
-            XAmillisecond mSec)
-        {
-        return ((CMMFBackendEngine *) (context))->SetMarkerPosition(mSec);
-        }
-
-    XAresult mmf_playitf_clear_marker_position(void * context)
-        {
-        return ((CMMFBackendEngine *) (context))->ClearMarkerPosition();
-
-        }
-
-    XAresult mmf_playitf_set_position_update_period(void * context,
-            XAmillisecond mSec)
-        {
-        return ((CMMFBackendEngine *) (context))->SetPositionUpdatePeriod(
-                mSec);
-        }
-
-    XAresult mmf_seekitf_set_position(void * context, XAmillisecond pMsec)
-        {
-        return ((CMMFBackendEngine *) (context))->SetPosition(pMsec);
-        }
-
-    XAresult mmf_seekitf_set_playwindow(void * context, XAmillisecond start,
-            XAmillisecond end)
-        {
-        return ((CMMFBackendEngine *) (context))->SetPlayWindow(start, end);
-        }
-
-    XAresult mmf_seekitf_set_repeats(void * context, XAboolean repeat)
-        {
-        return ((CMMFBackendEngine *) (context))->SetRepeats(repeat);
-        }
-
-    XAresult mmf_streaminformationitf_get_streaminfo(void * context,
-            XAuint32 streamindex, XAuint32* streamtype)
-        {
-        return ((CMMFBackendEngine *) (context))->GetStreamInfo(streamindex,
-                streamtype);
-        }
-
-    XAresult mmf_streaminformationitf_get_numstreams(void * context,
-            XAuint32* numstreams)
-        {
-        return ((CMMFBackendEngine *) (context))->GetNumStreams(numstreams);
-        }
-
-    XAresult mmf_streaminformationitf_get_videoframesize(void * context,
-            XAuint32* height, XAuint32* width, XAuint32* frameRate)
-        {
-        return ((CMMFBackendEngine *) (context))->GetVideoFrameSize(height,
-                width, frameRate);
-        }
-
-    XAresult mmf_streaminformationitf_set_activestream(void * context,
-            XAuint32 streamindex, XAboolean active)
-        {
-        return ((CMMFBackendEngine *) (context))->SetActiveState(streamindex,
-                active);
-        }
-
-    XAresult mmf_volumeitf_set_volume(void * context, XAuint32 volume)
-        {
-        return ((CMMFBackendEngine *) (context))->SetVolume(volume);
-        }
-
-    XAresult mmf_volumeitf_get_maxvolume(void * context, XAuint32* volume)
-        {
-        return ((CMMFBackendEngine *) (context))->GetMaxVolume(volume);
-        }
-
-    XAresult mmf_volumeitf_get_volume(void * context, XAuint32* volume)
-        {
-        return ((CMMFBackendEngine *) (context))->GetVolume(volume);
-        }
-
-    XAresult mmf_playbackrateitf_set_playbackrate(void * context, XAint16 rate)
-        {
-        return ((CMMFBackendEngine *) (context))->SetPlaybackRate(rate);
-        }
-
-    XAresult mmf_playbackrateitf_get_playbackratecaps(void * context, XAboolean* forward, XAboolean* backward)
-        {
-        return ((CMMFBackendEngine *) (context))->GetPlaybackRateCapabilities(forward,backward);
-        }
-    }
--- a/khronosfws/openmax_al/src/mmf_adaptation/cmmfbackendengine.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,324 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: MMF Backend Engine Header
- *
- */
-
-#ifndef CMMFBackendEngine_H
-#define CMMFBackendEngine_H
-
-#define ENABLE_GRAPHICS_SURFACE_INTEGRATION
-
-#include "openmaxalwrapper.h"
-
-#ifdef __cplusplus
-
-#include <e32base.h>
-#include <mdaaudiosampleplayer.h>  
-#include <f32file.h>
-#include <videoplayer.h>
-#include <videoplayer2.h>
-#include <e32std.h>
-#include <mmf/common/mmferrors.h>
-#include <mmf/common/mmfbase.h>
-#include <MMFMetadataEventConfigConstants.h>
-#include <mmf/common/mmfstandardcustomcommands.h>
-#ifdef ENABLE_GRAPHICS_SURFACE_INTEGRATION
-#include <graphics/surface.h> //TSurfaceId
-#include <mmf/common/mmfvideo.h> //TVideoAspectRatio
-#include <mediaclientvideodisplay.h>
-#include <surfaceeventhandler.h>
-#include <mdaaudiosampleeditor.h>
-#include <AudioInput.h>
-#include "sfmrlocaltimer.h"
-#endif
-
-// MetaDataWrite Custom Command UID
-const TUid KUidMetaDataWriteCustomCommand =
-    {
-    0x10207af9
-    };
-
-#define MAX_EXTENSION_SIZE 10
-
-class CMarkerPositionTimer;
-class CPositionUpdateTimer;
-NONSHARABLE_CLASS(CMMFBackendEngine) : public CBase,
-        public MVideoPlayerUtilityObserver,
-        public MVideoLoadingObserver,
-        public MMdaAudioPlayerCallback,
-        public MMdaObjectStateChangeObserver
-    {
-public:
-    enum TFuncInUse
-        {
-                EPlay = 0, 
-                ERecord
-        };
-
-    enum TUriType
-        {
-                ELocal = 0, 
-                EStreaming
-        };
-
-    enum TMMFUtiltyInUse
-        {
-        ENoUtility,
-        EVideoPlayerUtility,
-        EAudioPlayerUtility,
-        EAudioRecorderUtility
-        };
-
-    enum TRecorderState
-        {
-                ERecorderNotReady = 0, 
-                ERecorderOpen, 
-                ERecorderRecording
-        };
-
-public:
-
-    static CMMFBackendEngine* NewL();
-    ~CMMFBackendEngine();
-
-    TInt SetFileName(char* uri, XAuint32 format, TFuncInUse func);
-    void Close();
-    void Destroy();
-    TInt SetRecorderState(TRecorderState state, XAboolean stopCalled);
-    TInt GetRecordPosition(XAuint64* position);
-    TInt SetPositionUpdatePerioed(XAmillisecond period);
-    TInt SetAdaptContext(void* adaptcontext);
-    TInt GetCodecId(XAuint32* encoderId);
-    TInt GetBitRate(XAuint32* bitrate);
-    TInt GetSampleRate(XAmilliHertz* samplerate);
-    TInt GetChannels(XAuint32* channels);
-    TInt SetDestinationBitRate(XAuint32* bitrate);
-    TInt SetDestinationSampleRate(XAmilliHertz* samplerate);
-    TInt SetDestinationChannels(XAuint32* channels);
-
-    XAresult CreateAndConfigureWindowL();
-    XAresult SetNativeDisplayInformation(void* display_info);
-    XAresult ResumePlayback();
-    XAresult PausePlayback();
-    XAresult StopPlayback();
-    XAresult GetPlayState(XAuint32 *pState);
-    XAresult GetDuration(XAmillisecond *pMsec);
-    XAresult GetPosition(XAmillisecond *pMsec);
-    XAresult SetPlayAdaptContext(void * adaptcontext);
-    XAresult RegisterCallback(xaPlayCallback cbFunction);
-    XAresult SetCallbackEventsMask(XAuint32 eventflags);
-    XAresult SetMarkerPosition(XAmillisecond mSec);
-    XAresult ClearMarkerPosition();
-    XAresult SetPositionUpdatePeriod(XAmillisecond mSec);
-
-    XAresult SetPosition(XAmillisecond pMsec);
-    XAresult SetRepeats(XAboolean repeat);
-    XAresult SetPlayWindow(XAmillisecond start, XAmillisecond end);
-
-    XAresult GetNumStreams(XAuint32* numstreams);
-    XAresult GetStreamInfo(XAuint32 streamindex, XAuint32* streamtype);
-    XAresult GetVideoFrameSize(XAuint32* height, XAuint32* width,
-            XAuint32* frameRate);
-    XAresult SetActiveState(XAuint32 streamindex, XAboolean active);
-
-    XAresult SetVolume(XAuint32 volume);
-    XAresult GetVolume(XAuint32* volume);
-    XAresult GetMaxVolume(XAuint32* maxvolume);
-
-    XAresult SetPlaybackRate(XAint16 rate);
-    XAresult GetPlaybackRateCapabilities(XAboolean* forward, XAboolean* backward);
-
-public:
-
-    // MMdaObjectStateChangeObserver
-    void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState,
-            TInt aCurrentState, TInt aErrorcCode);
-
-    //MMdaAudioPlayerCallback
-    void MapcInitComplete(TInt aError,
-            const TTimeIntervalMicroSeconds& aDuration);
-    void MapcPlayComplete(TInt aError);
-
-    //From MVidePlayerUtilityObserver
-    void MvpuoOpenComplete(TInt aError);
-    void MvpuoPrepareComplete(TInt aError);
-    void MvpuoFrameReady(CFbsBitmap& aFrame, TInt aError);
-    void MvpuoPlayComplete(TInt aError);
-    void MvpuoEvent(const TMMFEvent& aEvent);
-
-    // From MRebufferCallback
-    void MvloLoadingStarted();
-    void MvloLoadingComplete();
-
-private:
-    enum TPlayerState
-        {
-        EPlayerClosed,
-        EPlayerOpened,
-        EPlayerPrepared,
-        EPlayerPaused,
-        EPlayerPlaying,
-        };
-
-private:
-    CMMFBackendEngine();
-    void ConstructL();
-    void InitAudioRecorderUtilityL();
-    void InitAudioPlayerUtilityL();
-    void InitVideoPlayerUtilityL();
-    void InitPlayerTimersL();
-    TInt DetermineAPIToUse(char *uri, TFuncInUse aFunc);
-    XAresult DoHandlePlayItfAttributesChanged();
-    void DoPostEvent(XAuint32 event);
-    TInt InitializeURIForMMFUtil(char *uri);
-
-private:
-    CVideoPlayerUtility2* iVideoPlayer;
-    CBase* iBaseVideoPlayer;
-    CMdaAudioPlayerUtility* iAudioPlayer;
-    CBase* iBaseAudioPlayer;
-    CMdaAudioRecorderUtility* iAudioRecorder;
-    CBase* iBaseAudioRecorder;
-    TFileName iFileName;
-    TInt iAPIBeingUsed;
-    TInt iPreviousRecordState;
-    TInt iCurrentRecordState;
-    TInt iErrorCode;
-    TRecorderState iRecordState;
-    LocalTimer* iPositionUpdateTimer;
-    TUint64 iTimerDelay;
-    void* iAdaptContext;
-    XAuint32 iFileFormat;
-    TInt iPauseSupportMP4;
-    CActiveSchedulerWait* iActiveSchedulerWait;
-    CAudioInput* iAudioInputRecord;
-#ifdef USE_LOCAL_WINDOW_RESOURCES
-    CMediaClientVideoDisplay* iMediaClientVideoDisplay;
-    TRect m_clipRect;
-    TRect m_videoExtent;
-    TRect m_cropRegion;
-    TVideoAspectRatio m_pixelAspectRatio;
-    RWindow m_Window;
-    TRect m_cropRect;
-    TSurfaceId m_surfaceId;
-    TVideoRotation m_rotation;
-    TReal32 m_scaleWidth;
-    TReal32 m_scaleHeight;
-    TInt m_horizPos;
-    TInt m_vertPos;
-    TInt m_displayId;
-    /*TBool m_bWindowReferencePassed;*/
-    RWsSession m_ws;
-#endif /* USE_LOCAL_WINDOW_RESOURCES */
-
-    /* Holds duration of the media clip opend for playback */
-    TTimeIntervalMicroSeconds iMediaDuration;
-    /* Holds the playback position to be used for next play command */
-    TTimeIntervalMicroSeconds iPlaybackHead;
-    /* Holds current XA state of media player object */
-    XAuint32 iMediaPlayerState;
-    /* Owns */
-    CMarkerPositionTimer* iMarkerPositionTimer;
-    CPositionUpdateTimer* iPlayItfPositionUpdateTimer;
-    /* Owns */
-    CWsScreenDevice* m_pScr;
-    /* Holds mmf state of media player object */
-    TPlayerState iMMFPlayerState;
-
-    /* Property set by client */
-    XAuint32 iPlayItfEventFlags;
-    /* Property set by client */
-    xaPlayCallback iPlayItfCBFunction;
-    /* Property set by client */
-    XAmillisecond iMarkerPosition;
-    /* Property set by client */
-    XAmillisecond iPositionUpdatePeriod;
-    /* Property set by client (for file without file:///) */
-    HBufC* iUri; /* owns */
-    TPtr iUriPtr;
-    TUriType iUriType;
-    /* Property set by client */
-    RWsSession* m_pWs;
-    /* Property set by client */
-    RWindow* m_pWindow;
-    };
-
-#else  /* __cplusplus */
-
-extern int mmf_backend_engine_init(void** engine);
-extern int mmf_backend_engine_deinit(void* engine);
-
-extern int mmf_set_recorder_uri(void* context, char* uri, XAuint32 format);
-
-extern void mmf_close(void* context);
-
-extern int mmf_set_adapt_context(void* context, void* adaptcontext);
-
-extern int mmf_start_recording(void* context);
-
-extern int mmf_stop_recording(void* context, XAboolean stopCalled);
-
-extern int mmf_get_record_position(void* context, XAuint64* position);
-
-extern int mmf_set_record_position_update_period(void* context, XAmillisecond msec);
-
-extern int mmf_get_codec_id(void* context, XAuint32* encoderId);
-extern int mmf_get_channels(void* context, XAuint32* channelsIn);
-extern int mmf_get_samplerate(void* context, XAmilliHertz* sampleRate);
-extern int mmf_get_bitrate(void* context, XAuint32* bitRate);
-extern int mmf_set_destination_channels(void* context, XAuint32* channelsIn);
-extern int mmf_set_destination_samplerate(void* context, XAmilliHertz* sampleRate);
-extern int mmf_set_destination_bitrate(void* context, XAuint32* bitRate);
-
-extern XAresult mmf_set_play_adapt_context(void * context, void * adaptcontext);
-extern XAresult mmf_set_player_uri(void * context, char * uri, XAuint32 format);
-/*extern XAresult mmf_set_window_handle(void * context, void * display_infos);*/
-extern XAresult mmf_setup_native_display(void * context, void * display_info);
-
-/*Functions for XAPlayItf*/
-extern XAresult mmf_playitf_resume_playback(void * context);
-extern XAresult mmf_playitf_pause_playback(void * context);
-extern XAresult mmf_playitf_stop_playback(void * context);
-extern XAresult mmf_playitf_get_play_state(void * context, XAuint32 * pState);
-extern XAresult mmf_playitf_get_duration(void * context, XAmillisecond * pMsec);
-extern XAresult mmf_playitf_get_position(void * context, XAmillisecond * pMsec);
-extern XAresult mmf_playitf_register_callback(void * context, xaPlayCallback callback);
-extern XAresult mmf_playitf_set_callback_events_mask(void * context, XAuint32 eventflags);
-extern XAresult mmf_playitf_set_marker_position(void * context, XAmillisecond mSec);
-extern XAresult mmf_playitf_clear_marker_position(void * context);
-extern XAresult mmf_playitf_set_position_update_period(void * context, XAmillisecond mSec);
-
-extern XAresult mmf_seekitf_set_position(void * context, XAmillisecond mSec);
-extern XAresult mmf_seekitf_set_playwindow(void * context, XAmillisecond start, XAmillisecond end);
-extern XAresult mmf_seekitf_set_repeats(void * context, XAboolean repeat);
-
-extern XAresult mmf_streaminformationitf_get_numstreams(void * context, XAuint32* numstreams);
-extern XAresult mmf_streaminformationitf_get_streaminfo(void * context, XAuint32 streamindex,
-        XAuint32* streamtype);
-extern XAresult mmf_streaminformationitf_get_videoframesize(void * context, XAuint32* height,
-        XAuint32* width, XAuint32* frameRate);
-extern XAresult mmf_streaminformationitf_set_activestream(void * context, XAuint32 streamindex,
-        XAboolean active);
-
-extern XAresult mmf_volumeitf_set_volume(void * context, XAuint32 volume);
-extern XAresult mmf_volumeitf_get_volume(void * context, XAuint32* volume);
-extern XAresult mmf_volumeitf_get_maxvolume(void * context, XAuint32* volume);
-extern XAresult mmf_playbackrateitf_set_playbackrate(void * context, XAint16 rate);
-extern XAresult mmf_playbackrateitf_get_playbackratecaps(void * context,
-                                XAboolean* forward, XAboolean* backward);
-
-#endif /* __cplusplus */
-
-#endif /* CMMFBackendEngine_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/cmmfradiobackendengine.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,764 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-*
-*/
-
-#include "cmmfradiobackendengine.h"
-
-extern "C" {
-#include "xaradioitfadaptation.h"
-#include "xanokiavolumeextitfadaptationmmf.h"
-#include "xanokialinearvolumeitfadaptationmmf.h"
-#include "xaplayitfadaptationmmf.h"
-}
-
-CMMFRadioBackendEngine *CMMFRadioBackendEngine::s_instance = 0;
-
-CMMFRadioBackendEngine* CMMFRadioBackendEngine::Instance()
-{
-    if (!s_instance)
-    {
-        s_instance = new CMMFRadioBackendEngine();
-        if (s_instance)
-        {
-            s_instance->ConstructL();
-        }
-    }
-    return s_instance;
-}
-
-void CMMFRadioBackendEngine::DeleteInstance()
-{
-    if (iFmTunerUtility)
-  {
-    iFmTunerUtility->Close();
-    iFmTunerUtility = NULL;
-  }
-  if (iRadioPlayerUtility)
-  {
-    iRadioPlayerUtility->Close();
-    iRadioPlayerUtility = NULL;
-  }
-
-  if (iRadioUtility)
-  {
-        delete iRadioUtility;
-        iRadioUtility = NULL;
-    }
-
-}
-
-CMMFRadioBackendEngine::~CMMFRadioBackendEngine()
-{
-}
-
-CMMFRadioBackendEngine::CMMFRadioBackendEngine()
-{
-
-}
-
-void CMMFRadioBackendEngine::ConstructL()
-{
-    iRadioUtility = CRadioUtility::NewL( ETrue );
-    if (iRadioUtility)
-    {
-        iFmTunerUtility = &iRadioUtility->RadioFmTunerUtilityL( *this );
-    }
-    if (iFmTunerUtility)
-    {
-        iFmTunerUtility->EnableTunerInOfflineMode( ETrue );
-        iFmTunerUtility->RequestTunerControl();
-    }
-  if (iRadioUtility)
-  {
-        iRadioPlayerUtility = &iRadioUtility->RadioPlayerUtilityL( *this );
-    }
-
-    SetForceMonoFlag();
-    iDefaultFrequency = RADIO_DEFAULT_FREQ;
-    iDefaultFreqRange = (TFmRadioFrequencyRange)RADIO_DEFAULT_FREQ_RANGE;
-    iDefaultMinFreq = RADIO_DEFAULT_MIN_FREQ;
-    iDefaultMaxFreq = RADIO_DEFAULT_MAX_FREQ;
-
-}
-void CMMFRadioBackendEngine::StationSeek(XAboolean aUpwards)
-{
-    if (iFmTunerUtility)
-    {
-    iFmTunerUtility->StationSeek(aUpwards);
-    }
-}
-
-void CMMFRadioBackendEngine::SetFrequency(TInt aFreq)
-{
-  DEBUG_API_A1("CMMFRadioBackendEngine::SetFrequency: %d", aFreq);
-
-    if (iFmTunerUtility)
-    {
-    iFmTunerUtility->SetFrequency(aFreq);
-    }
-}
-
-TInt CMMFRadioBackendEngine::GetFrequency(TInt& aFreq)
-{
-  DEBUG_API("CMMFRadioBackendEngine::GetFrequency");
-    TInt ret = KErrNotFound;
-    if (iFmTunerUtility)
-    {
-    ret = iFmTunerUtility->GetFrequency(aFreq);
-    if (ret != KErrNone)
-    {
-        aFreq = iDefaultFrequency;
-        ret = KErrNone;
-    }
-    }
-  DEBUG_API_A1("CMMFRadioBackendEngine::GetFrequency RET: %d", ret);
-//  RDebug::Print(_L("CMMFRadioBackendEngine::GetFrequency RET: %d"), ret);
-    return ret;
-}
-
-TInt CMMFRadioBackendEngine::GetSignalStrength(TInt& aSignalStrength)
-{
-    TInt ret = KErrNotFound;
-    if (iFmTunerUtility)
-    {
-    ret = iFmTunerUtility->GetSignalStrength(aSignalStrength);
-    }
-  DEBUG_API_A1("CMMFRadioBackendEngine::GetSignalStrength RET: %d", ret);
-//  RDebug::Print(_L("CMMFRadioBackendEngine::GetSignalStrength RET: %d"), ret);
-    return ret;
-}
-
-void CMMFRadioBackendEngine::CancelSetFrequency()
-{
-    if (iFmTunerUtility)
-    {
-        iFmTunerUtility->CancelSetFrequency();
-    }
-}
-
-void CMMFRadioBackendEngine::CancelStationSeek()
-{
-    if (iFmTunerUtility)
-    {
-        iFmTunerUtility->CancelStationSeek();
-    }
-}
-
-void CMMFRadioBackendEngine::SetFreqRange(TFmRadioFrequencyRange aRange)
-{
-    if (iFmTunerUtility)
-    {
-        iFmTunerUtility->SetFrequencyRange(aRange);
-    }
-}
-
-TInt CMMFRadioBackendEngine::GetFreqRange(TFmRadioFrequencyRange& aRange)
-{
-    TInt ret = KErrNotFound;
-    TInt minFreq;
-    TInt maxFreq;
-
-    if (iFmTunerUtility)
-    {
-        ret = iFmTunerUtility->GetFrequencyRange((TFmRadioFrequencyRange&)aRange, (TInt&)minFreq, (TInt&)maxFreq);
-        if (ret != KErrNone)
-        {
-            minFreq = iDefaultMinFreq;
-            maxFreq = iDefaultMaxFreq;
-            aRange = iDefaultFreqRange;
-            ret = KErrNone;
-        }
-    }
-  DEBUG_API_A1("CMMFRadioBackendEngine::GetFreqRange RET: %d", ret);
-//  RDebug::Print(_L("CMMFRadioBackendEngine::GetFreqRange RET: %d"), ret);
-  return ret;
-}
-
-TInt CMMFRadioBackendEngine::GetFreqRangeProperties(TFmRadioFrequencyRange& aRange, TInt& aMinFreq, TInt& aMaxFreq)
-{
-    TInt ret = KErrNotFound;
-
-    if (iFmTunerUtility)
-    {
-        ret = iFmTunerUtility->GetFrequencyRange((TFmRadioFrequencyRange&)aRange, (TInt&)aMinFreq, (TInt&)aMaxFreq);
-        if (ret != KErrNone)
-        {
-            aRange = iDefaultFreqRange;
-            aMinFreq = iDefaultMinFreq;
-            aMaxFreq = iDefaultMaxFreq;
-            ret = KErrNone;
-        }
-    }
-  DEBUG_API_A1("CMMFRadioBackendEngine::GetFreqRangeProperties RET: %d", ret);
-//  RDebug::Print(_L("CMMFRadioBackendEngine::GetFreqRangeProperties RET: %d"), ret);
-  return ret;
-}
-TInt CMMFRadioBackendEngine::GetMaxVolume(TInt& aMaxVol)
-{
-    TInt ret = KErrNotFound;
-
-    if (iRadioPlayerUtility)
-    {
-        ret = iRadioPlayerUtility->GetMaxVolume(aMaxVol);
-    }
-  return ret;
-}
-
-TInt CMMFRadioBackendEngine::SetVolume(TInt aVol)
-{
-    TInt ret = KErrNotFound;
-
-    if (iRadioPlayerUtility)
-    {
-        ret = iRadioPlayerUtility->SetVolume(aVol);
-    }
-  return ret;
-}
-
-TInt CMMFRadioBackendEngine::SetMute(XAboolean aMute)
-{
-    TInt ret = KErrNotFound;
-
-    if (iRadioPlayerUtility)
-    {
-        ret = iRadioPlayerUtility->Mute(aMute);
-    }
-  return ret;
-}
-
-TInt CMMFRadioBackendEngine::GetVolume(TInt& aVol)
-{
-    TInt ret = KErrNotFound;
-
-    if (iRadioPlayerUtility)
-    {
-        ret = iRadioPlayerUtility->GetVolume(aVol);
-    }
-  return ret;
-}
-
-TInt CMMFRadioBackendEngine::GetForcedMonoReception(XAuint32& aForcedMono)
-{
-    TInt ret = KErrNotFound;
-    TBool forceMono(EFalse);
-
-    if (iFmTunerUtility)
-    {
-        ret = iFmTunerUtility->GetForcedMonoReception(forceMono);
-        if (ret == KErrNotReady)
-        {
-            aForcedMono = XA_STEREOMODE_AUTO; // Radio Utility Default value
-            return KErrNone;
-        }
-    }
-
-
-    if (forceMono)
-    {
-        aForcedMono = XA_STEREOMODE_MONO;
-    }
-    else
-    {
-        if (iForceStereo)
-            aForcedMono = XA_STEREOMODE_STEREO;
-        else
-            aForcedMono = XA_STEREOMODE_AUTO;
-    }
-  return ret;
-}
-
-void CMMFRadioBackendEngine::PlayRadio()
-{
-    if (iRadioPlayerUtility)
-    {
-        iRadioPlayerUtility->Play();
-    }
-}
-
-void CMMFRadioBackendEngine::StopRadio()
-{
-    if (iRadioPlayerUtility)
-    {
-        iRadioPlayerUtility->Stop();
-    }
-}
-
-TInt CMMFRadioBackendEngine::ForceMonoReception(XAuint32 aForcedMono)
-{
-    TInt ret = KErrNotFound;
-    XAuint32 currentMode;
-
-    ret = GetForcedMonoReception(currentMode);
-    if (ret != XA_RESULT_SUCCESS)
-        return ret;
-
-    if (iFmTunerUtility)
-    {
-        if (aForcedMono == XA_STEREOMODE_MONO)
-        {
-            iForceStereo = EFalse;
-            ret = iFmTunerUtility->ForceMonoReception(ETrue);
-        }
-        else if (aForcedMono == XA_STEREOMODE_STEREO)
-        {
-            iForceStereo = ETrue;
-            if (currentMode == XA_STEREOMODE_AUTO) // Transition from Auto to Stereo doesn't require Utility call:
-            {
-                MrftoForcedMonoChange(ETrue);
-            }
-            else
-            {
-                ret = iFmTunerUtility->ForceMonoReception(EFalse);
-            }
-        }
-        else // (aForcedMono == XA_STEREOMODE_AUTO)
-        {
-            iForceStereo = EFalse;
-            if (currentMode == XA_STEREOMODE_STEREO) // Transition from Stereo to Auto doesn't require Utility call:
-            {
-                MrftoForcedMonoChange(EFalse);
-            }
-            else
-            {
-                ret = iFmTunerUtility->ForceMonoReception(EFalse);
-            }
-        }
-    }
-  DEBUG_API_A1("CMMFRadioBackendEngine::ForceMonoReception RET: %d", ret);
- // RDebug::Print(_L("CMMFRadioBackendEngine::ForceMonoReception RET: %d"), ret);
-  return ret;
-}
-
-XAresult CMMFRadioBackendEngine::SetForceMonoFlag()
-{
-    TInt ret = KErrNotFound;
-    TBool forceMono(EFalse);
-
-    if (iFmTunerUtility)
-    {
-        ret = iFmTunerUtility->GetForcedMonoReception(forceMono);
-        if (ret == KErrNotReady)
-        {
-            // For Radio Utility Default value = XA_STEREOMODE_STEREO
-            iForceStereo = ETrue;
-            return KErrNone;
-        }
-
-    }
-
-    if (forceMono == XA_STEREOMODE_MONO)
-    {
-        iForceStereo = EFalse;
-    }
-    else
-    {
-        iForceStereo = ETrue;
-    }
-  return ret;
-}
-XAresult CMMFRadioBackendEngine::SetRadioAdaptContext(void * adaptcontext)
-{
-    iRadioAdaptContext = adaptcontext;
-    return XA_RESULT_SUCCESS;
-}
-
-XAresult CMMFRadioBackendEngine::SetPlayerAdaptContext(void * adaptcontext)
-{
-    iPlayerAdaptContext = adaptcontext;
-    return XA_RESULT_SUCCESS;
-}
-
-XAresult TranslateError(TInt error)
-    {
-    XAresult status(XA_RESULT_SUCCESS);
-    switch(error)
-        {
-        case KErrNone:
-            status = XA_RESULT_SUCCESS;
-            break;
-        // to do: investigate and add other possible errors:
-
-       /* case XA_RESULT_PRECONDITIONS_VIOLATED:
-
-            break;
-        case XA_RESULT_PARAMETER_INVALID:
-
-            break;
-        case XA_RESULT_MEMORY_FAILURE:
-
-            break;
-        case XA_RESULT_RESOURCE_ERROR:
-
-            break;
-        case XA_RESULT_RESOURCE_LOST:
-
-            break;
-        case XA_RESULT_IO_ERROR:
-
-            break;
-        case XA_RESULT_BUFFER_INSUFFICIENT:
-
-            break;
-        case XA_RESULT_CONTENT_CORRUPTED:
-
-            break;
-        case XA_RESULT_CONTENT_UNSUPPORTED:
-
-            break;
-        case XA_RESULT_CONTENT_NOT_FOUND:
-
-            break;
-        case XA_RESULT_PERMISSION_DENIED:
-
-            break;
-        case XA_RESULT_FEATURE_UNSUPPORTED:
-
-            break;
-        case XA_RESULT_INTERNAL_ERROR:
-
-            break;
-        case XA_RESULT_UNKNOWN_ERROR:
-
-            break;
-        case XA_RESULT_OPERATION_ABORTED:
-
-            break;
-        case XA_RESULT_CONTROL_LOST:
-
-            break;
-            */
-        default:
-            break;
-        } // end switch
-    return status;
-    }
-// -----------------------------------------------------------------------------
-// CMMFRadioBackendEngine::MrpeoPresetChanged
-// Observer for Presets
-// -----------------------------------------------------------------------------
-void CMMFRadioBackendEngine::MrpeoPresetChanged(
-    TPresetChangeEvent /*aChange*/,
-    TInt /*aIndex*/ )
-{
-
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrftoSquelchChange
-//
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrftoSquelchChange(
-    TBool /*aSquelch*/ )
-{
-
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrftoForcedMonoChanged
-// Called when a client enables/disabled forced mono reception
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrftoForcedMonoChange(
-    TBool aForcedMono )
-{
-  DEBUG_API_A1("CMMFRadioBackendEngine::MrftoForcedMonoChange: aForcedMono =  %d", aForcedMono);
-//  RDebug::Print(_L("CMMFRadioBackendEngine::MrftoForcedMonoChange: aForcedMono = %d"), aForcedMono);
-    XARadioItfAdapt_StereoStatusChange((XAAdaptationBaseCtx*)iRadioAdaptContext, aForcedMono);
-}
-
- // ----------------------------------------------------
-// CMMFRadioBackendEngine::MrftoFrequencyChange
-// Called when the tuned frequency changes
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrftoFrequencyChange(
-    TInt aNewFrequency)
-{
-    DEBUG_API_A1("CMMFRadioBackendEngine::MrftoFrequencyChange: aNewFrequency =  %d", aNewFrequency);
- // RDebug::Print(_L("CMMFRadioBackendEngine::MrftoFrequencyChange aNewFrequency = %d"), aNewFrequency);
-    XARadioItfAdapt_FrequencyChange((XAAdaptationBaseCtx*)iRadioAdaptContext, aNewFrequency);
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrftoFrequencyRangeChange
-//
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrftoFrequencyRangeChange(
-    TFmRadioFrequencyRange aNewRange )
-{
-    DEBUG_API_A1("CMMFRadioBackendEngine::MrftoFrequencyRangeChange: aNewRange =  %d", aNewRange);
-//  RDebug::Print(_L("CMMFRadioBackendEngine::MrftoFrequencyRangeChange: aNewRange = %d"), aNewRange);
-    XARadioItfAdapt_FrequencyRangeChange((XAAdaptationBaseCtx*)iRadioAdaptContext, aNewRange);
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrftoOfflineModeStatusChange
-// Called when offline mode status changes
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrftoOfflineModeStatusChange(
-    TBool /*aOfflineMode*/ )
-{
-
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrftoAntennaStatusChange
-// Called when antenna status changes.
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrftoAntennaStatusChange(
-    TBool /*aAttached*/ )
-{
-
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrftoFmTransmitterStatusChange
-// The FM tuner is turned off when FM transmitter is on.
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrftoFmTransmitterStatusChange(
-    TBool /*aActive*/ )
-{
-
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrftoStationSeekComplete
-//
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrftoStationSeekComplete(
-    TInt aError,
-    TInt aFrequency )
-{
-    XARadioItfAdapt_SeekComplete((XAAdaptationBaseCtx*)iRadioAdaptContext, aError, aFrequency);
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrftoSetFrequencyComplete
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrftoSetFrequencyComplete(
-    TInt aError )
-{
-    DEBUG_API_A1("CMMFRadioBackendEngine::MrftoSetFrequencyComplete: aError =  %d", aError);
-//  RDebug::Print(_L("CMMFRadioBackendEngine::MrftoFrrequencyComplete: aError = %d"), aError);
-    TInt freq = 0;
-  if (!aError)
-    {
-        iFmTunerUtility->GetFrequency(freq);
-    }
-    DEBUG_API_A1("CMMFRadioBackendEngine::MrftoSetFrequencyComplete: new freq is: %d", freq);
-//  RDebug::Print(_L("CMMFRadioBackendEngine::MrftoSetFrequencyComplete: new freq is: %d"), freq);
-    XARadioItfAdapt_SetFrequencyComplete((XAAdaptationBaseCtx*)iRadioAdaptContext, aError, freq);
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrftoSetFrequencyRangeComplete
-//
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrftoSetFrequencyRangeComplete(
-    TInt aError )
-{
-    DEBUG_API_A1("CMMFRadioBackendEngine::MrftoSetFrequencyRangeComplete: aError =  %d", aError);
-//  RDebug::Print(_L("CMMFRadioBackendEngine::MrftoSetFrequencyRangeComplete: aError = %d"), aError);
-    XARadioItfAdapt_SetFrequencyRangeComplete((XAAdaptationBaseCtx*)iRadioAdaptContext, aError);
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrftoRequestTunerControlComplete
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrftoRequestTunerControlComplete(
-    TInt aError)
-{
-//  RDebug::Print(_L("CMMFRadioBackendEngine::MrftoRequestTunerControlComplete: aError = %d"), aError);
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrpoBalanceChange
-//
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrpoBalanceChange(
-    TInt /*aLeftPercentage*/,
-    TInt /*aRightPercentage*/ )
-{
-
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrpoMuteChange
-//
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrpoMuteChange(
-    TBool aMute )
-{
-    XANokiaVolumeExtItfAdapt_MuteChange((XAAdaptationBaseCtx*)iPlayerAdaptContext, aMute);
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrpoVolumeChange
-//
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrpoVolumeChange(
-    TInt aVolume )
-{
-    XANokiaLinearVolumeItfAdapt_VolumeChange((XAAdaptationBaseCtx*)iPlayerAdaptContext, aVolume);
-}
-
-// ----------------------------------------------------
-// CMMFRadioBackendEngine::MrpoStateChange This is Tuner State
-// Called when the state of the tuner changes
-// ----------------------------------------------------
-//
-void CMMFRadioBackendEngine::MrpoStateChange(
-    TPlayerState aState,
-    TInt aError )
-{
-    if ( aError )
-    {
-        DEBUG_API_A1("CMMFRadioBackendEngine::MrpoStateChange: aError =  %d", aError);
- //     RDebug::Print(_L("CMMFRadioBackendEngine::MrpoStateChange: aError = %d"), aError);
-    }
-
-    DEBUG_API_A1("CMMFRadioBackendEngine::MrpoStateChange: new state =  %d", aState);
-//  RDebug::Print(_L("CMMFRadioBackendEngine::MrpoStateChange: new state = %d"), aState);
-
-    if ( aState == ERadioPlayerPlaying )
-    {
-    XAPlayItfAdaptMMF_StateChange((XAAdaptationBaseCtx*)iPlayerAdaptContext, ETrue);
-    }
-    else  // ERadioPlayerIdle
-    {
-    XAPlayItfAdaptMMF_StateChange((XAAdaptationBaseCtx*)iPlayerAdaptContext, EFalse);
-    }
-}
-
-extern "C" {
-
-    void* cmmfradiobackendengine_init()
-    {
-        return CMMFRadioBackendEngine::Instance();
-    }
-
-    void cmmfradiobackendengine_delete(void* context)
-    {
-        ((CMMFRadioBackendEngine*)(context))->DeleteInstance();
-    }
-
-    void  set_frequency(void* context, XAuint32 freq)
-    {
-        ((CMMFRadioBackendEngine*)(context))->SetFrequency((TInt)freq);
-    }
-
-    XAresult  get_frequency(void* context, XAuint32* freq)
-    {
-        return ((CMMFRadioBackendEngine*)(context))->GetFrequency((TInt&)*freq);
-    }
-
-    XAresult  get_signal_strength(void* context, XAuint32* signalStrength)
-    {
-        return ((CMMFRadioBackendEngine*)(context))->GetSignalStrength((TInt&)*signalStrength);
-    }
-
-    void station_seek(void* context, XAboolean upwards)
-    {
-        ((CMMFRadioBackendEngine*)(context))->StationSeek(upwards);
-    }
-
-    void cancel_set_frequency(void* context)
-    {
-        ((CMMFRadioBackendEngine*)(context))->CancelSetFrequency();
-    }
-
-    void cancel_station_seek(void* context)
-    {
-        ((CMMFRadioBackendEngine*)(context))->CancelStationSeek();
-    }
-
-    void set_freq_range(void* context, XAuint8 range)
-    {
-        ((CMMFRadioBackendEngine*)(context))->SetFreqRange((TFmRadioFrequencyRange)range);
-    }
-
-    XAresult  get_freq_range(void* context, XAuint8* range)
-    {
-        return ((CMMFRadioBackendEngine*)(context))->GetFreqRange((TFmRadioFrequencyRange&)*range);
-    }
-
-    XAresult  get_freq_range_properties(void* context, XAuint8 aRange, XAuint32* aMinFreq, XAuint32* aMaxFreq)
-    {
-        return ((CMMFRadioBackendEngine*)(context))->GetFreqRangeProperties((TFmRadioFrequencyRange&) aRange, (TInt&) *aMinFreq, (TInt&) *aMaxFreq);
-    }
-
-    XAresult  get_max_volume(void* context, XAmillibel* maxVol)
-    {
-        return  ((CMMFRadioBackendEngine*)(context))->GetMaxVolume((TInt&)*maxVol);
-    }
-
-    XAresult  set_volume(void* context, XAuint32 vol)
-    {
-        return ((CMMFRadioBackendEngine*)(context))->SetVolume((TInt)vol);
-    }
-
-    XAresult  get_volume(void* context, XAuint32* vol)
-    {
-        return ((CMMFRadioBackendEngine*)(context))->GetVolume((TInt&)*vol);
-    }
-
-    XAresult  set_mute(void* context, XAboolean mute)
-    {
-        return ((CMMFRadioBackendEngine*)(context))->SetMute(mute);
-    }
-
-    XAresult  get_stereo_mode(void* context, XAuint32* mode)
-    {
-        return ((CMMFRadioBackendEngine*)(context))->GetForcedMonoReception(*mode);
-    }
-
-    XAresult  set_stereo_mode(void* context, XAuint32 mode)
-    {
-        return ((CMMFRadioBackendEngine*)(context))->ForceMonoReception(mode);
-    }
-
-    void play_radio(void* context)
-    {
-        ((CMMFRadioBackendEngine*)(context))->PlayRadio();
-    }
-
-    void stop_radio(void* context)
-    {
-        ((CMMFRadioBackendEngine*)(context))->StopRadio();
-    }
-
-    XAresult mmf_set_radio_adapt_context(void * context, void * adaptcontext)
-    {
-        return ((CMMFRadioBackendEngine*)(context))->SetRadioAdaptContext(adaptcontext);
-    }
-
-    XAresult mmf_set_player_adapt_context(void * context, void * adaptcontext)
-    {
-        return ((CMMFRadioBackendEngine*)(context))->SetPlayerAdaptContext(adaptcontext);
-    }
-}
--- a/khronosfws/openmax_al/src/mmf_adaptation/cmmfradiobackendengine.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef CMMFRADIOBACKENDENGINE_H
-#define CMMFRADIOBACKENDENGINE_H
-
-#ifdef __cplusplus
-
-#include <e32base.h>
-#include <RadioUtility.h>
-#include <RadioFmTunerUtility.h>
-#include <RadioPlayerUtility.h>
-#include <RadioPresetUtility.h>
-#include <RadioFmPresetUtility.h>
-#include <FMRadioTunerControl.h>
-#include "xaadaptationmmf.h"
-
-NONSHARABLE_CLASS(CMMFRadioBackendEngine) : public CBase,
-                     public MRadioPlayerObserver,
-                     public MRadioFmTunerObserver,
-                     public MRadioPresetObserver          
-    {
-public:
-
-    static CMMFRadioBackendEngine* Instance();
-    void DeleteInstance();
-    ~CMMFRadioBackendEngine();
-    
-		void SetFrequency(TInt aFreq);		   
-		TInt GetFrequency(TInt& aFreq);
-		TInt GetSignalStrength(TInt& aFreq);		
-		void StationSeek(XAboolean aUpwards);
-		void CancelSetFrequency();	
-		void CancelStationSeek();	
-		void SetFreqRange(TFmRadioFrequencyRange aRange);	
-		TInt GetFreqRange(TFmRadioFrequencyRange& aRange);
-		TInt GetFreqRangeProperties(TFmRadioFrequencyRange& aRange, TInt& aMinFreq, TInt& aMaxFreq);			
-		TInt GetMaxVolume(TInt& aMaxVol);									
-		TInt SetVolume(TInt aVol);		
-		TInt GetVolume(TInt& aVol);
-		TInt SetMute(XAboolean aMute);	
-		TInt GetForcedMonoReception(XAuint32& aForcedMono);
-		TInt ForceMonoReception(XAuint32 aForcedMono);
-		void PlayRadio();		
-		void StopRadio();		
-        XAresult SetRadioAdaptContext(void * adaptcontext);  	
-		XAresult SetPlayerAdaptContext(void * adaptcontext);    					
-						
-    /**
-     * From MRadioPlayerObserver.
-     * Called when Radio state changed.
-     *
-     * @since S60 3.2
-     * @param aState Radio player state
-     * @param aError A standard system error code, only used when aState is ERadioPlayerIdle
-     */
-    void MrpoStateChange( TPlayerState aState, TInt aError );
-
-    /**
-     * From MRadioPlayerObserver.
-     * Called when volume changes. This may be caused by other applications.
-     *
-     * @since S60 3.2
-     * @param aVolume Current volume.
-     */
-    void MrpoVolumeChange( TInt aVolume );
-
-    /**
-     * From MRadioPlayerObserver.
-     * Called when mute setting changes. This may be caused by other applications.
-     *
-     * @since S60 3.2
-     * @param aMute ETrue indicates audio is muted.
-     */
-    void MrpoMuteChange( TBool aMute );
-
-    /**
-     * From MRadioPlayerObserver.
-     * Called when mute setting changes. This may be caused by other applications.
-     *
-     * Called when balance setting changes. This may be caused by other applications.
-     *
-     * @since S60 3.2
-     * @param aLeftPercentage
-     *        Left speaker volume percentage. This can be any value from zero to 100.
-     *        Zero value means left speaker is muted.
-     * @param aRightPercentage
-     *        Right speaker volume percentage. This can be any value from zero to 100.
-     *        Zero value means right speaker is muted.
-     */
-    void MrpoBalanceChange( TInt aLeftPercentage, TInt aRightPercentage );
-        
-    /**
-     * From MRadioFmTunerObserver.
-     * Called when Request for tuner control completes.
-     *
-     * @since S60 3.2
-     * @param aError A standard system error code or FM tuner error (TFmRadioTunerError).
-     */
-    void MrftoRequestTunerControlComplete( TInt aError );
-
-    /**
-     * From MRadioFmTunerObserver.
-     * Set frequency range complete event. This event is asynchronous and is received after
-     * a call to CRadioFmTunerUtility::SetFrequencyRange.
-     *
-     * @since S60 3.2
-     * @param aError A standard system error code or FM tuner error (TFmRadioTunerError).
-     */
-    void MrftoSetFrequencyRangeComplete( TInt aError );
-
-    /**
-     * From MRadioFmTunerObserver.
-     * Set frequency complete event. This event is asynchronous and is received after a call to
-     * CRadioFmTunerUtility::SetFrequency.
-     *
-     * @since S60 3.2
-     * @param aError A standard system error code or FM tuner error (TFmRadioTunerError).
-     */
-    void MrftoSetFrequencyComplete( TInt aError );
-
-    /**
-     * From MRadioFmTunerObserver.
-     * Station seek complete event. This event is asynchronous and is received after a call to
-     * CRadioFmTunerUtility::StationSeek.
-     *
-     * @since S60 3.2
-     * @param aError A standard system error code or FM tuner error (TFmRadioTunerError).
-     * @param aFrequency The frequency(Hz) of the radio station that was found.
-     */
-    void MrftoStationSeekComplete( TInt aError, TInt aFrequency );
-
-    /**
-     * From MRadioFmTunerObserver.
-     * Called when FM Transmitter status changes (if one is present in the device). Tuner receiver
-     * is forced to be turned off due to hardware conflicts when FM transmitter is activated.
-     *
-     * @since S60 3.2
-     * @param aActive ETrue if FM transmitter is active; EFalse otherwise.
-     */
-    void MrftoFmTransmitterStatusChange( TBool aActive );
-
-    /**
-     * From MRadioFmTunerObserver.
-     * Called when antenna status changes.
-     *
-     * @since S60 3.2
-     * @param aAttached ETrue if antenna is attached; EFalse otherwise.
-     */
-    void MrftoAntennaStatusChange(TBool aAttached );
-
-    /**
-     * From MRadioFmTunerObserver.
-     * Called when offline mode status changes.
-     * @since S60 3.2
-     *
-     * @param aOfflineMode ETrue if offline mode is enabled; EFalse otherwise.
-     */
-    void MrftoOfflineModeStatusChange(TBool aOfflineMode );
-
-    /**
-     * From MRadioFmTunerObserver.
-     * Called when the frequency range changes. This may be caused by other applications.
-     *
-     * @since S60 3.2
-     * @param aBand New frequency range.
-     */
-    void MrftoFrequencyRangeChange(TFmRadioFrequencyRange aBand );
-
-    /**
-     * From MRadioFmTunerObserver.
-     * Called when the tuned frequency changes. This may be caused by other
-     * applications or RDS if AF/TA is enabled.
-     *
-     * @since S60 3.2
-     * @param aNewFrequency The new tuned frequency(Hz).
-     */
-    void MrftoFrequencyChange( TInt aNewFrequency );
-
-    /**
-     * From MRadioFmTunerObserver.
-     * Called when the forced mono status change. This may be caused by other applications.
-     *
-     * @since S60 3.2
-     * @param aForcedMono ETrue if forced mono mode is enabled; EFalse otherwise.
-     */
-    void MrftoForcedMonoChange( TBool aForcedMono );
-
-    /**
-     * From MRadioFmTunerObserver.
-     * Called when the squelch (muting the frequencies without broadcast) status change.
-     * This may be caused by other applications.
-     *
-     * @since S60 3.2
-     * @param aSquelch ETrue if squelch is enabled; EFalse otherwise.
-     */
-    void MrftoSquelchChange( TBool aSquelch );
-
-    /**
-     * From MRadioPresetObserver.
-     * Called when a preset changes.
-     *
-     * NOTE: EPresetDeleted with aIndex == 0, indicates that all presets have been deleted.
-     *
-     * @since S60 3.2
-     * @param aChange Change event type
-     * @param aIndex Index to the preset that has changed. Zero means all presets.
-     */
-    void MrpeoPresetChanged( TPresetChangeEvent aChange, TInt aIndex ); 
-       
-private:
-    static CMMFRadioBackendEngine* s_instance;
-    CMMFRadioBackendEngine();
-    void ConstructL();
-	XAresult TranslateError(TInt error);    
-	XAresult SetForceMonoFlag();		 
-
-private:      
-    CRadioUtility* 				iRadioUtility; 
-    CRadioFmTunerUtility* 	    iFmTunerUtility;
-    CRadioPlayerUtility* 		iRadioPlayerUtility;
-    TBool						iForceStereo;
-    void* 						iRadioAdaptContext;
-    void* 						iPlayerAdaptContext;    
-    TFmRadioFrequencyRange 		iDefaultFreqRange;
-    XAuint32 					iDefaultFrequency; 
-    TInt 						iDefaultMinFreq;
-    TInt 						iDefaultMaxFreq; 
-       
-    };
-    
-#else  /* __cplusplus */
-
-extern void*     	cmmfradiobackendengine_init(void);
-extern void      	cmmfradiobackendengine_delete(void* context);
-extern void      	set_frequency(void* context, XAuint32 freq);
-extern void  			cancel_set_frequency(void* context);
-extern void 			station_seek(void* context, XAboolean upwards);    
-extern void 			cancel_station_seek(void* context);        
-extern XAresult  	get_frequency(void* context, XAuint32* freq);
-extern XAresult 	get_signal_strength(void* context, XAuint32* signalStrength);
-extern void 		 	set_freq_range(void* context, XAuint8 range);
-extern XAresult  	get_freq_range(void* context, XAuint8* range);   
-extern XAresult  	get_freq_range_properties(void* context, XAuint8 range, XAuint32* aMinFreq, XAuint32* aMaxFreq);
-extern XAresult  	set_stereo_mode(void* context, XAuint32 mode);
-extern XAresult  	get_stereo_mode(void* context, XAuint32* mode);
-extern XAresult  	mmf_set_radio_adapt_context(void * context, void * adaptcontext);
-extern XAresult  	mmf_set_player_adapt_context(void * context, void * adaptcontext);
-extern void         stop_radio(void * context);
-extern void         play_radio(void* context);
-extern XAresult     set_volume(void* context, XAuint32 vol);
-extern XAresult     get_volume(void* context, XAuint32* vol);
-extern XAresult     mmf_set_player_adapt_context(void * context, void * adaptcontext);
-extern XAresult     set_mute(void* context, XAboolean mute);
-#endif /* __cplusplus */
-
-#endif /* CMMFRADIOBACKENDENGINE_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/markerpositiontimer.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,240 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Handles marker timer implementation 
- *
- */
-
-#include "markerpositiontimer.h"
-#include <mdaaudiosampleplayer.h>
-#include <videoplayer2.h>
-#include <e32math.h>
-
-extern "C"
-    {
-#include "xarecorditfadaptationmmf.h"
-    }
-
-#define RET_ERR_IF_ERR(s) if (s!=KErrNone) return s;
-#define RET_IF_ERR(s) if (s!=KErrNone) return;
-
-CMarkerPositionTimer::CMarkerPositionTimer(
-        CMdaAudioPlayerUtility* aAudioPlayer,
-        CVideoPlayerUtility2* aVideoPlayer) :
-    CActive(CActive::EPriorityStandard), iAudioPlayer(aAudioPlayer),
-            iVideoPlayer(aVideoPlayer)
-    {
-    CActiveScheduler::Add(this);
-    }
-
-CMarkerPositionTimer::~CMarkerPositionTimer()
-    {
-    Cancel();
-    iTimer.Close();
-    }
-
-CMarkerPositionTimer* CMarkerPositionTimer::NewL(
-        CMdaAudioPlayerUtility* aAudioPlayer,
-        CVideoPlayerUtility2* aVideoPlayer)
-    {
-    CMarkerPositionTimer* self = new (ELeave) CMarkerPositionTimer(
-            aAudioPlayer, aVideoPlayer);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-void CMarkerPositionTimer::ConstructL()
-    {
-    User::LeaveIfError(iTimer.CreateLocal());
-    }
-
-void CMarkerPositionTimer::SetContext(TAny* aCtx)
-    {
-    iCtx = aCtx;
-    }
-
-void CMarkerPositionTimer::SetMarkerPosition(XAmillisecond aMarkerPos)
-    {
-    iMarkerPosition = aMarkerPos;
-    }
-
-void CMarkerPositionTimer::SetCallbackEventMask(XAuint32 aMask)
-    {
-    iCallbackEventMask = aMask;
-    }
-
-void CMarkerPositionTimer::RegisterCallback(xaPlayCallback aCallback)
-    {
-    iCallback = aCallback;
-    }
-
-void CMarkerPositionTimer::UseAudioPlayer()
-    {
-    iPlayerToUse = static_cast<CBase*> (iAudioPlayer);
-    }
-void CMarkerPositionTimer::UseVideoPlayer()
-    {
-    iPlayerToUse = static_cast<CBase*> (iVideoPlayer);
-    }
-
-void CMarkerPositionTimer::ResetPlayer()
-    {
-    iPlayerToUse = NULL;
-    }
-
-TInt CMarkerPositionTimer::Start()
-    {
-    TInt retVal(KErrNone);
-    if (IsActive())
-        {
-        Cancel();
-        }
-    if ((iMarkerPosition != XA_TIME_UNKNOWN) && (iCallbackEventMask
-            & XA_PLAYEVENT_HEADATMARKER) && iCallback && iPlayerToUse)
-        {
-        TTimeIntervalMicroSeconds32 delay;
-        /* Convert milli to micro */
-        TTimeIntervalMicroSeconds markerPos(iMarkerPosition * 1000);
-        TReal res;
-        TReal p;
-        TReal q(markerPos.Int64());
-
-        iSyncToPlayHead = ETrue;
-
-        retVal = GetCurrentPlayPosition(iSyncToPlayHeadStartPos);
-        RET_ERR_IF_ERR(retVal);
-
-        p = iSyncToPlayHeadStartPos.Int64();
-        /* Adjust delay based on current play position
-         * user may call this in the middle of playback */
-        retVal = Math::Mod(res, p, q);
-        RET_ERR_IF_ERR(retVal);
-
-        /* Let the timer go off early and then re-adjust 
-         * the remaining time based on then current position */
-        delay = (markerPos.Int64() - res) / 2;
-#ifdef MARKERPOSITIONTIMERLOG
-        // Keep this block for debugging purposes
-        RDebug::Print(_L("CMarkerPositionTimer::RunL:SyncPlayHead[%u]Delay Reset[%u]microSec"),
-                iSyncToPlayHeadStartPos.Int64(),
-                delay.Int());
-#endif /* MARKERPOSITIONTIMERLOG */
-        if (delay >= TTimeIntervalMicroSeconds32(0))
-            {
-            iStatus = KRequestPending;
-            iTimer.After(iStatus, delay);
-            SetActive();
-            }
-        }
-    return retVal;
-    }
-
-void CMarkerPositionTimer::Stop()
-    {
-    Cancel();
-    }
-
-void CMarkerPositionTimer::RunL()
-    {
-    TInt retVal(KErrNone);
-    /* Make sure some of the attributes are not unset */
-    if ((iStatus == KErrNone) && iCtx && (iMarkerPosition != XA_TIME_UNKNOWN)
-            && (iCallbackEventMask & XA_PLAYEVENT_HEADATMARKER) && iCallback
-            && iPlayerToUse)
-        {
-        TTimeIntervalMicroSeconds curPlayPos;
-        if (iSyncToPlayHead)
-            {
-            retVal = GetCurrentPlayPosition(curPlayPos);
-            RET_IF_ERR(retVal);
-
-            /* If the play head hasn't moved, re-start all over again */
-            if (curPlayPos == iSyncToPlayHeadStartPos)
-                {
-#ifdef MARKERPOSITIONTIMERLOG
-                RDebug::Print(_L("CMarkerPositionTimer::RunL:CurPlayPos[%u]SyncPlayHead[%u]microSec. Restart"),
-                        iSyncToPlayHeadStartPos.Int64(),
-                        curPlayPos.Int64());
-#endif /* MARKERPOSITIONTIMERLOG */
-                Start();
-                return;
-                }
-            /* Play head has moved. calculate remaining time and set the timer */
-            /* Convert milli to micro */
-            TTimeIntervalMicroSeconds markerPos(iMarkerPosition * 1000);
-            TReal res;
-            TReal p;
-            TReal q(markerPos.Int64());
-
-            p = curPlayPos.Int64();
-            iSyncToPlayHead = EFalse;
-
-            retVal = Math::Mod(res, p, q);
-            RET_IF_ERR(retVal);
-
-            TTimeIntervalMicroSeconds32 delay = (markerPos.Int64() - res);
-#ifdef MARKERPOSITIONTIMERLOG
-            RDebug::Print(_L("CMarkerPositionTimer::RunL:CurPlayPos[%u]SyncPlayHead[%u]Delay Reset[%u]microSec"),
-                    iSyncToPlayHeadStartPos.Int64(),
-                    curPlayPos.Int64(),
-                    delay.Int());
-#endif /* MARKERPOSITIONTIMERLOG */
-            if (delay >= TTimeIntervalMicroSeconds32(0))
-                {
-                iStatus = KRequestPending;
-                iTimer.After(iStatus, delay);
-                SetActive();
-                }
-            return;
-            } /* of if (iSyncToPlayHead) */
-
-#ifdef MARKERPOSITIONTIMERLOG
-        retVal = GetCurrentPlayPosition(curPlayPos);
-        RDebug::Print(_L("CMarkerPositionTimer::RunL:CurPlayPos[%u]microSec. Posting XA_PLAYEVENT_HEADATMARKER."), curPlayPos.Int64());
-#endif /* MARKERPOSITIONTIMERLOG */
-        XAAdaptEvent xaevent =
-            {
-            XA_PLAYITFEVENTS, XA_PLAYEVENT_HEADATMARKER, 0, 0
-            };
-        XAAdaptationBase_SendAdaptEvents((XAAdaptationBaseCtx*) iCtx,
-                &xaevent);
-        }
-    }
-
-void CMarkerPositionTimer::DoCancel()
-    {
-    iTimer.Cancel();
-    }
-
-TInt CMarkerPositionTimer::RunError(TInt /*aError*/)
-    {
-    return KErrNone;
-    }
-
-TInt CMarkerPositionTimer::GetCurrentPlayPosition(
-        TTimeIntervalMicroSeconds& aPos)
-    {
-    TTimeIntervalMicroSeconds pos;
-    TInt err(KErrNone);
-    if (iPlayerToUse == iAudioPlayer)
-        {
-        iAudioPlayer->GetPosition(aPos);
-        }
-    else if (iPlayerToUse == iVideoPlayer)
-        {
-        TRAP(err, aPos = iVideoPlayer->PositionL());
-        }
-    return err;
-    }
--- a/khronosfws/openmax_al/src/mmf_adaptation/markerpositiontimer.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Handles marker timer implementation 
- *
- */
-
-#ifndef CMARKERPOSITIONTIMER_H
-#define CMARKERPOSITIONTIMER_H
-
-#include <e32base.h>
-#include "openmaxalwrapper.h"
-
-class CMdaAudioPlayerUtility;
-class CVideoPlayerUtility2;
-
-NONSHARABLE_CLASS(CMarkerPositionTimer) : public CActive
-    {
-public:
-    // Construct/destruct
-    static CMarkerPositionTimer* NewL(CMdaAudioPlayerUtility* aAudioPlayer,
-            CVideoPlayerUtility2* aVideoPlayer);
-    virtual ~CMarkerPositionTimer();
-
-public:
-    void SetContext(TAny* aCtx);
-    void SetMarkerPosition(XAmillisecond aMarkerPos);
-    void SetCallbackEventMask(XAuint32 aMask);
-    void RegisterCallback(xaPlayCallback aCallback);
-    void UseAudioPlayer();
-    void UseVideoPlayer();
-    void ResetPlayer();
-    TInt Start();
-    void Stop();
-
-protected:
-    // From CActive
-    void RunL();
-    void DoCancel();
-    TInt RunError(TInt aError);
-
-private:
-    CMarkerPositionTimer(CMdaAudioPlayerUtility* aAudioPlayer,
-            CVideoPlayerUtility2* aVideoPlayer);
-    void ConstructL();
-    TInt GetCurrentPlayPosition(TTimeIntervalMicroSeconds& aPos);
-
-private:
-    RTimer iTimer; // Has
-    TAny* iCtx;
-    CMdaAudioPlayerUtility* iAudioPlayer;
-    CVideoPlayerUtility2* iVideoPlayer;
-    CBase* iPlayerToUse;
-    XAmillisecond iMarkerPosition;
-    XAuint32 iCallbackEventMask;
-    xaPlayCallback iCallback;
-    TBool iSyncToPlayHead;
-    TTimeIntervalMicroSeconds iSyncToPlayHeadStartPos;
-    };
-
-#endif /* CMARKERPOSITIONTIMER_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/positionupdatetimer.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,248 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Handles new position timer implementation 
- *
- */
-
-#include "positionupdatetimer.h"
-#include <mdaaudiosampleplayer.h>
-#include <videoplayer2.h>
-#include <e32math.h>
-
-extern "C"
-    {
-#include "xarecorditfadaptationmmf.h"
-    }
-
-#define RET_ERR_IF_ERR(s) if (s!=KErrNone) return s;
-#define RET_IF_ERR(s) if (s!=KErrNone) return;
-
-CPositionUpdateTimer::CPositionUpdateTimer(
-        CMdaAudioPlayerUtility* aAudioPlayer,
-        CVideoPlayerUtility2* aVideoPlayer) :
-    CActive(CActive::EPriorityStandard), iAudioPlayer(aAudioPlayer),
-            iVideoPlayer(aVideoPlayer)
-    {
-    CActiveScheduler::Add(this);
-    }
-
-CPositionUpdateTimer::~CPositionUpdateTimer()
-    {
-    Cancel();
-    iTimer.Close();
-    }
-
-CPositionUpdateTimer* CPositionUpdateTimer::NewL(
-        CMdaAudioPlayerUtility* aAudioPlayer,
-        CVideoPlayerUtility2* aVideoPlayer)
-    {
-    CPositionUpdateTimer* self = new (ELeave) CPositionUpdateTimer(
-            aAudioPlayer, aVideoPlayer);
-    CleanupStack::PushL(self);
-    self->CostructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-void CPositionUpdateTimer::CostructL()
-    {
-    User::LeaveIfError(iTimer.CreateLocal());
-    }
-
-void CPositionUpdateTimer::SetContext(TAny* aCtx)
-    {
-    iCtx = aCtx;
-    }
-
-void CPositionUpdateTimer::SetPositionUpdatePeriod(XAmillisecond aPos)
-    {
-    iPositionUpdatePeriod = aPos;
-    iDelay = TTimeIntervalMicroSeconds32(aPos * 1000);
-    }
-
-void CPositionUpdateTimer::SetCallbackEventMask(XAuint32 aMask)
-    {
-    iCallbackEventMask = aMask;
-    }
-
-void CPositionUpdateTimer::RegisterCallback(xaPlayCallback aCallback)
-    {
-    iCallback = aCallback;
-    }
-
-void CPositionUpdateTimer::UseAudioPlayer()
-    {
-    iPlayerToUse = static_cast<CBase*> (iAudioPlayer);
-    }
-void CPositionUpdateTimer::UseVideoPlayer()
-    {
-    iPlayerToUse = static_cast<CBase*> (iVideoPlayer);
-    }
-
-void CPositionUpdateTimer::ResetPlayer()
-    {
-    iPlayerToUse = NULL;
-    }
-
-TInt CPositionUpdateTimer::Start()
-    {
-    TInt retVal(KErrNone);
-    if (IsActive())
-        {
-        Cancel();
-        }
-    if ((iCallbackEventMask & XA_PLAYEVENT_HEADATNEWPOS) && iCallback
-            && iPlayerToUse)
-        {
-        TTimeIntervalMicroSeconds curPlayPos;
-        /* Convert milli to micro */
-        TTimeIntervalMicroSeconds posUpdatePeriod(iPositionUpdatePeriod
-                * 1000);
-        TTimeIntervalMicroSeconds32 delay;
-        /* Convert milli to micro */
-        TReal res;
-        TReal p;
-        TReal q(posUpdatePeriod.Int64());
-
-        iSyncToPlayHead = ETrue;
-
-        retVal = GetCurrentPlayPosition(iSyncToPlayHeadStartPos);
-        RET_ERR_IF_ERR(retVal);
-
-        p = iSyncToPlayHeadStartPos.Int64();
-        /* Adjust delay based on current play position
-         * user may call this in the middle of playback */
-        retVal = Math::Mod(res, p, q);
-        RET_ERR_IF_ERR(retVal);
-
-        /* Let the timer go off early and then re-adjust 
-         * the remaining time based on then current position */
-        delay = (posUpdatePeriod.Int64() - res) / 2;
-#ifdef POSITIONUPDATETIMERLOG
-        // Keep this block for debugging purposes
-        RDebug::Print(_L("CPositionUpdateTimer::RunL:SyncPlayHead[%u]Delay Reset[%u]microSec"),
-                iSyncToPlayHeadStartPos.Int64(),
-                delay.Int());
-#endif /* POSITIONUPDATETIMERLOG */
-        if (delay >= TTimeIntervalMicroSeconds32(0))
-            {
-            iStatus = KRequestPending;
-            iTimer.After(iStatus, delay);
-            SetActive();
-            }
-        }
-    return retVal;
-    }
-
-void CPositionUpdateTimer::Stop()
-    {
-    Cancel();
-    }
-
-void CPositionUpdateTimer::RunL()
-    {
-    TInt retVal(KErrNone);
-    /* Make sure some of the attributes are not unset */
-    if ((iStatus == KErrNone) && iCtx && (iCallbackEventMask
-            & XA_PLAYEVENT_HEADATNEWPOS) && iCallback && iPlayerToUse)
-        {
-        TTimeIntervalMicroSeconds curPlayPos;
-        if (iSyncToPlayHead)
-            {
-            retVal = GetCurrentPlayPosition(curPlayPos);
-            RET_IF_ERR(retVal);
-
-            /* If the play head hasn't moved, re-start all over again */
-            if (curPlayPos == iSyncToPlayHeadStartPos)
-                {
-#ifdef POSITIONUPDATETIMERLOG
-                RDebug::Print(_L("CPositionUpdateTimer::RunL:CurPlayPos[%u]SyncPlayHead[%u]microSec. Restart"),
-                        iSyncToPlayHeadStartPos.Int64(),
-                        curPlayPos.Int64());
-#endif /* POSITIONUPDATETIMERLOG */
-                Start();
-                return;
-                }
-            /* Play head has moved. calculate remaining time and set the timer */
-            /* Convert milli to micro */
-            TTimeIntervalMicroSeconds posUpdatePeriod(iPositionUpdatePeriod
-                    * 1000);
-            TReal res;
-            TReal p;
-            TReal q(posUpdatePeriod.Int64());
-
-            p = curPlayPos.Int64();
-            iSyncToPlayHead = EFalse;
-
-            retVal = Math::Mod(res, p, q);
-            RET_IF_ERR(retVal);
-
-            TTimeIntervalMicroSeconds32 delay = (posUpdatePeriod.Int64()
-                    - res);
-#ifdef POSITIONUPDATETIMERLOG
-            RDebug::Print(_L("CPositionUpdateTimer::RunL:CurPlayPos[%u]SyncPlayHead[%u]Delay Reset[%u]microSec"),
-                    iSyncToPlayHeadStartPos.Int64(),
-                    curPlayPos.Int64(),
-                    delay.Int());
-#endif /* POSITIONUPDATETIMERLOG */
-            if (delay >= TTimeIntervalMicroSeconds32(0))
-                {
-                iStatus = KRequestPending;
-                iTimer.After(iStatus, delay);
-                SetActive();
-                }
-            return;
-            } /* of if (iSyncToPlayHead) */
-
-#ifdef POSITIONUPDATETIMERLOG
-        retVal = GetCurrentPlayPosition(curPlayPos);
-        RDebug::Print(_L("CPositionUpdateTimer::RunL:CurPlayPos[%u]microSec. Posting XA_PLAYEVENT_HEADATNEWPOS."), curPlayPos.Int64());
-#endif /* POSITIONUPDATETIMERLOG */
-        XAAdaptEvent xaevent =
-            {
-            XA_PLAYITFEVENTS, XA_PLAYEVENT_HEADATNEWPOS, 0, 0
-            };
-        XAAdaptationBase_SendAdaptEvents((XAAdaptationBaseCtx*) iCtx,
-                &xaevent);
-        iStatus = KRequestPending;
-        iTimer.After(iStatus, iDelay);
-        SetActive();
-        }
-    }
-
-void CPositionUpdateTimer::DoCancel()
-    {
-    iTimer.Cancel();
-    }
-
-TInt CPositionUpdateTimer::RunError(TInt aError)
-    {
-    return aError;
-    }
-
-TInt CPositionUpdateTimer::GetCurrentPlayPosition(
-        TTimeIntervalMicroSeconds& aPos)
-    {
-    TTimeIntervalMicroSeconds pos;
-    TInt err(KErrNone);
-    if (iPlayerToUse && (iPlayerToUse == iAudioPlayer))
-        {
-        iAudioPlayer->GetPosition(aPos);
-        }
-    else if (iPlayerToUse && (iPlayerToUse == iVideoPlayer))
-        {
-        TRAP(err, aPos = iVideoPlayer->PositionL());
-        }
-    return err;
-    }
--- a/khronosfws/openmax_al/src/mmf_adaptation/positionupdatetimer.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Handles marker timer implementation 
- *
- */
-
-#ifndef CPOSITIONUPDATETIMER_H
-#define CPOSITIONUPDATETIMER_H
-
-#include <e32base.h>
-#include "openmaxalwrapper.h"
-
-class CMdaAudioPlayerUtility;
-class CVideoPlayerUtility2;
-
-NONSHARABLE_CLASS(CPositionUpdateTimer) : public CActive
-    {
-public:
-    // Construct/destruct
-    static CPositionUpdateTimer* NewL(CMdaAudioPlayerUtility* aAudioPlayer,
-            CVideoPlayerUtility2* aVideoPlayer);
-    virtual ~CPositionUpdateTimer();
-
-public:
-    void SetContext(TAny* aCtx);
-    void SetPositionUpdatePeriod(XAmillisecond aPos);
-    void SetCallbackEventMask(XAuint32 aMask);
-    void RegisterCallback(xaPlayCallback aCallback);
-    void UseAudioPlayer();
-    void UseVideoPlayer();
-    void ResetPlayer();
-    TInt Start();
-    void Stop();
-
-protected:
-    // From CActive
-    void RunL();
-    void DoCancel();
-    TInt RunError(TInt aError);
-
-private:
-    CPositionUpdateTimer(CMdaAudioPlayerUtility* aAudioPlayer,
-            CVideoPlayerUtility2* aVideoPlayer);
-    void CostructL();
-    TInt GetCurrentPlayPosition(TTimeIntervalMicroSeconds& aPos);
-
-private:
-    RTimer iTimer; // Has
-    TAny* iCtx;
-    CMdaAudioPlayerUtility* iAudioPlayer;
-    CVideoPlayerUtility2* iVideoPlayer;
-    CBase* iPlayerToUse;
-    XAmillisecond iPositionUpdatePeriod;
-    XAuint32 iCallbackEventMask;
-    xaPlayCallback iCallback;
-    TTimeIntervalMicroSeconds32 iDelay;
-    TBool iSyncToPlayHead;
-    TTimeIntervalMicroSeconds iSyncToPlayHeadStartPos;
-    };
-
-#endif /* CPOSITIONUPDATETIMER_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/sfmrlocaltimer.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Local timer to update position for recording 
- *
- */
-
-#include "sfmrlocaltimer.h"
-
-extern "C"
-    {
-#include "xarecorditfadaptationmmf.h"
-    }
-
-#include "cmmfbackendengine.h"
-
-LocalTimer::LocalTimer(CMMFBackendEngine* parent, void* adaptContext) :
-    CActive(CActive::EPriorityStandard), iTime(0)
-    {
-    CActiveScheduler::Add(this);
-    iParent = parent;
-    iAdaptContext = adaptContext;
-    }
-
-LocalTimer::~LocalTimer()
-    {
-    Cancel();
-    iTimer.Close();
-    }
-
-TInt LocalTimer::PostInit()
-    {
-    return iTimer.CreateLocal();
-    }
-
-void LocalTimer::Start(TUint64 aDelay)
-    {
-    if (!IsActive())
-        {
-        iDelay = aDelay;
-        /* Convert milli to micro */
-        TTimeIntervalMicroSeconds32 delay(aDelay * 1000);
-        iStatus = KRequestPending;
-        iTimer.After(iStatus, delay);
-        SetActive();
-        }
-    }
-
-void LocalTimer::Stop()
-    {
-    Cancel();
-    }
-
-void LocalTimer::ResetTime()
-    {
-    iTime = 0;
-    }
-
-TUint64 LocalTimer::GetTime()
-    {
-    return iTime;
-    }
-
-void LocalTimer::RunL()
-    {
-    if (iStatus == KErrNone)
-        {
-        iTime += iDelay;
-        XAuint64 position;
-        iParent->GetRecordPosition(&position);
-
-        XARecordItfAdaptMMF_PositionUpdate(iAdaptContext, position);
-        Start(iDelay);
-        }
-    }
-
-void LocalTimer::DoCancel()
-    {
-    iTimer.Cancel();
-    }
--- a/khronosfws/openmax_al/src/mmf_adaptation/sfmrlocaltimer.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: 
- *
- */
-
-#ifndef SFMRLOCALTIMER_H
-#define SFMRLOCALTIMER_H
-
-#include <e32base.h>
-class CMMFBackendEngine;
-
-NONSHARABLE_CLASS(LocalTimer) : public CActive
-    {
-public:
-    // Construct/destruct
-    LocalTimer(CMMFBackendEngine* parent, void* adaptContext);
-    TInt PostInit();
-    virtual ~LocalTimer();
-
-public:
-    // Starts ticking after every aDelay microsecs
-    void Start(TUint64 aDelay);
-    void Stop();
-    void ResetTime();
-    TUint64 GetTime();
-
-protected:
-    // From CActive
-    void RunL();
-    void DoCancel();
-
-private:
-    RTimer iTimer; // Has
-    TUint64 iTime;
-    TUint64 iDelay;
-    CMMFBackendEngine* iParent;
-    void* iAdaptContext;
-    };
-
-#endif /* SFMRLOCALTIMER_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaadaptationmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: MMF Adaptation Context 
- *
- */
-
-#include <assert.h>
-#include <string.h>
-#include "xaadaptationmmf.h"
-#include "xaadaptationmmf.h"
-#include "xaobjectitf.h"
-#include "xamediaplayeradaptctxmmf.h"
-
-/*
- * XAAdaptationBaseCtx* XAAdaptationBase_Create()
- * 1st phase initialization function for Adaptation Base context structure.
- * Reserves memory for base context and initializes GStreamer FW.
- */
-XAresult XAAdaptationBaseMMF_Init(XAAdaptationMMFCtx* pSelf, XAuint32 ctxId)
-    {
-    DEBUG_API("->XAAdaptationBase_Init");
-
-    if (pSelf)
-        {
-        if (XAAdaptationBase_Init(&(pSelf->baseObj), ctxId)
-                != XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("Failed to init base context!!!");
-            free(pSelf);
-            pSelf = NULL;
-            DEBUG_API("<-XAAdaptationBase_Init");
-            return XA_RESULT_MEMORY_FAILURE;
-            }
-        }
-    else
-        {
-        DEBUG_ERR("Invalid Adaptation Base Context.")
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    DEBUG_API("<-XAAdaptationBase_Init");
-    return XA_RESULT_SUCCESS;
-    }
-
-/*
- * XAresult XAAdaptationBase_PostInit()
- * 2nd phase initialization for Adaptation Base.
- */
-XAresult XAAdaptationBaseMMF_PostInit(XAAdaptationMMFCtx* ctx)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XAAdaptationBase_PostInit");
-    if(ctx)
-        {
-        ret = XAAdaptationBase_PostInit(&ctx->baseObj);
-        }
-    else
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    DEBUG_API("<-XAAdaptationBase_PostInit");
-    return ret;
-    }
-
-/*
- * void XAAdaptationBase_Free( XAAdaptationBaseCtx* ctx )
- * Frees all Base context variables .
- */
-void XAAdaptationBaseMMF_Free(XAAdaptationMMFCtx* ctx)
-    {
-    DEBUG_API("->XAAdaptationBaseMMF_Free");
-    if(ctx)
-        {
-        XAAdaptationBase_Free(&ctx->baseObj);
-        }
-    DEBUG_API("<-XAAdaptationBaseMMF_Free");
-    }
-
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaadaptationmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: 
- *
- */
-
-#ifndef XAADAPTATIONMMF_H_
-#define XAADAPTATIONMMF_H_
-
-#include <pthread.h>
-#include <semaphore.h>
-#include <garray.h>
-#include <string.h>
-#include <unistd.h>
-#include "openmaxalwrapper.h"
-#include "xaglobals.h"
-#include "xaplatform.h"
-#include "xaadptbasectx.h"
-#ifdef XA_IMPL_MEASURE_GST_DELAY
-#include <time.h>
-#endif /* XA_IMPL_MEASURE_GST_DELAY */
-
-/* MACROS */
-#define FLIP_NONE               0
-#define FLIP_CLOCKWISE          1 /* Rotate clockwise 90 degrees */
-#define FLIP_ROTATE_180         2 /* Rotate 180 degrees */
-#define FLIP_COUNTERCLOCKWISE   3 /* Rotate counter-clockwise 90 degrees */
-#define FLIP_HORIZONTAL         4 /* Flip image horizontally */
-#define FLIP_VERTICAL           5 /* Flip image vertically */
-
-/* TYPEDEFS */
-
-#define CONTENT_PIPE_BUFFER_SIZE 1000
-#define TEST_VIDEO_WIDTH     640
-#define TEST_VIDEO_HEIGHT    480
-
-/* Forward declaration of adaptation basecontext */
-typedef struct XAAdaptationMMFCtx_ XAAdaptationMMFCtx;
-
-/*
- * Structure that holds all common variables for every
- * mmf-Adaptation context structures.
- */
-typedef struct XAAdaptationMMFCtx_
-    {
-    XAAdaptationBaseCtx baseObj;
-
-    } XAAdaptationMMFCtx_;
-
-typedef struct XAEngineAdaptationMMFCtx_
-    {
-    /* Parent*/
-    XAAdaptationMMFCtx_ baseObj;
-
-    } XAEngineAdaptationMMFCtx_;
-
-/*
- * Structure for Media Player specific gst-adaptation.
- */
-typedef struct XAMediaPlayerAdaptationMMFCtx_
-    {
-    /* Parent*/
-    XAAdaptationMMFCtx_ baseObj;
-
-    /* OMX-AL Variables */
-    XADataSource *xaSource, *xaBankSrc;
-    XADataSink *xaAudioSink, *xaVideoSink, *xaLEDArray, *xaVibra;
-
-    /* MMF elements */
-    XAboolean isobjsrc; /*is source another XA object?*/
-
-    XAboolean isobjasink; /*is audio sink another XA object?*/
-    XAboolean isobjvsink; /*is video sink another XA object?*/
-
-    XAboolean mute;
-    XAuint32 premutevol;
-    XAuint32 imageEffectID;
-    XAboolean isStereoPosition;
-    XAmillidegree curRotation;
-    XAuint32 curMirror;
-
-    XAint32 buffering;
-    XAuint32 rateprops;
-    XAint16 playrate;
-    /* internals */
-    XAboolean trackpositionenabled;
-
-    XAboolean loopingenabled;
-
-    XAboolean cameraSinkSynced;
-    void* mmfContext;
-    void* mmfMetadataContext;
-    XAboolean isForRadio;
-    /*
-     XAuint32                playerState;
-     */
-
-    } XAMediaPlayerAdaptationMMFCtx_;
-
-typedef struct XAMetadataAdaptationMMFCtx_
-    {
-    /* Parent*/
-    XAAdaptationMMFCtx_ baseObj;
-
-    /* OMX-AL Variables */
-    XADataSource *xaSource;
-
-    void* mmfContext;
-    } XAMetadataAdaptationMMFCtx_;
-
-/*
- * Structure for Radio specific variables
- */
-typedef struct XARadioAdaptationCtx_
-    {
-
-    /* Parent*/
-    XAAdaptationMMFCtx_ baseObj;
-    XAuint32 frequency;
-    XAuint8 range;
-
-    pthread_t emulationThread;
-    pthread_t rdsEmulationThread;
-
-    } XARadioAdaptationCtx_;
-/* FUNCTIONS */
-/*
- * gboolean XAAdaptationBase_GstBusCb( GstBus *bus, GstMessage *message, gpointer data );
- * Default CallBack handler for gst-bus messages. This will be called if object specific callback is
- * not implemented.
- */
-
-XAresult XAAdaptationBaseMMF_Init(XAAdaptationMMFCtx* pSelf, XAuint32 ctxId);
-XAresult XAAdaptationBaseMMF_PostInit(XAAdaptationMMFCtx* ctx);
-void XAAdaptationBaseMMF_Free(XAAdaptationMMFCtx* ctx);
-
-#endif /* XAADAPTATIONMMF_H_ */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xadynamicsourceitfadaptationmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Dynamic Src Itf MMF Adapt Implementation
- *
- */
-
-#include "xamediaplayeradaptctxmmf.h"
-#include "xametadataadaptctxmmf.h"
-#include "xadynamicsourceitfadaptationmmf.h"
-#include "xaplayitfadaptationmmf.h"
-#include "cmmfbackendengine.h"
-#include "cmetadatautilityitf.h"
-
-/*
- * XAresult XADynamicSourceItfAdaptMMF_SetSource(XAAdaptationGstCtx *bCtx, XADataSource *pDataSource)
- * @param XAAdaptationGstCtx *bCtx - Adaptation context, this will be casted to correct type regarding to contextID value
- * @param XADataSource *pDataSource - new data source
- * @return XAresult ret - Success value
- */
-XAresult XADynamicSourceItfAdaptMMF_SetSource(XAAdaptationMMFCtx *bCtx,
-        XADataSource *pDataSource)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint32 origstate;
-    DEBUG_API("->XADynamicSourceItfAdaptMMF_SetSource");
-    if (!bCtx || !pDataSource || !pDataSource->pLocator)
-        {
-        DEBUG_ERR("Invalid NULL parameter");
-        ret = XA_RESULT_PARAMETER_INVALID;
-        }
-    else if (bCtx->baseObj.ctxId == XAMediaPlayerAdaptation)
-        {
-        XADataLocator_URI* tempUri =
-                (XADataLocator_URI*) (pDataSource->pLocator);
-        XADataFormat_MIME* tempFormat =
-                (XADataFormat_MIME*) (pDataSource->pFormat);
-        XAMediaPlayerAdaptationMMFCtx* mCtx =
-                (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-        ret = XAPlayItfAdaptMMF_GetPlayState(&bCtx->baseObj, &origstate);
-
-        ret = XAPlayItfAdaptMMF_SetPlayState(&bCtx->baseObj,
-                XA_PLAYSTATE_STOPPED);
-
-        mmf_close(mCtx->mmfContext);
-        mCtx->xaSource = pDataSource;
-        if (mCtx->xaVideoSink)
-            {
-            ret = mmf_setup_native_display(mCtx->mmfContext,
-                    mCtx->xaVideoSink);
-            }
-        if (ret == XA_RESULT_SUCCESS)
-            {
-            ret = mmf_set_player_uri(mCtx->mmfContext,
-                    (char *) (tempUri->URI), tempFormat->containerType);
-            }
-        if (ret == XA_RESULT_SUCCESS)
-            {
-            ret = XAPlayItfAdaptMMF_SetPlayState(&bCtx->baseObj, origstate);
-            }
-        else
-            {
-            DEBUG_ERR("Set Play state failed");
-            ret = XA_RESULT_INTERNAL_ERROR;
-            }
-        if ((ret == XA_RESULT_SUCCESS) && (mCtx->mmfMetadataContext))
-            {
-            mmf_metadata_utility_parse_source(mCtx->mmfMetadataContext,
-                    (char *) (tempUri->URI));
-            }
-        }
-    else if (bCtx->baseObj.ctxId == XAMDAdaptation)
-        {
-
-        XAMetadataAdaptationMMFCtx* mCtx = (XAMetadataAdaptationMMFCtx*) bCtx;
-        if (mCtx->mmfContext)
-            {
-            mCtx->xaSource = pDataSource;
-            mmf_metadata_utility_parse_source(
-                    mCtx->mmfContext,
-                    (char *) (((XADataLocator_URI*) (pDataSource->pLocator))->URI));
-            }
-        }
-    DEBUG_API("<-XADynamicSourceItfAdaptMMF_SetSource");
-    return ret;
-    }
-
--- a/khronosfws/openmax_al/src/mmf_adaptation/xadynamicsourceitfadaptationmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Dynamic Src Itf MMF Adapt header
- *
- */
-
-#ifndef XADYNAMICSOURCEITFADAPTATIONMMF_H
-#define XADYNAMICSOURCEITFADAPTATIONMMF_H
-
-#include "xaadaptationmmf.h"
-
-/* FUNCTIONS */
-
-XAresult XADynamicSourceItfAdaptMMF_SetSource(XAAdaptationMMFCtx *bCtx,
-        XADataSource *pDataSource);
-
-#endif /* XADYNAMICSOURCEITFADAPTATION_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaengineadaptctxmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#include <string.h>
-#include "xaengineadaptctxmmf.h"
-#include "xaadaptationmmf.h"
-
-/*
- * XAAdaptationBaseCtx* XAEngineAdaptMMF_Create()
- * Allocates memory for Engine Adaptation Context and makes 1st phase initialization
- * @returns XAEngineAdaptationCtx* - Pointer to created context
- */
-XAAdaptationMMFCtx* XAEngineAdaptMMF_Create()
-{
-    XAEngineAdaptationMMFCtx *pSelf = NULL;
-    DEBUG_API("->XAEngineAdaptMMF_Create");
-
-    pSelf = (XAEngineAdaptationMMFCtx*)calloc(1, sizeof(XAEngineAdaptationMMFCtx));
-    if ( pSelf)
-    {
-        if( XAAdaptationBaseMMF_Init(&(pSelf->baseObj),XAEngineAdaptation)
-                    != XA_RESULT_SUCCESS )
-            {
-                DEBUG_ERR("Failed to init base context!!!");
-                free(pSelf);
-                pSelf = NULL;
-            }
-            else
-            {
-                /* Init internal variables */
-            }
-    }
-
-    DEBUG_API("<-XAEngineAdaptMMF_Create");
-    return (XAAdaptationMMFCtx*)pSelf;
-}
-
-/*
- * XAresult XAEngineAdaptMMF_PostInit()
- * 2nd phase initialization of engine Adaptation Context
- */
-XAresult XAEngineAdaptMMF_PostInit(XAAdaptationMMFCtx* bCtx)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("<-XAEngineAdaptMMF_PostInit");
-    return ret;
-}
-
-/*
- * void XAEngineAdapt_Destroy(XAEngineAdaptationCtx* ctx)
- * Destroys Engine Adaptation Context
- * @param ctx - Engine Adaptation context to be destroyed
- */
-void XAEngineAdaptMMF_Destroy(XAAdaptationMMFCtx* bCtx)
-{
-	XAEngineAdaptationMMFCtx* ctx = NULL;
-
-	DEBUG_API("->XAEngineAdaptMMF_Destroy");
-//	if( !bCtx || bCtx->ctxId != XAEngineAdaptation )
-//	{
-//		DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-//		DEBUG_API("<-XAEngineAdaptMMF_Destroy");
-//		return;
-//	}
-	ctx = (XAEngineAdaptationMMFCtx*)bCtx;
-  
-  XAAdaptationBaseMMF_Free(&(ctx->baseObj));
-
-
-    free(ctx);
-    ctx = NULL;
-
-    DEBUG_API("<-XAEngineAdaptMMF_Destroy");
-}
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaengineadaptctxmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef XAENGINEADAPTCTXMMF_H_
-#define XAENGINEADAPTCTXMMF_H_
-
-#include "xaadaptationmmf.h"
-
-
-/* TYPEDEFS */
-
-typedef struct XAEngineAdaptationMMFCtx_ XAEngineAdaptationMMFCtx;
-
-/* FUNCTIONS */
-XAAdaptationMMFCtx* XAEngineAdaptMMF_Create(void);
-XAresult XAEngineAdaptMMF_PostInit(XAAdaptationMMFCtx* bCtx);
-void XAEngineAdaptMMF_Destroy(XAAdaptationMMFCtx* bCtx);
-
-#endif /* XAENGINEADAPTCTXMMF_H_ */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xamediaplayeradaptctxmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,264 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Media Player Adapt Code MMF 
- *
- */
-
-#include <assert.h>
-#include <stdlib.h>
-#include "xamediaplayeradaptctxmmf.h"
-#include "xaadaptationmmf.h"
-#include "xaobjectitf.h"
-#include "cmmfbackendengine.h"
-#include "cmetadatautilityitf.h"
-
-/*
- * XAMediaPlayerAdaptationMMFCtx* XAMediaPlayerAdapt_Create()
- * Allocates memory for Media Player Adaptation Context and makes 1st phase initialization
- * @param XADataSource *pDataSrc - pointer to OMX-AL data source
- * @param XADataSource *pBankSrc - pointer to instrument bank structure in Mobile DLS, if NULL default will be used.
- * @param XADataSink *pAudioSnk - pointer to OMX-AL audio sink definition
- * @param XADataSink *pImageVideoSnk - pointer to OMX-AL image and video sink definition
- * @returns XAMediaPlayerAdaptationMMFCtx* - Pointer to created context, NULL if error occurs.
- */
-XAAdaptationBaseCtx* XAMediaPlayerAdaptMMF_Create(XADataSource *pDataSrc,
-        XADataSource *pBankSrc, XADataSink *pAudioSnk,
-        XADataSink *pImageVideoSnk, XADataSink *pVibra, XADataSink *pLEDArray)
-    {
-    XAMediaPlayerAdaptationMMFCtx *pSelf = NULL;
-    XAuint32 locType = 0;
-    XADataLocator_IODevice *ioDevice;
-    XAresult res;
-    DEBUG_API("->XAMediaPlayerAdaptMMF_Create");
-
-    pSelf = calloc(1, sizeof(XAMediaPlayerAdaptationMMFCtx));
-    if (pSelf)
-        {
-        if (pDataSrc)
-            {
-            locType = *((XAuint32*) (pDataSrc->pLocator));
-            if (locType == XA_DATALOCATOR_IODEVICE)
-                {
-                ioDevice = (XADataLocator_IODevice*) (pDataSrc->pLocator);
-                if (ioDevice->deviceType == XA_IODEVICE_RADIO)
-                    {
-                    return XAMediaPlayerAdaptMMF_CreateRadio(pSelf, pDataSrc,
-                            pBankSrc, pAudioSnk, pImageVideoSnk, pVibra,
-                            pLEDArray);
-                    }
-                }
-            }
-        if (XAAdaptationBaseMMF_Init(&(pSelf->baseObj),
-                XAMediaPlayerAdaptation) != XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("Failed to init base context!!!");
-            free(pSelf);
-            pSelf = NULL;
-            }
-        else
-            {
-            pSelf->isForRadio = XA_BOOLEAN_FALSE;
-            pSelf->baseObj.baseObj.fwtype = FWMgrFWMMF;
-            pSelf->xaSource = pDataSrc;
-            pSelf->xaBankSrc = pBankSrc;
-            pSelf->xaAudioSink = pAudioSnk;
-            pSelf->xaVideoSink = pImageVideoSnk;
-            pSelf->xaLEDArray = pLEDArray;
-            pSelf->xaVibra = pVibra;
-            pSelf->curMirror = XA_VIDEOMIRROR_NONE;
-            pSelf->curRotation = 0;
-            pSelf->isobjsrc = XA_BOOLEAN_FALSE;
-            pSelf->cameraSinkSynced = XA_BOOLEAN_FALSE;
-            pSelf->rateprops = XA_RATEPROP_SMOOTHVIDEO | XA_RATEPROP_NOPITCHCORAUDIO;
-            pSelf->playrate = 1000;
-            }
-        }
-    else
-        {
-        DEBUG_ERR("Failed to create XAMediaPlayerAdaptationMMFCtx !!!");
-        return NULL;
-        }
-    
-    if (pSelf)
-        {
-        res = mmf_backend_engine_init(&(pSelf->mmfContext));
-        if (!(pSelf->mmfContext) || (res != XA_RESULT_SUCCESS))
-            {
-            /* TODO Check to make sure there is no undeleted MMF objects here*/
-            DEBUG_ERR("Failed to init mmf context!!!");
-            free(pSelf);
-            pSelf = NULL;
-            return NULL;
-            }
-        res = mmf_set_play_adapt_context(pSelf->mmfContext,
-                        &(pSelf->baseObj));
-        if (pDataSrc)
-            {
-            pSelf->mmfMetadataContext
-                    = mmf_metadata_utility_init(
-                            (char *) (((XADataLocator_URI*) (pDataSrc->pLocator))->URI));
-            if (!pSelf->mmfMetadataContext)
-                {
-                DEBUG_ERR("Failed to init mmf metadata context!!!");
-                pSelf->mmfMetadataContext = NULL;
-                }
-            }
-        else
-            {
-            DEBUG_ERR("Failed to create XAMediaPlayerAdaptationMMFCtx !!!");
-            return NULL;
-            }
-        }
-
-    DEBUG_API("<-XAMediaPlayerAdaptMMF_Create");
-    return (XAAdaptationBaseCtx*) (&pSelf->baseObj.baseObj);
-    }
-
-/*
- * XAMediaPlayerAdaptationMMFCtx* XAMediaPlayerAdapt_CreateRadio()
-
- * @returns XAMediaPlayerAdaptationMMFCtx* - Pointer to created context, NULL if error occurs.
- */
-XAAdaptationBaseCtx* XAMediaPlayerAdaptMMF_CreateRadio(
-        XAMediaPlayerAdaptationMMFCtx *pSelf, XADataSource *pDataSrc,
-        XADataSource *pBankSrc, XADataSink *pAudioSnk,
-        XADataSink *pImageVideoSnk, XADataSink *pVibra, XADataSink *pLEDArray)
-    {
-    XAresult res;
-    DEBUG_API("->XAMediaPlayerAdaptMMF_CreateRadio");
-
-    res = XAAdaptationBaseMMF_Init(&(pSelf->baseObj), XARadioAdaptation);
-    if (res != XA_RESULT_SUCCESS)
-        {
-        DEBUG_ERR("Failed to init base context!!!");
-        free(pSelf);
-        pSelf = NULL;
-        return NULL;
-        }
-
-    pSelf->isForRadio = XA_BOOLEAN_TRUE;
-    pSelf->baseObj.baseObj.fwtype = FWMgrFWMMF;
-    pSelf->xaSource = pDataSrc;
-    pSelf->xaBankSrc = pBankSrc;
-    pSelf->xaAudioSink = pAudioSnk;
-    pSelf->xaVideoSink = pImageVideoSnk;
-    pSelf->xaLEDArray = pLEDArray;
-    pSelf->xaVibra = pVibra;
-    pSelf->curMirror = XA_VIDEOMIRROR_NONE;
-    pSelf->curRotation = 0;
-    pSelf->isobjsrc = XA_BOOLEAN_FALSE;
-    pSelf->cameraSinkSynced = XA_BOOLEAN_FALSE;
-    /*pSelf->waitData = XA_BOOLEAN_FALSE;*/
-
-    res = mmf_backend_engine_init(&(pSelf->mmfContext));
-    if (!(pSelf->mmfContext) || (res != XA_RESULT_SUCCESS))
-        {
-        /* TODO Check to make sure there is no undeleted MMF objects here*/
-        DEBUG_ERR("Failed to init mmf context!!!");
-        free(pSelf);
-        pSelf = NULL;
-        return NULL;
-        }
-    DEBUG_API("<-XAMediaPlayerAdaptMMF_Create");
-    return (XAAdaptationBaseCtx*) (&pSelf->baseObj.baseObj);
-    }
-
-/*
- * XAresult XAMediaPlayerAdaptMMF_PostInit()
- * 2nd phase initialization of Media Player Adaptation Context
- * @param XAMediaPlayerAdaptationMMFCtx* ctx - pointer to Media Player adaptation context
- * @return XAresult - Success value
- */
-XAresult XAMediaPlayerAdaptMMF_PostInit(XAAdaptationMMFCtx* bCtx)
-    {
-    XAresult ret = XA_RESULT_PRECONDITIONS_VIOLATED;
-    XAMediaPlayerAdaptationMMFCtx *pSelf = NULL;
-    if(!bCtx)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-    
-    pSelf = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    DEBUG_API("->XAMediaPlayerAdaptMMF_PostInit");
-
-    ret = XAAdaptationBaseMMF_PostInit(bCtx);
-    if(ret == XA_RESULT_SUCCESS)
-        {
-        if (pSelf->isForRadio)
-            {
-            DEBUG_API("<-XAMediaPlayerAdaptMMF_PostInit");
-            return XA_RESULT_SUCCESS;
-            }
-    
-        if (pSelf->mmfContext)
-            {
-            XADataLocator_URI* tempUri =
-                    (XADataLocator_URI*) (pSelf->xaSource->pLocator);
-            XADataFormat_MIME* tempFormat =
-                    (XADataFormat_MIME*) (pSelf->xaSource->pFormat);
-            ret = XA_RESULT_SUCCESS;
-            if (pSelf->xaVideoSink)
-                {
-                ret = mmf_setup_native_display(pSelf->mmfContext,
-                        pSelf->xaVideoSink);
-                }
-            if (ret == XA_RESULT_SUCCESS)
-                {
-                ret = mmf_set_player_uri(pSelf->mmfContext,
-                        (char *) (tempUri->URI), tempFormat->containerType);
-                }
-            }
-        }
-    DEBUG_API("<-XAMediaPlayerAdaptMMF_PostInit");
-    return ret;
-    }
-
-/*
- * void XAMediaPlayerAdaptMMF_Destroy( XAMediaPlayerAdaptationMMFCtx* ctx )
- * Destroys Media Player Adaptation Context
- * @param ctx - Media Player Adaptation context to be destroyed
- */
-void XAMediaPlayerAdaptMMF_Destroy(XAAdaptationMMFCtx* bCtx)
-    {
-    XAMediaPlayerAdaptationMMFCtx* ctx = NULL;
-
-    DEBUG_API("->XAMediaPlayerAdaptMMF_Destroy");
-    if (bCtx == NULL)
-        {
-        DEBUG_ERR("Invalid parameter!!");
-        DEBUG_API("<-XAMediaPlayerAdaptMMF_Destroy");
-        return;
-        }
-    ctx = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    if (ctx->mmfContext)
-        {
-        mmf_backend_engine_deinit(ctx->mmfContext);
-        }
-
-    if (ctx->mmfMetadataContext)
-        {
-        mmf_metadata_utility_destroy(ctx->mmfMetadataContext);
-        }
-
-    XAAdaptationBaseMMF_Free(bCtx);
-
-    free(ctx);
-    ctx = NULL;
-
-    DEBUG_API("<-XAMediaPlayerAdaptMMF_Destroy");
-    }
-
--- a/khronosfws/openmax_al/src/mmf_adaptation/xamediaplayeradaptctxmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: MediaPlayer Adapt MMF HEader
- *
- */
-
-#ifndef XAMEDIAPLAYERADAPTCTXMMF_H
-#define XAMEDIAPLAYERADAPTCTXMMF_H
-
-#include "xaadaptationmmf.h"
-
-/* TYPEDEFS */
-
-typedef struct XAMediaPlayerAdaptationMMFCtx_ XAMediaPlayerAdaptationMMFCtx;
-
-/* FUNCTIONS */
-XAAdaptationBaseCtx
-        * XAMediaPlayerAdaptMMF_Create(XADataSource *pDataSrc,
-                XADataSource *pBankSrc, XADataSink *pAudioSnk,
-                XADataSink *pImageVideoSnk, XADataSink *pVibra,
-                XADataSink *pLEDArray);
-XAAdaptationBaseCtx
-* XAMediaPlayerAdaptMMF_CreateRadio(XAMediaPlayerAdaptationMMFCtx *pSelf,
-        XADataSource *pDataSrc, XADataSource *pBankSrc,
-        XADataSink *pAudioSnk, XADataSink *pImageVideoSnk,
-        XADataSink *pVibra, XADataSink *pLEDArray);
-XAresult XAMediaPlayerAdaptMMF_PostInit(XAAdaptationMMFCtx* bCtx);
-void XAMediaPlayerAdaptMMF_Destroy(XAAdaptationMMFCtx* bCtx);
-
-//XAresult XAMediaPlayerAdapt_InitContentPipeSrc(XAMediaPlayerAdaptationCtx* ctx);
-#endif /*XAMEDIAPLAYERADAPTCTXMMF_H*/
-
--- a/khronosfws/openmax_al/src/mmf_adaptation/xamediarecorderadaptctxmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: MediaRecorder MMF Adaptation
- *
- */
-
-#include <string.h>
-#include <assert.h>
-#include "xamediarecorderadaptctxmmf.h"
-#include "xaadaptationmmf.h"
-#include "cmmfbackendengine.h"
-#include "xaadptbasectx.h"
-
-/*
- * XAAdaptationBaseCtx* XAMediaRecorderAdaptMMF_Create()
- * Allocates memory for Media Recorder Adaptation Context and makes 1st phase initialization
- * @param XADataSource *pAudioSrc - pointer to OMX-AL audio source
- * @param XADataSource *pImageVideoSrc - pointer image/video source
- * @param XADataSink *pDataSnk - pointer to OMX-AL sink
- * @returns XAMediaRecorderAdaptationMMFCtx* - Pointer to created context, NULL if error occurs.
- */
-XAAdaptationBaseCtx* XAMediaRecorderAdaptMMF_Create(XADataSource* pAudioSrc,
-        XADataSource* pImageVideoSrc, XADataSink* pDataSnk, XAuint8 recModes)
-    {
-    XAMediaRecorderAdaptationMMFCtx *pSelf = NULL;
-    XAresult res;
-    DEBUG_API("->XAMediaRecorderAdaptMMF_Create");
-
-    pSelf = (XAMediaRecorderAdaptationMMFCtx*) calloc(1,
-            sizeof(XAMediaRecorderAdaptationMMFCtx));
-    if (pSelf)
-        {
-        if (XAAdaptationBaseMMF_Init(&(pSelf->baseObj),
-                XAMediaRecorderAdaptation) != XA_RESULT_SUCCESS)
-            {
-            DEBUG_ERR("Failed to init base context!!!");
-            free(pSelf);
-            pSelf = NULL;
-            }
-        else
-            {
-            pSelf->xaAudioSource = pAudioSrc;
-            pSelf->xaVideoSource = pImageVideoSrc;
-            pSelf->xaSink = pDataSnk;
-            pSelf->xaRecordState = XA_RECORDSTATE_STOPPED;
-            pSelf->curMirror = XA_VIDEOMIRROR_NONE;
-            pSelf->curRotation = 0;
-            pSelf->recModes = recModes;
-            pSelf->isRecord = XA_BOOLEAN_FALSE;
-
-            /* defaults from API spec */
-            pSelf->imageEncSettings.width = 640;
-            pSelf->imageEncSettings.height = 480;
-            pSelf->imageEncSettings.compressionLevel = 0;
-            pSelf->imageEncSettings.encoderId = XA_IMAGECODEC_JPEG;
-            pSelf->imageEncSettings.colorFormat = XA_COLORFORMAT_UNUSED;
-            /* no specified defaults for rest, determined later from container type */
-            pSelf->videoEncSettings.encoderId = XA_ADAPTID_UNINITED;
-            pSelf->videoEncSettings.width = 640;
-            pSelf->videoEncSettings.height = 480;
-            pSelf->videoEncSettings.frameRate = 15;
-            pSelf->audioEncSettings.encoderId = XA_ADAPTID_UNINITED;
-            pSelf->audioEncSettings.channelsIn = 2;
-            pSelf->audioEncSettings.channelsOut = 2;
-            pSelf->audioEncSettings.bitsPerSample = 8;
-            pSelf->audioEncSettings.bitRate = 128;
-            pSelf->audioEncSettings.sampleRate = 44100;
-            }
-        }
-    else
-        {
-        DEBUG_ERR("Failed to create XAMediaRecorderAdaptationMMFCtx !!!");
-        return NULL;
-        }
-
-    if (pSelf)
-        {
-        res = mmf_backend_engine_init(&(pSelf->mmfContext));
-        if (!(pSelf->mmfContext) || (res != XA_RESULT_SUCCESS))
-            {
-            DEBUG_ERR("Failed to init mmf context!!!");
-            free(pSelf);
-            pSelf = NULL;
-            }
-        }
-
-    DEBUG_API("<-XAMediaRecorderAdaptMMF_Create");
-    return (XAAdaptationBaseCtx*) (&pSelf->baseObj.baseObj);
-    }
-
-/*
- * XAresult XAMediaRecorderAdaptMMF_PostInit()
- * 2nd phase initialization of Media Recorder Adaptation Context
- * @param XAAdaptationBaseCtx* ctx - pointer to Media Recorder adaptation context
- * @return XAresult - Success value
- */
-XAresult XAMediaRecorderAdaptMMF_PostInit(XAAdaptationMMFCtx* bCtx)
-    {
-
-    XAresult ret = XA_RESULT_SUCCESS;
-    XADataLocator_URI* tempUri;
-    XADataFormat_MIME* tempFormat;
-    XAMediaRecorderAdaptationMMFCtx *pSelf;
-    DEBUG_API("->XAMediaRecorderAdapt_PostInit");
-    if(!bCtx)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-    
-    pSelf = (XAMediaRecorderAdaptationMMFCtx*) bCtx;
-    if (pSelf->mmfContext)
-        {
-        tempUri = (XADataLocator_URI*) (pSelf->xaSink->pLocator);
-        tempFormat = (XADataFormat_MIME*) (pSelf->xaSink->pFormat);
-        ret = mmf_set_recorder_uri(pSelf->mmfContext, (char *) (tempUri->URI),
-                tempFormat->containerType);
-        if(ret == XA_RESULT_SUCCESS)
-            {
-            ret = mmf_set_adapt_context(pSelf->mmfContext, &(pSelf->baseObj));
-            }
-        }
-
-    DEBUG_API("<-XAMediaRecorderAdapt_PostInit");
-    return ret;
-    }
-
-/*
- * void XAMediaRecorderAdaptMMF_Destroy( XAAdaptationMMFCtx* bCtx )
- * Destroys Media Recorder Adaptation Context
- * @param ctx - Media Recorder Adaptation context to be destroyed
- */
-void XAMediaRecorderAdaptMMF_Destroy(XAAdaptationMMFCtx* bCtx)
-    {
-    XAMediaRecorderAdaptationMMFCtx* ctx = NULL;
-
-    DEBUG_API("->XAMediaRecorderAdaptMMF_Destroy");
-
-    if (bCtx == NULL)
-        {
-        DEBUG_ERR("Invalid parameter!!");
-        DEBUG_API("<-XAMediaRecorderAdaptMMF_Destroy");
-        return;
-        }
-    ctx = (XAMediaRecorderAdaptationMMFCtx*) bCtx;
-
-    if (ctx->mmfContext)
-        {
-        mmf_backend_engine_deinit(ctx->mmfContext);
-        }
-    XAAdaptationBaseMMF_Free(bCtx);
-
-    free(ctx);
-    ctx = NULL;
-
-    DEBUG_API("<-XAMediaRecorderAdaptMMF_Destroy");
-    }
-
--- a/khronosfws/openmax_al/src/mmf_adaptation/xamediarecorderadaptctxmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: MediaRecorder Adaptation MMF header
- *
- */
-
-#ifndef XAMEDIARECORDERADAPTCTXMMF_H_
-#define XAMEDIARECORDERADAPTCTXMMF_H_
-
-#include "xaadaptationmmf.h"
-
-/* TYPEDEFS */
-typedef struct XAMediaRecorderAdaptationMMFCtx_
-        XAMediaRecorderAdaptationMMFCtx;
-
-typedef struct XAMediaRecorderAdaptationMMFCtx_
-    {
-    /* Parent*/
-    XAAdaptationMMFCtx_ baseObj;
-
-    /* OMX-AL Variables */
-    XADataSource *xaAudioSource, *xaVideoSource;
-    XADataSink *xaSink;
-    XAuint8 recModes;
-
-    /* GST elements */
-    XAboolean isobjsink; /*is sink another XA object?*/
-    XAboolean isobjasrc; /*is audio source another XA object?*/
-    XAboolean isobjvsrc; /*is video source another XA object?*/
-    XAboolean encodingchanged;
-
-    XAboolean mute;
-    XAuint32 premutevol;
-    XAuint32 imageEffectID;
-    XAboolean isStereoPosition;
-    XAuint32 xaRecordState;
-    XAmillidegree curRotation;
-    XAuint32 curMirror;
-    XAboolean isRecord;
-
-    /* internals */
-    XAboolean trackpositionenabled;
-    gboolean runpositiontimer;
-
-    XAImplThreadHandle recordingEventThr;
-
-    /* Variables for encoders */
-    XAAudioEncoderSettings audioEncSettings;
-    XAVideoSettings videoEncSettings;
-    XAImageSettings imageEncSettings;
-
-    void* mmfContext;
-
-    } XAMediaRecorderAdaptationMMFCtx_;
-
-/* FUNCTIONS */
-XAAdaptationBaseCtx* XAMediaRecorderAdaptMMF_Create(XADataSource* pAudioSrc,
-        XADataSource* pImageVideoSrc, XADataSink* pDataSnk, XAuint8 recModes);
-XAresult XAMediaRecorderAdaptMMF_PostInit(XAAdaptationMMFCtx* bCtx);
-void XAMediaRecorderAdaptMMF_Destroy(XAAdaptationMMFCtx* bCtx);
-
-#endif /* XAMEDIARECORDERADAPTCTXMMF_H_ */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xametadataadaptctxmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Metadata Adaptation MMF
- *
- */
-
-#include <assert.h>
-#include <stdlib.h>
-#include "xametadataadaptctxmmf.h"
-#include "xaobjectitf.h"
-#include "cmetadatautilityitf.h"
-
-XAAdaptationBaseCtx* XAMetadataAdaptCtxMMF_Create(XADataSource * pDataSrc)
-    {
-
-    XAMetadataAdaptationMMFCtx *pSelf = NULL;
-    DEBUG_API("->XAMetadataAdaptCtxMMF_Create");
-
-    pSelf = calloc(1, sizeof(XAMetadataAdaptationMMFCtx));
-    if(!pSelf)
-        {
-        /* memory allocation failed */
-        DEBUG_ERR("Failed to allocate memory");
-        DEBUG_API("<-XAMetadataAdaptCtxMMF_Create");
-        return NULL;
-        }
-
-    if (XAAdaptationBaseMMF_Init(&(pSelf->baseObj), XAMDAdaptation)
-            != XA_RESULT_SUCCESS)
-        {
-        free(pSelf);
-        DEBUG_ERR("Failed to init base context!!!");
-        DEBUG_API("<-XAMetadataAdaptCtxMMF_Create");
-        return NULL;
-        }
-
-    pSelf->baseObj.baseObj.fwtype = FWMgrFWMMF;
-    pSelf->xaSource = pDataSrc;
-
-    if (pDataSrc)
-        {
-        pSelf->mmfContext
-                = mmf_metadata_utility_init(
-                        (char *) (((XADataLocator_URI*) (pDataSrc->pLocator))->URI));
-        if (!pSelf->mmfContext)
-            {
-            free(pSelf);
-            DEBUG_ERR("Failed to init mmf context!!!");
-            DEBUG_API("<-XAMetadataAdaptCtxMMF_Create");
-            return NULL;
-            }
-        }
-
-    DEBUG_API("<- XAMetadataAdaptCtxMMF_Create");
-    return (XAAdaptationBaseCtx*) (&pSelf->baseObj.baseObj);
-    }
-
-/*
- * XAresult XAMediaPlayerAdaptMMF_PostInit()
- * 2nd phase initialization of Media Player Adaptation Context
- * @param XAMediaPlayerAdaptationMMFCtx* ctx - pointer to Media Player adaptation context
- * @return XAresult - Success value
- */
-XAresult XAMetadataAdaptCtxMMF_PostInit(XAAdaptationMMFCtx* bCtx)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("<-XAMetadataAdaptCtxMMF_PostInit");
-    return ret;
-    }
-
-/*
- * void XAMediaPlayerAdaptMMF_Destroy( XAMediaPlayerAdaptationMMFCtx* ctx )
- * Destroys Media Player Adaptation Context
- * @param ctx - Media Player Adaptation context to be destroyed
- */
-void XAMetadataAdaptCtxMMF_Destroy(XAAdaptationMMFCtx* bCtx)
-    {
-    DEBUG_API("->XAMetadataAdaptCtxMMF_Destroy");
-    if (bCtx == NULL)
-        {
-        DEBUG_ERR("Invalid parameter!!");
-        DEBUG_API("<-XAMetadataAdaptCtxMMF_Destroy");
-        return;
-        }
-
-    if (((XAMetadataAdaptationMMFCtx*) bCtx)->mmfContext)
-        {
-        mmf_metadata_utility_destroy(
-                ((XAMetadataAdaptationMMFCtx*) bCtx)->mmfContext);
-        }
-
-    XAAdaptationBase_Free(&bCtx->baseObj);
-    free(bCtx);
-    bCtx = NULL;
-
-    DEBUG_API("<-XAMetadataExtractorAdaptMMF_Destroy");
-    }
-
--- a/khronosfws/openmax_al/src/mmf_adaptation/xametadataadaptctxmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Metadata Adaptation MMF
- *
- */
-
-#ifndef XAMETADATAADAPTCTXMMF_H
-#define XAMETADATAADAPTCTXMMF_H
-
-#include "xaadaptationmmf.h"
-
-/* TYPEDEFS */
-
-typedef struct XAMetadataAdaptationMMFCtx_ XAMetadataAdaptationMMFCtx;
-
-/* FUNCTIONS */
-XAAdaptationBaseCtx* XAMetadataAdaptCtxMMF_Create(XADataSource *pDataSrc);
-XAresult XAMetadataAdaptCtxMMF_PostInit(XAAdaptationMMFCtx* bCtx);
-void XAMetadataAdaptCtxMMF_Destroy(XAAdaptationMMFCtx* bCtx);
-#endif /*XAMETADATAADAPTCTXMMF_H*/
-
--- a/khronosfws/openmax_al/src/mmf_adaptation/xammfcapabilitiesmgr.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: MMF capabilities mgr
- *
- */
-#include <stdio.h>
-#include <string.h>
-#include "xammfcapabilitiesmgr.h"
-
-static XAresult XAMMFCapabilitiesMgr_GetAudioAACEncoderCapabilities(
-        XACapabilities **ppNode);
-static XAresult XAMMFCapabilitiesMgr_GetAudioAMREncoderCapabilities(
-        XACapabilities **ppNode);
-static XAresult XAMMFCapabilitiesMgr_GetAudioPCMEncoderCapabilities(
-        XACapabilities **ppNode);
-
-/* XAresult XAMMFCapabilitiesMgr_UpdateCapabilitieList
- * Description: Update the capabilities list supported by GStreamer framework.
- */
-XAresult XAMMFCapabilitiesMgr_UpdateCapabilitieList(
-        FrameworkMap *frameworkMap, XACapabilities **ppListHead)
-
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities *lastNode;
-    XACapabilities *firstNode;
-    XACapabilities *newNode = NULL;
-    FWMgrFwType fwtype = FWMgrFWUknown;
-    char *uri = NULL;
-    DEBUG_API("->XAGSTCapabilitiesMgr_UpdateCapabilitieList");
-
-    if (!frameworkMap || !ppListHead)
-        {
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    lastNode = firstNode = *ppListHead;
-
-    /* traverse and point to the last node in the list */
-    while (lastNode && lastNode->next)
-        {
-        lastNode = lastNode->next;
-        }
-
-    uri = "file:///c:/test.mp4";
-    fwtype = XAFrameworkMgr_GetFramework(frameworkMap, uri, FWMgrMORecorder);
-
-    if (fwtype == FWMgrFWMMF)
-        {
-        /* Add codec capabilities */
-        newNode = NULL;
-        res = XAMMFCapabilitiesMgr_GetAudioAACEncoderCapabilities(&newNode);
-        if (res != XA_RESULT_SUCCESS)
-            {
-            return res;
-            }
-        if (lastNode)
-            {
-            lastNode->next = newNode;
-            }
-        if (newNode)
-            { /* if a new node is created move lastNode to the new item */
-            if (!firstNode)
-                {
-                firstNode = newNode;
-                }
-            lastNode = newNode;
-            }
-        }
-
-    uri = "file:///c:/test.amr";
-    fwtype = XAFrameworkMgr_GetFramework(frameworkMap, uri, FWMgrMORecorder);
-
-    if (fwtype == FWMgrFWMMF)
-        {
-        newNode = NULL;
-        res = XAMMFCapabilitiesMgr_GetAudioAMREncoderCapabilities(&newNode);
-        if (res != XA_RESULT_SUCCESS)
-            {
-            return res;
-            }
-        if (lastNode)
-            {
-            lastNode->next = newNode;
-            }
-        if (newNode)
-            { /* if a new node is created move lastNode to the new item */
-            if (!firstNode)
-                {
-                firstNode = newNode;
-                }
-            lastNode = newNode;
-            }
-        }
-
-    uri = "file:///c:/test.wav";
-    fwtype = XAFrameworkMgr_GetFramework(frameworkMap, uri, FWMgrMORecorder);
-
-    if (fwtype == FWMgrFWMMF)
-        {
-        newNode = NULL;
-        res = XAMMFCapabilitiesMgr_GetAudioPCMEncoderCapabilities(&newNode);
-        if (res != XA_RESULT_SUCCESS)
-            {
-            return res;
-            }
-        if (lastNode)
-            {
-            lastNode->next = newNode;
-            }
-        if (newNode)
-            { /* if a new node is created move lastNode to the new item */
-            if (!firstNode)
-                {
-                firstNode = newNode;
-                }
-            lastNode = newNode;
-            }
-        }
-    /* if empty list, then append first node as the head */
-    if (!(*ppListHead))
-        {
-        *ppListHead = firstNode;
-        }
-    DEBUG_API("<-XAGSTCapabilitiesMgr_UpdateCapabilitieList");
-    return res;
-    }
-
-XAresult XAMMFCapabilitiesMgr_GetAudioAACEncoderCapabilities(
-        XACapabilities **ppNode)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities *newNode = NULL;
-    XAAudioCodecDescriptor *entries = NULL;
-
-    newNode = (XACapabilities *) calloc(1, sizeof(XACapabilities));
-    if (!newNode)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        return res;
-        }
-
-    newNode->capsType = AUD_E;
-    newNode->xaid = XA_AUDIOCODEC_AAC;
-    newNode->noOfEntries = 1;
-
-    /* Allocate array */
-    entries = (XAAudioCodecDescriptor*) calloc(1,
-            sizeof(XAAudioCodecDescriptor));
-    if (!entries)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-
-    newNode->pEntry = (void*) entries;
-
-    entries->maxChannels = 2;
-    entries->minBitsPerSample = 16;
-    entries->maxBitsPerSample = 16;
-    entries->minSampleRate = 8000000; /*milliHz*/
-    entries->maxSampleRate = 48000000;
-    entries->isFreqRangeContinuous = XA_BOOLEAN_FALSE;
-    entries->numSampleRatesSupported = 7;
-    entries->pSampleRatesSupported = (XAmilliHertz*) calloc(
-            entries->numSampleRatesSupported, sizeof(XAmilliHertz));
-    if (!entries->pSampleRatesSupported)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-    /* entries in milliHz */
-    entries->pSampleRatesSupported[0] = 8000000;
-    entries->pSampleRatesSupported[1] = 11025000;
-    entries->pSampleRatesSupported[2] = 16000000;
-    entries->pSampleRatesSupported[3] = 22050000;
-    entries->pSampleRatesSupported[4] = 32000000;
-    entries->pSampleRatesSupported[5] = 44100000;
-    entries->pSampleRatesSupported[6] = 48000000;
-
-    entries->minBitRate = 32000;
-    entries->maxBitRate = 256000;
-    entries->isBitrateRangeContinuous = XA_BOOLEAN_FALSE;
-    entries->numBitratesSupported = 8;
-    entries->pBitratesSupported = (XAuint32*) calloc(
-            entries->numBitratesSupported, sizeof(XAuint32));
-    if (!entries->pBitratesSupported)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-    (entries->pBitratesSupported)[0] = 32000;
-    (entries->pBitratesSupported)[1] = 64000;
-    (entries->pBitratesSupported)[2] = 96000;
-    (entries->pBitratesSupported)[3] = 128000;
-    (entries->pBitratesSupported)[4] = 160000;
-    (entries->pBitratesSupported)[5] = 192000;
-    (entries->pBitratesSupported)[6] = 224000;
-    (entries->pBitratesSupported)[7] = 256000;
-
-    entries->profileSetting = XA_AUDIOPROFILE_AAC_AAC;
-    entries->modeSetting = XA_AUDIOMODE_AAC_LC;
-
-    *ppNode = newNode;
-    return res;
-    }
-
-XAresult XAMMFCapabilitiesMgr_GetAudioAMREncoderCapabilities(
-        XACapabilities **ppNode)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities *newNode = NULL;
-    XAAudioCodecDescriptor *entries = NULL;
-
-    newNode = (XACapabilities *) calloc(1, sizeof(XACapabilities));
-    if (!newNode)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        return res;
-        }
-
-    newNode->capsType = AUD_E;
-    newNode->xaid = XA_AUDIOCODEC_AMR;
-    newNode->noOfEntries = 1;
-
-    /* Allocate array */
-    entries = (XAAudioCodecDescriptor*) calloc(1,
-            sizeof(XAAudioCodecDescriptor));
-    if (!entries)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-
-    newNode->pEntry = (void*) entries;
-
-    entries->maxChannels = 1;
-    entries->minBitsPerSample = 8;
-    entries->maxBitsPerSample = 8;
-    entries->minSampleRate = 8000000; /*milliHz*/
-    entries->maxSampleRate = 8000000;
-    entries->isFreqRangeContinuous = XA_BOOLEAN_TRUE;
-    entries->numSampleRatesSupported = 1;
-    entries->minBitRate = 4750;
-    entries->maxBitRate = 12200;
-    entries->isBitrateRangeContinuous = XA_BOOLEAN_FALSE;
-    entries->numBitratesSupported = 8;
-    entries->pBitratesSupported = (XAuint32*) calloc(
-            entries->numBitratesSupported, sizeof(XAuint32));
-    if (!entries->pBitratesSupported)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-    (entries->pBitratesSupported)[0] = 4750;
-    (entries->pBitratesSupported)[1] = 5150;
-    (entries->pBitratesSupported)[2] = 5900;
-    (entries->pBitratesSupported)[3] = 6700;
-    (entries->pBitratesSupported)[4] = 7400;
-    (entries->pBitratesSupported)[5] = 7950;
-    (entries->pBitratesSupported)[6] = 10200;
-    (entries->pBitratesSupported)[7] = 12200;
-
-    entries->profileSetting = XA_AUDIOPROFILE_AMR;
-    entries->modeSetting = 0;
-
-    *ppNode = newNode;
-    return res;
-    }
-
-XAresult XAMMFCapabilitiesMgr_GetAudioPCMEncoderCapabilities(
-        XACapabilities **ppNode)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XACapabilities *newNode = NULL;
-    XAAudioCodecDescriptor *entries = NULL;
-
-    newNode = (XACapabilities *) calloc(1, sizeof(XACapabilities));
-    if (!newNode)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        return res;
-        }
-
-    newNode->capsType = AUD_E;
-    newNode->xaid = XA_AUDIOCODEC_PCM;
-    newNode->noOfEntries = 1;
-
-    /* Allocate array */
-    entries = (XAAudioCodecDescriptor*) calloc(1,
-            sizeof(XAAudioCodecDescriptor));
-    if (!entries)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-
-    newNode->pEntry = (void*) entries;
-
-    entries->maxChannels = 2;
-    entries->minBitsPerSample = 16;
-    entries->maxBitsPerSample = 16;
-    entries->minSampleRate = 8000000; /*milliHz*/
-    entries->maxSampleRate = 96000000;
-    entries->isFreqRangeContinuous = XA_BOOLEAN_FALSE;
-    entries->numSampleRatesSupported = 10;
-    entries->pSampleRatesSupported = (XAmilliHertz*) calloc(
-            entries->numSampleRatesSupported, sizeof(XAmilliHertz));
-    if (!entries->pSampleRatesSupported)
-        {
-        res = XA_RESULT_MEMORY_FAILURE;
-        XACapabilitiesMgr_DeleteCapabilitieList(&newNode);
-        return res;
-        }
-    /* entries in milliHz */
-    entries->pSampleRatesSupported[0] = 12000000;
-    entries->pSampleRatesSupported[1] = 16000000;
-    entries->pSampleRatesSupported[2] = 22050000;
-    entries->pSampleRatesSupported[3] = 24000000;
-    entries->pSampleRatesSupported[4] = 32000000;
-    entries->pSampleRatesSupported[5] = 44100000;
-    entries->pSampleRatesSupported[6] = 48000000;
-    entries->pSampleRatesSupported[7] = 64000000;
-    entries->pSampleRatesSupported[8] = 88200000;
-    entries->pSampleRatesSupported[9] = 96000000;
-
-    entries->minBitRate = 0;
-    entries->maxBitRate = 0;
-    entries->isBitrateRangeContinuous = XA_BOOLEAN_FALSE;
-    entries->pBitratesSupported = NULL;
-    entries->numBitratesSupported = 0;
-    entries->profileSetting = XA_AUDIOPROFILE_PCM;
-    entries->modeSetting = 0;
-
-    *ppNode = newNode;
-    return res;
-    }
--- a/khronosfws/openmax_al/src/mmf_adaptation/xammfcapabilitiesmgr.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: MMF capability manager
- *
- */
-
-#ifndef XAMMFCAPABILITIESMGR_H
-#define XAMMFCAPABILITIESMGR_H
-
-#include "openmaxalwrapper.h"
-#include "xaframeworkmgr.h"
-#include "xacapabilitiesmgr.h"
-
-XAresult XAMMFCapabilitiesMgr_UpdateCapabilitieList(
-        FrameworkMap *frameworkMap, XACapabilities** ppListHead);
-
-#endif /* XAGSTCAPABILITIESMGR_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xangavideosink.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-/*
-Media Helper Class for handling surface events
-
-Shy Ward
-*/
-
-#include "xangavideosink.h"
-#include "openmaxalwrapper.h"
-
-
-CNgaVideoSink* CNgaVideoSink::NewL()
-{
-	CNgaVideoSink* self = new CNgaVideoSink();
-	self->ConstructL();
-	return self;
-}
-
-CNgaVideoSink::~CNgaVideoSink()
-{
-    RemoveWindow();
-    
-    delete iMediaClientVideoDisplay;
-    if(IsActive())
-    {
-    Cancel();
-    }	
-}
-    
-void CNgaVideoSink::RemoveWindow()
-    {
-    iMediaClientVideoDisplay->RemoveDisplayWindow(*m_pWindow);
-    }
-
-CNgaVideoSink::CNgaVideoSink()
-                  :CActive(EPriorityStandard)
-{
-	iMediaClientVideoDisplay = NULL;
-  CActiveScheduler::Add(this);
-  m_ThreadHandle.Duplicate(RThread());
-  m_MediaHelperInitialized = EInitializedReady;
-  m_rotation = EVideoRotationNone;
-  m_scaleWidth = (100.0f);
-  m_scaleHeight = (100.0f);
-  m_horizPos = (EHorizontalAlignCenter);
-  m_vertPos = (EVerticalAlignCenter);      
-}
-
-void CNgaVideoSink::RunL()
-{
-	  iMediaClientVideoDisplay->SurfaceCreated(m_surfaceId,m_cropRect,m_pixelAspectRatio,m_cropRegion);	
-}
-
-void CNgaVideoSink::Activate()
-{
-    if(!IsActive())
-    {
-        iStatus = KRequestPending;
-        SetActive();
-    }
-}
-
-void CNgaVideoSink::DoCancel()
-{
-      if(iStatus.Int() == KRequestPending)
-      {
-          TRequestStatus* pStatus = &iStatus;
-          m_ThreadHandle.RequestComplete(pStatus, KErrCancel);
-    }
-}
-
-void CNgaVideoSink::CompleteRequest(TInt status)
-{
-    // Checking for IsActive alone results in this block getting executed 
-    // from other thread more thanone time. Hence the chk for iStatus
-    if(IsActive() && iStatus == KRequestPending)
-    {
-        TRequestStatus* pStatus = &iStatus;
-        m_ThreadHandle.RequestComplete(pStatus, status);
-    }
-}
-
-void CNgaVideoSink::SurfaceCreated(int surfaceid0,int surfaceid1,int surfaceid2,int surfaceid3,int crop_rect_tl_x,
-                     									 int crop_rect_tl_y,int crop_rect_br_x,int crop_rect_br_y,int aspect_ratio_num,int aspect_ratio_denom)
-{
-   
-   m_surfaceId.iInternal[0] = surfaceid0;
-   m_surfaceId.iInternal[1] = surfaceid1;
-   m_surfaceId.iInternal[2] = surfaceid2;
-   m_surfaceId.iInternal[3] = surfaceid3;
-   m_cropRect.iTl.iX = crop_rect_tl_x;
-   m_cropRect.iTl.iY = crop_rect_tl_y;
-   m_cropRect.iBr.iX = crop_rect_br_x;
-   m_cropRect.iBr.iY = crop_rect_br_y;
-   m_pixelAspectRatio.iNumerator = aspect_ratio_num;
-   m_pixelAspectRatio.iDenominator = aspect_ratio_denom;  
-   
-   Activate();
-   CompleteRequest(KErrNone);
-   	
-}
-
-void CNgaVideoSink::ConstructL()
-{
-	iMediaClientVideoDisplay = CMediaClientVideoDisplay::NewL(0);
-	Activate();
-} 
-
-void CNgaVideoSink::SetNativeDisplayInformation(void* display_info)
-{
-	//display_info is of type XADataSink
-	//display_info.pLocator is of type XADataLocator_NativeDisplay
-	XADataLocator_NativeDisplay* nativeDisplay;
-	XADataSink* videoSink = (XADataSink*)display_info;
-	
-	nativeDisplay = (XADataLocator_NativeDisplay*) (videoSink->pLocator);
-	//TODO: scrDevice is not been passed Properly
-  // Add the display window
-  m_cropRegion = TRect(((RWindow*)(nativeDisplay->hWindow))->Size());
-  m_videoExtent = TRect(((RWindow*)(nativeDisplay->hWindow))->Size());
-  m_cropRect = TRect(((RWindow*)(nativeDisplay->hWindow))->Size());
-  m_clipRect = TRect(((RWindow*)(nativeDisplay->hWindow))->Size());
-  m_cropRegion = TRect(((RWindow*)(nativeDisplay->hWindow))->Size());
-  m_pWindow = ((RWindow*)(nativeDisplay->hWindow));
-  
-
-  TRAPD(err, iMediaClientVideoDisplay->AddDisplayWindowL(m_pWindow, m_clipRect, m_cropRegion, m_videoExtent, m_scaleWidth, m_scaleHeight,
-                                               m_rotation, EAutoScaleBestFit, m_horizPos, m_vertPos, m_pWindow));  
-
-}
-
-extern "C" {
-
-    void* nga_video_sink_init()
-    { 
-          return CNgaVideoSink::NewL();
-    }
-        
-    void surface_created(void* context,int surfaceid0,int surfaceid1,int surfaceid2,int surfaceid3,int crop_rect_tl_x,
-                         									int crop_rect_tl_y,int crop_rect_br_x,int crop_rect_br_y,int aspect_ratio_num,int aspect_ratio_denom)
-    {
-            ((CNgaVideoSink*)(context))->SurfaceCreated(surfaceid0,surfaceid1,surfaceid2,surfaceid3,crop_rect_tl_x,
-                         									                  crop_rect_tl_y,crop_rect_br_x,crop_rect_br_y,aspect_ratio_num,aspect_ratio_denom);
-    }
-        
-    void  setup_native_display(void* context, void* display_info)
-    {
-            ((CNgaVideoSink*)(context))->SetNativeDisplayInformation(display_info);
-    }
-
-}
--- a/khronosfws/openmax_al/src/mmf_adaptation/xangavideosink.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-/*
-Media Helper Class for handling surface events
-
-Shy Ward
-*/
-
-#ifndef XA_CNGAVIDEOSINK_H
-#define XA_CNGAVIDEOSINK_H
-
-#define ENABLE_GRAPHICS_SURFACE_INTEGRATION
-
-
-#ifdef __cplusplus
-
-#include <e32base.h>
-#ifdef ENABLE_GRAPHICS_SURFACE_INTEGRATION
-#include <graphics/surface.h> //TSurfaceId
-#include <mmf/common/mmfvideo.h> //TVideoAspectRatio
-#include <mediaclientvideodisplay.h>
-#endif
-
-NONSHARABLE_CLASS(CNgaVideoSink) : public CBase,
-                      public CActive
-    {
-public:
-
-    static CNgaVideoSink* NewL();
-    ~CNgaVideoSink();
-    void SurfaceCreated(int surfaceid0,int surfaceid1,int surfaceid2,int surfaceid3,int crop_rect_tl_x,
-         							 int crop_rect_tl_y,int crop_rect_br_x,int crop_rect_br_y,int aspect_ratio_num,int aspect_ratio_denom);    
-    void SetNativeDisplayInformation(void* display_info);
-    
-    // CActive methods
-    virtual void RunL();
-    virtual void DoCancel();
-    void Activate();
-    void RemoveWindow();
-    void CompleteRequest(TInt status = KErrNone);    
-    
-private:
-    CNgaVideoSink();
-    void ConstructL();
-    
-    RThread     m_ThreadHandle;
-    
-    enum InitializeState
-    {
-        EInitializedReady = 0,
-        EInitializedSuccess,
-        EInitializedFailed,
-    };
-    
-#ifdef ENABLE_GRAPHICS_SURFACE_INTEGRATION
-    CMediaClientVideoDisplay* iMediaClientVideoDisplay;
-    TSurfaceId surfaceId;
-    TRect m_clipRect;
-    TRect m_videoExtent;    
-    TRect m_cropRegion;
-    TVideoAspectRatio m_pixelAspectRatio;
-    RWindow* m_pWindow;
-    TRect m_cropRect;
-    TSurfaceId m_surfaceId;
-    InitializeState     m_MediaHelperInitialized;    
-    TVideoRotation m_rotation;
-    TReal32 m_scaleWidth;
-    TReal32 m_scaleHeight;
-    TInt m_horizPos;
-    TInt m_vertPos;    
-
-#endif /*ENABLE_GRAPHICS_SURFACE_INTEGRATION*/    
-    };
-#else  /* __cplusplus */
-
-
-extern void* nga_video_sink_init();
-
-extern void  surface_created(void* context,int surfaceid0,int surfaceid1,int surfaceid2,int surfaceid3,int crop_rect_tl_x,
-                     									int crop_rect_tl_y,int crop_rect_br_x,int crop_rect_br_y,int aspect_ratio_num,int aspect_ratio_denom);
-extern void  setup_native_display(void* context, void* display_info);
-
-
-#endif /* __cplusplus */
-
-#endif /* XA_CNGAVIDEOSINK_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xanokialinearvolumeitfadaptationmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Nokia Linear Volume MMF impl
- *
- */
-
-#include "xaadaptationmmf.h"
-#include "xanokialinearvolumeitfadaptationmmf.h"
-#include "xamediaplayeradaptctxmmf.h"
-#include "cmmfbackendengine.h"
-#include "cmmfradiobackendengine.h"
-
-XAresult XANokiaLinearVolumeItfAdapt_GetVolumeLevel(XAAdaptationMMFCtx *ctx, XAuint32* percentage)
-{
-    XAresult res = XA_RESULT_SUCCESS;
-    XAuint32 maxvol;
-    XAuint32 vol;
-    DEBUG_API("->XANokiaLinearVolumeItfAdapt_GetVolumeLevel");
-    if(!ctx || ( ctx->baseObj.ctxId != XAMediaPlayerAdaptation &&
-                 ctx->baseObj.ctxId != XAMediaRecorderAdaptation &&
-                 ctx->baseObj.ctxId != XARadioAdaptation) )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaLinearVolumeItfAdapt_GetVolumeLevel");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    
-    if(ctx->baseObj.ctxId == XAMediaPlayerAdaptation)
-        {
-        mmf_volumeitf_get_maxvolume(((XAMediaPlayerAdaptationMMFCtx*)ctx)->mmfContext,
-                                        &maxvol); 
-		mmf_volumeitf_get_volume(((XAMediaPlayerAdaptationMMFCtx*)ctx)->mmfContext,
-                                    &vol);
-        
-        *percentage = (vol * MAX_PERCENTAGE_VOLUME)/maxvol;
-        
-        }
-    else if (ctx->baseObj.ctxId == XARadioAdaptation)
-        {
-        mmf_set_player_adapt_context(cmmfradiobackendengine_init(), ctx);
-        res = get_volume(cmmfradiobackendengine_init(), &vol);
-        *percentage = vol;
-        }      
-
-    DEBUG_API_A1("<-XANokiaLinearVolumeItfAdapt_GetVolumeLevel %d", percentage);
-    return res;
-}
-
-/*
- * XAresult XANokiaLinearVolumeItfAdapt_SetVolumeLevel(void *ctx, AdaptationContextIDS ctx->baseObj.ctxId,
- *                                          XAuint32 percentage)
- * @param void *ctx - Adaptation context, this will be casted to correct type regarding to contextID
- * XAuint32 percentage - Requested volume level, in between MIN_VOLUME_LEVEL and MAX_VOLUME_LEVEL
- * @return XAresult ret - Success value
- */
-XAresult XANokiaLinearVolumeItfAdapt_SetVolumeLevel(XAAdaptationMMFCtx *ctx,
-        XAuint32 percentage)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    XAuint32 maxvol;
-    XAuint32 vol;
-    DEBUG_API_A1("->XANokiaLinearVolumeItfAdapt_SetVolumeLevel to: %d", percentage);
-    if (!ctx || (ctx->baseObj.ctxId != XAMediaPlayerAdaptation
-            && ctx->baseObj.ctxId != XAMediaRecorderAdaptation
-            && ctx->baseObj.ctxId != XARadioAdaptation))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaLinearVolumeItfAdapt_SetVolumeLevel");
-        /* invalid parameter */
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    if (ctx->baseObj.ctxId == XAMediaPlayerAdaptation)
-        {
-        res = mmf_volumeitf_get_maxvolume(
-                ((XAMediaPlayerAdaptationMMFCtx*) ctx)->mmfContext, &maxvol);
-
-        if(res == XA_RESULT_SUCCESS)
-            {
-            vol = (percentage * maxvol) / MAX_PERCENTAGE_VOLUME;
-            res = mmf_volumeitf_set_volume(
-                    ((XAMediaPlayerAdaptationMMFCtx*) ctx)->mmfContext, vol);
-            }
-
-        }
-    else if (ctx->baseObj.ctxId == XARadioAdaptation)
-        {
-        mmf_set_player_adapt_context(cmmfradiobackendengine_init(), ctx);
-        res = set_volume(cmmfradiobackendengine_init(), percentage);
-        }
-    DEBUG_API("<-XANokiaLinearVolumeItfAdapt_SetVolumeLevel");
-    return res;
-    }
-
-XAresult XANokiaLinearVolumeItfAdapt_GetStepCount(XAAdaptationMMFCtx *ctx,
-        XAuint32* stepcount)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XANokiaLinearVolumeItfAdapt_GetStepCount ");
-    if (!ctx || (ctx->baseObj.ctxId != XAMediaPlayerAdaptation
-            && ctx->baseObj.ctxId != XAMediaRecorderAdaptation
-            && ctx->baseObj.ctxId != XARadioAdaptation))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaLinearVolumeItfAdapt_SetVolumeLevel");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (ctx->baseObj.ctxId == XAMediaPlayerAdaptation)
-        {
-        res = mmf_volumeitf_get_maxvolume(
-                ((XAMediaPlayerAdaptationMMFCtx*) ctx)->mmfContext, stepcount);
-        }
-
-    DEBUG_API("<-XANokiaLinearVolumeItfAdapt_GetStepCount");
-    return res;
-    }
-
-void XANokiaLinearVolumeItfAdapt_VolumeChange(XAAdaptationBaseCtx *ctx,
-        TInt aVolume)
-    {
-    XAAdaptEvent event =
-        {
-        XA_NOKIALINEARVOLITFEVENTS, XA_ADAPT_VOLUME_VOLUME_CHANGED, 1, 0
-        };
-    if (ctx)
-        {
-        event.data = &aVolume;
-        XAAdaptationBase_SendAdaptEvents(ctx, &event);
-        }
-    }
-
--- a/khronosfws/openmax_al/src/mmf_adaptation/xanokialinearvolumeitfadaptationmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Nokia Linear Volume Header
- *
- */
-
-#ifndef XANOKIALINEARVOLUMEITFADAPTATIONMMF_H
-#define XANOKIALINEARVOLUMEITFADAPTATIONMMF_H
-
-#include "xaadaptationmmf.h"
-#include "xadebug.h"
-#include "xathreadsafety.h"
-
-/* MACROS */
-
-/* FUNCTIONS */
-XAresult XANokiaLinearVolumeItfAdapt_GetVolumeLevel(XAAdaptationMMFCtx *ctx,
-                                         XAuint32 * percentage);
-
-XAresult XANokiaLinearVolumeItfAdapt_SetVolumeLevel(XAAdaptationMMFCtx *ctx,
-        XAuint32 percentage);
-XAresult XANokiaLinearVolumeItfAdapt_GetMaxVolumeLevel(
-        XAAdaptationMMFCtx *ctx, XAuint32 * pPercentage);
-
-XAresult XANokiaLinearVolumeItfAdapt_GetStepCount(XAAdaptationMMFCtx *ctx,
-        XAuint32 * pStepCount);
-
-void XANokiaLinearVolumeItfAdapt_VolumeChange(XAAdaptationBaseCtx *ctx,
-        TInt volume);
-
-#endif /* XANOKIALINEARVOLUMEITFADAPTATIONMMF_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xanokiavolumeextitfadaptationmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Nokia Volume Ext Impl
- *
- */
-
-#include "xanokiavolumeextitfadaptationmmf.h"
-#include "xamediaplayeradaptctxmmf.h"
-#include "xamediarecorderadaptctxmmf.h"
-#include "cmmfbackendengine.h"
-#include "cmmfradiobackendengine.h"
-
-/*
- * XAresult XANokiaVolumeExtItfAdapt_SetMute(void *ctx, AdaptationContextIDS ctx->ctxId, XAboolean mute)
- * @param void *ctx - Adaptation context, this will be casted to correct type regarding to contextID value given as 2nd parameter
- * @param AdaptationContextIDS ctx->ctxId - Type specifier for context, this will be used to cast ctx pointer to correct type.
- * @param XAboolean mute - status of mute value
- * @return XAresult ret - Success value
- */
-XAresult XANokiaVolumeExtItfAdapt_SetMute(XAAdaptationMMFCtx *ctx,
-        XAboolean mute)
-    {
-    XAuint32 volume;
-    XAresult res = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XANokiaVolumeExtItfAdapt_SetMute");
-    if (!ctx || (ctx->baseObj.ctxId != XAMediaPlayerAdaptation
-            && ctx->baseObj.ctxId != XAMediaRecorderAdaptation
-            && ctx->baseObj.ctxId != XARadioAdaptation))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfAdapt_SetMute");
-        /* invalid parameter */
-        res = XA_RESULT_PARAMETER_INVALID;
-        return res;
-        }
-
-    if (ctx->baseObj.ctxId == XAMediaPlayerAdaptation)
-        {
-        if (mute)
-            {
-
-            res = mmf_volumeitf_get_volume(
-                    ((XAMediaPlayerAdaptationMMFCtx*) ctx)->mmfContext,
-                    &volume);
-            if(res == XA_RESULT_SUCCESS)
-                {
-                ((XAMediaPlayerAdaptationMMFCtx*) ctx)->premutevol = volume;
-                res = mmf_volumeitf_set_volume(
-                        ((XAMediaPlayerAdaptationMMFCtx*) ctx)->mmfContext, 0);
-                }
-            }
-        else
-            {
-            res = mmf_volumeitf_set_volume(
-                    ((XAMediaPlayerAdaptationMMFCtx*) ctx)->mmfContext,
-                    ((XAMediaPlayerAdaptationMMFCtx*) ctx)->premutevol);
-            }
-        }
-    else if (ctx->baseObj.ctxId == XAMediaRecorderAdaptation)
-        {
-        if (mute)
-            {
-
-            res = mmf_volumeitf_get_volume(
-                    ((XAMediaRecorderAdaptationMMFCtx*) ctx)->mmfContext,
-                    &volume);
-            if(res == XA_RESULT_SUCCESS)
-                {
-                ((XAMediaRecorderAdaptationMMFCtx*) ctx)->premutevol = volume;
-                res = mmf_volumeitf_set_volume(
-                        ((XAMediaRecorderAdaptationMMFCtx*) ctx)->mmfContext, 0);
-                }
-            }
-        else
-            {
-            res = mmf_volumeitf_set_volume(
-                    ((XAMediaRecorderAdaptationMMFCtx*) ctx)->mmfContext,
-                    ((XAMediaRecorderAdaptationMMFCtx*) ctx)->premutevol);
-            }
-        }
-    else if (ctx->baseObj.ctxId == XARadioAdaptation)
-        {
-        mmf_set_player_adapt_context(cmmfradiobackendengine_init(), ctx);
-        res = set_mute(cmmfradiobackendengine_init(), mute);
-        }
-
-    DEBUG_API("<-XANokiaVolumeExtItfAdapt_SetMute");
-    return res;
-    }
-
-/*
- * XAresult XANokiaVolumeExtItfAdapt_EnableStereoPosition(XAAdaptationBaseCtx *ctx, XAboolean enable)
- * @param XAAdaptationBaseCtx *ctx - Adaptation context
- * @param XAboolean enable - Enable Stereo Position
- * @return XAresult - Success value
- */
-XAresult XANokiaVolumeExtItfAdapt_EnableStereoPosition(
-        XAAdaptationMMFCtx *ctx, XAboolean enable)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XANokiaVolumeExtItfAdapt_EnableStereoPosition");
-
-    if (!ctx || (ctx->baseObj.ctxId != XAMediaPlayerAdaptation
-            && ctx->baseObj.ctxId != XAMediaRecorderAdaptation))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfAdapt_EnableStereoPosition");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (ctx->baseObj.ctxId == XAMediaPlayerAdaptation)
-        {
-        res =  XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-    else if (ctx->baseObj.ctxId == XAMediaRecorderAdaptation)
-        {
-        res =  XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-    else if (ctx->baseObj.ctxId == XARadioAdaptation)
-        {
-        res =  XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-
-    DEBUG_API("<-XANokiaVolumeExtItfAdapt_EnableStereoPosition");
-    return res;
-    }
-
-/*
- * XAresult XANokiaVolumeExtItfAdapt_SetStereoPosition(XAAdaptationMMFCtx *ctx, XApermille stereoPosition)
- * @param XAAdaptationBaseCtx *ctx - Adaptation context
- * @param XApermille stereoPosition - Stereo Position to be set
- * @return XAresult - Success value
- */
-XAresult XANokiaVolumeExtItfAdapt_SetStereoPosition(XAAdaptationMMFCtx *ctx,
-        XApermille stereoPosition)
-    {
-    XAresult res = XA_RESULT_SUCCESS;
-    DEBUG_API("->XANokiaVolumeExtItfAdapt_SetStereoPosition");
-
-    if (!ctx || (ctx->baseObj.ctxId != XAMediaPlayerAdaptation
-            && ctx->baseObj.ctxId != XAMediaRecorderAdaptation))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XANokiaVolumeExtItfAdapt_SetStereoPosition");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (ctx->baseObj.ctxId == XAMediaPlayerAdaptation)
-        {
-        res = XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-    else if (ctx->baseObj.ctxId == XAMediaRecorderAdaptation)
-        {
-        res = XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-    else if (ctx->baseObj.ctxId == XARadioAdaptation)
-        {
-        res = XA_RESULT_FEATURE_UNSUPPORTED;
-        }
-
-    DEBUG_API("<-XANokiaVolumeExtItfAdapt_SetStereoPosition");
-    return res;
-    }
-
-void XANokiaVolumeExtItfAdapt_MuteChange(XAAdaptationBaseCtx* ctx,
-        XAboolean aMute)
-    {
-    XAAdaptEvent event =
-        {
-        XA_NOKIAEXTVOLITFEVENTS, XA_ADAPT_VOLUME_MUTE_CHANGED, 1, 0
-        };
-    if (ctx)
-        {
-        event.data = &aMute;
-        XAAdaptationBase_SendAdaptEvents(ctx, &event);
-        }
-    }
-
--- a/khronosfws/openmax_al/src/mmf_adaptation/xanokiavolumeextitfadaptationmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: 
- *
- */
-
-#ifndef XANOKIAVOLUMEEXTITFADAPTATIONMMF_H
-#define XANOKIAVOLUMEEXTITFADAPTATIONMMF_H
-
-#include "xaadaptationmmf.h"
-#include "xadebug.h"
-#include "xathreadsafety.h"
-
-/* MACROS */
-
-/* DEFINES */
-
-/* FUNCTIONS */
-
-XAresult XANokiaVolumeExtItfAdapt_SetMute(XAAdaptationMMFCtx *ctx,
-        XAboolean mute);
-
-XAresult XANokiaVolumeExtItfAdapt_EnableStereoPosition(
-        XAAdaptationMMFCtx *ctx, XAboolean enable);
-
-XAresult XANokiaVolumeExtItfAdapt_SetStereoPosition(XAAdaptationMMFCtx *ctx,
-        XApermille stereoPosition);
-
-void XANokiaVolumeExtItfAdapt_MuteChange(XAAdaptationBaseCtx* ctx,
-        XAboolean aMute);
-
-#endif /* XANOKIAVOLUMEEXTITFADAPTATIONMMF_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaplaybackrateitfadaptationmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#include "xamediaplayeradaptctxmmf.h"
-#include "xaplaybackrateitfadaptationmmf.h"
-#include "xaplayitfadaptationmmf.h"
-#include "cmmfbackendengine.h"
-
-/*XA_RATEPROP_STAGGEREDVIDEO,XA_RATEPROP_SMOOTHVIDEO,XA_RATEPROP_SILENTAUDIO,
-  XA_RATEPROP_STAGGEREDAUDIO,XA_RATEPROP_NOPITCHCORAUDIO,XA_RATEPROP_PITCHCORAUDIO*/
-#define SUPPORTEDPROPS (XA_RATEPROP_STAGGEREDVIDEO | XA_RATEPROP_SILENTAUDIO)
-/* NOTE: currently rewind rates do not seem to work */
-#define MINRATE (-1000)
-#define MAXRATE 4000
-/*
- * XAresult XAPlaybackRateItfAdapt_SetRate(XAAdaptationGstCtx *bCtx, XApermille rate)
- * @param XAAdaptationGstCtx *bCtx - Adaptation context, this will be casted to correct type regarding to contextID value
- * @param XApermille rate - new playback rate in permilles of original speed
- * @return XAresult ret - Success value
- */
-XAresult XAPlaybackRateItfAdaptMMF_SetRate(XAAdaptationMMFCtx *bCtx, XApermille rate)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* mCtx = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-    DEBUG_API_A1("->XAPlaybackRateItfAdaptMMF_SetRate %d permilles", rate);
-
-    if( !bCtx || bCtx->baseObj.ctxId != XAMediaPlayerAdaptation )
-    {
-        DEBUG_ERR("Invalid context!");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    if( rate<MINRATE || rate>MAXRATE )
-    {
-        DEBUG_ERR("Invalid rate!");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    ret = mmf_playbackrateitf_set_playbackrate(mCtx->mmfContext, rate/10);
-    if(ret == XA_RESULT_SUCCESS)
-        {
-        mCtx->playrate = rate/10;
-        if(mCtx->playrate == 0 || mCtx->playrate == 100)
-            {
-            mCtx->rateprops = XA_RATEPROP_SMOOTHVIDEO | XA_RATEPROP_NOPITCHCORAUDIO;
-            }
-        else
-            {
-            mCtx->rateprops = SUPPORTEDPROPS; 
-            }
-        }
-
-    DEBUG_API("<-XAPlaybackRateItfAdaptMMF_SetRate");
-    return ret;
-}
-
-/*
- * XAresult XAPlaybackRateItfAdaptMMF_SetPropertyConstraints(XAAdaptationMMFCtx *bCtx,
- *                                                       XAuint32 constraints)
- */
-XAresult XAPlaybackRateItfAdaptMMF_SetPropertyConstraints(XAAdaptationMMFCtx *bCtx,
-                                                       XAuint32 constraints)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint32 capabilities;
-    XAMediaPlayerAdaptationMMFCtx* mCtx = NULL;
-    DEBUG_API("->XAPlaybackRateItfAdaptMMF_SetPropertyConstraints");
-
-    if( !bCtx || bCtx->baseObj.ctxId != XAMediaPlayerAdaptation )
-    {
-        DEBUG_ERR("Invalid context!");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    mCtx = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-    
-    ret = XAPlaybackRateItfAdaptMMF_GetCapabilitiesOfRate(bCtx,mCtx->playrate,&capabilities);
-    
-    if( (constraints & capabilities ) == 0 )
-    {
-        DEBUG_ERR("constraints cannot be satisfied!!");
-        ret = XA_RESULT_FEATURE_UNSUPPORTED;
-    }
-    else
-    {
-        mCtx->rateprops = capabilities & constraints;
-    }
-    DEBUG_API("<-XAPlaybackRateItfAdaptMMF_SetPropertyConstraints");
-    return ret;
-}
-
-/*
- * XAresult XAPlaybackRateItfAdaptMMF_GetProperties(XAAdaptationMMFCtx *bCtx,
- *                                              XAuint32 *pProperties)
- */
-XAresult XAPlaybackRateItfAdaptMMF_GetProperties(XAAdaptationMMFCtx *bCtx,
-                                               XAuint32 *pProperties)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* mCtx = NULL;
-    DEBUG_API("->XAPlaybackRateItfAdaptMMF_GetProperties");
-
-    if( !bCtx || bCtx->baseObj.ctxId != XAMediaPlayerAdaptation )
-    {
-        DEBUG_ERR("Invalid context!");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    mCtx = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-    *pProperties = mCtx->rateprops;
-
-    DEBUG_API("<-XAPlaybackRateItfAdaptMMF_GetProperties");
-    return ret;
-}
-
-
-XAresult XAPlaybackRateItfAdaptMMF_GetCapabilitiesOfRate(XAAdaptationMMFCtx *bCtx,
-                                                       XApermille rate,
-                                                       XAuint32 *pCapabilities)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    
-    DEBUG_API("->XAPlaybackRateItfAdaptMMF_GetCapabilitiesOfRate");
-    if( !bCtx || bCtx->baseObj.ctxId != XAMediaPlayerAdaptation || !pCapabilities)
-    {
-        DEBUG_ERR("Invalid context!");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    if( rate < MINRATE || rate > MAXRATE )
-    {
-        DEBUG_ERR("Invalid rate!");
-        *pCapabilities = 0;
-        ret = XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-        if(rate == 0 || rate == 1000)
-            {
-            *pCapabilities = XA_RATEPROP_SMOOTHVIDEO | XA_RATEPROP_NOPITCHCORAUDIO;
-            }
-        else
-            {
-            *pCapabilities = XA_RATEPROP_STAGGEREDVIDEO | XA_RATEPROP_SILENTAUDIO;
-            }
-    }
-
-    DEBUG_API("<-XAPlaybackRateItfAdaptMMF_GetCapabilitiesOfRate");
-    return ret;
-}
-
-
-XAresult XAPlaybackRateItfAdaptMMF_GetRateRange(XAAdaptationMMFCtx *bCtx,
-                                             XAuint8 index,
-                                             XApermille *pMinRate,
-                                             XApermille *pMaxRate,
-                                             XApermille *pStepSize,
-                                             XAuint32 *pCapabilities)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* mCtx;
-    XAboolean forward = XA_BOOLEAN_FALSE;
-    XAboolean backward = XA_BOOLEAN_FALSE;
-    XAuint8 allowedindex = 0;
-    
-    DEBUG_API("->XAPlaybackRateItfAdaptMMF_GetRateRange");
-
-    if( !bCtx || bCtx->baseObj.ctxId != XAMediaPlayerAdaptation )
-    {
-        DEBUG_ERR("Invalid context!");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    mCtx = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-    ret = mmf_playbackrateitf_get_playbackratecaps(mCtx->mmfContext, &forward, &backward);
-    if(ret == XA_RESULT_SUCCESS)
-        {
-        if(forward == XA_BOOLEAN_TRUE)
-            {
-            allowedindex++;
-            }
-        if(backward == XA_BOOLEAN_TRUE)
-            {
-            allowedindex++;
-            }
-    
-        if( index > allowedindex )
-            {
-            ret = XA_RESULT_PARAMETER_INVALID;
-            }
-        else
-            {
-            switch(index)
-                {
-                case 0:
-                    {
-                    *pMinRate = 0;
-                    *pMaxRate = 1000;
-                    *pStepSize = 0; /* continuous range */
-                    *pCapabilities = XA_RATEPROP_SMOOTHVIDEO | XA_RATEPROP_NOPITCHCORAUDIO;
-                    break;
-                    }
-                case 1:
-                    {
-                    *pMinRate = 2000;
-                    *pMaxRate = 4000;
-                    *pStepSize = 0; /* continuous range */
-                    *pCapabilities = SUPPORTEDPROPS;
-                    break;
-                    }
-                case 2:
-                    {
-                    *pMinRate = MINRATE;
-                    *pMaxRate = MINRATE;
-                    *pStepSize = 0; /* continuous range */
-                    *pCapabilities = SUPPORTEDPROPS;
-                    break;
-                    }
-                }
-            }
-        }
-
-    DEBUG_API("<-XAPlaybackRateItfAdaptMMF_GetRateRange");
-    return ret;
-}
-
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaplaybackrateitfadaptationmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef XAPLAYBACKRATEITFADAPTATION_H
-#define XAPLAYBACKRATEITFADAPTATION_H
-
-#include "xaadaptationmmf.h"
-
-
-/* FUNCTIONS */
-
-XAresult XAPlaybackRateItfAdaptMMF_SetRate(XAAdaptationMMFCtx *bCtx, XApermille rate);
-
-XAresult XAPlaybackRateItfAdaptMMF_SetPropertyConstraints(XAAdaptationMMFCtx *bCtx,
-                                                        XAuint32 constraints);
-
-XAresult XAPlaybackRateItfAdaptMMF_GetProperties(XAAdaptationMMFCtx *bCtx,
-                                               XAuint32 *pProperties);
-
-XAresult XAPlaybackRateItfAdaptMMF_GetCapabilitiesOfRate(XAAdaptationMMFCtx *bCtx,
-                                                       XApermille rate,
-                                                       XAuint32 *pCapabilities);
-
-XAresult XAPlaybackRateItfAdaptMMF_GetRateRange(XAAdaptationMMFCtx *bCtx,
-                                              XAuint8 index,
-                                              XApermille *pMinRate,
-                                              XApermille *pMaxRate,
-                                              XApermille *pStepSize,
-                                              XAuint32 *pCapabilities);
-
-#endif /* XAPLAYBACKRATEITFADAPTATION_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaplayitfadaptationmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,327 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Play Itf Adapt MMF
- *
- */
-
-#include "unistd.h"
-#include "xamediaplayeradaptctxmmf.h"
-#include "xaplayitfadaptationmmf.h"
-#include "xaadaptationmmf.h"
-#include "cmmfbackendengine.h"
-#include "cmmfradiobackendengine.h"
-#include <glib.h>
-
-/*forward declaration of position updater callback*/
-gboolean XAPlayItfAdapt_PositionUpdate(gpointer ctx);
-
-/*
- * XAresult XAPlayItfAdaptMMF_SetPlayState(XAAdaptationBaseCtx *bCtx, XAuint32 state)
- * Sets play state to GStreamer.
- * @param XAAdaptationBaseCtx *bCtx - Adaptation context, this will be casted to correct type regarding to contextID
- * XAuint32 state - Play state to be set
- * @return XAresult ret - Success value
- */
-XAresult XAPlayItfAdaptMMF_SetPlayState(XAAdaptationBaseCtx *bCtx,
-        XAuint32 state)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* mCtx;
-    if (!bCtx)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-
-    mCtx = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-
-    DEBUG_API_A1("->XAPlayItfAdaptMMF_SetPlayState %s",PLAYSTATENAME(state));
-
-    /* bCtx and parameter pointer validation happens in the calling function.
-     * We don't need to repeat it here*/
-    switch (state)
-        {
-        case XA_PLAYSTATE_STOPPED:
-            {
-            if (bCtx->ctxId == XARadioAdaptation)
-                {
-                mmf_set_player_adapt_context(cmmfradiobackendengine_init(),
-                        bCtx);
-                stop_radio(cmmfradiobackendengine_init());
-                }
-            else
-                {
-                ret = mmf_playitf_stop_playback(mCtx->mmfContext);
-                }
-            break;
-            }
-        case XA_PLAYSTATE_PAUSED:
-            ret = mmf_playitf_pause_playback(mCtx->mmfContext);
-            break;
-        case XA_PLAYSTATE_PLAYING:
-            {
-            if (bCtx->ctxId == XARadioAdaptation)
-                {
-                mmf_set_player_adapt_context(cmmfradiobackendengine_init(),
-                        bCtx);
-                play_radio(cmmfradiobackendengine_init());
-                }
-            else
-                {
-                ret = mmf_playitf_resume_playback(mCtx->mmfContext);
-                }
-            break;
-            }
-        default:
-            ret = XA_RESULT_PARAMETER_INVALID;
-            break;
-        }
-
-    DEBUG_API("<-XAPlayItfAdaptMMF_SetPlayState");
-    return ret;
-    }
-
-/*
- * XAresult XAPlayItfAdaptMMF_GetPlayState(XAAdaptationBaseCtx *bCtx, XAuint32 *pState)
- * @param XAAdaptationBaseCtx *bCtx - Adaptation context, this will be casted to correct type regarding to contextID
- * XAuint32 *state - XAmillisecond *pMsec - Pointer where to store play state
- * @return XAresult ret - Success value
- */
-XAresult XAPlayItfAdaptMMF_GetPlayState(XAAdaptationBaseCtx *bCtx,
-        XAuint32 *pState)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* pSelf;
-    if (!bCtx || !pState)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-
-    pSelf = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    DEBUG_API("->XAPlayItfAdaptMMF_GetPlayState");
-
-    /* If playhead reaches eof, state will transition to paused.
-     * This object does not have visibility to callback*/
-    ret = mmf_playitf_get_play_state(pSelf->mmfContext, pState);
-
-    DEBUG_API("<-XAPlayItfAdaptMMF_GetPlayState");
-    return ret;
-
-    }
-
-/*
- * XAresult XAPlayItfAdaptMMF_GetDuration(XAAdaptationBaseCtx *bCtx, XAmillisecond *pMsec)
- * @param XAAdaptationBaseCtx *bCtx - Adaptation context, this will be casted to correct type regarding to contextID
- * XAmillisecond *pMsec - Pointer where to store duration of stream.
- * @return XAresult ret - Success value
- */
-XAresult XAPlayItfAdaptMMF_GetDuration(XAAdaptationBaseCtx *bCtx,
-        XAmillisecond *pMsec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* pSelf;
-    if (!bCtx || !pMsec)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-
-    pSelf = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    DEBUG_API("->XAPlayItfAdaptMMF_GetDuration");
-
-    ret = mmf_playitf_get_duration(pSelf->mmfContext, pMsec);
-
-    DEBUG_API("<-XAPlayItfAdaptMMF_GetDuration");
-    return ret;
-    }
-
-/*
- * XAresult XAPlayItfAdaptMMF_GetPosition(XAAdaptationBaseCtx *bCtx, XAmillisecond *pMsec)
- * @param XAAdaptationBaseCtx *bCtx - Adaptation context, this will be casted to correct type regarding to contextID value
- * XAmillisecond *pMsec - Pointer where to store current position in stream.
- * @return XAresult ret - Success value
- */
-XAresult XAPlayItfAdaptMMF_GetPosition(XAAdaptationBaseCtx *bCtx,
-        XAmillisecond *pMsec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* pSelf;
-    if (!bCtx || !pMsec)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-
-    pSelf = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    DEBUG_API("->XAPlayItfAdaptMMF_GetPosition");
-
-    ret = mmf_playitf_get_position(pSelf->mmfContext, pMsec);
-
-    DEBUG_API("<-XAPlayItfAdaptMMF_GetPosition");
-    return ret;
-    }
-
-/*
- * XAresult XAPlayItfAdaptMMF_RegisterCallback(XAAdaptationBaseCtx *bCtx, xaPlayCallback callback)
- * Description: Sets the playback callback function.
- */
-XAresult XAPlayItfAdaptMMF_RegisterCallback(XAAdaptationBaseCtx *bCtx,
-        xaPlayCallback callback)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* pSelf;
-    if (!bCtx)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-
-    pSelf = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    DEBUG_API("->XAPlayItfAdaptMMF_RegisterCallback");
-
-    ret = mmf_playitf_register_callback(pSelf->mmfContext, callback);
-
-    DEBUG_API("<-XAPlayItfAdaptMMF_RegisterCallback");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfAdaptMMF_SetCallbackEventsMask(XAAdaptationBaseCtx *bCtx, XAuint32 eventFlags)
- * Description: Enables/disables notification of playback events.
- **/
-XAresult XAPlayItfAdaptMMF_SetCallbackEventsMask(XAAdaptationBaseCtx *bCtx,
-        XAuint32 eventFlags)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* pSelf;
-    if (!bCtx)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-
-    pSelf = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    DEBUG_API("->XAPlayItfAdaptMMF_SetCallbackEventsMask");
-
-    ret = mmf_playitf_set_callback_events_mask(pSelf->mmfContext, eventFlags);
-
-    DEBUG_API("<-XAPlayItfAdaptMMF_SetCallbackEventsMask");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfAdaptMMF_SetMarkerPosition(XAAdaptationBaseCtx *bCtx, XAmillisecond mSec)
- * Description: Sets marker position.
- **/
-XAresult XAPlayItfAdaptMMF_SetMarkerPosition(XAAdaptationBaseCtx *bCtx,
-        XAmillisecond mSec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* pSelf;
-    if (!bCtx)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-
-    pSelf = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    DEBUG_API("->XAPlayItfAdaptMMF_SetMarkerPosition");
-
-    ret = mmf_playitf_set_marker_position(pSelf->mmfContext, mSec);
-
-    DEBUG_API("<-XAPlayItfAdaptMMF_SetMarkerPosition");
-    return ret;
-    }
-
-/**
- * XAresult XAPlayItfAdaptMMF_SetCallbackEventsMask(XAAdaptationBaseCtx *bCtx, XAuint32 eventFlags)
- * Description: Clears marker position.
- **/
-XAresult XAPlayItfAdaptMMF_ClearMarkerPosition(XAAdaptationBaseCtx *bCtx)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* pSelf;
-    if (!bCtx)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-
-    pSelf = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    DEBUG_API("->XAPlayItfAdaptMMF_ClearMarkerPosition");
-
-    ret = mmf_playitf_clear_marker_position(pSelf->mmfContext);
-
-    DEBUG_API("<-XAPlayItfAdaptMMF_ClearMarkerPosition");
-    return ret;
-    }
-
-/**
- * XAPlayItfAdaptMMF_SetPositionUpdatePeriod(XAAdaptationBaseCtx *bCtx, XAmillisecond mSec)
- * Description: Sets position update period.
- **/
-XAresult XAPlayItfAdaptMMF_SetPositionUpdatePeriod(XAAdaptationBaseCtx *bCtx,
-        XAmillisecond mSec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* pSelf;
-    if (!bCtx)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-
-    pSelf = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    DEBUG_API("->XAPlayItfAdaptMMF_SetPositionUpdatePeriod");
-
-    ret = mmf_playitf_set_position_update_period(pSelf->mmfContext, mSec);
-
-    DEBUG_API("<-XAPlayItfAdaptMMF_SetPositionUpdatePeriod");
-    return ret;
-    }
-/*
- * XAresult XAPlayItfAdapt_StateChange
- * Handle callback from Radio utility 
- */
-void XAPlayItfAdaptMMF_StateChange(XAAdaptationBaseCtx *bCtx,
-        XAboolean playing)
-    {
-    if (playing)
-        {
-        XAAdaptEvent event =
-            {
-            XA_PLAYITFEVENTS, XA_PLAYEVENT_HEADMOVING, 1, 0
-            };
-        XAAdaptationBase_SendAdaptEvents(bCtx, &event);
-        }
-    else
-        {
-        XAAdaptEvent event =
-            {
-            XA_PLAYITFEVENTS, XA_PLAYEVENT_HEADSTALLED, 1, 0
-            };
-        XAAdaptationBase_SendAdaptEvents(bCtx, &event);
-        }
-
-    }
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaplayitfadaptationmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Play Itf Adaptation MMF Header
- *
- */
-
-#ifndef XAPLAYITFADAPTATIONMMF_H
-#define XAPLAYITFADAPTATIONMMF_H
-
-#include "xaadaptationmmf.h"
-
-#ifdef _DEBUG
-/*parse state names for debug prints*/
-static const char* playstatenamemmf[3] =
-    {
-    "XA_PLAYSTATE_STOPPED", "XA_PLAYSTATE_PAUSED", "XA_PLAYSTATE_PLAYING"
-    };
-#define PLAYSTATENAME(i) (const char*)((i>0&&i<4)?playstatenamemmf[i-1]:"INVALID")
-#endif /*_DEBUG*/
-
-/* FUNCTIONS */
-
-XAresult XAPlayItfAdaptMMF_SetPlayState(XAAdaptationBaseCtx *bCtx,
-        XAuint32 state);
-XAresult XAPlayItfAdaptMMF_GetPlayState(XAAdaptationBaseCtx *bCtx,
-        XAuint32 *pState);
-XAresult XAPlayItfAdaptMMF_GetDuration(XAAdaptationBaseCtx *bCtx,
-        XAmillisecond *pMsec);
-XAresult XAPlayItfAdaptMMF_GetPosition(XAAdaptationBaseCtx *bCtx,
-        XAmillisecond *pMsec);
-XAresult XAPlayItfAdaptMMF_RegisterCallback(XAAdaptationBaseCtx *bCtx,
-        xaPlayCallback callback);
-XAresult XAPlayItfAdaptMMF_SetCallbackEventsMask(XAAdaptationBaseCtx *bCtx,
-        XAuint32 eventFlags);
-XAresult XAPlayItfAdaptMMF_SetMarkerPosition(XAAdaptationBaseCtx *bCtx,
-        XAmillisecond mSec);
-XAresult XAPlayItfAdaptMMF_ClearMarkerPosition(XAAdaptationBaseCtx *bCtx);
-XAresult XAPlayItfAdaptMMF_SetPositionUpdatePeriod(XAAdaptationBaseCtx *bCtx,
-        XAmillisecond mSec);
-void XAPlayItfAdaptMMF_StateChange(XAAdaptationBaseCtx *bCtx,
-        XAboolean playing);
-#endif /* XAPLAYITFADAPTATIONMMF_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaradioadaptctx.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#include "xaradioadaptctx.h"
-#include "xaadaptationmmf.h"
-#include "cmmfradiobackendengine.h"
-#include "assert.h"
-
-/*
- * XAAdaptationMMFCtx* XARadioAdapt_Create()
- * Allocates memory for Radio Adaptation Context and makes 1st phase initialization
- * @returns XARadioAdaptationCtx* - Pointer to created context
- */
-XAAdaptationBaseCtx* XARadioAdapt_Create()
-{
-    XARadioAdaptationCtx *pSelf = (XARadioAdaptationCtx*)calloc(1, sizeof(XARadioAdaptationCtx));
-    DEBUG_API("->XARadioAdapt_Create");
-
-    if ( pSelf)
-    {
-        if( XAAdaptationBase_Init(&(pSelf->baseObj.baseObj),XARadioAdaptation)
-                    != XA_RESULT_SUCCESS )
-      	{
-        	DEBUG_ERR("Failed to init base context!!!");
-         	free(pSelf);
-        	pSelf = NULL;
-        	return (XAAdaptationBaseCtx*)pSelf;
-      	}
-     		else
-       	{
-       		pSelf->range = RADIO_DEFAULT_FREQ_RANGE;
-        	pSelf->frequency = RADIO_DEFAULT_FREQ;
-        	pSelf->rdsEmulationThread = 0;
-       		pSelf->emulationThread = 0;
-       	}
-    }
-
-    DEBUG_API("<-XARadioAdapt_Create");
-    return (XAAdaptationBaseCtx*)&pSelf->baseObj;
-}
-
-/*
- * XAresult XARadioAdapt_PostInit()
- * 2nd phase initialization of Radio Adaptation Context
- */
-XAresult XARadioAdapt_PostInit(XAAdaptationBaseCtx* bCtx)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioAdaptationCtx* ctx = NULL;
-    DEBUG_API("->XARadioAdapt_PostInit");
-    if(bCtx == NULL || bCtx->ctxId != XARadioAdaptation )
-    {
-        DEBUG_ERR("Invalid parameter!!");
-        DEBUG_API("<-XARadioAdapt_PostInit");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    ctx = (XARadioAdaptationCtx*)bCtx;
-    assert(ctx);
-
-    ret = XAAdaptationBase_PostInit( &ctx->baseObj.baseObj );
-    if( ret!=XA_RESULT_SUCCESS )
-    {
-        DEBUG_ERR("Base context postinit failed!!");
-        DEBUG_API("<-XARadioAdapt_PostInit");
-        return ret;
-    }
-
-		cmmfradiobackendengine_init(); 
-
-    DEBUG_API("<-XARadioAdapt_PostInit");
-    return ret;
-}
-
-/*
- * void XARadioAdapt_Destroy(XAAdaptationMMFCtx* bCtx)
- * Destroys Radio Adaptation Context
- * @param ctx - Radio Adaptation context to be destroyed
- */
-void XARadioAdapt_Destroy(XAAdaptationBaseCtx* bCtx)
-{
-		XARadioAdaptationCtx* ctx = NULL;
-    DEBUG_API("->XARadioAdapt_Destroy");
-    
-		cmmfradiobackendengine_delete(cmmfradiobackendengine_init());    
-
-    if(bCtx == NULL || bCtx->ctxId != XARadioAdaptation )
-    {
-        DEBUG_ERR("Invalid parameter!!");
-        DEBUG_API("<-XARadioAdapt_Destroy");
-        return;
-    }
-    ctx = (XARadioAdaptationCtx*)bCtx;
-    XAAdaptationBase_Free(&(ctx->baseObj.baseObj));
-
-    free(ctx);
-
-    DEBUG_API("<-XARadioAdapt_Destroy");
-}
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaradioadaptctx.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef XARADIOADAPTCTX_H
-#define XARADIOADAPTCTX_H
-
-#include "xaadaptationmmf.h"
-
-
-#define RADIO_DEFAULT_FREQ_RANGE XA_FREQRANGE_FMEUROAMERICA
-#define RADIO_DEFAULT_FREQ 88000000
-
-/* TYPEDEFS */
-typedef struct XARadioAdaptationCtx_ XARadioAdaptationCtx;
-
-/* FUNCTIONS */
-XAAdaptationBaseCtx* XARadioAdapt_Create(void);
-XAresult XARadioAdapt_PostInit(XAAdaptationBaseCtx* bCtx);
-void XARadioAdapt_Destroy(XAAdaptationBaseCtx* bCtx);
-
-#endif /* XARADIOADAPTCTX_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaradioitfadaptation.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-*
-*/
-
-#include <unistd.h>
-#include "xadebug.h"
-#include "xaadaptationmmf.h"
-#include "xaradioitfadaptation.h"
-#include "xaradioadaptctx.h"
-#include "cmmfradiobackendengine.h"
-
-/*
- * XAresult XARadioItfAdapt_SetFreqRange(XAAdaptationMMFCtx *bCtx, XAuint8 range)
- */
-XAresult XARadioItfAdapt_SetFreqRange(XAAdaptationMMFCtx *bCtx, XAuint8 range)
-{
-    XAresult ret = XA_RESULT_SUCCESS;  
-    DEBUG_API("->XARadioItfAdapt_SetFreqRange");    
-    mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);		
-    set_freq_range(cmmfradiobackendengine_init(), range);    
-    DEBUG_API("<-XARadioItfAdapt_SetFreqRange");
-    return ret;
-}
-
-/*
- * XAresult XARadioItfAdapt_GetFreqRange(XAuint8 * pFreqRange)
- *
- */
-XAresult XARadioItfAdapt_GetFreqRange(XAuint8 * pFreqRange)
-{
-    XAresult res = XA_RESULT_SUCCESS;    
-    DEBUG_API("->XARadioItfAdapt_GetFreqRange");    
- 		res = get_freq_range(cmmfradiobackendengine_init(), pFreqRange);
-    DEBUG_API("<-XARadioItfAdapt_GetFreqRange");
-    return res;
-}
-
-/*
- *  XAresult XARadioItfAdapt_IsFreqRangeSupported(XAuint8 range,
- *                                                XAboolean * pSupported)
- */
-XAresult XARadioItfAdapt_IsFreqRangeSupported(XAuint8 range,
-                                             XAboolean * pSupported)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XARadioItfAdapt_IsFreqRangeSupported");    
-    if ((range == XA_FREQRANGE_FMEUROAMERICA) || (range == XA_FREQRANGE_FMJAPAN)) 
-        {	
- 			*pSupported = XA_BOOLEAN_TRUE;   
- 		}
- 		else
- 			*pSupported = XA_BOOLEAN_FALSE;
- 			 
-    DEBUG_API("<-XARadioItfAdapt_IsFreqRangeSupported");
-    return ret;
-}
-
-/*
- * XAresult XARadioItfAdapt_GetFreqRangeProperties(XAAdaptationMMFCtx *bCtx,
- *                                                 XAuint8 range,
- *                                                 XAuint32 * pMinFreq,
- *                                                 XAuint32 * pMaxFreq)
- */
-XAresult XARadioItfAdapt_GetFreqRangeProperties(XAAdaptationMMFCtx *bCtx,
-                                               XAuint8  range,
-                                               XAuint32 * pMinFreq,
-                                               XAuint32 * pMaxFreq)
-{
-    XAresult res = XA_RESULT_SUCCESS;    
-    DEBUG_API("->XARadioItfAdapt_GetFreqRangeProperties");
-    mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);		
- 		res = get_freq_range_properties(cmmfradiobackendengine_init(), range, pMinFreq, pMaxFreq); 					 		
-    DEBUG_API("<-XARadioItfAdapt_GetFreqRangeProperties");
-    return res;
-}
-
-/*
- * XAresult XARadioItfAdapt_SetFrequency(XAAdaptationMMFCtx *bCtx, XAuint32 freq)
- */
-XAresult XARadioItfAdapt_SetFrequency(XAAdaptationMMFCtx *bCtx, XAuint32 freq)
-{
-    XAresult ret = XA_RESULT_SUCCESS; 
-    DEBUG_API("->XARadioItfAdapt_SetFrequency");    
-    mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);
-    set_frequency(cmmfradiobackendengine_init(), freq);    
-    DEBUG_API("<-XARadioItfAdapt_SetFrequency");
-    return ret;
-}
-
-
-/*
- * XAresult XARadioItfAdapt_GetFrequency(XAAdaptationMMFCtx *bCtx,
- *                                       XAuint32* pFrequency)
- */
-XAresult XARadioItfAdapt_GetFrequency(XAuint32* pFrequency)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XARadioItfAdapt_GetFrequency");	
-		ret = get_frequency(cmmfradiobackendengine_init(), pFrequency);       
-   DEBUG_API("<-XARadioItfAdapt_GetFrequency");
-   return ret;
-}
-
-
-/*
- * XAresult XARadioItfAdapt_CancelSetFrequency()
- */
-XAresult XARadioItfAdapt_CancelSetFrequency()
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    DEBUG_API("->XARadioItfAdapt_CancelSetFrequency");
-		cancel_set_frequency(cmmfradiobackendengine_init());     
-    DEBUG_API("<-XARadioItfAdapt_CancelSetFrequency");
-    return ret;
-}
-
-/*
- * XAresult XARadioItfAdapt_SetSquelch(XAboolean squelch)
- */
-XAresult XARadioItfAdapt_SetSquelch(XAboolean squelch)
-{	
-    XAresult ret = XA_RESULT_FEATURE_UNSUPPORTED;	
-    DEBUG_API("->XARadioItfAdapt_SetSquelch");
-    return ret;
-}
-
-/*
- * XAresult XARadioItfAdapt_GetSquelch(XAboolean *squelch)
- */
-XAresult XARadioItfAdapt_GetSquelch(XAboolean* squelch)
-{
-    XAresult ret = XA_RESULT_FEATURE_UNSUPPORTED;	
-    DEBUG_API("->XARadioItfAdapt_GetSquelch");
-    return ret;
-}
-
-/*
- * XAresult XARadioItfAdapt_SetStereoMode(XAAdaptationMMFCtx *bCtx, XAuint32 mode)
- */
-XAresult XARadioItfAdapt_SetStereoMode(XAAdaptationMMFCtx *bCtx, XAuint32 mode)
-{
-		XAresult res = XA_RESULT_SUCCESS;   	
-    DEBUG_API("->XARadioItfAdapt_SetStereoMode");
-    mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);
-    res = set_stereo_mode(cmmfradiobackendengine_init(), mode);    
-    DEBUG_API("<-XARadioItfAdapt_SetStereoMode");
-    return res;
-}
-
-/*
- * XAresult XARadioItfAdapt_GetSignalStrength(XAuint32 * pStrength)
- */
-XAresult XARadioItfAdapt_GetSignalStrength(XAuint32 * pStrength)
-{
- 		XAresult ret = XA_RESULT_SUCCESS;   	
-    DEBUG_API("->XARadioItfAdapt_GetSignalStrength");  		
-		ret = get_signal_strength(cmmfradiobackendengine_init(), pStrength);    
-    DEBUG_API("<-XARadioItfAdapt_GetSignalStrength");
-    return ret;
-}
-
-/*
- * XAresult XARadioItfAdapt_Seek(XAAdaptationMMFCtx *bCtx, XAboolean upwards)
- */
-XAresult XARadioItfAdapt_Seek(XAAdaptationMMFCtx *bCtx, XAboolean upwards)
-{
-    XAresult ret = XA_RESULT_SUCCESS;          
- 		
-   	DEBUG_API("->XARadioItfAdapt_Seek");	    
-    mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);     	
-		station_seek(cmmfradiobackendengine_init(), upwards);   				
-    DEBUG_API("<-XARadioItfAdapt_Seek");
-    return ret;
-}
-
-/*
- * void XARadioItfAdapt_StopSeeking(XAAdaptationMMFCtx *bCtx)
- */
-void XARadioItfAdapt_StopSeeking(XAAdaptationMMFCtx *bCtx)
-{
-    DEBUG_API("->XARadioItfAdapt_StopSeeking");	
-    mmf_set_radio_adapt_context(cmmfradiobackendengine_init(), bCtx);	
-		cancel_station_seek(cmmfradiobackendengine_init());   
-    DEBUG_API("<-XARadioItfAdapt_StopSeeking");
-}
-
-/*
- * XAresult XARadioItfAdapt_GetStereoMode(XAuint32 * pMode)
- */
-XAresult XARadioItfAdapt_GetStereoMode(XAuint32 * pMode)
-{
- 		XAresult ret = XA_RESULT_SUCCESS;   	
-    DEBUG_API("->XARadioItfAdapt_GetStereoMode");  		
-		ret = get_stereo_mode(cmmfradiobackendengine_init(), pMode);    
-    DEBUG_API("<-XARadioItfAdapt_GetStereoMode");
-    return ret;
-}
-
-/*
- * void XARadioItfAdapt_Free()
- */
-void XARadioItfAdapt_Free()
-{
-    DEBUG_API("->XARadioItfAdapt_Free");
-    
-}
-
-void XARadioItfAdapt_SeekComplete(XAAdaptationBaseCtx *ctx, TInt aError, TInt aFrequency)
-{
-   	XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_SEEK_COMPLETE,1,0};        	
-		if (ctx)
-    {
-    	if (aError)
-    	{
-    		event.data = &aError;
-    	}
-    	else
-    	{
-   			event.data = &aFrequency;
-   		}
-   		
-     	XAAdaptationBase_SendAdaptEvents(ctx, &event );
-   	}   
-}
-
-void XARadioItfAdapt_FrequencyChange(XAAdaptationBaseCtx *ctx, TInt aFrequency)
-{
-		// Currently: Bug in FM Radio Utility: SetFrequency calls this callback as well as SetFrequencyComplete
-		// (So client will end up getting 2 events on a SetFrequency call)
-   	XAuint32 freq = aFrequency;    		
-    XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_CHANGED,1,0};        	
-		if (ctx)
-    {
-    	event.data = &freq;
-     	XAAdaptationBase_SendAdaptEvents(ctx, &event );
-   	}  
-}
-
-void XARadioItfAdapt_FrequencyRangeChange(XAAdaptationBaseCtx* ctx, TInt aFreqRangeChange)
-{
-		// Currently: Bug in FM Radio Utility: SetFrequencyRange triggers this callback as well as SetFrequencyRangeComplete
-		
-   /*	XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED,1,0};        	
-		if (baseCtx)
-    {
-    	event.data = &aFreqRangeChange;
-     	XAAdaptationBase_SendAdaptEvents(&baseCtx->baseObj, &event );
-   	} 
-   	*/  
-}
-
-void XARadioItfAdapt_SetFrequencyComplete(XAAdaptationBaseCtx *ctx, TInt aError, TInt aFrequency)
-{
-		// Currently: Qt API has no event for SetFrequencyComplete, so must use this one:
-   	XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_CHANGED,1,0};   
-   	XAuint32 freq = aFrequency;     	
-		if (ctx)
-    {
-    	if (!aError)
-    	{
-    		event.data = &freq;
-    	}
-    	else
-    	{
-    		event.data = &aError;
-    	}
-     	XAAdaptationBase_SendAdaptEvents(ctx, &event );
-   	}   
-}
-
-void XARadioItfAdapt_SetFrequencyRangeComplete(XAAdaptationBaseCtx *ctx, TInt aError)
-{
-   	XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED,1,0};        	
-		if (ctx)
-    {
-    	event.data = &aError;
-     	XAAdaptationBase_SendAdaptEvents(ctx, &event );
-   	}   
-}
-
-void XARadioItfAdapt_StereoStatusChange(XAAdaptationBaseCtx *ctx, XAboolean aStereoStatus)
-{
-   	XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_STEREO_STATUS_CHANGED,1,0}; 
-  	DEBUG_INFO_A1("XARadioItfAdapt_StereoStatusChange to: %s", aStereoStatus);	   	       	
-		if (ctx)
-    {
-    	event.data = &aStereoStatus;
-     	XAAdaptationBase_SendAdaptEvents(ctx, &event );
-   	}   
-}
-
-void XARadioItfAdapt_SignalStrengthChange(XAAdaptationBaseCtx *ctx, TInt aSignalStrength)
-{
-   	XAAdaptEvent event = {XA_RADIOITFEVENTS, XA_ADAPT_RADIO_SIGNAL_STRENGTH_CHANGED,1,0}; 
-  	DEBUG_INFO_A1("XARadioItfAdapt_SignalStrengthChange to: %s", aSignalStrength);	   	       	
-		if (ctx)
-    {
-    	event.data = &aSignalStrength;
-     	XAAdaptationBase_SendAdaptEvents(ctx, &event );
-   	}   
-}
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaradioitfadaptation.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-#ifndef XARADIOITFFADAPTATION_H
-#define XARADIOITFFADAPTATION_H
-
-#include "xaadaptationmmf.h"
-#include "xadebug.h"
-
-/* FUNCTIONS */
-
-XAresult XARadioItfAdapt_SetFreqRange(XAAdaptationMMFCtx *bCtx, XAuint8 range);
-
-XAresult XARadioItfAdapt_GetFreqRange(XAuint8 * pFreqRange);
-
-XAresult XARadioItfAdapt_IsFreqRangeSupported(XAuint8 range,
-                                             XAboolean * pSupported);
-
-XAresult XARadioItfAdapt_GetFreqRangeProperties(XAAdaptationMMFCtx *bCtx,
-                                               XAuint8 		range,
-                                               XAuint32 * pMinFreq,
-                                               XAuint32 * pMaxFreq);
-
-XAresult XARadioItfAdapt_SetFrequency(XAAdaptationMMFCtx *bCtx, XAuint32 freq);
-
-XAresult XARadioItfAdapt_GetFrequency(XAuint32 * pFrequency);
-
-XAresult XARadioItfAdapt_CancelSetFrequency(void);
-XAresult XARadioItfAdapt_SetSquelch(XAboolean squelch);
-
-XAresult XARadioItfAdapt_GetSquelch(XAboolean* squelch);
-
-XAresult XARadioItfAdapt_SetStereoMode(XAAdaptationMMFCtx *bCtx, XAuint32 mode);
-
-XAresult XARadioItfAdapt_GetSignalStrength(XAuint32 * pStrength);
-
-XAresult XARadioItfAdapt_Seek(XAAdaptationMMFCtx *bCtx, XAboolean upwards);
-
-void XARadioItfAdapt_StopSeeking(XAAdaptationMMFCtx *bCtx);
-
-void XARadioItfAdapt_Free(void);
-
-void XARadioItfAdapt_SeekComplete(XAAdaptationBaseCtx *ctx, TInt aError, TInt aFrequency);
-	
-void XARadioItfAdapt_FrequencyChange(XAAdaptationBaseCtx *ctx, TInt aError);
-
-void XARadioItfAdapt_FrequencyRangeChange(XAAdaptationBaseCtx *ctx, TInt aFreqRangeChange);
-
-void XARadioItfAdapt_SetFrequencyComplete(XAAdaptationBaseCtx *ctx, TInt aError, TInt aFrequency);
-
-void XARadioItfAdapt_SetFrequencyRangeComplete(XAAdaptationBaseCtx *ctx, TInt aError);
-
-XAresult XARadioItfAdapt_GetStereoMode(XAuint32 * pMode);
-
-void XARadioItfAdapt_StereoStatusChange(XAAdaptationBaseCtx *ctx, XAboolean aStereoStatus);
-
-void XARadioItfAdapt_SignalStrengthChange(XAAdaptationBaseCtx *ctx, TInt aSignalStrength);
-
-#endif /* XARADIOITFADAPTATION_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xarecorditfadaptationmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: 
- *
- */
-
-#include "xamediarecorderadaptctxmmf.h"
-#include "xarecorditfadaptationmmf.h"
-#include "cmmfbackendengine.h"
-#include "xaadaptationmmf.h"
-#include "xaadptbasectx.h"
-
-/*
- * XAresult XARecordItfAdaptMMF_SetRecordState(XAAdaptationMMFCtx *ctx, XAuint32 state)
- * Sets record state to GStreamer.
- * @param XAAdaptationBaseCtx *ctx - Adaptation context
- * XAuint32 state - Record state to be set
- * @return XAresult ret - Success value
- */
-XAresult XARecordItfAdaptMMF_SetRecordState(XAAdaptationMMFCtx *bCtx,
-        XAuint32 state)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    int mmfretCode;
-    XAAdaptEvent stalledevent =
-        {
-        XA_RECORDITFEVENTS, XA_RECORDEVENT_HEADSTALLED, 0, NULL
-        };
-    XAMediaRecorderAdaptationMMFCtx* mCtx = NULL;
-    DEBUG_API_A1("->XARecordItfAdaptMMF_SetRecordState %s",RECORDSTATENAME(state));
-    if (!bCtx)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfAdaptMMF_SetRecordState");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    mCtx = (XAMediaRecorderAdaptationMMFCtx*) bCtx;
-
-    mCtx->isRecord = XA_BOOLEAN_TRUE;
-
-    switch (state)
-        {
-        case XA_RECORDSTATE_STOPPED:
-            {
-            mmfretCode = mmf_stop_recording(mCtx->mmfContext, TRUE);
-            if (mmfretCode != XA_RESULT_SUCCESS)
-                {
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            break;
-            }
-        case XA_RECORDSTATE_PAUSED:
-            {
-            mmfretCode = mmf_stop_recording(mCtx->mmfContext, FALSE);
-            if (mmfretCode != XA_RESULT_SUCCESS)
-                {
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            else
-                {
-                XAAdaptationBase_SendAdaptEvents(&bCtx->baseObj,
-                        &stalledevent);
-                }
-            break;
-            }
-        case XA_RECORDSTATE_RECORDING:
-            {
-            mmfretCode = mmf_start_recording(mCtx->mmfContext);
-            if (mmfretCode != XA_RESULT_SUCCESS)
-                {
-                ret = XA_RESULT_PARAMETER_INVALID;
-                }
-            break;
-            }
-        default:
-            DEBUG_ERR("Unhandled state")
-            ;
-            ret = XA_RESULT_PARAMETER_INVALID;
-            break;
-        }
-
-    if (ret == XA_RESULT_SUCCESS)
-        {
-        mCtx->xaRecordState = state;
-        }
-
-    DEBUG_API("<-XARecordItfAdaptMMF_SetRecordState %d");
-    return ret;
-    }
-
-/*
- * XAresult XARecordItfAdapt_GetRecordState(XAAdaptationBaseCtx *bCtx, XAuint32 *state)
- * Description: Return record state
- */
-XAresult XARecordItfAdaptMMF_GetRecordState(XAAdaptationMMFCtx *bCtx,
-        XAuint32 *state)
-    {
-    XAMediaRecorderAdaptationMMFCtx* mCtx = NULL;
-    DEBUG_API("->XARecordItfAdaptMMF_GetRecordState");
-
-    if (!bCtx)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfAdaptMMF_GetRecordState");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    mCtx = (XAMediaRecorderAdaptationMMFCtx*) bCtx;
-
-    *state = mCtx->xaRecordState;
-
-    DEBUG_API("<-XARecordItfAdaptMMF_GetRecordState");
-    return XA_RESULT_SUCCESS;
-    }
-
-/*
- * XAresult XARecordItfAdapt_GetPosition(XAAdaptationBaseCtx *ctx, AdaptationContextIDS ctxIDs, XAmillisecond *pMsec)
- * @param XAAdaptationBaseCtx *ctx - Adaptation context, this will be casted to correct type regarding to contextID value given as 2nd parameter
- * XAmillisecond *pMsec - Pointer where to store current position in stream.
- * @return XAresult ret - Success value
- */
-XAresult XARecordItfAdaptMMF_GetPosition(XAAdaptationMMFCtx *bCtx,
-        XAmillisecond *pMsec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint64 position;
-    XAMediaRecorderAdaptationMMFCtx* mCtx = NULL;
-    DEBUG_API("->XARecordItfAdaptMMF_GetPosition");
-
-    if (!bCtx)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfAdaptMMF_GetPosition");
-        /* invalid parameter */
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-    mCtx = (XAMediaRecorderAdaptationMMFCtx*) bCtx;
-    ret = mmf_get_record_position(mCtx->mmfContext, &position);
-
-    *pMsec = (XAmillisecond) position;
-
-    DEBUG_API("<-XARecordItfAdaptMMF_GetPosition");
-    return ret;
-    }
-
-/*
- * gboolean XARecordItfAdapt_PositionUpdate(gpointer ctx)
- * callback.
- * If position tracking enabled, periodic timer calls this method every XA_ADAPT_PU_INTERVAL msecs
- * @return false to stop periodic calls
- */
-gboolean XARecordItfAdaptMMF_PositionUpdate(gpointer ctx, XAuint64 position)
-    {
-    XAAdaptationMMFCtx *bCtx = (XAAdaptationMMFCtx*) ctx;
-    XAMediaRecorderAdaptationMMFCtx* mCtx =
-            (XAMediaRecorderAdaptationMMFCtx*) ctx;
-    XAAdaptEvent event =
-        {
-        XA_RECORDITFEVENTS, XA_ADAPT_POSITION_UPDATE_EVT, 1, NULL
-        };
-    DEBUG_API("->XARecordItfAdapt_PositionUpdate");
-
-    if (mCtx && mCtx->trackpositionenabled)
-        {
-        XAmillisecond posInMsec = 0;
-            {
-            XARecordItfAdaptMMF_GetPosition(bCtx, &posInMsec);
-            event.data = &posInMsec;
-            DEBUG_API_A1("XARecordItfAdapt_PositionUpdate: pos %lu ms", posInMsec);
-            XAAdaptationBase_SendAdaptEvents(&bCtx->baseObj, &event);
-            }
-            DEBUG_API_A1("<-XARecordItfAdapt_PositionUpdate: %d", mCtx->runpositiontimer);
-        return (mCtx->runpositiontimer);
-        }
-    /* return false to stop timer */
-    return FALSE;
-    }
-
-/*
- * XAresult XARecordItfAdapt_EnablePositionTracking
- * Enable/disable periodic position tracking callbacks
- */
-XAresult XARecordItfAdaptMMF_EnablePositionTracking(XAAdaptationMMFCtx *bCtx,
-        XAboolean enable)
-    {
-    XAMediaRecorderAdaptationMMFCtx* mCtx =
-            (XAMediaRecorderAdaptationMMFCtx*) bCtx;
-    DEBUG_API_A1("->XARecordItfAdapt_EnablePositionTracking (enable: %lu)", enable);
-
-    if (!bCtx || bCtx->baseObj.ctxId != XAMediaRecorderAdaptation)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfAdapt_EnablePositionTracking");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* create a timer to track position of playback */
-    if (enable && !(mCtx->trackpositionenabled))
-        {
-        mCtx->trackpositionenabled = XA_BOOLEAN_TRUE;
-        //mCtx->positionCb = &XARecordItfAdaptMMF_PositionUpdate;
-
-        }
-    else if (!enable && (mCtx->trackpositionenabled))
-        {
-        mCtx->trackpositionenabled = XA_BOOLEAN_FALSE;
-        if (mCtx->runpositiontimer > 0)
-            {
-            mCtx->runpositiontimer = 0;
-            }
-        }
-
-    DEBUG_API("<-XARecordItfAdapt_EnablePositionTracking");
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult XARecordItfAdaptMMF_SetPositionUpdatePeriod(
-        XAAdaptationMMFCtx *bCtx, XAmillisecond pMsec)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaRecorderAdaptationMMFCtx* mCtx =
-            (XAMediaRecorderAdaptationMMFCtx*) bCtx;
-    DEBUG_API_A1("->XARecordItfAdaptMMF_SetPositionUpdatePeriod (pMsec: %lu)", pMsec);
-
-    if (!bCtx || bCtx->baseObj.ctxId != XAMediaRecorderAdaptation)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARecordItfAdapt_EnablePositionTracking");
-        /* invalid parameter */
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    ret = mmf_set_record_position_update_period(mCtx->mmfContext, pMsec);
-    return ret;
-    }
--- a/khronosfws/openmax_al/src/mmf_adaptation/xarecorditfadaptationmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Record Itf adapt header
- *
- */
-
-#ifndef XARECORDITFADAPTATIONMMF_H
-#define XARECORDITFADAPTATIONMMF_H
-
-#include "xaadaptationmmf.h"
-#include "xadebug.h"
-#include <glib.h>
-
-#ifdef _DEBUG
-/*parse state names for debug prints*/
-static const char* recordstatenamesmmf[3] =
-    {
-            "XA_RECORDSTATE_STOPPED",
-            "XA_RECORDSTATE_PAUSED",
-            "XA_RECORDSTATE_RECORDING",
-    };
-#define RECORDSTATENAME(i) ((i>0&&i<4)?recordstatenamesmmf[i-1]:"INVALID")
-#endif /*_DEBUG*/
-
-/*forward declaration of position updater callback*/
-gboolean XARecordItfAdaptMMF_PositionUpdate(gpointer ctx, XAuint64 position);
-
-/* FUNCTIONS */
-
-XAresult XARecordItfAdaptMMF_SetRecordState(XAAdaptationMMFCtx *ctx,
-        XAuint32 state);
-XAresult XARecordItfAdaptMMF_GetPosition(XAAdaptationMMFCtx *ctx,
-        XAmillisecond *pMsec);
-XAresult XARecordItfAdaptMMF_GetRecordState(XAAdaptationMMFCtx *bCtx,
-        XAuint32 *state);
-XAresult XARecordItfAdaptMMF_EnablePositionTracking(XAAdaptationMMFCtx *ctx,
-        XAboolean enable);
-XAresult XARecordItfAdaptMMF_SetPositionUpdatePeriod(XAAdaptationMMFCtx *ctx,
-        XAmillisecond pMsec);
-
-#endif /* XARECORDITFADAPTATIONMMF_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaseekitfadaptationmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Seek Itf Adaptation MMF
- *
- */
-
-#include <glib.h>
-#include "unistd.h"
-#include "xamediaplayeradaptctxmmf.h"
-#include "xaseekitfadaptationmmf.h"
-#include "cmmfbackendengine.h"
-
-/*
- * XAresult XAPlayItfAdaptMMF_SetPlayState(XAAdaptationBaseCtx *bCtx, XAuint32 state)
- * Sets play state to GStreamer.
- * @param XAAdaptationBaseCtx *bCtx - Adaptation context, this will be casted to correct type regarding to contextID
- * XAuint32 state - Play state to be set
- * @return XAresult ret - Success value
- */
-XAresult XASeekItfAdaptMMF_SetPosition(XAAdaptationBaseCtx *bCtx,
-        XAmillisecond pos, XAuint32 seekMode)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* mCtx =
-            (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    DEBUG_API("->XASeekItfAdaptMMF_SetPosition ");
-    ret = mmf_seekitf_set_position(mCtx->mmfContext, pos);
-    /* bCtx and parameter pointer validation happens in the calling function.
-     * We don't need to repeat it here*/
-
-    DEBUG_API("<-XASeekItfAdaptMMF_SetPosition");
-    return ret;
-    }
-
-XAresult XASeekItfAdaptMMF_SetLoop(XAAdaptationBaseCtx *bCtx,
-        XAboolean loopEnable, XAmillisecond startPos, XAmillisecond endPos)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAMediaPlayerAdaptationMMFCtx* mCtx =
-            (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
-    DEBUG_API("->XASeekItfAdaptMMF_SetLoop ");
-
-    /* bCtx and parameter pointer validation happens in the calling function.
-     * We don't need to repeat it here*/
-    ret = mmf_seekitf_set_repeats(mCtx->mmfContext, loopEnable);
-
-    ret = mmf_seekitf_set_playwindow(mCtx->mmfContext, startPos, endPos);
-
-    DEBUG_API("<-XASeekItfAdaptMMF_SetLoop");
-    return ret;
-    }
--- a/khronosfws/openmax_al/src/mmf_adaptation/xaseekitfadaptationmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Seek Itf Adaptation Header
- *
- */
-
-#ifndef XASEEKITFADAPTATIONMMF_H
-#define XASEEKITFADAPTATIONMMF_H
-
-#include "xaadaptationmmf.h"
-
-/* FUNCTIONS */
-
-XAresult XASeekItfAdaptMMF_SetPosition(XAAdaptationBaseCtx *bCtx,
-        XAmillisecond pos, XAuint32 seekMode);
-XAresult XASeekItfAdaptMMF_SetLoop(XAAdaptationBaseCtx *bCtx,
-        XAboolean loopEnable, XAmillisecond startPos, XAmillisecond endPos);
-
-#endif /* XASEEKITFADAPTATIONMMF_H */
--- a/khronosfws/openmax_al/src/mmf_adaptation/xastreaminformationitfadaptationmmf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,462 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: StreamInfo Itf Adaptation MMF
- *
- */
-
-#include "xadebug.h"
-#include "xathreadsafety.h"
-#include "xamediaplayeradaptctxmmf.h"
-#include "xastreaminformationitfadaptationmmf.h"
-#include "xaplayitfadaptationmmf.h"
-#include "cmmfbackendengine.h"
-/*
- * XAStreamInformationItfAdaptMMF_QueryMediaContainerInformation(
- *   XAAdaptationBaseCtx *adaptCtx,
- *   XAMediaContainerInformation *info);
- * Description: Obtains media container information
- */
-XAresult XAStreamInformationItfAdaptMMF_QueryMediaContainerInformation(
-        XAAdaptationBaseCtx *adaptCtx, XAuint32 *containerType,
-        XAmillisecond *mediaDuration, XAuint32 *numStreams)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XADataSource *xaDataSource = NULL;
-
-    DEBUG_API("->XAStreamInformationItfAdaptMMF_QueryMediaContainerInformation");
-    /* Both Media Player and Metadata Extractor objec uses the same ctxId */
-    if (!adaptCtx || (adaptCtx->ctxId != XAMediaPlayerAdaptation))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryMediaContainerInformation");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* Initialize to unspecified */
-    *containerType = XA_CONTAINERTYPE_UNSPECIFIED;
-    xaDataSource = ((XAMediaPlayerAdaptationMMFCtx*) adaptCtx)->xaSource;
-    /*    DEBUG_INFO("Obtained handle to xaDataSource");*/
-    if (xaDataSource && xaDataSource->pFormat
-            && ((*(XAuint32*) xaDataSource->pFormat) == XA_DATAFORMAT_MIME))
-        {
-        *containerType
-                = ((XADataFormat_MIME*) (xaDataSource->pFormat))->containerType;
-        DEBUG_INFO_A1("Container type obtained from xaDataSource->pFormat is [%u]", (unsigned int)(*containerType));
-        }
-    else
-        {
-        DEBUG_INFO("Container type unspecified");
-        }
-
-    /* Get media duration */
-    ret = XAPlayItfAdaptMMF_GetDuration(adaptCtx, mediaDuration);
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        return ret;
-        }
-
-    ret = mmf_streaminformationitf_get_numstreams(
-            ((XAMediaPlayerAdaptationMMFCtx*) adaptCtx)->mmfContext,
-            numStreams);
-
-    DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryMediaContainerInformation");
-    return ret;
-    }
-
-/*
- * XAresult XAStreamInformationItfAdaptMMF_QueryStreamType(
- *               XAAdaptationBaseCtx *adaptCtx,
- *               XAuint32 streamIndex,
- *               XAuint32 *domain)
- * Description: Obtains stream type information
- */
-XAresult XAStreamInformationItfAdaptMMF_QueryStreamType(
-        XAAdaptationBaseCtx *adaptCtx, XAuint32 streamIndex, XAuint32 *domain)
-    {
-    XAresult ret;
-    XAuint32 numStreams;
-    XADataSource *xaDataSource = NULL;
-
-    if (!adaptCtx || !domain)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-
-    DEBUG_API("->XAStreamInformationItfAdaptMMF_QueryStreamType");
-
-    ret = mmf_streaminformationitf_get_numstreams(
-            ((XAMediaPlayerAdaptationMMFCtx*) adaptCtx)->mmfContext,
-            &numStreams);
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        DEBUG_ERR_A1("XA_RESULT_[0x%x]", (unsigned int)ret);
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryStreamType");
-        return ret;
-        }
-
-    /* validate stream index */
-    if (streamIndex > numStreams)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryStreamType");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* if format type is raw image */
-    xaDataSource = ((XAMediaPlayerAdaptationMMFCtx*) adaptCtx)->xaSource;
-    if (xaDataSource && xaDataSource->pFormat
-            && ((*(XAuint32*) xaDataSource->pFormat)
-                    == XA_DATAFORMAT_RAWIMAGE))
-        {
-        *domain = XA_DOMAINTYPE_IMAGE;
-        return XA_RESULT_SUCCESS;
-        }
-    else
-        {
-        ret = mmf_streaminformationitf_get_streaminfo(
-                ((XAMediaPlayerAdaptationMMFCtx*) adaptCtx)->mmfContext,
-                streamIndex, domain);
-        }
-
-    DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryStreamType");
-    return ret;
-    }
-
-/*
- * XAresult XAStreamInformationItfAdaptMMF_QueryStreamInformation(
- *               XAAdaptationBaseCtx *adaptCtx,
- *               XAuint32 streamIndex,
- *               void * info)
- * Description: Obtains stream information
- */
-XAresult XAStreamInformationItfAdaptMMF_QueryStreamInformation(
-        XAAdaptationBaseCtx *adaptCtx, XAuint32 streamIndex, void * info)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint32 domain;
-    XAuint32 codecId;
-    XAuint32 channels;
-    XAmilliHertz sampleRate;
-    XAuint32 bitRate;
-    XAmillisecond duration;
-    XAuint32 width;
-    XAuint32 height;
-    XAuint32 frameRate;
-    void* mmfctx;
-
-    if (!adaptCtx || !info)
-        {
-        ret = XA_RESULT_PARAMETER_INVALID;
-        return ret;
-        }
-
-    mmfctx = ((XAMediaPlayerAdaptationMMFCtx*) adaptCtx)->mmfContext;
-
-    DEBUG_API("->XAStreamInformationItfAdaptMMF_QueryStreamInformation");
-
-    /* stream index is validated in XAStreamInformationItfAdaptMMF_QueryStreamType */
-    ret = XAStreamInformationItfAdaptMMF_QueryStreamType(adaptCtx,
-            streamIndex, &domain);
-
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        DEBUG_ERR_A1("XA_RESULT_[0x%x]", (unsigned int)ret);
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryStreamInformation");
-        return ret;
-        }
-
-    switch (domain)
-        {
-        case XA_DOMAINTYPE_AUDIO:
-            DEBUG_INFO("Getting Audio Stream Info from Backend Engine");
-            ret = mmf_get_channels(mmfctx, &channels);
-            ret = mmf_get_samplerate(mmfctx, &sampleRate);
-            ret = mmf_get_bitrate(mmfctx, &bitRate);
-            ret = mmf_get_codec_id(mmfctx, &codecId);
-            break;
-        case XA_DOMAINTYPE_VIDEO:
-            DEBUG_INFO("Getting Video Stream Info from Backend Engine");
-            ret = mmf_get_bitrate(mmfctx, &bitRate);
-            ret = mmf_get_codec_id(mmfctx, &codecId);
-            ret = mmf_streaminformationitf_get_videoframesize(mmfctx,
-                    &height, &width, &frameRate);
-            break;
-        case XA_DOMAINTYPE_IMAGE:
-        case XA_DOMAINTYPE_MIDI:
-        default:
-            DEBUG_ERR("XA_RESULT_CONTENT_UNSUPPORTED");
-            ret = XA_RESULT_CONTENT_UNSUPPORTED;
-            break;
-        };
-
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        DEBUG_ERR_A1("XA_RESULT_[0x%x]", (unsigned int)ret);
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryStreamInformation");
-        return ret;
-        }
-
-    DEBUG_INFO("Getting media duration");
-    ret = XAPlayItfAdaptMMF_GetDuration(adaptCtx, &duration);
-
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        DEBUG_ERR_A1("XA_RESULT_[0x%x]", (unsigned int)ret);
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryStreamInformation");
-        return ret;
-        }
-
-    /* Now assign properties to data structure */
-    switch (domain)
-        {
-        case XA_DOMAINTYPE_AUDIO:
-            {
-            XAAudioStreamInformation* streamInfo =
-                    (XAAudioStreamInformation*) info;
-            DEBUG_INFO("Assigning values for XAAudioStreamInformation");
-            streamInfo->codecId = codecId;
-            streamInfo->channels = channels;
-            streamInfo->sampleRate = sampleRate;
-            streamInfo->bitRate = bitRate;
-            streamInfo->langCountry[0] = '\0';
-            streamInfo->duration = duration;
-            }
-            break;
-/*
-        case XA_DOMAINTYPE_MIDI:
-            {
-            XAMIDIStreamInformation* streamInfo =
-                    (XAMIDIStreamInformation*) info;
-            DEBUG_INFO("Assigning values for XAMIDIStreamInformation");*/
-            /*currently there is no way to get these information from gstreamer*/
-/*            streamInfo->channels = XA_MIDI_UNKNOWN;
-            streamInfo->tracks = XA_MIDI_UNKNOWN;
-            streamInfo->bankType = XA_MIDIBANK_DEVICE;*/
-            /*streamInfo->bitRate = 0;*/
-/*            streamInfo->langCountry[0] = '\0';
-            streamInfo->duration = duration;
-            }
-            break;
-*/
-        case XA_DOMAINTYPE_VIDEO:
-            {
-            XAVideoStreamInformation* streamInfo =
-                    (XAVideoStreamInformation*) info;
-            DEBUG_INFO("Assigning values for XAVideoStreamInformation");
-            streamInfo->codecId = codecId;
-            streamInfo->width = width;
-            streamInfo->height = height;
-            streamInfo->bitRate = bitRate;
-            streamInfo->duration = duration;
-            streamInfo->frameRate = frameRate;
-            }
-            break;
-/*
-        case XA_DOMAINTYPE_IMAGE:
-            {
-            XAImageStreamInformation* streamInfo =
-                    (XAImageStreamInformation*) info;
-            DEBUG_INFO("Assigning values for XAImageStreamInformation");
-            streamInfo->codecId = codecId;
-            streamInfo->width = width;
-            streamInfo->height = height;
-            streamInfo->presentationDuration = duration;
-            }
-            break;
-        default:
-            break;
-*/
-        };
-    DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryStreamInformation");
-    return ret;
-    }
-
-/*
- * XAresult XAStreamInformationItfAdaptMMF_QueryStreamName(
- *               XAAdaptationBaseCtx *adaptCtx,
- *               XAuint32 streamIndex,
- *               XAuint16 * pNameSize,
- *               XAchar * pName)
- * Description: Obtains stream name
- */
-XAresult XAStreamInformationItfAdaptMMF_QueryStreamName(
-        XAAdaptationBaseCtx *adaptCtx, XAuint32 streamIndex,
-        XAuint16 * pNameSize, XAchar * pName)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint32 numStreams;
-
-    DEBUG_API("->XAStreamInformationItfAdaptMMF_QueryStreamName");
-    /* Both Media Player and Metadata Extractor objec uses the same ctxId */
-    if (!adaptCtx || !pNameSize || (adaptCtx->ctxId
-            != XAMediaPlayerAdaptation))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryStreamName");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* validate stream index */
-    ret = mmf_streaminformationitf_get_numstreams(
-            ((XAMediaPlayerAdaptationMMFCtx*) adaptCtx)->mmfContext,
-            &numStreams);
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        DEBUG_ERR_A1("XA_RESULT_[0x%x]", (unsigned int)ret);
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryStreamName");
-        return ret;
-        }
-
-    /* validate stream index */
-    if (streamIndex > numStreams)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryStreamName");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    /* TODO there is no straight way to retreive stream name from mmf*/
-    /*XAuint16 inputNameSize = *pNameSize;*/
-    *pNameSize = 0; /* Replace this with actual size*/
-    if (pName)
-        {
-        /* TODO copy stream name into pName taking into account inputNameSize */
-        }
-
-    DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryStreamName");
-    return ret;
-    }
-
-/*
- * XAresult XAStreamInformationItfAdaptMMF_QueryActiveStreams(
- *               XAAdaptationBaseCtx *adaptCtx,
- *               XAuint32 *numStreams,
- *               XAboolean *activeStreams);
- * Description: Obtains active stream information
- */
-XAresult XAStreamInformationItfAdaptMMF_QueryActiveStreams(
-        XAAdaptationBaseCtx *adaptCtx, XAuint32 *numStreams,
-        XAboolean *activeStreams)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint32 inputNumStreams;
-
-    DEBUG_API("->XAStreamInformationItfAdaptMMF_QueryActiveStreams");
-
-    /* Both Media Player and Metadata Extractor objec uses the same ctxId */
-    if (!adaptCtx  || !numStreams || (adaptCtx->ctxId
-            != XAMediaPlayerAdaptation))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryActiveStreams");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (adaptCtx->ctxId == XAMDAdaptation)
-        {
-        DEBUG_ERR("XA_RESULT_PRECONDITIONS_VIOLATED");
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryActiveStreams");
-        return XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-
-    /* Determine number of streams */
-    ret = mmf_streaminformationitf_get_numstreams(
-            ((XAMediaPlayerAdaptationMMFCtx*) adaptCtx)->mmfContext,
-            &inputNumStreams);
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        DEBUG_ERR_A1("XA_RESULT_[0x%x]", (unsigned int)ret);
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryActiveStreams");
-        return ret;
-        }
-
-    if (activeStreams)
-        {
-        XAuint32 loopIndex;
-        if (*numStreams < inputNumStreams)
-            {
-            DEBUG_INFO("numStreams param value is smaller than number of streams");
-            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryActiveStreams");
-            return XA_RESULT_PARAMETER_INVALID;
-            }
-        for (loopIndex = 0; loopIndex < inputNumStreams; loopIndex++)
-            {
-            /* TODO currently gstreamer doesn't allow multiple dynamic streams
-             * all streams are active streams */
-            activeStreams[loopIndex] = XA_BOOLEAN_TRUE;
-            }
-        }
-    else
-        {
-        *numStreams = inputNumStreams;
-        }
-
-    DEBUG_API("->XAStreamInformationItfAdaptMMF_QueryActiveStreams");
-    return XA_RESULT_SUCCESS;
-    }
-
-XAresult XAStreamInformationItfAdaptMMF_SetActiveStream(
-        XAAdaptationBaseCtx *adaptCtx, XAuint32 streamNum, XAboolean active,
-        XAboolean commitNow)
-    {
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint32 numStreams;
-
-    DEBUG_API("->XAStreamInformationItfAdaptMMF_SetActiveStream");
-
-    /* Both Media Player and Metadata Extractor objec uses the same ctxId */
-    if (!adaptCtx || (adaptCtx->ctxId != XAMediaPlayerAdaptation))
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_SetActiveStream");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (adaptCtx->ctxId == XAMDAdaptation)
-        {
-        DEBUG_ERR("XA_RESULT_PRECONDITIONS_VIOLATED");
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_SetActiveStream");
-        return XA_RESULT_PRECONDITIONS_VIOLATED;
-        }
-
-    /* Determine number of streams */
-    ret = mmf_streaminformationitf_get_numstreams(
-            ((XAMediaPlayerAdaptationMMFCtx*) adaptCtx)->mmfContext,
-            &numStreams);
-    if (ret != XA_RESULT_SUCCESS)
-        {
-        DEBUG_ERR_A1("XA_RESULT_[0x%x]", (unsigned int)ret);
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_QueryActiveStreams");
-        return ret;
-        }
-
-    /* validate stream index */
-    if (streamNum > numStreams)
-        {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XAStreamInformationItfAdaptMMF_SetActiveStream");
-        return XA_RESULT_PARAMETER_INVALID;
-        }
-
-    if (commitNow)
-        {
-        ret = mmf_streaminformationitf_set_activestream(
-                ((XAMediaPlayerAdaptationMMFCtx*) adaptCtx)->mmfContext,
-                streamNum, active);
-        }
-
-    DEBUG_API("->XAStreamInformationItfAdaptMMF_SetActiveStream");
-    return ret;
-    }
--- a/khronosfws/openmax_al/src/mmf_adaptation/xastreaminformationitfadaptationmmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: StreamInfo Itf Adaptation MMF header
- *
- */
-
-#ifndef XASTREAMINFORMATIONITFADAPTATIONMMF_H
-#define XASTREAMINFORMATIONITFADAPTATIONMMF_H
-
-#include "openmaxalwrapper.h"
-#include "xaadptbasectx.h"
-/* MACROS */
-
-/* FUNCTIONS */
-XAresult XAStreamInformationItfAdaptMMF_QueryMediaContainerInformation(
-        XAAdaptationBaseCtx *adaptCtx, XAuint32 *containerType,
-        XAmillisecond *mediaDuration, XAuint32 *numStreams);
-
-XAresult XAStreamInformationItfAdaptMMF_QueryStreamType(
-                XAAdaptationBaseCtx *adaptCtx, XAuint32 streamIndex,
-                XAuint32 *domain);
-
-XAresult XAStreamInformationItfAdaptMMF_QueryStreamInformation(
-        XAAdaptationBaseCtx *adaptCtx, XAuint32 streamIndex, void * info);
-
-XAresult XAStreamInformationItfAdaptMMF_QueryStreamName(
-        XAAdaptationBaseCtx *adaptCtx, XAuint32 streamIndex,
-        XAuint16 * pNameSize, XAchar * pName);
-
-XAresult XAStreamInformationItfAdaptMMF_QueryActiveStreams(
-        XAAdaptationBaseCtx *adaptCtx, XAuint32 *numStreams,
-        XAboolean *activeStreams);
-
-XAresult XAStreamInformationItfAdaptMMF_SetActiveStream(
-        XAAdaptationBaseCtx *adaptCtx, XAuint32 streamNum, XAboolean active,
-        XAboolean commitNow);
-
-#endif /* XASTREAMINFORMATIONITFADAPTATION_H */
--- a/khronosfws/openmax_al/src/radio/xaradiodevice.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,320 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include "xaradiodevice.h"
-#include "xaradioitf.h"
-#include "xaconfigextensionsitf.h"
-#include "xadynintmgmtitf.h"
-#include "xathreadsafety.h"
-#include "xaradioadaptctx.h"
-/* Static mapping of enumeration XARadioDeviceInterfaces to interface iids */
-static const XAInterfaceID* XARadioDeviceItfIIDs[RADIO_ITFCOUNT]=
-{
-    &XA_IID_OBJECT,
-    &XA_IID_RADIO,
-    &XA_IID_CONFIGEXTENSION,
-    &XA_IID_DYNAMICINTERFACEMANAGEMENT
-};
-
-/*****************************************************************************
- * Global methods
- *****************************************************************************/
-
-/* XAResult XARadioDeviceImpl_Create
- * Description: Create object
- */
-XAresult XARadioDeviceImpl_CreateRadioDevice(XAObjectItf* pDevice,
-                                             XAuint32 numInterfaces,
-                                             const XAInterfaceID * pInterfaceIds,
-                                             const XAboolean * pInterfaceRequired)
-{
-    XARadioDeviceImpl* pImpl = NULL;
-    XAObjectItfImpl* pBaseObj = NULL;
-    XAuint8 itfIndex = 0;
-
-    DEBUG_API("->XARadioDeviceImpl_Create");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-   
-    if( !pDevice )
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioDeviceImpl_CreateRadioDevice");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    /* instantiate object implementation */
-    pImpl = (XARadioDeviceImpl*)calloc(1,sizeof(XARadioDeviceImpl));
-    if( !pImpl )
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* memory allocation failed */
-        DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-        DEBUG_API("<-XARadioDeviceImpl_CreateRadioDevice");
-        return XA_RESULT_MEMORY_FAILURE;
-    }
-    pBaseObj = &pImpl->baseObj;
-
-    /* Initialize base object default implementation */
-    XAObjectItfImpl_Init(pBaseObj,
-                         RADIO_ITFCOUNT,
-                         XARadioDeviceItfIIDs,
-                         XARadioDeviceImpl_DoRealize,
-                         XARadioDeviceImpl_DoResume,
-                         XARadioDeviceImpl_FreeResources);
-
-    /* Mark interfaces that need to be exposed */
-    /* Implicit and mandated interfaces */
-    pBaseObj->interfaceMap[RADIO_RADIOITF].required = XA_BOOLEAN_TRUE;
-    pBaseObj->interfaceMap[RADIO_DIMITF].required = XA_BOOLEAN_TRUE;
-
-    /* Explicit interfaces */
-    if( (numInterfaces != 0) && pInterfaceIds && pInterfaceRequired )
-    {
-        /* Check required interfaces */
-        for( itfIndex = 0; itfIndex < numInterfaces; itfIndex++ )
-        {
-            /* If mapEntry is null then required interface is not supported.*/
-            XAObjItfMapEntry *entry =
-                XAObjectItfImpl_GetItfEntry((XAObjectItf)&(pBaseObj), pInterfaceIds[itfIndex]);
-            if( !entry )
-            {
-                if( pInterfaceRequired[itfIndex] )
-                {
-                    /* required interface cannot be accommodated - fail creation */
-                    XAObjectItfImpl_Destroy((XAObjectItf)&(pBaseObj));
-                    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-                    DEBUG_ERR("Required interface not found - abort creation!");
-                    DEBUG_API("<-XARadioDeviceImpl_CreateRadioDevice");
-                    return XA_RESULT_FEATURE_UNSUPPORTED;
-                }
-                else
-                {
-                    DEBUG_INFO("Requested (not required) interface not found - continue creation");
-                }
-            }
-            else
-            {
-                entry->required = XA_BOOLEAN_TRUE;
-            }
-        }
-    }
-
-    *pDevice = (XAObjectItf)&(pBaseObj->self);
-    pImpl->adaptationCtx = XARadioAdapt_Create();   
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-
-    DEBUG_API("<-XARadioDeviceImpl_Create");
-    return XA_RESULT_SUCCESS;
-}
-
-/* XAResult XARadioDeviceImpl_QueryNumSupportedInterfaces
- * Description: Statically query number of supported interfaces
- */
-XAresult XARadioDeviceImpl_QueryNumSupportedInterfaces( XAuint32 *pNumSupportedInterfaces )
-{
-    DEBUG_API("->XARadioDeviceImpl_QueryNumSupportedInterfaces");
-    if( pNumSupportedInterfaces )
-    {
-        *pNumSupportedInterfaces = RADIO_ITFCOUNT;
-
-        DEBUG_API_A1("<-XARadioDeviceImpl_QueryNumSupportedInterfaces - %lu", *pNumSupportedInterfaces );
-        return XA_RESULT_SUCCESS;
-    }
-    else
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioDeviceImpl_QueryNumSupportedInterfaces");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-}
-/* XAResult XARadioDeviceImpl_QuerySupportedInterfaces
- * Description: Statically query supported interfaces
- */
-XAresult XARadioDeviceImpl_QuerySupportedInterfaces( XAuint32 index,
-                                                      XAInterfaceID * pInterfaceId )
-{
-    DEBUG_API("->XARadioDeviceImpl_QuerySupportedInterfaces");
-
-    if( index >= RADIO_ITFCOUNT || !pInterfaceId )
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioDeviceImpl_QuerySupportedInterfaces");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    else
-    {
-        *pInterfaceId = *(XARadioDeviceItfIIDs[index]);
-
-        DEBUG_API("<-XARadioDeviceImpl_QuerySupportedInterfaces");
-        return XA_RESULT_SUCCESS;
-    }
-}
-
-
-/*****************************************************************************
- * base object XAObjectItfImpl methods
- *****************************************************************************/
-
-/* XAresult XARadioDeviceImpl_DoRealize( XAObjectItf self )
- * Description: Realize all implicit and explicitly wanted interfaces.
- * Create and initialize implementation-specific variables.
- * Called from base object XAObjectItfImpl
- */
-XAresult XARadioDeviceImpl_DoRealize( XAObjectItf self )
-{
-    XAuint8 itfIdx = 0;
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*)(*self);
-    XARadioDeviceImpl* pObjImpl = (XARadioDeviceImpl*)(pObj);
-    XAresult ret = XA_RESULT_SUCCESS;
-
-    DEBUG_API("->XARadioDeviceImpl_DoRealize");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-
-    /* check casting from correct pointer type */
-    if( !pObjImpl || pObj != pObjImpl->baseObj.self )
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioDeviceImpl_DoRealize");
-
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-
-    ret = XARadioAdapt_PostInit( pObjImpl->adaptationCtx );
-
-    if( ret != XA_RESULT_SUCCESS )
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        DEBUG_API("<-XARadioDeviceImpl_DoRealize");
-        return ret;
-    }
-
-    /* Realize all implicit and explicitly wanted interfaces */
-    for( itfIdx = 0; itfIdx < RADIO_ITFCOUNT; itfIdx++)
-    {
-        if( !(pObj->interfaceMap[itfIdx].pItf) &&
-            pObj->interfaceMap[itfIdx].required )
-        {
-            void *pItf = NULL;
-            switch( itfIdx )
-            {
-                case RADIO_RADIOITF:
-
-                    pItf = XARadioItfImpl_Create( pObjImpl->adaptationCtx );
-
-                    break;
-                case RADIO_CONFIGEXTENSIONITF:
-                    pItf = XAConfigExtensionsItfImpl_Create();
-                    break;
-                case RADIO_DIMITF:
-                    pItf = XADIMItfImpl_Create();
-                    break;
-                default:
-                    break;
-            }
-            if( !pItf )
-            {
-                DEBUG_ERR("XA_RESULT_MEMORY_FAILURE");
-                /* memory allocation failed */
-                DEBUG_API("<-XARadioDeviceImpl_DoRealize");
-                XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-                return XA_RESULT_MEMORY_FAILURE;
-            }
-            else
-            {
-                pObj->interfaceMap[itfIdx].pItf = pItf;
-            }
-        }
-    }
-
-    pObj->state = XA_OBJECT_STATE_REALIZED;
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    DEBUG_API("<-XARadioDeviceImpl_DoRealize");
-    return XA_RESULT_SUCCESS;
-}
-
-/* XAresult XARadioDeviceImpl_DoResume
- * Description: Resume object from suspended state
- */
-XAresult XARadioDeviceImpl_DoResume(XAObjectItf self)
-{
-    DEBUG_API("->XARadioDeviceImpl_DoResume");
-    DEBUG_API("<-XARadioDeviceImpl_DoResume");
-
-    return XA_RESULT_PRECONDITIONS_VIOLATED;
-}
-
-/* void XARadioDeviceImpl_FreeResources
- * Description: Free all resources reserved at XARadioDeviceImpl_DoRealize()
- */
-void XARadioDeviceImpl_FreeResources(XAObjectItf self)
-{
-    XAObjectItfImpl* pObj = (XAObjectItfImpl*)(*self);
-    XARadioDeviceImpl* pImpl = (XARadioDeviceImpl*)(*self);
-    XAuint8 itfIdx = 0;
-    DEBUG_API("->XARadioDeviceImpl_FreeResources");
-    XA_IMPL_THREAD_SAFETY_ENTRY_FOR_VOID_FUNCTIONS(XATSRadio);
-
-    
-    assert( pObj && pImpl && pObj == pObj->self );
-
-
-    /* free all allocated interfaces */
-    for(itfIdx = 0; itfIdx < RADIO_ITFCOUNT; itfIdx++)
-    {
-        void *pItf = pObj->interfaceMap[itfIdx].pItf;
-        if(pItf)
-        {
-            switch(itfIdx)
-            {
-                case RADIO_RADIOITF:
-                    XARadioItfImpl_Free( pItf );
-                    break;
-                case RADIO_CONFIGEXTENSIONITF:
-                    XAConfigExtensionsItfImpl_Free( pItf );
-                    break;
-                case RADIO_DIMITF:
-                    XADIMItfImpl_Free( pItf );
-                    break;
-                default:
-                    break;
-            }
-            pObj->interfaceMap[itfIdx].pItf = NULL;
-        }
-    }
-
-
-    if ( pImpl->adaptationCtx != NULL )
-    {
-        XARadioAdapt_Destroy( pImpl->adaptationCtx );
-        pImpl->adaptationCtx = NULL;
-    }
-
-    XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS(XATSRadio);
-    DEBUG_API("<-XARadioDeviceImpl_FreeResources");
-    return;
-}
-
-/* END OF FILE */
--- a/khronosfws/openmax_al/src/radio/xaradiodevice.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef XARADIODEVICE_H
-#define XARADIODEVICE_H
-
-#include "openmaxalwrapper.h"
-#include "xaobjectitf.h"
-#include "xaglobals.h"
-
-#include "xaadptbasectx.h"
-/** MACROS **/
-
-
-/** TYPES **/
-
-
-/** ENUMERATIONS **/
-/* Enumeration for interfaces that RadioDevice supports.  */
-typedef enum
-{
-    RADIO_OBJECTITF,
-    RADIO_RADIOITF,
-    RADIO_CONFIGEXTENSIONITF,
-    RADIO_DIMITF,
-    RADIO_ITFCOUNT
-} XARadioDeviceInterfaces;
-
-/** STRUCTURES **/
-/* Specification for RadioDeviceImpl. */
-typedef struct XARadioDeviceImpl_
-{
-    /* Parent for XARadioDeviceImpl */
-    XAObjectItfImpl baseObj;
-
-    /* variables */
-
-    XAAdaptationBaseCtx* adaptationCtx;
-} XARadioDeviceImpl;
-
-
-/** METHODS **/
-
-/* base object XAObjectItfImpl methods */
-XAresult    XARadioDeviceImpl_DoRealize(XAObjectItf self);
-XAresult    XARadioDeviceImpl_DoResume(XAObjectItf self);
-void        XARadioDeviceImpl_FreeResources(XAObjectItf self);
-
-/* RadioDeviceImpl -specific methods */
-
-#endif /* XARADIODEVICE_H */
--- a/khronosfws/openmax_al/src/radio/xaradioitf.c	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,711 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-*
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-#include "xaradioitf.h"
-#include "xaradioitfadaptation.h"
-#include "xathreadsafety.h"
-
-#define FREQINTERVAL 200000
-
-/**
- * XARadioItfImpl* GetImpl(XARadioItf self)
- * Description: Validated interface pointer and cast it to implementations pointer.
- **/
-static XARadioItfImpl* GetImpl(XARadioItf self)
-{
-    if(self)
-    {
-        XARadioItfImpl *impl = (XARadioItfImpl*)(*self);
-        if(impl && impl == impl->self)
-        {
-            return impl;
-        }
-    }
-    return NULL;
-}
-
-/**
- * Base interface XARadioItf implementation
- */
-
-/**
- * XAresult XARadioItfImpl_SetFreqRange(XARadioItf self, XAuint8 range)
- * Description: Sets the frequency range. Asynchronous – xaRadioCallback() callback with
- *              XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED event is used for notifying of the result.
- **/
-XAresult XARadioItfImpl_SetFreqRange(XARadioItf self, XAuint8 range)
-{
-    XAresult ret = XA_RESULT_PARAMETER_INVALID;
-    XAboolean isSupported = XA_BOOLEAN_FALSE;
-    XARadioItfImpl* impl = GetImpl(self);
-
-    DEBUG_API("->XARadioItfImpl_SetFreqRange");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-
-    if(!impl)
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_SetFreqRange");
-
-        return ret;
-    }
-
-    ret = XARadioItfAdapt_IsFreqRangeSupported(range, &isSupported);
-
-    if ( ret == XA_RESULT_SUCCESS && isSupported == XA_BOOLEAN_TRUE )
-    {
-        ret = XARadioItfAdapt_SetFreqRange((XAAdaptationMMFCtx*)impl->adapCtx, range);
-    }
-    else if (!isSupported)
-    {
-    	ret = XA_RESULT_PARAMETER_INVALID;
-    }
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    DEBUG_API("<-XARadioItfImpl_SetFreqRange");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_GetFreqRange(XARadioItf self, XAuint8 * pRange)
- * Description: Gets the current frequency range.
- **/
-XAresult XARadioItfImpl_GetFreqRange(XARadioItf self, XAuint8 * pRange)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_GetFreqRange");
-
-    if(!impl || !pRange)
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_GetFreqRange");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    ret = XARadioItfAdapt_GetFreqRange(pRange);
-
-    DEBUG_API("<-XARadioItfImpl_GetFreqRange");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_IsFreqRangeSupported(XARadioItf self,
- *                                              XAuint8 range,
- *                                              XAboolean * pSupported)
- * Description: Queries if the given frequency range is supported.
- **/
-XAresult XARadioItfImpl_IsFreqRangeSupported(XARadioItf self,
-                                             XAuint8 range,
-                                             XAboolean * pSupported)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_IsFreqRangeSupported");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-
-    if(!impl || !pSupported)
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_IsFreqRangeSupported");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    ret = XARadioItfAdapt_IsFreqRangeSupported( range, pSupported );
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    DEBUG_API("<-XARadioItfImpl_IsFreqRangeSupported");
-    return ret;
-}
-
-
-/**
- * XAresult XARadioItfImpl_GetFreqRangeProperties(XARadioItf self,
- *                                                XAuint8  range,
- *                                                XAuint32 * pMinFreq,
- *                                                XAuint32 * pMaxFreq,
- *                                                XAuint32 * pFreqInterval)
- * Description: Returns the minimum and maximum supported frequencies and the
- *              modulation of the given frequency range.
- **/
-XAresult XARadioItfImpl_GetFreqRangeProperties(XARadioItf self,
-                                               XAuint8  range,
-                                               XAuint32 * pMinFreq,
-                                               XAuint32 * pMaxFreq,
-                                               XAuint32 * pFreqInterval)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-
-    DEBUG_API("->XARadioItfImpl_GetFreqRangeProperties");
-
-    if(!impl || !pMinFreq || !pMaxFreq || !pFreqInterval)
-    {
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_GetFreqRangeProperties");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    ret = XARadioItfAdapt_GetFreqRangeProperties( (XAAdaptationMMFCtx*)impl->adapCtx,
-            range, pMinFreq, pMaxFreq );
-    if (ret == XA_RESULT_SUCCESS)
-    {
-        *pFreqInterval = FREQINTERVAL;
-    }
-
-    DEBUG_API("<-XARadioItfImpl_GetFreqRangeProperties");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_SetFrequency(XARadioItf self, XAuint32 freq)
- * Description: Sets the frequency asynchronously – xaRadioCallback() callback
- *              with XA_RADIO_EVENT_FREQUENCY_CHANGED event is used for notifying
- *              of the result. The implementation rounds the given value to the
- *              nearest supported one. See pFreqInterval parameter of
- *              GetFreqRangeProperties() method.
- **/
-XAresult XARadioItfImpl_SetFrequency(XARadioItf self, XAuint32 freq)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XAuint8 range = 1; // Default to EuroAmerica
-    XAuint32 minFreq;
-    XAuint32 maxFreq;
-   	XAuint32 freqInterval;
-
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_SetFrequency");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-
-    if(!impl)
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_SetFrequency");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    // Check for valid entries:
- 		ret = XARadioItfImpl_GetFreqRangeProperties(self, range, &minFreq, &maxFreq, &freqInterval);
-    if (ret != XA_RESULT_SUCCESS)
-    {
-    	XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    	DEBUG_API("<-XARadioItfImpl_SetFrequency");
-    	return ret;
-    }
-
-    if ( (freq < minFreq) || (freq > maxFreq) )
-    {
-    	XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    	DEBUG_API("<-XARadioItfImpl_SetFrequency");
-    	return XA_RESULT_PARAMETER_INVALID;
-    }
-
-   	ret = XARadioItfAdapt_SetFrequency( (XAAdaptationMMFCtx*)impl->adapCtx, freq );
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    DEBUG_API("<-XARadioItfImpl_SetFrequency");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_CancelSetFrequency(XARadioItf self)
- * Description: Cancels an outstanding SetFrequency() request. The method
- *              blocks while canceling the outstanding request. Has not effect
- *              if no set frequency operation is ongoing.
- **/
-XAresult XARadioItfImpl_CancelSetFrequency(XARadioItf self)
-
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_CancelSetFrequency");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-
-    if(!impl)
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_CancelSetFrequency");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    ret = XARadioItfAdapt_CancelSetFrequency();
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    DEBUG_API("<-XARadioItfImpl_CancelSetFrequency");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_GetFrequency(XARadioItf self, XAuint32 * pFreq)
- * Description: Gets the current frequency.
- **/
-XAresult XARadioItfImpl_GetFrequency(XARadioItf self, XAuint32 * pFreq)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_GetFrequency");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-
-    if(!impl || !pFreq)
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_GetFrequency");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    ret = XARadioItfAdapt_GetFrequency(pFreq);
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    DEBUG_API("<-XARadioItfImpl_GetFrequency");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_SetSquelch(XARadioItf self, XAboolean squelch)
- * Description: Toggles the squelch (muting in frequencies without broadcast).
- **/
-XAresult XARadioItfImpl_SetSquelch(XARadioItf self, XAboolean squelch)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_SetSquelch");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-
-    if(!impl)
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_SetSquelch");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    if (impl->squelch != squelch)
-    {
-        ret = XARadioItfAdapt_SetSquelch( squelch );
-        if ( ret == XA_RESULT_SUCCESS )
-        {
-            impl->squelch = squelch;
-        }
-    }
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    DEBUG_API("<-XARadioItfImpl_SetSquelch");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_GetSquelch(XARadioItf self, XAboolean * pSquelch)
- * Description: Queries the squelch setting (muting in frequencies without broadcast).
- **/
-XAresult XARadioItfImpl_GetSquelch(XARadioItf self, XAboolean * pSquelch)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_GetSquelch");
-    if(!impl || !pSquelch)
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        DEBUG_API("<-XARadioItfImpl_GetSquelch");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-  	ret = XARadioItfAdapt_GetSquelch( pSquelch );
-
-    DEBUG_API("<-XARadioItfImpl_GetSquelch");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_SetStereoMode(XARadioItf self, XAuint32 mode)
- * Description: Sets the current stereo mode.
- **/
-XAresult XARadioItfImpl_SetStereoMode(XARadioItf self, XAuint32 mode)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_SetStereoMode");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-
-    if( !impl || mode > XA_STEREOMODE_AUTO )
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_SetStereoMode");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-    if ( impl->stereoMode != mode)
-    {
-        ret = XARadioItfAdapt_SetStereoMode( (XAAdaptationMMFCtx*)impl->adapCtx, mode );
-       	if ( ret == XA_RESULT_SUCCESS )
-        {
-         	  impl->stereoMode = mode;
-        }
-    }
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    DEBUG_API("<-XARadioItfImpl_SetStereoMode");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_GetStereoMode(XARadioItf self, XAuint32 * pMode)
- * Description: Queries the current stereo mode.
- **/
-XAresult XARadioItfImpl_GetStereoMode(XARadioItf self, XAuint32 * pMode)
-{
-
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_GetStereoMode");
-    if(!impl || !pMode)
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        DEBUG_API("<-XARadioItfImpl_GetStereoMode");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    ret = XARadioItfAdapt_GetStereoMode( pMode );
-
-    DEBUG_API("<-XARadioItfImpl_GetStereoMode");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_GetSignalStrength(XARadioItf self, XAuint32 * pStrength)
- * Description: Returns the signal strength in per cents.
- **/
-XAresult XARadioItfImpl_GetSignalStrength(XARadioItf self, XAuint32 * pStrength)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_GetSignalStrength");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-
-    if(!impl || !pStrength)
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_GetSignalStrength");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    ret = XARadioItfAdapt_GetSignalStrength( pStrength );
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    DEBUG_API("<-XARadioItfImpl_GetSignalStrength");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_Seek(XARadioItf self, XAboolean upwards)
- * Description: Starts the seek from the current frequency to the given direction.
- *              Asynchronous – xaRadioCallback() callback with XA_RADIO_EVENT_SEEK_COMPLETED
- *              event is used for notifying of the result. If the end of the tuner’s
- *              frequency band is reached before a signal was found, the scan continues
- *              from the other end until a signal is found or the original frequency is reached.
- **/
-XAresult XARadioItfImpl_Seek(XARadioItf self, XAboolean upwards)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_Seek");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-
-    if(!impl)
-    {
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        /* invalid parameter */
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_Seek");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    ret = XARadioItfAdapt_Seek( (XAAdaptationMMFCtx*)impl->adapCtx, upwards );
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    DEBUG_API("<-XARadioItfImpl_Seek");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_StopSeeking(XARadioItf self)
- * Description: Cancels an outstanding seek request. The method blocks while canceling
- *              the outstanding request. After cancellation, the frequency is the one
- *              where seeking stopped. Has not effect if no seek operation is ongoing.
- **/
-XAresult XARadioItfImpl_StopSeeking(XARadioItf self)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_StopSeeking");
-    XA_IMPL_THREAD_SAFETY_ENTRY(XATSRadio);
-
-    if(!impl)
-    {
-        /* invalid parameter */
-        XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        DEBUG_API("<-XARadioItfImpl_StopSeeking");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    XARadioItfAdapt_StopSeeking( (XAAdaptationMMFCtx*)impl->adapCtx );
-
-    XA_IMPL_THREAD_SAFETY_EXIT(XATSRadio);
-    DEBUG_API("<-XARadioItfImpl_StopSeeking");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_GetNumberOfPresets(XARadioItf self, XAuint32 * pNumPresets)
- * Description: Returns the number of preset slots the device has for storing the presets.
- **/
-XAresult XARadioItfImpl_GetNumberOfPresets(XARadioItf self, XAuint32 * pNumPresets)
-{
-    XAresult ret = XA_RESULT_FEATURE_UNSUPPORTED;
-
-    DEBUG_API("->XARadioItfImpl_GetNumberOfPresets");
-
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_SetPreset(XARadioItf self,
- *                                   XAuint32 preset,
- *                                   XAuint32 freq,
- *                                   XAuint8 range,
- *                                   XAuint32 mode,
- *                                   const XAchar * name)
- * Description: Sets the preset.
- **/
-XAresult XARadioItfImpl_SetPreset(XARadioItf self,
-                                  XAuint32 preset,
-                                  XAuint32 freq,
-                                  XAuint8 range,
-                                  XAuint32 mode,
-                                  const XAchar * name)
-{
-    XAresult ret = XA_RESULT_FEATURE_UNSUPPORTED;
-
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_GetPreset(XARadioItf self,
- *                                   XAuint32 preset,
- *                                   XAuint32 * pFreq,
- *                                   XAuint8 * pRange,
- *                                   XAuint32 * pMode,
- *                                   XAchar * pName,
- *                                   XAuint16 * pNameLength)
- * Description: Gets the settings stored into a preset.
- **/
-XAresult XARadioItfImpl_GetPreset(XARadioItf self,
-                                  XAuint32 preset,
-                                  XAuint32 * pFreq,
-                                  XAuint8 * pRange,
-                                  XAuint32 * pMode,
-                                  XAchar * pName,
-                                  XAuint16 * pNameLength)
-{
-
-    XAresult ret = XA_RESULT_FEATURE_UNSUPPORTED;
-
-    DEBUG_API("<-XARadioItfImpl_GetPreset");
-    return ret;
-}
-
-/**
- * XAresult XARadioItfImpl_RegisterRadioCallback(XARadioItf self,
- *                                               xaRadioCallback callback,
- *                                               void * pContext)
- * Description: Sets or clears the xaRadioCallback.
- **/
-XAresult XARadioItfImpl_RegisterRadioCallback(XARadioItf self,
-                                              xaRadioCallback callback,
-                                              void * pContext)
-{
-    XAresult ret = XA_RESULT_SUCCESS;
-    XARadioItfImpl* impl = GetImpl(self);
-    DEBUG_API("->XARadioItfImpl_RegisterRadioCallback");
-
-    if(!impl)
-    {
-        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
-        /* invalid parameter */
-        DEBUG_API("<-XARadioItfImpl_RegisterRadioCallback");
-        return XA_RESULT_PARAMETER_INVALID;
-    }
-
-    impl->callback = callback;
-    impl->context = pContext;
-    impl->cbPtrToSelf = self;
-
-    DEBUG_API("<-XARadioItfImpl_RegisterRadioCallback");
-    return ret;
-}
-
-/**
- * XARadioItfImpl -specific methods
- **/
-
-/**
- * XARadioItfImplImpl* XARadioItfImpl_Create()
- * Description: Allocate and initialize RadioItfImpl
- **/
-XARadioItfImpl* XARadioItfImpl_Create(XAAdaptationBaseCtx *adapCtx)
-{
-
-    XARadioItfImpl *self = (XARadioItfImpl*)
-        calloc(1,sizeof(XARadioItfImpl));
-
-    DEBUG_API("->XARadioItfImpl_Create");
-
-    if(self)
-    {
-        /* init itf default implementation */
-        self->itf.SetFreqRange = XARadioItfImpl_SetFreqRange;
-        self->itf.GetFreqRange = XARadioItfImpl_GetFreqRange;
-        self->itf.IsFreqRangeSupported = XARadioItfImpl_IsFreqRangeSupported;
-        self->itf.GetFreqRangeProperties = XARadioItfImpl_GetFreqRangeProperties;
-        self->itf.SetFrequency = XARadioItfImpl_SetFrequency;
-        self->itf.CancelSetFrequency = XARadioItfImpl_CancelSetFrequency;
-        self->itf.GetFrequency = XARadioItfImpl_GetFrequency;
-        self->itf.SetSquelch = XARadioItfImpl_SetSquelch;
-        self->itf.GetSquelch = XARadioItfImpl_GetSquelch;
-        self->itf.SetStereoMode = XARadioItfImpl_SetStereoMode;
-        self->itf.GetStereoMode = XARadioItfImpl_GetStereoMode;
-        self->itf.GetSignalStrength = XARadioItfImpl_GetSignalStrength;
-        self->itf.Seek = XARadioItfImpl_Seek;
-        self->itf.StopSeeking = XARadioItfImpl_StopSeeking;
-        self->itf.RegisterRadioCallback = XARadioItfImpl_RegisterRadioCallback;
-
-        /* init variables */
-
-        self->squelch = XA_BOOLEAN_FALSE;
-        self->stereoMode = XA_STEREOMODE_STEREO;
-        self->callback = NULL;
-        self->context = NULL;
-        self->cbPtrToSelf = NULL;
-        self->adapCtx = adapCtx;
-
-        XAAdaptationBase_AddEventHandler( adapCtx, &XARadioItfImpl_AdaptCb, XA_RADIOITFEVENTS, self );
-
-        self->self = self;
-    }
-
-    DEBUG_API("<-XARadioItfImpl_Create");
-    return self;
-}
-
-/**
- * void XARadioItfImpl_Free(XARadioItfImpl* self)
- * Description: Free all resources reserved at XARadioItfImpl_Create
- **/
-void XARadioItfImpl_Free(XARadioItfImpl* self)
-{
-    DEBUG_API("->XARadioItfImpl_Free");
-    XA_IMPL_THREAD_SAFETY_ENTRY_FOR_VOID_FUNCTIONS(XATSRadio);
-    XAAdaptationBase_RemoveEventHandler( self->adapCtx, &XARadioItfImpl_AdaptCb );
-
-    XARadioItfAdapt_Free();
-    assert(self==self->self);
-    free(self);
-
-    XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS(XATSRadio);
-    DEBUG_API("<-XARadioItfImpl_Free");
-}
-
-/* void XARadioItfimpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event )
- * Description: Event handler for adaptation events
- */
-void XARadioItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event )
-{
-    XARadioItfImpl* impl =(XARadioItfImpl*)pHandlerCtx;
-    XAuint32 eventData = 0;
-    XAboolean eventBoolean = XA_BOOLEAN_FALSE;
-
-    DEBUG_API("->XARadioItfimpl_AdaptCb");
-
-    if(!impl)
-    {
-        DEBUG_ERR("XARadioItfImpl_AdaptCb, invalid context pointer!");
-        DEBUG_API("<-XARadioItfImpl_AdaptCb");
-        return;
-    }
-    assert(event);
-
-    if( event->eventid == XA_ADAPT_RADIO_FREQUENCY_CHANGED && impl->callback )
-    {
-        DEBUG_API("Frequency changed in adaptation");
-        eventData = *(XAuint32*)event->data;
-        impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_FREQUENCY_CHANGED, eventData, eventBoolean );
-    }
-
-    else if( event->eventid == XA_ADAPT_RADIO_FREQUENCY_RANGE_CHANGED && impl->callback )
-    {
-        DEBUG_API("Frequency range changed in adaptation");
-
-        impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED, eventData, eventBoolean  );
-    }
-
-    else if( event->eventid == XA_ADAPT_RADIO_SEEK_COMPLETE && impl->callback )
-    {
-        DEBUG_API("Seek complete in adaptation");
-       	eventBoolean = *(XAboolean*)event->data;
-        impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_SEEK_COMPLETED, eventData, eventBoolean  );
-    }
-
-    else if( event->eventid == XA_ADAPT_RADIO_STEREO_STATUS_CHANGED && impl->callback )
-    {
-        DEBUG_API("Stereo status change in adaptation");
-      	eventBoolean = *(XAboolean*)event->data;
-        impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_STEREO_STATUS_CHANGED, eventData, eventBoolean  );
-    }
-
-    else if( event->eventid == XA_ADAPT_RADIO_SIGNAL_STRENGTH_CHANGED && impl->callback )
-    {
-        DEBUG_API("Signal Strength Change in adaptation");
-        impl->callback( impl->cbPtrToSelf, impl->context, XA_RADIO_EVENT_SIGNAL_STRENGTH_CHANGED, eventData, eventBoolean  );
-    }
-    else
-    {
-        /* do nothing */
-    }
-    DEBUG_API("<-XARadioItfimpl_AdaptCb");
-}
-
--- a/khronosfws/openmax_al/src/radio/xaradioitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef XARADIOITF_H
-#define XARADIOITF_H
-
-#include "xaadptbasectx.h"
-#include "xaradioitfadaptation.h"
-
-/** MACROS **/
-#define RADIO_NUM_OF_PRESETS 20
-/** TYPES **/
-
-/** ENUMERATIONS **/
-
-/** STRUCTURES **/
-typedef struct RadioPreset_
-{
-    XAuint32    freq;
-    XAuint8     range;
-    XAuint32    stereoMode;
-    char*       name;
-} RadioPreset;
-
-
-/* Definition of XAEqualizerItf implementation */
-typedef struct XARadioItfImpl_
-{
-    /* parent interface */
-    struct XARadioItf_ itf;
-    /* pointer to self */
-    struct XARadioItfImpl_* self;
-
-    /* variables */
-    XAboolean   squelch;
-    XAuint32    stereoMode;
-
-    XARadioItf         cbPtrToSelf;
-    xaRadioCallback    callback;
-    void               *context;
-   	XAuint32    preset;
-   	XAuint32    numOfPresets;
-
-    RadioPreset presets[RADIO_NUM_OF_PRESETS];    
-
-    /*Adaptation variables*/
-    XAAdaptationBaseCtx *adapCtx;
-} XARadioItfImpl;
-
-/** METHODS **/
-
-/* Base interface XARadioItf implementation */
-XAresult XARadioItfImpl_SetFreqRange(XARadioItf self, XAuint8 range);
-
-XAresult XARadioItfImpl_GetFreqRange(XARadioItf self, XAuint8 * pRange);
-
-XAresult XARadioItfImpl_IsFreqRangeSupported(XARadioItf self,
-                                             XAuint8 range,
-                                             XAboolean * pSupported);
-
-XAresult XARadioItfImpl_GetFreqRangeProperties(XARadioItf self,
-                                               XAuint8 range,
-                                               XAuint32 * pMinFreq,
-                                               XAuint32 * pMaxFreq,
-                                               XAuint32 * pFreqInterval);
-
-XAresult XARadioItfImpl_SetFrequency(XARadioItf self, XAuint32 freq);
-
-XAresult XARadioItfImpl_CancelSetFrequency(XARadioItf self);
-
-XAresult XARadioItfImpl_GetFrequency(XARadioItf self, XAuint32 * pFreq);
-
-XAresult XARadioItfImpl_SetSquelch(XARadioItf self, XAboolean squelch);
-
-XAresult XARadioItfImpl_GetSquelch(XARadioItf self, XAboolean * pSquelch);
-
-XAresult XARadioItfImpl_SetStereoMode(XARadioItf self, XAuint32 mode);
-
-XAresult XARadioItfImpl_GetStereoMode(XARadioItf self, XAuint32 * pMode);
-
-XAresult XARadioItfImpl_GetSignalStrength(XARadioItf self, XAuint32 * pStrength);
-
-XAresult XARadioItfImpl_Seek(XARadioItf self, XAboolean upwards);
-
-XAresult XARadioItfImpl_StopSeeking(XARadioItf self);
-
-XAresult XARadioItfImpl_RegisterRadioCallback(XARadioItf self,
-                                              xaRadioCallback callback,
-                                              void * pContext);
-                                              
-XAresult XARadioItfImpl_GetNumberOfPresets(XARadioItf self, XAuint32 * pNumPresets);
-
-XAresult XARadioItfImpl_SetPreset(XARadioItf self,
-                                  XAuint32 preset,
-                                  XAuint32 freq,
-                                  XAuint8 range,
-                                  XAuint32 mode,
-                                  const XAchar * name);
-
-XAresult XARadioItfImpl_GetPreset(XARadioItf self,
-                                  XAuint32 preset,
-                                  XAuint32 * pFreq,
-                                  XAuint8 * pRange,
-                                  XAuint32 * pMode,
-                                  XAchar * pName,
-                                  XAuint16 * pNameLength);                                              
-
-/* XARadioItfImpl -specific methods */
-XARadioItfImpl* XARadioItfImpl_Create(XAAdaptationBaseCtx *adapCtx);
-void XARadioItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event );
-
-void XARadioItfImpl_Free(XARadioItfImpl* self);
-
-
-#endif /* XARADIOITF_H */
--- a/layers.sysdef.xml	Tue Aug 31 15:43:02 2010 +0300
+++ b/layers.sysdef.xml	Wed Sep 01 12:23:00 2010 +0100
@@ -3,13 +3,16 @@
   <!ENTITY layer_real_source_path "sf/mw/mmmw" >
 ]> 
 
-<SystemDefinition name="mmmw" schema="1.4.0">
+<SystemDefinition name="avdomain" schema="1.4.0">
 	<systemModel>
   <!-- Common file for prebuild layers-->
   	<layer name="mw_layer">
 			<module name="mmmw">
 				<unit unitID="mmmw" mrp="" bldFile="&layer_real_source_path;/group" name="mmmw" />
 			</module>
+			<module name="">
+				<unit unitID="mmmw_3GPExtParserLib" mrp="" bldFile="&layer_real_source_path;/mmserv/metadatautility/3GPExtParserLib/group" filter="!sf_build" name="mmmw_3GPExtParserLib" />
+			</module>
     </layer>
     
   	<layer name="api_test_layer">
@@ -40,6 +43,9 @@
 			<module name="mmmw_group">
 				<unit unitID="mmmw_group" mrp="" bldFile="&layer_real_source_path;/group" name="mmmw_group" />
 			</module>
+			<module name="">
+				<unit unitID="mmmw_3GPExtParserLib_group" mrp="" bldFile="&layer_real_source_path;/mmserv/metadatautility/3GPExtParserLib/group" filter="!sf_build" name="mmmw_3GPExtParserLib_group" />
+			</module>
     </layer>
 
   	<layer name="mw_mmmw_tms_layer">
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpDataSourceAdapter/Group/3gpDataSourceAdapter.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpDataSourceAdapter/Group/3gpDataSourceAdapter.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -49,7 +49,7 @@
 
 LIBRARY         ecom.lib
 
-LIBRARY		3gpmp4lib.lib
+LIBRARY		3GPMP4Lib.lib
 LIBRARY         efsrv.lib				// File server session
 LIBRARY		bafl.lib				// Resource file
 LIBRARY         caf.lib
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpDataSourceAdapter/Src/3gpDataSourceAdapter.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpDataSourceAdapter/Src/3gpDataSourceAdapter.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -254,10 +254,10 @@
         }
 	if ((iSourceType == KUidMmfFileSource) || (iSourceType == KOldProgDLSourceUid))
     	{ // parser has file handle
-	   	if (iSourceType == KUidMmfFileSource) 
-			{
-		    	iIsLocalPlayback = ETrue;
-			}
+    	if (iSourceType == KUidMmfFileSource) 
+		{
+	    	iIsLocalPlayback = ETrue;
+		}
 		// read async from lib when it has a file handle
 		iClip = static_cast<CMMFClip*>(iDataSource);
         iDataSource->SourcePrimeL();
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Data/3GPAudioPlayControllerResource.rss	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Data/3GPAudioPlayControllerResource.rss	Wed Sep 01 12:23:00 2010 +0100
@@ -32,7 +32,9 @@
     {
     shared_buffer_max_num = 2;
     shared_buffer_max_size = 20480;
-    shared_buffer_max_size_non_seekable_source = 20480;
+   
+    shared_buffer_max_size_non_seekable_source = 8192;
+    
     sampling_rate = EAapSampleRate16000Hz;
     stereo_support = 2;
     metadata_support = EAapMetadataSupportTrue;
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Group/3GPAudioPlayControllerPlugin.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Group/3GPAudioPlayControllerPlugin.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -134,21 +134,15 @@
 LIBRARY 	AdvancedAudioController.lib
 LIBRARY         DevSoundAudioOutput.lib
 LIBRARY		FileAudioOutput.lib
-LIBRARY		3gpmp4lib.lib
+LIBRARY		3GPMP4Lib.lib
 LIBRARY         efsrv.lib				// File server session
 LIBRARY		bafl.lib				// Resource file
-LIBRARY		mmfdevsound.lib
+LIBRARY		MMFDevSound.lib
 LIBRARY         caf.lib
 LIBRARY         cafutils.lib
 LIBRARY			3gpDataSourceAdapter.lib
-
-#ifndef WINSCW					//to support build on Linux
-LIBRARY		FrameTable.lib			// for CFrameTable
-#else
-LIBRARY		frametable.lib
-#endif 
-
-LIBRARY EAACPlusAudioControllerUtility.lib
+LIBRARY         FrameTable.lib             // for CFrameTable
+LIBRARY EAacPlusAudioControllerUtility.lib
 
 LIBRARY AMRAudioControllerUtility.lib
 LIBRARY AWBAudioControllerUtility.lib
@@ -158,27 +152,15 @@
         #ifndef __AAC_PLUS_DECODER_PLUGIN
             LIBRARY	AacDecoderConfig.lib
         #else
-        	#ifndef WINSCW								//to support build on Linux
 			    LIBRARY EAacPlusUtil.lib							// MMF eAAC+ Utility
-			#else
-				LIBRARY eaacplusutil.lib    
-			#endif	
             LIBRARY EAacPlusDecoderIntfc.lib
         #endif
     #else      
-        #ifndef WINSCW									//to support build on Linux
-			LIBRARY EAacPlusUtil.lib							// MMF eAAC+ Utility
-		#else
-			LIBRARY eaacplusutil.lib    
-		#endif									
+		  LIBRARY EAacPlusUtil.lib								// MMF eAAC+ Utility
         LIBRARY	AacDecoderConfig.lib
     #endif
 #else
-    #ifndef WINSCW										//to support build on Linux
-	    LIBRARY EAacPlusUtil.lib							// MMF eAAC+ Utility
-	#else
-		LIBRARY  eaacplusutil.lib    
-	#endif										
+    LIBRARY EAacPlusUtil.lib									// MMF eAAC+ Utility 
     LIBRARY	AacDecoderConfig.lib
 #endif
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Group/3GPAudioPlayControllerRecognizer.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Group/3GPAudioPlayControllerRecognizer.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -47,5 +47,5 @@
 LIBRARY         euser.lib 
 LIBRARY	        apmime.lib
 LIBRARY	        efsrv.lib
-LIBRARY	        3gpmp4lib.lib
+LIBRARY	        3GPMP4Lib.lib
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Src/3GPAudioPlayControllerPlugin.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Src/3GPAudioPlayControllerPlugin.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -277,7 +277,13 @@
         {
         iSharedBufferMaxNum = 3;
    	    }
-	
+   
+    if (iSourceType != KUidMmfFileSource) 
+               {
+               DP0(_L("CAACAudioPlayControllerPlugin::DoAddDataSourceL not file source,changing buffer size"));        
+              
+                iSharedBufferMaxSize = iSharedBufferMaxSizeForNonSeekableSrc;
+               }
     CMMFDataBuffer* tempBuffer = CreateSourceBufferOfSizeLC(KFirstBufferSize);
     tempBuffer->Data().Copy(iSharedBuffers[0]->Data());
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudiorecordcontroller/Group/3GPAudioRecordControllerPlugin.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudiorecordcontroller/Group/3GPAudioRecordControllerPlugin.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -76,10 +76,10 @@
 LIBRARY 	mmfserverbaseclasses.lib
 LIBRARY 	AdvancedAudioController.lib
 LIBRARY         DevSoundAudioInput.lib
-LIBRARY		3gpmp4lib.lib
+LIBRARY		3GPMP4Lib.lib
 LIBRARY         efsrv.lib				// File server session
 LIBRARY		bafl.lib				// Resource file
-LIBRARY		mmfdevsound.lib
+LIBRARY		MMFDevSound.lib
 
 // for MP4MetaDataWrite
 LIBRARY         MetaDataWrite.lib			// for MMetaDataWriteCustomCommandImplementor
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Bwins/AdvancedAudioControllerU.DEF	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Bwins/AdvancedAudioControllerU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -291,4 +291,5 @@
 	?MapcSetRepeats@CAdvancedAudioPlayController@@MAEHHABVTTimeIntervalMicroSeconds@@@Z @ 290 NONAME ; int CAdvancedAudioPlayController::MapcSetRepeats(int, class TTimeIntervalMicroSeconds const &)
 	?TrailingSilenceTimerComplete@CAdvancedAudioPlayController@@UAEXXZ @ 291 NONAME ; void CAdvancedAudioPlayController::TrailingSilenceTimerComplete(void)
 	?QueueThisBuffer@CAdvancedAudioDecoder@@UAEXI@Z @ 292 NONAME ; void CAdvancedAudioDecoder::QueueThisBuffer(unsigned int)
+	?IsDecodingSufficient@CAdvancedAudioDecoder@@UAEHXZ @ 293 NONAME ; int CAdvancedAudioDecoder::IsDecodingSufficient(void)
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/EABI/AdvancedAudioControllerU.DEF	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/EABI/AdvancedAudioControllerU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -468,4 +468,5 @@
 	_ZThn4_N21CAdvancedAudioUtility19SeekPositionReachedEj @ 467 NONAME
 	_ZThn4_N21CAdvancedAudioUtility28PlayWindowEndPositionReachedEv @ 468 NONAME
 	_ZThn56_N24CAdvancedAudioController26GetCustomInterfaceBuilderLEv @ 469 NONAME
+	_ZN21CAdvancedAudioDecoder20IsDecodingSufficientEv @ 470 NONAME
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Group/AdvancedAudioController.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Group/AdvancedAudioController.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -61,17 +61,11 @@
 LIBRARY         sysutil.lib
 LIBRARY         mmfdevsound.lib
 LIBRARY         mmfstandardcustomcommands.lib
-LIBRARY         CustomInterfaceBuilder.lib
-LIBRARY         metadatautility.lib
+LIBRARY         custominterfacebuilder.lib
+LIBRARY         MetaDataUtility.lib
 LIBRARY         AudioOutputRouting.lib
 LIBRARY         DrmDcf.lib
-
-#ifndef WINSCW						//to support build on Linux
-LIBRARY		FrameTable.lib			// for CFrameTable
-#else
-LIBRARY		frametable.lib
-#endif 
-
+LIBRARY         FrameTable.lib		            // for CFrameTable
 LIBRARY         MMDataSourceFactory.lib         // for MMultimediaDataSourceObserver
 LIBRARY         StreamControlCustomCommands.lib // for MStreamControlCustomCommandImplementor
 LIBRARY			DataSourceAdapter.lib
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Inc/AdvancedAudioDecoder.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Inc/AdvancedAudioDecoder.h	Wed Sep 01 12:23:00 2010 +0100
@@ -98,6 +98,12 @@
         * @return  void
         */
         virtual void SendEvent(const TMMFEvent& aEvent) = 0;
+        /**
+        * Callback function from CAdvancedAudioDecoder to check if source is position and time seekable
+        * @param   None
+        * @return  TBool
+        */
+        virtual TBool IsTimePosSeekable() = 0;
     };
     
 /**
@@ -331,7 +337,8 @@
 		IMPORT_C virtual void ParseL(TUint8* aSrc, TInt& aSrcUsed, TUint8* aDst, TInt& aDstLen);
 		virtual TInt SeekSync(TUint8* aBuf, TInt aBufLen);
 		virtual TInt FrameLength(const TUint8* aBuf, TInt aBufLen, TInt& aFrameLength);
-
+    public:
+		IMPORT_C virtual TBool IsDecodingSufficient();
 	private:	
         /**
         * Completes own request.
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Inc/AdvancedAudioPlayController.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Inc/AdvancedAudioPlayController.h	Wed Sep 01 12:23:00 2010 +0100
@@ -976,7 +976,6 @@
         
         mutable CActiveSchedulerWait* iWait;
         mutable CActiveSchedulerWait* iBlockSetPos;
-        mutable CActiveSchedulerWait* iBlockPrime;
 
         TUint32 iPlayStartTime;
         TUint32 iZeroTime;
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioDecoder.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioDecoder.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -593,6 +593,13 @@
                             // it will be sent for refill later by NextSharedBufferL().
                             static_cast<CMMFDataBuffer*>(iNextBuffer)->SetStatus(EBeingEmptied);
                             NextSharedBufferL();
+                            //added to send only 8kb of data to devsound for aac during progressive download,fix for ou1cimx1#447299
+                         if(IsDecodingSufficient() && !(iObserver->IsTimePosSeekable()))
+                             {
+                              
+                              moreProcessing=EFalse;
+                             }
+                            
                             // length can only be <= maxlength
 							if (dstlength == dstmaxlength)
 								{
@@ -802,5 +809,11 @@
 	return stat;	
 	}
 
+EXPORT_C TBool CAdvancedAudioDecoder::IsDecodingSufficient()
+    {
+      DP0(_L("CAdvancedAudioDecoder::IsDecodingSufficient"));
+      return EFalse;
+    }
+//added
 
 // End of file
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioPlayController.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioPlayController.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -123,8 +123,6 @@
 	delete iDataSourceAdapter;
 	delete iWait;
 	delete iBlockSetPos;
-	delete iBlockPrime;
-      
 	iSharedBuffers.ResetAndDestroy();
 	iSharedBuffers.Close();
     DP0(_L("CAdvancedAudioPlayController::~CAdvancedAudioPlayController end"));
@@ -681,13 +679,7 @@
             iBlockSetPos->AsyncStop();
             }
         }
-    if(iBlockPrime)
-       {
-       if(iBlockPrime->IsStarted())
-       	   {
-            iBlockPrime->AsyncStop();
-           }
-       }
+
     iRequestState = EPaused;
     TRAP(err, DoPauseL(ETrue)); // this is a preemption pause
 	// In case of pre-emption we should only Pause ... but not Stop.
@@ -1639,11 +1631,7 @@
             iBlockSetPos->AsyncStop();
             }
         }
-    if(iBlockPrime)
-        {
-        if(iBlockPrime->IsStarted())
-         iBlockPrime->AsyncStop();
-        }
+   
     iPlayingForDuration = EFalse;
     iBlockDuration = EFalse;
     iPlayingForPauseSeek = EFalse;
@@ -1732,17 +1720,11 @@
 		case EInitializing:
             if (position != 0)
     	   		{ // if we are priming, we will already be ready to play from 0.
-				     DP2(_L("CAdvancedAudioPlayController::SetPositionL, saving pos iReadHeader[%d] iState[%d]"),iReadHeader,iState);
-             iInitPosition = position;
+				DP2(_L("CAdvancedAudioPlayController::SetPositionL, saving pos iReadHeader[%d] iState[%d]"),iReadHeader,iState);
+                iInitPosition = position;
        			}
-			  DP0(_L("CAdvancedAudioPlayController::SetPositionL, can ignore"));
-			  DP0(_L("CAdvancedAudioController::PrimeL() blocking"));
-        iBlockPrime= new (ELeave) CActiveSchedulerWait();
-        iBlockPrime->Start();
-        DP0(_L("CAdvancedAudioController::PrimeL() continuing"));
-        delete iBlockPrime;
-        iBlockPrime= NULL;
-			
+			DP0(_L("CAdvancedAudioPlayController::SetPositionL, can ignore"));
+			break;
 		case EInitialized:
 		case EPaused:
 		    iSavedSetPosition = position;
@@ -1917,14 +1899,6 @@
 				        return;
 				        }
 					iState = EInitialized;
-					if(iBlockPrime)
-					    {
-					    if(iBlockPrime->IsStarted())
-					    	{
-					      iBlockPrime->AsyncStop();
-					      }
-					    }
-					
 					// when playwindow is active for a non-seekable source during loop play
 					// we must seek to the playwindow start position and then start the playback
 					if (iPlayWindowStartPosition > 0) // do we need additional checks as loop play / non-seekable source ??
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioControllerUtility/Group/EAACPlusAudioControllerUtility.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioControllerUtility/Group/EAACPlusAudioControllerUtility.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -42,14 +42,9 @@
 
 LIBRARY         euser.lib
 LIBRARY         AdvancedAudioController.lib
-#ifndef WINSCW						//to support build on Linux
-LIBRARY         EAacPlusUtil.lib	// MMF eAAC+ Utility - Kirit
-#else
-LIBRARY         eaacplusutil.lib
-#endif
-																
+LIBRARY         EAacPlusUtil.lib																// MMF eAAC+ Utility - Kirit
 LIBRARY         mmfserverbaseclasses.lib
 
 #ifdef EABI
-LIBRARY         ecom.lib
+LIBRARY         ECOM.LIB
 #endif
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DataSourceAdapter/Bwins/DataSourceAdapteru.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DataSourceAdapter/Bwins/DataSourceAdapteru.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,32 +1,32 @@
 EXPORTS
-	?SetAgentProperty@CDataSourceAdapter@@UAEHW4TAgentProperty@ContentAccess@@H@Z @ 1 NONAME ; int CDataSourceAdapter::SetAgentProperty(enum ContentAccess::TAgentProperty, int)
-	?BufferEmptiedL@CDataSourceAdapter@@UAEXPAVCMMFBuffer@@@Z @ 2 NONAME ; void CDataSourceAdapter::BufferEmptiedL(class CMMFBuffer *)
-	?SetSourcePrioritySettings@CDataSourceAdapter@@UAEXABVTMMFPrioritySettings@@@Z @ 3 NONAME ; void CDataSourceAdapter::SetSourcePrioritySettings(class TMMFPrioritySettings const &)
-	?SeekToTime@CDataSourceAdapter@@UAEHI@Z @ 4 NONAME ; int CDataSourceAdapter::SeekToTime(unsigned int)
-	??1CDataSourceAdapter@@UAE@XZ @ 5 NONAME ; CDataSourceAdapter::~CDataSourceAdapter(void)
-	?SetAudioOutputControlUtil@CDataSourceAdapter@@QAEHPAVCAudioOutputControlUtility@@@Z @ 6 NONAME ; int CDataSourceAdapter::SetAudioOutputControlUtil(class CAudioOutputControlUtility *)
-	?NewL@CDataSourceAdapter@@SAPAV1@XZ @ 7 NONAME ; class CDataSourceAdapter * CDataSourceAdapter::NewL(void)
-	?SourcePrimeL@CDataSourceAdapter@@UAEXXZ @ 8 NONAME ; void CDataSourceAdapter::SourcePrimeL(void)
-	?Event@CDataSourceAdapter@@UAEXVTUid@@@Z @ 9 NONAME ; void CDataSourceAdapter::Event(class TUid)
-	?SeekToTime@CDataSourceAdapter@@UAEHIAAI@Z @ 10 NONAME ; int CDataSourceAdapter::SeekToTime(unsigned int, unsigned int &)
-	?SourceThreadLogon@CDataSourceAdapter@@UAEHAAVMAsyncEventHandler@@@Z @ 11 NONAME ; int CDataSourceAdapter::SourceThreadLogon(class MAsyncEventHandler &)
-	?ExecuteIntent@CDataSourceAdapter@@UAEHW4TIntent@ContentAccess@@@Z @ 12 NONAME ; int CDataSourceAdapter::ExecuteIntent(enum ContentAccess::TIntent)
-	?DataSourceType@CDataSourceAdapter@@UAE?AVTUid@@XZ @ 13 NONAME ; class TUid CDataSourceAdapter::DataSourceType(void)
-	?IsProtectedL@CDataSourceAdapter@@UAEHXZ @ 14 NONAME ; int CDataSourceAdapter::IsProtectedL(void)
-	?FillBufferL@CDataSourceAdapter@@UAEXPAVCMMFBuffer@@PAVMDataSink@@VTMediaId@@@Z @ 15 NONAME ; void CDataSourceAdapter::FillBufferL(class CMMFBuffer *, class MDataSink *, class TMediaId)
-	?IsLocalPlayback@CDataSourceAdapter@@UAEHXZ @ 16 NONAME ; int CDataSourceAdapter::IsLocalPlayback(void)
-	?IsPositonSeekable@CDataSourceAdapter@@UAEHXZ @ 17 NONAME ; int CDataSourceAdapter::IsPositonSeekable(void)
-	?CanCreateSourceBuffer@CDataSourceAdapter@@UAEHXZ @ 18 NONAME ; int CDataSourceAdapter::CanCreateSourceBuffer(void)
-	?CreateSourceBufferL@CDataSourceAdapter@@UAEPAVCMMFBuffer@@VTMediaId@@AAH@Z @ 19 NONAME ; class CMMFBuffer * CDataSourceAdapter::CreateSourceBufferL(class TMediaId, int &)
-	?SourceStopL@CDataSourceAdapter@@UAEXXZ @ 20 NONAME ; void CDataSourceAdapter::SourceStopL(void)
-	?IsTimeSeekable@CDataSourceAdapter@@UAEHXZ @ 21 NONAME ; int CDataSourceAdapter::IsTimeSeekable(void)
-	?SetDataSourceL@CDataSourceAdapter@@UAEXPAVMDataSource@@PAVMMultimediaDataSourceObserver@@PAVMAsyncEventHandler@@@Z @ 22 NONAME ; void CDataSourceAdapter::SetDataSourceL(class MDataSource *, class MMultimediaDataSourceObserver *, class MAsyncEventHandler *)
-	?SeekToPosition@CDataSourceAdapter@@UAEHI@Z @ 23 NONAME ; int CDataSourceAdapter::SeekToPosition(unsigned int)
-	?GetInterface@CDataSourceAdapter@@UAEHVTUid@@AAVTVersion@@AAPAX@Z @ 24 NONAME ; int CDataSourceAdapter::GetInterface(class TUid, class TVersion &, void * &)
-	?EvaluateIntent@CDataSourceAdapter@@UAEHW4TIntent@ContentAccess@@@Z @ 25 NONAME ; int CDataSourceAdapter::EvaluateIntent(enum ContentAccess::TIntent)
-	?OnlyHeaderPresent@CDataSourceAdapter@@UAEHXZ @ 26 NONAME ; int CDataSourceAdapter::OnlyHeaderPresent(void)
-	?SourceSize@CDataSourceAdapter@@UAEHXZ @ 27 NONAME ; int CDataSourceAdapter::SourceSize(void)
-	?SourcePlayL@CDataSourceAdapter@@UAEXXZ @ 28 NONAME ; void CDataSourceAdapter::SourcePlayL(void)
-	?SourceThreadLogoff@CDataSourceAdapter@@UAEXXZ @ 29 NONAME ; void CDataSourceAdapter::SourceThreadLogoff(void)
-	??0CDataSourceAdapter@@IAE@XZ @ 30 NONAME ; CDataSourceAdapter::CDataSourceAdapter(void)
+	??0CDataSourceAdapter@@IAE@XZ @ 1 NONAME ; CDataSourceAdapter::CDataSourceAdapter(void)
+	??1CDataSourceAdapter@@UAE@XZ @ 2 NONAME ; CDataSourceAdapter::~CDataSourceAdapter(void)
+	?BufferEmptiedL@CDataSourceAdapter@@UAEXPAVCMMFBuffer@@@Z @ 3 NONAME ; void CDataSourceAdapter::BufferEmptiedL(class CMMFBuffer *)
+	?CanCreateSourceBuffer@CDataSourceAdapter@@UAEHXZ @ 4 NONAME ; int CDataSourceAdapter::CanCreateSourceBuffer(void)
+	?CreateSourceBufferL@CDataSourceAdapter@@UAEPAVCMMFBuffer@@VTMediaId@@AAH@Z @ 5 NONAME ; class CMMFBuffer * CDataSourceAdapter::CreateSourceBufferL(class TMediaId, int &)
+	?DataSourceType@CDataSourceAdapter@@UAE?AVTUid@@XZ @ 6 NONAME ; class TUid CDataSourceAdapter::DataSourceType(void)
+	?EvaluateIntent@CDataSourceAdapter@@UAEHW4TIntent@ContentAccess@@@Z @ 7 NONAME ; int CDataSourceAdapter::EvaluateIntent(enum ContentAccess::TIntent)
+	?Event@CDataSourceAdapter@@UAEXVTUid@@@Z @ 8 NONAME ; void CDataSourceAdapter::Event(class TUid)
+	?ExecuteIntent@CDataSourceAdapter@@UAEHW4TIntent@ContentAccess@@@Z @ 9 NONAME ; int CDataSourceAdapter::ExecuteIntent(enum ContentAccess::TIntent)
+	?FillBufferL@CDataSourceAdapter@@UAEXPAVCMMFBuffer@@PAVMDataSink@@VTMediaId@@@Z @ 10 NONAME ; void CDataSourceAdapter::FillBufferL(class CMMFBuffer *, class MDataSink *, class TMediaId)
+	?GetInterface@CDataSourceAdapter@@UAEHVTUid@@AAVTVersion@@AAPAX@Z @ 11 NONAME ; int CDataSourceAdapter::GetInterface(class TUid, class TVersion &, void * &)
+	?IsPositonSeekable@CDataSourceAdapter@@UAEHXZ @ 12 NONAME ; int CDataSourceAdapter::IsPositonSeekable(void)
+	?IsProtectedL@CDataSourceAdapter@@UAEHXZ @ 13 NONAME ; int CDataSourceAdapter::IsProtectedL(void)
+	?IsTimeSeekable@CDataSourceAdapter@@UAEHXZ @ 14 NONAME ; int CDataSourceAdapter::IsTimeSeekable(void)
+	?NewL@CDataSourceAdapter@@SAPAV1@XZ @ 15 NONAME ; class CDataSourceAdapter * CDataSourceAdapter::NewL(void)
+	?OnlyHeaderPresent@CDataSourceAdapter@@UAEHXZ @ 16 NONAME ; int CDataSourceAdapter::OnlyHeaderPresent(void)
+	?SeekToPosition@CDataSourceAdapter@@UAEHI@Z @ 17 NONAME ; int CDataSourceAdapter::SeekToPosition(unsigned int)
+	?SeekToTime@CDataSourceAdapter@@UAEHI@Z @ 18 NONAME ; int CDataSourceAdapter::SeekToTime(unsigned int)
+	?SeekToTime@CDataSourceAdapter@@UAEHIAAI@Z @ 19 NONAME ; int CDataSourceAdapter::SeekToTime(unsigned int, unsigned int &)
+	?SetAgentProperty@CDataSourceAdapter@@UAEHW4TAgentProperty@ContentAccess@@H@Z @ 20 NONAME ; int CDataSourceAdapter::SetAgentProperty(enum ContentAccess::TAgentProperty, int)
+	?SetDataSourceL@CDataSourceAdapter@@UAEXPAVMDataSource@@PAVMMultimediaDataSourceObserver@@PAVMAsyncEventHandler@@@Z @ 21 NONAME ; void CDataSourceAdapter::SetDataSourceL(class MDataSource *, class MMultimediaDataSourceObserver *, class MAsyncEventHandler *)
+	?SetSourcePrioritySettings@CDataSourceAdapter@@UAEXABVTMMFPrioritySettings@@@Z @ 22 NONAME ; void CDataSourceAdapter::SetSourcePrioritySettings(class TMMFPrioritySettings const &)
+	?SourcePlayL@CDataSourceAdapter@@UAEXXZ @ 23 NONAME ; void CDataSourceAdapter::SourcePlayL(void)
+	?SourcePrimeL@CDataSourceAdapter@@UAEXXZ @ 24 NONAME ; void CDataSourceAdapter::SourcePrimeL(void)
+	?SourceSize@CDataSourceAdapter@@UAEHXZ @ 25 NONAME ; int CDataSourceAdapter::SourceSize(void)
+	?SourceStopL@CDataSourceAdapter@@UAEXXZ @ 26 NONAME ; void CDataSourceAdapter::SourceStopL(void)
+	?SourceThreadLogoff@CDataSourceAdapter@@UAEXXZ @ 27 NONAME ; void CDataSourceAdapter::SourceThreadLogoff(void)
+	?SourceThreadLogon@CDataSourceAdapter@@UAEHAAVMAsyncEventHandler@@@Z @ 28 NONAME ; int CDataSourceAdapter::SourceThreadLogon(class MAsyncEventHandler &)
+	?SetAudioOutputControlUtil@CDataSourceAdapter@@QAEHPAVCAudioOutputControlUtility@@@Z @ 29 NONAME ; int CDataSourceAdapter::SetAudioOutputControlUtil(class CAudioOutputControlUtility *)
+	?IsLocalPlayback@CDataSourceAdapter@@UAEHXZ @ 30 NONAME ; int CDataSourceAdapter::IsLocalPlayback(void)
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioInput/Group/DevSoundAudioInput.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioInput/Group/DevSoundAudioInput.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -46,5 +46,5 @@
 LIBRARY 	mmfdevsound.lib
 #ifdef EABI
 // modified by BuildTeam
-LIBRARY     ecom.lib
+LIBRARY     ECOM.LIB
 #endif
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Group/DevSoundAudioOutput.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Group/DevSoundAudioOutput.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -49,5 +49,5 @@
 LIBRARY		DataSourceAdapter.lib
 #ifdef EABI
 // modified by BuildTeam
-LIBRARY     ecom.lib
+LIBRARY     ECOM.LIB
 #endif
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Inc/DevSoundAudioOutput.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Inc/DevSoundAudioOutput.h	Wed Sep 01 12:23:00 2010 +0100
@@ -392,7 +392,14 @@
         * @return -
         */
 		virtual void SendEvent(const TMMFEvent& aEvent);
-
+		    /**
+        * From MAdvancedAudioDecoderObserver
+        * Callback function from CAdvancedAudioDecoder to check if the source is time or position seekable
+        * 
+        * @param None
+        * @return TBool
+        */
+		virtual TBool IsTimePosSeekable();
     private:
 
         /**
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Src/DevSoundAudioOutput.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Src/DevSoundAudioOutput.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -990,7 +990,13 @@
 	{
     iObserver->SendEvent(aEvent);
 	}
-
+TBool CDevSoundAudioOutput::IsTimePosSeekable()
+    {
+     if(!iDataSourceAdapter->IsTimeSeekable()&& (!iDataSourceAdapter->IsPositonSeekable()))
+         return EFalse;
+     else 
+         return ETrue;
+    }
 // -----------------------------------------------------------------------------
 // CDevSoundAudioOutput::ConvertFromDevSoundCapsToSampleRatesL
 // Internal function to convert sampling rate from DevSound representation to
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Group/FileAudioOutput.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Group/FileAudioOutput.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -44,5 +44,5 @@
 LIBRARY 	mmfcontrollerframework.lib
 LIBRARY 	mmfserverbaseclasses.lib
 #ifdef EABI
-LIBRARY     ecom.lib
+LIBRARY     ECOM.LIB
 #endif
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Inc/FileAudioOutput.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Inc/FileAudioOutput.h	Wed Sep 01 12:23:00 2010 +0100
@@ -300,7 +300,17 @@
         * @param   aError a system-wide error code.
         * @return  -
         */
+       
         virtual void IOError(TInt aError);
+        
+        /**
+        * From MAdvancedAudioDecoderObserver
+        * Callback function from CAdvancedAudioDecoder to return if source is position or time seekable
+        * 
+        * @param None
+        * @return TBool
+        */
+        virtual TBool IsTimePosSeekable();
 
     private:
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Src/FileAudioOutput.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Src/FileAudioOutput.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -547,7 +547,10 @@
     {
     return EFalse;
     }
-
+TBool CFileAudioOutput::IsTimePosSeekable()
+    {
+    return EFalse;
+    }
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
 // End of file
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/MetaDataWrite/Group/MetaDataWrite.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/MetaDataWrite/Group/MetaDataWrite.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -39,4 +39,4 @@
 
 LIBRARY         euser.lib
 LIBRARY         mediaclientaudio.lib
-LIBRARY         mmfcontrollerframework.lib
+LIBRARY         MMFControllerFramework.lib
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/PlaylistRecognizer/group/playlistrecognizer.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/PlaylistRecognizer/group/playlistrecognizer.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 5 %
+// Version : %version: bh1mmcf#4 %
 
 
 
@@ -42,7 +42,7 @@
 
 LIBRARY         euser.lib
 LIBRARY         apmime.lib
-LIBRARY         efsrv.lib
+LIBRARY         EFSRV.LIB
 LIBRARY         playbackhelper.lib
 
 #ifdef __WINDOWS_MEDIA
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Group/AACAudioPlayControllerPlugin.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Group/AACAudioPlayControllerPlugin.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -85,38 +85,29 @@
 LIBRARY         DevSoundAudioOutput.lib
 LIBRARY         FileAudioOutput.lib
 LIBRARY         bafl.lib                        // Resource file
-LIBRARY         mmfdevsound.lib
+LIBRARY         MMFDevSound.lib
 LIBRARY         efsrv.lib
-
-#ifndef WINSCW					//to support build on Linux
-LIBRARY		FrameTable.lib			// for CFrameTable
-#else
-LIBRARY		frametable.lib
-#endif            
+LIBRARY         FrameTable.lib             // for CFrameTable
 
 #ifndef __USE_AAC_CMMFCODEC
     #ifndef __USE_EAACPLUS_CMMFCODEC
         #ifndef __AAC_PLUS_DECODER_PLUGIN
 // only EAACPlusAudioControllerUtility support AAC optimization
 //            LIBRARY AACAudioControllerUtility.lib
-            LIBRARY EAACPlusAudioControllerUtility.lib
+            LIBRARY EAacPlusAudioControllerUtility.lib
             LIBRARY AacDecoderConfig.lib   
         #else
-            LIBRARY EAACPlusAudioControllerUtility.lib
+            LIBRARY EAacPlusAudioControllerUtility.lib
             LIBRARY EAacPlusDecoderIntfc.lib
 //            LIBRARY EAacPlusFrameParser.lib
-			#ifndef WINSCW								//to support build on Linux
-				LIBRARY         EAacPlusUtil.lib		// MMF eAAC+ Utility
-			#else
-				LIBRARY         eaacplusutil.lib
-			#endif
+						LIBRARY EAacPlusUtil.lib
         #endif
     #else
-        LIBRARY EAACPlusAudioControllerUtility.lib    
+        LIBRARY EAacPlusAudioControllerUtility.lib    
         LIBRARY AacDecoderConfig.lib   
     #endif
 #else    
-    LIBRARY EAACPlusAudioControllerUtility.lib    
+    LIBRARY EAacPlusAudioControllerUtility.lib    
     LIBRARY AacDecoderConfig.lib   
 #endif
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerDecoder.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerDecoder.h	Wed Sep 01 12:23:00 2010 +0100
@@ -61,7 +61,10 @@
 		TCodecProcessResult ProcessL(CMMFBuffer& aSrc, CMMFBuffer& aDst);
 		TInt CodecConfig(RArray<TInt>& aCodecConfigData);
 		TInt CodecCmd(TCodecCmd aCmd);
-        
+     
+		TBool IsDecodingSufficient();
+		
+		
     private: // Functions from base classes
 		void ResetL();
 		
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerHwDecoder.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerHwDecoder.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -21,7 +21,7 @@
 // INCLUDE FILES
 #include "AACAudioPlayControllerDecoder.h"
 #include "DebugMacros.h"
-#include <mmfcodec.h>
+#include <Mmfcodec.h>
 
 #include <mmfpaniccodes.h>
 
@@ -292,6 +292,7 @@
     iAccLen = 0;
 
 	iAacUtil->Config(iFrameLenConfig);
+	iEnabled = ETrue;
     DP0(_L ("CAACAudioPlayControllerDecoder::Reset - Exit"));
 	}
 	
@@ -382,5 +383,10 @@
 	{
 	return KErrNotSupported;
 	}
+TBool CAACAudioPlayControllerDecoder::IsDecodingSufficient()
+    {
+    RDebug::Printf("CAACAudioPlayControllerDecoder::IsDecodingSufficient");
+    return ETrue;
+    }
 
 // End of file
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerSwDecoder.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerSwDecoder.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -251,5 +251,8 @@
 	{
 	return KErrNotSupported;
 	}
-
+TBool CAACAudioPlayControllerDecoder::IsDecodingSufficient()
+    {
+     return CAdvancedAudioDecoder::IsDecodingSufficient();
+    }
 // End of file
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Data/AMRAudioPlayControllerResource.rss	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Data/AMRAudioPlayControllerResource.rss	Wed Sep 01 12:23:00 2010 +0100
@@ -30,9 +30,9 @@
 //
 RESOURCE ADVANCED_AUDIO_CONTROLLER_RESOURCE amrDecoder
     {
-    shared_buffer_max_num = 2;
-    shared_buffer_max_size = 8192;
-
+    shared_buffer_max_num = 1;
+    shared_buffer_max_size = 524288; // multiple of 1024
+    shared_buffer_max_size_non_seekable_source = 8192;
     sampling_rate = EAapSampleRate8000Hz;
     stereo_support = 0;
     metadata_support = EAapMetadataSupportFalse;
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Group/AMRAudioPlayControllerPlugin.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Group/AMRAudioPlayControllerPlugin.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -87,12 +87,7 @@
 LIBRARY		FileAudioOutput.lib
 LIBRARY		bafl.lib				// Resource file
 LIBRARY		efsrv.lib 
-
-#ifndef WINSCW					//to support build on Linux
 LIBRARY		FrameTable.lib
-#else
-LIBRARY		frametable.lib
-#endif
 
 #ifdef EABI
 LIBRARY     	ecom.lib
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Src/AMRAudioPlayControllerHwDecoder.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Src/AMRAudioPlayControllerHwDecoder.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -140,6 +140,7 @@
     iOutBufferPtr = iOutBuffer;
 
     iAccLen = 0;
+    iEnabled = ETrue;
 
     DP0(_L ("CAMRAudioPlayControllerDecoder::Reset - Exit"));
 	}
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Src/AMRAudioPlayControllerPlugin.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/amraudioplaycontroller/Src/AMRAudioPlayControllerPlugin.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -51,13 +51,14 @@
     {
     CAdvancedAudioPlayController::ConstructL();
 
-	  iAudioResource = CAMRAudioPlayControllerResource::NewL();
+	iAudioResource = CAMRAudioPlayControllerResource::NewL();
     TAapProperties aapProperties = iAudioResource->PropertiesL();
     iSharedBufferMaxNum = aapProperties.iSharedBufferMaxNum;
     iSharedBufferMaxSize = aapProperties.iSharedBufferMaxSize;
     iMetaDataSupport = aapProperties.iMetaDataSupport;
-  	iAudioUtility = CAMRAudioControllerUtility::NewL();
-	  iDecoderBuilder = CAMRAudioPlayControllerDecoderBuilder::NewL();
+    iSharedBufferMaxSizeForNonSeekableSrc = aapProperties.iSharedBufferMaxSizeForNonSeekableSrc;
+	iAudioUtility = CAMRAudioControllerUtility::NewL();
+	iDecoderBuilder = CAMRAudioPlayControllerDecoderBuilder::NewL();
     }
 
 // -----------------------------------------------------------------------------
@@ -103,6 +104,18 @@
 void CAMRAudioPlayControllerPlugin::DoAddDataSourceL()
     {
     DP0(_L("CAMRAudioPlayControllerPlugin::DoAddDataSourceL"));
+        // ou1cimx1#205863
+    if (iSourceType != KUidMmfFileSource) 
+    	{
+	    DP0(_L("CAMRAudioPlayControllerPlugin::DoAddDataSourceL not file source"));        
+	    if (iSharedBufferMaxNum <= 2)
+	        {
+	        	iSharedBufferMaxNum = 3;
+	        }
+		 iSharedBufferMaxSize = iSharedBufferMaxSizeForNonSeekableSrc;
+	    DP2(_L("CAMRAudioPlayControllerPlugin::DoAddDataSourceL new iSharedBufferMaxNum[%d] iSharedBufferMaxSize[%d]"), iSharedBufferMaxNum, iSharedBufferMaxSize);
+    	}
+
     }
 
 // -----------------------------------------------------------------------------
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/awbaudioplaycontroller/Group/AWBAudioPlayControllerPlugin.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/awbaudioplaycontroller/Group/AWBAudioPlayControllerPlugin.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -85,12 +85,7 @@
 LIBRARY		FileAudioOutput.lib
 LIBRARY		bafl.lib				// Resource file
 LIBRARY		efsrv.lib 
-
-#ifndef WINSCW					//to support build on Linux
-LIBRARY		FrameTable.lib			// for CFrameTable
-#else
-LIBRARY		frametable.lib
-#endif 
+LIBRARY		FrameTable.lib
 
 #ifdef EABI
 LIBRARY     	ecom.lib
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/awbaudioplaycontroller/Src/AWBAudioPlayControllerHwDecoder.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/awbaudioplaycontroller/Src/AWBAudioPlayControllerHwDecoder.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -146,7 +146,7 @@
     iOutBufferPtr = iOutBuffer;
 
     iAccLen = 0;
-
+    iEnabled = ETrue;
     DP0(_L ("CAWBAudioPlayControllerDecoder::Reset - Exit"));
 	}
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/mp3audioplaycontroller/Group/MP3AudioPlayControllerPlugin.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/mp3audioplaycontroller/Group/MP3AudioPlayControllerPlugin.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -85,12 +85,7 @@
 LIBRARY		bafl.lib				// Resource file
 LIBRARY		efsrv.lib
 LIBRARY         charconv.lib
-
-#ifndef WINSCW					//to support build on Linux
 LIBRARY		FrameTable.lib
-#else
-LIBRARY		frametable.lib
-#endif
 
 #ifdef EABI
 LIBRARY     	ecom.lib
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/mp3audioplaycontroller/Src/MP3AudioPlayControllerHwDecoder.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/mp3audioplaycontroller/Src/MP3AudioPlayControllerHwDecoder.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -22,7 +22,7 @@
 #include "MP3AudioPlayControllerDecoder.h"
 #include "DebugMacros.h"
 #include <mmfpaniccodes.h>
-#include <mmfcodec.h>
+#include <Mmfcodec.h>
 
 const TUint KRawMp3MaxFrameSize  = 1441;
 const TUint KSizeOfInBuffer   = 2*KRawMp3MaxFrameSize;
@@ -149,7 +149,7 @@
     iOutBufferPtr = iOutBuffer;
 
     iAccLen = 0;
-
+    iEnabled = ETrue; 
     DP0(_L ("CMP3AudioPlayControllerDecoder::Reset - Exit"));
 	}
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/rom/AudioControllerPluginsVariant.iby	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/rom/AudioControllerPluginsVariant.iby	Wed Sep 01 12:23:00 2010 +0100
@@ -35,9 +35,6 @@
 file=ABI_DIR\BUILD_DIR\3GPAudioMetaDataComposer.dll             SHARED_LIB_DIR\3GPAudioMetaDataComposer.dll
 #endif
 
-//For Wav Controller
-ECOM_PLUGIN(mmfaudiocontroller.dll,101f55bf.rsc)
-
 //For 3GP
 ECOM_PLUGIN(3GPAudioPlayControllerPlugin.DLL,3GPAudioPlayControllerPlugin.rsc)
 ECOM_PLUGIN(3GPAudioPlayControllerRecognizer.DLL,3GPAudioPlayControllerRecognizer.rsc)
--- a/mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/group/mmfaudiotonecontroller.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/group/mmfaudiotonecontroller.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -56,9 +56,6 @@
 LIBRARY mmfdevsound.lib
 LIBRARY mmfcontrollerframework.lib
 LIBRARY mmfstandardcustomcommands.lib
-LIBRARY	ConfigurationComponentsFactory.lib
-LIBRARY	AudioOutputControlUtility.lib
-LIBRARY	AudioOutputRouting.lib
 #ifdef EABI
 LIBRARY ecom.lib
 #endif
--- a/mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/ringtonerecognizer/group/recrt.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/ringtonerecognizer/group/recrt.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -36,7 +36,7 @@
 
 SOURCE          recrt.cpp
 
-LIBRARY         euser.lib
-LIBRARY         apmime.lib
+LIBRARY         EUSER.LIB
+LIBRARY         APMIME.LIB
 
 // End of File
--- a/mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/src/mmfaudiotonecontroller.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/src/mmfaudiotonecontroller.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -22,9 +22,6 @@
 #include <mmf/common/mmfpaniccodes.h>
 #include "mmfaudiotonecontroller.h"
 #include <mmf/server/mmfaudiooutput.h>
-#include <ConfigurationComponentsFactory.h>
-#include <AudioOutputControlUtility.h>
-#include <mmf/server/mmffile.h>
 
 /*
  A list of panic codes for the Audio Tone Controller
@@ -114,7 +111,6 @@
 void CMMFAudioToneController::ConstructL()
 	{
 	iSourceAndSinkAdded = EFalse;
-    iDataSink           = NULL;
 
 	// Construct custom command parsers
 	CMMFAudioPlayDeviceCustomCommandParser* audPlayDevParser = CMMFAudioPlayDeviceCustomCommandParser::NewL(*this);
@@ -131,22 +127,6 @@
 	CleanupStack::PushL(audPlayConSetRepeatsParser);
 	AddCustomCommandParserL(*audPlayConSetRepeatsParser);
 	CleanupStack::Pop(audPlayConSetRepeatsParser);
-	// for drm CR/Error 417-45879/ESLM-82JAHL
-    TInt err = CConfigurationComponentsFactory::CreateFactoryL(iFactory);
-    User::LeaveIfError(err);    
-    
-    if (iFactory)
-        {
-        User::LeaveIfError(iFactory->CreateAudioOutputControlUtility(iAudioOutputControlUtility));                
-        }    
- //end drm cr
-   
-   
-  //For Error : Update s60 tone controller to update the DRM rights 
-  CMMFDRMCustomCommandParser* drmParser = CMMFDRMCustomCommandParser::NewL(*this);
-	CleanupStack::PushL(drmParser);
-	AddCustomCommandParserL(*drmParser);
-	CleanupStack::Pop(drmParser);
 	
 	// [ assert the invariant now that we are constructed ]
 	__ASSERT_ALWAYS( Invariant(), Panic( EStateNotConstructed));
@@ -170,8 +150,6 @@
 */
 CMMFAudioToneController::~CMMFAudioToneController()
 	{
-    delete iAudioOutputControlUtility;
-    delete iFactory;
 	delete iMMFDevSound;
 	delete iToneSequenceData;
 	delete iMessage;
@@ -244,9 +222,6 @@
 	//Only support playing to audio output 
 	if (aSink.DataSinkType() != KUidMmfAudioOutput)
 		User::Leave( KErrNotSupported );
-			
-			
-    iDataSink = &aSink;
 
 	iMMFDevSound = CMMFDevSound::NewL();
 
@@ -292,33 +267,7 @@
 			User::Leave(err);
 			}
 		}
-		
-	//For Error : Update s60 tone controller to update the DRM rights 
-	 if (iDataSource->DataSourceType()==KUidMmfFileSource)
-       {
-       CMMFFile* file = static_cast<CMMFFile*>(iDataSource);
-       // we only support protected files for playback
-       if (file->IsProtectedL())
-           {
-           if (iDataSink->DataSinkType()!=KUidMmfAudioOutput)
-             {       
-               // Conversion is not allowed for DRM protected files
-               User::Leave(KErrNotSupported);
-              }        
-           }
-       }
-	   
-	// for drm CR/Error 417-45879/ESLM-82JAHL
-    if (iDataSource->DataSourceType()==KUidMmfFileSource)
-        {
-        CMMFFile* file = static_cast<CMMFFile*>(iDataSource);
-        
-        if (file->IsProtectedL())
-            {
-            User::LeaveIfError(iAudioOutputControlUtility->SetDataSource(iDataSource));
-            }         
-        }
-	   // end drm cr
+	
 	__ASSERT_ALWAYS( Invariant(), Panic( EStateNotPrimed ) );
 
 	}
@@ -397,30 +346,7 @@
 
 	// [ assert the Invariant ]
 	__ASSERT_ALWAYS( Invariant(), Panic(EStateNotReadyToPlay));
-        // for drm CR/Error 417-45879/ESLM-82JAHL
-	   //configure Devsound with output restriction for a DRM protected file
-	    if (iDataSource->DataSourceType()==KUidMmfFileSource)
-	        {
-	        CMMFFile* file = static_cast<CMMFFile*>(iDataSource);
-	        
-	        if (file->IsProtectedL())
-	            {
-	            iAudioOutputControlUtility->Configure(*iMMFDevSound);    //ignoring errors since rouitng changes are only suggestions to adaptation
-	            }
-	        }
-	
-	//For Error : Update s60 tone controller to update the DRM rights 
-	//Getting the Intent for Play if AutomaticIntent is Enabled		
-	if (!iDisableAutoIntent && iDataSource->DataSourceType()==KUidMmfFileSource)
-	   {
-	   CMMFFile* file = static_cast<CMMFFile*>(iDataSource);
-	   TInt err = file->ExecuteIntent(ContentAccess::EPlay);
-	   if (err != KErrNone)
-	      {
-	      User::LeaveIfError(err);
-	      }
-	   }
-	
+
 	if(State() == EPausePlaying && iIsResumeSupported)
 		{
 		User::LeaveIfError(iMMFDevSound->Resume());
@@ -454,18 +380,6 @@
 
 	__ASSERT_ALWAYS(iMMFDevSound, Panic(EMMFAudioControllerPanicDataSinkDoesNotExist));
 
-   //For Error : Update s60 tone controller to update the DRM rights 
-	 //Getting the Intent for Pause if AutomaticIntent is Enabled
-     if (!iDisableAutoIntent && iDataSource->DataSourceType()==KUidMmfFileSource)
-	    {
-	    CMMFFile* file = static_cast<CMMFFile*>(iDataSource);
-	    TInt err = file->ExecuteIntent(ContentAccess::EPause);
-	
-	    if (err != KErrNone)
-	       {
-	        User::LeaveIfError(err);
-	       }
-	    }
 	if(iIsResumeSupported)
 		{
 		iMMFDevSound->Pause();
@@ -502,19 +416,6 @@
 	// Due to the asynchronous nature of the controller
 	// interaction the response to stopped when stopped 
 	// should not be an error ]
-    
-	
-	//For Error : Update s60 tone controller to update the DRM rights 
-	//Getting the Intent for Stop if AutomaticIntent is Enabled
-    if (!iDisableAutoIntent && iDataSource->DataSourceType()==KUidMmfFileSource)
-	   {
-	   CMMFFile* file = static_cast<CMMFFile*>(iDataSource);
-	   TInt err = file->ExecuteIntent(ContentAccess::EStop);
-	      if (err != KErrNone)
-		    {
-			 User::LeaveIfError(err);
-			}
-	   }
 	if (State() != EStopped)
 		{
 		//[ update state to stopped propogate to devsound ]
@@ -1126,63 +1027,3 @@
 		}
 	return err;
 	}
-
-//For Error : Update s60 tone controller to update the DRM rights 
-//Methods from MMMFDRMCustomCommandImplementor
-//Checking for the Intents if AutomaticIntent is Disabled
-
-TInt CMMFAudioToneController::MdcExecuteIntent(ContentAccess::TIntent aIntent)
-    {
-    
-    if (iDataSource->DataSourceType()==KUidMmfFileSource)
-         {
-         CMMFFile* file = static_cast<CMMFFile*>(iDataSource);
-         TInt err = file->ExecuteIntent(aIntent);
-         return err;
-         }
-    else
-         {
-         // Evaluating intent will always succeed on sinks that 
-         // don't support DRM
-         return KErrNone;
-         }   
-    
-    }
-
-TInt CMMFAudioToneController::MdcEvaluateIntent(ContentAccess::TIntent aIntent)
-    {
-    if (iDataSource->DataSourceType()==KUidMmfFileSource)
-         {
-         CMMFFile* file = static_cast<CMMFFile*>(iDataSource);
-         TInt err = file->EvaluateIntent(aIntent);
-         return err;
-         }
-    else
-         {
-         // Evaluating intent will always succeed on sinks that 
-         // don't support DRM
-         return KErrNone;
-         } 
-      }
-
-TInt CMMFAudioToneController::MdcDisableAutomaticIntent(TBool aDisableAutoIntent)
-    {
-    iDisableAutoIntent = aDisableAutoIntent;
-    return KErrNone;
-    }
-    
-    
-TInt CMMFAudioToneController::MdcSetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue)
-    {
-    if (iDataSource->DataSourceType()==KUidMmfFileSource)
-        {
-        CMMFFile* file = static_cast<CMMFFile*>(iDataSource);
-        TInt err = file->SetAgentProperty(aProperty, aValue);
-        return err;
-        }
-    else
-        {
-        return KErrNone;
-        }
-    }
-
--- a/mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/src/mmfaudiotonecontroller.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiotonecontrollerplugin/src/mmfaudiotonecontroller.h	Wed Sep 01 12:23:00 2010 +0100
@@ -28,7 +28,6 @@
 
 #include <mmf/common/mmfstandardcustomcommands.h>
 #include <mmf/server/sounddevice.h>
-#include <mmf/common/mmfdrmcustomcommands.h>
 
 
 /** 
@@ -47,14 +46,12 @@
 The public API for clients of the MMFAudioToneController
 @internalTechnology
 */
-class CConfigurationComponentsFactory;
-class CAudioOutputControlUtility; 
+
 class CMMFAudioToneController : public CMMFController, 
 							public MMMFAudioPlayDeviceCustomCommandImplementor,
 							public MMMFAudioPlayControllerCustomCommandImplementor,
 							public MDevSoundObserver,
-							public MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor,
-							public MMMFDRMCustomCommandImplementor 
+							public MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor
 	{
 public:
 	static CMMFController* NewL();
@@ -111,12 +108,6 @@
 	
 	//from MMMFAudioPlayControllerSetRepeatsCustomCommandImplementor
 	virtual TInt MapcSetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence);
-	
-	// From MMMFDRMCustomCommandImplementor
-    virtual TInt MdcExecuteIntent(ContentAccess::TIntent aIntent);
-    virtual TInt MdcEvaluateIntent(ContentAccess::TIntent aIntent);
-    virtual TInt MdcDisableAutomaticIntent(TBool aDisableAutoIntent);
-    virtual TInt MdcSetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue);
 
 
 public:
@@ -149,8 +140,7 @@
 	TBool            IsValidStateTransition( TControllerState aState ) const;
 	TBool            Invariant() const;
 	TBool            IsValidState( TControllerState aState ) const ;
-	TBool            ResetPostCondition() const;	
-	
+	TBool            ResetPostCondition() const;
 
 	void             CalculateLeftRightBalance( TInt& aLeft, TInt& aRight, TInt aBalance ) const;
 	void			 CalculateBalance( TInt& aBalance, TInt aLeft, TInt aRight ) const;
@@ -168,10 +158,6 @@
 /** the Dev Sound that will be used to play the tone*/
 	CMMFDevSound*            iMMFDevSound;
 
-    // for drm CR/Error 417-45879/ESLM-82JAHL
-	CConfigurationComponentsFactory*   iFactory;
-	CAudioOutputControlUtility*        iAudioOutputControlUtility; // used for audio routing for DRM files
-	// end drm cr
 /** Current state of the controller, see TControllerState*/
 	TControllerState         iState;
 
@@ -186,10 +172,6 @@
 
 /** Used to store message */	
 	TMMFMessage*			 iMessage;
-
-	TBool                   iDisableAutoIntent;
-	
-	MDataSink*              iDataSink;
 	};
 
 
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_11 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_12 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_128 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_16 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_160 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_192 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_20 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_256 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_32 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_320 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_44 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_5 kbps_Voice.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_6 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_64 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_8 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/ra/RA_96 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/10kbps 11khz cbr mono.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/128kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/12kbps 8khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/160kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/192kbps 48khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/256kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/320kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/96kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/ActiveScheduledTestModule/data/mmc/wma/VBR Q98 44Khz stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_11 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_12 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_128 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_16 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_160 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_192 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_20 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_256 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_32 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_320 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_44 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_5 kbps_Voice.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_6 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_64 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_8 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/ra/RA_96 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/10kbps 11khz cbr mono.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/128kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/12kbps 8khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/160kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/192kbps 48khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/256kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/320kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/96kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/data/mmc/wma/VBR Q98 44Khz stereo.wma has changed
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/group/AudioPlaybackTestModule.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/group/AudioPlaybackTestModule.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -65,8 +65,8 @@
 //LIBRARY	    parser.lib
 //LIBRARY	    logger.lib
 LIBRARY	    efsrv.lib
-LIBRARY     mediaclientaudio.lib
-LIBRARY     mmfcontrollerframework.lib
+LIBRARY     MediaClientAudio.lib
+LIBRARY     MMFControllerFramework.lib
 LIBRARY     ecom.lib
 LIBRARY     mmcommon.lib
 //LIBRARY     estor.lib
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/src/MmfTsPlay.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/src/MmfTsPlay.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -372,7 +372,7 @@
     TParsePtrC fp(aConfig);
     iLogger->Log(_L("Opening configuration file [%S], case #%d"), &aConfig,
             aCaseNumber);
-    CStifParser *parser;
+    CStifParser *parser = NULL;
     TRAPD(error, parser = CStifParser::NewL(fp.DriveAndPath() , fp.NameAndExt() ));
     iLogger->Log(_L("CStifParser::NewL [%d] \n"), error);
     if (error == KErrNone)
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/src/MmfTsPlay_work.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioPlaybackTestModule/src/MmfTsPlay_work.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -428,7 +428,7 @@
 {
 	TInt i;
 	TInt j=0;
-    CMMFMetaDataEntry*	metaDataPtr;
+    CMMFMetaDataEntry*	metaDataPtr = NULL;
 
 	for( i = 0; i < aEntryCount; i++)
 	{
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/conf/AudioRecorderTestModule.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/conf/AudioRecorderTestModule.cfg	Wed Sep 01 12:23:00 2010 +0100
@@ -15,7 +15,7 @@
 Id 205
 Title AudioRecord.2 - RecordClip - amr
 ErrorRange 5 000 000
-File c:\data\RecAMRTest.AMR
+File e:\testing\data\record\RecAMRTest.AMR
 RecTime 15 000 000
 [End_TestCase]
 
@@ -23,7 +23,7 @@
 #[TestCase]
 #Id 206
 #Title AudioRecord.3 - SetMaxWriteLength - amr
-#File c:\data\SizeTest.amr
+#File e:\testing\data\record\SizeTest.amr
 #MaxLength 5000
 #ErrorRange 2000
 #[End_TestCase]
@@ -43,7 +43,7 @@
 [TestCase]
 Id 209
 Title AudioRecord.5 - SetGain - amr
-File c:\data\GainTest.amr	
+File e:\testing\data\record\GainTest.amr	
 RecTime 15 0 0 
 RelativeGain 50
 [End_TestCase]
@@ -51,7 +51,7 @@
 [TestCase]
 Id 209
 Title AudioRecord.6 - SetGain - amr
-File c:\data\GainTest.amr	
+File e:\testing\data\record\GainTest.amr	
 RecTime 15 0 0 
 RelativeGain 12
 [End_TestCase]
@@ -59,7 +59,7 @@
 [TestCase]
 Id 212
 Title AudioRecord.7 - RecordBalance - amr
-File c:\data\BalanceTest.amr	
+File e:\testing\data\record\BalanceTest.amr	
 RecTime 7 0 0 
 Balance 0
 [End_TestCase]
@@ -127,7 +127,7 @@
 [TestCase]
 Id 221
 Title AudioRecord.15 - BitRate 4750 - amr
-File c:\data\TestBitRate.amr
+File e:\testing\data\record\TestBitRate.amr
 RecTime 15 0 0
 BitRate 4750
 [End_TestCase]
@@ -135,7 +135,7 @@
 [TestCase]
 Id 221
 Title AudioRecord.16 - BitRate 5150 - amr
-File c:\data\TestBitRate.amr
+File e:\testing\data\record\TestBitRate.amr
 RecTime 15 0 0
 BitRate 5150
 [End_TestCase]
@@ -143,7 +143,7 @@
 [TestCase]
 Id 221
 Title AudioRecord.17 - BitRate 5900 - amr
-File c:\data\TestBitRate.amr
+File e:\testing\data\record\TestBitRate.amr
 RecTime 15 0 0
 BitRate 5900
 [End_TestCase]
@@ -151,7 +151,7 @@
 [TestCase]
 Id 221
 Title AudioRecord.18 - BitRate 6700 - amr
-File c:\data\TestBitRate.amr
+File e:\testing\data\record\TestBitRate.amr
 RecTime 15 0 0
 BitRate 6700
 [End_TestCase]
@@ -159,7 +159,7 @@
 [TestCase]
 Id 221
 Title AudioRecord.19 - BitRate 7400 - amr
-File c:\data\TestBitRate.amr
+File e:\testing\data\record\TestBitRate.amr
 RecTime 15 0 0
 BitRate 7400
 [End_TestCase]
@@ -167,7 +167,7 @@
 [TestCase]
 Id 221
 Title AudioRecord.20 - BitRate 7950 - amr
-File c:\data\TestBitRate.amr
+File e:\testing\data\record\TestBitRate.amr
 RecTime 15 0 0
 BitRate 7950
 [End_TestCase]
@@ -175,7 +175,7 @@
 [TestCase]
 Id 221
 Title AudioRecord.21 - BitRate 10200 - amr
-File c:\data\TestBitRate.amr
+File e:\testing\data\record\TestBitRate.amr
 RecTime 15 0 0
 BitRate 10200
 [End_TestCase]
@@ -183,7 +183,7 @@
 [TestCase]
 Id 221
 Title AudioRecord.22 - BitRate 12200 - amr
-File c:\data\TestBitRate.amr
+File e:\testing\data\record\TestBitRate.amr
 RecTime 15 0 0
 BitRate 12200
 [End_TestCase]
@@ -191,15 +191,15 @@
 #[TestCase]
 #Id 223
 #Title AudioRecord.23 - DataType amr - amr
-#File c:\data\testDataType.amr
+#File e:\testing\data\record\testDataType.amr
 #[End_TestCase]
 
 [TestCase]
 Id 211
 Title AudioRecord.24 - SetPriority - amr
-File c:\data\PriorityTest1-.amr 5 0 6 0 0
-File c:\data\PriorityTest2-.amr 3 1 2 0 0 
-File c:\data\PriorityTest3-.amr 8 0 11 0 0
+File e:\testing\data\record\PriorityTest1-.amr 5 0 6 0 0
+File e:\testing\data\record\PriorityTest2-.amr 3 1 2 0 0 
+File e:\testing\data\record\PriorityTest3-.amr 8 0 11 0 0
 RecTime 3 0 0 
 [End_TestCase]
 
@@ -220,7 +220,7 @@
 Id 205
 Title AudioRecord.26 - RecordClip - wav
 ErrorRange 5 000 000
-File c:\data\RecWAVTest.wav
+File e:\testing\data\record\RecWAVTest.wav
 RecTime 15 000 000
 [End_TestCase]
 
@@ -228,7 +228,7 @@
 [TestCase]
 Id 206
 Title AudioRecord.27 - SetMaxWriteLength - WAV 
-File c:\data\SizeTest.wav
+File e:\testing\data\record\SizeTest.wav
 MaxLength 5000
 ErrorRange 2000
 [End_TestCase]
@@ -248,7 +248,7 @@
 [TestCase]
 Id 209
 Title AudioRecord.29 - SetGain - WAV 
-File c:\data\GainTest.wav	
+File e:\testing\data\record\GainTest.wav	
 RecTime 15 0 0 
 RelativeGain 50
 [End_TestCase]
@@ -256,7 +256,7 @@
 [TestCase]
 Id 209
 Title AudioRecord.30 - SetGain - WAV 
-File c:\data\GainTest.wav	
+File e:\testing\data\record\GainTest.wav	
 RecTime 15 0 0 
 RelativeGain 12
 [End_TestCase]
@@ -265,7 +265,7 @@
 [TestCase]
 Id 209
 Title AudioRecord.31 - SetGain beyond max Gain - wav
-File c:\data\GainTest.wav	
+File e:\testing\data\record\GainTest.wav	
 RecTime 15 0 0 
 RelativeGain 110
 [End_TestCase]
@@ -273,7 +273,7 @@
 [TestCase]
 Id 211
 Title AudioRecord.32 - PriorityRecordClip1 - WAV
-File c:\data\PriorityTest1-.wav 5 0 5 0 0
+File e:\testing\data\record\PriorityTest1-.wav 5 0 5 0 0
 RecTime 3 0 0 
 [End_TestCase]
 
@@ -281,7 +281,7 @@
 [TestCase]
 Id 211
 Title AudioRecord.33 - PriorityRecordClip2 - WAV
-File c:\data\PriorityTest2-.wav 3 1 3 0 0
+File e:\testing\data\record\PriorityTest2-.wav 3 1 3 0 0
 RecTime 3 0 0 
 [End_TestCase]
 
@@ -289,14 +289,14 @@
 [TestCase]
 Id 211
 Title AudioRecord.34 - PriorityRecordClip3 - WAV
-File c:\data\PriorityTest3-.wav 8 0 10 0 0 
+File e:\testing\data\record\PriorityTest3-.wav 8 0 10 0 0 
 RecTime 3 0 0 
 [End_TestCase]
 
 [TestCase]
 Id 212
 Title AudioRecord.35 - RecordBalance center- WAV 
-File c:\data\BalanceTest.wav	
+File e:\testing\data\record\BalanceTest.wav	
 RecTime 7 0 0 
 Balance 0
 [End_TestCase]
@@ -304,7 +304,7 @@
 [TestCase]
 Id 212
 Title AudioRecord.36 - RecordBalance max right- WAV
-File c:\data\BalanceTest.wav	
+File e:\testing\data\record\BalanceTest.wav	
 RecTime 7 0 0 
 Balance 100
 [End_TestCase]
@@ -312,7 +312,7 @@
 [TestCase]
 Id 212
 Title AudioRecord.37 - RecordBalance max left - WAV
-File c:\data\BalanceTest.wav	
+File e:\testing\data\record\BalanceTest.wav	
 RecTime 7 0 0 
 Balance -100
 [End_TestCase]
@@ -320,7 +320,7 @@
 [TestCase]
 Id 212
 Title AudioRecord.38 - RecordBalance right - WAV
-File c:\data\BalanceTest.wav	
+File e:\testing\data\record\BalanceTest.wav	
 RecTime 7 0 0 
 Balance 77
 [End_TestCase]
@@ -391,7 +391,7 @@
 [TestCase]
 Id 222
 Title AudioRecord.46 - 8000hz SampleRate wav
-File c:\data\testSR.wav
+File e:\testing\data\record\testSR.wav
 RecTime 15 0 0
 SampleRate 8000
 [End_TestCase]
@@ -399,7 +399,7 @@
 [TestCase]
 Id 222
 Title AudioRecord.47 - 16000hz SampleRate wav
-File c:\data\testSR.wav
+File e:\testing\data\record\testSR.wav
 RecTime 15 0 0
 SampleRate 16000
 [End_TestCase]
@@ -408,7 +408,7 @@
 [TestCase]
 Id 222
 Title AudioRecord.48 - 32000hz SampleRate wav
-File c:\data\testSR.wav
+File e:\testing\data\record\testSR.wav
 RecTime 15 0 0
 SampleRate 32000
 [End_TestCase]
@@ -417,7 +417,7 @@
 #[TestCase]
 #Id 223
 #Title AudioRecord.49 - DataType wav
-#File c:\data\testDataType.wav
+#File e:\testing\data\record\testDataType.wav
 #[End_TestCase]
 
 
@@ -426,7 +426,7 @@
 Id 224
 Title AudioRecord.50 - DataFormat WAV
 ErrorRange 0 0 0
-File c:\data\testDataFormat.wav
+File e:\testing\data\record\testDataFormat.wav
 DataFormat wav
 [End_TestCase]
 
@@ -434,7 +434,7 @@
 [TestCase]
 Id 225
 Title AudioRecord.51 - test steror Channel for wav
-File c:\data\testChannel.wav
+File e:\testing\data\record\testChannel.wav
 RecTime 15 0 0
 Channels 2
 [End_TestCase]
@@ -442,7 +442,7 @@
 [TestCase]
 Id 225 
 Title AudioRecord.52 - test mono Channel for wav
-File c:\data\testChannel.wav
+File e:\testing\data\record\testChannel.wav
 RecTime 15 0 0
 Channels 1
 [End_TestCase]
@@ -465,7 +465,7 @@
 Id 205
 Title AudioRecord.54 - RecordClip - MP4
 ErrorRange 5 000 000
-File c:\data\RecMP4Test.MP4
+File e:\testing\data\record\RecMP4Test.MP4
 RecTime 15 000 000
 BitRate 32000
 Channels 1
@@ -487,7 +487,7 @@
 [TestCase]
 Id 209
 Title AudioRecord.56 - SetGain - Mp4 
-File c:\data\GainTest.mp4	
+File e:\testing\data\record\GainTest.mp4	
 RecTime 15 0 0 
 RelativeGain 50
 BitRate 32000
@@ -499,7 +499,7 @@
 [TestCase]
 Id 209
 Title AudioRecord.57 - SetGain - Mp4 
-File c:\data\GainTest.mp4	
+File e:\testing\data\record\GainTest.mp4	
 RecTime 15 0 0 
 RelativeGain 12
 BitRate 32000
@@ -512,7 +512,7 @@
 [TestCase]
 Id 209
 Title AudioRecord.58 - SetGain beyond max Gain - Mp4
-File c:\data\GainTest.mp4	
+File e:\testing\data\record\GainTest.mp4	
 RecTime 15 0 0 
 RelativeGain 110
 BitRate 32000
@@ -526,7 +526,7 @@
 [TestCase]
 Id 212
 Title AudioRecord.59 - RecordBalance center- Mp4 
-File c:\data\BalanceTest.mp4	
+File e:\testing\data\record\BalanceTest.mp4	
 RecTime 7 0 0 
 Balance 0
 BitRate 32000
@@ -590,7 +590,7 @@
 [TestCase]
 Id 221
 Title AudioRecord.66 - BitRate - Mp4
-File c:\data\TestBitRate.mp4
+File e:\testing\data\record\TestBitRate.mp4
 RecTime 15 0 0
 DataFormat mp4
 [End_TestCase]
@@ -598,7 +598,7 @@
 [TestCase]
 Id 222
 Title AudioRecord.67 - 8000hz SampleRate Mp4
-File c:\data\testSR.mp4
+File e:\testing\data\record\testSR.mp4
 RecTime 15 0 0
 SampleRate 8000
 [End_TestCase]
@@ -606,7 +606,7 @@
 [TestCase]
 Id 222
 Title AudioRecord.68 - 16000hz SampleRate Mp4
-File c:\data\testSR.mp4
+File e:\testing\data\record\testSR.mp4
 RecTime 15 0 0
 SampleRate 16000
 [End_TestCase]
@@ -615,7 +615,7 @@
 [TestCase]
 Id 222
 Title AudioRecord.69 - 32000hz SampleRate Mp4
-File c:\data\testSR.mp4
+File e:\testing\data\record\testSR.mp4
 RecTime 15 0 0
 SampleRate 32000
 [End_TestCase]
@@ -624,14 +624,14 @@
 #[TestCase]
 #Id 223
 #Title AudioRecord.70 - DataType mp4
-#File c:\data\testDataType.mp4
+#File e:\testing\data\record\testDataType.mp4
 #[End_TestCase]
 
 
 [TestCase]
 Id 225
 Title AudioRecord.71 - test steror Channel for mp4
-File c:\data\testChannel.mp4
+File e:\testing\data\record\testChannel.mp4
 RecTime 15 0 0
 Channels 2
 [End_TestCase]
@@ -639,7 +639,7 @@
 [TestCase]
 Id 225
 Title AudioRecord.72 - test mono Channel for mp4
-File c:\data\testChannel.mp4
+File e:\testing\data\record\testChannel.mp4
 RecTime 15 0 0
 Channels 1
 [End_TestCase]
@@ -648,7 +648,7 @@
 [TestCase]
 Id 211
 Title AudioRecord.73 - PriorityRecordClip1 - Mp4
-File c:\data\PriorityTest1-.mp4 5 0 5 0 0
+File e:\testing\data\record\PriorityTest1-.mp4 5 0 5 0 0
 RecTime 3 0 0
 BitRate 32000
 Channels 2
@@ -659,7 +659,7 @@
 [TestCase]
 Id 211
 Title AudioRecord.74 - PriorityRecordClip2 - Mp4
-File c:\data\PriorityTest2-.mp4 3 1 3 0 0
+File e:\testing\data\record\PriorityTest2-.mp4 3 1 3 0 0
 RecTime 3 0 0 
 BitRate 32000
 Channels 2
@@ -671,7 +671,7 @@
 [TestCase]
 Id 211
 Title AudioRecord.75 - PriorityRecordClip3 - Mp4
-File c:\data\PriorityTest3-.mp4 8 0 10 0 0 
+File e:\testing\data\record\PriorityTest3-.mp4 8 0 10 0 0 
 RecTime 3 0 0
 BitRate 32000
 Channels 2
@@ -727,7 +727,7 @@
 Id 219
 Title Plugin.REC.28 - CropL from middle
 ErrorRange 2 0 0
-File c:\data\CropTest.amr 
+File e:\testing\data\record\CropTest.amr 
 RecTime 10 0 0
 RelativePos 50
 [End_TestCase]
@@ -736,7 +736,7 @@
 Id 219
 Title Plugin.REC.36 - CropFromBeginningL from middle
 ErrorRange 2 0 0
-File c:\data\CropTest.wav
+File e:\testing\data\record\CropTest.wav
 RecTime 10 0 0
 FromBegining 0
 RelativePos 50
@@ -846,7 +846,7 @@
 [End_TestCase]
 
 
-//Fails on Udeb logs enabled image, .Need to test on clean fix image
+//not working???
 [TestCase]
 Id 201
 Title AudioRecord.87 - RecordFormats right - amr
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_11 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_12 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_128 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_16 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_160 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_192 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_20 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_256 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_32 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_320 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_44 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_5 kbps_Voice.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_6 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_64 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_8 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/ra/RA_96 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/10kbps 11khz cbr mono.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/128kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/12kbps 8khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/160kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/192kbps 48khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/256kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/320kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/96kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/data/mmc/wma/VBR Q98 44Khz stereo.wma has changed
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/group/AudioRecorderTestModule.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/group/AudioRecorderTestModule.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -87,9 +87,9 @@
 LIBRARY         euser.lib
 LIBRARY         ecom.lib
 LIBRARY         stiftestinterface.lib
-LIBRARY		      mediaclientaudio.lib
+LIBRARY		      MediaClientAudio.lib
 LIBRARY		      efsrv.lib 
-LIBRARY		      mmfcontrollerframework.lib
+LIBRARY		      MMFControllerFramework.lib
 LIBRARY         mmcommon.lib
 LIBRARY     	ecom.lib
 
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/AudioResourceNotification.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/AudioResourceNotification.h	Wed Sep 01 12:23:00 2010 +0100
@@ -54,7 +54,6 @@
 	CMdaAudioRecorderUtility* recorder;
 
 	void ConstructL(TFileName* fileName);
-	TInt iCallBackErr;
 
 
 };
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/CustomCommand.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/CustomCommand.h	Wed Sep 01 12:23:00 2010 +0100
@@ -54,7 +54,6 @@
 	CMdaAudioRecorderUtility* recorder;
 
 	void ConstructL(TFileName* fileName);
-	TInt iCallBackErr;
 
 
 };
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/CustomCommandAsync.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/CustomCommandAsync.h	Wed Sep 01 12:23:00 2010 +0100
@@ -54,7 +54,6 @@
 	CMdaAudioRecorderUtility* recorder;
 
 	void ConstructL(TFileName* fileName);
-	TInt iCallBackErr;
 
 
 };
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/RecordFormats.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/RecordFormats.h	Wed Sep 01 12:23:00 2010 +0100
@@ -46,7 +46,6 @@
 
 private:
 	void ConstructL(TFileName* fileName);
-	TInt iCallBackErr;
 };
 
 #endif // !defined(AFX_RECORDFORMATS_H__3EDE1ACC_939F_49BE_B0B1_55C01807632D__INCLUDED_)
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/RecordOpen.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/RecordOpen.h	Wed Sep 01 12:23:00 2010 +0100
@@ -25,7 +25,7 @@
 
 #include <MdaAudioSampleEditor.h>
 #include "TestCaseBase.h"
-#include <mmf/common/mmcaf.h>
+#include <mmf/common/mmcaf.h> 	    
 
 class CRecordOpen : public CTestCaseBase, public MMdaObjectStateChangeObserver
 {
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/ThreadPriority.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/inc/ThreadPriority.h	Wed Sep 01 12:23:00 2010 +0100
@@ -46,8 +46,6 @@
 	CMdaAudioRecorderUtility* recorder;
 
 	void ConstructL(TFileName* fileName);
-	
-	TInt iCallbackErr;
 
 
 };
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/AudioLoadingProgress.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/AudioLoadingProgress.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -142,15 +142,9 @@
 #ifdef _DEBUG
     RDebug::Print (_L ("CAudioLoadingProgress::MoscoStateChangeEvent"));
 #endif
-    
-    callbackErr = aErrorCode;
+	TInt err = KErrNone;
+	callbackErr = KErrNone;
 
-    if (aErrorCode != KErrNone)
-        {
-
-        CActiveScheduler::Stop();
-
-        }
 	logger->Log(_L("MoscoStateChangeEvent called, error: %d	prev: %d curr : %d"),aErrorCode,aPreviousState,aCurrentState);
 
     TInt aState = recorder->State();
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/AudioResourceNotification.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/AudioResourceNotification.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -28,7 +28,6 @@
 {
 	console = aConsole;
 	logger = aLogger;
-	iCallBackErr = KErrNone;
 
 }
 
@@ -108,10 +107,7 @@
 	CleanupStack::PushL(selfObj);
 
 	CActiveScheduler::Start();
-	if(selfObj->iCallBackErr != KErrNone)
-	    {
-        error = selfObj->iCallBackErr;
-        }
+
 
 	CleanupStack::PopAndDestroy(2); // schedule, selfObj
 
@@ -145,7 +141,7 @@
 
 	logger->Log(_L("MoscoStateChangeEvent called, error: %d	prev: %d curr : %d"),aErrorCode,aPreviousState,aCurrentState);
 
-	iCallBackErr = aErrorCode;	
+
 
 	if (recorder && aErrorCode == KErrNone && aCurrentState == CMdaAudioClipUtility::EOpen && aPreviousState == 0)
 	{
@@ -209,15 +205,9 @@
 
 		recorder->WillResumePlay();
 		CActiveScheduler::Stop();
-		return;
 	}
-	if (aErrorCode != KErrNone)
-	        {
-	        
-	        CActiveScheduler::Stop();
-	        return;
-	        }
-	
+
+	return;
 
 }
 
@@ -232,7 +222,7 @@
 }
 
 
-void CAudioResourceNotification::MarncResourceAvailable(TUid /*aNotificationEventId*/, const TDesC8 &/*aNotificationData*/)
+void CAudioResourceNotification::MarncResourceAvailable(TUid aNotificationEventId, const TDesC8 &aNotificationData)
 {
 		logger->Log(_L("MarncResourceAvailable "));
 }
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/CropFromBeginning.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/CropFromBeginning.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -107,7 +107,7 @@
 
 	CActiveScheduler::Start();
 
-	if (selfObj->callbackErr != KErrNone)
+	if (error == KErrNone)
 	{
 		error = selfObj->callbackErr;
 	}
@@ -140,8 +140,8 @@
 #ifdef _DEBUG
     RDebug::Print (_L ("CCropFromBeginning::MoscoStateChangeEvent"));
 #endif
-
-	callbackErr = aErrorCode;
+	TInt err = KErrNone;
+//	callbackErr = KErrNone;
 
 	logger->Log(_L("MoscoStateChangeEvent called, error: %d	prev: %d curr : %d"),aErrorCode,aPreviousState,aCurrentState);
 
@@ -185,12 +185,6 @@
 
 		CActiveScheduler::Stop();
 	}
-	if (aErrorCode != KErrNone)
-	        {
-
-	        CActiveScheduler::Stop();
-	        
-	        }
 
 
 	return;
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/CustomCommand.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/CustomCommand.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -28,7 +28,7 @@
 {
 	console = aConsole;
 	logger = aLogger;
-	iCallBackErr = KErrNone;
+
 }
 
 CCustomCommand::~CCustomCommand()
@@ -107,12 +107,8 @@
 	CleanupStack::PushL(selfObj);
 
 	CActiveScheduler::Start();
-	
-	if(selfObj->iCallBackErr != KErrNone)
-	    {
-        error = selfObj->iCallBackErr;
-	    }
-	
+
+
 	CleanupStack::PopAndDestroy(2); // schedule, selfObj
 
 	return error;
@@ -141,16 +137,13 @@
 #ifdef _DEBUG
     RDebug::Print (_L ("CCustomCommand::MoscoStateChangeEvent"));
 #endif
-	
+	TInt err = KErrNone;
 
 	logger->Log(_L("MoscoStateChangeEvent called, error: %d	prev: %d curr : %d"),aErrorCode,aPreviousState,aCurrentState);
-	
-	iCallBackErr = aErrorCode;
-	
+
 	TUint bitRate = recorder->SourceBitRateL();
 	logger->Log(_L("SourceBitRateL %d "),bitRate);
-	
-	
+
 
 	if (recorder && aErrorCode == KErrNone && aCurrentState == CMdaAudioClipUtility::EOpen && aPreviousState == 0)
 	{
@@ -244,12 +237,6 @@
 		recorder->WillResumePlay();
 		CActiveScheduler::Stop();
 	}
-	if(aErrorCode != KErrNone)
-	        {
-	            
-	            CActiveScheduler::Stop();
-	            
-	        }
 
 	return;
 
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/CustomCommandAsync.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/CustomCommandAsync.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -28,7 +28,6 @@
 {
 	console = aConsole;
 	logger = aLogger;
-	iCallBackErr = KErrNone;
 
 }
 
@@ -109,10 +108,7 @@
 
 	CActiveScheduler::Start();
 
-	if(selfObj->iCallBackErr != KErrNone)
-	        {
-	        error = selfObj->iCallBackErr;
-	        }
+
 	CleanupStack::PopAndDestroy(2); // schedule, selfObj
 
 	return error;
@@ -141,11 +137,12 @@
 #ifdef _DEBUG
     RDebug::Print (_L ("CCustomCommandAsync::MoscoStateChangeEvent"));
 #endif
-	
+	TInt err = KErrNone;
 
 	logger->Log(_L("MoscoStateChangeEvent called, error: %d	prev: %d curr : %d"),aErrorCode,aPreviousState,aCurrentState);
 
-	iCallBackErr = aErrorCode;
+
+
 	if (recorder && aErrorCode == KErrNone && aCurrentState == CMdaAudioClipUtility::EOpen && aPreviousState == 0)
 	{
 		TBuf8<25> dataFrom;
@@ -207,12 +204,6 @@
 		CActiveScheduler::Stop();
 	}
 
-    if (aErrorCode != KErrNone)
-    {
-    
-    CActiveScheduler::Stop();
-    
-    }
 	return;
 
 }
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/MetaDataEntry.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/MetaDataEntry.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -109,7 +109,7 @@
 
 	CActiveScheduler::Start();
 
-	if (selfObj->callbackErr != KErrNone)
+	if (error == KErrNone)
 	{
 		error = selfObj->callbackErr;
 	}
@@ -143,12 +143,13 @@
     RDebug::Print (_L ("CMetaDataEntry::MoscoStateChangeEvent"));
 #endif
 	TInt err = KErrNone;
-	callbackErr = aErrorCode;
+//	callbackErr = KErrNone;
 	RArray<TFourCC> dataTypes;
 
 	logger->Log(_L("MoscoStateChangeEvent called, error: %d	prev: %d curr : %d"),aErrorCode,aPreviousState,aCurrentState);
 
-	
+
+
 	if (recorder && aErrorCode == KErrNone && aCurrentState == CMdaAudioClipUtility::EOpen && aPreviousState == 0)
 	{
 		// Initialize
@@ -268,13 +269,6 @@
 		logger->Log(_L("before stop....-"));
 		CActiveScheduler::Stop();
 	}
-	if (aErrorCode != KErrNone)
-	    {
-        
-	    CActiveScheduler::Stop();
-	    
-	    }
-
 
 	return;
 
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayBalance.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayBalance.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -225,11 +225,6 @@
 
 		CActiveScheduler::Stop();
 	}
-	if (aErrorCode != KErrNone)
-	    {
-	    expectedBalance = 0;
-	    CActiveScheduler::Stop();   
-	    }
 
 	return;
 
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayRamp.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayRamp.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -201,13 +201,6 @@
 		logger->Log(_L("MoscoStateChangeEvent GetVolume after play: %d  "),expectedVol);
 		CActiveScheduler::Stop();
 	}
-	
-	if (aErrorCode != KErrNone)
-	    {
-	    expectedVol = 0;
-	    CActiveScheduler::Stop();
-	    
-	    }
 	return;
 
 }
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayVolume.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayVolume.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -115,14 +115,8 @@
 		this->volume = volume;
 		logger->Log(_L("MoscoStateChangeEvent getVolume:  %d "),volume);
 		CActiveScheduler::Stop();
-		return;
 	}
-	if (aErrorCode != KErrNone)
-	    {
-        CActiveScheduler::Stop();
-		return;
-        }
-    
+	return;
 }
 
 
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayWindow.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/PlayWindow.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -227,10 +227,6 @@
 
 		CActiveScheduler::Stop();
 	}
-	   if (aErrorCode != KErrNone)
-	    {
-	    CActiveScheduler::Stop();   
-	    }
 	return;
 
 }
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordDataFormat.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordDataFormat.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -122,7 +122,7 @@
 
 	CActiveScheduler::Start();
 
-	if (selfObj->callbackErr != KErrNone)
+	if (error == KErrNone)
 	{
 		error = selfObj->callbackErr;
 	}
@@ -160,6 +160,7 @@
 
 	if (recorder && aErrorCode == KErrNone && aCurrentState == CMdaAudioClipUtility::EOpen && aPreviousState == 0)
 	{
+
 		if (dataFormat == KFormatWav)
 		{
 			logger->Log(_L("SetDestinationFormatL(KMmfUidFormatWAVWrite)"));
@@ -173,11 +174,13 @@
 				CActiveScheduler::Stop();
 				return;
 			}
+
 			if (recorder->DestinationFormatL() != id)
 			{
 				logger->Log(_L("Retrieved format is not same as set format") );
 				callbackErr = KErrOutOfRange;
 			}
+
 		}
 		else
 		{
@@ -206,10 +209,6 @@
 			}*/
 		}
 	}
-	if (aErrorCode != KErrNone)
-	    {
-        callbackErr = aErrorCode;	    
-	    }
 
 	CActiveScheduler::Stop();
 	return;
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordDataType.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordDataType.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -107,11 +107,7 @@
 	CleanupStack::PushL(selfObj);
 
 	CActiveScheduler::Start();
-	
-	if(selfObj->callbackErr != KErrNone)
-	    {
-        error = selfObj->callbackErr;
-	    }
+
 
 	CleanupStack::PopAndDestroy(2); // schedule, selfObj
 
@@ -141,8 +137,8 @@
 #ifdef _DEBUG
     RDebug::Print (_L ("CRecordDataType::MoscoStateChangeEvent"));
 #endif
-	
-	callbackErr = aErrorCode;
+	TInt err = KErrNone;
+	callbackErr = KErrNone;
 	RArray<TFourCC> dataTypes;
 
 	logger->Log(_L("MoscoStateChangeEvent called, error: %d	prev: %d curr : %d"),aErrorCode,aPreviousState,aCurrentState);
@@ -211,11 +207,7 @@
 
 		CActiveScheduler::Stop();
 	}
-	if (aErrorCode != KErrNone)
-	    {
-	    CActiveScheduler::Stop();
-	    
-	    }
+
 
 
 	return;
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordFormats.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordFormats.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -29,7 +29,6 @@
 {
 	console = aConsole;
 	logger = aLogger;
-	iCallBackErr = KErrNone;
 }
 
 CRecordFormats::~CRecordFormats()
@@ -82,8 +81,7 @@
 #endif
 
 	logger->Log(_L("MoscoStateChangeEvent called, error: %d	prev: %d curr : %d"),aErrorCode,aPreviousState,aCurrentState);
-	iCallBackErr = aErrorCode;
-	
+
 	if (recorder && aErrorCode == KErrNone && aCurrentState == CMdaAudioClipUtility::EOpen)
 	{
 		TRAPD(err3, recorder->AudioRecorderControllerImplementationInformationL());
@@ -108,7 +106,6 @@
 
 TInt CRecordFormats::RunTestL(CTestModuleIf* aConsole, CStifLogger *aLogger, CStifSectionParser* aParser, TInt* /*clipCounter*/)
 {
-    TInt error = KErrNone;
 	aLogger->Log(_L("Creating scheduler"));
 
 	CActiveScheduler*  scheduler = new (ELeave) CActiveScheduler;
@@ -139,11 +136,8 @@
 	CActiveScheduler::Start();
 
 	CleanupStack::PopAndDestroy(2);
-	
-	if(selfObj->iCallBackErr != KErrNone)
-	    error = selfObj->iCallBackErr;
-	
-	return error;
+
+	return KErrNone;
 }
 
 
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordOpen.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordOpen.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -259,7 +259,7 @@
 	//File with controller
 	if (type == KOpenFile2)
 	{
-		//TInt aUid = 1;
+		TInt aUid = 1;
 		//TUid aRecordControllerUid = TUid::Uid(aUid);
 		TUid aRecordControllerUid = KNullUid;//KUidInterfaceMMFController;//TUid::Uid(KMmfUidPluginInterfaceFormatDecode);//KMmfUidPluginInterfaceController;//{0x10203827};
 		//const TUid KUidBassBoostEffect = {0x10203827};
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordingBase.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/RecordingBase.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -142,8 +142,7 @@
     RDebug::Print (_L ("CRecordingBase::MoscoStateChangeEvent"));
 #endif
 
-    
-
+    if (aErrorCode != KErrNone)
 	    logger->Log(_L("MoscoStateChangeEvent called, error: %d	prev: %d curr : %d"),
 	                   aErrorCode,aPreviousState,aCurrentState);
 /*
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/ThreadPriority.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioRecorderTestModule/src/ThreadPriority.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -106,10 +106,8 @@
 	CleanupStack::PushL(selfObj);
 
 	CActiveScheduler::Start();
-	
-	if(selfObj->iCallbackErr != KErrNone)
-	    error = selfObj->iCallbackErr;
-	
+
+
 	CleanupStack::PopAndDestroy(2); // schedule, selfObj
 
 	return error;
@@ -138,12 +136,10 @@
 #ifdef _DEBUG
     RDebug::Print (_L ("CThreadPriority::MoscoStateChangeEvent"));
 #endif
-	
+	TInt err = KErrNone;
 
 	logger->Log(_L("MoscoStateChangeEvent called, error: %d	prev: %d curr : %d"),aErrorCode,aPreviousState,aCurrentState);
 logger->Log(_L("Before Checking Duaration."));
-iCallbackErr = aErrorCode;
-    
 		TTimeIntervalMicroSeconds aDuration, aRecordTime;
   	    TMMFDurationInfo clipDuration = recorder->Duration(aDuration);
 		logger->Log(_L("Duaration is %d"), aDuration.Int64());
@@ -195,17 +191,10 @@
 
 
 		CActiveScheduler::Stop();
-		return;
 	}
-	 if (aErrorCode != KErrNone)
-        {
-        
-        CActiveScheduler::Stop();
-        return ;
-        }
 
 
-
+	return;
 
 }
 
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_11 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_12 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_128 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_16 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_160 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_192 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_20 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_256 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_32 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_320 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_44 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_5 kbps_Voice.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_6 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_64 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_8 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/ra/RA_96 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/10kbps 11khz cbr mono.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/128kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/12kbps 8khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/160kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/192kbps 48khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/256kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/320kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/96kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/data/mmc/wma/VBR Q98 44Khz stereo.wma has changed
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/group/AudioStreamTestModule.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/group/AudioStreamTestModule.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -54,8 +54,8 @@
 LIBRARY         ecom.lib
 LIBRARY         stiftestinterface.lib
 LIBRARY	        efsrv.lib
-LIBRARY     		mediaclientaudiostream.lib
-LIBRARY     		mediaclientaudioinputstream.lib
+LIBRARY     		MediaClientAudioStream.lib
+LIBRARY     		MediaClientAudioInputStream.lib
 
 LANG            SC
 
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_11 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_12 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_128 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_16 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_160 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_192 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_20 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_256 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_32 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_320 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_44 kbps_Stereo Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_5 kbps_Voice.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_6 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_64 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_8 kbps_Music.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/ra/RA_96 kbps_Stereo Music - RealAudio 10.ra has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/10kbps 11khz cbr mono.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/128kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/12kbps 8khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/160kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/192kbps 48khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/256kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/320kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/96kbps 44khz cbr stereo.wma has changed
Binary file mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/data/mmc/wma/VBR Q98 44Khz stereo.wma has changed
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/src/MmfTsTone_core.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioToneTestModule/src/MmfTsTone_core.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -1788,7 +1788,7 @@
         CMediaEvent *ime = CMediaEvent::NewL(&iOutputPrinter,delay,0, player, reportParams);
                           
         CleanupStack::PushL(ime);
-        TInt expectedVolume;
+        TInt expectedVolume = 0 ;
         iOutputPrinter.Printf(_L("current volume before change:%d"),player->GetVolume());
         RDebug::Print(_L("current volume before change:%d"),player->GetVolume());
         switch(volumeLevel)
--- a/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/EmulatorRecordTestModule/AudioRecorderBAT.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/EmulatorRecordTestModule/AudioRecorderBAT.cfg	Wed Sep 01 12:23:00 2010 +0100
@@ -251,13 +251,12 @@
 Title AudioRecord.85-1 - Open File/RFile/SFile/Desc with controller - amr
 ErrorRange 1 0 0
 1 Desc2 c:\testing\data\amr\10s_AMR_NB_mode_0.amr 2 0 0
-[End_TestCase]
+[End_TestCase
 
-// This test case is not used temporarily because the value used is the local variable for testing
 //Open SourceFile/Desc
-//[TestCase]
-//Id 234
-//Title AudioRecord.88 - Open Desc - amr
-//ErrorRange 1 0 0
-//1 Desc c:\testing\data\amr\10s_AMR_NB_mode_0.amr 2 0 0
-//[End_TestCase]
\ No newline at end of file
+[TestCase]
+Id 234
+Title AudioRecord.88 - Open Desc - amr
+ErrorRange 1 0 0
+1 Desc c:\testing\data\amr\10s_AMR_NB_mode_0.amr 2 0 0
+[End_TestCase]
\ No newline at end of file
--- a/mmfenh/advancedaudiocontroller/wavplaycontrollerplugin/group/MmfAudioController.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/wavplaycontrollerplugin/group/MmfAudioController.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -49,7 +49,7 @@
 LIBRARY mmfdevsound.lib
 LIBRARY mmfcontrollerframework.lib
 LIBRARY mmfstandardcustomcommands.lib
-LIBRARY	CustomInterfaceBuilder.lib
+LIBRARY	custominterfacebuilder.lib
 LIBRARY	AudioOutputRouting.lib
 LIBRARY DrmDcf.lib
 LIBRARY	ConfigurationComponentsFactory.lib
--- a/mmfenh/audiooutputcontrolutility/AudioOutputControlUtilityProxy/Group/AudioOutputControlUtilityProxy.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/audiooutputcontrolutility/AudioOutputControlUtilityProxy/Group/AudioOutputControlUtilityProxy.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -37,7 +37,7 @@
 SYSTEMINCLUDE   /epoc32/include/mmf/common 
 SYSTEMINCLUDE   /epoc32/include/mmf/server
 
-LIBRARY    	euser.lib
+LIBRARY    	Euser.lib
 LIBRARY		AudioOutputControlUtility.lib
 LIBRARY		ConfigurationComponentsFactory.lib
 LIBRARY		RestrictedAudioOutput.lib
--- a/mmfenh/enhancedaudioplayerutility/AudioPlayer/group/S60AudioPlayer.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedaudioplayerutility/AudioPlayer/group/S60AudioPlayer.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -52,7 +52,7 @@
 LIBRARY		mmfcontrollerframework.lib 
 LIBRARY		mmfstandardcustomcommands.lib 
 LIBRARY 	caf.lib
-LIBRARY 	ecom.lib
+LIBRARY 	ECom.lib
 LIBRARY		S60AudioSource.lib
 LIBRARY		S60AudioClientStreamSource.lib
 LIBRARY		S60AudioUtility.lib
--- a/mmfenh/enhancedaudioplayerutility/AudioStreaming/AudioClientStreamSource/group/S60AudioClientStreamSource.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedaudioplayerutility/AudioStreaming/AudioClientStreamSource/group/S60AudioClientStreamSource.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -50,5 +50,5 @@
 LIBRARY 	efsrv.lib  
 LIBRARY		mmfcontrollerframework.lib 
 LIBRARY		mmfstandardcustomcommands.lib 
-LIBRARY 	ecom.lib
+LIBRARY 	ECom.lib
 LIBRARY		S60AudioSource.lib
--- a/mmfenh/enhancedaudioplayerutility/S60AudioUtility/group/S60AudioUtility.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedaudioplayerutility/S60AudioUtility/group/S60AudioUtility.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -45,7 +45,7 @@
 
 library			euser.lib
 library			efsrv.lib
-library			mmfcontrollerframework.lib
+library			MmfControllerFramework.lib
 library			caf.lib
 library			cafutils.lib
 library			ecom.lib
--- a/mmfenh/enhancedmediaclient/Client/EABI/EnhancedMediaClient.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Client/EABI/EnhancedMediaClient.def	Wed Sep 01 12:23:00 2010 +0100
@@ -12,86 +12,92 @@
 	_ZN10multimedia18CMultimediaFactory19DeleteStreamControlERPNS_14MStreamControlE @ 11 NONAME
 	_ZN10multimedia18CMultimediaFactoryD1Ev @ 12 NONAME
 	_ZN10multimedia18CMultimediaFactoryD2Ev @ 13 NONAME
-	_ZTI11CChildIntfc @ 14 NONAME
-	_ZTI12CParentIntfc @ 15 NONAME
-	_ZTI19CDRMConfigIntcfImpl @ 16 NONAME
-	_ZTIN10multimedia10CErrorCodeE @ 17 NONAME
-	_ZTIN10multimedia10CEventBaseE @ 18 NONAME
-	_ZTIN10multimedia11CSourceBaseE @ 19 NONAME
-	_ZTIN10multimedia13CReverbEffectE @ 20 NONAME
-	_ZTIN10multimedia13CVolumeEffectE @ 21 NONAME
-	_ZTIN10multimedia14CBalanceEffectE @ 22 NONAME
-	_ZTIN10multimedia14CEventNotifierE @ 23 NONAME
-	_ZTIN10multimedia14CStreamControlE @ 24 NONAME
-	_ZTIN10multimedia15CEventQueueItemE @ 25 NONAME
-	_ZTIN10multimedia15CLoudnessEffectE @ 26 NONAME
-	_ZTIN10multimedia15CMCustomCommandE @ 27 NONAME
-	_ZTIN10multimedia16CBassBoostEffectE @ 28 NONAME
-	_ZTIN10multimedia16CEqualizerEffectE @ 29 NONAME
-	_ZTIN10multimedia16CObserverManagerE @ 30 NONAME
-	_ZTIN10multimedia16CRoomLevelEffectE @ 31 NONAME
-	_ZTIN10multimedia17CClientDataBufferE @ 32 NONAME
-	_ZTIN10multimedia17CClientFileSourceE @ 33 NONAME
-	_ZTIN10multimedia18CBufTypeSupEventAOE @ 34 NONAME
-	_ZTIN10multimedia18CEffectControlBaseE @ 35 NONAME
-	_ZTIN10multimedia18CStateChangedEventE @ 36 NONAME
-	_ZTIN10multimedia19CMmfAudioOutputSinkE @ 37 NONAME
-	_ZTIN10multimedia20CDataBufferQueueItemE @ 38 NONAME
-	_ZTIN10multimedia20CSourceDopplerEffectE @ 39 NONAME
-	_ZTIN10multimedia21CSourceLocationEffectE @ 40 NONAME
-	_ZTIN10multimedia21CStereoWideningEffectE @ 41 NONAME
-	_ZTIN10multimedia22CEffectControlBaseImplE @ 42 NONAME
-	_ZTIN10multimedia22CListenerDopplerEffectE @ 43 NONAME
-	_ZTIN10multimedia22CMultimediaFactoryImplE @ 44 NONAME
-	_ZTIN10multimedia23CClientDataBufferSourceE @ 45 NONAME
-	_ZTIN10multimedia23CClientDescriptorSourceE @ 46 NONAME
-	_ZTIN10multimedia23CListenerLocationEffectE @ 47 NONAME
-	_ZTIN10multimedia24CSourceOrientationEffectE @ 48 NONAME
-	_ZTIN10multimedia25CDataBufferProcessedEventE @ 49 NONAME
-	_ZTIN10multimedia25CMMFFindAndOpenController7CConfigE @ 50 NONAME
-	_ZTIN10multimedia26CDistanceAttenuationEffectE @ 51 NONAME
-	_ZTIN10multimedia26CListenerOrientationEffectE @ 52 NONAME
-	_ZTIN10multimedia8CAsyncAOE @ 53 NONAME
-	_ZTIN10multimedia9CSinkBaseE @ 54 NONAME
-	_ZTV11CChildIntfc @ 55 NONAME
-	_ZTV12CParentIntfc @ 56 NONAME
-	_ZTV19CDRMConfigIntcfImpl @ 57 NONAME
-	_ZTVN10multimedia10CErrorCodeE @ 58 NONAME
-	_ZTVN10multimedia10CEventBaseE @ 59 NONAME
-	_ZTVN10multimedia11CSourceBaseE @ 60 NONAME
-	_ZTVN10multimedia13CReverbEffectE @ 61 NONAME
-	_ZTVN10multimedia13CVolumeEffectE @ 62 NONAME
-	_ZTVN10multimedia14CBalanceEffectE @ 63 NONAME
-	_ZTVN10multimedia14CEventNotifierE @ 64 NONAME
-	_ZTVN10multimedia14CStreamControlE @ 65 NONAME
-	_ZTVN10multimedia15CEventQueueItemE @ 66 NONAME
-	_ZTVN10multimedia15CLoudnessEffectE @ 67 NONAME
-	_ZTVN10multimedia15CMCustomCommandE @ 68 NONAME
-	_ZTVN10multimedia16CBassBoostEffectE @ 69 NONAME
-	_ZTVN10multimedia16CEqualizerEffectE @ 70 NONAME
-	_ZTVN10multimedia16CObserverManagerE @ 71 NONAME
-	_ZTVN10multimedia16CRoomLevelEffectE @ 72 NONAME
-	_ZTVN10multimedia17CClientDataBufferE @ 73 NONAME
-	_ZTVN10multimedia17CClientFileSourceE @ 74 NONAME
-	_ZTVN10multimedia18CBufTypeSupEventAOE @ 75 NONAME
-	_ZTVN10multimedia18CEffectControlBaseE @ 76 NONAME
-	_ZTVN10multimedia18CStateChangedEventE @ 77 NONAME
-	_ZTVN10multimedia19CMmfAudioOutputSinkE @ 78 NONAME
-	_ZTVN10multimedia20CDataBufferQueueItemE @ 79 NONAME
-	_ZTVN10multimedia20CSourceDopplerEffectE @ 80 NONAME
-	_ZTVN10multimedia21CSourceLocationEffectE @ 81 NONAME
-	_ZTVN10multimedia21CStereoWideningEffectE @ 82 NONAME
-	_ZTVN10multimedia22CEffectControlBaseImplE @ 83 NONAME
-	_ZTVN10multimedia22CListenerDopplerEffectE @ 84 NONAME
-	_ZTVN10multimedia22CMultimediaFactoryImplE @ 85 NONAME
-	_ZTVN10multimedia23CClientDataBufferSourceE @ 86 NONAME
-	_ZTVN10multimedia23CClientDescriptorSourceE @ 87 NONAME
-	_ZTVN10multimedia23CListenerLocationEffectE @ 88 NONAME
-	_ZTVN10multimedia24CSourceOrientationEffectE @ 89 NONAME
-	_ZTVN10multimedia25CDataBufferProcessedEventE @ 90 NONAME
-	_ZTVN10multimedia25CMMFFindAndOpenController7CConfigE @ 91 NONAME
-	_ZTVN10multimedia26CDistanceAttenuationEffectE @ 92 NONAME
-	_ZTVN10multimedia26CListenerOrientationEffectE @ 93 NONAME
-	_ZTVN10multimedia8CAsyncAOE @ 94 NONAME
-	_ZTVN10multimedia9CSinkBaseE @ 95 NONAME
+	_ZTIN10multimedia10CErrorCodeE @ 14 NONAME ; #<TI>#
+	_ZTIN10multimedia10CEventBaseE @ 15 NONAME ; #<TI>#
+	_ZTIN10multimedia11CSourceBaseE @ 16 NONAME ; #<TI>#
+	_ZTIN10multimedia13CVolumeEffectE @ 17 NONAME ; #<TI>#
+	_ZTIN10multimedia14CEventNotifierE @ 18 NONAME ; #<TI>#
+	_ZTIN10multimedia14CStreamControlE @ 19 NONAME ; #<TI>#
+	_ZTIN10multimedia15CEventQueueItemE @ 20 NONAME ; #<TI>#
+	_ZTIN10multimedia15CMCustomCommandE @ 21 NONAME ; #<TI>#
+	_ZTIN10multimedia16CDownloadGatewayE @ 22 NONAME ; #<TI>#
+	_ZTIN10multimedia16CObserverManagerE @ 23 NONAME ; #<TI>#
+	_ZTIN10multimedia17CClientDataBufferE @ 24 NONAME ; #<TI>#
+	_ZTIN10multimedia18CBufTypeSupEventAOE @ 25 NONAME ; #<TI>#
+	_ZTIN10multimedia18CEffectControlBaseE @ 26 NONAME ; #<TI>#
+	_ZTIN10multimedia18CStateChangedEventE @ 27 NONAME ; #<TI>#
+	_ZTIN10multimedia19CClientProgDLSourceE @ 28 NONAME ; #<TI>#
+	_ZTIN10multimedia19CMmfAudioOutputSinkE @ 29 NONAME ; #<TI>#
+	_ZTIN10multimedia20CDataBufferQueueItemE @ 30 NONAME ; #<TI>#
+	_ZTIN10multimedia22CEffectControlBaseImplE @ 31 NONAME ; #<TI>#
+	_ZTIN10multimedia22CMultimediaFactoryImplE @ 32 NONAME ; #<TI>#
+	_ZTIN10multimedia23CClientDataBufferSourceE @ 33 NONAME ; #<TI>#
+	_ZTIN10multimedia25CDataBufferProcessedEventE @ 34 NONAME ; #<TI>#
+	_ZTIN10multimedia25CMMFFindAndOpenController7CConfigE @ 35 NONAME ; #<TI>#
+	_ZTIN10multimedia8CEventAOE @ 36 NONAME ; #<TI>#
+	_ZTIN10multimedia9CSinkBaseE @ 37 NONAME ; #<TI>#
+	_ZTVN10multimedia10CErrorCodeE @ 38 NONAME ; #<VT>#
+	_ZTVN10multimedia10CEventBaseE @ 39 NONAME ; #<VT>#
+	_ZTVN10multimedia11CSourceBaseE @ 40 NONAME ; #<VT>#
+	_ZTVN10multimedia13CVolumeEffectE @ 41 NONAME ; #<VT>#
+	_ZTVN10multimedia14CEventNotifierE @ 42 NONAME ; #<VT>#
+	_ZTVN10multimedia14CStreamControlE @ 43 NONAME ; #<VT>#
+	_ZTVN10multimedia15CEventQueueItemE @ 44 NONAME ; #<VT>#
+	_ZTVN10multimedia15CMCustomCommandE @ 45 NONAME ; #<VT>#
+	_ZTVN10multimedia16CDownloadGatewayE @ 46 NONAME ; #<VT>#
+	_ZTVN10multimedia16CObserverManagerE @ 47 NONAME ; #<VT>#
+	_ZTVN10multimedia17CClientDataBufferE @ 48 NONAME ; #<VT>#
+	_ZTVN10multimedia18CBufTypeSupEventAOE @ 49 NONAME ; #<VT>#
+	_ZTVN10multimedia18CEffectControlBaseE @ 50 NONAME ; #<VT>#
+	_ZTVN10multimedia18CStateChangedEventE @ 51 NONAME ; #<VT>#
+	_ZTVN10multimedia19CClientProgDLSourceE @ 52 NONAME ; #<VT>#
+	_ZTVN10multimedia19CMmfAudioOutputSinkE @ 53 NONAME ; #<VT>#
+	_ZTVN10multimedia20CDataBufferQueueItemE @ 54 NONAME ; #<VT>#
+	_ZTVN10multimedia22CEffectControlBaseImplE @ 55 NONAME ; #<VT>#
+	_ZTVN10multimedia22CMultimediaFactoryImplE @ 56 NONAME ; #<VT>#
+	_ZTVN10multimedia23CClientDataBufferSourceE @ 57 NONAME ; #<VT>#
+	_ZTVN10multimedia25CDataBufferProcessedEventE @ 58 NONAME ; #<VT>#
+	_ZTVN10multimedia25CMMFFindAndOpenController7CConfigE @ 59 NONAME ; #<VT>#
+	_ZTVN10multimedia8CEventAOE @ 60 NONAME ; #<VT>#
+	_ZTVN10multimedia9CSinkBaseE @ 61 NONAME ; #<VT>#
+	_ZTIN10multimedia17CClientFileSourceE @ 62 NONAME ; #<TI>#
+	_ZTIN10multimedia23CClientDescriptorSourceE @ 63 NONAME ; #<TI>#
+	_ZTIN10multimedia8CAsyncAOE @ 64 NONAME ; #<TI>#
+	_ZTVN10multimedia17CClientFileSourceE @ 65 NONAME ; #<VT>#
+	_ZTVN10multimedia23CClientDescriptorSourceE @ 66 NONAME ; #<VT>#
+	_ZTVN10multimedia8CAsyncAOE @ 67 NONAME ; #<VT>#
+	_ZTI11CChildIntfc @ 68 NONAME ; #<TI>#
+	_ZTI12CParentIntfc @ 69 NONAME ; #<TI>#
+	_ZTI19CDRMConfigIntcfImpl @ 70 NONAME ; #<TI>#
+	_ZTV11CChildIntfc @ 71 NONAME ; #<VT>#
+	_ZTV12CParentIntfc @ 72 NONAME ; #<VT>#
+	_ZTV19CDRMConfigIntcfImpl @ 73 NONAME ; #<VT>#
+	_ZTIN10multimedia13CReverbEffectE @ 74 NONAME ; #<TI>#
+	_ZTIN10multimedia15CLoudnessEffectE @ 75 NONAME ; #<TI>#
+	_ZTIN10multimedia16CBassBoostEffectE @ 76 NONAME ; #<TI>#
+	_ZTIN10multimedia16CEqualizerEffectE @ 77 NONAME ; #<TI>#
+	_ZTIN10multimedia16CRoomLevelEffectE @ 78 NONAME ; #<TI>#
+	_ZTIN10multimedia20CSourceDopplerEffectE @ 79 NONAME ; #<TI>#
+	_ZTIN10multimedia21CSourceLocationEffectE @ 80 NONAME ; #<TI>#
+	_ZTIN10multimedia21CStereoWideningEffectE @ 81 NONAME ; #<TI>#
+	_ZTIN10multimedia22CListenerDopplerEffectE @ 82 NONAME ; #<TI>#
+	_ZTIN10multimedia23CListenerLocationEffectE @ 83 NONAME ; #<TI>#
+	_ZTIN10multimedia24CSourceOrientationEffectE @ 84 NONAME ; #<TI>#
+	_ZTIN10multimedia26CDistanceAttenuationEffectE @ 85 NONAME ; #<TI>#
+	_ZTIN10multimedia26CListenerOrientationEffectE @ 86 NONAME ; #<TI>#
+	_ZTVN10multimedia13CReverbEffectE @ 87 NONAME ; #<VT>#
+	_ZTVN10multimedia15CLoudnessEffectE @ 88 NONAME ; #<VT>#
+	_ZTVN10multimedia16CBassBoostEffectE @ 89 NONAME ; #<VT>#
+	_ZTVN10multimedia16CEqualizerEffectE @ 90 NONAME ; #<VT>#
+	_ZTVN10multimedia16CRoomLevelEffectE @ 91 NONAME ; #<VT>#
+	_ZTVN10multimedia20CSourceDopplerEffectE @ 92 NONAME ; #<VT>#
+	_ZTVN10multimedia21CSourceLocationEffectE @ 93 NONAME ; #<VT>#
+	_ZTVN10multimedia21CStereoWideningEffectE @ 94 NONAME ; #<VT>#
+	_ZTVN10multimedia22CListenerDopplerEffectE @ 95 NONAME ; #<VT>#
+	_ZTVN10multimedia23CListenerLocationEffectE @ 96 NONAME ; #<VT>#
+	_ZTVN10multimedia24CSourceOrientationEffectE @ 97 NONAME ; #<VT>#
+	_ZTVN10multimedia26CDistanceAttenuationEffectE @ 98 NONAME ; #<VT>#
+	_ZTVN10multimedia26CListenerOrientationEffectE @ 99 NONAME ; #<VT>#
+	_ZTIN10multimedia14CBalanceEffectE @ 100 NONAME
+	_ZTVN10multimedia14CBalanceEffectE @ 101 NONAME
 
--- a/mmfenh/enhancedmediaclient/Client/group/EnhancedMediaClient.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Client/group/EnhancedMediaClient.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -13,7 +13,7 @@
 *
 * Description:  Project file for EnhancedMediaClient Utility
 *
-*  Version     : %version: 10.1.8 %
+*  Version     : %version: bh1mmcf#10.1.7 %
 */
 
 
@@ -48,6 +48,11 @@
 SOURCE          DRMConfigIntfcImpl.cpp
 SOURCE          ParentChildIntfc.cpp
 
+SOURCEPATH      ../src/Components/ClientProgDLSource
+SOURCE          EventAO.cpp
+SOURCE          ClientProgDLSource.cpp
+SOURCE          DownloadGateway.cpp
+
 SOURCEPATH      ../src/Components/CMMFAudioOutputSink
 SOURCE          CMMFAudioOutputSink.cpp
 
@@ -100,6 +105,7 @@
 USERINCLUDE     ../src/Components/StreamControl
 USERINCLUDE     ../src/Components/EventNotifier
 USERINCLUDE     ../src/Components/ClientDataBufferSource
+USERINCLUDE     ../src/Components/ClientProgDLSource
 USERINCLUDE     ../src/Components/ClientFileSource
 USERINCLUDE     ../src/Components/ClientDescriptorSource
 USERINCLUDE     ../src/Components/CMMFAudioOutputSink
@@ -107,10 +113,12 @@
 USERINCLUDE     ../src/Components/SinkBase
 USERINCLUDE     ../src/Components/SourceBase
 USERINCLUDE     ../../Plugins/DataBufferSource/inc
+USERINCLUDE     ../../Plugins/ProgDLSource/inc
 USERINCLUDE     ../src/Components/EffectBase
 USERINCLUDE     ../src/Components/VolumeEffect
 USERINCLUDE		../src/Components/BalanceEffect
 USERINCLUDE     ../src/Components/AudioEffects
+USERINCLUDE     ../../Plugins/TransferRateMonitor/inc
 USERINCLUDE     ../../../../inc
 USERINCLUDE     ../../inc
 USERINCLUDE     ../../Plugins/DescriptorSource/inc
@@ -130,6 +138,8 @@
 LIBRARY         cafutils.lib
 LIBRARY         ecom.lib
 LIBRARY         StreamControlCustomCommands.lib
+LIBRARY			downloadmgr.lib
+LIBRARY			transferratemonitor.lib
 LIBRARY         mmfstandardcustomcommands.lib
 
 LIBRARY			AudioEqualizerProxy.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/ClientProgDLSource.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,574 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Implementation of the ClientProgDLSource class.
+*
+*/
+
+
+#include <e32std.h>
+#include <MCustomCommand.h>
+#include <SourceControlObserver.h>
+#include "ClientProgDLSource.h"
+#include "EventNotifier.h"
+#include "EventAO.h"
+#include "ErrorCode.h"
+#include "ProgDLSourceUid.h"
+
+#define RETURN_IF_ERROR(x) if(x != KErrNone) return x
+
+// CONSTANTS
+const TInt KLocalFile = -1;
+const TInt KTranferRateMonitorFrequency = 2;
+const TInt KFileSizeChangeDelta = 10000;
+const TInt KNofityAfterPercentage = 5;
+
+using namespace multimedia;
+
+CClientProgDLSource::CClientProgDLSource()
+    {
+    iSourceState = CMultimediaDataSource::ECLOSED;
+    isDownloadComplete = false;
+    iProgressiveMode = false;
+    }
+
+CClientProgDLSource::~CClientProgDLSource()
+    {
+    delete iEventNotifier;
+    delete iMonitor;
+    delete iFileName;
+    
+    if(iStateEvent->IsActive())
+        {
+        iStateEvent->Cancel();
+        }
+    
+    delete iStateEvent;
+    }
+
+TInt CClientProgDLSource::PostConstructor()
+    {
+    TInt status(KErrNone);
+    // Make sure this doesn't get called second time around.
+    if ( !iEventNotifier )
+        {
+        TRAP(status, iEventNotifier = CEventNotifier::NewL());
+        }
+    
+    RETURN_IF_ERROR(status);
+    
+    TRAP(status, iStateEvent  = CEventAO::NewL(*this)); 
+    
+    return status;
+    }
+
+TInt CClientProgDLSource::AddObserver( MControlObserver& aObserver )
+    {
+    return iEventNotifier->AddObserver( aObserver );
+    }
+
+TInt CClientProgDLSource::RemoveObserver( MControlObserver& aObserver )
+    {
+    return iEventNotifier->RemoveObserver( aObserver );
+    }
+
+TUid CClientProgDLSource::Type()
+    {
+    return KProgDLSourceControl;
+    }
+
+TControlType CClientProgDLSource::ControlType()
+    {
+	return ESourceControl;
+    }
+    
+TInt CClientProgDLSource::GetSize( TUint& aSize )
+    {
+    TInt status(KErrNone);
+    aSize = iSourceSize;
+    return status;
+    }
+
+TInt CClientProgDLSource::GetMimeType( TDes8& aMimeType )
+    {
+    TInt status = iDownloadGateway->GetMimeType(iDownloadId,aMimeType);
+    return status;
+    }
+
+TInt CClientProgDLSource::Close()
+    {
+    TInt status(KErrNone);
+    if(iMonitor)
+        {
+        iMonitor->Stop();
+        }
+    // Reset the Progressive Mode flag always
+    iDownloadGateway->SetProgressiveMode(iDownloadId,EFalse);
+    iProgressiveMode = EFalse;
+    iDownloadId = 0;
+    iCurrentBytes = 0;
+    isDownloadPaused = EFalse;
+    isDownloadComplete = EFalse;
+    iCurrentSize = 0;
+    iSourceSize = 0;
+    iServerSourceExists = EFalse;
+    return status;
+    }
+
+TInt CClientProgDLSource::SetDownloadGateway(CDownloadGateway* aDownloadGateway)
+    {
+    iDownloadGateway = aDownloadGateway;
+    return KErrNone;
+    }
+
+
+TInt CClientProgDLSource::Open(const TDesC& aFileName,TInt32 aDLTxId )
+    {
+    TInt status(KErrNone);
+    if(aDLTxId != KLocalFile)
+        {
+        status = iDownloadGateway->ConnectToDownload(aDLTxId,*this,KNullUid);
+        if(status == KErrNone)
+        	{
+		    iDownloadId = aDLTxId;
+		    isDownloadComplete = EFalse;
+	        //Gets current downloaded size
+	        status = iDownloadGateway->GetDownloadSize(iDownloadId,iSourceSize);
+	        RETURN_IF_ERROR(status);
+	    	}
+	    else
+	    	{
+	    	iDownloadId = 0;	
+	    	return status;	
+	    	}	
+        }
+    else
+        {
+        isDownloadComplete = ETrue;
+        }        
+    
+    if(iFileName)
+        {
+        delete iFileName;
+        iFileName = NULL;
+        }
+
+    TRAP(status,iFileName = HBufC::NewL(aFileName.Size()));
+	
+	if(!status)
+	    {
+	    TPtr des = iFileName->Des();
+	    des.Copy(aFileName);
+	    }    
+    
+    return status;
+    }
+
+TInt CClientProgDLSource::MoveFile(const TDesC& aDestFileName )
+    {
+    TInt status(KErrNone);
+    
+    if (iServerSourceExists)
+        iCustomCommand->CustomCommandSync( iSourceHandle, ESetFileMoving, KNullDesC8, KNullDesC8 );
+
+    iDestFileName.Copy(aDestFileName);
+    status = iDownloadGateway->MoveFile(iDownloadId,aDestFileName);
+    return status;
+    }
+
+TInt CClientProgDLSource::IsDownloadComplete(TBool& aBool)
+    {
+    TInt status(KErrNone);
+    
+    TDownloadStatus dlStatus;
+    status = iDownloadGateway->GetDownloadStatus(iDownloadId,dlStatus);
+    if(dlStatus == ECompleted)
+        {
+        aBool = true;
+        }
+    else
+        {
+        aBool = false;
+        }
+            
+    return status;
+    }
+
+TInt CClientProgDLSource::GetPercentageDownloaded(TUint& aPercent)
+    {
+    TInt status(KErrNone);
+    TUint curSize;
+    TUint fullSize;
+    if(!isDownloadComplete)
+        {
+        status = iDownloadGateway->GetCurrentSize(iDownloadId,curSize);
+        RETURN_IF_ERROR(status);
+        status = iDownloadGateway->GetDownloadSize(iDownloadId,fullSize);    
+        RETURN_IF_ERROR(status);
+        }
+    else
+        {
+        curSize = iCurrentSize;
+        fullSize = iSourceSize;
+        }
+    
+    if(fullSize)
+        {
+        aPercent = (curSize*100/fullSize);
+        }
+    else
+        {
+        aPercent = 0;
+        }        
+    return status;
+    }
+
+TInt CClientProgDLSource::GetDownloadingRate(TUint& aRate)
+    {
+    TInt status(KErrNone);
+    if(iMonitor)
+        {
+        aRate = iMonitor->TransferRate();
+        }
+    else
+        {
+        status = KErrNotFound;
+        }
+    return status;
+    }    
+
+TInt CClientProgDLSource::GetCurrentFileSize( TUint& aSize )
+    {
+    TInt status(KErrNotFound);
+    if(!isDownloadComplete)
+        {
+        status = iDownloadGateway->GetCurrentSize(iDownloadId,aSize);
+        }
+    else
+        {
+        iCurrentSize = iSourceSize;
+        status = KErrNone;
+        }
+    return status;
+    }
+     
+TInt CClientProgDLSource::GetExpectedFileSize( TUint& aSize )
+    {
+    TInt status(KErrNotFound);
+    if(!isDownloadComplete)
+        {
+        status = iDownloadGateway->GetDownloadSize(iDownloadId,aSize);
+        }
+    else
+        {
+        aSize = iSourceSize;
+        status = KErrNone;
+        }
+    return status;
+    }
+    
+MProgDLSource::TDownloadStatus CClientProgDLSource::GetDownloadStatus()
+    {
+    MProgDLSource::TDownloadStatus dlStatus;
+    iDownloadGateway->GetDownloadStatus(iDownloadId,dlStatus);
+    return dlStatus;
+    }
+    
+
+TInt CClientProgDLSource::GetPercentageBuffered(TUint& aPercent)
+    {
+    //Source Custom Command
+    TPckgBuf<TUint> pckg;
+    if(iServerSourceExists)
+        {
+        iCustomCommand->CustomCommandSync( iSourceHandle, EGetPercentageBuffered, KNullDesC8, KNullDesC8, pckg );
+        aPercent = pckg();
+        return KErrNone;
+        }
+    else
+        {
+        aPercent = 0;
+        return KErrNotFound;    
+        }
+    }            
+
+TInt CClientProgDLSource::GetBitRate(TUint& aRate)
+    {
+    //Source Custom Command
+    TPckgBuf<TUint> pckg;
+    if(iServerSourceExists)
+        {
+        iCustomCommand->CustomCommandSync( iSourceHandle, EGetBitRate, KNullDesC8, KNullDesC8, pckg );
+        aRate = pckg();
+        return KErrNone;
+        }
+    else
+        {
+        aRate = 0;
+        return KErrNotFound;
+        }
+    }
+
+TInt CClientProgDLSource::FileName(TPtr& aFileName)
+    {
+    TInt status(KErrNone);
+    aFileName.Set(iFileName->Des());
+    return status;
+    }
+
+
+TInt CClientProgDLSource::CancelDownload()
+    {
+    TInt status(KErrNone);
+    status = iDownloadGateway->DeleteDownload(iDownloadId);
+    return status;
+    }
+
+TInt CClientProgDLSource::ResumeDownload()
+    {
+    TInt status(KErrNone);
+    if(isDownloadPaused)
+        {
+        iDownloadGateway->ResumeDownload(iDownloadId);
+        }
+    return status;
+    }    
+
+void CClientProgDLSource::ServerSourceCreated( MCustomCommand& aCustomCommand,
+                                                   TMMFMessageDestination& aSourceHandle )
+    {
+    iServerSourceExists = ETrue;
+    iCustomCommand = &aCustomCommand;
+    iSourceHandle = aSourceHandle;
+    
+    if(!isDownloadComplete)
+        {
+        TRAPD(err1,iMonitor = CTransferRateMonitor::NewL(*this, KTranferRateMonitorFrequency, KFileSizeChangeDelta));
+        if(!err1)
+    	    {
+    		iMonitor->Start();
+    		}
+    	
+        // Send data to server source
+        TPckgBuf<TInt> pckg(iSourceSize);
+        iCustomCommand->CustomCommandSync( iSourceHandle, ESetActualSize, pckg, KNullDesC8 );
+        
+        iStateEvent->SetActive();
+        iStatePckg() = iSourceState;	  
+        iCustomCommand->CustomCommandAsync(
+            iSourceHandle,
+            (TInt)EGetSourceState,
+            iStatePckg,
+            KNullDesC8,
+            iStatePckg,
+            iStateEvent->iStatus);
+            
+         }
+     else
+        {
+        iCustomCommand->CustomCommandSync( iSourceHandle, ESetDownloadState, KNullDesC8, KNullDesC8 );        
+        }
+    }
+
+void CClientProgDLSource::ServerSourceDeleted()
+    {
+#ifdef _DEBUG
+    RDebug::Print(_L("CClientProgDLSource::ServerSourceDeleted()"));    
+#endif    
+    iServerSourceExists = EFalse;
+    iCustomCommand = NULL;
+    
+    if(iMonitor)
+        {
+        iMonitor->Stop();
+        }
+    }
+
+TBool CClientProgDLSource::IsEncrypted()
+    {
+    return EFalse;
+    }
+    
+TUid CClientProgDLSource::GetSourceUid()
+    {
+    return KMmfProgDLSource;
+    }
+    
+TInt CClientProgDLSource::GetHeaderData(TPtr& /*aPtr*/)
+    {
+    return KErrNotSupported;
+    }
+    
+void CClientProgDLSource::MoveFileComplete(TInt aError)
+    {
+    if(iServerSourceExists)
+        {
+        TPtr des = iFileName->Des();
+        if(aError == KErrNone)
+            {
+    	    des.Copy(iDestFileName);
+            }
+	    else if (aError == KErrAlreadyExists)
+            {
+            iDownloadGateway->GetLocalFileName(iDownloadId,des);
+            }
+	    iDestFileName.Copy(des);
+        TPckgBuf<TFileName> pckg(iDestFileName);
+        iCustomCommand->CustomCommandSync( iSourceHandle, ESetUpdateFileName, pckg, KNullDesC8 );
+        }
+    
+    CErrorCode* event1 = new CErrorCode( aError );       
+    iEventNotifier->Event(this,MSourceControlObserver::KFileMoveCompleteEvent,event1);
+    }
+
+void CClientProgDLSource::Event(TDownloadStatus aStatus)
+    {   
+#ifdef _DEBUG
+    RDebug::Print(_L("CClientProgDLSource::Event DownloadStatus[%d]"),aStatus);
+#endif            
+
+    switch(aStatus)
+        {
+            case ECompleted:
+                {
+                if(iMonitor)
+                    {
+                    iMonitor->Stop();	
+                    }
+                TUint size(0);
+                GetCurrentFileSize(size);
+                TInt value = size;
+                TPckgBuf<TInt> pckg(value);
+				if(iServerSourceExists)
+				{
+                	if (iSourceState != CMultimediaDataSource::ESTOPPED)
+                    	{
+	                    iCustomCommand->CustomCommandSync( iSourceHandle, ESetDownloadSize, pckg, KNullDesC8 );
+    	                }
+        	        iCustomCommand->CustomCommandSync( iSourceHandle, ESetDownloadState, KNullDesC8, KNullDesC8 );
+				}
+                isDownloadComplete = ETrue;               
+                break;                    
+                }
+            case EStarted:
+                {
+                isDownloadPaused = EFalse;    
+                break;
+                }
+            case EPaused:
+                {
+                isDownloadPaused = ETrue;
+                break;    
+                }
+            case EDeleted:
+                {
+                if(iMonitor)
+                    {
+                    iMonitor->Stop();
+                    }
+                break;
+                }
+
+            case EUnknown:
+                break;
+                
+        }
+        //Send only Known Events
+        if(aStatus != EUnknown)
+            {
+            CErrorCode* event1 = new CErrorCode( KErrNone );       
+            iEventNotifier->Event(this,MSourceControlObserver::KDownloadStatusChangedEvent,event1); 
+            }
+    }
+
+TInt CClientProgDLSource::GetCurrentSize( TUint& aCurrentSize )
+    {
+    //RDebug::Print(_L("CClientProgDLSource::GetCurrentSize"));			
+    TUint value(0);
+    GetExpectedFileSize(value);
+    
+    GetCurrentFileSize(aCurrentSize);
+    
+    if(aCurrentSize - iCurrentBytes > ((KNofityAfterPercentage/100) * value)) //Currently checking for 5%
+        {
+            iCurrentBytes = aCurrentSize;
+            CErrorCode* event1 = new CErrorCode( KErrNone );       
+            iEventNotifier->Event(this,MSourceControlObserver::KPercentageDownloadedChangedEvent,event1);
+        }
+    
+    iCurrentSize = aCurrentSize;
+    
+    if ( iServerSourceExists && iSourceState != CMultimediaDataSource::ESTOPPED)
+        {
+        // Send data to server source
+        
+        TPckgBuf<TInt> pckg(iCurrentSize);
+        iCustomCommand->CustomCommandSync( iSourceHandle, ESetDownloadSize, pckg, KNullDesC8 );
+        
+        }			
+#ifdef _DEBUG
+    RDebug::Print(_L("CClientProgDLSource::GetCurrentSize:[%d]"), aCurrentSize);	
+#endif    
+    
+    return KErrNone;			
+    }
+
+void CClientProgDLSource::TransferRateChanged()
+    {
+#ifdef _DEBUG    
+    RDebug::Print(_L("CClientProgDLSource::TransferRateChanged:[%d]"), iMonitor->TransferRate());
+#endif    
+    if ( iServerSourceExists  && !isDownloadComplete && iSourceState != CMultimediaDataSource::ESTOPPED)
+        {
+        // Send data to server source
+        
+        TPckgBuf<TUint> pckg1(iMonitor->TransferRate());
+        iCustomCommand->CustomCommandSync( iSourceHandle, EDownloadRate, pckg1, KNullDesC8 );
+        
+        }			
+    }
+
+void CClientProgDLSource::SourceStateChanged()		
+    {
+#ifdef _DEBUG
+    RDebug::Print(_L("CClientProgDLSource::SourceStateChanged() :PrevState[%d] NewState[%d]"), iSourceState,iStatePckg());
+#endif    
+    iSourceState = iStatePckg();
+    
+    if(iSourceState == CMultimediaDataSource::ESTOPPED || iSourceState == CMultimediaDataSource::ECLOSED)        
+        {
+        //iDownloadGateway->SetProgressiveMode(iDownloadId,EFalse);
+        iProgressiveMode = EFalse;
+        }
+    else if(!iProgressiveMode && !isDownloadComplete)
+        {
+        iDownloadGateway->SetProgressiveMode(iDownloadId,ETrue);
+        TPtr ptrFileName = iFileName->Des();
+        iDownloadGateway->SetLocalFileName( iDownloadId, ptrFileName );
+        iProgressiveMode = ETrue;
+        }
+    
+        
+    if(iStateEvent->Error() != KErrDied && iServerSourceExists)
+        {
+        iStateEvent->SetActive();	    
+        iCustomCommand->CustomCommandAsync(
+            iSourceHandle,
+            (TInt)EGetSourceState,
+            iStatePckg,
+            KNullDesC8,
+            iStatePckg,
+            iStateEvent->iStatus);    
+        }                               
+    }
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/ClientProgDLSource.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,383 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Definition of the ClientProgDLSource class.
+*
+*/
+
+
+#ifndef C_CCLIENTAUDIOPROGDLSOURCE_H
+#define C_CCLIENTAUDIOPROGDLSOURCE_H
+
+#include <e32base.h>
+#include <ProgDLSource.h>
+#include <downloadmgrclient.h>
+#include <mmfcontrollerframework.h>
+#include <MultimediaDataSource.h>
+
+#include "SourceBase.h"
+#include "TransferRateMonitor.h"
+#include "ProgDLSourceCustomCommands.h"
+#include "EventAO.h"
+#include "DownloadGateway.h"
+
+
+class MCustomCommand;
+
+namespace multimedia
+    {
+    
+    class CEventNotifier;
+
+    class MTransferRateMonitor;
+    
+    /**
+    *  Implements the ClientSide Source for the ProgDL Source.
+    *  Provides functionality to the Clients to query attributes
+    *  from the ServerSide source
+    *  @lib EnhancedMediaClient.lib
+    *  @since S60 v3.2
+    */    
+    class CClientProgDLSource : public CSourceBase,
+                                public MProgDLSource,
+                                public MDownloadGatewayObserver,
+                                public MTransferRateObserver,
+                                public MSourceStateObserver
+        {
+        public:
+            /**
+            * Function to Create the Object.
+            */
+            CClientProgDLSource();
+            /**
+            * Destructor.
+            */
+            ~CClientProgDLSource();
+            /**
+            * Post Contructor. This is to Support the new type of Construction
+            * of the Object. Notice there is no Two phased Constructor in this class
+            */
+            TInt PostConstructor();
+            
+            /**
+            * Associates the DownloadGateway with the Progressive Download Source.
+            * This Gateway class sends all the Browser Events to the Source.
+            */
+            TInt SetDownloadGateway(CDownloadGateway* aDownloadGateway);
+            
+            // From MControl begins
+            /**
+            * From MControl.
+            * Adds the Observer to this Object
+            * @since S60 v3.2
+            * @param aObserver Client which set the Observer.             
+            */            
+            TInt AddObserver( MControlObserver& aObserver );
+            /**
+            * From MControl.
+            * Removes the Observer to this Object
+            * @since S60 v3.2
+            * @param aObserver Client which set the Observer.             
+            */            
+            TInt RemoveObserver( MControlObserver& aObserver );
+            /**
+            * From MControl.
+            * Returns the Type of this Object.
+            * request and that it is now outstanding 
+            * @since S60 v3.2
+            */            
+            TUid Type();
+            /**
+            * From MControl.
+            * Returns the Control Type of this Object.
+            *
+            * @since S60 v3.2
+            */            
+            TControlType ControlType();
+            // From MControl ends
+            
+            // From MSourceControl begins
+            /**
+            * From MSourceControl.
+            * Returns the Size in Bytes of the Source.
+            * Since this is ProgDL Source, the size represents
+            * the file size which will be passed by the Client
+            *  to the Source
+            * @since S60 v3.2
+            * @param aSize Size returned by the Source.             
+            */            
+            TInt GetSize( TUint& aSize );
+            /**
+            * From MSourceControl.
+            * Returns the Mime Type of the Data for which
+            * the Source is initialized.
+            * @since S60 v3.2
+            * @param aMimeType MimeType returned by the Source.             
+            */            
+            TInt GetMimeType( TDes8& aMimeType );
+            /**
+            * From MSourceControl.
+            * Closes the Source.
+            *
+            * @since S60 v3.2
+            */            
+            TInt Close();
+            // From MSourceControl ends
+            
+            // From MProgDLSource begins
+            /**
+            * From MProgDLSource.
+            * Opens the Source with the FileName and TransactionID
+            * Here it connects to the Browser and attaches to the 
+            * download corresponding to the TransactionID
+            *
+            * @since S60 v3.2
+            * @param aFileName      FileName to be Opened by the Source
+            * @param aDLTxId        TransactionID to connect to the Browser
+            */            
+            TInt Open( const TDesC& aFileName,TInt32 aDLTxId );
+            /**
+            * From MProgDLSource.
+            * Moves the Finished Download to the new Location. This is done
+            * by calling the browser which is invoked through the Gateway.
+            *
+            * @since S60 v3.2
+            * @param aFileName      FileName to be Opened by the Source
+            */            
+            TInt MoveFile(const TDesC& aDestFileName );
+            /**
+            * From MProgDLSource.
+            * Cancels the Ongoing Download
+            *
+            * @since S60 v3.2
+            */            
+            TInt CancelDownload();
+            /**
+            * From MProgDLSource.
+            * Resumes the Paused download
+            *
+            * @since S60 v3.2
+            */            
+            TInt ResumeDownload();
+            /**
+            * From MProgDLSource.
+            * Gets the Current FileSize from the Browser which is getting 
+            * Downloaded
+            *
+            * @since S60 v3.2
+            * @param aSize  Size of the File already downloaded
+            */            
+            TInt GetCurrentFileSize( TUint& aSize );
+            /**
+            * From MProgDLSource.
+            * Gets the Expected FileSize from the Browser which is getting 
+            * Downloaded
+            *
+            * @since S60 v3.2
+            * @param aSize  Final Size of the File
+            */            
+            TInt GetExpectedFileSize( TUint& aSize );
+            /**
+            * From MProgDLSource.
+            * Return the Current Download Status of the Download
+            *
+            * @since S60 v3.2
+            */            
+            TDownloadStatus GetDownloadStatus();
+            /**
+            * From MProgDLSource.
+            * Queries if the Download is Complete from the Gateway
+            *
+            * @since S60 v3.2
+            * @param aBool      Download Complete Status
+            */            
+            TInt IsDownloadComplete(TBool& aBool);
+            /**
+            * From MProgDLSource.
+            * Gets the Percentage of the File already Downloaded
+            *
+            * @since S60 v3.2
+            * @param aPercent   Percentage of the File downloaded
+            */            
+            TInt GetPercentageDownloaded(TUint& aPercent);
+            /**
+            * From MProgDLSource.
+            * Gets the Percentage of the File Buffered before Playback starts.
+            * This query is to the ServerSide Source which is in Buffering State
+            *   
+            * @since S60 v3.2
+            * @param aPercent      Percentage of Data Buffered before Playback starts.
+            */            
+            TInt GetPercentageBuffered(TUint& aPercent);            
+            /**
+            * From MProgDLSource.
+            * This is the DownloadRate that tells you how fast data is downloaded
+            * by the Download Manager
+            *
+            * @since S60 v3.2
+            * @param aRate  Rate at which Data is Downloaded.
+            */            
+            TInt GetDownloadingRate(TUint& aRate);
+            /**
+            * From MProgDLSource.
+            * Returns the BitRate of the Data played from the Source
+            *
+            * @since S60 v3.2
+            * @param aRate  BitRate of the Data Played from the Source
+            */            
+            TInt GetBitRate(TUint& aRate); 
+            /**
+            * From MProgDLSource.
+            * Returns the FileName associated with the Download.
+            * This value is set by the Client when it calls Open().
+            *
+            * @since S60 v3.2
+            * @param aFileName  FileName to be Opened by the Source
+            */            
+            TInt FileName(TPtr& aFileName);
+            // From MProgDLSource ends
+            
+            // From MDownloadGatewayObserver
+            /**
+            * From MDownloadGatewayObserver.
+            * The Gateway Observer sends event which it receives from the
+            * Download Manager.
+            *
+            * @since S60 v3.2
+            * @param aStatus  Current Download Status
+            */            
+            void Event(TDownloadStatus aStatus);
+            /**
+            * From MDownloadGatewayObserver.
+            * Notifies the Client that the Move of the File Complete
+            * with an ErrorCode returned.
+            *
+            * @since S60 v3.2
+            * @param aError  Move Complete with this ErrorCode.
+            */            
+            void MoveFileComplete(TInt aError);
+            // MDownloadGatewayObserver Ends
+            
+            
+            // From CSourceBase begins
+            /**
+            * From CSourceBase.
+            * Callback from the StreamControl when the Source is Created
+            *
+            * @since S60 v3.2
+            * @param aCustomCommand    Custom Command handle to send message to the Source             
+            * @param aSourceHandle     Handle Identifying the Source             
+            */            
+            void ServerSourceCreated( MCustomCommand& aCustomCommand,
+                                    TMMFMessageDestination& aSourceHandle );
+            /**
+            * From CSourceBase.
+            * Callback from the StreamControl when the ServerSource is Deleted
+            *
+            * @since S60 v3.2
+            */            
+            void ServerSourceDeleted();
+            /**
+            * From CSourceBase.
+            * Returns the Content Protection information to the Stream Control
+            * Currently returns KErrNotSupported 
+            * @since S60 v3.2
+            */            
+            TBool IsEncrypted();
+            /**
+            * From CSourceBase.
+            * Returns the SourceUID
+            *
+            * @since S60 v3.2
+            */            
+            TUid GetSourceUid();
+            /**
+            * From CSourceBase.
+            * Returns the Header Data passed when the Client calls Open
+            *  Currently return KErrNotSupported
+            * @since S60 v3.2
+            */            
+            TInt GetHeaderData(TPtr& aPtr);
+            // From CSourceBase ends
+            
+            //MTransferRateObserver begins
+            /**
+            * From MTransferRateObserver.
+            * Callback from the TransferRate Monitor that the Rate Changed
+            * @since S60 v3.2
+            */            
+            void TransferRateChanged();
+            /**
+            * From MTransferRateObserver
+            * Method from the Transfer Rate Monitor to query CurrentFile Size.
+            * @since S60 v3.2
+            * @param aCurrentSize Current File Size returned to the Caller             
+            */            
+            TInt GetCurrentSize( TUint& aCurrentSize );
+            // MTransferRateObserver ends
+            
+            // MSourceStateObserver begins
+            /**
+            * From MSourceStateObserver.
+            * Callback from the Active Object that the Source State changed.
+            * @since S60 v3.2
+            */            
+            void SourceStateChanged();    
+            // MSourceStateObserver ends		
+            
+        private:
+            // Variable to determine if the ServerSource exists
+            TBool iServerSourceExists;
+
+            // FileSize from the Client
+            TUint iSourceSize;
+            // Current Size from the Browser
+            TInt iCurrentSize;
+            // Destination File Name            
+            TFileName iDestFileName;
+
+            // Handle to send messages to the Server Side Source
+            MCustomCommand* iCustomCommand;
+            // Handle Identifying the Server Side Source
+            TMMFMessageDestination iSourceHandle;
+            
+            // Current State of the Source
+            TPckgBuf<CMultimediaDataSource::TState> iStatePckg;
+            // Observer monitoring the State change event
+            CEventAO* iStateEvent;
+            // Current State of the Source
+            CMultimediaDataSource::TState iSourceState;
+            // Event Notifier to notify Clients
+            CEventNotifier* iEventNotifier;
+            // Storing the Download Complete Status
+            TBool isDownloadComplete;
+            // Storing the Download Paused status
+            TBool isDownloadPaused;
+            // Storing the DownloadID/Transaction ID
+            TInt32 iDownloadId;
+            // FileName passed to Open the Source
+            HBufC* iFileName;
+            // Gateway Attached to this Source to talk to Browser
+            CDownloadGateway* iDownloadGateway;
+            // Transfer Rate monitor
+            CTransferRateMonitor* iMonitor;
+            // Current Size of the File in Bytes.
+            TUint iCurrentBytes;
+            // Is the Playback in Progressive Mode
+            TBool iProgressiveMode;
+        };
+    } // namespace multimedia
+
+#endif // CLIENTAUDIOPROGDLSOURCE_H
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/DownloadGateway.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,273 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Implementation of DownloadGateway class.
+*
+*/
+
+
+#include "DownloadGateway.h"
+#include <e32std.h>
+
+#define RETURN_IF_ERROR(x) if(x != KErrNone) return x
+
+using namespace multimedia;
+
+// CONSTANTS
+CDownloadGateway::CDownloadGateway()
+    {
+    iDMgrConnected = EFalse;
+    iDownload = NULL;
+    iDownloadId = 0;
+    }
+
+CDownloadGateway::~CDownloadGateway()
+    {
+    if ( iDMgrConnected )
+        {
+        iDownloadMgr.Close();
+        }
+    }
+
+TInt CDownloadGateway::Initialize(TUid aClientUid)
+    {
+    TInt status(KErrNone);
+    if ( !iDMgrConnected )
+        {
+        TRAP(status,iDownloadMgr.ConnectL( aClientUid, *this, EFalse ));
+        if(!status)
+            {
+            iDMgrConnected = ETrue;
+            }
+        }
+    return status;
+    }
+
+TInt CDownloadGateway::MoveFile( TInt aId, const TDesC& aDestFileName )
+    {
+    TInt status(KErrNotFound);
+    // Check here if the download is complete and the Source is in Stopped State
+    if(iDownloadId == aId && iDownload)
+        {
+        status = iDownload->SetStringAttribute( EDlAttrDestFilename, aDestFileName );
+        if(!status)
+            {
+            iDownload->Move();
+            }
+        }
+    return status;
+    }
+
+TInt CDownloadGateway::ConnectToDownload(TInt aId, MDownloadGatewayObserver& aObserver, TUid /*aAppUid*/)
+    {
+    TInt status(KErrNotFound);
+    TRAP(status, iDownload = &(iDownloadMgr.AttachToDownloadL( aId )));
+    if(status == KErrNone)
+    	{
+	    iObserver = &aObserver;
+	    iDownloadId = aId;
+    	}
+	else
+		{
+		iDownload = NULL;	
+		}    	
+    return status;
+    }
+
+TInt CDownloadGateway::DisconnectFromDownload(TInt aId)
+    {
+    TInt status(KErrNotFound);
+    if(iDownloadId == aId && iDownload)
+        {
+        iDownload = NULL;
+        iDownloadId = 0;
+        status = KErrNone;
+        }
+    return status;
+    }
+
+TInt CDownloadGateway::GetMimeType(TInt aId, TDes8& aMimeType)
+    {
+    TInt status(KErrNotFound);
+    if(iDownloadId == aId && iDownload)
+        {
+        status = iDownload->GetStringAttribute( EDlAttrContentType, aMimeType  );
+        }
+    return status;
+    }
+
+TInt CDownloadGateway::GetCurrentSize(  TInt aId, TUint& aSize )
+    {
+    TInt status(KErrNotFound);
+    TInt32 value(0);
+    if(iDownloadId == aId && iDownload)
+        {
+         status = iDownload->GetIntAttribute( EDlAttrDownloadedSize, value );
+         if(!status)
+            {
+            aSize = value;
+            }
+        }
+    return status;
+    }
+
+TInt CDownloadGateway::GetDownloadSize( TInt aId, TUint& aSize )
+    {
+    TInt status(KErrNotFound);
+    TInt32 value(0);
+    if(iDownloadId == aId && iDownload)
+        {
+        status = iDownload->GetIntAttribute( EDlAttrLength, value );
+        if(status == KErrNone)
+            {
+            aSize = value;
+            }
+        }
+    return status;
+    }
+
+TInt CDownloadGateway::GetDownloadStatus(TInt aId, MProgDLSource::TDownloadStatus& aStatus)
+    {
+    TInt status(KErrNotFound);
+    if(iDownloadId == aId && iDownload)
+        {
+        aStatus = iDownloadStatus;
+        }
+    return status;
+    }
+
+TInt CDownloadGateway::DeleteDownload(TInt aId)
+    {
+    TInt status(KErrNotFound);
+    if(iDownloadId == aId && iDownload)
+        {
+        status = iDownload->Delete();
+        }
+    return status;
+    }
+
+TInt CDownloadGateway::ResumeDownload(TInt aId)
+    {
+    TInt status(KErrNotFound);
+    if(iDownloadId == aId && iDownload)
+        {
+        status = iDownload->Start();
+        }
+    return status;
+    }
+
+TInt CDownloadGateway::SetProgressiveMode(TInt aId, TBool aMode)
+    {
+    TInt status(KErrNotFound);
+    if(iDownloadId == aId && iDownloadStatus != MProgDLSource::EDeleted && iDownload)
+        {
+        status = iDownload->SetBoolAttribute( EDlAttrProgressive, aMode );
+        }
+    return status;
+    }
+
+TInt CDownloadGateway::SetLocalFileName( TInt aId, TDesC& aFilName )
+    {
+    TInt status(KErrNotFound);
+    if( iDownloadId == aId  && iDownload)
+        {
+        status = iDownload->SetStringAttribute( EDlAttrLocalFileName, aFilName );
+        }
+    return status;
+    }
+
+TInt CDownloadGateway::GetLocalFileName( TInt aId, TDes& aFileName )
+    {
+    TInt status(KErrNotFound);
+    if( iDownloadId == aId  && iDownload)
+        {
+        status = iDownload->GetStringAttribute( EDlAttrDestFilename, aFileName );
+        }
+    return status;
+    }
+
+void CDownloadGateway::HandleDMgrEventL( RHttpDownload& /*aDownload*/, THttpDownloadEvent aEvent )
+    {
+#ifdef _DEBUG
+        RDebug::Print(_L("CDownloadGateway::HandleDMgrEventL DownloadState[%d] ProgressState[%d]"),aEvent.iDownloadState,aEvent.iProgressState);
+#endif        
+        MProgDLSource::TDownloadStatus status;
+
+        // When the new evnet is different in one of the states 
+        // then the current event 
+        if(iPrevEvent.iDownloadState != aEvent.iDownloadState)
+            {
+                switch(aEvent.iDownloadState)
+                {
+                    case EHttpDlCreated:
+                            status = MProgDLSource::EConnecting;
+                            break;
+                    case EHttpDlInprogress:
+                            status = MProgDLSource::EStarted;
+                            break;
+                    case EHttpDlPaused:
+                            status = MProgDLSource::EPaused;
+                            break;
+                    case EHttpDlCompleted:
+                            status = MProgDLSource::ECompleted;
+                            break;
+                    case EHttpDlFailed:
+                            status = MProgDLSource::EFailed;
+                            break;
+                    case EHttpDlDeleting:
+                            status = MProgDLSource::EDeleted;
+                            break;                        
+                    default:
+                            status = MProgDLSource::EUnknown;
+                            break;
+                };
+                
+                iDownloadStatus = status;
+                iObserver->Event(status);
+            }
+        
+        if(iPrevEvent.iProgressState != aEvent.iProgressState)
+            {
+                switch(aEvent.iProgressState)
+                {
+                    
+                    case EHttpProgContentFileMoved:
+                            {
+                            TInt32 value(0);
+                            TInt err = iDownload->GetIntAttribute( EDlAttrErrorId, value );
+#ifdef _DEBUG
+                            RDebug::Print(_L("Delete File Code 2[%d][%d]"),err,value);
+#endif                            
+                            if(!err)
+                                {
+                                iObserver->MoveFileComplete(value);
+                                }
+                            }
+                            break;
+                   case EHttpProgCodLoadEnd:
+                            // Case for COD download complete
+                            iDownloadStatus = MProgDLSource::ECompleted;
+                            iObserver->Event(MProgDLSource::ECompleted);
+                            break;
+                    case EHttpProgContentFileMovedAndDestFNChanged:
+                            {
+                            iObserver->MoveFileComplete(KErrAlreadyExists);
+                            break;
+                            }
+                };
+            }
+        
+        iPrevEvent = aEvent;
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/DownloadGateway.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,182 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Header of DownloadGateway class.
+*
+*/
+
+
+#ifndef DOWNLOADGATEWAY_H
+#define DOWNLOADGATEWAY_H
+
+#include <e32base.h>
+#include <downloadmgrclientapiext.h>
+#include <ProgDLSource.h>
+
+namespace multimedia
+    {
+    
+    /**
+     *  Observer that sends browser events to the Client
+     *  @lib EnhancedMediaClient.lib
+     *  @since S60 v3.2
+     */    
+    class MDownloadGatewayObserver
+        {
+        public:
+            virtual void Event(MProgDLSource::TDownloadStatus aStatus) = 0;
+            virtual void MoveFileComplete(TInt aError) = 0;
+        };
+
+    /**
+    *  Implements the Gateway from which the Clients talk to the DownloadMgr.
+    *  Provides functionality to the Clients to query attributes
+    *  from the Browser
+    *  @lib EnhancedMediaClient.lib
+    *  @since S60 v3.2
+    */    
+    class CDownloadGateway : public MHttpDownloadMgrObserver
+        {
+        public:
+            /**
+            * Function to Create the Object.
+            */
+            CDownloadGateway();
+            /**
+            * Destructor.
+            */
+            ~CDownloadGateway();
+
+            /**
+            * Initialize the Gateway with the Client UID.
+            * Here it connect to the DownloadMgr Server.
+            * @since S60 v3.2
+            * @param aClientUid Client which wants to connect.             
+            */            
+            TInt Initialize(TUid aClientUid);
+            /**
+            * Calls Move on the DownloadMgr for the TransactionID
+            * @since S60 v3.2
+            * @param aId TransactionID for which the File has to be moved.             
+            * @param aDestFileName Full Pathname where the file needs to be moved.             
+            */            
+            TInt MoveFile( TInt aId, const TDesC& aDestFileName );
+            /**
+            * Called by the Client which wants to Connect to the Download
+            * @since S60 v3.2
+            * @param aId TransactionID for which the File has to be moved.             
+            * @param aObserver Observer where the Client wants the Callbacks             
+            * @param aAppUid UID for the App which Connects.             
+            */            
+            TInt ConnectToDownload(TInt aId, MDownloadGatewayObserver& aObserver, TUid aAppUid);
+            /**
+            * Disconnect from the Download
+            * Here it connect to the DownloadMgr Server.
+            * @since S60 v3.2
+            * @param aId DownloadID from which the Client wants to Disconnect.             
+            */            
+            TInt DisconnectFromDownload(TInt aId);
+            /**
+            * Gets the Current Downloaded Size of the Download
+            * @since S60 v3.2
+            * @param aId TransactionID of the Download which the FileSize is queried.             
+            * @param aSize Size of the Download returned             
+            */            
+            TInt GetCurrentSize(  TInt aId, TUint& aSize );
+            /**
+            * Total Size of the File which is being downloaded
+            * Here it connect to the DownloadMgr Server.
+            * @since S60 v3.2
+            * @param aId TransactionID of the Download which the FileSize is queried.             
+            * @param aSize Total Size of the File being Downloaded returned             
+            */            
+            TInt GetDownloadSize( TInt aId, TUint& aSize );
+            /**
+            * Gets the Download Status for a particular Download
+            * @since S60 v3.2
+            * @param aId TransactionID of the Download which the FileSize is queried.             
+            * @param aStatus Download Status for the Download           
+            */            
+            TInt GetDownloadStatus(TInt aTxId, MProgDLSource::TDownloadStatus& aStatus);
+            /**
+            * Cancelling a Particular Download
+            * @since S60 v3.2
+            * @param aId TransactionID of the Download to be deleted             
+            */            
+            TInt DeleteDownload(TInt aId);
+            /**
+            * Resuming a Paused Download
+            * @since S60 v3.2
+            * @param aId TransactionID of the Download to be Resumed
+            */            
+            TInt ResumeDownload(TInt aId);
+            /**
+            * Queries the MimeType of the File from the DownloadMgr
+            * @since S60 v3.2
+            * @param aId TransactionID of the Download to be queried
+            * @param aMimeType MimeType returned from the Browser.           
+            */            
+            TInt GetMimeType(TInt aId, TDes8& aMimeType);
+            /**
+            * Tells the Browser if the Download is being Progressively Played
+            * @since S60 v3.2
+            * @param aId TransactionID of the Dowload to be Resumed
+            * @param aMode Whether the Mode is True or False.            
+            */            
+            TInt SetProgressiveMode(TInt aId, TBool aMode);
+            /**
+            * Before Calling Move we need to Call this to set the Local FileName
+            * @since S60 v3.2
+            * @param aId TransactionID of the Dowload for setting the FileName
+            * @param aFileName Name to be Set
+            */            
+            TInt SetLocalFileName( TInt aId, TDesC& aFileName );
+            /**
+            * Gets the Local FileName from the DownloadMgr
+            * @since S60 v3.2
+            * @param aId TransactionID of the Dowload to be Resumed
+            * @param aFileName Gets the FileName from the DownloadMgr
+            */            
+            TInt GetLocalFileName(TInt aId, TDes& aFileName );
+            // From MhttpDownloadMgrObserver
+            /**
+            * From MhttpDownloadMgrObserver.
+            * Callback from the DownloadManager notifying Client Events.
+            * @since S60 v3.2
+            * @param aDownload Download for which the Event is meant             
+            * @param aEvent Actual Event             
+            */            
+            void HandleDMgrEventL( RHttpDownload& aDownload, THttpDownloadEvent aEvent );
+            // MhttpDownloadMgrObserver Ends
+
+        private:
+            // The Observer where we need to forward the Browser events
+            MDownloadGatewayObserver* iObserver;
+            // Download Manager instance to which we connect
+            RHttpDownloadMgrApiExt  iDownloadMgr;
+            // Download for which we connect
+            RHttpDownload* iDownload;
+            // Status if we are connected
+            TBool iDMgrConnected;
+            // Previous DLMgr Event
+            THttpDownloadEvent iPrevEvent;
+            // Current Download ID
+            TInt iDownloadId;
+            // Current Download Status
+            MProgDLSource::TDownloadStatus iDownloadStatus;
+        };
+    } // namespace multimedia
+
+#endif // DOWNLOADGATEWAY_H
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/EventAO.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Implementation of EventAO class.
+*
+*/
+
+
+#include "EventAO.h"
+
+using namespace multimedia;
+
+CEventAO::CEventAO(MSourceStateObserver& aObserver )
+: CActive(CActive::EPriorityStandard),
+iObserver(aObserver),
+iError(KErrNone)
+    {
+    CActiveScheduler::Add(this);
+    }
+
+CEventAO::~CEventAO()
+    {
+    Cancel();
+    }
+
+CEventAO* CEventAO::NewL( MSourceStateObserver& aObserver )
+    {
+    CEventAO* self = new (ELeave)CEventAO( aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+void CEventAO::ConstructL()
+    {
+    }
+
+void CEventAO::SetActive()
+    {
+    if (!IsActive())
+        {
+        CActive::SetActive();
+        }
+    }
+
+TInt CEventAO::Error()
+    {
+    return iError;
+    }
+
+// From CActive
+void CEventAO::RunL()
+    {
+    // Save the error code
+    iError = iStatus.Int();
+    // Signal the observer that this request is serviced
+    iObserver.SourceStateChanged();
+    }
+
+void CEventAO::DoCancel()
+    {
+    if(iStatus.Int() != 0)
+        {
+        TRequestStatus* status = &iStatus;
+        User::RequestComplete(status,KErrCancel);
+        }
+    }
+
+TInt CEventAO::RunError( TInt /*aError*/ )
+    {
+    return KErrNone;
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/EventAO.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  header of EventAO class.
+*
+*/
+
+
+#ifndef C_CEVENTAO_H
+#define C_CEVENTAO_H
+
+//  INCLUDES
+#include <e32base.h>
+
+namespace multimedia
+    {
+    
+    // Observer
+    /**
+     *  Observer that monitors the Source State changes
+     *  @lib EnhancedMediaClient.lib
+     *  @since S60 v3.2
+     */    
+    class MSourceStateObserver
+        {
+        public:
+            virtual void SourceStateChanged() = 0;
+        };
+    
+    /**
+     *  Active Object that monitors the Source State Change
+     *  Event from the Source Side
+     *  @lib EnhancedMediaClient.lib
+     *  @since S60 v3.2
+     */    
+   class CEventAO : public CActive
+        {
+        public:  // Constructors and destructor
+            /**
+             * Function to Create the Object.
+             * @param aObserver Observer to callback the Event.
+             */
+            static CEventAO* NewL(MSourceStateObserver& aObserver);
+            /**
+            * Destructor.
+            */
+            virtual ~CEventAO();
+            
+            /**
+             * From CActive.
+             * Indicates that this active object has issued a
+             * request and that it is now outstanding 
+             *
+             * @since S60 v3.2
+             */            
+            void SetActive();
+
+            /**
+             * From CEventAO.
+             * Returns the Error Stoted on Completion of the Request
+             *
+             * @since S60 v3.2
+             */            
+            TInt Error();
+            
+        protected:
+            // From CActive
+            void RunL();
+            void DoCancel();
+            TInt RunError( TInt aError );
+            
+        private:
+            CEventAO( MSourceStateObserver& aObserver );
+            void ConstructL();
+            
+        private:
+            /**
+            * Observer stored to Callback
+            */
+            MSourceStateObserver& iObserver;
+            /**
+            * Error Stored upon Request Completion
+            */
+            TInt iError;
+        };
+    
+    } // namespace multimedia
+
+#endif // C_CEVENTAO_H
+
+// End of File
--- a/mmfenh/enhancedmediaclient/Client/src/Components/ControlFactory/ControlFactoryImpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/ControlFactory/ControlFactoryImpl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -24,9 +24,11 @@
 #include "ControlFactoryImpl.h"
 #include "ClientStreamControl.h"
 #include "ClientDataBufferSource.h"
+#include "ClientProgDLSource.h"
 #include "ClientFileSource.h"
 #include "ClientDescriptorSource.h"
 #include "ClientDataBuffer.h"
+#include "DownloadGateway.h"
 #include "VolumeEffectImpl.h"
 #include "BalanceEffectImpl.h"
 #include "CMMFAudioOutputSink.h"
@@ -64,10 +66,19 @@
 void CMultimediaFactoryImpl::ConstructL()
     {
     // No impl
+    if(iGateway)
+        {
+        delete iGateway;
+        iGateway = NULL;        
+        }    
     }
 
 CMultimediaFactoryImpl::~CMultimediaFactoryImpl()
     {
+    if(iGateway)
+        {
+        delete iGateway;
+        }
     }
     
 TInt CMultimediaFactoryImpl::CreateStreamControl( TUid aType, MStreamControl*& aControl )
@@ -129,6 +140,39 @@
             }
         }
     
+    if(aType == KProgDLSourceControl)
+        {
+        if(!iGateway)
+            {
+            iGateway = new CDownloadGateway;
+            TInt status = iGateway->Initialize(TUid::Uid(0));
+            if(status != KErrNone)
+                {
+                return status;    
+                }
+            }
+            
+        CClientProgDLSource* srcControl = new CClientProgDLSource;
+        if ( !srcControl )
+            {
+            status = KErrNoMemory;
+            }
+        else
+            {
+            status = srcControl->PostConstructor();
+            }
+
+        if ( status == KErrNone )
+            {
+            srcControl->SetDownloadGateway(iGateway);
+            aControl = srcControl;
+            }
+        else
+            {
+            delete srcControl;
+            }
+        }
+    
     if(aType == KFileSourceControl)
         {
         CClientFileSource* srcControl = new CClientFileSource;
--- a/mmfenh/enhancedmediaclient/Client/src/Components/ControlFactory/ControlFactoryImpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/ControlFactory/ControlFactoryImpl.h	Wed Sep 01 12:23:00 2010 +0100
@@ -30,6 +30,7 @@
     class MDataBuffer;
     class MSinkControl;
     class CMultimediaFactoryImpl;
+    class CDownloadGateway;
     
     /**
     *  Implements the MultimediaFactor Implementation
@@ -130,6 +131,10 @@
             CMultimediaFactoryImpl();
             void ConstructL();
                 
+        private:
+            // Pointer to the Download Gateway.
+            CDownloadGateway* iGateway;
+                        
         };
     } // namespace multimedia
 
--- a/mmfenh/enhancedmediaclient/Client/src/Components/StreamControl/ClientStreamControl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/StreamControl/ClientStreamControl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -22,6 +22,7 @@
 #include <EffectControl.h>
 #include <SinkControl.h>
 #include <SourceControl.h>
+#include <ProgDLSource.h>
 #include <FileSource.h>
 #include <DescriptorSource.h>
 #include <SCCustomInterfaceUIDs.h>
@@ -777,6 +778,53 @@
                 }
             }
         }
+    else
+        if (iSourceControl->Type() == KProgDLSourceControl)
+            {
+            MProgDLSource* progDLSource =
+                    static_cast<MProgDLSource*>(iSourceControl);
+            HBufC* fileName = HBufC::NewLC(KMaxPath);
+            TPtr fileNamePtr = fileName->Des();
+
+            TInt err = progDLSource->FileName(fileNamePtr);
+
+            HBufC8* mimeType = HBufC8::NewLC(KMaxMimeLength);
+            TPtr8 mimeTypePtr = mimeType->Des();
+
+            status = iSourceControl->GetMimeType(mimeTypePtr);
+
+            iFindAndOpenController->ConfigureSourceSink(
+                    TMMFileSource(fileNamePtr,
+                            ContentAccess::KDefaultContentObject,
+                            ContentAccess::EPlay),
+                    CMMFFindAndOpenController::TSourceSink(/*KUidMmfAudioOutput*/sinkUID/*,fileHandle*/));
+
+            TMMFileSource source(fileNamePtr,
+                    ContentAccess::KDefaultContentObject,
+                    ContentAccess::EPlay);
+
+            // This Flag is defined so that if the Helix Controller Supports
+            // the playback of Local Media for WMA, then the Progressive Download
+            //  for WMA still goes through the Old WMA Controller( AdvancedAudioController)
+            // We are launching the Old WMA Controller using the UID.                
+
+#ifdef __WINDOWS_MEDIA        
+#ifndef RD_PD_FOR_AUDIO_CONTENT_VIA_HELIX_ENGINE       
+            if(!mimeTypePtr.Compare(KWMAMimeType()))
+                {
+                iFindAndOpenController->OpenByControllerUid(TUid::Uid(0x10207A9B),KNullUid);
+                }
+            else
+#endif        
+#endif
+                {
+                iFindAndOpenController->OpenByFileSource(source);
+                }
+
+            CleanupStack::PopAndDestroy(mimeType); // mimeType
+            CleanupStack::PopAndDestroy(fileName); // fileName
+            //fileHandle.Close();
+            }
 
     if (iSourceControl->Type() == KFileSourceControl)
         {
--- a/mmfenh/enhancedmediaclient/Client/src/Components/StreamControl/ClientUtility.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/StreamControl/ClientUtility.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  Definition of the ClientUtility class.
-*  Version     : %version: 12 %
+*  Version     : %version: bh1mmcf#12 %
 *
 */
 
@@ -27,6 +27,7 @@
 #include <StreamControlCustomCommands.h>
 #include <mmf/server/mmfdrmpluginserverproxy.h>
 #include "../../../Plugins/FileSource/inc/FileDataSourceUid.hrh"
+#include "../../../Plugins/ProgDLSource/inc/ProgDLSourceUid.hrh"
 using namespace ContentAccess;
 using namespace multimedia;
 
@@ -2295,7 +2296,7 @@
     //need to proceed only in case of local playback mode
     TUid sourceUid = iCurrentConfig->iSource->SourceSinkUid();
     TBool localPlaybackMode;
-	if( mode == EPlayback && ( sourceUid.iUid == KFileDataSourcePlugin ) )
+	if( mode == EPlayback && ( sourceUid.iUid == KFileDataSourcePlugin || sourceUid.iUid == KMmfProgDLSourceUid ) )
 		{
 		localPlaybackMode = ETrue;
 		}
@@ -2324,7 +2325,7 @@
         }
     else if(iFileName.Length() != 0)  //need to check if file name exist
         {
-        TRAP(error, content = ContentAccess::CContent::NewL(iFileName));
+        TRAP(error, content = ContentAccess::CContent::NewL(iFileName,EContentShareReadWrite));
         if(error == KErrPermissionDenied)
             {
             aIsSecureDrmProcess = ETrue;
--- a/mmfenh/enhancedmediaclient/Plugins/FileSource/group/FileSource.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Plugins/FileSource/group/FileSource.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -58,6 +58,7 @@
 LIBRARY         mmfserverbaseclasses.lib
 LIBRARY         caf.lib
 LIBRARY	        cafutils.lib
+LIBRARY         TransferRateMonitor.lib
 LIBRARY         centralrepository.lib
 
 DEFFILE         FileSource.def
--- a/mmfenh/enhancedmediaclient/Plugins/MultimediaDataSource/DataSourceFactory/group/MultimediaDataSourceFactory.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Plugins/MultimediaDataSource/DataSourceFactory/group/MultimediaDataSourceFactory.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -31,6 +31,7 @@
 
 USERINCLUDE     ../inc
 USERINCLUDE	    ../../../../../../inc
+USERINCLUDE     ../../../ProgDLSource/inc
 USERINCLUDE     ../../../MultimediaDataSource/inc
 USERINCLUDE     ../../../DataBufferSource/inc
 USERINCLUDE     ../../../FileSource/inc
@@ -51,6 +52,7 @@
 LIBRARY         DataBufferSource.lib
 LIBRARY         DescriptorDataSource.lib
 LIBRARY         FileSource.lib
+LIBRARY         ProgDLSource.lib
 
 DEFFILE         MMDataSourceFactory.def
 NOSTRICTDEF
--- a/mmfenh/enhancedmediaclient/Plugins/MultimediaDataSource/DataSourceFactory/src/MultimediaDataSourceFactory.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Plugins/MultimediaDataSource/DataSourceFactory/src/MultimediaDataSourceFactory.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -18,7 +18,9 @@
 
 #include <MultimediaDataSourceFactory.h>
 #include "DataBufferSourceUid.h"
+#include "ProgDLSourceUid.h"
 #include "DataBufferDataSource.h"
+#include "ProgDLMultimediaSource.h"  
 #include "FileDataSource.h"
 #include "DescriptorDataSource.h"
 #include "CacheSource.h"
@@ -37,6 +39,10 @@
         {
         TRAP(status,aMultimediaDataSource  = CDataBufferMultimediaSource::NewL(aMDataSource));
         }
+    else if ( aMDataSource.DataSourceType() == KMmfProgDLSource )
+        {
+        TRAP(status,aMultimediaDataSource  = CProgDLMultimediaSource::NewL(aMDataSource));
+        }        
     else if ( aMDataSource.DataSourceType() == KFileDataSourcePlugin )
         {
         TRAP(status,aMultimediaDataSource  = CFileMultimediaSource::NewL(aMDataSource));
@@ -65,6 +71,15 @@
         	TRAP(status,aMultimediaDataSource = CCacheSource::NewL(dataBufferSource,config));
         	}
         } 
+    else if ( aMDataSource.DataSourceType() == KMmfProgDLSource )
+        {
+        aMultimediaDataSource  = CProgDLMultimediaSource::NewL(aMDataSource);
+        TRAP(status,config =  CDataSourceConfigIntfcImpl::NewL());           
+		if(status == KErrNone)	        
+	        {
+        	aDataSourceConfigIntfc = config;
+	        }
+        } 
     return status;
     }
 // End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/bwins/ProgDLSource.def	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,4 @@
+EXPORTS
+	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
+	?NewL@CProgDLMultimediaSource@@SAPAV1@AAVMDataSource@@@Z @ 2 NONAME ; class CProgDLMultimediaSource * CProgDLMultimediaSource::NewL(class MDataSource &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/data/10207B45.rss	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 1020 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Resource file of ProgDLSource.
+*
+*/
+
+
+#include "ProgDLSourceUid.hrh"
+#include <mmfplugininterfaceuids.hrh>
+#include <registryinfo.rh>
+
+
+RESOURCE REGISTRY_INFO theInfo
+    {
+    dll_uid = 0x10207B45; //The DLL's 3rd UID.
+    interfaces = 
+        {
+        INTERFACE_INFO
+            {
+            interface_uid = KMmfUidPluginInterfaceDataSource; //ECOM UID for a Transport Adapter plug-in
+            implementations = 
+                {
+                // This DLL contains only a single adapter implementation.
+                IMPLEMENTATION_INFO
+                    {
+                    implementation_uid = KMmfProgDLSourceUid; //UID for this Adapter
+                    version_no = 1;
+                    display_name = "Progressive Download Source"; //Human readable string for UI purposes.
+                    default_data = ""; //Not used.
+                    opaque_data = ""; //Not used.
+                    }
+                };
+            }
+        };
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/eabi/ProgDLSource.def	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,18 @@
+EXPORTS
+	_Z24ImplementationGroupProxyRi @ 1 NONAME
+	_ZN23CProgDLMultimediaSource4NewLER11MDataSource @ 2 NONAME
+	_ZTI12CContentFile @ 3 NONAME ; #<TI>#
+	_ZTI12CReadRequest @ 4 NONAME ; #<TI>#
+	_ZTI13CProgDLSource @ 5 NONAME ; #<TI>#
+	_ZTI14CSinkQueueItem @ 6 NONAME ; #<TI>#
+	_ZTI17CReadWriteRequest @ 7 NONAME ; #<TI>#
+	_ZTI23CProgDLMultimediaSource @ 8 NONAME ; #<TI>#
+	_ZTI8CF32File @ 9 NONAME ; #<TI>#
+	_ZTV12CContentFile @ 10 NONAME ; #<VT>#
+	_ZTV12CReadRequest @ 11 NONAME ; #<VT>#
+	_ZTV13CProgDLSource @ 12 NONAME ; #<VT>#
+	_ZTV14CSinkQueueItem @ 13 NONAME ; #<VT>#
+	_ZTV17CReadWriteRequest @ 14 NONAME ; #<VT>#
+	_ZTV23CProgDLMultimediaSource @ 15 NONAME ; #<VT>#
+	_ZTV8CF32File @ 16 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/group/ProgDLSource.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project file for EnhancedMediaClient Utility
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          ProgDLSource.dll
+TARGETTYPE      PLUGIN
+UID             0x10009D8D 0x10207B45
+
+CAPABILITY      CAP_ECOM_PLUGIN
+VENDORID        VID_DEFAULT
+
+TARGETPATH      /System/Libs/Plugins
+
+USERINCLUDE     ../inc
+USERINCLUDE      ../src
+USERINCLUDE	    ../../../../../inc
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/ecom
+SYSTEMINCLUDE   /epoc32/include/mmf/common
+SYSTEMINCLUDE   /epoc32/include/mmf/server
+
+SOURCEPATH      ../src
+
+SOURCE          Main.cpp
+SOURCE          fileaccess.cpp
+SOURCE          ProgDLSource.cpp
+SOURCE          SinkQueueItem.cpp
+
+SOURCEPATH      ../data
+
+START RESOURCE  10207B45.rss
+TARGET ProgDLSource.rsc
+END
+
+LIBRARY         euser.lib 
+LIBRARY         ecom.lib
+LIBRARY         efsrv.lib
+LIBRARY         mmfcontrollerframework.lib
+LIBRARY         estor.lib
+LIBRARY         mmfserverbaseclasses.lib
+LIBRARY         caf.lib
+LIBRARY	        cafutils.lib
+LIBRARY         TransferRateMonitor.lib
+LIBRARY         centralrepository.lib
+
+DEFFILE         ProgDLSource.def
+NOSTRICTDEF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Blf.inf file for the ProgDLSource Project
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+ProgDLSource.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/MmfFile.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,275 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Header of ProgDLSource.
+*
+*/
+
+#ifndef __MMFFILE_H_
+#define __MMFFILE_H_
+
+#include <f32file.h>
+
+#include <mmf/server/mmfclip.h>
+#include <mmf/server/mmfdatabuffer.h>
+#include <mmf/common/mmcaf.h>
+
+class CReadWriteRequest;
+class CTransferBufferCopy;
+class MGenericFile;
+
+/**
+@publishedAll
+@released
+
+  Provides the filename and path of file. 
+  
+    Used by CMMFFile::ConstructL().
+*/
+class TMMFFileParams
+    {
+    public:
+    /**
+    Filename and path of file. 
+        */
+        TFileName iPath ; // Filename and path of file.
+    private:
+    /**
+    This member is internal and not intended for use.
+        */
+        TInt iReserved1;
+    };
+
+    /**
+    @internalTechnology	
+*/
+const TUid KFileHandleUid = {0x101FFA19};
+const TUid KMMFileSourceUid = {0x101F7DA9};
+const TUid KMMFileHandleSourceUid = {0x101F7DAA};
+
+/**
+@publishedAll
+@released
+
+  Provides a pointer to the file handle 
+  
+    Used by CMMFFile::ConstructL().
+*/
+class TMMFFileHandleParams
+    {
+    public:
+        TMMFFileHandleParams(RFile* aFile) : iUid(KFileHandleUid), iFile(aFile) {}
+        TMMFFileHandleParams() : iUid(KFileHandleUid) {}
+        
+        TUid iUid;
+        /**
+        Handle of file 
+        */
+        RFile* iFile;
+    private:
+    /**
+    This member is internal and not intended for use.
+        */
+        TInt iReserved1;
+    };
+
+
+
+
+    /**
+    @publishedAll
+    @released
+*/
+typedef TPckgBuf<TMMFFileParams>  TMMFFileConfig ;
+
+/**
+@publishedAll
+@released
+*/
+typedef TPckgBuf<TMMFFileHandleParams>  TMMFFileHandleConfig ;
+
+
+/**
+@publishedAll
+@released
+
+  This details how big the iTransferBufferCopies array of CMMFFile may
+  become before we start looking to free entries.
+*/
+const TInt KAcceptableTransferBufferCopiesSize = 5;
+
+/**
+@publishedAll
+@released
+
+  This details how big the iTransferBufferCopies array of CMMFFile may
+  become before we start looking to free entries.
+*/
+const TInt KMaximumTransferBufferCopiesSize = 100;
+
+
+/**
+@publishedAll
+@released
+
+  MultiMedia framework class.  Represents a physical file.
+  
+    This may be source file from which data is read or destination to which data is written.
+    
+      Intended to be used by controller plugin developers for source and sink plugins.
+*/
+class CMMFFile : public CMMFClip
+    {
+    public:
+        // From MDataSource
+        virtual TFourCC SourceDataTypeCode(TMediaId aMediaId) ;
+        virtual void FillBufferL( CMMFBuffer* aBuffer, MDataSink* aConsumer, TMediaId aMediaId ) ;
+        virtual void BufferEmptiedL( CMMFBuffer* aBuffer ) ;
+        virtual TBool CanCreateSourceBuffer() ;
+        virtual CMMFBuffer* CreateSourceBufferL( TMediaId aMediaId, TBool &aReference ) ;
+        virtual TInt SourceThreadLogon(MAsyncEventHandler& aEventHandler) ;
+        virtual void SourceThreadLogoff();
+        virtual void SourcePrimeL();
+        virtual void SourceStopL();
+        
+        // From MDataSink
+        virtual TFourCC SinkDataTypeCode(TMediaId aMediaId) ; //used by data path MDataSource/Sink for codec matching
+        virtual void EmptyBufferL( CMMFBuffer* aBuffer, MDataSource* aSupplier, TMediaId aMediaId ) ;
+        virtual void BufferFilledL( CMMFBuffer* aBuffer ) ;
+        virtual TBool CanCreateSinkBuffer() ;
+        virtual CMMFBuffer* CreateSinkBufferL( TMediaId aMediaId , TBool &aReference) ;
+        virtual TInt SinkThreadLogon(MAsyncEventHandler& aEventHandler) ;
+        virtual void SinkThreadLogoff();
+        virtual void SinkPrimeL();
+        virtual void SinkStopL();
+        
+        // From CMMFClip
+        virtual void ReadBufferL( TInt aLength, CMMFBuffer* aBuffer, TInt aPosition, MDataSink* aConsumer);
+        virtual void WriteBufferL( TInt aLength, CMMFBuffer* aBuffer, TInt aPosition, MDataSource* aSupplier);
+        virtual void ReadBufferL( CMMFBuffer* aBuffer, TInt aPosition, MDataSink* aConsumer) ;
+        virtual void WriteBufferL( CMMFBuffer* aBuffer, TInt aPosition, MDataSource* aSupplier) ;
+        virtual void ReadBufferL( CMMFBuffer* aBuffer, TInt aPosition ) ;
+        virtual void WriteBufferL( CMMFBuffer* aBuffer, TInt aPosition ) ;
+        virtual TInt64 BytesFree() ;  // amount of space available for the clip
+        virtual TInt Size() ;
+        virtual TInt Delete();
+        virtual TInt SetSize(TInt aSize);
+        
+        // New Functions
+        virtual const TDesC& FileName() const ;
+        virtual const TDesC& Extension() const ;
+        virtual const TDesC& FilePath() const ;
+        virtual const TDesC& FileDrive() const ;
+        virtual const TFileName FullName() const;
+        virtual RFile& FileL() ;
+        
+    public :
+        virtual ~CMMFFile() ;
+        static MDataSource* NewSourceL() ;
+        static MDataSink* NewSinkL() ;
+        
+        void SetTransferBuffer (TBool aTBuffer) ;
+        TBool CanUseTransferBuffer () ;
+        virtual TBool SinkStopped();
+        
+    protected:
+    /**
+    Indicates for which purpose the object instance is being created
+        */
+        enum TMMFileMode
+            {
+            /** The object is created for being a source */
+            ESourceMode,
+                /** The object is created for being a sink */
+                ESinkMode
+            };
+        virtual void ConstructSourceL( const TDesC8& aInitData ) ;
+        virtual void ConstructSinkL( const TDesC8& aInitData ) ;
+        void ConstructL(const TDesC8& aInitData, TMMFileMode aFileMode) ;
+        CMMFFile() ;
+        
+        void StoreRequestL( CReadWriteRequest* aRequest ) ;
+        void CancelRequests();
+        
+        
+        CTransferBufferCopy* ObtainCopyOfTransferBufferL(TInt aMaxLength);
+        
+    public:
+        // Additional virtuals for DRM Intent
+        virtual TInt ExecuteIntent(ContentAccess::TIntent aIntent);
+        virtual TInt EvaluateIntent(ContentAccess::TIntent aIntent) const;
+        virtual TBool IsProtectedL() const;
+        
+        virtual TInt SetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue); 
+        virtual const TDesC& UniqueId() const;
+        
+    private:
+        class CMMFFileAsyncEventHandler : public MAsyncEventHandler
+            {
+            public:
+                CMMFFileAsyncEventHandler(CMMFFile* aParent);
+                virtual ~CMMFFileAsyncEventHandler();
+            public:
+                virtual TInt SendEventToClient(const TMMFEvent& aEvent);
+            private:
+                CMMFFile* iParent;
+            };
+        
+        class CCAFParameters : public CBase
+            {
+            public:
+                CCAFParameters() : iUniqueId(NULL), iEnableUI(EFalse) {}
+                ~CCAFParameters() {	delete iUniqueId;	}
+            public:
+                HBufC* iUniqueId;
+                TBool iEnableUI;
+            };
+        
+            private:
+                MGenericFile* iFile;
+                RFs iFsSession;
+                
+                TBool iFileHandle;
+                RFile iHandle;
+                TBool iReserved;
+                
+                TBool iSinkNotStopped;
+                
+                TFileName iFullFileName ;
+                HBufC* iFileName ;
+                HBufC* iFileExt ;
+                HBufC* iFilePath ;
+                HBufC* iFileDrive ;
+                CCAFParameters* iCAFParameters;
+                TInt iFileSize; //holds the cached file size
+                
+                //Keeps track of the read position within the file. Needed in order to enable passing of the
+                //read position to the CReadRequest to manage the LastBuffer flag.
+                //NB: Continuous reads once EOF has been reached will result in iPosition going > iFileSize,
+                //but this causes no ill effects
+                TUint iPosition;
+                
+                TFourCC  iSinkFourCC ;
+                TFourCC  iSourceFourCC ;
+                
+                
+                RPointerArray<CReadWriteRequest> iRequests;
+                
+                MAsyncEventHandler *iEventHandler;
+                CMMFFileAsyncEventHandler* iMmfFileEventHandler;
+                
+                RPointerArray<CTransferBufferCopy> iTransferBufferCopies;
+                friend class CMMFFileAsyncEventHandler;
+    };
+    
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLDataSource.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Header of ProgDLSource.
+*
+*/
+
+
+#ifndef __PROGDLDATASOURCE_H_
+#define __PROGDLDATASOURCE_H_
+
+
+#include <mmf/server/mmfdatasource.h> 
+#include <MultimediaDataSource.h> 
+#include <DataBufferSource.h> 
+
+class CSinkQueueItem;
+using multimedia::TBufferingConfig;
+/**
+@publishedAll
+@released
+
+Provides the filename and path of file. 
+
+Used by CProgDLMultimediaSource::ConstructL().
+*/
+class TMMFFileParams
+    {
+    public:
+    /**
+    Filename and path of file. 
+        */
+        TFileName iPath ; // Filename and path of file.
+    private:
+    /**
+    This member is internal and not intended for use.
+        */
+        TInt iReserved1;
+    };
+
+    /**
+    @internalTechnology	
+*/
+const TUid KFileHandleUid = {0x101FFA19};
+const TUid KMMFileSourceUid = {0x101F7DA9};
+const TUid KMMFileHandleSourceUid = {0x101F7DAA};
+
+/**
+@publishedAll
+@released
+
+  Provides a pointer to the file handle 
+  
+    Used by CProgDLMultimediaSource::ConstructL().
+*/
+class TMMFFileHandleParams
+    {
+    public:
+        TMMFFileHandleParams(RFile* aFile) : iUid(KFileHandleUid), iFile(aFile) {}
+        TMMFFileHandleParams() : iUid(KFileHandleUid) {}
+        
+        TUid iUid;
+        /**
+        Handle of file 
+        */
+        RFile* iFile;
+    private:
+    /**
+    This member is internal and not intended for use.
+        */
+        TInt iReserved1;
+    };
+
+
+
+
+    /**
+    @publishedAll
+    @released
+*/
+typedef TPckgBuf<TMMFFileParams>  TMMFFileConfig ;
+
+/**
+@publishedAll
+@released
+*/
+typedef TPckgBuf<TMMFFileHandleParams>  TMMFFileHandleConfig ;
+
+
+/**
+@publishedAll
+@released
+
+  This details how big the iTransferBufferCopies array of CProgDLMultimediaSource may
+  become before we start looking to free entries.
+*/
+const TInt KAcceptableTransferBufferCopiesSize = 5;
+
+/**
+@publishedAll
+@released
+
+  This details how big the iTransferBufferCopies array of CProgDLMultimediaSource may
+  become before we start looking to free entries.
+*/
+const TInt KMaximumTransferBufferCopiesSize = 100;
+
+class CProgDLMultimediaSource;
+
+class CProgDLSource : public MDataSource
+    {
+    public:
+        static CProgDLSource* NewL( TUid aType );
+		~CProgDLSource(void);        
+        // From MDataSource begins
+        TFourCC SourceDataTypeCode(TMediaId aMediaId) ;
+        void FillBufferL( CMMFBuffer* aBuffer, MDataSink* aConsumer, TMediaId aMediaId ) ;
+        void BufferEmptiedL( CMMFBuffer* aBuffer ) ;
+        TBool CanCreateSourceBuffer() ;
+        CMMFBuffer* CreateSourceBufferL( TMediaId aMediaId, TBool &aReference ) ;
+        TInt SourceThreadLogon(MAsyncEventHandler& aEventHandler) ;
+        void SourceThreadLogoff();
+        void SourcePrimeL();
+        void SourcePlayL();
+        void SourceStopL();
+        void SourceCustomCommand(TMMFMessage& aMessage);
+        void ConstructSourceL(const TDesC8 &aInitData);
+        TUid DataSourceType() const;
+        TInt SetSourceDataTypeCode(TFourCC aSourceFourCC, TMediaId /*aMediaId*/ );
+         // From MDataSource ends
+        
+        void SetMultimediaSource(CProgDLMultimediaSource& aMultimediaSource);
+        TDesC8& GetInitData();
+    private:
+        CProgDLSource(TUid aType);
+        
+        void ConstructL (void);
+    private:
+        //Data
+        CProgDLMultimediaSource* iMultiMediaSource; 
+        HBufC8* iInitData;       
+ 
+    }; 
+    
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLMultimediaSource.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,223 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Header of ProgDLMultimediaSource.
+*
+*/
+
+
+
+
+#ifndef __PROGDLMULTIMEDIASOURCE_H_
+#define __PROGDLMULTIMEDIASOURCE_H_
+
+
+#include <centralrepository.h>  
+
+class CReadWriteRequest;
+class CTransferBufferCopy;
+class MGenericFile;
+
+
+
+
+/**
+@publishedAll
+@released
+
+MultiMedia framework class.  Represents a physical file.
+This may be source file from which data is read or destination to which data is written.
+Intended to be used by controller plugin developers for source and sink plugins.*/
+
+class CProgDLMultimediaSource : public CMultimediaDataSource
+    {
+    public:
+        // From MDataSource
+        IMPORT_C static CProgDLMultimediaSource* NewL(MDataSource& aDataSource);
+        
+        // From CMultimediaDataSource begins
+        TInt SetObserver( MMultimediaDataSourceObserver& aObserver );
+        TInt GetObserver( MMultimediaDataSourceObserver*& aObserver );
+        void Event( TUid aEvent );
+        TInt SetDataTypeCode(TFourCC aSourceFourCC );
+        TInt GetDataTypeCode(TFourCC& aSourceFourCC );
+        TInt GetSize( TUint& aSize );
+        TInt Open();
+        TInt Close();
+        TInt Prime();
+        TInt Play();
+        TInt Stop();
+        TInt FillBuffer( CMMFBuffer* aBuffer);
+        TInt Seek( TUint aPosInBytes );
+        TInt GetSeekingSupport( TBool& aSeekSupport );
+        TInt GetRandomSeekingSupport( TBool& aSeekSupport );
+        // From CMultimediaDataSource ends
+        
+        TInt GetDRMProtection( TBool& aIsProtected );
+        TInt EvaluateIntent( ContentAccess::TIntent aIntent );
+        TInt ExecuteIntent( ContentAccess::TIntent aIntent );
+        TInt SetAgentProperty( ContentAccess::TAgentProperty aProperty,
+            TInt aValue);
+        const TDesC& UniqueId() const;
+        // From MCustomInterface
+        TAny* CustomInterface( TUid aInterfaceUid );
+        void SourceCustomCommand(TMMFMessage& aMessage);
+
+        void FillBufferL( CMMFBuffer* aBuffer, MDataSink* aConsumer, TMediaId aMediaId ) ;
+        
+       
+    public :
+        virtual ~CProgDLMultimediaSource() ;
+        //	static MDataSource* NewSourceL(/*TUid aType*/) ;
+        
+        void SetTransferBuffer (TBool aTBuffer) ;
+        TBool CanUseTransferBuffer () ;
+        TInt ReadRequestStatus(CReadWriteRequest* aRequest,TRequestStatus& aStatus);
+        
+    protected:
+    /**
+    Indicates for which purpose the object instance is being created
+        */
+        enum TMMFileMode
+            {
+            /** The object is created for being a source */
+            ESourceMode,
+                /** The object is created for being a sink */
+                ESinkMode
+            };
+
+        void ConstructL(const TDesC8& aInitData, TMMFileMode aFileMode) ;
+        void ConstructL();
+        CProgDLMultimediaSource(MDataSource& aDataSource);
+        
+        void StoreRequestL( CReadWriteRequest* aRequest ) ;
+        void CancelRequests();
+        
+        TInt EmptySinkQueue();
+        CTransferBufferCopy* ObtainCopyOfTransferBufferL(TInt aMaxLength);
+        
+        // Calculate BufferedDataSize
+        void CalculateBufferedDataSize();
+        void StateChanged(TState newState);
+        
+        // A common function that implements FillBuffer requests
+        TInt AppendBufferToSinkQueue( CMMFBuffer* aBuffer,
+            MMultimediaDataSourceObserver* aObserver,
+            MDataSink* aConsumer,TBool aTop);
+
+        TInt ServiceFillBuffer();
+    private:
+        
+        // New Functions
+        const TDesC& FileName() const ;
+        const TDesC& Extension() const ;
+        const TDesC& FilePath() const ;
+        const TDesC& FileDrive() const ;
+        const TFileName FullName() const;
+        RFile& FileL() ;
+        
+    private:
+        class CProgDLMultimediaSourceAsyncEventHandler : public MAsyncEventHandler
+            {
+            public:
+                CProgDLMultimediaSourceAsyncEventHandler(CProgDLMultimediaSource* aParent);
+                virtual ~CProgDLMultimediaSourceAsyncEventHandler();
+            public:
+                virtual TInt SendEventToClient(const TMMFEvent& aEvent);
+            private:
+                CProgDLMultimediaSource* iParent;
+            };
+        
+        class CCAFParameters : public CBase
+            {
+            public:
+                CCAFParameters() : iUniqueId(NULL), iEnableUI(EFalse) {}
+                ~CCAFParameters() {	delete iUniqueId;	}
+            public:
+                HBufC* iUniqueId;
+                TBool iEnableUI;
+            };
+        
+        void GetAudioConfiguration();
+        TInt ReOpenCAF();
+        
+    private:
+        MGenericFile* iFile;
+        RFs iFsSession;
+        
+        TBool iFileHandle;
+        RFile iHandle;
+        TBool iReserved;
+        
+        TFileName iFullFileName ;
+        HBufC* iFileName ;
+        HBufC* iFileExt ;
+        HBufC* iFilePath ;
+        HBufC* iFileDrive ;
+        CCAFParameters* iCAFParameters;
+        
+        
+        
+        
+        
+        TFourCC  iSinkFourCC ;
+        TFourCC  iSourceFourCC ;
+        
+        // Queue of buffers from controller
+        TSglQue<CSinkQueueItem>* iSinkQueue;
+        //MDataSink* iConsumer;
+        // Sink item Counter
+        TInt iSnkItemsCount;
+        // Observer bit rate in bps
+        //Keeps track of the read position within the file. Needed in order to enable passing of the
+        //read position to the CReadRequest to manage the LastBuffer flag.
+        //NB: Continuous reads once EOF has been reached will result in iPosition going > iDLFileSize,
+        //but this causes no ill effects
+        TUint iSnkBytes;
+        
+        TInt iDownloadSize;
+        
+        // Transfer bit rate in bps
+        TUint   iTransferRate;  
+        
+        TUint   iObserverBitRate;
+        
+        // Buffering size in bytes
+        TUint   iBufferedDataSize;
+        
+        TInt iDLFileSize; //holds the cached file size
+        TMMFMessage* iMessage;
+        
+        MMultimediaDataSourceObserver* iObserver;
+        RPointerArray<CReadWriteRequest> iRequests;
+        
+        MAsyncEventHandler *iEventHandler;
+        
+        RPointerArray<CTransferBufferCopy> iTransferBufferCopies;
+        TBool   isDownloadComplete;
+        
+        TBool iReOpenCAF;
+        
+        TInt iFileSize;
+
+        // Pointer to the Preset Repository
+		CRepository* iAudioConfigRepository;
+        TBufferingConfig iPrimaryBufferingConfig;
+        TBufferingConfig iSecondaryBufferingConfig;
+        TUint iInitialBufferingPercentage;
+        TInt iReadRequestPending;
+        MDataSource* iParentDataSource;
+        HBufC8* iInitData;           
+    };
+    
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLSourceCustomCommands.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Definition of the S60 ProgDL custom command msg codes.
+*
+*/
+
+
+#ifndef PROGDLSOURCECUSTOMCOMMANDS_H
+#define PROGDLSOURCECUSTOMCOMMANDS_H
+
+enum TProgDLSourceCC
+    {
+        EDownloadRate = 1,
+        ESetDownloadSize,
+        ESetActualSize,
+        EGetSourceState,
+        ESetDownloadState,
+        EGetBitRate,
+        EGetPercentageBuffered,
+        ESetUpdateFileName,
+        ESetFileMoving
+    };
+
+#endif // PROGDLSOURCECUSTOMCOMMANDS_H
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLSourceUid.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Contains the SourceUid for ProgDL Source
+*
+*/
+
+
+#ifndef PROGDLSOURCEUID_H
+#define PROGDLSOURCEUID_H
+
+#include "ProgDLSourceUid.hrh"
+
+// This is the ECOM Interface UID for the streaming source and DataSourceType
+// for Streaming Data Source.
+
+const TUid KMmfProgDLSource = {KMmfProgDLSourceUid};
+
+#endif // PROGDLSOURCEUID_H
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLSourceUid.hrh	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Contains the SourceUid for ProgDL Source
+*
+*/
+
+
+#ifndef PROGDLSOURCEUID_HRH
+#define PROGDLSOURCEUID_HRH
+
+
+// These are the ECOM Interface UIDs for the prog dl source
+
+#define KMmfProgDLSourceUid                   0x10207B46
+
+#endif // PROGDLSOURCEUID_HRH
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/FileAccess.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Header of FileAccess Classes.
+*
+*/
+
+#ifndef __FILE_ACCESS_H__
+#define __FILE_ACCESS_H__
+
+#include <caf/content.h>
+#include <caf/data.h>
+#include <mmf/common/mmcaf.h>
+
+// Abstract class providing generic file access
+class MGenericFile
+    {
+    public:
+        virtual ~MGenericFile();
+        
+        virtual TInt Seek(TSeek aSeekMode, TInt aPosition)=0;
+        virtual TInt Read(TDes8& aDes,TInt aLength)=0;
+        virtual void Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus)=0;
+        
+        virtual TInt Write(const TDesC8& aDes,TInt aLength)=0;
+        virtual void Write(const TDesC8& aDes, TInt aLength, TRequestStatus& aStatus)=0;
+        
+        virtual TInt Size(TInt& aSize)=0;
+        virtual TInt SetSize(TInt aSize)=0;
+        
+        virtual TInt EvaluateIntent(const ContentAccess::TIntent aIntent) const = 0;
+        virtual TInt ExecuteIntent(const ContentAccess::TIntent aIntent) = 0;
+        virtual TBool IsProtected()const = 0;
+        
+        // legacy file support
+        virtual RFile& FileL()=0;
+        
+        virtual TInt SetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue) = 0;
+        
+    };
+
+// Provide RFile based file access
+class CF32File : public CBase, public MGenericFile
+    {
+    public:
+        static CF32File* NewL(RFs& aSession, TDesC& aPath, TUint aMode);	
+        static CF32File* NewL(RFile& aFile);	
+        void ConstructL(RFile& aFile);
+        void ConstructL(RFs& aSession, TDesC& aPath, TUint aMode);
+        
+        virtual ~CF32File();
+        
+        // from MGenericFile
+        virtual TInt Seek(TSeek aSeekMode, TInt aPosition);
+        virtual TInt Read(TDes8& aDes,TInt aLength);
+        virtual void Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
+        virtual TInt Write(const TDesC8& aDes,TInt aLength);
+        virtual void Write(const TDesC8& aDes, TInt aLength, TRequestStatus& aStatus);
+        virtual TInt Size(TInt& aSize);
+        virtual TInt SetSize(TInt aSize);
+        virtual TInt EvaluateIntent(const ContentAccess::TIntent aIntent) const;
+        virtual TInt ExecuteIntent(const ContentAccess::TIntent aIntent);
+        virtual TBool IsProtected() const;
+        virtual RFile& FileL();
+        
+        virtual TInt SetAgentProperty(ContentAccess::TAgentProperty, TInt aValue);
+        
+    private:
+        CF32File();
+        
+    private:
+        RFs* iSession;	// not owned
+        HBufC* iFilePath;
+        RFile iFile;
+        
+        TBool iFileHandle;
+        TInt iFileSize;
+    };
+
+// Provides content access framework based file access
+class CContentFile : public CBase, public MGenericFile
+    {
+    public:
+        static CContentFile* NewL(RFs& aSession, const TDesC& aPath, const TDesC& aUniqueId, TUint aMode, TBool aEnableUI);
+        void ConstructL(RFs& aSession, const TDesC& aPath, const TDesC& aUniqueId, TUint aMode, TBool aEnableUI);
+        
+        static CContentFile* NewL(RFile& aFile, const TDesC& aUniqueId, TBool aEnableUI);
+        void ConstructL(RFile& aFile, const TDesC& aUniqueId, TBool aEnableUI);
+        
+        virtual ~CContentFile();
+        
+        // from MGenericFile
+        virtual TInt Seek(TSeek aSeekMode, TInt aPosition);
+        virtual TInt Read(TDes8& aDes,TInt aLength);
+        virtual void Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
+        virtual TInt Write(const TDesC8& aDes,TInt aLength);
+        virtual void Write(const TDesC8& aDes, TInt aLength, TRequestStatus& aStatus);
+        virtual TInt Size(TInt& aSize);
+        virtual TInt SetSize(TInt aSize);
+        virtual TInt EvaluateIntent(const ContentAccess::TIntent aIntent) const;
+        virtual TInt ExecuteIntent(const ContentAccess::TIntent aIntent);
+        virtual TBool IsProtected() const;
+        virtual RFile& FileL();
+        
+        virtual TInt SetAgentProperty(ContentAccess::TAgentProperty, TInt aValue);
+        
+    private:
+        CContentFile();
+        
+        
+    private:
+        RFs* iSession; // not owned
+        HBufC* iFilePath;
+        ContentAccess::CData* iData;
+        
+        RFile iLegacyFile;
+        TBool iLegacyFileOpen;
+    };
+
+
+inline CF32File::CF32File() 
+    {
+    }
+
+inline CContentFile::CContentFile() 
+    {
+    }
+
+inline MGenericFile::~MGenericFile()
+    {
+    }
+
+#endif //__FILE_ACCESS_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/Main.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Implementation of ProgDLSource.
+*
+*/
+
+
+#include <implementationproxy.h> // ECom
+#include "ProgDLDataSource.h"
+#include "ProgDLSourceUid.h"
+
+// __________________________________________________________________________
+// Exported proxy for instantiation method resolution
+// Define the interface UIDs
+
+
+const TImplementationProxy ImplementationTable[] =
+    {
+    IMPLEMENTATION_PROXY_ENTRY(KMmfProgDLSourceUid, CProgDLSource::NewL)
+    };
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+    
+    return ImplementationTable;
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/MmffilePriv.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,179 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Header of TransferBuffer.
+*
+*/
+
+
+#ifndef __MMFFILEPRIV_H_
+#define __MMFFILEPRIV_H_
+
+#include <f32file.h>
+
+#include <mmf/server/mmfclip.h>
+#include <mmf/server/mmfdatabuffer.h>
+
+/**
+*  @publishedAll
+*
+*  Represents a copy of a KUidMmfTransferBuffer used for reading/writting to the file server
+*/
+
+class CTransferBufferCopy : public CBase
+    {
+    public:
+        static CTransferBufferCopy* NewL(TInt aMaxLength);
+        
+        virtual ~CTransferBufferCopy()
+            {delete iBuffer;}
+        
+        
+        TDes8& Des() {return iBufferDes;}
+        
+        TInt MaxLength() {return iBufferDes.MaxLength();}
+        
+        void ReUse(TInt aMaxLength) {iBufferDes.Set(iBuffer,0, Min(aMaxLength, iMaxLength));}
+        
+        TBool InUse() {return iInUse;}
+        
+        void SetInUse(TBool aInUse) {iInUse=aInUse;}
+        
+    private:
+        CTransferBufferCopy(TInt aMaxLength) : CBase(), iMaxLength(aMaxLength), iBufferDes(0,0,0), iInUse(EFalse){}
+        
+        void ConstructL();
+        
+    private:
+        TUint8*	iBuffer;
+        
+        //Holds the original MaxLength when class constructed. 
+        //May be larger than MaxLength of iBufferDes
+        TInt	iMaxLength;
+        
+        TPtr8	iBufferDes;
+        
+        TBool	iInUse;
+    };
+
+
+
+
+    /**
+    * @internalComponent
+    *
+    * A request is created when an external object requests or supplies data.  Calls to the File Server are
+    * made asynchronously and a CReadWriteRequest created to notify the caller on completion.
+    *
+    * CReadWriteRequest is an abstract class.  Concrete instances are of CReadRequest & CWriteRequest.
+    * Concrete instances need to know whether to call MDataSink::BufferFilledL() or MDataSource::BufferEmptiedL()
+*/
+class CReadWriteRequest : public CActive
+    {
+    public:
+        CReadWriteRequest(TAny* aSinkOrSource, CMMFBuffer* aBuffer,TBool aSourceType)
+            : CActive(EPriorityStandard),
+            iSinkOrSource(aSinkOrSource), 
+            iBuffer(aBuffer),
+            iSourceType(aSourceType)
+            {
+            CActiveScheduler::Add( this );
+            }
+        
+        CReadWriteRequest(TAny* aSinkOrSource, CMMFBuffer* aBuffer, CTransferBufferCopy* aOptionalDataBuffer,TBool aSourceType)
+            : CActive(EPriorityStandard),
+            iSinkOrSource(aSinkOrSource), 
+            iBuffer(aBuffer),
+            iSourceType(aSourceType),
+            iTransferBufferCopy(aOptionalDataBuffer)
+            {
+            CActiveScheduler::Add( this );
+            iTransferBufferCopy->SetInUse(ETrue);
+            }
+        
+        CReadWriteRequest(CReadWriteRequest& aRequest)
+            : CActive(EPriorityStandard),
+            iSinkOrSource(aRequest.iSinkOrSource),
+            iBuffer(aRequest.iBuffer),
+            iSourceType(aRequest.iSourceType),
+            iTransferBufferCopy(aRequest.iTransferBufferCopy)
+            {
+            CActiveScheduler::Add( this );
+            iTransferBufferCopy->SetInUse(ETrue);
+            }
+        
+        
+        inline TBool Processing() const { return iState == EProcessing; }   
+        inline TBool Completed() const { return iState == ECompleted; }
+        TDes8& BufferDes() ;
+        TBool SourceType();
+        const TDesC8& BufferDesC() ;
+        CMMFBuffer* Buffer();
+        TAny* GetSinkOrSource();
+        ~CReadWriteRequest() ;
+        
+        
+        // CActive functions.
+        // 
+        void SetActive() ;
+        void DoCancel() ;
+        virtual void RunL() = 0 ;
+        virtual TInt RunError( TInt aError ) ;
+        
+        
+    protected :
+        TAny* iSinkOrSource;
+        CMMFBuffer* iBuffer;
+        TBool iSourceType;
+        CTransferBufferCopy* iTransferBufferCopy;
+        
+        TDes8* iBufferDes ;
+        TInt iError ;
+        TBool iUseTransferBuffer ;
+        void SetTransferBuffer (TBool aTBuffer) ;
+        TBool CanUseTransferBuffer () ;
+        enum TState
+            {
+            EActive,
+            EProcessing,
+            ECompleted
+            };
+        
+        TState iState;
+    } ;
+
+    /**
+    * @internalComponent
+*/
+class CReadRequest : public CReadWriteRequest
+    {
+    public :
+        CReadRequest(TAny* aParent,TAny* aSinkOrSource, CMMFBuffer* aBuffer, TUint aPosition, TUint aFileSize,TBool aSourceType)
+            : CReadWriteRequest(aSinkOrSource, aBuffer,aSourceType),
+            iPosition(aPosition), iFileSize(aFileSize),iParent(aParent)
+            { } 
+        
+        CReadRequest(TAny* aParent,TAny* aSinkOrSource, CMMFBuffer* aBuffer, CTransferBufferCopy* aOptionalDataBuffer, TUint aPosition, TUint aFileSize,TBool aSourceType)
+            : CReadWriteRequest(aSinkOrSource, aBuffer, aOptionalDataBuffer,aSourceType),
+            iPosition(aPosition), iFileSize(aFileSize),iParent(aParent)
+            { } 
+        
+        void RunL();
+    private:
+        TUint iPosition;
+        TUint iFileSize;
+        TAny* iParent;
+    };
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/ProgDLSource.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,1822 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Implementation of ProgDLSource.
+*
+*/
+
+
+#include <f32file.h>
+#include <e32std.h>
+#include <mmfdatabuffer.h>
+#include <mmfutilities.h>
+#include <mmf/common/mmfcontroller.h>
+#include <mmfpaniccodes.h>
+#include "ProgDLDataSource.h"
+#include "ProgDLMultimediaSource.h"
+#include "MmffilePriv.h"
+#include "FileAccess.h"
+#include "SinkQueueItem.h"
+#include "ProgDLSourceCustomCommands.h"
+#include <MultimediaDataSourceEvents.h>
+#include "ProgDLSourceUid.h"
+#include "AudioConfigurationPrivateCRKeys.h"
+
+#ifdef _DEBUG
+#define DEBPRN1(str)        RDebug::Print(str);
+#define DEBPRN2(str, val1)   RDebug::Print(str, val1);
+#define DEBPRN3(str, val1, val2)   RDebug::Print(str, val1, val2);
+#define DEBPRN4(str, val1, val2, val3)   RDebug::Print(str, val1, val2, val3);
+#define DEBPRN5(str, val1, val2, val3, val4)   RDebug::Print(str, val1, val2, val3, val4);
+#else
+#define DEBPRN1(str)
+#define DEBPRN2(str, val1)
+#define DEBPRN3(str, val1, val2)
+#define DEBPRN4(str, val1, val2, val3)
+#define DEBPRN5(str, val1, val2, val3, val4)
+#endif // _DEBUG
+
+const TUint KMinPlaybackDuration = 15; // 15 second
+
+void Panic(TMMFFilePanicCode aPanicCode)
+    {
+    _LIT(KMMFFilePanicCategory, "MMFFile");
+    User::Panic(KMMFFilePanicCategory, aPanicCode);
+    }
+
+    /**
+    * Constructs a CTransferBufferCopy
+    *
+    * @return CTransferBufferCopy*
+*/
+CTransferBufferCopy* CTransferBufferCopy::NewL(TInt aMaxLength)
+    {
+    CTransferBufferCopy* self = new (ELeave) CTransferBufferCopy(aMaxLength);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+    /**
+    * Second phase constructor for CTransferBufferCopy
+    *
+    * @return void
+*/
+void CTransferBufferCopy::ConstructL()
+    {
+    iBuffer = static_cast<TUint8*>(User::AllocL(iMaxLength));
+    iBufferDes.Set(iBuffer,0,iMaxLength);
+    }
+
+/************************/
+CProgDLSource* CProgDLSource::NewL(TUid aType )
+    {
+    DEBPRN1(_L("CProgDLSource::NewL"));
+    CProgDLSource* self = new (ELeave) CProgDLSource(aType);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+CProgDLSource::CProgDLSource(TUid aType)
+: MDataSource(aType)
+    {
+    iInitData = NULL;
+    }
+
+CProgDLSource::~CProgDLSource(void)
+    {
+    delete iInitData;
+    iInitData = NULL;        
+    }
+
+void CProgDLSource::ConstructL (void)
+    {
+    }
+
+// From MDataSource begins
+TUid CProgDLSource::DataSourceType() const
+    {
+    return KMmfProgDLSource;
+    }
+
+
+TFourCC CProgDLSource::SourceDataTypeCode(TMediaId /*aMediaId*/ )
+    {
+    TFourCC fourCC;        
+    return iMultiMediaSource->GetDataTypeCode(fourCC);
+    }
+
+TInt CProgDLSource::SetSourceDataTypeCode(TFourCC aSourceFourCC,
+                                                  TMediaId /*aMediaId*/ )
+    {
+    iMultiMediaSource->SetDataTypeCode(aSourceFourCC);
+    return KErrNone;
+    }
+
+void CProgDLSource::FillBufferL(CMMFBuffer* aBuffer,
+                                        MDataSink* aConsumer,
+                                        TMediaId aMediaId )
+    {
+    iMultiMediaSource->FillBufferL(aBuffer,aConsumer,aMediaId);
+    }
+
+void CProgDLSource::BufferEmptiedL(CMMFBuffer* /*aBuffer*/ )
+    {
+    User::Leave(KErrUnknown);
+    }
+
+TBool CProgDLSource::CanCreateSourceBuffer()
+    {
+    return EFalse;
+    }
+
+CMMFBuffer* CProgDLSource::CreateSourceBufferL(TMediaId /*aMediaId*/,
+                                                       TBool &/*aReference*/ )
+    {
+    return NULL;
+    }
+
+TInt CProgDLSource::SourceThreadLogon( MAsyncEventHandler& /*aEventHandler*/ )
+    {
+    return iMultiMediaSource->Open();
+    }
+
+void CProgDLSource::SourceThreadLogoff()
+    {
+    iMultiMediaSource->Close();
+    }
+
+void CProgDLSource::SourcePrimeL()
+    {
+    DEBPRN1(_L("CProgDLSource::SourcePrimeL"));
+    User::LeaveIfError(iMultiMediaSource->Prime());
+    }
+
+void CProgDLSource::SourcePlayL()
+    {
+    DEBPRN1(_L("CProgDLSource::SourcePlayL"));
+    User::LeaveIfError(iMultiMediaSource->Play());
+    }
+
+void CProgDLSource::SourceStopL()
+    {
+    DEBPRN1(_L("CProgDLSource::SourceStopL"));
+    User::LeaveIfError(iMultiMediaSource->Stop());
+    }
+
+
+void CProgDLSource::ConstructSourceL(const TDesC8& aInitData )
+    {
+    if(iInitData)
+        {
+        delete iInitData;
+        iInitData = NULL;        
+        }
+    iInitData = aInitData.AllocL();        
+    }
+
+void CProgDLSource::SourceCustomCommand(TMMFMessage& aMessage)
+    {
+    iMultiMediaSource->SourceCustomCommand(aMessage);        
+    }
+
+void CProgDLSource::SetMultimediaSource(CProgDLMultimediaSource& aMultimediaSource)
+    {
+    iMultiMediaSource = &aMultimediaSource;   
+    }
+
+TDesC8& CProgDLSource::GetInitData()
+    {
+    return *iInitData;    
+    }
+/****************************/
+
+
+EXPORT_C CProgDLMultimediaSource* CProgDLMultimediaSource::NewL(MDataSource& aDataSource)
+    {
+    DEBPRN1(_L("CProgDLMultimediaSource::NewL"));
+    CProgDLMultimediaSource* self = new (ELeave) CProgDLMultimediaSource(aDataSource);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+    /**
+    Destructor.
+*/
+CProgDLMultimediaSource::~CProgDLMultimediaSource() 
+    {
+    DEBPRN1(_L("CProgDLMultimediaSource::~CProgDLMultimediaSource() "));    
+    delete iInitData;
+    delete iFile;
+    EmptySinkQueue();
+    iHandle.Close();
+    iFsSession.Close();
+    delete iFileName;
+    delete iFileExt;
+    delete iFilePath;
+    delete iFileDrive;
+    
+    
+    delete iCAFParameters;
+    delete iSinkQueue;
+    delete iAudioConfigRepository;
+    
+    if(iMessage)
+        {
+        if(!iMessage->IsCompleted())
+            {
+            iMessage->Complete(KErrDied);
+            delete iMessage;
+            iMessage = NULL;
+            }
+        }
+    // Get rid of everything in RArray's & close them.
+    iRequests.ResetAndDestroy();
+    iTransferBufferCopies.ResetAndDestroy();
+    DEBPRN1(_L("CProgDLMultimediaSource::~CProgDLMultimediaSource() exit"));   
+    }
+
+    /**
+    Protected constructor.
+    
+      The default implementation is empty.
+*/
+CProgDLMultimediaSource::CProgDLMultimediaSource(MDataSource& aDataSource)
+                                       : iSnkItemsCount(0),
+                                       iSnkBytes(0),
+                                       iDownloadSize(0),
+                                       iTransferRate(0),
+                                       //iConsumer(NULL),
+                                       iBufferedDataSize(0),
+                                       iDLFileSize(0),
+                                       isDownloadComplete(EFalse),
+                                       iFileSize(0),
+                                       iParentDataSource(&aDataSource)
+    {
+    iMessage = NULL;
+    iFile = NULL;
+    iState = ECLOSED;
+    iObserver = NULL;
+    iReadRequestPending = 0;
+    iReOpenCAF = EFalse;
+    iObserverBitRate = 0;
+    }
+
+    /**
+    Constructs an CProgDLMultimediaSource MDataSource.
+    
+      @return A pointer to the new CProgDLMultimediaSource data source.
+*/
+/*MDataSource* CProgDLMultimediaSource::NewSourceL() 
+{
+CProgDLMultimediaSource* self = new (ELeave) CProgDLMultimediaSource( KMmfProgDLSource ) ;
+return STATIC_CAST( MDataSource*, self ) ;
+    }*/
+
+
+    /**
+    Perform source construction dependant on the source construction
+    initialisation data aInitData.
+    
+      @param  aInitData
+      The TPckg<TMMFFileParams> descriptor package containing the file name and full path.
+*/
+void CProgDLMultimediaSource::ConstructL() 
+    {
+    CProgDLSource* progDLSource = static_cast<CProgDLSource*>(iParentDataSource);    
+    iInitData = (progDLSource->GetInitData()).AllocL();
+    progDLSource->SetMultimediaSource(*this);
+    ConstructL(*iInitData, ESourceMode);
+    iSinkQueue = new(ELeave) TSglQue<CSinkQueueItem>(_FOFF(CSinkQueueItem, iLink));
+    }
+
+
+    /**
+    Protected constructor.
+    
+      Extracts the initialisation data provided by the calling functions: ConstructSourceL() and 
+      ConstructSinkL(). Creates a file server session and sets up file name. If there is a file name and 
+      it cannot be found this function leaves. If there is no file name the function leaves. Does not 
+      attempt to open the file or check whether the file exists.
+      
+        If aInitData contains a TMMFFileHandleParams instead of TMMFFileParams, the source/sink is constructed from 
+        the file handle provided by the caller
+        
+          @param  aInitData
+          Initialisation data packaged in a TMMFFileParams or in a TMMFFileHandleParams (File Handle)
+*/
+void CProgDLMultimediaSource::ConstructL(const TDesC8& aInitData,TMMFileMode aFileMode)
+    {
+    User::LeaveIfError(iFsSession.Connect());
+    // on IPCv2 we auto attach
+    User::LeaveIfError(iFsSession.ShareAuto());
+    
+    User::LeaveIfError(iFsSession.ShareProtected());
+    
+    TBool fileInit = EFalse;
+    HBufC* filename = NULL; 
+    TBool filenamePushed = EFalse;
+    
+    iCAFParameters = new (ELeave) CCAFParameters;
+    TBool drmContent = EFalse;
+    RDesReadStream stream(aInitData);
+    CleanupClosePushL(stream);
+
+    iAudioConfigRepository = CRepository::NewL(KCRUidAudioConfiguration);
+
+    // From Central Repository
+    GetAudioConfiguration();
+    
+    TUid initUid;
+    
+    initUid = TUid::Uid(stream.ReadInt32L());
+    
+    if (initUid == KMMFileHandleSourceUid)
+        {
+        TPckgBuf<RFile*> fileptr;
+        stream.ReadL(fileptr);
+        
+        iHandle.Duplicate(*fileptr());
+        
+        TInt length;
+        length = stream.ReadInt32L();
+        if (length>0)
+            {
+            iCAFParameters->iUniqueId = HBufC::NewL(length);
+            TPtr16 ptr = iCAFParameters->iUniqueId->Des();
+            stream.ReadL(ptr, length);
+            }
+        iFileHandle = ETrue;
+        filename = HBufC::NewMaxL(KMaxFileName);
+        TPtr ptr = filename->Des();
+        iHandle.Name(ptr);
+        fileInit = ETrue;
+        drmContent = ETrue;
+        
+        iCAFParameters->iEnableUI = stream.ReadInt32L();
+        }
+    
+    else if (initUid == KMMFileSourceUid)
+        {
+        TInt length;
+        length = stream.ReadInt32L();
+        filename = HBufC::NewMaxLC(length);
+        TPtr ptr = filename->Des();
+        stream.ReadL(ptr, length);
+        
+        length = stream.ReadInt32L();
+        if (length>0)
+            {
+            iCAFParameters->iUniqueId = HBufC::NewMaxL(length);
+            ptr.Set(iCAFParameters->iUniqueId->Des());
+            stream.ReadL(ptr, length);
+            }
+        CleanupStack::Pop(filename);
+        
+        fileInit = ETrue;
+        drmContent = ETrue;
+        iFileHandle = EFalse; 
+        iCAFParameters->iEnableUI = stream.ReadInt32L();
+        }
+    else
+        {
+        //		TODO If the UID is unknown we should reject, but  currently
+        //		code also used for older calls that just supply filename.
+        //		User::Leave(KErrNotSupported);
+        }
+    
+    CleanupStack::PopAndDestroy(&stream);
+    
+    if (!fileInit && aInitData.Length() == sizeof(TMMFFileHandleParams))
+        {
+        TMMFFileHandleParams params;
+        TPckgC<TMMFFileHandleParams> config(params);
+        config.Set(aInitData);
+        params = config();
+        
+        
+        if (params.iUid == KFileHandleUid)
+            {
+            fileInit = ETrue;
+            User::LeaveIfError(iHandle.Duplicate(*params.iFile));
+            TInt pos = 0;
+            // make sure the duplicate handle is at the start of the file - the usage of the file handle really requires this
+            User::LeaveIfError(iHandle.Seek(ESeekStart, pos));
+            iFileHandle = ETrue;
+            filename = HBufC::NewMaxLC(KMaxFileName);
+            filenamePushed = ETrue;
+            TPtr ptr = filename->Des();
+            User::LeaveIfError(iHandle.Name(ptr));
+            }
+        }
+    
+    if (!fileInit) // do old case as last resort
+        {
+        TMMFFileParams params;
+        TPckgC<TMMFFileParams> config(params);
+        config.Set(aInitData);
+        params = config();
+        
+        filename = params.iPath.AllocL();
+        fileInit = ETrue;
+        }
+    
+    if (!filenamePushed)
+        {
+        // from now on it is assumed pushed.
+        CleanupStack::PushL(filename);
+        }
+    
+    TParse parser ;
+    User::LeaveIfError(parser.Set(*filename, NULL, NULL));
+    CleanupStack::PopAndDestroy(filename);
+    if ( !( parser.NamePresent() ) && !( parser.ExtPresent() ) )
+        User::Leave( KErrBadName ) ;
+    
+    iFullFileName.Copy( parser.FullName() ) ;	
+    iFileName = parser.Name().AllocL() ;
+    iFileExt = parser.Ext().AllocL() ;
+    iFilePath = parser.Path().AllocL() ;
+    iFileDrive = parser.Drive().AllocL() ;
+    
+    // in order to simulate old behaviour we are not passing error out
+    // but will try to create Content again during PrimeL()
+    if (fileInit && drmContent && aFileMode==ESourceMode)
+        {
+        TInt contentError;
+        if (iFileHandle)
+            {
+            TRAP(contentError, 
+                iFile = CContentFile::NewL(iHandle, UniqueId(), iCAFParameters->iEnableUI);
+            );
+            }
+        else
+            {
+            // Open for read-only access
+            TRAP(contentError,
+                iFile = CContentFile::NewL(iFsSession, iFullFileName, UniqueId(), EFileShareAny, iCAFParameters->iEnableUI);
+            );
+            }
+        }
+    }
+    
+    
+/**
+@deprecated
+
+Returns an RFile handle to the current file.
+
+If there is no current file, one is created. If the file exists then it is opened with read access 
+if it is read only, write access otherwise. If the file does not exist then it is opened with
+write access.
+
+@leave KErrNotReady
+The file is not open.
+
+@return A handle to the current file.
+*/
+RFile& CProgDLMultimediaSource::FileL()
+    {
+    if (!iFile)
+        User::Leave(KErrNotReady);
+    if (iFileHandle)
+        return iHandle;
+    else
+        return iFile->FileL();
+    }
+            
+/** 
+Returns the file name of the current file.
+
+  Note: This will give the wrong answer if the file is renamed!
+  
+    @return The FileName (without extension).
+*/
+const TDesC& CProgDLMultimediaSource::FileName() const
+    {
+    return *iFileName ;
+    }
+            
+/**
+Returns the extension of the current file.
+
+Note: This will give the wrong answer if the file is renamed!
+
+@return The File Extension.
+*/
+const TDesC& CProgDLMultimediaSource::Extension() const 
+    {
+    return *iFileExt ;
+    }
+            
+/** 
+Returns the path of the current file.
+
+Note: This will give the wrong answer if the file is renamed!
+
+@return The FilePath (without filename and extension)
+*/
+const TDesC& CProgDLMultimediaSource::FilePath() const 
+    {
+    return *iFilePath ;
+    }
+
+/** 
+Returns the drive on which the current file is located.
+
+Note: This will give the wrong answer if the file is renamed!
+
+@return The FileDrive (drive letter only, without path, filename and extension).
+*/
+const TDesC& CProgDLMultimediaSource::FileDrive() const 
+    {
+    return *iFileDrive ;
+    }
+
+/** 
+Returns the full name of the current file.
+
+Note: This will give the wrong answer if the file is renamed!
+
+@return The file name (full filename including drive letter, without path, filename and extension).
+*/
+const TFileName CProgDLMultimediaSource::FullName() const
+    {
+    return iFullFileName;
+    }
+            
+/** 
+Returns the uniqueID associated with this content. If no uniqueID has been provided, a null
+descriptor will be provided
+
+@return The UniqueID
+*/
+const TDesC& CProgDLMultimediaSource::UniqueId() const
+    {
+    if (iCAFParameters->iUniqueId)
+        return *(iCAFParameters->iUniqueId);
+    else
+        return KNullDesC;
+    }
+            
+/**
+Obtains a CTransferBufferCopy from iTransferBufferCopies that is
+at least as big as that required.
+
+There is no need to put the pointer returned by this method onto the CleanupStack
+as it will have already been placed into iTransferBufferCopies.
+
+@param  aMaxLength
+The size required.
+
+@return A pointer to a valid CTransferBufferCopy.
+*/
+CTransferBufferCopy* CProgDLMultimediaSource::ObtainCopyOfTransferBufferL(TInt aMaxLength)
+    {
+    //find a free transfer buffer copy of the right size
+    TInt firstFree = -1;
+    CTransferBufferCopy* transBufCopyToUse = NULL;
+    
+    for(TInt cnt=0; cnt < iTransferBufferCopies.Count(); cnt++)
+        {
+        if(!iTransferBufferCopies[cnt]->InUse())
+            {
+            //record the first free entry, we may remove this
+            //if entries in iTransferBufferCopies > KAcceptableTransferBufferCopiesSize
+            if(firstFree == -1) 
+                firstFree = cnt;
+            
+            if(iTransferBufferCopies[cnt]->MaxLength() >= aMaxLength)
+                {
+                transBufCopyToUse = iTransferBufferCopies[cnt];
+                
+                //Set the MaxLength. This will ensure that the copy acts the same as
+                //the original Transfer buffer, eg. file server will throw KErrOverflow
+                transBufCopyToUse->ReUse(aMaxLength);
+                break;
+                }
+            }
+        }
+    
+    //If we failed to find a suitable entry, we need to create a new one
+    if(!transBufCopyToUse)
+        {
+        //Firstly, should we re-cycle an existing entry?
+        //There must be entries in the array, a free entry must have been found,
+        //the size of the array must be beyond the water mark where we want to start
+        //cycling free entries.
+        if((iTransferBufferCopies.Count() > 0) &&
+            (firstFree != -1) &&
+            (iTransferBufferCopies.Count() > KAcceptableTransferBufferCopiesSize))
+            {
+            delete iTransferBufferCopies[firstFree];
+            iTransferBufferCopies.Remove(firstFree);
+            
+            transBufCopyToUse = CTransferBufferCopy::NewL(aMaxLength);
+            CleanupStack::PushL(transBufCopyToUse);
+            User::LeaveIfError(iTransferBufferCopies.Insert(transBufCopyToUse,firstFree));
+            
+            CleanupStack::Pop();
+            }
+        else
+            {
+    #ifdef _DEBUG
+            if(iTransferBufferCopies.Count() > KMaximumTransferBufferCopiesSize)
+                {
+                User::Panic(_L("iTransferBufferCopies grew too large in CProgDLMultimediaSource"),KErrTooBig);
+                }
+    #endif
+            
+            transBufCopyToUse = CTransferBufferCopy::NewL(aMaxLength);
+            CleanupStack::PushL(transBufCopyToUse);
+            User::LeaveIfError(iTransferBufferCopies.Append(transBufCopyToUse));
+            
+            CleanupStack::Pop();
+            }
+        }
+    
+    return transBufCopyToUse;
+    }
+            
+            
+            
+/** 
+Loads aBuffer from iFile.
+
+The file must already be open for reading. File read is asynchronous. CReadRequest is created to 
+respond to completion.
+
+@param  aBuffer
+The buffer to be filled from the file.
+@param  aConsumer
+The data sink consumer of the buffer.
+*/
+void CProgDLMultimediaSource::FillBufferL( CMMFBuffer* aBuffer, MDataSink* aConsumer, TMediaId /*aMediaId*/ )
+    {
+    // Requires that iFile is open for read.
+    // Reads data from iFile into aBuffer
+    TInt status(KErrNone);
+    DEBPRN2(_L("CProgDLMultimediaSource::FillBuffer[%x]]"), aBuffer );
+    if ((!aConsumer) || (!aBuffer))
+        User::Leave(KErrArgument);
+    
+    if (!iFile)
+        User::Leave(KErrNotReady);
+    
+    AppendBufferToSinkQueue(aBuffer,NULL,aConsumer,EFalse);
+    DEBPRN4(_L("CProgDLMultimediaSource::FillBuffer DLComplete[%d] ReOpenCAF[%d] RequestPending[%d]"), isDownloadComplete,iReOpenCAF,iReadRequestPending );
+    if(isDownloadComplete && !iReOpenCAF) 
+        {
+        if(!iReadRequestPending)
+            {
+            ReOpenCAF();
+            status = ServiceFillBuffer();
+            if(status == KErrUnderflow)
+                {
+                StateChanged(EBUFFERING);
+                }
+            }
+        }
+    else
+        {
+        status = ServiceFillBuffer();
+        
+        if(status == KErrUnderflow)
+            {
+            StateChanged(EBUFFERING);
+            }
+        }        
+    }
+            
+/**
+Stores a request in an array.
+
+CReadWriteRequests are stored in the array iRequests.
+This function takes ownership and places the request in the array.
+It also checks the array for completed requests and removes them.
+
+@param  aRequest
+The request to store.
+*/
+void CProgDLMultimediaSource::StoreRequestL( CReadWriteRequest* aRequest )
+    {
+    // add aRequest to iRequests
+    User::LeaveIfError( iRequests.Append( aRequest ) ) ;
+    
+    // Clear out any completed requests
+    for ( TInt ii = 0 ; ii < iRequests.Count() ; ii++ )
+        {
+        if (iRequests[ii]->Completed())
+            {
+            CReadWriteRequest* request = iRequests[ii];
+            delete request;
+            
+            iRequests.Remove(ii);
+            ii--;
+            }
+        }
+    }
+
+
+/**
+Cancels outstanding requests.
+
+CReadWriteRequests are stored in the array iRequests.
+This function cancels any outstanding requests and removes them
+from iRequests.
+*/
+void CProgDLMultimediaSource::CancelRequests()
+    {
+    // Clear out any completed requests
+    for ( TInt ii = 0 ; ii < iRequests.Count() ; ii++ )
+        {
+        CReadWriteRequest* request = iRequests[ii];
+        if(!request->Processing())
+            {
+            delete request;
+            iRequests.Remove(ii);
+            ii--;
+            }
+        }
+    }
+
+            
+/**
+Evaluates a given intent against the rights associated with the file.
+
+The rights are not updated by this function call.
+
+@param  aIntent
+The intent to evaluate.
+
+  @return An error code indicating if the function call was successful. KErrNone on success, otherwise
+  another of the system-wide error codes.
+*/
+TInt CProgDLMultimediaSource::EvaluateIntent(ContentAccess::TIntent aIntent)
+    {
+    if (!iFile)
+        {
+        return KErrNotReady;
+        }
+    
+    return iFile->EvaluateIntent(aIntent);
+    }
+            
+/**
+Evaluates and executes a given intent against the rights associated with the file.
+
+The rights object is updated after calling this function.
+
+@param  aIntent
+The intent to evaluate.
+
+@return An error code indicating if the function call was successful. KErrNone on success, otherwise
+another of the system-wide error codes.
+*/
+TInt CProgDLMultimediaSource::ExecuteIntent(ContentAccess::TIntent aIntent)
+    {
+    if (!iFile)
+        {
+        return KErrNotReady;
+        }
+    
+    return iFile->ExecuteIntent(aIntent);
+    }
+            
+/**
+Returns whether the file is protected.
+
+@return A boolean indicating if the file is protected. ETrue if the file is protected.
+*/
+TInt CProgDLMultimediaSource::GetDRMProtection(TBool& aIsProtected)
+    {
+    TInt err(KErrNone);	
+    if (!iFile)
+        {
+        return KErrNotReady;
+        }
+    
+    TRAP(err,aIsProtected = iFile->IsProtected());
+    return err;
+    }
+            
+TInt CProgDLMultimediaSource::SetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue)
+    {
+    if (!iFile)
+        {
+        return KErrNotReady;
+        }
+    
+    return iFile->SetAgentProperty(aProperty, aValue);
+    }
+            
+
+TBool CReadWriteRequest::SourceType() 
+    {
+    return iSourceType ;
+    }
+
+
+/*
+*	Returns the data member of CMMFDataBuffer or CMMFTransferBuffer (as TPtr8)
+*  
+*/
+TDes8& CReadWriteRequest::BufferDes()
+    {
+    if(iTransferBufferCopy)
+        return iTransferBufferCopy->Des();
+    else
+        {
+        //reset iBufferDes in case iBuffer has changed...
+        iBufferDes = &(STATIC_CAST(CMMFDataBuffer*, iBuffer)->Data());
+        return *iBufferDes;
+        }
+    }
+
+const TDesC8& CReadWriteRequest::BufferDesC()
+    {
+    if(iTransferBufferCopy)
+        return iTransferBufferCopy->Des();
+    else
+        return BufferDes();
+    }
+
+CMMFBuffer* CReadWriteRequest::Buffer()
+    {
+    return iBuffer;
+    }
+
+TAny* CReadWriteRequest::GetSinkOrSource()
+    {
+    return iSinkOrSource;
+    }
+
+/*
+*	Destructor.
+*/
+CReadWriteRequest::~CReadWriteRequest() 
+    {
+    Cancel();
+    if(iTransferBufferCopy)
+        iTransferBufferCopy->SetInUse(EFalse);
+    }
+
+/*
+*	Allows owning class access to SetActive()
+*/
+void CReadWriteRequest::SetActive() 
+    {
+    CActive::SetActive() ;
+    }
+        
+/*
+*  For the moment at least...    Canceled requests may be deleted
+*/
+void CReadWriteRequest::DoCancel() 
+    {
+    iState = ECompleted;
+    }
+            
+/*
+*	Called when errors in RunL force Leave.  For the moment just mark the request deletable
+*/
+TInt CReadWriteRequest::RunError( TInt aError ) 
+    {
+    //RunL can leave.
+    iState = ECompleted;
+    iError = aError; //keep this error internally for now
+    return KErrNone ;
+    }
+        
+/*
+*	On completion of read request call back to the MDataSink
+*/
+void CReadRequest::RunL() 
+    {
+    iState = EProcessing;
+    //Copy the data from the normal buffer into the Transfer buffer
+    if(iTransferBufferCopy)
+        {
+        //must specify the size here as the dest may be smaller than the source.
+        TDes8& destDesc = STATIC_CAST(CMMFDataBuffer*, iBuffer)->Data();
+        destDesc.Copy(iTransferBufferCopy->Des().Left(destDesc.MaxLength()));
+    
+        iTransferBufferCopy->SetInUse(EFalse);
+        }
+
+        STATIC_CAST(CProgDLMultimediaSource*,iParent)->ReadRequestStatus(STATIC_CAST(CReadWriteRequest*,this),iStatus);
+    iState = ECompleted;
+    }
+
+        // From CMultimediaDataSource begins
+TInt CProgDLMultimediaSource::SetObserver( MMultimediaDataSourceObserver& aObserver )
+    {
+    TInt status(KErrNone);
+    iObserver = &aObserver;
+    return status;
+    }
+        
+TInt CProgDLMultimediaSource::GetObserver( MMultimediaDataSourceObserver*& aObserver )
+    {
+    TInt status(KErrNone);
+    aObserver = iObserver;
+    return status;
+    }
+        
+void CProgDLMultimediaSource::Event( TUid aEvent )
+    {
+    if( aEvent == KMultimediaDataSourceEventBitRateChanged )
+        {
+        
+        if(iObserver)
+            {
+                iObserver->GetBitRate( iObserverBitRate ); 
+                if(iState == EBUFFERING)
+                    CalculateBufferedDataSize();
+            }
+        }    
+    
+    }
+        
+TInt CProgDLMultimediaSource::SetDataTypeCode(TFourCC aSourceFourCC )
+    {
+    TInt status(KErrNone);
+    iSourceFourCC = aSourceFourCC;
+    return status;
+    }
+        
+TInt CProgDLMultimediaSource::GetDataTypeCode(TFourCC& aSourceFourCC )
+    {
+    TInt status(KErrNone);
+    aSourceFourCC = iSourceFourCC;
+    return status;
+    }
+
+TInt CProgDLMultimediaSource::GetSize( TUint& aSize )
+    {
+    TInt err = KErrNone;
+    if (iDLFileSize >=0)
+    	{
+    	aSize = iDLFileSize;
+    	}
+    else
+    	{
+    	aSize = 0;
+    	}
+    return err;
+    }
+
+TInt CProgDLMultimediaSource::Open()
+    {
+    TInt status(KErrNotReady);
+    DEBPRN1(_L("CProgDLMultimediaSource::Open"));
+    switch ( iState )
+        {
+        case ECLOSED:
+            StateChanged(ESTOPPED);
+            status = KErrNone;
+            break;
+        case ESTOPPED:
+        case EPRIMED:
+        case EEXECUTING:
+        case EBUFFERING:
+        default:
+            DEBPRN2(_L("CProgDLMultimediaSource::Open[Illegal cmd on state[%d]]"), iState );
+            break;
+        };
+    return status;
+    }
+
+TInt CProgDLMultimediaSource::Close()
+    {
+    TInt status(KErrNone);
+    iHandle.Close();
+    iFsSession.Close();
+
+    StateChanged(ECLOSED);
+    // Clear app buffers
+    EmptySinkQueue();
+    iSnkBytes = 0;
+    // Clear observer buffers
+    return status;
+    }
+
+TInt CProgDLMultimediaSource::Prime()
+    {
+    TInt status(KErrNotReady);
+    DEBPRN1(_L("CProgDLMultimediaSource::Prime"));
+    switch ( iState )
+        {
+        case ESTOPPED:
+            
+            // don't reopen file if already open
+            if (!iFile)
+                {
+                if (iFileHandle)
+                    {
+                    TRAPD(err,iFile = CContentFile::NewL(iHandle, UniqueId(), iCAFParameters->iEnableUI));
+                    if(err)
+                        return err;
+                    }
+                else
+                    {
+                    // Open for read-only access
+                    TRAPD(err,iFile = CContentFile::NewL(iFsSession, iFullFileName, UniqueId(), EFileShareAny, iCAFParameters->iEnableUI));
+                    if(err)
+                        return err;                    
+                    }
+                }
+            
+            if(iFile)
+                {
+                if(iFile->IsProtected())
+                    iFile->Size(iFileSize);
+                else
+                    iFileSize = iDLFileSize;		          
+                }												
+            
+            StateChanged(EPRIMED);
+            status = KErrNone;
+            break;
+        case EPRIMED:
+            status = KErrNone;
+            break;
+        case ECLOSED:
+        case EEXECUTING:
+        case EBUFFERING:
+        default:
+            DEBPRN2(_L("CProgDLMultimediaSource::Prime[Illegal cmd on state[%d]]"), iState );
+            break;
+        }
+    return status;
+    }
+
+TInt CProgDLMultimediaSource::Play()
+    {
+    TInt status(KErrNotReady);
+    DEBPRN1(_L("CProgDLMultimediaSource::Play"));
+    switch ( iState )
+        {
+        case EPRIMED:
+            CalculateBufferedDataSize();
+            StateChanged(EEXECUTING);
+            
+            while ( !iSinkQueue->IsEmpty() )
+                {
+                status = ServiceFillBuffer();
+                }
+            
+            if(status == KErrUnderflow)
+                {
+                StateChanged(EBUFFERING);
+                }
+            
+            status = KErrNone;	
+            break;
+        case EEXECUTING:
+        case EBUFFERING:
+            status = KErrNone;
+            // No op
+            break;
+        case ECLOSED:
+        case ESTOPPED:
+        default:
+            DEBPRN2(_L("CProgDLMultimediaSource::Play[Illegal cmd on state[%d]]"), iState );
+            break;
+        };
+    return status;
+    }
+        
+TInt CProgDLMultimediaSource::Stop()
+    {
+    TInt status(KErrNotReady);
+    DEBPRN1(_L("CProgDLMultimediaSource::Stop"));
+    switch ( iState )
+        {
+        case EPRIMED:
+        case EEXECUTING:
+        case EBUFFERING:
+            {
+            TInt pos = 0;
+            CancelRequests();
+            if (iFile)
+                iFile->Seek(ESeekStart,0);
+            // Since the requests will not be deleted if it is still inside RunL() (iState is EProcessing), 
+            // iReadRequestPending should not be initialized to 0 always
+            iReadRequestPending = iRequests.Count();
+            //iDLFileSize = -1;
+            iSnkBytes=pos;
+            iBufferedDataSize = 0;
+            EmptySinkQueue();
+            StateChanged(ESTOPPED);
+            status = KErrNone;
+            }
+            break;
+        case ECLOSED:
+        default:
+            DEBPRN2(_L("CProgDLMultimediaSource::Stop[Illegal cmd on state[%d]]"), iState );
+            break;
+        };
+    return status;
+    }
+    
+    
+TInt CProgDLMultimediaSource::FillBuffer( CMMFBuffer* aBuffer )
+    {
+    // Requires that iFile is open for read.
+    // Reads data from iFile into aBuffer
+    
+    TInt status(KErrNone);
+    DEBPRN2(_L("CProgDLMultimediaSource::FillBuffer[%x]]"), aBuffer );
+    if (!aBuffer)
+        return KErrArgument;
+    
+    if (!iFile)
+        return KErrNotReady;
+    
+    AppendBufferToSinkQueue(aBuffer,iObserver,NULL,EFalse);
+    
+    DEBPRN4(_L("CProgDLMultimediaSource::FillBuffer DLComplete[%d] ReOpenCAF[%d] RequestPending[%d]"), isDownloadComplete,iReOpenCAF,iReadRequestPending );
+    if(isDownloadComplete && !iReOpenCAF) 
+        {
+        if(!iReadRequestPending)
+            {
+            ReOpenCAF();                        
+            status = ServiceFillBuffer();
+            if(status == KErrUnderflow)
+                {
+                StateChanged(EBUFFERING);
+                }
+            }
+        }
+    else
+        {
+        status = ServiceFillBuffer();
+        
+        if(status == KErrUnderflow)
+            {
+            StateChanged(EBUFFERING);
+            }
+        }        
+    return status; 	
+    }
+
+    
+TAny* CProgDLMultimediaSource::CustomInterface( TUid /*aInterfaceUid*/ )
+    {
+    return NULL;
+    }
+    
+TInt CProgDLMultimediaSource::AppendBufferToSinkQueue( CMMFBuffer* aBuffer,
+                                                    MMultimediaDataSourceObserver* aObserver,
+                                                    MDataSink* aConsumer,TBool aTop )  
+    {
+    TInt status(KErrNone);
+    
+    DEBPRN2(_L("CProgDLMultimediaSource::AppendBufferToSinkQueue() Buffer[%x]"), aBuffer );				    
+    // Add observer buffer to queue
+    CMMFDataBuffer* dest = static_cast<CMMFDataBuffer*>( aBuffer );
+    TDes8& destBufferDes = dest->Data();
+    
+    CSinkQueueItem* request(NULL);
+    
+    TRAP( status, request = CSinkQueueItem::NewL( aBuffer, aObserver,aConsumer) );
+    if ( status == KErrNone )
+        {
+        if(aTop)
+            iSinkQueue->AddFirst(*request);
+        else  
+            iSinkQueue->AddLast(*request);
+        
+        iSnkItemsCount++;
+        
+        DEBPRN3(_L("CProgDLMultimediaSource::AppendBufferToQueue[ReqSize[%d]SnkItems[%d]]"), \
+            aBuffer->RequestSize(), iSnkItemsCount );
+        }
+    return status;
+    }
+    
+void CProgDLMultimediaSource::SourceCustomCommand(TMMFMessage& aMessage)
+    {
+    TInt err(KErrNone);
+    switch ( aMessage.Function() )
+        {
+        
+        case ESetUpdateFileName:
+            {
+            // Read size info
+            TPckgBuf<TFileName> sizePckg;
+            err = aMessage.ReadData1FromClient(sizePckg);
+            if ( err == KErrNone )
+                {
+                iFullFileName = sizePckg();
+                if (iFile)
+                {
+                    delete iFile;
+                    iFile = NULL;
+                }
+                if (iFileHandle)
+                    {
+                    TRAPD(err,iFile = CContentFile::NewL(iHandle, UniqueId(), iCAFParameters->iEnableUI));
+                    }
+                else
+                    {
+                    // Open for read-only access
+                    TRAPD(err,iFile = CContentFile::NewL(iFsSession, iFullFileName, UniqueId(), EFileShareAny, iCAFParameters->iEnableUI));
+                    }
+                }
+            aMessage.Complete(KErrNone);			            
+            
+            }   
+            break;
+
+        case EDownloadRate:
+            {
+            
+            // Read size info
+            TPckgBuf<TUint> sizePckg;
+            err = aMessage.ReadData1FromClient(sizePckg);
+            if ( err == KErrNone )
+                {
+                iTransferRate = sizePckg();
+                }
+            aMessage.Complete(KErrNone);			            
+            DEBPRN2(_L("CProgDLMultimediaSource::SourceCustomCommand EDownloadRate[%u] "),iTransferRate);
+            if(iState == EBUFFERING /*&& !iSinkQueue->IsEmpty()*/)
+                { 
+                CalculateBufferedDataSize();
+                }
+            }   
+            break;
+        case ESetDownloadState:
+            {
+            isDownloadComplete = ETrue;    
+            if(iFile)
+                iFile->Size(iFileSize);
+            
+            if(iFileSize != iDLFileSize)
+                iDLFileSize = iFileSize;
+            
+            iDownloadSize =  iFileSize;
+            iBufferedDataSize = 0;
+            aMessage.Complete(KErrNone);
+    
+            if(iObserver)
+                iObserver->Event(KMultimediaDataSourceEventRandomSeekingSupportChanged);	
+            
+            if(iState == EBUFFERING )
+                {
+                if((iDownloadSize - iSnkBytes) > iBufferedDataSize)
+                    {
+                    StateChanged(EEXECUTING);
+                    while ( !iSinkQueue->IsEmpty() )
+                        {
+                        err = ServiceFillBuffer();
+                        if(err == KErrUnderflow)
+                            {
+                            StateChanged(EBUFFERING);
+                            break;
+                            }
+                        }
+                    }
+                }
+            }
+            break;
+            
+        case ESetDownloadSize:
+            {
+            // Read size info
+            TPckgBuf<TInt> sizePckg;
+            err = aMessage.ReadData1FromClient(sizePckg);
+            if ( err == KErrNone )
+                {
+                iDownloadSize = sizePckg();
+                }
+            aMessage.Complete(KErrNone);			
+            TInt size = 0;
+
+            if(iFile)
+                iFile->Size(size);
+            
+            DEBPRN4(_L("CProgDLMultimediaSource::SourceCustomCommand ********BufferedDataSize[%u] DownloadSize[%d] iSnkbytes[%d]"), iBufferedDataSize ,iDownloadSize, iSnkBytes ); 		            
+            DEBPRN4(_L("CProgDLMultimediaSource::SourceCustomCommand ********iDLFileSize[%d] iFileSize[%d]ActualSize[%d]"), iDLFileSize,iFileSize,size); 		            
+            if(iState == EBUFFERING )
+                {
+                if((iDownloadSize - iSnkBytes) > iBufferedDataSize)
+                    {
+                    StateChanged(EEXECUTING);
+                    while ( !iSinkQueue->IsEmpty() )
+                        {
+                        err = ServiceFillBuffer();
+                        if(err == KErrUnderflow)
+                            {
+                            StateChanged(EBUFFERING);
+                            break;
+                            }
+                        }
+                    }
+                }			
+            }
+            break;
+                
+        case ESetActualSize:
+            {
+            // Read size info
+            TPckgBuf<TInt> sizePckg;
+            err = aMessage.ReadData1FromClient(sizePckg);
+            if ( err == KErrNone )
+                {
+                iDLFileSize = sizePckg();
+                }
+            aMessage.Complete(KErrNone);
+            
+            if(iFile)
+                {
+                if(iFile->IsProtected())
+                    iFile->Size(iFileSize);
+                else
+                    iFileSize = iDLFileSize;		          
+                }
+            DEBPRN3(_L("CProgDLMultimediaSource::SourceCustomCommand ActualSize********iDLFileSize[%d] iFileSize[%d]"), iDLFileSize,iFileSize); 		            
+            
+            if(iObserver)
+                iObserver->Event(KMultimediaDataSourceObserverEventSourceSizeChanged);
+            
+            }
+            break;   
+                
+        case EGetSourceState:
+            {
+            TPckgBuf<TState> statePckg;	
+            aMessage.ReadData1FromClient(statePckg);
+            DEBPRN3(_L("CProgDLMultimediaSource::SourceCustomCommand() Client State[%d] SourceState[%d]"), statePckg(), iState);
+            
+            if(iState != statePckg())
+                {
+                statePckg() = iState;	
+                aMessage.WriteDataToClient(statePckg);
+                aMessage.Complete(KErrNone);
+                }
+            else
+                iMessage = new(ELeave) TMMFMessage(aMessage);
+             }   
+            break;   
+
+        case EGetBitRate:
+            {
+            TPckgBuf<TUint> bitRatePckg;	 
+            DEBPRN2(_L("CProgDLMultimediaSource::SourceCustomCommand() Client BitRateFromS[%d]"),iObserverBitRate);
+            bitRatePckg() = iObserverBitRate ;	
+            aMessage.WriteDataToClient(bitRatePckg);
+            aMessage.Complete(KErrNone);
+            }            
+            break;   
+
+        case EGetPercentageBuffered:
+            {
+            TPckgBuf<TUint> perBufPckg; 
+            TUint perBuf = 0;
+            if(iState == EBUFFERING && iBufferedDataSize != 0)
+                {
+                CalculateBufferedDataSize();                    
+                if ( iBufferedDataSize == 0 ) 
+                    {
+                    perBuf = 0; 
+                    }
+                else
+                    {
+                    perBuf = (iDownloadSize - iSnkBytes) * 100 / iBufferedDataSize;
+                    }
+                }
+            
+            RDebug::Print(_L(" Percentage Buffered [%d]"),perBuf);
+            perBufPckg() = perBuf;
+            aMessage.WriteDataToClient(perBufPckg);
+            aMessage.Complete(KErrNone);
+            }
+            break;
+        case ESetFileMoving:
+            {
+            if (iFile)
+                {
+                delete iFile;
+                iFile = NULL;
+                }
+            aMessage.Complete(KErrNone);
+            }
+            break;    
+        default:
+            err = KErrArgument;
+            break;
+        }
+    }        
+
+TInt CProgDLMultimediaSource::ServiceFillBuffer()
+    {
+    
+    DEBPRN3(_L("CProgDLMultimediaSource::ServiceFillBuffer() state[%d] Download Size[%d]"), iState ,iDownloadSize );
+    
+    TInt status(KErrNone);
+    if ( iSinkQueue->IsEmpty() )
+        return KErrNone;
+    
+    CSinkQueueItem* tempsnkItem = iSinkQueue->First();
+    CMMFBuffer* tempbuffer = tempsnkItem->Buffer();
+    
+    TInt bufSize = tempbuffer->RequestSize();
+    
+    DEBPRN5(_L("CProgDLMultimediaSource::ServiceFillBuffer() ********BufferedDataSize[%u] DownloadSize[%d] iSnkbytes[%d] BufSize[%d]"), iBufferedDataSize ,iDownloadSize, iSnkBytes,bufSize ); 		            				
+    if((((iDownloadSize - iSnkBytes) > bufSize) && 
+        iState == EEXECUTING && 
+        iDownloadSize > iBufferedDataSize && ((iReadRequestPending + 1)*bufSize < (iDownloadSize - iSnkBytes))) || (iFileSize == iDownloadSize))
+        {
+        iReadRequestPending++;
+        CSinkQueueItem* snkItem = iSinkQueue->First();
+        iSinkQueue->Remove(*snkItem);
+        iSnkItemsCount--;
+        CMMFBuffer* buffer = snkItem->Buffer();
+        DEBPRN2(_L("CProgDLMultimediaSource::ServiceFillBuffer() Buffer[%x]"), buffer );				    
+        MMultimediaDataSourceObserver* observer = snkItem->Observer();
+        MDataSink* consumer = snkItem->Consumer();
+        delete snkItem;
+        
+        if (CMMFBuffer::IsSupportedDataBuffer(buffer->Type()))
+            {
+            CTransferBufferCopy* transBufCopy = NULL;
+            CReadRequest* request = NULL;
+            
+            TDes8& bufferDes = STATIC_CAST( CMMFDataBuffer*, buffer )->Data();
+            
+            TInt requestSize;
+            if(buffer->RequestSize())
+                requestSize = buffer->RequestSize();
+            else
+                requestSize = bufferDes.MaxLength();
+            
+            //check whether buffer is safe to send to file server
+            //if not, eg for a transfer buffer, then it needs to be copied
+            if (!CMMFBuffer::IsFileServerSafe(buffer->Type()))
+                {
+                //NB: failure in this method will NOT cause transBufCopy to leak as it will be 
+                //inserted into iTransferBufferCopies by ObtainCopyOfTransferBufferL.
+                TRAP(status,transBufCopy = ObtainCopyOfTransferBufferL(bufferDes.MaxLength()));
+                
+                if(consumer && !observer)
+                    request = new(ELeave) CReadRequest(this,STATIC_CAST(TAny*, consumer), buffer, transBufCopy, iSnkBytes, iDownloadSize, ETrue);
+                else
+                    request = new(ELeave) CReadRequest(this,STATIC_CAST(TAny*, observer), buffer, transBufCopy, iSnkBytes, iDownloadSize, EFalse);					
+                
+                }
+            else
+                {
+                if(consumer && !observer)
+                    request = new(ELeave) CReadRequest(this,STATIC_CAST(TAny*, consumer), buffer, iSnkBytes, iDownloadSize, ETrue);
+                else
+                    request = new(ELeave) CReadRequest(this,STATIC_CAST(TAny*, observer), buffer, iSnkBytes, iDownloadSize, EFalse);					
+                }
+            
+            CleanupStack::PushL( request );
+            
+            TRAP_IGNORE(StoreRequestL(request)); // transfers ownership
+            CleanupStack::Pop() ; // request
+            
+            request->SetActive();
+            
+            //	iSnkBytes += requestSize;
+            request->Buffer()->SetLastBuffer(EFalse);
+            iFile->Read(request->BufferDes(), requestSize, request->iStatus);
+            
+            }
+        else // if (CMMFBuffer::IsSupportedDataBuffer(buffer->Type()))
+            return KErrNotSupported;
+        }
+        /*else if(iDownloadSize == iSnkBytes)
+        {
+        Stop();
+    }*/
+    else
+        {
+        
+        //StateChanged(EBUFFERING);
+        return KErrUnderflow;
+        }
+    return status;
+    }
+
+TInt CProgDLMultimediaSource::EmptySinkQueue()
+    {
+    TInt status(KErrNone);
+    // Empty sink queue
+    CSinkQueueItem* snkItem;
+    while ( !iSinkQueue->IsEmpty() )
+        {
+        snkItem = iSinkQueue->First();
+        iSinkQueue->Remove(*snkItem);
+        delete snkItem;
+        }
+    
+    iSnkItemsCount = 0;
+    return status;
+    }
+
+void CProgDLMultimediaSource::CalculateBufferedDataSize()
+    {
+    DEBPRN1(_L("CProgDLMultimediaSource::CalculateBufferedDataSize()"));
+    iBufferedDataSize = 0;
+    
+    // Get the bit rate from observer
+    if(iObserver)
+        iObserver->GetBitRate( iObserverBitRate );
+    
+    // If we don't know observer bit rate
+    if(iDownloadSize == iDLFileSize)
+        {
+        iBufferedDataSize = 0;
+        return;
+        }   
+
+    if(iObserverBitRate == 0 && (iSinkQueue->First() != NULL))
+        {
+            if(iPrimaryBufferingConfig.iType == TBufferingConfig::FIXEDDURATION
+            || iPrimaryBufferingConfig.iType == TBufferingConfig::DYNAMICDURATION)
+                {
+                    if(iSecondaryBufferingConfig.iType == TBufferingConfig::FIXEDDURATION
+                    || iSecondaryBufferingConfig.iType == TBufferingConfig::DYNAMICDURATION)
+                        {
+                        iBufferedDataSize =  iDLFileSize * iInitialBufferingPercentage / 100;       
+                        }
+                    else
+                        {
+                        if(iDLFileSize < iSecondaryBufferingConfig.iAmount)
+                            {
+                            iBufferedDataSize = iDLFileSize;
+                            }
+                        else
+                            {
+                            iBufferedDataSize = iSecondaryBufferingConfig.iAmount;
+                            }
+                        }    
+                }
+            else
+                {
+                if(iDLFileSize < iPrimaryBufferingConfig.iAmount)
+                    {
+                    iBufferedDataSize = iDLFileSize;
+                    }
+                else
+                    {
+                    iBufferedDataSize = iPrimaryBufferingConfig.iAmount;
+                    }
+                }                
+            
+        }
+     else
+        {
+            if(iPrimaryBufferingConfig.iType == TBufferingConfig::FIXEDDURATION
+            || iPrimaryBufferingConfig.iType == TBufferingConfig::DYNAMICDURATION)
+                {
+                TUint constantC = KMinPlaybackDuration * iObserverBitRate / 8;
+
+                // calculate time remaining
+                //TInt64 timeRemaining = ( iDLFileSize - iSnkBytes ) * 8 / iObserverBitRate;
+                TUint bytesRemaining = iDLFileSize - iSnkBytes;
+                iBufferedDataSize = bytesRemaining < constantC ? bytesRemaining : constantC;
+
+//                timeRemaining = timeRemaining < 0 ? 0 : timeRemaining;
+
+                // calculate the value in a temporary variable
+//                TInt64 bufferedDataSize = ((TInt64(iObserverBitRate)) - (TInt64(iTransferRate))) * timeRemaining / 8;
+//                bufferedDataSize = bufferedDataSize < constantC ? bufferedDataSize : constantC;
+
+//                iBufferedDataSize = bufferedDataSize > KMaxTUint ? KMaxTUint : I64LOW(bufferedDataSize);
+                }
+            else
+                {
+                iBufferedDataSize = iPrimaryBufferingConfig.iAmount;
+                }                
+        }   
+
+    DEBPRN5(_L("CProgDLMultimediaSource::CalculateBufferdDataSize[%u] ObserverBitRate[%d] SnkBytes[%u] TransferRate[%d]"), iBufferedDataSize,iObserverBitRate,iSnkBytes,iTransferRate );
+    }
+
+void CProgDLMultimediaSource::StateChanged(TState newState)
+    {
+    DEBPRN3(_L("CProgDLMultimediaSource::StateChanged OLD[%d] NEW[%d]"),iState, newState);        
+    if(iState != newState)
+        {
+        if(iMessage)
+            {
+            if(!iMessage->IsCompleted())
+                {
+                TPckgBuf<TState> statePckg(newState);	
+                iMessage->WriteDataToClient(statePckg);
+                iMessage->Complete(KErrNone);
+                delete iMessage;
+                iMessage = NULL;
+                }
+            }
+        iState = newState;
+        }
+    }
+
+TInt CProgDLMultimediaSource::ReadRequestStatus(CReadWriteRequest* aRequest, TRequestStatus& aStatus)
+    {
+    
+    if(aStatus != KErrNone)
+        {
+        TMMFEvent event(KMMFErrorCategoryControllerGeneralError, aStatus.Int());
+        //TODO: Need to send this error back to client. Currently removing this as iEventHandler is never set.
+        //iEventHandler->SendEventToClient(event);
+        return KErrNone;
+        }
+    else
+        {
+        
+        DEBPRN4(_L("CProgDLMultimediaSource::ReadRequestStatus Buffer[%x] BufferSize[%d] RequestSize[%d]"),aRequest->Buffer(),aRequest->Buffer()->BufferSize(),aRequest->Buffer()->RequestSize());
+        DEBPRN3(_L("CProgDLMultimediaSource::ReadRequestStatus Buffer[%x] LastBuffer[%d]"),aRequest->Buffer(),aRequest->Buffer()->LastBuffer());
+        
+        //Moved from CProgDLMultimediaSource::ServiceFillBuffer to handle deadlock situations
+        if ((iSnkBytes + aRequest->Buffer()->RequestSize()) >= iDownloadSize && isDownloadComplete)
+            {
+	              aRequest->Buffer()->SetLastBuffer(ETrue);
+                DEBPRN1(_L("CProgDLMultimediaSource::ReadRequestStatus() LastBuffer$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"));
+            }
+
+        TBool lastBuffer = aRequest->Buffer()->LastBuffer();
+        
+        if((aRequest->Buffer()->BufferSize() != aRequest->Buffer()->RequestSize()) && !lastBuffer)
+            {
+            if(aRequest->SourceType())
+                {
+                MDataSink* sinkOrSource = REINTERPRET_CAST(MDataSink*,aRequest->GetSinkOrSource());
+                TUint position = aRequest->Buffer()->Position();
+                TUint newPos = position - aRequest->Buffer()->BufferSize();
+                aRequest->Buffer()->SetPosition(newPos);
+                AppendBufferToSinkQueue(aRequest->Buffer(),(MMultimediaDataSourceObserver*)NULL,sinkOrSource,ETrue);
+                //iSnkBytes -= aRequest->Buffer()->BufferSize();
+                iFile->Seek(ESeekStart,iSnkBytes);
+                StateChanged(EBUFFERING);
+                }
+            else
+                {
+                MMultimediaDataSourceObserver* sinkOrSource = REINTERPRET_CAST(MMultimediaDataSourceObserver*,aRequest->GetSinkOrSource());
+                TInt position = aRequest->Buffer()->Position();
+                TInt newPos = position - aRequest->Buffer()->BufferSize();
+                aRequest->Buffer()->SetPosition(newPos);
+                AppendBufferToSinkQueue(aRequest->Buffer(),sinkOrSource,(MDataSink*)NULL,ETrue);
+                //iSnkBytes -= aRequest->Buffer()->BufferSize();
+                iFile->Seek(ESeekStart,iSnkBytes);
+                StateChanged(EBUFFERING);
+                }
+            }
+        else
+            {	
+            iSnkBytes += aRequest->Buffer()->BufferSize();
+            
+            
+            if(aRequest->SourceType())
+                    REINTERPRET_CAST(MDataSink*, aRequest->GetSinkOrSource())->BufferFilledL(aRequest->Buffer()) ; // callback to MDataSource/Sink
+            else
+                    REINTERPRET_CAST(MMultimediaDataSourceObserver*, aRequest->GetSinkOrSource())->BufferFilled(aRequest->Buffer()) ; // callback to MDataSource/Sink			
+                
+                
+            }
+            
+        iReadRequestPending--;
+        DEBPRN4(_L("CProgDLMultimediaSource::ReadRequestStatus iReadRequestPending[%d] isDownloadComplete[%d] iReOpenCAF[%d]"),iReadRequestPending,isDownloadComplete,iReOpenCAF);        
+        if(!iReadRequestPending && isDownloadComplete && !iReOpenCAF)
+            {
+            ReOpenCAF();
+            while ( !iSinkQueue->IsEmpty() )
+                {
+                TInt err = ServiceFillBuffer();
+                if(err == KErrUnderflow)
+                    {
+                    StateChanged(EBUFFERING);
+                    break;
+                    }
+                }
+            }
+        
+        return KErrNone;		
+        }
+    }
+
+
+TInt CProgDLMultimediaSource::ReOpenCAF()
+    {
+    TInt status(KErrNone);
+    DEBPRN2(_L("CProgDLMultimediaSource::ReOpenCAF ReOpenCAF[%d]"),iSnkBytes);     
+    delete iFile;
+    iFile = NULL;
+    
+    if (!iFile)
+        {
+        if (iFileHandle)
+            {
+            TRAPD(status,iFile = CContentFile::NewL(iHandle, UniqueId(), iCAFParameters->iEnableUI));
+            if(status)
+                return status;
+            }
+        else
+            {
+            // Open for read-only access
+            TRAPD(status,iFile = CContentFile::NewL(iFsSession, iFullFileName, UniqueId(), EFileShareAny, iCAFParameters->iEnableUI));
+            if(status)
+                return status;                    
+            }
+            
+         if(!status)
+            iFile->Seek(ESeekCurrent,iSnkBytes);   
+        }
+    
+    if(iFile)
+        {
+        if(iFile->IsProtected())
+            {
+            iFile->Size(iFileSize);
+            iDownloadSize = iFileSize;
+            iDLFileSize = iFileSize;
+            
+			if(iObserver)
+				{
+				iObserver->Event(KMultimediaDataSourceObserverEventSourceSizeChanged);
+				}
+            }
+        else
+            {
+			iFileSize = iDLFileSize;		          
+            }
+        }												
+
+    iReOpenCAF = ETrue;
+    DEBPRN3(_L("CProgDLMultimediaSource::ReOpenCAF Exit status[%d] iFileSize[%d]"),status,iFileSize);     
+    return status;    
+    }
+
+void CProgDLMultimediaSource::GetAudioConfiguration()
+    {
+    TInt bufType = 0;
+    TInt bufAmount = 0;
+    TInt bufPer = 0;
+    
+    iAudioConfigRepository->Get(KPDLPrimaryBufferingType,bufType);
+    iAudioConfigRepository->Get(KPDLPrimaryBufferingAmount,bufAmount);
+    
+    iPrimaryBufferingConfig.iType = TBufferingConfig::TBufferingType(bufType);
+    iPrimaryBufferingConfig.iAmount = bufAmount;
+    
+    iAudioConfigRepository->Get(KPDLSecondaryBufferingType,bufType);
+    iAudioConfigRepository->Get(KPDLSecondaryBufferingAmount,bufAmount);
+    
+    iSecondaryBufferingConfig.iType = TBufferingConfig::TBufferingType(bufType);
+    iSecondaryBufferingConfig.iAmount = bufAmount;
+    
+    iAudioConfigRepository->Get(KPDLInitialBufferingPercentage,bufPer);
+    iInitialBufferingPercentage = bufPer;
+    }
+
+TInt CProgDLMultimediaSource::Seek(TUint aPosInBytes)
+    {
+    DEBPRN2(_L("CProgDLMultimediaSource::Seek[%d]]"), aPosInBytes );
+    TInt status(KErrNone);
+    if(aPosInBytes <= iFileSize)
+        {
+        iSnkBytes = aPosInBytes;
+        status = iFile->Seek(ESeekStart,iSnkBytes);
+        }
+    else
+        {
+        status = KErrNotReady;        
+        }
+    return status;
+    }
+
+TInt CProgDLMultimediaSource::GetSeekingSupport( TBool& aSeekSupport )
+    {
+    aSeekSupport = ETrue;
+    return KErrNone;
+    }
+
+TInt CProgDLMultimediaSource::GetRandomSeekingSupport( TBool& aSeekSupport )
+    {
+    aSeekSupport = ETrue;
+    return KErrNone;
+    }
+//End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/SinkQueueItem.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Implementation of ProgDL Source Reader active object.
+*
+*/
+
+
+
+// INCLUDE FILES
+#ifdef _DEBUG
+#include    <e32svr.h>
+#endif
+
+#include "SinkQueueItem.h"
+#include <mmfdatasource.h>
+#include <mmfdatasink.h>
+#include <MultimediaDataSource.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSinkQueueItem::CSinkQueueItem
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSinkQueueItem::CSinkQueueItem(
+                               CMMFBuffer* aBuffer,
+                               MMultimediaDataSourceObserver* aMMDSObserver,
+                               MDataSink* aConsumer )
+                               :iBuffer(aBuffer),
+                               iMMDSObserver(aMMDSObserver),
+                               iConsumer(aConsumer)
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CSinkQueueItem::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSinkQueueItem::ConstructL()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CSinkQueueItem::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSinkQueueItem* CSinkQueueItem::NewL(
+                                     CMMFBuffer* aBuffer,
+                                     MMultimediaDataSourceObserver* aMMDSObserver,
+                                     MDataSink* aConsumer )
+    {
+    CSinkQueueItem* self = new(ELeave) CSinkQueueItem( aBuffer, aMMDSObserver, aConsumer );
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CSinkQueueItem::~CSinkQueueItem
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CSinkQueueItem::~CSinkQueueItem()
+    {
+    }
+
+CMMFDataBuffer* CSinkQueueItem::Buffer()
+    {    
+    return static_cast<CMMFDataBuffer*>(iBuffer);
+    }
+
+MMultimediaDataSourceObserver* CSinkQueueItem::Observer()
+    {
+    return iMMDSObserver;
+    }
+
+MDataSink* CSinkQueueItem::Consumer()
+    {
+    return iConsumer;
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/SinkQueueItem.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Definition of the ProgDL source reader active object class
+*
+*/
+
+
+#ifndef SINKQUEUEITEM_H
+#define SINKQUEUEITEM_H
+
+// INCLUDES
+#include <e32base.h>
+
+class CMMFBuffer;
+class CMMFDataBuffer;
+class MMultimediaDataSourceObserver;
+class MDataSink;
+
+class CSinkQueueItem : public CBase
+    {
+    public: // Constructors and destructor
+        static CSinkQueueItem* NewL( 
+            CMMFBuffer* aBuffer,
+            MMultimediaDataSourceObserver* aMMDSObserver,
+            MDataSink* aConsumer );
+        virtual ~CSinkQueueItem();
+        
+        CMMFDataBuffer* Buffer();
+        MMultimediaDataSourceObserver* Observer();
+        // This exists for legacy support
+        MDataSink* Consumer();
+        
+    private:
+        CSinkQueueItem(
+            CMMFBuffer* aBuffer,
+            MMultimediaDataSourceObserver* aMMDSObserver,
+            MDataSink* aConsumer );
+        void ConstructL();
+        
+    public:
+        // next item
+        TSglQueLink* iLink;
+        
+    private:
+        // Buffer to be sent to server-side
+        CMMFBuffer* iBuffer;
+        // Reference to Multimedia data source observer
+        MMultimediaDataSourceObserver* iMMDSObserver;
+        // Reference to MDataSink
+        MDataSink* iConsumer;
+    };
+
+#endif      // SINKQUEUEITEM_H
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/fileaccess.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,303 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Implementation of FileAccess Classes.
+*
+*/
+
+#include <f32file.h>
+#include <e32std.h>
+#include <caf/attribute.h>
+#include <caf/bitset.h>
+#include <caf/content.h>
+#include <caf/data.h>
+using namespace ContentAccess;
+#include <f32file.h>
+
+#include "FileAccess.h"
+
+CF32File::~CF32File()
+    {
+    if (!iFileHandle)
+        iFile.Close();
+    delete iFilePath;
+    }
+
+CF32File* CF32File::NewL(RFs& aSession, TDesC& aFilePath, TUint aMode) 
+    {
+    CF32File* self = new (ELeave) CF32File;
+    CleanupStack::PushL(self);
+    self->ConstructL(aSession, aFilePath, aMode);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+
+void CF32File::ConstructL(RFs& aSession, TDesC& aPath, TUint aFileMode)
+    {
+    iSession = &aSession;
+    iFilePath = aPath.AllocL();
+    TUint attributes = 0;
+    TInt err = iSession->Att(*iFilePath, attributes);
+    if (err == KErrNone)
+        {
+        if ( attributes & KEntryAttReadOnly )
+            User::LeaveIfError(iFile.Open(*iSession, *iFilePath, EFileShareReadersOnly )) ;
+        else //if ( !( attributes & KEntryAttReadOnly ) )
+            User::LeaveIfError(iFile.Open(*iSession, *iFilePath, aFileMode)) ;
+        }
+    else if ((err == KErrNotFound) && (aFileMode & EFileWrite))
+        {
+        User::LeaveIfError(iFile.Create(*iSession, *iFilePath, aFileMode )) ;
+        }
+    else
+        {
+        User::Leave(err);
+        }
+    }
+
+
+RFile& CF32File::FileL() 
+    {
+    return iFile;
+    }
+
+TInt CF32File::Seek(TSeek aSeekMode, TInt aPos)
+    {
+    return iFile.Seek(aSeekMode, aPos);
+    }
+
+TInt CF32File::Read(TDes8& aDes,TInt aLength)
+    {
+    return iFile.Read(aDes, aLength);
+    }
+
+void CF32File::Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus)
+    {
+    iFile.Read(aDes, aLength, aStatus);
+    }
+
+TInt CF32File::Write(const TDesC8& aDes,TInt aLength)
+    {
+    return iFile.Write(aDes, aLength);
+    }
+
+void CF32File::Write(const TDesC8& aDes, TInt aLength, TRequestStatus& aStatus)
+    {
+    iFile.Write(aDes, aLength, aStatus);
+    }
+
+TInt CF32File::Size(TInt& aSize)
+    {
+    return iFile.Size(aSize);
+    }
+
+TInt CF32File::SetSize(TInt aSize)	
+    {
+    TInt err =  iFile.SetSize(aSize);
+    if(err == KErrNone)
+        iFileSize = aSize;
+    else
+        iFileSize = -1;
+    
+    return err;
+    }
+
+TInt CF32File::EvaluateIntent(TIntent /*aIntent*/) const
+    {
+    return KErrNone;
+    }
+
+
+TInt CF32File::ExecuteIntent(TIntent /*aIntent*/)
+    {
+    return KErrNone;
+    }
+
+TBool CF32File::IsProtected() const
+    {
+    return EFalse;
+    }
+
+TInt CF32File::SetAgentProperty(TAgentProperty /*aProperty*/, TInt /*aValue*/)
+    {
+    // not an error to set this if not supported, just wont do anything
+    return KErrNone;
+    }
+
+CContentFile::~CContentFile()
+    {
+    delete iData;
+    
+    if (iLegacyFileOpen)
+        iLegacyFile.Close();
+    delete iFilePath;
+    }
+
+
+CContentFile* CContentFile::NewL(RFs& aSession, const TDesC& aFilePath, const TDesC& aUniqueId, TUint aMode, TBool aEnableUI) 
+    {
+    CContentFile* self = new (ELeave) CContentFile;
+    CleanupStack::PushL(self);
+    self->ConstructL(aSession, aFilePath, aUniqueId, aMode, aEnableUI);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+void CContentFile::ConstructL(RFs& aSession, const TDesC& aPath, const TDesC& aUniqueId, TUint /*aMode*/, TBool aEnableUI)
+    {
+    iSession = &aSession;
+    iFilePath = aPath.AllocL();
+    
+    // Assume that we want the content to be shared and read-only.
+    if (aUniqueId.Length() > 0)
+        {
+        iData = CData::NewL(TVirtualPathPtr(*iFilePath, aUniqueId), EContentShareReadWrite);
+        }
+    else
+        {
+        iData = CData::NewL(TVirtualPathPtr(*iFilePath), EContentShareReadWrite);
+        }
+    
+    TInt err = iData->SetProperty(EAgentPropertyAgentUI, aEnableUI);
+    if (err != KErrNone && err != KErrCANotSupported)
+        {
+        User::Leave(err);
+        }
+    User::LeaveIfError(iData->EvaluateIntent(EPeek));
+    }
+
+
+
+TInt CContentFile::EvaluateIntent(TIntent aIntent) const
+    {
+    ASSERT(iData);
+    return iData->EvaluateIntent(aIntent);
+    }
+
+
+TInt CContentFile::ExecuteIntent(TIntent aIntent)
+    {
+    ASSERT(iData);
+    return iData->ExecuteIntent(aIntent);
+    }
+
+TBool CContentFile::IsProtected() const
+    {
+    ASSERT(iData);
+    TInt value = 0;
+    TInt err =iData->GetAttribute(EIsProtected, value);
+    return (err == KErrNone && value);
+    }
+
+TInt CContentFile::SetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue)
+    {
+    ASSERT(iData);
+    return iData->SetProperty(aProperty, aValue);
+    }
+
+TInt CContentFile::Seek(TSeek aSeekMode, TInt aPos)
+    {
+    ASSERT(iData);
+    return iData->Seek(aSeekMode, aPos);
+    }
+
+TInt CContentFile::Read(TDes8& aDes,TInt aLength)
+    {
+    ASSERT(iData);
+    return iData->Read(aDes,aLength);
+    }
+
+void CContentFile::Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus)
+    {
+    ASSERT(iData);
+    iData->Read(aDes, aLength, aStatus);
+    }
+
+TInt CContentFile::Write(const TDesC8& /*aDes*/,TInt /*aLength*/)
+    {
+    return KErrAccessDenied;
+    }
+void CContentFile::Write(const TDesC8& /*aDes*/, TInt /*aLength*/, TRequestStatus& aStatus)
+    {
+    TRequestStatus* status = &aStatus;
+    User::RequestComplete(status, KErrAccessDenied);
+    }
+
+TInt CContentFile::SetSize(TInt /*aSize*/)
+    {
+    // Only a source is implemented, hence this cannot be allowed
+    return KErrAccessDenied;
+    }
+
+
+// Get the size of file
+// this method opens a new, read-only, RFile the first time this method is called
+
+TInt CContentFile::Size(TInt& aSize)
+    {
+    ASSERT(iData);
+    TRAPD(err, iData->DataSizeL(aSize));
+    return err;
+    }
+
+    /**
+    * return a RFile for the legacy RFile method
+    * this method opens a new, read-only, RFile the first time this method is called
+    * @internalTechnology
+    * @return Reference to RFile handle to current file
+*/
+RFile& CContentFile::FileL() 
+    {
+    if (!iLegacyFileOpen)
+        {
+        User::LeaveIfError(iLegacyFile.Open(*iSession, *iFilePath, EFileRead | EFileStream | EFileShareReadersOnly));
+        iLegacyFileOpen = ETrue;
+        }
+    return iLegacyFile;
+    }
+
+CF32File* CF32File::NewL(RFile& aFile) 
+    {
+    CF32File* self = new (ELeave) CF32File;
+    CleanupStack::PushL(self);
+    self->ConstructL(aFile);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+void CF32File::ConstructL(RFile& aFile)
+    {
+    iFile = aFile;
+    iFileHandle = ETrue;
+    }
+
+CContentFile* CContentFile::NewL(RFile& aFile, const TDesC& aUniqueId, TBool aEnableUI) 
+    {
+    CContentFile* self = new (ELeave) CContentFile;
+    CleanupStack::PushL(self);
+    self->ConstructL(aFile, aUniqueId, aEnableUI);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+void CContentFile::ConstructL(RFile& aFile, const TDesC& aUniqueId, TBool aEnableUI)
+    {
+    iData = CData::NewL(aFile, aUniqueId);
+    TInt err = iData->SetProperty(EAgentPropertyAgentUI, aEnableUI);
+    if (err != KErrNone && err != KErrCANotSupported)
+        {
+        User::Leave(err);
+        }
+    User::LeaveIfError(iData->EvaluateIntent(EPeek));
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/BWINS/TransferRateMonitor.def	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,9 @@
+EXPORTS
+	??1CTransferRateMonitor@@UAE@XZ @ 1 NONAME ; CTransferRateMonitor::~CTransferRateMonitor(void)
+	?NewL@CTransferRateMonitor@@SAPAV1@AAVMTransferRateObserver@@II@Z @ 2 NONAME ; class CTransferRateMonitor * CTransferRateMonitor::NewL(class MTransferRateObserver &, unsigned int, unsigned int)
+	?Reset@CTransferRateMonitor@@QAEHXZ @ 3 NONAME ; int CTransferRateMonitor::Reset(void)
+	?Start@CTransferRateMonitor@@QAEHXZ @ 4 NONAME ; int CTransferRateMonitor::Start(void)
+	?Stop@CTransferRateMonitor@@QAEXXZ @ 5 NONAME ; void CTransferRateMonitor::Stop(void)
+	?Tick@CTransferRateMonitor@@CAHPAX@Z @ 6 NONAME ; int CTransferRateMonitor::Tick(void *)
+	?TransferRate@CTransferRateMonitor@@QAEIXZ @ 7 NONAME ; unsigned int CTransferRateMonitor::TransferRate(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/EABI/TransferRateMonitor.def	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,13 @@
+EXPORTS
+	_ZN20CTransferRateMonitor12TransferRateEv @ 1 NONAME
+	_ZN20CTransferRateMonitor4NewLER21MTransferRateObserverjj @ 2 NONAME
+	_ZN20CTransferRateMonitor4StopEv @ 3 NONAME
+	_ZN20CTransferRateMonitor4TickEPv @ 4 NONAME
+	_ZN20CTransferRateMonitor5ResetEv @ 5 NONAME
+	_ZN20CTransferRateMonitor5StartEv @ 6 NONAME
+	_ZN20CTransferRateMonitorD0Ev @ 7 NONAME
+	_ZN20CTransferRateMonitorD1Ev @ 8 NONAME
+	_ZN20CTransferRateMonitorD2Ev @ 9 NONAME
+	_ZTI20CTransferRateMonitor @ 10 NONAME DATA 12 ; #<TI>#
+	_ZTV20CTransferRateMonitor @ 11 NONAME DATA 20 ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/group/TransferRateMonitor.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project file for EnhancedMediaClient Utility
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          TransferRateMonitor.dll
+TARGETTYPE      DLL
+UID             0x1000008D 0x10207B4D
+CAPABILITY      CAP_GENERAL_DLL
+VENDORID        VID_DEFAULT
+
+SOURCEPATH      ../src
+SOURCE          TransferRateMonitor.cpp
+
+USERINCLUDE     ../inc
+USERINCLUDE	    ../../../../inc
+
+MW_LAYER_SYSTEMINCLUDE
+
+LIBRARY         euser.lib
+
+DEFFILE         TransferRateMonitor.def
+NOSTRICTDEF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Blf.inf file for the TransferRateMonitor Project
+*
+*/
+
+
+PRJ_EXPORTS
+
+
+PRJ_MMPFILES
+TransferRateMonitor.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/inc/TransferRateMonitor.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project file for EnhancedMediaClient Utility
+*
+*/
+
+
+#ifndef TRANSFERRATEMONITOR_H
+#define TRANSFERRATEMONITOR_H
+
+#include <e32base.h>
+
+class MTransferRateObserver
+    {
+    public:
+        // Called by CTransferRateMonitor when transfer rate changes by delta.
+        virtual void TransferRateChanged() = 0;
+        virtual TInt GetCurrentSize( TUint& aCurrentSize ) = 0;
+    };
+
+class CTransferRateMonitor : public CBase
+    {
+    public:
+        IMPORT_C static CTransferRateMonitor* NewL( MTransferRateObserver& aObserver,
+            TUint aFrequency,
+            TUint aDelta ) ;
+        IMPORT_C ~CTransferRateMonitor();
+        
+        // Returns previously calculated transfer rate.
+        IMPORT_C TUint TransferRate();
+        
+        IMPORT_C TInt Start();
+        IMPORT_C void Stop();
+        IMPORT_C TInt Reset();
+        
+    private:
+        CTransferRateMonitor( MTransferRateObserver& aObserver,
+            TUint aFrequency,
+            TUint aDelta ) ;
+        void ConstructL();
+        
+        static TInt Tick(TAny* aObject);
+        void DoTick();
+        
+    private:
+        // Pointer reference to observer
+        MTransferRateObserver* iObserver;
+        // Frequency in seconds after which timer need to go off
+        TUint iFrequency;
+        // Change in transfer rate that will trigger observer callback
+        TUint iDelta;
+        // Current transfer rate
+        TUint iTransferRate;
+        // Reference transfer rate at which observer callback was triggered
+        TUint iRefTransferRate;
+        // Size from last transfer rate calculation
+        TUint iPrevSize;
+        // timer
+        CPeriodic* iPeriodic;
+    };
+
+#endif // TRANSFERRATEMONITOR_H
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Plugins/TransferRateMonitor/src/TransferRateMonitor.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project file for EnhancedMediaClient Utility
+*
+*/
+
+
+#include "TransferRateMonitor.h"
+#include <MultimediaDataSource.h>
+
+CTransferRateMonitor::CTransferRateMonitor( MTransferRateObserver& aObserver,
+                                           TUint aFrequency,
+                                           TUint aDelta )
+                                           : iObserver(&aObserver),
+                                           iFrequency(aFrequency),
+                                           iDelta(aDelta)
+    {
+    // Create timer here
+    }
+
+EXPORT_C CTransferRateMonitor::~CTransferRateMonitor()
+    {
+    if ( iPeriodic )
+        {
+        iPeriodic->Cancel();
+        }
+    delete iPeriodic;
+    }
+EXPORT_C CTransferRateMonitor* CTransferRateMonitor::NewL( MTransferRateObserver& aObserver,
+                                                          TUint aFrequency,
+                                                          TUint aDelta )
+    {
+    CTransferRateMonitor* self = new (ELeave)CTransferRateMonitor( aObserver, aFrequency, aDelta );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+void CTransferRateMonitor::ConstructL()
+    {
+    iPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
+    }
+
+EXPORT_C TUint CTransferRateMonitor::TransferRate()
+    {
+    return iTransferRate;
+    }
+
+EXPORT_C TInt CTransferRateMonitor::Start()
+    {
+    TInt status(KErrNotReady);
+    if ( !iPeriodic->IsActive() )
+        {
+        TTimeIntervalMicroSeconds32 interval( iFrequency * 1000000 ); // Convert to micro seconds
+        iPeriodic->Start( interval, interval, TCallBack(Tick, this) );
+        status = KErrNone;
+        }
+    return status;
+    }
+
+EXPORT_C void CTransferRateMonitor::Stop()
+    {
+    iPeriodic->Cancel();
+    }
+
+EXPORT_C TInt CTransferRateMonitor::Reset()
+    {
+    TInt status(KErrNotReady);
+    if ( !iPeriodic->IsActive() )
+        {
+        iTransferRate = 0;
+        iRefTransferRate = 0;
+        iPrevSize = 0;
+        status = KErrNone;
+        }
+    return status;
+    }
+
+EXPORT_C TInt CTransferRateMonitor::Tick(TAny* aObject)
+    {
+    ((CTransferRateMonitor*)aObject)->DoTick();
+    return 1;
+    }
+
+void CTransferRateMonitor::DoTick()
+    {
+    TUint curSize(0);
+    if (iObserver->GetCurrentSize(curSize) == KErrNone)
+        {
+        iTransferRate = ( curSize - iPrevSize ) * 8 / iFrequency;
+        iPrevSize = curSize;
+        TInt diffInTransferRate = Abs ( iTransferRate - iRefTransferRate );
+        if ( diffInTransferRate >= iDelta )
+            {
+            iRefTransferRate = iTransferRate;
+            iObserver->TransferRateChanged();
+            }
+        }
+    }
+
+//  End of File
--- a/mmfenh/enhancedmediaclient/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedmediaclient/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -31,10 +31,12 @@
 PRJ_MMPFILES
 #include "../Plugins/StreamControlCustomCommands/group/bld.inf"
 #include "../Plugins/DataBufferSource/group/bld.inf"
+#include "../Plugins/ProgDLSource/group/bld.inf"
 #include "../Plugins/DescriptorSource/group/bld.inf"
 #include "../Plugins/FileSource/group/bld.inf"
 #include "../Plugins/CacheSource/group/bld.inf"
 #include "../Plugins/DataSourceConfigIntfc/group/bld.inf"
+#include "../Plugins/TransferRateMonitor/group/bld.inf"
 #include "../Client/group/bld.inf"
 #include "../Plugins/MultimediaDataSource/group/bld.inf"
 #include "../Plugins/MultimediaDataSource/DataSourceFactory/group/bld.inf"
--- a/mmfenh/enhancedmediaclient/rom/EnhancedMediaClient.iby	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/enhancedmediaclient/rom/EnhancedMediaClient.iby	Wed Sep 01 12:23:00 2010 +0100
@@ -29,7 +29,9 @@
 
 
 file=ABI_DIR\BUILD_DIR\EnhancedMediaClient.dll	            SHARED_LIB_DIR\EnhancedMediaClient.dll
+file=ABI_DIR\BUILD_DIR\TransferRateMonitor.dll		        SHARED_LIB_DIR\TransferRateMonitor.dll
 
+ECOM_PLUGIN(ProgDLSource.dll,ProgDLSource.rsc)
 ECOM_PLUGIN(DataBufferSource.DLL,DataBufferSource.rsc)
 ECOM_PLUGIN(FileSource.DLL,FileSource.rsc)
 ECOM_PLUGIN(DescriptorDataSource.DLL,DescriptorDataSource.rsc)
--- a/mmfenh/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -28,6 +28,8 @@
 #include "../enhancedaudioplayerutility/Group/bld.inf"
 #include "../enhancedmediaclient/group/bld.inf"
 #include "../profilesettingsmonitor/group/bld.inf"
+#include "../progressivedownload/group/bld.inf"
+
 
 
 //  End of File
--- a/mmfenh/profilesettingsmonitor/group/ProfileSettingsMonitor.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/profilesettingsmonitor/group/ProfileSettingsMonitor.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -41,7 +41,10 @@
 LIBRARY		    ProfileEngine.lib
 LIBRARY		centralrepository.lib
 LIBRARY         euser.lib
-LIBRARY         ProfileEng.lib
+
+#ifdef WINSCW
+EPOCHEAPSIZE 0x1000 0x40000
+#endif
 
 epocprocesspriority background
 
--- a/mmfenh/profilesettingsmonitor/inc/ProfileSettingsMonitorServerImpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/profilesettingsmonitor/inc/ProfileSettingsMonitorServerImpl.h	Wed Sep 01 12:23:00 2010 +0100
@@ -29,7 +29,6 @@
 #include <MProEngActiveProfileObserver.h>
 #include <MProEngProfileActivationObserver.h>
 #include <MProEngNotifyHandler.h>
-#include <MProEngTones.h>
 #include <MProEngToneSettings.h>
 #include <e32property.h>
 #include <GlobalAudioSettingsPSKeys.h>
@@ -37,15 +36,13 @@
 #include <ProfileEngineDomainCRKeys.h>
 #include <ProfilesVariant.hrh>
 #include <e32capability.h>
-#include <GlobalAudioSettings.h>
-#include <MProfileEngineExtended2.h>
 class CProfileSettingsMonitorServerImpl : 
 public CBase, 
 public MProEngProfileActivationObserver, 
 public MProEngActiveProfileObserver
 	{
 public:
-	static CProfileSettingsMonitorServerImpl* NewL(); 
+	IMPORT_C static CProfileSettingsMonitorServerImpl* NewL(); 
 	~CProfileSettingsMonitorServerImpl();
 	
 	//MProEngProfileActivationObserver
@@ -65,42 +62,21 @@
 	// Initializes publish and subscribe keys used for
 	// audio clients list implementation
 	void InitializeAudioClientsListPSKeysL();
-	void CMapGASRingingType(TProfileRingingType aRingingType);
-	void CMapGASKeypadVolume(TProfileKeypadVolume aKeypadVolume);
 
 private:
     MProEngEngine* iEngine;
     MProEngNotifyHandler* iNotifyHandler;
-    MProfileEngineExtended2* iProfileEngineExtended;
     TInt iActiveProfileId;
     TBool iWarningTones;
     TBool iMessagingTones;
     TBool iSilentProfile;
     TBool iVibra;
     TBool iPublicSilence;
-    HBufC* iMessageToneName;
-    HBufC* iEmailToneName;
-    HBufC* iVideoCallToneName;
-    HBufC* iRingingTone1Name;
-    HBufC* iRingingTone2Name;
-  
-    CGlobalAudioSettings::TGASRingingType iGASRingingType;
-  
-    CGlobalAudioSettings::TGASKeypadVolume iGASKeypadVolume;
-    TBool iSilenceMode;
     RProperty iWarningTonesProperty;
     RProperty iMessagingTonesProperty;
     RProperty iSilentProfileProperty;
     RProperty iVibraProperty;
     RProperty iPublicSilenceProperty;
-    RProperty iMessageToneNameProperty;
-    RProperty iEmailToneNameProperty;
-    RProperty iRingingTypeProperty;
-    RProperty iVideoCallToneNameProperty;
-    RProperty iRingingTone1NameProperty;
-    RProperty iRingingTone2NameProperty;
-    RProperty iKeypadVolumeProperty;
-    RProperty iSilenceModeProperty;
 	};
 
 #endif
--- a/mmfenh/profilesettingsmonitor/src/ProfileSettingsMonitorServerImpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmfenh/profilesettingsmonitor/src/ProfileSettingsMonitorServerImpl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -21,7 +21,6 @@
 #include <AudioClientsListPSKeys.h>
 #include <AudioClientsListPSData.h>
 #include <MediaStreamPropertiesPSKeys.h>
-#include <MProfileExtended.h>
 
 #ifdef _DEBUG
 #define DEB_TRACE0(str)             RDebug::Print(str)
@@ -54,57 +53,6 @@
 	iVibraProperty.Close();
 	RProperty::Delete(KGASPSUidGlobalAudioSettings, KGASVibra);
 	
-	iRingingTypeProperty.Close();
-	RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASRingingType);
-	
-	iMessageToneNameProperty.Close();
-	RProperty::Delete(KGASPSUidGlobalAudioSettings, KGASMessageToneName);
-	
-	iEmailToneNameProperty.Close();
-	RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASEmailToneName);
-	
-	iVideoCallToneNameProperty.Close();
-	RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASVideoCallToneName);
-	
-	iRingingTone1NameProperty.Close();
-	RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASRingingTone1Name);
-	
-	iRingingTone2NameProperty.Close();
-    RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASRingingTone2Name);
-	
-	iKeypadVolumeProperty.Close();
-	RProperty::Delete(KGASPSUidGlobalAudioSettings,KGASKeypadToneVolume);
-	
-	if(iMessageToneName)
-	  {
-	  delete iMessageToneName;
-	  iMessageToneName=NULL;
-	  }
-	if(iEmailToneName)
-	  {
-	  delete iEmailToneName;
-	  iEmailToneName=NULL;
-	  }
-	if(iVideoCallToneName)
-	  {
-	  delete iVideoCallToneName;
-	  iVideoCallToneName=NULL;
-	  }
-	if(iRingingTone1Name)
-	  {
-	  delete iRingingTone1Name;
-	  iRingingTone1Name=NULL;
-	  }
-	if(iRingingTone2Name)
-	   {
-	   delete iRingingTone2Name;
-	   iRingingTone2Name=NULL;
-	   }
-	if(iProfileEngineExtended)
-	    {
-	    iProfileEngineExtended->Release();
-	    }
-	//delete iProfileEngineExtended;
 	// Release profile engine resources
 	if ( iEngine )
 	    {
@@ -144,30 +92,8 @@
     iWarningTones = settings.WarningAndGameTones();
     iMessagingTones = !( currentProfile->IsSilent() );
     iVibra = settings.VibratingAlert();
-  
-    CMapGASRingingType( settings.RingingType());
-    
     //CleanupStack::PopAndDestroy(currentProfile);
-   
-    MProEngTones& profileTones=currentProfile->ProfileTones();
-    
-    iMessageToneName=profileTones.MessageAlertTone().AllocL();
-   
-    iEmailToneName=profileTones.EmailAlertTone().AllocL();
     
-    iVideoCallToneName=profileTones.VideoCallRingingTone().AllocL();
-    
-    iRingingTone1Name=profileTones.RingingTone1().AllocL();
-    
-    iRingingTone2Name=profileTones.RingingTone2().AllocL();
-        
-  
-    CMapGASKeypadVolume(settings.KeypadVolume());
-    
-    iProfileEngineExtended =::CreateProfileEngineExtended2L();
-   
-     iSilenceMode = iProfileEngineExtended->SilenceModeL();
-     RDebug::Printf("value of silence mode %d",iSilenceMode);
     // Get PublicSilence from CenRep
     TInt featureBitmask( 0 );     
     CRepository* profileCenRep = CRepository::NewL( KCRUidProfilesLV );
@@ -256,117 +182,6 @@
                                                 KGASPSUidGlobalAudioSettings,
                                                 KGASPublicSilence,
                                                 iPublicSilence));
-    
-    
-    
-    User::LeaveIfError(RProperty::Define(
-                                    KGASPSUidGlobalAudioSettings,
-                                    KGASRingingType,
-                                    RProperty::EInt,
-                                    read,
-                                    write));
-    User::LeaveIfError(iRingingTypeProperty.Attach(
-                                              KGASPSUidGlobalAudioSettings,
-                                              KGASRingingType));
-    User::LeaveIfError(iRingingTypeProperty.Set(
-                                              KGASPSUidGlobalAudioSettings,
-                                              KGASRingingType,
-                                              iGASRingingType));
-    User::LeaveIfError(RProperty::Define(
-                                    KGASPSUidGlobalAudioSettings,
-                                    KGASMessageToneName,
-                                    RProperty::EText,
-                                    read,
-                                    write));
-    User::LeaveIfError(iMessageToneNameProperty.Attach(
-                                                KGASPSUidGlobalAudioSettings,
-                                                KGASMessageToneName));
-    User::LeaveIfError(iMessageToneNameProperty.Set(
-                                                KGASPSUidGlobalAudioSettings,
-                                                KGASMessageToneName,
-                                                *iMessageToneName));
-    
-    User::LeaveIfError(RProperty::Define(
-                                    KGASPSUidGlobalAudioSettings,
-                                    KGASEmailToneName,
-                                    RProperty::EText,
-                                    read,
-                                    write));
-    User::LeaveIfError(iEmailToneNameProperty.Attach(
-                                               KGASPSUidGlobalAudioSettings,
-                                               KGASEmailToneName));
-    User::LeaveIfError(iEmailToneNameProperty.Set(
-                                               KGASPSUidGlobalAudioSettings,
-                                               KGASEmailToneName,
-                                               *iEmailToneName));
-    User::LeaveIfError(RProperty::Define(
-                                    KGASPSUidGlobalAudioSettings,
-                                    KGASVideoCallToneName,
-                                    RProperty::EText,
-                                    read,
-                                    write));
-    User::LeaveIfError(iVideoCallToneNameProperty.Attach(
-                                               KGASPSUidGlobalAudioSettings,
-                                               KGASVideoCallToneName));
-    User::LeaveIfError(iVideoCallToneNameProperty.Set(
-                                               KGASPSUidGlobalAudioSettings,
-                                               KGASVideoCallToneName,
-                                               *iVideoCallToneName));
-        
-    User::LeaveIfError(RProperty::Define(
-                                    KGASPSUidGlobalAudioSettings,
-                                    KGASRingingTone1Name,
-                                    RProperty::EText,
-                                    read,
-                                    write));
-    User::LeaveIfError(iRingingTone1NameProperty.Attach(
-                                               KGASPSUidGlobalAudioSettings,
-                                               KGASRingingTone1Name));
-    User::LeaveIfError(iRingingTone1NameProperty.Set(
-                                               KGASPSUidGlobalAudioSettings,
-                                               KGASRingingTone1Name,
-                                               *iRingingTone1Name));
-    User::LeaveIfError(RProperty::Define(
-                                    KGASPSUidGlobalAudioSettings,
-                                    KGASRingingTone2Name,
-                                    RProperty::EText,
-                                    read,
-                                    write));
-    User::LeaveIfError(iRingingTone2NameProperty.Attach(
-                                               KGASPSUidGlobalAudioSettings,
-                                               KGASRingingTone2Name));
-    User::LeaveIfError(iRingingTone2NameProperty.Set(
-                                               KGASPSUidGlobalAudioSettings,
-                                               KGASRingingTone2Name,
-                                               *iRingingTone2Name));
-    
-    User::LeaveIfError(RProperty::Define(
-                                    KGASPSUidGlobalAudioSettings,
-                                    KGASKeypadToneVolume,
-                                    RProperty::EInt,
-                                    read,
-                                    write));
-    User::LeaveIfError(iKeypadVolumeProperty.Attach(
-                                               KGASPSUidGlobalAudioSettings,
-                                               KGASKeypadToneVolume));
-    User::LeaveIfError(iKeypadVolumeProperty.Set(
-                                               KGASPSUidGlobalAudioSettings,
-                                               KGASKeypadToneVolume,
-                                               iGASKeypadVolume));
-    
-    User::LeaveIfError(RProperty::Define(
-                                        KGASPSUidGlobalAudioSettings,
-                                        KGASSilenceMode,
-                                        RProperty::EInt,
-                                        read,
-                                        write));
-        User::LeaveIfError(iSilenceModeProperty.Attach(
-                                                   KGASPSUidGlobalAudioSettings,
-                                                   KGASSilenceMode));
-        User::LeaveIfError(iSilenceModeProperty.Set(
-                                                   KGASPSUidGlobalAudioSettings,
-                                                   KGASSilenceMode,
-                                                   iSilenceMode));
 
     //Stream Gain Control
     TInt status = RProperty::Define(
@@ -506,84 +321,6 @@
                                                 KGASVibra,
                                                 iVibra));
             }
-        if(iGASRingingType != settings.RingingType())
-            {
-            
-             CMapGASRingingType(settings.RingingType());
-            
-             User::LeaveIfError(iRingingTypeProperty.Set(
-                                                         KGASPSUidGlobalAudioSettings,
-                                                         KGASRingingType,
-                                                         iGASRingingType));
-             
-            }
-        MProEngTones &profileTones=currentProfile->ProfileTones();
-        if(iMessageToneName->Compare(profileTones.MessageAlertTone())!= 0)
-            {
-              delete iMessageToneName;
-              iMessageToneName=NULL;
-              iMessageToneName=profileTones.MessageAlertTone().AllocL();
-              User::LeaveIfError(iMessageToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                              KGASMessageToneName,
-                                                              *iMessageToneName));
-            }
-        if(iEmailToneName->Compare(profileTones.EmailAlertTone())!= 0)
-            {
-              delete iEmailToneName;
-              iEmailToneName=NULL;
-              iEmailToneName=profileTones.EmailAlertTone().AllocL();
-              User::LeaveIfError(iEmailToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                                            KGASEmailToneName,
-                                                                            *iEmailToneName));
-            }
-        if(iVideoCallToneName->Compare(profileTones.VideoCallRingingTone())!=0)
-            {
-              delete iVideoCallToneName;
-              iVideoCallToneName=NULL;
-              iVideoCallToneName=profileTones.VideoCallRingingTone().AllocL();
-              User::LeaveIfError(iVideoCallToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                                                          KGASVideoCallToneName,
-                                                                                          *iVideoCallToneName));
-              
-            }
-        if(iRingingTone1Name->Compare(profileTones.RingingTone1())!=0)
-            {
-          delete iRingingTone1Name;
-          iRingingTone1Name=NULL;
-          iRingingTone1Name=profileTones.RingingTone1().AllocL();
-          User::LeaveIfError(iRingingTone1NameProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                                                      KGASRingingTone1Name,
-                                                                                      *iRingingTone1Name));
-            }
-        if(iRingingTone2Name->Compare(profileTones.RingingTone2())!=0)
-                    {
-                   delete iRingingTone2Name;
-                  iRingingTone2Name=NULL;
-                  iRingingTone2Name=profileTones.RingingTone2().AllocL();
-                  User::LeaveIfError(iRingingTone2NameProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                                                              KGASRingingTone2Name,
-                                                                                              *iRingingTone2Name));
-                    }
-        if(iGASKeypadVolume!=settings.KeypadVolume())
-            {
-              
-              CMapGASKeypadVolume(settings.KeypadVolume());
-              User::LeaveIfError(iKeypadVolumeProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                                                        KGASKeypadToneVolume,
-                                                                                        iGASKeypadVolume));
-              
-              
-            }
-        if(iSilenceMode != iProfileEngineExtended->SilenceModeL())
-            {
-             RDebug::Printf("silence mode changed");
-             iSilenceMode = iProfileEngineExtended->SilenceModeL();
-             User::LeaveIfError(iSilenceModeProperty.Set(
-                                                        KGASPSUidGlobalAudioSettings,
-                                                        KGASSilenceMode,
-                                                        iSilenceMode));
-            }
-        
         CleanupStack::PopAndDestroy(currentProfile);
         }
 #ifdef _DEBUG
@@ -609,7 +346,6 @@
     CleanupReleasePushL(*currentProfile);
     
     MProEngToneSettings& settings = currentProfile->ToneSettings();
-    MProEngTones& profileTones=currentProfile->ProfileTones();
     if(iWarningTones != settings.WarningAndGameTones())
         {
         iWarningTones = settings.WarningAndGameTones();
@@ -635,85 +371,6 @@
                                             KGASVibra,
                                             iVibra));
         }
-    if(iGASRingingType != settings.RingingType())
-        {
-        
-         CMapGASRingingType(settings.RingingType());
-         
-         User::LeaveIfError(iRingingTypeProperty.Set(
-                                                     KGASPSUidGlobalAudioSettings,
-                                                     KGASRingingType,
-                                                     iGASRingingType));
-        }
-    if(iMessageToneName->Compare(profileTones.MessageAlertTone())!= 0)
-        {
-          delete iMessageToneName;
-          iMessageToneName=NULL;
-          iMessageToneName=profileTones.MessageAlertTone().AllocL();
-          
-          User::LeaveIfError(iMessageToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                          KGASMessageToneName,
-                                                          *iMessageToneName));
-        }
-    
-    if(iEmailToneName->Compare(profileTones.EmailAlertTone())!= 0)
-        {
-          delete iEmailToneName;
-          iEmailToneName=NULL;
-          iEmailToneName=profileTones.EmailAlertTone().AllocL();
-          User::LeaveIfError(iEmailToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                                        KGASEmailToneName,
-                                                                        *iEmailToneName));
-        }
-    if(iVideoCallToneName->Compare(profileTones.VideoCallRingingTone())!=0)
-        {
-          delete iVideoCallToneName;
-          iVideoCallToneName=NULL;
-          iVideoCallToneName=profileTones.VideoCallRingingTone().AllocL();
-          User::LeaveIfError(iVideoCallToneNameProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                                                      KGASVideoCallToneName,
-                                                                                      *iVideoCallToneName));
-          
-        }
-    if(iRingingTone1Name->Compare(profileTones.RingingTone1())!=0)
-        {
-         delete iRingingTone1Name;
-         iRingingTone1Name=NULL;
-         iRingingTone1Name=profileTones.RingingTone1().AllocL();
-         User::LeaveIfError(iRingingTone1NameProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                                                  KGASRingingTone1Name,
-                                                                                  *iRingingTone1Name));
-         
-        }
-    if(iRingingTone2Name->Compare(profileTones.RingingTone2())!=0)
-        {
-          delete iRingingTone2Name;
-          iRingingTone2Name=NULL;
-          iRingingTone2Name=profileTones.RingingTone2().AllocL();
-          User::LeaveIfError(iRingingTone2NameProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                                                      KGASRingingTone2Name,
-                                                                                      *iRingingTone2Name));
-         
-            }
-    if(iGASKeypadVolume!=settings.KeypadVolume())
-        {
-         
-          CMapGASKeypadVolume( settings.KeypadVolume());
-          User::LeaveIfError(iKeypadVolumeProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                                                                KGASKeypadToneVolume,
-                                                                                                iGASKeypadVolume));
-          
-          
-        }
-    if(iSilenceMode != iProfileEngineExtended ->SilenceModeL())
-        {
-    RDebug::Printf("silence mode changed");
-         iSilenceMode = iProfileEngineExtended ->SilenceModeL();
-         User::LeaveIfError(iSilenceModeProperty.Set(KGASPSUidGlobalAudioSettings,
-                                                                                KGASSilenceMode,
-                                                                                iSilenceMode));
-         }
-   
     CleanupStack::PopAndDestroy(currentProfile);
     }
 
@@ -721,39 +378,6 @@
     {
     DEB_TRACE0(_L("CMyProfileNameArrayObserver::HandleProfileActivationNotificationError"));
 	}
-void CProfileSettingsMonitorServerImpl::CMapGASRingingType(TProfileRingingType aRingingType)
-    {
-    switch(aRingingType)
-            {
-            case EProfileRingingTypeRinging :   iGASRingingType=CGlobalAudioSettings::EGASRingingTypeRinging;
-                                                 break;
-               
-            case EProfileRingingTypeAscending:iGASRingingType=CGlobalAudioSettings::EGASRingingTypeAscending;
-                                               break;
-              
-            case EProfileRingingTypeRingingOnce :iGASRingingType=CGlobalAudioSettings::EGASRingingTypeRingingOnce;
-                                                  break;
-               
-            case EProfileRingingTypeBeepOnce :iGASRingingType=CGlobalAudioSettings::EGASRingingTypeBeepOnce;
-                                              break;
-               
-            case EProfileRingingTypeSilent:iGASRingingType=CGlobalAudioSettings::EGASRingingTypeSilent;
-                                           break;
-            }
-    }
-void CProfileSettingsMonitorServerImpl::CMapGASKeypadVolume(TProfileKeypadVolume aKeypadVolume)
-    {
-     switch(aKeypadVolume)
-         {
-         case  EProfileKeypadVolumeOff  : iGASKeypadVolume=CGlobalAudioSettings::EGASKeypadVolumeOff;
-                                          break;
-         case EProfileKeypadVolumeLevel1 :iGASKeypadVolume=CGlobalAudioSettings::EGASKeypadVolumeLevel1;
-                                          break;
-         case EProfileKeypadVolumeLevel2 :iGASKeypadVolume=CGlobalAudioSettings::EGASKeypadVolumeLevel2;
-                                          break;
-         case  EProfileKeypadVolumeLevel3 :iGASKeypadVolume=CGlobalAudioSettings::EGASKeypadVolumeLevel3;
-                                           break;
-         }
-    }
+
 // End of file
 	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/Data/Create_ProgressiveDownload_STUB_SIS.bat	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,17 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description: batch file for PDU
+rem
+
+makesis -s ProgressiveDownload_Stub.pkg ProgressiveDownload_Stub.sis
Binary file mmfenh/progressivedownload/Data/ProgressiveDownload_Stub.SIS has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/Data/ProgressiveDownload_Stub.pkg	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "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:
+;
+; Description: pkg for PDU
+;
+;Language
+&en
+
+;Header
+# {"Progressive Download"}, (0x10207BC3), 1, 0, 0, TYPE=SA, RU
+
+;Dependency header
+
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+;Optional logofile
+
+;Files to install
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadSource/BWINS/PROGRESSIVEDOWNLOADSOURCE.def	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * __cdecl ImplementationGroupProxy(int &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadSource/data/10207a7b.rss	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 1020 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Resource file for ECOM registry for ProgressiveDownloadSource.
+*
+*/
+
+
+
+
+
+
+#include "ProgressiveDownloadSourceUIDs.hrh"
+#include <mmfplugininterfaceuids.hrh>
+#include <registryinfo.rh>
+
+
+RESOURCE REGISTRY_INFO theInfo 
+    {
+    dll_uid = 0x10207A7B; //The DLL's 3rd UID.
+    interfaces = 
+        {
+        INTERFACE_INFO
+            {
+            interface_uid = KMmfUidPluginInterfaceDataSource; //ECOM UID 
+            implementations = 
+                {
+                // This DLL contains only a single adapter implementation.
+                IMPLEMENTATION_INFO
+                    {
+                    implementation_uid = KProgressiveDownloadSourceUid; //UID 
+                             // Same value as in implementation table.
+                    version_no = 1;
+                    display_name = "ProgressiveDownloadSource"; //Human readable string for UI purposes.
+                    default_data = ""; //Ignored.
+                    opaque_data = ""; //Ignored.
+                    }
+                };
+            }
+        };
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadSource/group/ProgressiveDownloadSource.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project file for Progressive Dowload DataSource
+*
+*/
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+
+TARGET        	ProgressiveDownloadSource.dll
+
+TARGETTYPE	PLUGIN
+
+
+UID           	0x10009d8d 0x10207A7B
+
+
+CAPABILITY  CAP_ECOM_PLUGIN
+VENDORID    VID_DEFAULT
+
+
+
+TARGETPATH /System/Libs/Plugins
+
+
+SOURCEPATH      ../src
+SOURCE          fileaccess.cpp 
+SOURCE			ProgressiveDownloadSource.cpp
+
+SOURCEPATH      ../data
+
+
+START RESOURCE	10207a7b.rss
+TARGET ProgressiveDownloadSource.rsc
+END
+
+
+
+USERINCLUDE     ../inc ../src
+USERINCLUDE	../../../../inc
+ 
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE	/epoc32/include/ecom
+SYSTEMINCLUDE	/epoc32/include/mmf/server
+SYSTEMINCLUDE	/epoc32/include/mmf/common
+SYSTEMINCLUDE	/epoc32/include/mmf/plugin
+
+
+
+LIBRARY 	euser.lib
+LIBRARY 	ECom.lib
+LIBRARY 	efsrv.lib
+LIBRARY 	mmfcontrollerframework.lib
+LIBRARY 	estor.lib
+LIBRARY 	mmfserverbaseclasses.lib
+LIBRARY 	caf.lib
+LIBRARY		cafutils.lib
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadSource/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project build file for ProgressiveDownloadSource
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_MMPFILES
+progressivedownloadsource.mmp
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadSource/src/FileAccess.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,159 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+#ifndef __FILE_ACCESS_H__
+#define __FILE_ACCESS_H__
+
+#include <caf/content.h>
+#include <caf/data.h>
+#include <mmf/common/mmcaf.h>
+
+// Abstract class providing generic file access
+class MGenericFile
+	{
+public:
+	virtual ~MGenericFile();
+
+	virtual TInt Seek(TSeek aSeekMode, TInt aPosition)=0;
+	virtual TInt Read(TDes8& aDes,TInt aLength)=0;
+	virtual void Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus)=0;
+
+	virtual TInt Write(const TDesC8& aDes,TInt aLength)=0;
+	virtual void Write(const TDesC8& aDes, TInt aLength, TRequestStatus& aStatus)=0;
+
+	virtual TInt Size(TInt& aSize)=0;
+	virtual TInt SetSize(TInt aSize)=0;
+
+	virtual TInt EvaluateIntent(const ContentAccess::TIntent aIntent) const = 0;
+	virtual TInt ExecuteIntent(const ContentAccess::TIntent aIntent) = 0;
+	virtual TBool IsProtected()const = 0;
+
+	// legacy file support
+	virtual RFile& FileL()=0;
+
+
+	virtual TInt SetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue) = 0;
+
+
+	};
+
+// Provide RFile based file access
+class CF32File : public CBase, public MGenericFile
+	{
+public:
+	static CF32File* NewL(RFs& aSession, TDesC& aPath, TUint aMode);
+
+	static CF32File* NewL(RFile& aFile);
+	void ConstructL(RFile& aFile);
+
+	void ConstructL(RFs& aSession, TDesC& aPath, TUint aMode);
+
+	virtual ~CF32File();
+
+	// from MGenericFile
+	virtual TInt Seek(TSeek aSeekMode, TInt aPosition);
+	virtual TInt Read(TDes8& aDes,TInt aLength);
+	virtual void Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
+	virtual TInt Write(const TDesC8& aDes,TInt aLength);
+	virtual void Write(const TDesC8& aDes, TInt aLength, TRequestStatus& aStatus);
+	virtual TInt Size(TInt& aSize);
+	virtual TInt SetSize(TInt aSize);
+	virtual TInt EvaluateIntent(const ContentAccess::TIntent aIntent) const;
+	virtual TInt ExecuteIntent(const ContentAccess::TIntent aIntent);
+	virtual TBool IsProtected() const;
+	virtual RFile& FileL();
+
+
+	virtual TInt SetAgentProperty(ContentAccess::TAgentProperty, TInt aValue);
+
+
+private:
+	CF32File();
+
+private:
+	RFs* iSession;	// not owned
+	HBufC* iFilePath;
+	RFile iFile;
+
+	TBool iFileHandle;
+	TInt iFileSize;
+	};
+
+// Provides content access framework based file access
+class CContentFile : public CBase, public MGenericFile
+	{
+public:
+
+	static CContentFile* NewL(RFs& aSession, const TDesC& aPath, const TDesC& aUniqueId, TUint aMode);
+	void ConstructL(RFs& aSession, const TDesC& aPath, const TDesC& aUniqueId, TUint aMode);
+
+	static CContentFile* NewL(RFs& aSession, const TDesC& aPath, TUint aMode);
+	void ConstructL(RFs& aSession, const TDesC& aPath, TUint aMode);
+
+
+
+	static CContentFile* NewL(RFile& aFile, const TDesC& aUniqueId);
+	void ConstructL(RFile& aFile, const TDesC& aUniqueId);
+
+
+	virtual ~CContentFile();
+
+	// from MGenericFile
+	virtual TInt Seek(TSeek aSeekMode, TInt aPosition);
+	virtual TInt Read(TDes8& aDes,TInt aLength);
+	virtual void Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
+	virtual TInt Write(const TDesC8& aDes,TInt aLength);
+	virtual void Write(const TDesC8& aDes, TInt aLength, TRequestStatus& aStatus);
+	virtual TInt Size(TInt& aSize);
+	virtual TInt SetSize(TInt aSize);
+	virtual TInt EvaluateIntent(const ContentAccess::TIntent aIntent) const;
+	virtual TInt ExecuteIntent(const ContentAccess::TIntent aIntent);
+	virtual TBool IsProtected() const;
+	virtual RFile& FileL();
+
+
+	virtual TInt SetAgentProperty(ContentAccess::TAgentProperty, TInt aValue);
+
+
+private:
+	CContentFile();
+
+
+private:
+	RFs* iSession; // not owned
+	HBufC* iFilePath;
+	ContentAccess::CContent* iContent;
+	ContentAccess::CData* iData;
+
+	RFile iLegacyFile;
+	TBool iLegacyFileOpen;
+	};
+
+
+inline CF32File::CF32File()
+	{
+	}
+
+inline CContentFile::CContentFile()
+	{
+	}
+
+inline MGenericFile::~MGenericFile()
+	{
+	}
+
+#endif //__FILE_ACCESS_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadSource/src/MmffilePriv.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,188 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+
+#ifndef __MMFFILEPRIV_H_
+#define __MMFFILEPRIV_H_
+
+#include <f32file.h>
+
+#include <mmf/server/mmfclip.h>
+#include <mmf/server/mmfdatabuffer.h>
+
+
+/**
+ *  @publishedAll
+ *
+ *  Represents a copy of a KUidMmfTransferBuffer used for reading/writting to the file server
+ */
+
+class CTransferBufferCopy : public CBase
+	{
+public:
+	static CTransferBufferCopy* NewL(TInt aMaxLength);
+
+	virtual ~CTransferBufferCopy()
+		{delete iBuffer;}
+
+
+	TDes8& Des() {return iBufferDes;}
+
+	TInt MaxLength() {return iBufferDes.MaxLength();}
+
+	void ReUse(TInt aMaxLength) {iBufferDes.Set(iBuffer,0, Min(aMaxLength, iMaxLength));}
+
+	TBool InUse() {return iInUse;}
+
+	void SetInUse(TBool aInUse) {iInUse=aInUse;}
+
+private:
+	CTransferBufferCopy(TInt aMaxLength) : CBase(), iMaxLength(aMaxLength), iBufferDes(0,0,0), iInUse(EFalse){}
+
+	void ConstructL();
+
+private:
+	TUint8*	iBuffer;
+
+	//Holds the original MaxLength when class constructed.
+	//May be larger than MaxLength of iBufferDes
+	TInt	iMaxLength;
+
+	TPtr8	iBufferDes;
+
+	TBool	iInUse;
+	};
+
+
+
+
+/**
+ * @internalComponent
+ *
+ * A request is created when an external object requests or supplies data.  Calls to the File Server are
+ * made asynchronously and a CReadWriteRequest created to notify the caller on completion.
+ *
+ * CReadWriteRequest is an abstract class.  Concrete instances are of CReadRequest & CWriteRequest.
+ * Concrete instances need to know whether to call MDataSink::BufferFilledL() or MDataSource::BufferEmptiedL()
+ */
+class CReadWriteRequest : public CActive
+	{
+public:
+	CReadWriteRequest(TAny* aSinkOrSource, CMMFBuffer* aBuffer,MAsyncEventHandler* aEventHandler)
+	: CActive(EPriorityStandard),
+	iSinkOrSource(aSinkOrSource),
+	iBuffer(aBuffer),
+	iEventHandler(aEventHandler)
+		{
+		CActiveScheduler::Add( this );
+		}
+
+	CReadWriteRequest(TAny* aSinkOrSource, CMMFBuffer* aBuffer, CTransferBufferCopy* aOptionalDataBuffer, MAsyncEventHandler* aEventHandler)
+	: CActive(EPriorityStandard),
+	iSinkOrSource(aSinkOrSource),
+	iBuffer(aBuffer),
+	iTransferBufferCopy(aOptionalDataBuffer),
+	iEventHandler(aEventHandler)
+		{
+		CActiveScheduler::Add( this );
+		iTransferBufferCopy->SetInUse(ETrue);
+		}
+
+	CReadWriteRequest(CReadWriteRequest& aRequest)
+	: CActive(EPriorityStandard),
+	iSinkOrSource(aRequest.iSinkOrSource),
+	iBuffer(aRequest.iBuffer),
+	iTransferBufferCopy(aRequest.iTransferBufferCopy),
+	iEventHandler(aRequest.iEventHandler)
+		{
+		CActiveScheduler::Add( this );
+		iTransferBufferCopy->SetInUse(ETrue);
+		}
+
+
+	TBool Completed() ;
+	TDes8& BufferDes() ;
+	const TDesC8& BufferDesC() ;
+
+	~CReadWriteRequest() ;
+
+
+	// CActive functions.
+	//
+	void SetActive() ;
+	void DoCancel() ;
+	virtual void RunL() = 0 ;
+	virtual TInt RunError( TInt aError ) ;
+
+
+protected :
+	TAny* iSinkOrSource;
+	CMMFBuffer* iBuffer;
+	CTransferBufferCopy* iTransferBufferCopy;
+
+	MAsyncEventHandler* iEventHandler;
+	TBool iCompleted ;
+	TDes8* iBufferDes ;
+	TInt iError ;
+	TBool iUseTransferBuffer ;
+	void SetTransferBuffer (TBool aTBuffer) ;
+	TBool CanUseTransferBuffer () ;
+	} ;
+
+/**
+ * @internalComponent
+ */
+class CReadRequest : public CReadWriteRequest
+	{
+public :
+	CReadRequest(TAny* aSinkOrSource, CMMFBuffer* aBuffer, TUint aPosition, TUint aFileSize, TInt aBytesDownloaded,MAsyncEventHandler* aEventHandler)
+	: CReadWriteRequest(aSinkOrSource, aBuffer, aEventHandler),
+	iPosition(aPosition), iFileSize(aFileSize),iBytesDownloaded(aBytesDownloaded)
+	{ }
+
+	CReadRequest(TAny* aSinkOrSource, CMMFBuffer* aBuffer, CTransferBufferCopy* aOptionalDataBuffer, TUint aPosition, TUint aFileSize,TInt aBytesDownloaded, MAsyncEventHandler* aEventHandler)
+	: CReadWriteRequest(aSinkOrSource, aBuffer, aOptionalDataBuffer,aEventHandler),
+	iPosition(aPosition), iFileSize(aFileSize),iBytesDownloaded(aBytesDownloaded)
+	{ }
+
+	void RunL();
+private:
+	TUint iPosition;
+	TUint iFileSize;
+	TInt iBytesDownloaded;
+	};
+
+/**
+ * @internalComponent
+ */
+class CWriteRequest : public CReadWriteRequest
+	{
+public :
+	CWriteRequest(TAny* aSinkOrSource, CMMFBuffer* aBuffer, MAsyncEventHandler* aEventHandler)
+	: CReadWriteRequest(aSinkOrSource, aBuffer, aEventHandler)
+	{ }
+
+	CWriteRequest(TAny* aSinkOrSource, CMMFBuffer* aBuffer, CTransferBufferCopy* aOptionalDataBuffer, MAsyncEventHandler* aEventHandler)
+	: CReadWriteRequest(aSinkOrSource, aBuffer, aOptionalDataBuffer, aEventHandler)
+	{ }
+
+	void RunL();
+	};
+
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadSource/src/ProgressiveDownloadSource.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,1810 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+
+#include <f32file.h>
+#include <e32std.h>
+#include <mmfdatabuffer.h>
+#include <mmfutilities.h>
+#include <mmf/common/mmfcontroller.h>
+#include <mmfpaniccodes.h>
+//#include "mmffile.h"
+
+#include "MmffilePriv.h"
+#include "FileAccess.h"
+
+
+#include "ProgressiveDownloadSource.h"
+#include <implementationproxy.h>
+
+const TUid KUidProgressiveDlSource	= {KProgressiveDownloadSourceUid};
+
+
+void Panic(TMMFFilePanicCode aPanicCode)
+	{
+ 	_LIT(KMMFFilePanicCategory, "CProgressiveDownloadSource");
+	User::Panic(KMMFFilePanicCategory, aPanicCode);
+	}
+
+
+/**
+ * Constructs a CTransferBufferCopy
+ *
+ * @return CTransferBufferCopy*
+ */
+CTransferBufferCopy* CTransferBufferCopy::NewL(TInt aMaxLength)
+	{
+	CTransferBufferCopy* self = new (ELeave) CTransferBufferCopy(aMaxLength);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+/**
+ * Second phase constructor for CTransferBufferCopy
+ *
+ * @return void
+ */
+void CTransferBufferCopy::ConstructL()
+	{
+	iBuffer = static_cast<TUint8*>(User::AllocL(iMaxLength));
+	iBufferDes.Set(iBuffer,0,iMaxLength);
+	}
+
+/**
+Destructor.
+*/
+CProgressiveDownloadSource::~CProgressiveDownloadSource()
+	{
+	delete iFile;
+
+	iHandle.Close();
+	iFsSession.Close();
+	delete iFileName;
+	delete iFileExt;
+	delete iFilePath;
+	delete iFileDrive;
+	delete iMmfFileEventHandler;
+	delete iUniqueId;
+
+	// Get rid of everything in RArray's & close them.
+	iRequests.ResetAndDestroy();
+	iTransferBufferCopies.ResetAndDestroy();
+	}
+
+/**
+Protected constructor.
+
+The default implementation is empty.
+*/
+CProgressiveDownloadSource::CProgressiveDownloadSource() : CMMFClip(KUidProgressiveDlSource/*KUidMmfFileSource*/, KUidMmfFileSink ), iFileSize(-1)
+	{
+	iSinkNotStopped = EFalse;
+	}
+
+/**
+Constructs an CProgressiveDownloadSource MDataSource.
+
+@return A pointer to the new CProgressiveDownloadSource data source.
+*/
+MDataSource* CProgressiveDownloadSource::NewSourceL()
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::NewSourceL"));
+    #endif
+	CProgressiveDownloadSource* self = new (ELeave) CProgressiveDownloadSource ;
+	return STATIC_CAST( MDataSource*, self ) ;
+	}
+
+/**
+Constructs a CProgressiveDownloadSource MDataSink
+
+@return A pointer to the new CProgressiveDownloadSource data sink.
+*/
+MDataSink* CProgressiveDownloadSource::NewSinkL()
+	{
+	CProgressiveDownloadSource* self = new (ELeave) CProgressiveDownloadSource ;
+	return STATIC_CAST( MDataSink*, self ) ;
+	}
+
+/**
+Perform source construction dependant on the source construction
+initialisation data aInitData.
+
+@param  aInitData
+        The TPckg<TMMFFileParams> descriptor package containing the file name and full path.
+*/
+void CProgressiveDownloadSource::ConstructSourceL(const TDesC8& aInitData )
+	{
+	ConstructL(aInitData, ESourceMode);
+	}
+
+/**
+Performs sink construction dependant on the sink construction
+initialisation data aInitData.
+
+@param  aInitData
+        The TPckg<TMMFFileParams> descriptor package containing the file name and full path.
+*/
+void CProgressiveDownloadSource::ConstructSinkL(const TDesC8& aInitData)
+	{
+	ConstructL(aInitData, ESinkMode);
+	}
+
+/**
+Protected constructor.
+
+Extracts the initialisation data provided by the calling functions: ConstructSourceL() and
+ConstructSourceL(). Creates a file server session and sets up file name. If there is a file name and
+it cannot be found this function leaves. If there is no file name the function leaves. Does not
+attempt to open the file or check whether the file exists.
+
+@param  aInitData
+        Initialisation data packaged in a TMMFFileParams.
+*/
+void CProgressiveDownloadSource::ConstructL(const TDesC8& aInitData,TMMFileMode aFileMode)
+	{
+	User::LeaveIfError(iFsSession.Connect());
+#ifdef __IPC_V2_PRESENT__
+	// on IPCv2 we auto attach
+	User::LeaveIfError(iFsSession.ShareAuto());
+#else
+	// on IPCv1
+	we use explicit - more efficient
+	User::LeaveIfError(iFsSession.Share(RSessionBase::EExplicitAttach));
+#endif
+
+
+	TBool fileInit = EFalse;
+	HBufC* filename = NULL;
+	TBool filenamePushed = EFalse;
+
+
+	TBool drmContent = EFalse;
+	RDesReadStream stream(aInitData);
+	CleanupClosePushL(stream);
+
+	TUid initUid;
+
+	initUid = TUid::Uid(stream.ReadInt32L());
+
+	if (initUid == KMMFileHandleSourceUid)
+		{
+		TPckgBuf<RFile*> fileptr;
+		stream.ReadL(fileptr);
+
+		iHandle.Duplicate(*fileptr());
+
+		TInt length;
+		length = stream.ReadInt32L();
+		if (length>0)
+			{
+			iUniqueId = HBufC::NewL(length);
+			TPtr16 ptr = iUniqueId->Des();
+			stream.ReadL(ptr, length);
+			}
+		iFileHandle = ETrue;
+		filename = HBufC::NewMaxL(KMaxFileName);
+		TPtr ptr = filename->Des();
+		iHandle.Name(ptr);
+		fileInit = ETrue;
+		drmContent = ETrue;
+		}
+
+	else if (initUid == KMMFileSourceUid)
+		{
+		TInt length;
+		length = stream.ReadInt32L();
+		filename = HBufC::NewMaxLC(length);
+		TPtr ptr = filename->Des();
+		stream.ReadL(ptr, length);
+
+		length = stream.ReadInt32L();
+		if (length>0)
+			{
+			iUniqueId = HBufC::NewMaxL(length);
+			ptr.Set(iUniqueId->Des());
+			stream.ReadL(ptr, length);
+			}
+		CleanupStack::Pop(filename);
+
+		fileInit = ETrue;
+		drmContent = ETrue;
+		}
+	else
+		{
+//		TODO If the UID is unknown we should reject, but  currently
+//		code also used for older calls that just supply filename.
+//		User::Leave(KErrNotSupported);
+		}
+
+	CleanupStack::PopAndDestroy(&stream);
+
+	if (!fileInit && aInitData.Length() == sizeof(TMMFFileHandleParams))
+		{
+		TMMFFileHandleParams params;
+		TPckgC<TMMFFileHandleParams> config(params);
+		config.Set(aInitData);
+		params = config();
+
+
+		if (params.iUid == KFileHandleUid)
+			{
+			fileInit = ETrue;
+			User::LeaveIfError(iHandle.Duplicate(*params.iFile));
+			TInt pos = 0;
+			// make sure the duplicate handle is at the start of the file - the usage of the file handle really requires this
+			User::LeaveIfError(iHandle.Seek(ESeekStart, pos));
+			iFileHandle = ETrue;
+			filename = HBufC::NewMaxLC(KMaxFileName);
+			filenamePushed = ETrue;
+			TPtr ptr = filename->Des();
+			User::LeaveIfError(iHandle.Name(ptr));
+			}
+		}
+
+
+	if (!fileInit) // do old case as last resort
+		{
+		TMMFFileParams params;
+		TPckgC<TMMFFileParams> config(params);
+		config.Set(aInitData);
+		params = config();
+
+		filename = params.iPath.AllocL();
+		fileInit = ETrue;
+		}
+
+	if (!filenamePushed)
+		{
+		// from now on it is assumed pushed.
+		CleanupStack::PushL(filename);
+		}
+
+	TParse parser ;
+	User::LeaveIfError(parser.Set(*filename, NULL, NULL));
+	CleanupStack::PopAndDestroy(filename);
+	if ( !( parser.NamePresent() ) && !( parser.ExtPresent() ) )
+		User::Leave( KErrBadName ) ;
+
+	iFullFileName.Copy( parser.FullName() ) ;
+	iFileName = parser.Name().AllocL() ;
+	iFileExt = parser.Ext().AllocL() ;
+	iFilePath = parser.Path().AllocL() ;
+	iFileDrive = parser.Drive().AllocL() ;
+
+
+	// in order to simulate old behaviour we are not passing error out
+	// but will try to create Content again during PrimeL()
+	if (fileInit && drmContent && aFileMode==ESourceMode)
+		{
+		TInt contentError;
+		if (iFileHandle)
+			{
+			TRAP(contentError,
+				iFile = CContentFile::NewL(iHandle, UniqueId());
+				);
+			}
+		else
+			{
+			// Open for read-only access
+			//rj progressive download needs shared access
+			TRAP(contentError,
+				iFile = CContentFile::NewL(iFsSession, iFullFileName, UniqueId(), EFileShareAny);
+			);
+			}
+		iFileOpen = (contentError==KErrNone);
+		}
+
+	(void)(aFileMode=ESourceMode); // prevent from compiler warning
+
+	}
+
+
+/**
+@deprecated
+
+Returns an RFile handle to the current file.
+
+If there is no current file, one is created. If the file exists then it is opened with read access
+if it is read only, write access otherwise. If the file does not exist then it is opened with
+write access.
+
+@leave KErrNotReady
+       The file is not open.
+
+@return A handle to the current file.
+*/
+RFile& CProgressiveDownloadSource::FileL()
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::FileL"));
+    #endif
+	if (!iFile)
+		User::Leave(KErrNotReady);
+	if (iFileHandle)
+		return iHandle;
+	else
+		return iFile->FileL();
+
+	}
+
+/**
+Returns the file name of the current file.
+
+Note: This will give the wrong answer if the file is renamed!
+
+@return The FileName (without extension).
+*/
+const TDesC& CProgressiveDownloadSource::FileName() const
+	{
+	return *iFileName ;
+	}
+
+/**
+Returns the extension of the current file.
+
+Note: This will give the wrong answer if the file is renamed!
+
+@return The File Extension.
+*/
+const TDesC& CProgressiveDownloadSource::Extension() const
+	{
+	return *iFileExt ;
+	}
+
+/**
+Returns the path of the current file.
+
+Note: This will give the wrong answer if the file is renamed!
+
+@return The FilePath (without filename and extension)
+*/
+const TDesC& CProgressiveDownloadSource::FilePath() const
+	{
+	return *iFilePath ;
+	}
+
+/**
+Returns the drive on which the current file is located.
+
+Note: This will give the wrong answer if the file is renamed!
+
+@return The FileDrive (drive letter only, without path, filename and extension).
+*/
+const TDesC& CProgressiveDownloadSource::FileDrive() const
+	{
+	return *iFileDrive ;
+	}
+
+/**
+Returns the full name of the current file.
+
+Note: This will give the wrong answer if the file is renamed!
+
+@return The file name (full filename including drive letter, without path, filename and extension).
+*/
+const TFileName CProgressiveDownloadSource::FullName() const
+	{
+	return iFullFileName;
+	}
+
+
+/**
+Returns the uniqueID associated with this content. If no uniqueID has been provided, a null
+descriptor will be provided
+
+@return The UniqueID
+*/
+const TDesC& CProgressiveDownloadSource::UniqueId() const
+	{
+	if (iUniqueId)
+		return *iUniqueId;
+	else
+		return KNullDesC;
+	}
+
+
+
+/**
+Deletes the file.
+
+Closes the currently open file, then deletes it. If the file source is accessing a file handle,
+the file is truncated to 0 bytes instead.
+
+@return An error code indicating if the function call was successful. KErrNone on success, otherwise
+        another of the system-wide error codes.
+*/
+TInt CProgressiveDownloadSource::Delete()
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::Delete"));
+    #endif
+	if (!iFileHandle)
+		{
+		delete iFile;
+		iFile = NULL;
+		iFileSize=-1;
+		iPosition=0;
+
+		return iFsSession.Delete(iFullFileName);
+		}
+	else
+		{
+		iFileSize=-1;
+		iPosition=0;
+
+		return iFile->SetSize(0);
+		}
+
+	}
+
+/**
+Sets the file size.
+
+@param  aSize
+        The size of the file.
+
+@return An error code indicating if the function call was successful. KErrNone on success, otherwise
+        another of the system-wide error codes.
+*/
+TInt CProgressiveDownloadSource::SetSize(TInt aSize)
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("[%x]CProgressiveDownloadSource::SetSize to %d"),this,aSize);
+    #endif
+
+    iFix = aSize;
+
+	if ( !iFile )
+		return KErrNotReady;
+
+	TInt err =  iFile->SetSize(aSize);
+	if(err == KErrNone)
+		iFileSize = aSize;
+	else
+		iFileSize = -1;
+
+	return err;
+	}
+
+/**
+Obtains a CTransferBufferCopy from iTransferBufferCopies that is
+at least as big as that required.
+
+There is no need to put the pointer returned by this method onto the CleanupStack
+as it will have already been placed into iTransferBufferCopies.
+
+@param  aMaxLength
+        The size required.
+
+@return A pointer to a valid CTransferBufferCopy.
+*/
+CTransferBufferCopy* CProgressiveDownloadSource::ObtainCopyOfTransferBufferL(TInt aMaxLength)
+	{
+	//find a free transfer buffer copy of the right size
+	TInt firstFree = -1;
+	CTransferBufferCopy* transBufCopyToUse = NULL;
+
+	for(TInt cnt=0; cnt < iTransferBufferCopies.Count(); cnt++)
+		{
+		if(!iTransferBufferCopies[cnt]->InUse())
+			{
+			//record the first free entry, we may remove this
+			//if entries in iTransferBufferCopies > KAcceptableTransferBufferCopiesSize
+			if(firstFree == -1)
+				firstFree = cnt;
+
+			if(iTransferBufferCopies[cnt]->MaxLength() >= aMaxLength)
+				{
+				transBufCopyToUse = iTransferBufferCopies[cnt];
+
+				//Set the MaxLength. This will ensure that the copy acts the same as
+				//the original Transfer buffer, eg. file server will throw KErrOverflow
+				transBufCopyToUse->ReUse(aMaxLength);
+				break;
+				}
+			}
+		}
+
+	//If we failed to find a suitable entry, we need to create a new one
+	if(!transBufCopyToUse)
+		{
+		//Firstly, should we re-cycle an existing entry?
+		//There must be entries in the array, a free entry must have been found,
+		//the size of the array must be beyond the water mark where we want to start
+		//cycling free entries.
+		if((iTransferBufferCopies.Count() > 0) &&
+			(firstFree != -1) &&
+			(iTransferBufferCopies.Count() > KAcceptableTransferBufferCopiesSize))
+			{
+			delete iTransferBufferCopies[firstFree];
+			iTransferBufferCopies.Remove(firstFree);
+
+			transBufCopyToUse = CTransferBufferCopy::NewL(aMaxLength);
+			CleanupStack::PushL(transBufCopyToUse);
+			User::LeaveIfError(iTransferBufferCopies.Insert(transBufCopyToUse,firstFree));
+
+			CleanupStack::Pop();
+			}
+		else
+			{
+#ifdef _DEBUG
+			if(iTransferBufferCopies.Count() > KMaximumTransferBufferCopiesSize)
+				{
+				User::Panic(_L("iTransferBufferCopies grew too large in CProgressiveDownloadSource"),KErrTooBig);
+				}
+#endif
+
+			transBufCopyToUse = CTransferBufferCopy::NewL(aMaxLength);
+			CleanupStack::PushL(transBufCopyToUse);
+			User::LeaveIfError(iTransferBufferCopies.Append(transBufCopyToUse));
+
+			CleanupStack::Pop();
+			}
+		}
+
+	return transBufCopyToUse;
+	}
+
+
+
+/**
+Loads aBuffer from iFile.
+
+The file must already be open for reading. File read is asynchronous. CReadRequest is created to
+respond to completion.
+
+@param  aBuffer
+        The buffer to be filled from the file.
+@param  aConsumer
+        The data sink consumer of the buffer.
+*/
+void CProgressiveDownloadSource::FillBufferL( CMMFBuffer* aBuffer, MDataSink* aConsumer, TMediaId /*aMediaId*/ )
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::FillBufferL"));
+    #endif
+	// Requires that iFile is open for read.
+	// Reads data from iFile into aBuffer
+	if ((aConsumer == NULL) || (aBuffer == NULL))
+		User::Leave(KErrArgument);
+
+	if (!iFile || (iMmfFileEventHandler == NULL))
+		User::Leave(KErrNotReady);
+
+	if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		{
+		CTransferBufferCopy* transBufCopy = NULL;
+		CReadRequest* request = NULL;
+
+		TDes8& aBufferDes = STATIC_CAST( CMMFDataBuffer*, aBuffer )->Data();
+
+		TInt requestSize;
+		if(aBuffer->RequestSize())
+			requestSize = aBuffer->RequestSize();
+		else
+			requestSize = aBufferDes.MaxLength();
+
+		//check whether buffer is safe to send to file server
+		//if not, eg for a transfer buffer, then it needs to be copied
+		if (!CMMFBuffer::IsFileServerSafe(aBuffer->Type()))
+			{
+			//NB: failure in this method will NOT cause transBufCopy to leak as it will be
+			//inserted into iTransferBufferCopies by ObtainCopyOfTransferBufferL.
+			transBufCopy = ObtainCopyOfTransferBufferL(aBufferDes.MaxLength());
+			request = new(ELeave) CReadRequest(STATIC_CAST(TAny*, aConsumer), aBuffer, transBufCopy, iPosition, Size(),iBytesDownloaded, iMmfFileEventHandler);
+			}
+		else
+			{
+			request = new(ELeave) CReadRequest(STATIC_CAST(TAny*, aConsumer), aBuffer, iPosition, Size(),iBytesDownloaded, iMmfFileEventHandler);
+			}
+
+		CleanupStack::PushL( request );
+
+		StoreRequestL(request); // transfers ownership
+		CleanupStack::Pop() ; // request
+
+		iFile->Read(request->BufferDes(), requestSize, request->iStatus);
+		iPosition += requestSize;
+
+		if (iPosition >= iFileSize)
+			{
+			aBuffer->SetLastBuffer(ETrue);
+			}
+
+		request->SetActive();
+		}
+	else // if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		User::Leave( KErrNotSupported ) ;
+	}
+
+/**
+Empties aBuffer into iFile. The file must be already open for writing.
+
+@param  aBuffer
+        The buffer to be written to the file.
+@param  aSupplier
+        The data source supplier of the buffer.
+*/
+void CProgressiveDownloadSource::EmptyBufferL( CMMFBuffer* aBuffer, MDataSource* aSupplier, TMediaId /*aMediaId*/ )
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::EmptyBufferL"));
+    #endif
+	// Requires that iFile is open for write.
+	// Writes data from iFile into aBuffer
+	if ((aSupplier == NULL) || (aBuffer == NULL))
+		User::Leave(KErrArgument);
+
+	if (!iFile || (iMmfFileEventHandler == NULL))
+		User::Leave(KErrNotReady);
+
+	CTransferBufferCopy* transBufCopy = NULL;
+
+	if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		{
+		CWriteRequest* request = NULL;
+		TDes8& aBufferDes = STATIC_CAST( CMMFDataBuffer*, aBuffer )->Data();
+
+		//check whether buffer is safe to send to file server
+		//if not, eg for a transfer buffer, then it needs to be copied
+		if (!CMMFBuffer::IsFileServerSafe(aBuffer->Type()))
+			{
+			//Obtain a normal buffer to send to the file server
+			//NB: failure in this method will NOT cause transBufCopy to leak as it will be
+			//inserted into iTransferBufferCopies by ObtainCopyOfTransferBufferL.
+			transBufCopy = ObtainCopyOfTransferBufferL(aBufferDes.MaxLength());
+
+			//Copy the data into the buffer we will send to the file server
+			transBufCopy->Des().Copy(aBufferDes);
+
+			request = new(ELeave) CWriteRequest(STATIC_CAST(TAny*, aSupplier), aBuffer, transBufCopy, iMmfFileEventHandler);
+			}
+		else
+			{
+			request = new(ELeave) CWriteRequest(STATIC_CAST(TAny*, aSupplier), aBuffer, iMmfFileEventHandler);
+			}
+
+		CleanupStack::PushL( request );
+
+		StoreRequestL(request);  // transfers ownership
+		CleanupStack::Pop(); // request
+
+		iFile->Write(request->BufferDes(), request->BufferDes().Length(), request->iStatus);
+		request->SetActive();
+		}
+	else  // if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		{
+		User::Leave( KErrNotSupported ) ;
+		}
+	}
+
+/**
+Loads aLength number of bytes into aBuffer from specified point in iFile.
+
+@param  aLength
+        The number of bytes to be read into buffer.
+@param  aBuffer
+        The buffer to be filled from the file.
+@param  aPosition
+        The offset into the file at which to start reading.
+@param  aConsumer
+        The data sink consumer of the buffer.
+*/
+void CProgressiveDownloadSource::ReadBufferL(TInt aLength, CMMFBuffer* aBuffer, TInt aPosition, MDataSink* aConsumer)
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::ReadBufferL Async"));
+    #endif
+	// Requires that iFile is open for read.
+	// Reads data from iFile into aBuffer
+	if ((aLength < 0) || (aPosition<0) || (aConsumer == NULL) || (aBuffer == NULL))
+		User::Leave(KErrArgument);
+
+	if (!iFile || (iMmfFileEventHandler == NULL))
+		User::Leave(KErrNotReady);
+
+	CTransferBufferCopy* transBufCopy = NULL;
+
+	if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		{
+		CReadRequest* request = NULL;
+		TDes8& aBufferDes = STATIC_CAST( CMMFDataBuffer*, aBuffer )->Data();
+
+		//check whether buffer is safe to send to file server
+		//if not, eg for a transfer buffer, then it needs to be copied
+		if (!CMMFBuffer::IsFileServerSafe(aBuffer->Type()))
+			{
+			//Obtain a normal buffer to send to the file server
+			//NB: failure in this method will NOT cause transBufCopy to leak as it will be
+			//inserted into iTransferBufferCopies by ObtainCopyOfTransferBufferL.
+			transBufCopy = ObtainCopyOfTransferBufferL(aBufferDes.MaxLength());
+
+			request = new(ELeave) CReadRequest(STATIC_CAST(TAny*, aConsumer), aBuffer, transBufCopy, aPosition, Size(), iBytesDownloaded,iMmfFileEventHandler);
+			}
+		else
+			{
+			request = new(ELeave) CReadRequest(STATIC_CAST(TAny*, aConsumer), aBuffer, aPosition, Size(), iBytesDownloaded,iMmfFileEventHandler);
+			}
+
+		CleanupStack::PushL( request );
+
+		StoreRequestL(request) ;  //transfers ownership
+		CleanupStack::Pop() ; //request
+
+
+
+		TInt err = iFile->Seek(ESeekStart, aPosition);
+		if (err==KErrNone)
+			iFile->Read(request->BufferDes(), aLength, request->iStatus);
+		else
+			{
+			TRequestStatus* status = &request->iStatus;
+			User::RequestComplete(status, err);
+			}
+
+		//rj wait until runl is completed
+	//	iPosition = aPosition + aLength;
+       iPosition = aPosition;
+
+	// rj 	if (iPosition >= iFileSize)
+	//		{
+	//		aBuffer->SetLastBuffer(ETrue);
+	//		}
+
+		request->SetActive();
+		}
+	else // if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		User::Leave( KErrNotSupported ) ;
+	}
+
+
+/**
+Loads aBuffer from specified point in iFile.
+
+The file must already be open for reading.
+
+@param  aBuffer
+        The buffer to be filled from the file.
+@param  aPosition
+        The offset into file at which to start reading.
+@param  aConsumer
+        The data sink consumer of the buffer.
+*/
+void CProgressiveDownloadSource::ReadBufferL(CMMFBuffer* aBuffer, TInt aPosition, MDataSink* aConsumer)
+	{
+    #if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::ReadBufferL Async"));
+    #endif
+
+	// Requires that iFile is open for read.
+	// Reads data from iFile into aBuffer
+	if ((aPosition<0) || (aConsumer == NULL) || (aBuffer == NULL))
+		User::Leave(KErrArgument);
+
+	if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		{
+		TInt requestSize;
+		if(aBuffer->RequestSize())
+			requestSize = aBuffer->RequestSize();
+		else
+			requestSize = STATIC_CAST( CMMFDataBuffer*, aBuffer )->Data().MaxLength();
+
+		ReadBufferL(requestSize, aBuffer, aPosition, aConsumer);
+		}
+	else // if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		User::Leave(KErrNotSupported);
+	}
+
+
+/**
+Loads aBuffer from specified point in iFile.  Note that this is a synchronous read.
+
+@param  aBuffer
+        The buffer to be filled from the file.
+@param  aPosition
+        The offset into file at which to start reading.
+*/
+void CProgressiveDownloadSource::ReadBufferL( CMMFBuffer* aBuffer, TInt aPosition)
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::ReadBufferL Sync"));
+    #endif
+	// Requires that iFile is open for read.
+	// Reads data from iFile into aBuffer
+	if ((aPosition<0) || (aBuffer == NULL))
+		User::Leave(KErrArgument);
+
+	if (!iFile)
+		User::Leave(KErrNotReady);
+
+	if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		{
+		TDes8& aBufferDes = STATIC_CAST( CMMFDataBuffer*, aBuffer )->Data();
+
+		TInt requestSize;
+		if(aBuffer->RequestSize())
+			requestSize = aBuffer->RequestSize();
+		else
+			requestSize = aBufferDes.MaxLength();
+
+		//check whether buffer is safe to send to file server
+		//if not, eg for a transfer buffer, then it needs to be copied
+		if (!CMMFBuffer::IsFileServerSafe(aBuffer->Type()))
+			{
+			//NB: failure in this method will NOT cause transBufCopy to leak as it will be
+			//inserted into iTransferBufferCopies by ObtainCopyOfTransferBufferL.
+			CTransferBufferCopy* transBufCopy = ObtainCopyOfTransferBufferL(aBufferDes.MaxLength());
+
+			User::LeaveIfError(iFile->Seek(ESeekStart, aPosition));
+			User::LeaveIfError(iFile->Read(transBufCopy->Des(), requestSize));
+			aBufferDes.Copy(transBufCopy->Des().Left(aBufferDes.MaxLength()));
+			}
+		else
+			{
+			User::LeaveIfError(iFile->Seek(ESeekStart, aPosition));
+			User::LeaveIfError(iFile->Read(aBufferDes, requestSize));
+			}
+
+		iPosition = aPosition + aBufferDes.Length();
+
+		//check if the buffer is the last buffer and if so set the last buffer flag on the CMMFDataBuffer
+		//NB: setting last buffer is the done by the formatter, but this is a hang over to account for
+		//existing formatters that may fail if this is removed.
+		if (aBufferDes.Length() < requestSize)
+			aBuffer->SetLastBuffer(ETrue);
+		}
+	else  // if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		User::Leave(KErrNotSupported);
+	}
+
+/**
+Empties aLength bytes from aBuffer into iFile at specified location.
+
+@param  aLength
+        The number of bytes to be emptied from buffer.
+@param  aBuffer
+        The data buffer containing bytes to be written.
+@param  aPosition
+        The offset into file at which to start writing.
+@param  aSupplier
+        The data source to be notified when the write has been completed.
+
+@leave  KErrNotReady
+        SinkPrimeL() and SinkThreadLogon() have not been called.
+@leave  KErrArgument
+        aLength<0 or aPosition<0 or aSupplier is NULL.
+@leave  KErrNotSupported
+        aBuffer is not a supported CMMFDataBuffer
+*/
+void CProgressiveDownloadSource::WriteBufferL(TInt aLength, CMMFBuffer* aBuffer, TInt aPosition, MDataSource* aSupplier)
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::WriteBufferL Async"));
+    #endif
+
+	if ((aLength<0) || (aPosition<0) || (aSupplier == NULL) || (aBuffer == NULL))
+		User::Leave(KErrArgument);
+
+	if (!iFile || (iMmfFileEventHandler == NULL))
+		User::Leave(KErrNotReady);
+
+	if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		{
+		CWriteRequest* request = NULL;
+		TDes8& aBufferDes = STATIC_CAST( CMMFDataBuffer*, aBuffer )->Data();
+
+		//check whether buffer is safe to send to file server
+		//if not, eg for a transfer buffer, then it needs to be copied
+		if (!CMMFBuffer::IsFileServerSafe(aBuffer->Type()))
+			{
+			//NB: failure in this method will NOT cause transBufCopy to leak as it will be
+			//inserted into iTransferBufferCopies by ObtainCopyOfTransferBufferL.
+			CTransferBufferCopy* transBufCopy = ObtainCopyOfTransferBufferL(aBufferDes.MaxLength());
+
+			transBufCopy->Des().Copy(aBufferDes);
+
+			request = new(ELeave) CWriteRequest(STATIC_CAST(TAny*, aSupplier), aBuffer, transBufCopy, iMmfFileEventHandler);
+			}
+		else
+			{
+			request = new(ELeave) CWriteRequest(STATIC_CAST(TAny*, aSupplier), aBuffer, iMmfFileEventHandler);
+			}
+
+		CleanupStack::PushL( request );
+
+		StoreRequestL(request);  // transfers ownership
+		CleanupStack::Pop(); // request
+
+		iFile->Seek(ESeekStart, aPosition);
+		iFile->Write(request->BufferDes(), aLength, request->iStatus);
+		//iFileSize = -1; //reset cached size
+
+		request->SetActive();
+		}
+	else // if (!CMMFBuffer::IsFileServerSafe(aBuffer->Type()))
+		{
+		//write bitmap to file
+		User::Leave(KErrNotSupported);
+		}
+	}
+
+/**
+Empties aBuffer into iFile at the specified location.
+
+@param  aBuffer
+        The data buffer containing bytes to be written.
+@param  aPosition
+        The offset into file at which to start writing.
+@param  aSupplier
+        The data source to be notified when the write has been completed.
+
+@leave  KErrNotReady
+        SinkPrimeL() and SinkThreadLogon() have not been called.
+@leave  KErrArgument
+        aSupplier is NULL.
+@leave  KErrNotSupported
+        The aBuffer is not of type KMMFDataBuffer.
+*/
+void CProgressiveDownloadSource::WriteBufferL( CMMFBuffer* aBuffer, TInt aPosition, MDataSource* aSupplier)
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::WriteBufferL Async"));
+    #endif
+	// Requires that iFile is open for write.
+	// Writes data from iFile into aBuffer
+	if ((aPosition<0) || (aSupplier == NULL) || (aBuffer == NULL))
+		User::Leave(KErrArgument);
+
+	if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		{
+		TUint requestSize = STATIC_CAST( CMMFDataBuffer*, aBuffer )->Data().Length();
+
+		WriteBufferL(requestSize, aBuffer, aPosition, aSupplier);
+		}
+	else  // if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		{
+		//write bitmap to file
+		User::Leave( KErrNotSupported ) ;
+		}
+	}
+
+/**
+Empties aBuffer into iFile at specified location.  Note that this is a synchronous write.
+
+@param  aBuffer
+        The data buffer containing bytes to be written.
+@param  aPosition
+        The offset into file at which to start writing.
+
+@return The error code from RFile.
+*/
+void CProgressiveDownloadSource::WriteBufferL( CMMFBuffer* aBuffer, TInt aPosition )
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::WriteBufferL Sync"));
+    #endif
+	if ((aPosition<0) || (aBuffer == NULL))
+		User::Leave(KErrArgument);
+
+	if (!iFile)
+		User::Leave(KErrNotReady);
+
+	TInt err(KErrNone) ;
+
+	//check whether buffer is safe to send to file server
+	//if not, eg for a transfer buffer, then it needs to be copied
+	if ((!CMMFBuffer::IsFileServerSafe(aBuffer->Type()))
+		&& (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type())))
+		{
+		TDes8& aBufferDes = STATIC_CAST( CMMFDataBuffer*, aBuffer )->Data();
+
+		//NB: failure in this method will NOT cause transBufCopy to leak as it will be
+		//inserted into iTransferBufferCopies by ObtainCopyOfTransferBufferL.
+		CTransferBufferCopy* transBufCopy = ObtainCopyOfTransferBufferL(aBufferDes.MaxLength());
+
+		transBufCopy->Des().Copy(aBufferDes);
+		err = iFile->Seek(ESeekStart, aPosition);
+		if (err==KErrNone)
+			err = iFile->Write(transBufCopy->Des(),transBufCopy->Des().Length());
+		//iFileSize = -1; //reset cached size
+		}
+	else if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		{
+		TDes8& aBufferDes = STATIC_CAST( CMMFDataBuffer*, aBuffer )->Data();
+
+		err = iFile->Seek(ESeekStart, aPosition);
+		if (err==KErrNone)
+			err = iFile->Write(aBufferDes, aBufferDes.Length());
+		//iFileSize = -1; //reset cached size
+		}
+	else // if (CMMFBuffer::IsSupportedDataBuffer(aBuffer->Type()))
+		{
+		User::Leave(KErrNotSupported);
+		}
+
+	User::LeaveIfError(err);
+	}
+
+/**
+Gets the number of free bytes in the device's file system.
+
+@return The number of free bytes.
+*/
+TInt64 CProgressiveDownloadSource::BytesFree()
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::BytesFree"));
+    #endif
+
+	TVolumeInfo volInfo;
+	if (iFsSession.Volume(volInfo) == KErrNone)
+		return volInfo.iFree;
+	return TInt64(0);
+	}
+
+/**
+Returns the size of the file in bytes.
+
+Note: This is not the maximum length.
+
+@return The size of the file in bytes.
+*/
+TInt CProgressiveDownloadSource::Size()
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::size iFileSize %d"),iFileSize);
+	  RDebug::Print(_L("CProgressiveDownloadSource::size iFixSize %d"),iFix);
+    #endif
+
+  	TInt size = 0;
+	TInt err = KErrNone;
+	TBool fileOpened = EFalse;
+
+
+	 if(iFix != 0)   //rj
+	 	{
+	 	iFileSize = iFix;
+	 	return iFix;
+	 	}
+
+
+	if(iFileSize != -1)
+		return iFileSize;
+
+	if (!iFile)
+		{
+		// Open the file.
+		TRAP(err, SourcePrimeL());
+		if (iFile)
+			fileOpened = ETrue;
+		}
+	if (err == KErrNone && iFile)
+		err = iFile->Size(size);
+	if (err)
+		{
+		size = 0;
+	//	iFileSize = -1; //reset cached size
+		}
+	else
+		iFileSize = size; //cache the filesize
+
+	if (fileOpened)
+		TRAP_IGNORE(SourceStopL());	// Close the file
+
+	return size;
+
+	}
+
+/**
+Source thread logon.
+
+Shares fsSession between threads
+
+@param  aEventHandler
+        This is an MAsyncEventHandler to handle asynchronous events that occur during the
+        transfer of multimedia data.
+
+@return An error code indicating if the function call was successful. KErrNone on success, otherwise
+        another of the system-wide error codes.
+*/
+TInt CProgressiveDownloadSource::SourceThreadLogon(MAsyncEventHandler& aEventHandler)
+	{
+	iEventHandler = &aEventHandler;
+	if(!iMmfFileEventHandler)
+		{
+		iMmfFileEventHandler = new CMMFFileAsyncEventHandler(this);
+		if(!iMmfFileEventHandler)
+			return KErrNoMemory;
+		}
+#ifdef __IPC_V2_PRESENT__
+	return KErrNone; // nothing to do
+#else
+	return iFsSession.Attach();
+#endif // __HIDE_IPC_V1__
+	}
+
+/**
+Logs off source thread.
+*/
+void CProgressiveDownloadSource::SourceThreadLogoff()
+	{
+	delete iMmfFileEventHandler;
+	iMmfFileEventHandler = NULL;
+	iEventHandler = NULL;
+	}
+
+
+/**
+Sink thread logon.
+
+Shares fsSession between threads.
+
+@param  aEventHandler
+        This is an MAsyncEventHandler to handle asynchronous events that occur during the
+        transfer of multimedia data.
+
+@return An error code indicating if the function call was successful. KErrNone on success, otherwise
+        another of the system-wide error codes.
+*/
+TInt CProgressiveDownloadSource::SinkThreadLogon(MAsyncEventHandler& aEventHandler)
+	{
+	iEventHandler = &aEventHandler;
+	if(!iMmfFileEventHandler)
+		{
+		iMmfFileEventHandler = new CMMFFileAsyncEventHandler(this);
+		if(!iMmfFileEventHandler)
+			return KErrNoMemory;
+		}
+#ifdef __IPC_V2_PRESENT__
+	return KErrNone;
+#else
+	return iFsSession.Attach();
+#endif // __HIDE_IPC_V1__
+	}
+
+/**
+Sink thread log off.
+*/
+void CProgressiveDownloadSource::SinkThreadLogoff()
+	{
+	delete iMmfFileEventHandler;
+	iMmfFileEventHandler = NULL;
+	iEventHandler = NULL;
+	}
+
+/**
+Stores a request in an array.
+
+CReadWriteRequests are stored in the array iRequests.
+This function takes ownership and places the request in the array.
+It also checks the array for completed requests and removes them.
+
+@param  aRequest
+        The request to store.
+*/
+void CProgressiveDownloadSource::StoreRequestL( CReadWriteRequest* aRequest )
+	{
+	// add aRequest to iRequests
+	User::LeaveIfError( iRequests.Append( aRequest ) ) ;
+
+	// Clear out any completed requests
+	for ( TInt ii = 0 ; ii < iRequests.Count() ; ii++ )
+		{
+		if (iRequests[ii]->Completed())
+			{
+			CReadWriteRequest* request = iRequests[ii];
+			delete request;
+
+			iRequests.Remove(ii);
+			ii--;
+			}
+		}
+	}
+
+
+/**
+Cancels outstanding requests.
+
+CReadWriteRequests are stored in the array iRequests.
+This function cancels any outstanding requests and removes them
+from iRequests.
+*/
+void CProgressiveDownloadSource::CancelRequests()
+	{
+	// Clear out any completed requests
+	for ( TInt ii = 0 ; ii < iRequests.Count() ; ii++ )
+		{
+		CReadWriteRequest* request = iRequests[ii];
+		delete request;
+		iRequests.Remove(ii);
+		ii--;
+		}
+	}
+
+
+
+/**
+Returns the data type as a fourCC code of CProgressiveDownloadSource as a data source.
+
+@return The data type fourCC code.
+*/
+TFourCC CProgressiveDownloadSource::SourceDataTypeCode(TMediaId /*aMediaId*/)
+	{
+	return  iSourceFourCC ;
+	}
+
+/**
+Returns the data type as a fourCC code of CProgressiveDownloadSource as a data sink.
+
+@return The data type fourCC code
+*/
+TFourCC CProgressiveDownloadSource::SinkDataTypeCode(TMediaId /*aMediaId*/)
+	{
+	return  iSinkFourCC ;
+	}
+
+
+/**
+CProgressiveDownloadSource as a source is always passive so this function is not supported.
+
+@param  aBuffer
+        The emptied buffer.
+*/
+void CProgressiveDownloadSource::BufferEmptiedL(CMMFBuffer* /* aBuffer */)
+	{
+	Panic(EMMFFilePanicBufferEmptiedLNotSupported);
+	}
+
+/**
+Tests whether a source buffer can be created.
+
+@return	A boolean indicating if if CProgressiveDownloadSource can create its own buffer. EFalse if CProgressiveDownloadSource cannot
+        create it's own buffer.
+*/
+TBool CProgressiveDownloadSource::CanCreateSourceBuffer()
+	{
+	return EFalse;
+	}
+
+/**
+Creates a source buffer.
+
+@param  aMediaId
+        The Media ID.
+@param  aReference
+        A boolean indicating if MDataSource owns the buffer. ETrue if it does, EFalse if the caller
+        owns the buffer.
+
+@return	NULL as a CProgressiveDownloadSource cannot create it's own buffer
+*/
+CMMFBuffer* CProgressiveDownloadSource::CreateSourceBufferL( TMediaId /*aMediaId*/ , TBool& /*aReference*/)
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::CreateSourceBufferL"));
+    #endif
+	User::Leave(KErrNotSupported);
+	return NULL ;
+	}
+
+/**
+CProgressiveDownloadSource as a sink is always passive so this function is not supported.
+
+@param  aBuffer
+        The buffer.
+*/
+void CProgressiveDownloadSource::BufferFilledL(CMMFBuffer* /* aBuffer */)
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::BufferFilledL"));
+    #endif
+	Panic(EMMFFilePanicBufferFilledLNotSupported);
+	}
+
+/**
+Tests whether a sink buffer can be created.
+
+@return	A boolean indicating if the sink buffer can be created. EFalse if CProgressiveDownloadSource cannot create
+        it's own buffer
+*/
+TBool CProgressiveDownloadSource::CanCreateSinkBuffer()
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::CanCreateSinkBuffer"));
+    #endif
+	return EFalse ;
+	}
+
+/**
+Creates a sink buffer.
+
+@param  aMediaId
+        The Media ID.
+@param  aReference
+        A boolean indicating if MDataSource owns the buffer. ETrue if MDataSource owns the buffer,
+        EFalse if the caller owns the buffer.
+
+@return	NULL as a CProgressiveDownloadSource cannot create it's own buffer
+*/
+CMMFBuffer* CProgressiveDownloadSource::CreateSinkBufferL(TMediaId /*aMediaId*/ , TBool& /*aReference*/)
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::CreateSinkBufferL"));
+    #endif
+	User::Leave(KErrNotSupported);
+	return NULL ;
+	}
+
+
+/**
+Primes the source.
+
+When used as a source, the file prime opens the file as read only.
+*/
+void CProgressiveDownloadSource::SourcePrimeL()
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::SourcePrimeL"));
+    #endif
+
+	// don't reopen file if already open
+	if (!iFile)
+		{
+
+		if (iFileHandle)
+			{
+			iFile = CContentFile::NewL(iHandle, UniqueId());
+			}
+		else
+			{
+			// rj Open for progressive download need to have shared access
+			iFile = CContentFile::NewL(iFsSession, iFullFileName, UniqueId(), EFileShareAny);
+
+			}
+
+		}
+	iFileOpen = ETrue;
+	}
+
+/**
+Primes the sink.
+
+When used as a sink, the file prime opens the file for read/write access.
+*/
+void CProgressiveDownloadSource::SinkPrimeL()
+	{
+	// don't reopen file if already open
+	if (!iFile)
+		{
+
+		if (iFileHandle)
+			iFile = CF32File::NewL(iHandle);
+		else
+			iFile = CF32File::NewL(iFsSession, iFullFileName, EFileRead | EFileWrite);
+
+		iSinkNotStopped = ETrue;
+		}
+	iFileOpen = ETrue;
+	}
+
+/**
+Stops the file source. When stopping close the file.
+*/
+void CProgressiveDownloadSource::SourceStopL()
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::SourceStopL"));
+    #endif
+	CancelRequests();
+
+    if(iFile == NULL) //rj
+       return;
+
+	iFileOpen = EFalse;
+	TInt pos = 0;
+	if (!iFileHandle && !iFile->IsProtected())
+		{
+		delete iFile;
+		iFile = NULL;
+	//	iFileSize = -1;
+		}
+	else
+		{
+		User::LeaveIfError(iFile->Seek(ESeekStart, pos));
+
+		}
+
+	iPosition=pos;
+	}
+
+/**
+Stops the file sink.
+
+When stopping close the file.
+*/
+void CProgressiveDownloadSource::SinkStopL()
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::SinkStopL"));
+    #endif
+
+	CancelRequests();
+	iFileOpen = EFalse;
+	if (!iFileHandle)
+		{
+		iSinkNotStopped = EFalse;
+		delete iFile;
+		iFile = NULL;
+		}
+	else
+		{
+		TInt pos = 0;
+		User::LeaveIfError(iFile->Seek(ESeekStart, pos));
+		}
+	//iFileSize = -1;
+	iPosition=0;
+	}
+
+/**
+Returns a boolean indicating if the sink has been stopped.
+
+@return A boolean indicating if the sink has stopped.
+ */
+TBool CProgressiveDownloadSource::SinkStopped()
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::SinkStopped"));
+    #endif
+	if(iSinkNotStopped == EFalse)
+		return ETrue;
+	else
+		return EFalse;
+	}
+
+/**
+Evaluates a given intent against the rights associated with the file.
+
+The rights are not updated by this function call.
+
+@param  aIntent
+        The intent to evaluate.
+
+@return An error code indicating if the function call was successful. KErrNone on success, otherwise
+        another of the system-wide error codes.
+*/
+TInt CProgressiveDownloadSource::EvaluateIntent(ContentAccess::TIntent aIntent) const
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::EvaluateIntent"));
+    #endif
+	if (iFile==NULL)
+		{
+		return KErrNotReady;
+		}
+
+	return iFile->EvaluateIntent(aIntent);
+	}
+
+/**
+Evaluates and executes a given intent against the rights associated with the file.
+
+The rights object is updated after calling this function.
+
+@param  aIntent
+        The intent to evaluate.
+
+@return An error code indicating if the function call was successful. KErrNone on success, otherwise
+        another of the system-wide error codes.
+*/
+TInt CProgressiveDownloadSource::ExecuteIntent(ContentAccess::TIntent aIntent)
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::ExecuteIntent"));
+    #endif
+	if (!iFile)
+		return KErrNotReady;
+
+	return iFile->ExecuteIntent(aIntent);
+	}
+
+/**
+Returns whether the file is protected.
+
+@return A boolean indicating if the file is protected. ETrue if the file is protected.
+*/
+TBool CProgressiveDownloadSource::IsProtectedL() const
+	{
+
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::IsProtectedL"));
+    #endif
+	if (!iFile)
+		User::Leave(KErrNotReady);
+
+	return iFile->IsProtected();
+	}
+
+
+
+
+
+TInt CProgressiveDownloadSource::SetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue)
+	{
+	if (iFile==NULL)
+		{
+		return KErrNotReady;
+		}
+
+	return iFile->SetAgentProperty(aProperty, aValue);
+	}
+
+void CProgressiveDownloadSource::SourceCustomCommand(TMMFMessage& aMessage)
+	{
+    #if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadSource::SourceCustomCommand"));
+    #endif
+
+    TInt err= KErrNone;
+	switch(aMessage.Function())
+		  {
+		  case EGETFILEPOSITION:
+			  {
+			  //get iPosition;
+			   #if _DEBUG
+	           RDebug::Print(_L("CProgressiveDownloadSource::SrcCustomCommand file position %d"),iPosition);
+               #endif
+              TPckgBuf<TInt> positionPckg(iPosition);
+			  err = aMessage.WriteDataToClient(positionPckg);
+
+			  break;
+			  }
+          case ESETFILESIZE:
+			  {
+			  //set file size;
+			  TPckgBuf<TInt> fileSizePckg;
+			  err = aMessage.ReadData1FromClient(fileSizePckg);
+			  if((err==KErrNone) && (fileSizePckg()>0))
+				  SetSize(fileSizePckg());
+
+			  break;
+
+			  }
+		 case ESETBYTESDOWNLOADED:
+		 	  {
+		      TPckgBuf<TInt> bytesDownloadedPckg;
+		      err = aMessage.ReadData1FromClient(bytesDownloadedPckg);
+
+		      if((err==KErrNone) &&(bytesDownloadedPckg()>0))
+		          iBytesDownloaded = bytesDownloadedPckg();
+		      break;
+		 	  }
+		  default:
+			  err = KErrNotSupported;
+			  break;
+		  }
+
+	aMessage.Complete(err);
+
+	}
+
+/*
+ *	Returns ETrue if the request can safely be deleted.
+ */
+TBool CReadWriteRequest::Completed()
+	{
+	return iCompleted ;
+	}
+
+/*
+ *	Returns the data member of CMMFDataBuffer or CMMFTransferBuffer (as TPtr8)
+ *
+ */
+TDes8& CReadWriteRequest::BufferDes()
+	{
+	if(iTransferBufferCopy)
+		return iTransferBufferCopy->Des();
+	else
+		{
+		//reset iBufferDes in case iBuffer has changed...
+		iBufferDes = &(STATIC_CAST(CMMFDataBuffer*, iBuffer)->Data());
+		return *iBufferDes;
+		}
+	}
+
+const TDesC8& CReadWriteRequest::BufferDesC()
+	{
+	if(iTransferBufferCopy)
+		return iTransferBufferCopy->Des();
+	else
+		return BufferDes();
+	}
+
+
+/*
+ *	Destructor.
+ */
+CReadWriteRequest::~CReadWriteRequest()
+	{
+	Cancel();
+	if(iTransferBufferCopy)
+		iTransferBufferCopy->SetInUse(EFalse);
+	}
+
+/*
+ *	Allows owning class access to SetActive()
+ */
+void CReadWriteRequest::SetActive()
+	{
+	CActive::SetActive() ;
+	}
+
+/*
+ *  For the moment at least...    Canceled requests may be deleted
+ */
+void CReadWriteRequest::DoCancel()
+	{
+	iCompleted = ETrue ;
+	}
+
+/*
+ *	Called when errors in RunL force Leave.  For the moment just mark the request deletable
+ */
+TInt CReadWriteRequest::RunError( TInt aError )
+	{
+	//RunL can leave.
+	iCompleted = ETrue ;
+	iError = aError; //keep this error internally for now
+	return KErrNone ;
+	}
+
+/*
+ *	On completion of read request call back to the MDataSink
+ */
+void CReadRequest::RunL()
+	{
+
+	#if _DEBUG
+	   RDebug::Print(_L("CReadRequest::RunL file byte position %d"),iPosition);
+	   RDebug::Print(_L("CReadRequest::RunL buffer length %d"),BufferDes().Length());
+	#endif
+
+	if (iStatus != KErrNone)
+		{
+		TMMFEvent event(KMMFErrorCategoryControllerGeneralError, iStatus.Int());
+		iEventHandler->SendEventToClient(event);
+		}
+	else
+		{
+		//Copy the data from the normal buffer into the Transfer buffer
+		if(iTransferBufferCopy)
+			{
+			//must specify the size here as the dest may be smaller than the source.
+			TDes8& destDesc = STATIC_CAST(CMMFDataBuffer*, iBuffer)->Data();
+			destDesc.Copy(iTransferBufferCopy->Des().Left(destDesc.MaxLength()));
+
+			iTransferBufferCopy->SetInUse(EFalse);
+			}
+
+	   #if _DEBUG
+	      RDebug::Print(_L("CReadRequest::RunL bytes downloaded %d"),iBytesDownloaded);
+	   #endif
+	   if(iBytesDownloaded > 0 &&
+	      iBytesDownloaded <= iPosition + BufferDes().Length() &&
+	      iBytesDownloaded < iFileSize)
+		 {
+	   	 #if _DEBUG
+	       RDebug::Print(_L("CReadRequest::RunL - OUT OF DATA"));
+	   	 #endif
+
+	     STATIC_CAST(CMMFDataBuffer*, iBuffer)->Data().SetLength(0);
+
+		 }
+	    else
+	     {
+	     iPosition = iPosition + BufferDes().Length();
+	     }
+
+		//has all the files data been read
+		if(iPosition >= iFileSize)
+			{
+        #if _DEBUG
+           RDebug::Print(_L("CReadRequest::RunL filesize %d"),iFileSize);
+		   RDebug::Print(_L("CReadRequest::RunL file position %d"),iPosition);
+		   RDebug::Print(_L("CReadRequest::RunL setlastbuffer "));
+        #endif
+
+			iBuffer->SetLastBuffer(ETrue);
+			}
+
+		REINTERPRET_CAST(MDataSink*, iSinkOrSource)->BufferFilledL(iBuffer) ; // callback to MDataSource/Sink
+		}
+
+	iCompleted = ETrue ;
+	}
+
+/*
+ *  On completion of write request call back to the MDataSource
+ */
+void CWriteRequest::RunL()
+	{
+	if(iTransferBufferCopy)
+		iTransferBufferCopy->SetInUse(EFalse);
+
+	if (iStatus != KErrNone)
+		{
+		TMMFEvent event(KMMFErrorCategoryControllerGeneralError, iStatus.Int());
+		iEventHandler->SendEventToClient(event);
+		}
+	else
+		REINTERPRET_CAST(MDataSource*, iSinkOrSource)->BufferEmptiedL(iBuffer) ; // callback to MDataSource/Sink
+
+	iCompleted = ETrue ;
+	}
+
+CProgressiveDownloadSource::CMMFFileAsyncEventHandler::CMMFFileAsyncEventHandler(CProgressiveDownloadSource* aParent)
+	{
+	iParent = aParent;
+	}
+
+CProgressiveDownloadSource::CMMFFileAsyncEventHandler::~CMMFFileAsyncEventHandler()
+	{
+	}
+
+TInt CProgressiveDownloadSource::CMMFFileAsyncEventHandler::SendEventToClient(const TMMFEvent& aEvent)
+	{
+
+#if _DEBUG
+     RDebug::Print(_L("CProgressiveDownloadSource::CMMFFileAsyncEventHandler::SendEventToClient err=%d"),aEvent.iErrorCode);
+#endif
+
+	if(aEvent.iErrorCode == KErrNotReady)//i.e. MMC removed while recording
+		TRAP_IGNORE(iParent->SinkStopL());
+	return iParent->iEventHandler->SendEventToClient(aEvent);
+	}
+
+
+
+// __________________________________________________________________________
+// Exported proxy for instantiation method resolution
+// Define the interface UIDs
+
+const TImplementationProxy ImplementationTable[] =
+	{
+		IMPLEMENTATION_PROXY_ENTRY(KProgressiveDownloadSourceUid,CProgressiveDownloadSource::NewSourceL)
+	};
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+	{
+	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+
+	return ImplementationTable;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadSource/src/ProgressiveDownloadSource.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,280 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+
+
+#ifndef __PROGRESSIVEDOWNLOADSOURCE_H_
+#define __PROGRESSIVEDOWNLOADSOURCE_H_
+
+#include <f32file.h>
+
+#include <mmf/server/mmfclip.h>
+#include <mmf/server/mmfdatabuffer.h>
+#include <mmf/common/mmcaf.h>
+
+#include "ProgressiveDownloadSourceUIDs.hrh"
+
+class CReadWriteRequest;
+class CTransferBufferCopy;
+class MGenericFile;
+
+/**
+@publishedAll
+@released
+
+Provides the filename and path of file.
+
+Used by CMMFFile::ConstructL().
+*/
+class TMMFFileParams
+	{
+public:
+	/**
+	Filename and path of file.
+	*/
+	TFileName iPath ; // Filename and path of file.
+private:
+	/**
+	This member is internal and not intended for use.
+	*/
+	TInt iReserved1;
+	};
+
+/**
+@internalTechnology
+*/
+const TUid KFileHandleUid = {0x101FFA19};
+const TUid KMMFileSourceUid = {0x101F7DA9};
+const TUid KMMFileHandleSourceUid = {0x101F7DAA};
+/**
+@publishedAll
+@released
+
+Provides a pointer to the file handle
+
+Used by CMMFFile::ConstructL().
+*/
+class TMMFFileHandleParams
+	{
+public:
+	TMMFFileHandleParams(RFile* aFile) : iUid(KFileHandleUid), iFile(aFile) {}
+	TMMFFileHandleParams() : iUid(KFileHandleUid) {}
+
+	TUid iUid;
+	/**
+	Handle of file
+	*/
+	RFile* iFile;
+private:
+	/**
+	This member is internal and not intended for use.
+	*/
+	TInt iReserved1;
+	};
+
+
+
+
+/**
+@publishedAll
+@released
+*/
+typedef TPckgBuf<TMMFFileParams>  TMMFFileConfig ;
+
+/**
+@publishedAll
+@released
+*/
+typedef TPckgBuf<TMMFFileHandleParams>  TMMFFileHandleConfig ;
+
+
+/**
+@publishedAll
+@released
+
+This details how big the iTransferBufferCopies array of CMMFFile may
+become before we start looking to free entries.
+*/
+const TInt KAcceptableTransferBufferCopiesSize = 5;
+
+/**
+@publishedAll
+@released
+
+This details how big the iTransferBufferCopies array of CMMFFile may
+become before we start looking to free entries.
+*/
+const TInt KMaximumTransferBufferCopiesSize = 100;
+
+
+/**
+@publishedAll
+@released
+
+MultiMedia framework class.  Represents a physical file.
+
+This may be source file from which data is read or destination to which data is written.
+
+Intended to be used by controller plugin developers for source and sink plugins.
+*/
+class CProgressiveDownloadSource : public CMMFClip
+	{
+public:
+	// From MDataSource
+	virtual TFourCC SourceDataTypeCode(TMediaId aMediaId) ;
+	virtual void FillBufferL( CMMFBuffer* aBuffer, MDataSink* aConsumer, TMediaId aMediaId ) ;
+	virtual void BufferEmptiedL( CMMFBuffer* aBuffer ) ;
+	virtual TBool CanCreateSourceBuffer() ;
+	virtual CMMFBuffer* CreateSourceBufferL( TMediaId aMediaId, TBool &aReference ) ;
+	virtual TInt SourceThreadLogon(MAsyncEventHandler& aEventHandler) ;
+	virtual void SourceThreadLogoff();
+	virtual void SourcePrimeL();
+	virtual void SourceStopL();
+
+	// From MDataSink
+	virtual TFourCC SinkDataTypeCode(TMediaId aMediaId) ; //used by data path MDataSource/Sink for codec matching
+	virtual void EmptyBufferL( CMMFBuffer* aBuffer, MDataSource* aSupplier, TMediaId aMediaId ) ;
+	virtual void BufferFilledL( CMMFBuffer* aBuffer ) ;
+	virtual TBool CanCreateSinkBuffer() ;
+	virtual CMMFBuffer* CreateSinkBufferL( TMediaId aMediaId , TBool &aReference) ;
+	virtual TInt SinkThreadLogon(MAsyncEventHandler& aEventHandler) ;
+	virtual void SinkThreadLogoff();
+	virtual void SinkPrimeL();
+	virtual void SinkStopL();
+
+	// From CMMFClip
+	virtual void ReadBufferL( TInt aLength, CMMFBuffer* aBuffer, TInt aPosition, MDataSink* aConsumer);
+	virtual void WriteBufferL( TInt aLength, CMMFBuffer* aBuffer, TInt aPosition, MDataSource* aSupplier);
+	virtual void ReadBufferL( CMMFBuffer* aBuffer, TInt aPosition, MDataSink* aConsumer) ;
+	virtual void WriteBufferL( CMMFBuffer* aBuffer, TInt aPosition, MDataSource* aSupplier) ;
+	virtual void ReadBufferL( CMMFBuffer* aBuffer, TInt aPosition ) ;
+	virtual void WriteBufferL( CMMFBuffer* aBuffer, TInt aPosition ) ;
+	virtual TInt64 BytesFree() ;  // amount of space available for the clip
+	virtual TInt Size() ;
+	virtual TInt Delete();
+	virtual TInt SetSize(TInt aSize);
+
+	// New Functions
+	virtual const TDesC& FileName() const ;
+	virtual const TDesC& Extension() const ;
+	virtual const TDesC& FilePath() const ;
+	virtual const TDesC& FileDrive() const ;
+	virtual const TFileName FullName() const;
+	virtual RFile& FileL() ;
+
+	virtual void SourceCustomCommand(TMMFMessage& aMessage);
+
+
+public :
+	virtual ~CProgressiveDownloadSource() ;
+	static MDataSource* NewSourceL() ;
+	static MDataSink* NewSinkL() ;
+
+	void SetTransferBuffer (TBool aTBuffer) ;
+	TBool CanUseTransferBuffer () ;
+	virtual TBool SinkStopped();
+
+protected :
+	/**
+	Indicates for which purpose the object instance is being created
+	*/
+	enum TMMFileMode
+		{
+		/** The object is created for being a source */
+		ESourceMode,
+		/** The object is created for being a sink */
+		ESinkMode
+		};
+	virtual void ConstructSourceL( const TDesC8& aInitData ) ;
+	virtual void ConstructSinkL( const TDesC8& aInitData ) ;
+	void ConstructL(const TDesC8& aInitData, TMMFileMode aFileMode) ;
+	CProgressiveDownloadSource() ;
+
+	void StoreRequestL( CReadWriteRequest* aRequest ) ;
+	void CancelRequests();
+
+
+	CTransferBufferCopy* ObtainCopyOfTransferBufferL(TInt aMaxLength);
+
+public:
+	// Additional virtuals for DRM Intent
+	virtual TInt ExecuteIntent(ContentAccess::TIntent aIntent);
+	virtual TInt EvaluateIntent(ContentAccess::TIntent aIntent) const;
+	virtual TBool IsProtectedL() const;
+
+
+	virtual TInt SetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue);
+	virtual const TDesC& UniqueId() const;
+
+
+private:
+	class CMMFFileAsyncEventHandler : public MAsyncEventHandler
+		{
+		public:
+			CMMFFileAsyncEventHandler(CProgressiveDownloadSource* aParent);
+			virtual ~CMMFFileAsyncEventHandler();
+		public:
+			virtual TInt SendEventToClient(const TMMFEvent& aEvent);
+		private:
+			CProgressiveDownloadSource* iParent;
+		};
+private:
+	MGenericFile* iFile;
+	RFs iFsSession;
+
+	TBool iFileHandle;
+	RFile iHandle;
+	TBool iFileOpen; // "virtual" open, makes sure that certain accesses are between Prime and Stop
+
+	TBool iSinkNotStopped;
+
+	TFileName iFullFileName ;
+	HBufC* iFileName ;
+	HBufC* iFileExt ;
+	HBufC* iFilePath ;
+	HBufC* iFileDrive ;
+
+	HBufC* iUniqueId;
+
+	TInt iFileSize; //holds the cached file size
+
+	TInt iFix;
+
+	//Keeps track of the read position within the file. Needed in order to enable passing of the
+	//read position to the CReadRequest to manage the LastBuffer flag.
+	//NB: Continuous reads once EOF has been reached will result in iPosition going > iFileSize,
+	//but this causes no ill effects
+	TUint iPosition;
+
+	TFourCC  iSinkFourCC ;
+	TFourCC  iSourceFourCC ;
+
+
+	RPointerArray<CReadWriteRequest> iRequests;
+
+	MAsyncEventHandler *iEventHandler;
+	CMMFFileAsyncEventHandler* iMmfFileEventHandler;
+
+	RPointerArray<CTransferBufferCopy> iTransferBufferCopies;
+	friend class CMMFFileAsyncEventHandler;
+	TInt iBytesDownloaded;
+	};
+
+
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadSource/src/ProgressiveDownloadSourceUIDs.hrh	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility  
+*
+*/
+
+#ifndef __PROGRESSIVEDOWNLOADSOURCEUIDS_HRH__
+#define __PROGRESSIVEDOWNLOADSOURCEUIDS_HRH__
+
+
+// These are the ECOM Interface UIDs 
+
+#define KProgressiveDownloadSourceUid   0x10207A7C
+
+
+
+//DataSource CustomCommands
+enum
+{
+EGETFILEPOSITION,
+ESETFILESIZE,
+ESETBYTESDOWNLOADED
+};
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadSource/src/fileaccess.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,331 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+#include <f32file.h>
+#include <e32std.h>
+#include <caf/attribute.h>
+#include <caf/bitset.h>
+#include <caf/content.h>
+#include <caf/data.h>
+using namespace ContentAccess;
+#include <f32file.h>
+
+#include "FileAccess.h"
+
+CF32File::~CF32File()
+	{
+	if (!iFileHandle)
+		iFile.Close();
+	delete iFilePath;
+	}
+
+CF32File* CF32File::NewL(RFs& aSession, TDesC& aFilePath, TUint aMode)
+	{
+	CF32File* self = new (ELeave) CF32File;
+	CleanupStack::PushL(self);
+	self->ConstructL(aSession, aFilePath, aMode);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+
+void CF32File::ConstructL(RFs& aSession, TDesC& aPath, TUint aFileMode)
+	{
+	iSession = &aSession;
+	iFilePath = aPath.AllocL();
+	TUint attributes = 0;
+	TInt err = iSession->Att(*iFilePath, attributes);
+	if (err == KErrNone)
+		{
+		if ( attributes & KEntryAttReadOnly )
+			User::LeaveIfError(iFile.Open(*iSession, *iFilePath, EFileShareAny )) ;
+		else //if ( !( attributes & KEntryAttReadOnly ) )
+			User::LeaveIfError(iFile.Open(*iSession, *iFilePath, EFileShareAny)) ;
+		}
+	else if ((err == KErrNotFound) && (aFileMode & EFileWrite))
+		{
+		User::LeaveIfError(iFile.Create(*iSession, *iFilePath, EFileShareAny )) ;
+		}
+	else
+		{
+		User::Leave(err);
+		}
+	}
+
+
+RFile& CF32File::FileL()
+	{
+	return iFile;
+	}
+
+TInt CF32File::Seek(TSeek aSeekMode, TInt aPos)
+	{
+	return iFile.Seek(aSeekMode, aPos);
+	}
+
+TInt CF32File::Read(TDes8& aDes,TInt aLength)
+	{
+	return iFile.Read(aDes, aLength);
+	}
+
+void CF32File::Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus)
+	{
+	iFile.Read(aDes, aLength, aStatus);
+	}
+
+TInt CF32File::Write(const TDesC8& aDes,TInt aLength)
+	{
+	return iFile.Write(aDes, aLength);
+	}
+
+void CF32File::Write(const TDesC8& aDes, TInt aLength, TRequestStatus& aStatus)
+	{
+	iFile.Write(aDes, aLength, aStatus);
+	}
+
+TInt CF32File::Size(TInt& aSize)
+	{
+    #if _DEBUG
+	  RDebug::Print(_L("[%x]CF32File::Size to %d\n"),this,aSize);
+    #endif
+
+	return iFile.Size(aSize);
+	}
+
+TInt CF32File::SetSize(TInt aSize)
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("[%x]CF32File::SetSize to %d\n"),this,aSize);
+    #endif
+
+
+	TInt err =  iFile.SetSize(aSize);
+	if(err == KErrNone)
+		iFileSize = aSize;
+	else
+		iFileSize = -1;
+
+	return err;
+	}
+
+TInt CF32File::EvaluateIntent(TIntent /*aIntent*/) const
+	{
+	return KErrNone;
+	}
+
+
+TInt CF32File::ExecuteIntent(TIntent /*aIntent*/)
+	{
+	return KErrNone;
+	}
+
+TBool CF32File::IsProtected() const
+	{
+	return EFalse;
+	}
+
+
+TInt CF32File::SetAgentProperty(TAgentProperty /*aProperty*/, TInt /*aValue*/)
+	{
+	// not an error to set this if not supported, just wont do anything
+	return KErrNone;
+	}
+
+
+CContentFile::~CContentFile()
+	{
+	delete iData;
+	delete iContent;
+
+	if (iLegacyFileOpen)
+		iLegacyFile.Close();
+	delete iFilePath;
+	}
+
+
+
+CContentFile* CContentFile::NewL(RFs& aSession, const TDesC& aFilePath, const TDesC& aUniqueId, TUint aMode)
+	{
+	CContentFile* self = new (ELeave) CContentFile;
+	CleanupStack::PushL(self);
+	self->ConstructL(aSession, aFilePath, aUniqueId, aMode);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+void CContentFile::ConstructL(RFs& aSession, const TDesC& aPath, const TDesC& aUniqueId, TUint /*aMode*/)
+	{
+	iSession = &aSession;
+	iFilePath = aPath.AllocL();
+
+	iContent = CContent::NewL(*iFilePath,EContentShareReadWrite);
+	if (aUniqueId.Length()>0)
+		{
+		iData = iContent->OpenContentL(EPeek, aUniqueId);//rj need mode for this one.
+		}
+	else
+		{
+		iData = iContent->OpenContentL(EPeek,EContentShareReadWrite);
+		}
+	}
+
+CContentFile* CContentFile::NewL(RFs& aSession, const TDesC& aFilePath, TUint aMode)
+	{
+	CContentFile* self = new (ELeave) CContentFile;
+	CleanupStack::PushL(self);
+	self->ConstructL(aSession, aFilePath, aMode);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+void CContentFile::ConstructL(RFs& aSession, const TDesC& aPath, TUint /*aMode*/)
+	{
+	iSession = &aSession;
+	iFilePath = aPath.AllocL();
+
+	iContent = CContent::NewL(*iFilePath, EContentShareReadWrite) ;
+	iData = iContent->OpenContentL(EPeek,EContentShareReadWrite);
+	}
+
+
+
+
+
+TInt CContentFile::EvaluateIntent(TIntent aIntent) const
+	{
+	ASSERT(iData);
+	return iData->EvaluateIntent(aIntent);
+	}
+
+
+TInt CContentFile::ExecuteIntent(TIntent aIntent)
+	{
+	ASSERT(iData);
+	return iData->ExecuteIntent(aIntent);
+	}
+
+TBool CContentFile::IsProtected() const
+	{
+	ASSERT(iContent && iData);
+	TInt value = 0;
+	TInt err =iData->GetAttribute(EIsProtected, value);
+	return (err == KErrNone && value);
+	}
+
+
+TInt CContentFile::SetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue)
+	{
+	ASSERT(iContent);
+	return iContent->SetProperty(aProperty, aValue);
+	}
+
+
+TInt CContentFile::Seek(TSeek aSeekMode, TInt aPos)
+	{
+	ASSERT(iData);
+	return iData->Seek(aSeekMode, aPos);
+	}
+
+TInt CContentFile::Read(TDes8& aDes,TInt aLength)
+	{
+	ASSERT(iData);
+	return iData->Read(aDes,aLength);
+	}
+
+void CContentFile::Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus)
+	{
+	ASSERT(iData);
+	iData->Read(aDes, aLength, aStatus);
+	}
+
+TInt CContentFile::Write(const TDesC8& /*aDes*/,TInt /*aLength*/)
+	{
+	return KErrAccessDenied;
+	}
+void CContentFile::Write(const TDesC8& /*aDes*/, TInt /*aLength*/, TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrAccessDenied);
+	}
+
+TInt CContentFile::SetSize(TInt /*aSize*/)
+	{
+	// Only a source is implemented, hence this cannot be allowed
+	return KErrAccessDenied;
+	}
+
+
+// Get the size of file
+// this method opens a new, read-only, RFile the first time this method is called
+
+TInt CContentFile::Size(TInt& aSize)
+	{
+	ASSERT(iData);
+	TRAPD(err, iData->DataSizeL(aSize));
+	return err;
+	}
+
+/**
+ * return a RFile for the legacy RFile method
+ * this method opens a new, read-only, RFile the first time this method is called
+ * @internalTechnology
+ * @return Reference to RFile handle to current file
+ */
+RFile& CContentFile::FileL()
+	{
+	if (!iLegacyFileOpen)
+		{
+		User::LeaveIfError(iLegacyFile.Open(*iSession, *iFilePath, EFileRead | EFileStream | EFileShareAny));
+		iLegacyFileOpen = ETrue;
+		}
+	return iLegacyFile;
+	}
+
+
+CF32File* CF32File::NewL(RFile& aFile)
+	{
+	CF32File* self = new (ELeave) CF32File;
+	CleanupStack::PushL(self);
+	self->ConstructL(aFile);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+void CF32File::ConstructL(RFile& aFile)
+	{
+	iFile = aFile;
+	iFileHandle = ETrue;
+	}
+
+CContentFile* CContentFile::NewL(RFile& aFile, const TDesC& aUniqueId)
+	{
+	CContentFile* self = new (ELeave) CContentFile;
+	CleanupStack::PushL(self);
+	self->ConstructL(aFile, aUniqueId);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+void CContentFile::ConstructL(RFile& aFile, const TDesC& aUniqueId)
+	{
+	iContent = CContent::NewL(aFile) ;
+	if (aUniqueId.Length()>0)
+		iData = iContent->OpenContentL(EPeek, aUniqueId); //need mode
+	else
+		iData = iContent->OpenContentL(EPeek, aUniqueId);
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/BWINS/PDProperties.def	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,7 @@
+EXPORTS
+	??1CPdProperties@@UAE@XZ @ 1 NONAME ; CPdProperties::~CPdProperties(void)
+	?NewL@CPdProperties@@SAPAV1@XZ @ 2 NONAME ; class CPdProperties * CPdProperties::NewL(void)
+	?NewLC@CPdProperties@@SAPAV1@XZ @ 3 NONAME ; class CPdProperties * CPdProperties::NewLC(void)
+	?OpenL@CPdProperties@@QAEPAVCAudioPdPlayUtility@@ABVRFile@@AAVMAudioPdPlayUtilityCallback@@@Z @ 4 NONAME ; class CAudioPdPlayUtility * CPdProperties::OpenL(class RFile const &, class MAudioPdPlayUtilityCallback &)
+	?OpenL@CPdProperties@@QAEPAVCAudioPdPlayUtility@@ABVTDesC16@@AAVMAudioPdPlayUtilityCallback@@@Z @ 5 NONAME ; class CAudioPdPlayUtility * CPdProperties::OpenL(class TDesC16 const &, class MAudioPdPlayUtilityCallback &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/BWINS/ProgressiveDownloadUtility.def	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,6 @@
+EXPORTS
+	??1CProgressiveDownloadUtility@@UAE@XZ @ 1 NONAME ; CProgressiveDownloadUtility::~CProgressiveDownloadUtility(void)
+	?NewL@CProgressiveDownloadUtility@@SAPAV1@XZ @ 2 NONAME ; class CProgressiveDownloadUtility * CProgressiveDownloadUtility::NewL(void)
+	?OpenL@CProgressiveDownloadUtility@@QAEPAVMAudioPdPlayUtility@@ABVRFile@@AAVMAudioPdPlayUtilityCallback@@@Z @ 3 NONAME ; class MAudioPdPlayUtility * CProgressiveDownloadUtility::OpenL(class RFile const &, class MAudioPdPlayUtilityCallback &)
+	?OpenL@CProgressiveDownloadUtility@@QAEPAVMAudioPdPlayUtility@@ABVTDesC16@@AAVMAudioPdPlayUtilityCallback@@@Z @ 4 NONAME ; class MAudioPdPlayUtility * CProgressiveDownloadUtility::OpenL(class TDesC16 const &, class MAudioPdPlayUtilityCallback &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/EABI/PDProperties.def	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,25 @@
+EXPORTS
+	_ZN13CPdProperties4NewLEv @ 1 NONAME
+	_ZN13CPdProperties5NewLCEv @ 2 NONAME
+	_ZN13CPdProperties5OpenLERK5RFileR27MAudioPdPlayUtilityCallback @ 3 NONAME
+	_ZN13CPdProperties5OpenLERK7TDesC16R27MAudioPdPlayUtilityCallback @ 4 NONAME
+	_ZN13CPdPropertiesD0Ev @ 5 NONAME
+	_ZN13CPdPropertiesD1Ev @ 6 NONAME
+	_ZN13CPdPropertiesD2Ev @ 7 NONAME
+	_ZTI13CPdProperties @ 8 NONAME ; #<TI>#
+	_ZTI18CAudioPdProperties @ 9 NONAME ; #<TI>#
+	_ZTI19CAudioPdPlayUtility @ 10 NONAME ; #<TI>#
+	_ZTI26CMMFMdaAudioPlayerCallBack @ 11 NONAME ; #<TI>#
+	_ZTI27CRepeatTrailingSilenceTimer @ 12 NONAME ; #<TI>#
+	_ZTIN10multimedia21CBufferEmptiedEventAOE @ 13 NONAME ; #<TI>#
+	_ZTIN25CMMFFindAndOpenController7CConfigE @ 14 NONAME ; #<TI>#
+	_ZTV13CPdProperties @ 15 NONAME ; #<VT>#
+	_ZTV18CAudioPdProperties @ 16 NONAME ; #<VT>#
+	_ZTV19CAudioPdPlayUtility @ 17 NONAME ; #<VT>#
+	_ZTV26CMMFMdaAudioPlayerCallBack @ 18 NONAME ; #<VT>#
+	_ZTV27CRepeatTrailingSilenceTimer @ 19 NONAME ; #<VT>#
+	_ZTVN10multimedia21CBufferEmptiedEventAOE @ 20 NONAME ; #<VT>#
+	_ZTVN25CMMFFindAndOpenController7CConfigE @ 21 NONAME ; #<VT>#
+	_ZTI12CContentFile @ 22 NONAME ; #<TI>#
+	_ZTV12CContentFile @ 23 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/EABI/ProgressiveDownloadUtility.def	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,10 @@
+EXPORTS
+	_ZN27CProgressiveDownloadUtility4NewLEv @ 1 NONAME
+	_ZN27CProgressiveDownloadUtility5OpenLERK5RFileR27MAudioPdPlayUtilityCallback @ 2 NONAME
+	_ZN27CProgressiveDownloadUtility5OpenLERK7TDesC16R27MAudioPdPlayUtilityCallback @ 3 NONAME
+	_ZN27CProgressiveDownloadUtilityD0Ev @ 4 NONAME
+	_ZN27CProgressiveDownloadUtilityD1Ev @ 5 NONAME
+	_ZN27CProgressiveDownloadUtilityD2Ev @ 6 NONAME
+	_ZTI27CProgressiveDownloadUtility @ 7 NONAME ; #<TI>#
+	_ZTV27CProgressiveDownloadUtility @ 8 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/group/PDProperties.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project file for ProgressiveDownloadUtility
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET       PDProperties.dll
+TARGETTYPE   DLL
+
+DEFFILE	     PDProperties.def
+NOSTRICTDEF
+
+
+
+UID  0x10207BA7
+
+CAPABILITY ALL -Tcb
+
+USERINCLUDE     ../inc ../../ProgressiveDownloadSource/src
+USERINCLUDE	../../../../inc
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE	/epoc32/include/mmf/server
+SYSTEMINCLUDE	/epoc32/include/kernel
+SYSTEMINCLUDE	/epoc32/include/mmf/common
+SYSTEMINCLUDE   /epoc32/include/mm
+SYSTEMINCLUDE   /epoc32/include/caf
+
+SOURCEPATH   	../src
+SOURCE      BufferEmptiedEventAO.cpp
+#ifdef RD_PD_FOR_AUDIO_CONTENT_VIA_HELIX_ENGINE
+SOURCE		EMCPdPlayUtility.cpp 
+#else
+SOURCE		AudioPdPlayUtility.cpp 
+#endif
+SOURCE		mmfclientutility.cpp
+SOURCE		ContentFile.cpp
+SOURCE		PDProperties.cpp 
+
+
+LIBRARY		euser.lib   
+LIBRARY 	efsrv.lib 
+LIBRARY		ecom.lib 
+LIBRARY		mmfcontrollerframework.lib 
+LIBRARY		mmfstandardcustomcommands.lib 
+LIBRARY		DownloadMgr.lib
+LIBRARY 	caf.lib
+LIBRARY		cafutils.lib
+LIBRARY     EnhancedMediaClient.lib
+LIBRARY     apgrfx.lib
+LIBRARY     apmime.lib
+LIBRARY     MetaDataUtility.lib        
+  
+#ifdef SYMBIAN_CAF_V2
+LIBRARY		estor.lib
+LIBRARY		mmcommon.lib
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/group/ProgressiveDownloadUtility.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project file for ProgressiveDownloadUtility
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET       ProgressiveDownloadUtility.dll
+TARGETTYPE   DLL
+
+DEFFILE	     ProgressiveDownloadUtility.def
+NOSTRICTDEF
+
+
+
+UID  0x10207A7A
+
+CAPABILITY ALL -Tcb
+
+USERINCLUDE     ../inc ../../ProgressiveDownloadSource/src
+USERINCLUDE	../../../../inc
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE	/epoc32/include/mmf/server
+SYSTEMINCLUDE	/epoc32/include/kernel
+SYSTEMINCLUDE	/epoc32/include/mmf/common
+SYSTEMINCLUDE   /epoc32/include/mm
+
+
+SOURCEPATH   	../src
+SOURCE		ProgressiveDownloadUtility.cpp 
+
+
+LIBRARY		euser.lib   
+LIBRARY 	efsrv.lib  
+LIBRARY		ecom.lib 
+LIBRARY		mmfcontrollerframework.lib 
+LIBRARY		mmfstandardcustomcommands.lib 
+LIBRARY     PDProperties.lib        
+  
+#ifdef SYMBIAN_CAF_V2
+LIBRARY		estor.lib
+LIBRARY		mmcommon.lib
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project build file for ProgressiveDownloadUtility
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+
+PRJ_EXPORTS
+
+
+PRJ_MMPFILES
+PDProperties.mmp
+ProgressiveDownloadUtility.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/AudioPdPlayUtility.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,947 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+#include <bautils.h>
+#include <utf.h>
+#include <mmfpaniccodes.h>
+#include "AudioPdPlayUtility.h"
+#include "AudioPdProperties.h"
+#include "progressivedownloadsourceuids.hrh"
+
+#include <AudioPreference.h>
+
+//void Panic(TInt aPanicCode);
+
+const TUid KUidProgressiveDlSource	= {KProgressiveDownloadSourceUid};
+
+void Panic(TInt aPanicCode)
+	{
+	_LIT(KProgressiveDownloadUtility, "ProgressiveDownloadUtility");
+	User::Panic(KProgressiveDownloadUtility, aPanicCode);
+	}
+
+CAudioPdPlayUtility* CAudioPdPlayUtility::NewL(MAudioPdPlayUtilityCallback& aCallback)
+	{
+    CAudioPdPlayUtility* self = new(ELeave) CAudioPdPlayUtility();
+	CleanupStack::PushL(self);
+
+ 	self->iProperties = CAudioPdProperties::NewL(aCallback);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+CAudioPdPlayUtility::~CAudioPdPlayUtility()
+	{
+	delete iProperties;
+	}
+
+CAudioPdPlayUtility::CAudioPdPlayUtility()
+	{
+
+	}
+
+void CAudioPdPlayUtility::ConstructL()
+	{
+
+	}
+
+//For Download Status
+void CAudioPdPlayUtility::HandleDownloadEventL(TUint aTransactionID,
+                                               TBrCtlDownloadEvent aEvent,
+                                               TUint aValue)
+	{
+    iProperties->HandleDownloadEventL(aTransactionID,aEvent,aValue);
+	}
+
+
+void CAudioPdPlayUtility::Play()
+	{
+    iProperties->Play();
+	}
+void CAudioPdPlayUtility::Stop()
+	{
+    iProperties->Stop();
+	}
+TInt CAudioPdPlayUtility::Pause()
+	{
+    return iProperties->Pause();
+	}
+void CAudioPdPlayUtility::SetVolume(TInt aVolume)
+	{
+    iProperties->SetVolume(aVolume);
+	}
+void CAudioPdPlayUtility::SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence)
+	{
+    iProperties->SetRepeats(aRepeatNumberOfTimes,aTrailingSilence);
+	}
+void CAudioPdPlayUtility::SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration)
+	{
+    iProperties->SetVolumeRamp(aRampDuration);
+	}
+const TTimeIntervalMicroSeconds& CAudioPdPlayUtility::Duration()
+	{
+	return iProperties->Duration();
+	}
+TInt CAudioPdPlayUtility:: MaxVolume()
+	{
+	return iProperties->MaxVolume();
+	}
+void CAudioPdPlayUtility::Close()
+	{
+    iProperties->Close();
+	}
+TInt CAudioPdPlayUtility::GetPosition(TTimeIntervalMicroSeconds& aPosition)
+	{
+    return iProperties->GetPosition(aPosition);
+	}
+void CAudioPdPlayUtility::SetPosition(const TTimeIntervalMicroSeconds& aPosition)
+	{
+    iProperties->SetPosition(aPosition);
+	}
+
+TInt CAudioPdPlayUtility::SetPriority(TInt aPriority, TMdaPriorityPreference aPref)
+	{
+    return iProperties->SetPriority(aPriority,aPref);
+	}
+TInt CAudioPdPlayUtility::GetVolume(TInt& aVolume)
+	{
+    return iProperties->GetVolume(aVolume);
+	}
+TInt CAudioPdPlayUtility::GetNumberOfMetaDataEntries(TInt& aNumEntries)
+	{
+    return iProperties->GetNumberOfMetaDataEntries(aNumEntries);
+	}
+
+
+CMMFMetaDataEntry* CAudioPdPlayUtility::GetMetaDataEntryL(TInt aMetaDataIndex)
+	{
+	return iProperties->GetMetaDataEntryL(aMetaDataIndex);
+	}
+
+TInt CAudioPdPlayUtility::SetPlayWindow(const TTimeIntervalMicroSeconds& aStart,
+								const TTimeIntervalMicroSeconds& aEnd)
+	{
+    return iProperties->SetPlayWindow(aStart,aEnd);
+	}
+
+TInt CAudioPdPlayUtility::ClearPlayWindow()
+	{
+    return iProperties->ClearPlayWindow();
+	}
+TInt CAudioPdPlayUtility::SetBalance(TInt aBalance)
+	{
+    return iProperties->SetBalance(aBalance);
+	}
+TInt CAudioPdPlayUtility::GetBalance(TInt& aBalance)
+	{
+    return iProperties->GetBalance(aBalance);
+	}
+TInt CAudioPdPlayUtility::GetBitRate(TUint& aBitRate)
+	{
+    return iProperties->GetBitRate(aBitRate);
+	}
+
+
+void CAudioPdPlayUtility::RegisterForAudioLoadingNotification(MAudioLoadingObserver& aCallback)
+	{
+    iProperties->RegisterForAudioLoadingNotification(aCallback);
+	}
+
+void CAudioPdPlayUtility::GetAudioLoadingProgressL(TInt& aPercentageProgress)
+	{
+    iProperties->GetAudioLoadingProgressL(aPercentageProgress);
+	}
+
+const CMMFControllerImplementationInformation& CAudioPdPlayUtility::ControllerImplementationInformationL()
+	{
+	return iProperties->ControllerImplementationInformationL();
+	}
+
+
+TInt CAudioPdPlayUtility::CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom)
+	{
+    return iProperties->CustomCommandSync(aDestination, aFunction, aDataTo1, aDataTo2, aDataFrom);
+	}
+TInt CAudioPdPlayUtility::CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2)
+	{
+    return iProperties->CustomCommandSync(aDestination, aFunction, aDataTo1, aDataTo2);
+	}
+void CAudioPdPlayUtility::CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus)
+	{
+	iProperties->CustomCommandAsync(aDestination, aFunction, aDataTo1, aDataTo2, aDataFrom, aStatus);
+	}
+void CAudioPdPlayUtility::CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus)
+	{
+	iProperties->CustomCommandAsync(aDestination, aFunction, aDataTo1, aDataTo2, aStatus);
+	}
+
+void CAudioPdPlayUtility::OpenFileL(const TDesC& aFileName)
+	{
+	iProperties->OpenFileL(aFileName);
+	}
+
+
+void CAudioPdPlayUtility::OpenFileL(const RFile& aFile)
+	{
+	RFile& file = const_cast<RFile&>(aFile);
+	iProperties->OpenFileL(file);
+	}
+
+
+void CAudioPdPlayUtility::OpenFileL(const TMMSource& aSource)
+	{
+	iProperties->OpenFileL(aSource);
+	}
+
+void CAudioPdPlayUtility::DlCompleteOpenFileL(const TDesC& aFileName)
+	{
+	iProperties->DlCompleteOpenFileL(aFileName);
+	}
+
+TInt CAudioPdPlayUtility::GetFilePosition(TInt& aFilePosition)
+	{
+	return iProperties->GetFilePosition(aFilePosition);
+	}
+
+TInt CAudioPdPlayUtility::SetFileSize(TInt aFileSize)
+	{
+	return iProperties->SetFileSize(aFileSize);
+	}
+
+TInt CAudioPdPlayUtility::SetBytesDownloaded(TInt aBytesDownloaded, TBool aDownloadComplete)
+	{
+	return iProperties->SetBytesDownloaded(aBytesDownloaded,aDownloadComplete);
+	}
+
+MMMFDRMCustomCommand* CAudioPdPlayUtility::GetDRMCustomCommand()
+	{
+	//ASSERT(iProperties);
+	return iProperties->GetDRMCustomCommand();
+	}
+
+
+TInt CAudioPdPlayUtility::CheckAudioPlayerState()
+	{
+	return iProperties->CheckAudioPlayerState();
+	}
+
+
+//===============================================================
+// CAudioPdProperties implementation begins
+//
+//===============================================================
+CAudioPdProperties* CAudioPdProperties::NewL(MAudioPdPlayUtilityCallback& aCallback)
+	{
+	CAudioPdProperties* self = new(ELeave) CAudioPdProperties(aCallback);
+	CleanupStack::PushL(self);
+	self->ConstructL(aCallback);
+	CleanupStack::Pop(self);
+	return self;
+	}
+CAudioPdProperties* CAudioPdProperties::NewLC(MAudioPdPlayUtilityCallback& /*aCallback*/)
+	{
+	return NULL;
+	}
+
+CAudioPdProperties::~CAudioPdProperties()
+	{
+
+	delete iControllerImplementationInformation;
+	delete iAsyncCallBack;
+	delete iRepeatTrailingSilenceTimer;
+	delete iFindAndOpenController;
+	delete iControllerEventMonitor;
+	iMediaIds.Close();
+	iController.Close();
+	}
+
+CAudioPdProperties::CAudioPdProperties(/*MMdaAudioPlayerCallback*/MAudioPdPlayUtilityCallback& aCallback):
+	iCallback(aCallback),
+	iAudioPlayDeviceCommands(iController),
+	iAudioPlayControllerCommands(iController),
+	iDRMCustomCommands(iController)
+	{
+	iState = EStopped;
+	iPrioritySettings.iPriority = KAudioPriorityRealOnePlayer;//80
+	iPrioritySettings.iPref =(TMdaPriorityPreference) KAudioPrefRealOneLocalPlayback;// 0x01420001;
+	iPlayStart = TTimeIntervalMicroSeconds(0);
+	iPlayEnd = TTimeIntervalMicroSeconds(0);
+	iPlayWindowSet = ENone;
+    iSourceHandle =  NULL;
+	}
+
+void CAudioPdProperties::ConstructL(MAudioPdPlayUtilityCallback& /*aCallback*/)
+	{
+
+	iControllerEventMonitor = CMMFControllerEventMonitor::NewL(*this, iController);
+	iRepeatTrailingSilenceTimer = CRepeatTrailingSilenceTimer::NewL(*this);
+	iAsyncCallBack = CMMFMdaAudioPlayerCallBack::NewL(iCallback);
+	User::LeaveIfError(iMediaIds.Append(KUidMediaTypeAudio));
+	iFindAndOpenController = CMMFFindAndOpenController::NewL(*this);
+	iFindAndOpenController->Configure(iMediaIds[0], iPrioritySettings);
+	iFindAndOpenController->ConfigureController(iController, *iControllerEventMonitor, CMMFFindAndOpenController::EPlayback);
+
+	}
+
+void CAudioPdProperties::MfaocComplete(
+		TInt& aError,
+		RMMFController* /*aController*/,
+		TUid aControllerUid,
+		TMMFMessageDestination* aSourceHandle,
+		TMMFMessageDestination* /*aSinkHandle*/)
+	{
+
+	iSourceHandle = aSourceHandle;
+
+	if (aError == KErrNone)
+		{
+		iControllerUid = aControllerUid;
+
+		// Get the clip duration
+		iDuration = TTimeIntervalMicroSeconds(0);
+		aError = iController.GetDuration(iDuration);
+
+		// If an error occurred in any of the above, close the controller.
+		if (aError != KErrNone)
+			{
+			iControllerEventMonitor->Cancel();
+			iController.Close();
+			}
+		}
+
+	iAsyncCallBack->InitComplete(aError, iDuration);
+	}
+
+void CAudioPdProperties::HandleDownloadEventL(TUint aTransactionID,
+                                              TBrCtlDownloadEvent aEvent,
+                                              TUint aValue)
+	{
+	iCallback.HandleDownloadEventL(aTransactionID,aEvent,aValue);
+
+	}
+
+
+void CAudioPdProperties::OpenFileL(const TDesC& aFileName)
+	{
+	TMMFileSource filesource(aFileName, ContentAccess::KDefaultContentObject, ContentAccess::EPlay);
+	OpenFileL(filesource);
+	}
+
+
+void CAudioPdProperties::OpenFileL(const RFile& aFile)
+	{
+	RFile& file = const_cast<RFile&>(aFile);
+	TMMFileHandleSource filesource(file, KNullDesC, ContentAccess::EPlay);
+	OpenFileL(filesource);
+	}
+
+void CAudioPdProperties::OpenFileL(const TMMSource& aSource)
+	{
+	// If iAsyncCallBack is already active, we're still in the process of notifying the client
+	// that a previous request to Open...(...) has completed.
+	if (iAsyncCallBack->IsActive())
+		User::Leave(KErrNotReady);
+
+
+	if (aSource.SourceType()==KUidMMFileHandleSource)
+		{
+
+		RFile& fileHandle = static_cast<const TMMFileHandleSource&>(aSource).Handle();
+
+	    iFindAndOpenController->ConfigureSourceSink(
+	       CMMFFindAndOpenController::TSourceSink(KUidProgressiveDlSource,fileHandle),
+		   CMMFFindAndOpenController::TSourceSink(KUidMmfAudioOutput));
+
+		}
+	if (aSource.SourceType()==KUidMMFileSource)
+		{
+		const TDesC& fileName = static_cast<const TMMFileSource&>(aSource).Name();
+
+	    iFindAndOpenController->ConfigureSourceSink(
+	       CMMFFindAndOpenController::TSourceSink(KUidProgressiveDlSource,
+	       CMMFFindAndOpenController::GetConfigFile(fileName)),
+		   CMMFFindAndOpenController::TSourceSink(KUidMmfAudioOutput));
+
+		}
+
+	iFindAndOpenController->OpenByFileSource(aSource);
+	}
+
+void CAudioPdProperties::DlCompleteOpenFileL(const TDesC& aFileName)
+	{
+	if (iAsyncCallBack->IsActive())
+		User::Leave(KErrNotReady);
+
+	Close();
+
+	TMMFileSource filesource(aFileName, ContentAccess::KDefaultContentObject, ContentAccess::EPlay);
+
+
+	iFindAndOpenController->ConfigureSourceSink(
+			TMMFileSource(aFileName, filesource.UniqueId(), filesource.Intent(), filesource.IsUIEnabled()),
+			CMMFFindAndOpenController::TSourceSink(KUidMmfAudioOutput));
+
+	iFindAndOpenController->OpenByFileSource(filesource);
+
+
+	}
+
+
+void CAudioPdProperties::Play()
+	{
+	// if we're already playing, call the client's callback with KErrNotReady.
+	// This is what the controller would do if we allowed the Play()
+	// to propagate down. Need to do it here too (for consistency)
+	// in case we're in a trailing silence period.
+    if (iState == EPlaying)
+		{
+		iAsyncCallBack->PlayComplete(KErrNotReady);
+		return;
+		}
+
+	// cancel the repeat timer in case the client has called Play()
+	// without waiting for the previous play to complete
+	iRepeatTrailingSilenceTimer->Cancel();
+	// Reset played count
+	iNumberOfTimesPlayed = 0;
+
+	DoPlay();
+	}
+
+void CAudioPdProperties::DoPlay()
+	{
+#if defined(__AUDIO_PROFILING)
+	RDebug::ProfileStart(4);
+#endif  // defined(__AUDIO_PROFILING)
+    TInt err = KErrNone;
+    if (iState != EPaused)
+        {
+		err = iController.Prime();
+
+#if defined(__AUDIO_PROFILING)
+	RDebug::ProfileEnd(4);
+#endif  // defined(__AUDIO_PROFILING)
+
+		// make sure we don't set the position outside the play window -
+		// but allow it to remain unchanged if it's within the window
+		if (iPlayWindowSet == ESet &&
+			(iPosition < iPlayStart || iPosition >= iPlayEnd))
+			iPosition = iPlayStart;
+
+		if (err==KErrNone)
+			err = iController.SetPosition(iPosition);
+        }
+
+	if (err==KErrNone)
+		{
+		if (iPlayWindowSet == ESet)
+			err = iAudioPlayControllerCommands.SetPlaybackWindow(iPlayStart, iPlayEnd);
+		else if (iPlayWindowSet == EClear)
+			{
+			err = iAudioPlayControllerCommands.DeletePlaybackWindow();
+			iPlayWindowSet = ENone;	// assume window will stay cleared
+			}
+		}
+
+	if (err==KErrNone)
+		{
+#if defined(__AUDIO_PROFILING)
+		RDebug::ProfileStart(5);
+#endif  // defined(__AUDIO_PROFILING)
+
+		err = iController.Play();
+
+#if defined(__AUDIO_PROFILING)
+		RDebug::ProfileEnd(5);
+#endif  // defined(__AUDIO_PROFILING)
+		}
+
+	if (err!=KErrNone)
+		iAsyncCallBack->PlayComplete(err);
+	else
+		{
+		iState = EPlaying;
+		iCallback.Playing();
+		}
+	}
+
+
+void CAudioPdProperties::Stop()
+	{
+	if (iState==EPlaying || iState==EPaused)
+		{
+		// cancel the repeat timer in case the client has called Stop()
+		// during the trailing silence period
+		iRepeatTrailingSilenceTimer->Cancel();
+
+		iController.Stop();
+		iPosition = iPlayStart;
+		iState = EStopped;
+		}
+
+	}
+TInt CAudioPdProperties::Pause()
+	{
+    TInt err = KErrNone;
+	if (iState==EPlaying)
+		{
+		err = iController.Pause();
+		if (!err || err==KErrNotReady)
+			err = iController.GetPosition(iPosition);
+		iState = EPaused;
+		iCallback.Paused();
+		}
+	return err;
+	}
+void CAudioPdProperties::SetVolume(TInt aVolume)
+	{
+	TInt err = iAudioPlayDeviceCommands.SetVolume(aVolume);
+
+	__ASSERT_ALWAYS(err==KErrNone, Panic(EMMFMediaClientBadArgument));
+	}
+void CAudioPdProperties::SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence)
+	{
+	iNumberOfTimesToRepeat = aRepeatNumberOfTimes;
+	iTrailingSilence = aTrailingSilence;
+	}
+void CAudioPdProperties::SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration)
+	{
+	iAudioPlayDeviceCommands.SetVolumeRamp(aRampDuration);
+	}
+const TTimeIntervalMicroSeconds& CAudioPdProperties::Duration()
+	{
+	TInt err = iController.GetDuration(iDuration);
+	if (err)
+		{
+		iDuration = 0;
+		}
+	return iDuration;
+	}
+TInt CAudioPdProperties:: MaxVolume()
+	{
+		TInt maxVolume = 0;
+#ifdef _DEBUG
+	TInt error =
+#endif
+		iAudioPlayDeviceCommands.GetMaxVolume(maxVolume);
+	__ASSERT_DEBUG(error==KErrNone, Panic(EMMFMediaClientPanicServerCommunicationProblem));
+	return maxVolume;
+	}
+void CAudioPdProperties::Close()
+	{
+	// Reset the audio player state.
+	Stop();
+	iControllerEventMonitor->Cancel();
+	iController.Close();
+	}
+TInt CAudioPdProperties::GetPosition(TTimeIntervalMicroSeconds& aPosition)
+	{
+    TInt error = KErrNone;
+//	if (iState==EPlaying)
+   //For progressivedownload pause and resume I need to get the
+   //last position even if not playing.
+	error = iController.GetPosition(iPosition);
+
+	aPosition = iPosition;
+	return error;
+	}
+void CAudioPdProperties::SetPosition(const TTimeIntervalMicroSeconds& aPosition)
+	{
+	// Clip the position if aPosition is greater than the duration
+	// or if aPosition is negative.
+	const TTimeIntervalMicroSeconds maxPosition(Duration());
+	const TTimeIntervalMicroSeconds minPosition(0);
+
+	if (aPosition > maxPosition)
+		iPosition = maxPosition;
+	else if (aPosition < minPosition)
+		iPosition = minPosition;
+	else
+		iPosition = aPosition;
+
+    if (iState==EPlaying || iState==EPaused || iState == EStopped)
+		{
+		iController.SetPosition(iPosition);
+		}
+//	else if (iState == EPaused)
+//		{
+//		Stop();	// We call stop so that DevSound's internal buffers are reset
+//		}
+	}
+
+TInt CAudioPdProperties::SetPriority(TInt aPriority, TMdaPriorityPreference aPref)
+	{
+    iPrioritySettings.iPref = aPref;
+	iPrioritySettings.iPriority = aPriority;
+	iFindAndOpenController->Configure(iMediaIds[0], iPrioritySettings);
+
+	return iController.SetPrioritySettings(iPrioritySettings);
+	}
+TInt CAudioPdProperties::GetVolume(TInt& aVolume)
+	{
+    TInt error = iAudioPlayDeviceCommands.GetVolume(aVolume);
+	return error;
+	}
+TInt CAudioPdProperties::GetNumberOfMetaDataEntries(TInt& aNumEntries)
+	{
+    TInt error = iController.GetNumberOfMetaDataEntries(aNumEntries);
+	return error;
+	}
+
+
+CMMFMetaDataEntry* CAudioPdProperties::GetMetaDataEntryL(TInt aMetaDataIndex)
+	{
+	return iController.GetMetaDataEntryL(aMetaDataIndex);
+	}
+
+TInt CAudioPdProperties::SetPlayWindow(const TTimeIntervalMicroSeconds& aPlayStart,
+								const TTimeIntervalMicroSeconds& aPlayEnd)
+	{
+    TInt error = KErrNone;
+
+	if (aPlayStart >= TTimeIntervalMicroSeconds(0) &&
+		aPlayStart < iDuration &&
+			aPlayStart < aPlayEnd &&
+			aPlayEnd <= iDuration )
+		{
+		iPlayStart = aPlayStart;
+		iPlayEnd = aPlayEnd;
+		iPlayWindowSet = ESet;
+
+		if (iState==EPlaying)
+			error = iAudioPlayControllerCommands.SetPlaybackWindow(aPlayStart, aPlayEnd);
+		}
+	else
+		error = KErrArgument;
+
+	return error;
+	}
+
+TInt CAudioPdProperties::ClearPlayWindow()
+	{
+    	// clear play window start - very important because this is assigned
+	// to iPosition when we stop & is used to set the position on the next Play()
+	iPosition = iPlayStart = iPlayEnd = TTimeIntervalMicroSeconds(0);
+
+	iPlayWindowSet = EClear;
+	TInt err = KErrNone;
+	if (iState==EPlaying)
+		err = iAudioPlayControllerCommands.DeletePlaybackWindow();
+	return err;
+	}
+TInt CAudioPdProperties::SetBalance(TInt aBalance)
+	{
+    TInt err = iAudioPlayDeviceCommands.SetBalance(aBalance);
+	return err;
+	}
+TInt CAudioPdProperties::GetBalance(TInt& aBalance)
+	{
+	TInt err = iAudioPlayDeviceCommands.GetBalance(aBalance);
+	return err;
+	}
+
+TInt CAudioPdProperties::GetBitRate(TUint& aBitRate)
+	{
+	RMMFAudioControllerCustomCommands controller(iController);
+	TInt err = controller.GetSourceBitRate(aBitRate);
+	return err;
+	}
+
+void CAudioPdProperties::RegisterForAudioLoadingNotification(MAudioLoadingObserver& aLoadingObserver)
+	{
+    iLoadingObserver = &aLoadingObserver;
+	}
+
+void CAudioPdProperties::GetAudioLoadingProgressL(TInt& aPercentageProgress)
+	{
+    User::LeaveIfError(iAudioPlayControllerCommands.GetLoadingProgress(aPercentageProgress));
+	}
+
+const CMMFControllerImplementationInformation& CAudioPdProperties::ControllerImplementationInformationL()
+	{
+	if (!iControllerImplementationInformation)
+		{
+		if (iControllerUid==KNullUid)
+			User::Leave(KErrNotReady);
+		iControllerImplementationInformation = CMMFControllerImplementationInformation::NewL(iControllerUid);
+		}
+	return *iControllerImplementationInformation;
+	}
+
+TInt CAudioPdProperties::CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom)
+	{
+    return iController.CustomCommandSync(aDestination, aFunction, aDataTo1, aDataTo2, aDataFrom);
+	}
+TInt CAudioPdProperties::CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2)
+	{
+    return iController.CustomCommandSync(aDestination, aFunction, aDataTo1, aDataTo2);
+	}
+void CAudioPdProperties::CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus)
+	{
+	iController.CustomCommandAsync(aDestination, aFunction, aDataTo1, aDataTo2, aDataFrom, aStatus);
+	}
+void CAudioPdProperties::CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus)
+	{
+    iController.CustomCommandAsync(aDestination, aFunction, aDataTo1, aDataTo2, aStatus);
+	}
+
+TInt CAudioPdProperties::GetFilePosition(TInt& aFilePosition)
+	{
+  	TInt err = KErrNone;
+  	TPckgBuf<TInt> dataFrom;
+
+	if(iSourceHandle != NULL)
+        {
+    	TMMFMessageDestinationPckg destPckg(*iSourceHandle);
+	    err =CustomCommandSync(destPckg, EGETFILEPOSITION, KNullDesC8, KNullDesC8, dataFrom);
+	    }
+	else
+	    {
+	    err = KErrNotFound;
+	    }
+
+    if(err==KErrNone)
+       aFilePosition = dataFrom();
+
+	return err;
+    }
+
+TInt CAudioPdProperties::SetFileSize(TInt aFileSize)
+	{
+  	TInt err = KErrNone;
+	if(iSourceHandle != NULL)
+        {
+        TMMFMessageDestinationPckg destPckg(*iSourceHandle);
+        TPckgBuf<TInt> data1(aFileSize);
+        err = CustomCommandSync(destPckg, ESETFILESIZE, data1, KNullDesC8);
+        }
+	else
+	    {
+        err = KErrNotFound;
+	    }
+	return err;
+	}
+
+TInt CAudioPdProperties::SetBytesDownloaded(TInt aBytesDownloaded, TBool /*aDownloadComplete*/)
+	{
+  	TInt err = KErrNone;
+	if(iSourceHandle != NULL)
+        {
+        TMMFMessageDestinationPckg destPckg(*iSourceHandle);
+    	TPckgBuf<TInt> data1(aBytesDownloaded);
+        err = CustomCommandSync(destPckg, ESETBYTESDOWNLOADED, data1, KNullDesC8);
+        }
+	else
+	    {
+	    err = KErrNotFound;
+	    }
+
+    return err;
+	}
+
+
+MMMFDRMCustomCommand* CAudioPdProperties::GetDRMCustomCommand()
+	{
+	if (iDRMCustomCommands.IsSupported())
+		{
+		return static_cast<MMMFDRMCustomCommand*>(&iDRMCustomCommands);
+		}
+	else
+		{
+		return NULL;
+		}
+	}
+
+
+TInt CAudioPdProperties::CheckAudioPlayerState()
+	{
+	return iState;
+	}
+void CAudioPdProperties::HandleEvent(const TMMFEvent& aEvent)
+	{
+	// handle loading started/complete messages first, as the later code does not explicitly check the event type
+	if (aEvent.iEventType==KMMFEventCategoryAudioLoadingStarted)
+		{
+		if (iLoadingObserver)
+			iLoadingObserver->MaloLoadingStarted();
+		}
+	else if (aEvent.iEventType==KMMFEventCategoryAudioLoadingComplete)
+		{
+		if (iLoadingObserver)
+			iLoadingObserver->MaloLoadingComplete();
+		}
+	else if (aEvent.iEventType==KMMFEventCategoryPlaybackComplete)
+		{
+		TInt oldState = iState;
+		iPosition = iPlayStart;
+		if (aEvent.iErrorCode == KErrNone)
+			{
+			//If we weren't playing, ignore the event.
+			if(oldState == EPlaying)
+				{
+				//we finished playing the clip so repeat if required
+				iNumberOfTimesPlayed++;
+				if ((iNumberOfTimesPlayed>iNumberOfTimesToRepeat) && (iNumberOfTimesToRepeat!=KMdaRepeatForever))
+					{
+					//we've repeated enough times now
+					iNumberOfTimesPlayed = 0;
+					iState = EStopped;
+					iCallback.MapcPlayComplete(KErrNone);
+					}
+				else
+					{
+					// We need to repeat the clip
+					// we're truncating the trailingsilence here so maximum time is ~37mins
+               		TTimeIntervalMicroSeconds32 silence = I64INT(iTrailingSilence.Int64());
+					iRepeatTrailingSilenceTimer->After(silence);
+					}
+				}
+			}
+		else
+			{ //aEvent.iErrorCode != KErrNone
+			//if we weren't playing, don't advise Client.
+			iState = EStopped;
+			if(oldState == EPlaying)
+				iCallback.MapcPlayComplete(aEvent.iErrorCode);
+			}
+		}
+
+	// else we have an unexpected event that cannot be dealt with by the client.
+	// We will simply ignore this.
+	}
+
+
+void CAudioPdProperties::RepeatTrailingSilenceTimerComplete()
+	{
+	// reset the position for subsequent plays
+	iPosition = iPlayStart;
+	DoPlay();
+	}
+
+
+CRepeatTrailingSilenceTimer* CRepeatTrailingSilenceTimer::NewL(MRepeatTrailingSilenceTimerObs& aObs)
+	{
+	CRepeatTrailingSilenceTimer* s = new(ELeave) CRepeatTrailingSilenceTimer(aObs);
+	CleanupStack::PushL(s);
+	s->ConstructL();
+	CleanupStack::Pop();
+	return s;
+	}
+
+void CRepeatTrailingSilenceTimer::RunL()
+	{
+	iObs.RepeatTrailingSilenceTimerComplete();
+	}
+
+CRepeatTrailingSilenceTimer::CRepeatTrailingSilenceTimer(MRepeatTrailingSilenceTimerObs& aObs) :
+	CTimer(EPriorityHigh),
+	iObs(aObs)
+	{
+	CActiveScheduler::Add(this);
+	}
+
+
+CMMFMdaAudioPlayerCallBack* CMMFMdaAudioPlayerCallBack::NewL(MAudioPdPlayUtilityCallback& aCallback)
+	{
+	return new(ELeave) CMMFMdaAudioPlayerCallBack(aCallback);
+	}
+
+CMMFMdaAudioPlayerCallBack::CMMFMdaAudioPlayerCallBack(MAudioPdPlayUtilityCallback& aCallback) :
+	CActive(CActive::EPriorityHigh), iCallback(aCallback)
+	{
+	CActiveScheduler::Add(this);
+	}
+
+CMMFMdaAudioPlayerCallBack::~CMMFMdaAudioPlayerCallBack()
+	{
+	Cancel();
+	}
+
+void CMMFMdaAudioPlayerCallBack::InitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration)
+	{
+	iError = aError;
+	iDuration = aDuration;
+	iState = ECallbackInitComplete;
+	if (!IsActive())
+		{
+		TRequestStatus* s = &iStatus;
+		SetActive();
+		User::RequestComplete(s, KErrNone);
+		}
+	}
+
+void CMMFMdaAudioPlayerCallBack::PlayComplete(TInt aError)
+	{
+	iError = aError;
+	iState = ECallbackPlayComplete;
+	if (!IsActive())
+		{
+		TRequestStatus* s = &iStatus;
+		SetActive();
+		User::RequestComplete(s, KErrNone);
+		}
+	}
+
+
+void CMMFMdaAudioPlayerCallBack::PlayingCallback()
+	{
+	iState = ECallbackPlaying;
+	if (!IsActive())
+		{
+		TRequestStatus* s = &iStatus;
+		SetActive();
+		User::RequestComplete(s, KErrNone);
+		}
+	}
+
+void CMMFMdaAudioPlayerCallBack::PausedCallback()
+	{
+	iState = ECallbackPaused;
+	if (!IsActive())
+		{
+		TRequestStatus* s = &iStatus;
+		SetActive();
+		User::RequestComplete(s, KErrNone);
+		}
+	}
+
+
+void CMMFMdaAudioPlayerCallBack::RunL()
+	{
+	switch (iState)
+		{
+		case ECallbackInitComplete:
+			iCallback.MapcInitComplete(iError, iDuration);
+			break;
+		case ECallbackPlayComplete:
+			iCallback.MapcPlayComplete(iError);
+			break;
+		case ECallbackPlaying:
+			iCallback.Playing();
+			break;
+		case ECallbackPaused:
+			iCallback.Paused();
+			break;
+
+		}
+	}
+
+void CMMFMdaAudioPlayerCallBack::DoCancel()
+	{
+	// Nothing to cancel
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/AudioPdPlayUtility.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+
+#ifndef __CAUDIOPDPLAYUTILITY_H__
+#define __CAUDIOPDPLAYUTILITY_H__
+
+#include <e32std.h>
+#include <e32base.h>
+#include <mmfcontrollerimplementationuids.hrh>
+#include "MAudioPdPlayUtility.h"
+
+
+
+class CAudioPdProperties;
+
+/**
+Concrete implementation of the CAudioPdPlayUtility API.
+@see CAudioPdPlayUtility
+*/
+
+class CAudioPdPlayUtility: public CBase,
+                           public MAudioPdPlayUtility
+                           //public MAudioPdPlayUtilityCallback
+	{
+
+public:
+
+
+
+	static CAudioPdPlayUtility* NewL(MAudioPdPlayUtilityCallback& aCallback);
+
+	~CAudioPdPlayUtility();
+
+	//For Download Status
+     void HandleDownloadEventL(TUint aTransactionID,
+                               TBrCtlDownloadEvent aEvent,
+                               TUint aValue);
+
+	 //For Audio control
+	void Play();
+	void Stop();
+	TInt Pause();
+	void SetVolume(TInt aVolume);
+	void SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence);
+	void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration);
+	const TTimeIntervalMicroSeconds& Duration();
+	TInt MaxVolume();
+	void Close();
+	TInt GetPosition(TTimeIntervalMicroSeconds& aPosition);
+	void SetPosition(const TTimeIntervalMicroSeconds& aPosition);
+
+	TInt SetPriority(TInt aPriority, TMdaPriorityPreference aPref);
+	TInt GetVolume(TInt& aVolume);
+	TInt GetNumberOfMetaDataEntries(TInt& aNumEntries);
+	CMMFMetaDataEntry* GetMetaDataEntryL(TInt aMetaDataIndex);
+	TInt SetPlayWindow(const TTimeIntervalMicroSeconds& aStart,
+								const TTimeIntervalMicroSeconds& aEnd);
+	TInt ClearPlayWindow();
+	TInt SetBalance(TInt aBalance = KMMFBalanceCenter);
+	TInt GetBalance(TInt& aBalance);
+	TInt GetBitRate(TUint& aBitRate);
+
+	void RegisterForAudioLoadingNotification(MAudioLoadingObserver& aCallback);
+	void GetAudioLoadingProgressL(TInt& aPercentageProgress);
+	const CMMFControllerImplementationInformation& ControllerImplementationInformationL();
+
+	TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom);
+	TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2);
+	void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus);
+	void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus);
+
+
+
+	MMMFDRMCustomCommand* GetDRMCustomCommand();
+
+
+	void OpenFileL(const TDesC& aFileName);
+
+
+	void OpenFileL(const RFile& aFile);
+
+	void OpenFileL(const TMMSource& aSource);
+
+
+	void DlCompleteOpenFileL(const TDesC& aFileName);
+
+	//Source CustomCommands
+	TInt GetFilePosition(TInt& aFilePosition);
+	TInt SetFileSize(TInt aFileSize);
+	TInt SetBytesDownloaded(TInt aBytesDownloaded, TBool aDownloadComplete);
+
+	TInt CheckAudioPlayerState();
+
+
+protected:
+
+private:
+
+
+	CAudioPdPlayUtility();
+	void ConstructL();
+
+
+
+
+    CAudioPdProperties* iProperties;
+
+
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/AudioPdProperties.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,262 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+
+#ifndef __AUDIOPDPLAYPROPERTIES_H__
+#define __AUDIOPDPLAYPROPERTIES_H__
+
+
+
+#include <e32std.h>
+#include <e32base.h>
+#include <f32file.h>
+#include "MAudioPlayUtility.h"
+#include "AudioPdPlayUtility.h"
+
+
+#include "MmfClientUtility.h"
+
+#include <mmf/common/mmcaf.h>
+
+static const TUid KUidMmfAudioController = {KMmfUidControllerAudio};
+
+/**
+Mixin class to allow notification that the timed silence has finished.
+*/
+class MRepeatTrailingSilenceTimerObs
+	{
+public:
+	virtual void RepeatTrailingSilenceTimerComplete() = 0;
+	};
+
+/**
+CTimer-based active object that waits the requested time before notifying its observer.
+*/
+class CRepeatTrailingSilenceTimer : public CTimer
+	{
+public:
+	static CRepeatTrailingSilenceTimer* NewL(MRepeatTrailingSilenceTimerObs& aObs);
+	void RunL();
+private:
+	CRepeatTrailingSilenceTimer(MRepeatTrailingSilenceTimerObs& aObs);
+private:
+	MRepeatTrailingSilenceTimerObs& iObs;
+	};
+
+/**
+Active object utility class to allow the callback to be called asynchronously.
+This should help prevent re-entrant code in clients of the mediaframework.
+*/
+class CMMFMdaAudioPlayerCallBack : public CActive
+	{
+public:
+	enum TCallbackState {
+		ECallbackInitComplete,
+		ECallbackPlayComplete,
+		ECallbackPlaying,
+		ECallbackPaused
+		};
+
+
+public:
+	static CMMFMdaAudioPlayerCallBack* NewL(MAudioPdPlayUtilityCallback& aCallback);
+	~CMMFMdaAudioPlayerCallBack();
+	void InitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
+	void PlayComplete(TInt aError);
+	void PlayingCallback();
+	void PausedCallback();
+private:
+	CMMFMdaAudioPlayerCallBack(MAudioPdPlayUtilityCallback& aCallback);
+	void RunL();
+	void DoCancel();
+private:
+	MAudioPdPlayUtilityCallback& iCallback;
+	TInt iError;
+	TTimeIntervalMicroSeconds iDuration;
+	TCallbackState iState;
+	};
+
+
+
+/**
+Concrete implementation of the CAudioPdPlayUtility API.
+@see CAudioPdPlayUtility
+*/
+
+class CAudioPdProperties: public CBase,
+                         // public MAudioPdPlayUtility //may not be necessary
+						 public MMMFControllerEventMonitorObserver,
+					     public MRepeatTrailingSilenceTimerObs,
+						 public MMMFFindAndOpenControllerObserver
+	{
+
+public:
+
+	friend class CAudioPdPlayUtility;
+
+
+		enum TMMFAudioPlayerState
+		{
+		EStopped,
+		EOpening,
+		EPaused,
+		EPlaying
+		};
+
+	static CAudioPdProperties* NewL(MAudioPdPlayUtilityCallback& aCallback);
+	static CAudioPdProperties* NewLC(MAudioPdPlayUtilityCallback& aCallback);
+
+	~CAudioPdProperties();
+
+
+   //For Download Status
+    void HandleDownloadEventL(TUint aTransactionID,
+                              TBrCtlDownloadEvent aEvent,
+                              TUint aValue);
+
+
+	 //For Audio control
+	void Play();
+	void Stop();
+	TInt Pause();
+	void SetVolume(TInt aVolume);
+	void SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence);
+	void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration);
+	const TTimeIntervalMicroSeconds& Duration();
+	TInt MaxVolume();
+	void Close();
+	TInt GetPosition(TTimeIntervalMicroSeconds& aPosition);
+	void SetPosition(const TTimeIntervalMicroSeconds& aPosition);
+
+	TInt SetPriority(TInt aPriority, TMdaPriorityPreference aPref);
+	TInt GetVolume(TInt& aVolume);
+	TInt GetNumberOfMetaDataEntries(TInt& aNumEntries);
+	CMMFMetaDataEntry* GetMetaDataEntryL(TInt aMetaDataIndex);
+	TInt SetPlayWindow(const TTimeIntervalMicroSeconds& aStart,
+								const TTimeIntervalMicroSeconds& aEnd);
+	TInt ClearPlayWindow();
+	TInt SetBalance(TInt aBalance = KMMFBalanceCenter);
+	TInt GetBalance(TInt& aBalance);
+	TInt GetBitRate(TUint& aBitRate);
+
+	void RegisterForAudioLoadingNotification(MAudioLoadingObserver& aCallback);
+	void GetAudioLoadingProgressL(TInt& aPercentageProgress);
+	const CMMFControllerImplementationInformation& ControllerImplementationInformationL();
+
+	TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom);
+	TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2);
+	void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus);
+	void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus);
+
+
+	MMMFDRMCustomCommand* GetDRMCustomCommand();
+
+
+	// from MMMFControllerEventMonitorObserver
+	virtual void HandleEvent(const TMMFEvent& aEvent);
+	// from MRepeatTrailingSilenceTimerObs
+	virtual void RepeatTrailingSilenceTimerComplete();
+
+	// from MMMFFindAndOpenControllerObserver
+	virtual void MfaocComplete(
+		TInt& aError,
+		RMMFController* aController,
+		TUid aControllerUid,
+		TMMFMessageDestination* aSourceHandle,
+		TMMFMessageDestination* aSinkHandle);
+
+
+	void OpenFileL(const TDesC& aFileName);
+
+
+	void OpenFileL(const RFile& aFile);
+
+	void OpenFileL(const TMMSource& aSource);
+
+
+    void DlCompleteOpenFileL(const TDesC& aFileName);
+
+	TInt GetFilePosition(TInt& aFilePosition);
+	TInt SetFileSize(TInt aFileSize);
+	TInt SetBytesDownloaded(TInt aBytesDownloaded, TBool aDownloadComplete);
+
+	TInt CheckAudioPlayerState();
+
+    void DoPlay();
+
+protected:
+
+private:
+	CAudioPdProperties(/*MMdaAudioPlayerCallback*/MAudioPdPlayUtilityCallback& aCallback);
+	void ConstructL(MAudioPdPlayUtilityCallback& aCallback);
+
+
+	MAudioPdPlayUtilityCallback* iAudioPdPlayCallback;
+
+	// last play window command
+	enum TPlayWindowCommand
+		{
+		ENone,
+		ESet,
+		EClear
+		};
+
+	/*MMdaAudioPlayerCallback*/MAudioPdPlayUtilityCallback& iCallback;
+	CMMFMdaAudioPlayerCallBack* iAsyncCallBack;
+	MAudioLoadingObserver* iLoadingObserver;
+	RMMFController iController;
+	CMMFControllerEventMonitor* iControllerEventMonitor;
+	TMMFAudioPlayerState iState;
+	TTimeIntervalMicroSeconds iDuration; // Needed because of api "Duration()" that returns a reference
+	TMMFPrioritySettings iPrioritySettings;
+
+	TInt iNumberOfTimesPlayed;
+	TInt iNumberOfTimesToRepeat;
+	TTimeIntervalMicroSeconds iTrailingSilence;
+	CRepeatTrailingSilenceTimer* iRepeatTrailingSilenceTimer;
+
+	// Source and sink handle info
+	TMMFMessageDestination* iSourceHandle;
+	TMMFMessageDestination iSinkHandle;
+
+	// Custom command handlers
+	RMMFAudioPlayDeviceCustomCommands iAudioPlayDeviceCommands;
+	RMMFAudioPlayControllerCustomCommands iAudioPlayControllerCommands;
+
+
+	RMMFDRMCustomCommands iDRMCustomCommands;
+
+
+	// Current playback time so we can resume from where we were stopped
+	TTimeIntervalMicroSeconds iPosition;
+
+	// Play window start and end times and whether it has been set
+	TTimeIntervalMicroSeconds iPlayStart;
+	TTimeIntervalMicroSeconds iPlayEnd;
+	TPlayWindowCommand iPlayWindowSet;
+	RArray<TUid> iMediaIds;
+
+	CMMFControllerImplementationInformation* iControllerImplementationInformation;
+	TUid iControllerUid;
+
+	// utility class to find and open a suitable controller asynchronously
+	CMMFFindAndOpenController* iFindAndOpenController;
+
+
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/BufferEmptiedEventAO.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility  Implementation of the BufTypeSupEventAO class.
+*
+*/
+
+
+#include "BufferEmptiedEventAO.h"
+#include <DataBuffer.h>
+
+using namespace multimedia;
+
+CBufferEmptiedEventAO::CBufferEmptiedEventAO(MBufferEmptiedObserver& aObserver )
+: CActive(CActive::EPriorityStandard),
+iObserver(aObserver),
+iError(KErrNone)
+    {
+    CActiveScheduler::Add(this);
+    }
+
+CBufferEmptiedEventAO::~CBufferEmptiedEventAO()
+    {
+    Cancel();
+    }
+
+CBufferEmptiedEventAO* CBufferEmptiedEventAO::NewL( MBufferEmptiedObserver& aObserver )
+    {
+    CBufferEmptiedEventAO* self = new (ELeave)CBufferEmptiedEventAO( aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+void CBufferEmptiedEventAO::ConstructL()
+    {
+    }
+
+void CBufferEmptiedEventAO::SetActive()
+    {
+    if (!IsActive())
+        {
+        CActive::SetActive();
+        }
+    }
+
+TInt CBufferEmptiedEventAO::Error()
+    {
+    return iError;
+    }
+
+// From CActive
+void CBufferEmptiedEventAO::RunL()
+    {
+    // Save the error code
+    iError = iStatus.Int();
+    // Signal the observer that this request is serviced
+    iObserver.BufferEmptiedBySource();
+    }
+
+void CBufferEmptiedEventAO::DoCancel()
+    {
+    if(iStatus.Int() != 0)
+        {
+        TRequestStatus* status = &iStatus;
+        User::RequestComplete(status,KErrCancel);
+        }
+    }
+
+TInt CBufferEmptiedEventAO::RunError( TInt /*aError*/ )
+    {
+    return KErrNone;
+    }
+
+void CBufferEmptiedEventAO::SetBuffer(MDataBuffer* aBuffer)
+    {
+    iBuffer = aBuffer;
+    }
+
+MDataBuffer* CBufferEmptiedEventAO::GetBuffer()
+    {
+    return iBuffer;
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/BufferEmptiedEventAO.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility  Definition of the BufTypeSupEventAO class.
+*
+*/
+
+
+#ifndef BUFFEREMPTIEDEVENTAO_H
+#define BUFFEREMPTIEDEVENTAO_H
+
+//  INCLUDES
+#include <e32base.h>
+
+namespace multimedia
+    {
+
+    class MDataBuffer;
+    // Observer
+    class MBufferEmptiedObserver
+        {
+        public:
+            virtual void BufferEmptiedBySource() = 0;
+        };
+
+        /**
+        *  Class to encapsulate a queue item.
+    */
+    class CBufferEmptiedEventAO : public CActive
+        {
+        public:  // Constructors and destructor
+            static CBufferEmptiedEventAO* NewL(MBufferEmptiedObserver&);
+            virtual ~CBufferEmptiedEventAO();
+
+            void SetActive();
+            TInt Error();
+
+            void SetBuffer(MDataBuffer* aBuffer);
+            MDataBuffer* GetBuffer();
+
+        protected:
+            // From CActive
+            void RunL();
+            void DoCancel();
+            TInt RunError( TInt aError );
+
+        private:
+            CBufferEmptiedEventAO( MBufferEmptiedObserver& aObserver );
+            void ConstructL();
+
+        private:
+            MBufferEmptiedObserver& iObserver;
+            MDataBuffer* iBuffer;
+            TInt iError;
+        };
+    }
+#endif // BUFTYPESUPEVENTAO_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/ContentFile.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility  Implementation of ContentFile Classes.
+*
+*/
+
+#include <f32file.h>
+#include <e32std.h>
+#include <caf/attribute.h>
+#include <caf/bitset.h>
+
+using namespace ContentAccess;
+
+#include "ContentFile.h"
+
+
+CContentFile::~CContentFile()
+    {
+    delete iData;
+
+    if (iLegacyFileOpen)
+        iLegacyFile.Close();
+    delete iFilePath;
+    }
+
+
+CContentFile* CContentFile::NewL(RFs& aSession, const TDesC& aFilePath, const TDesC& aUniqueId, TUint aMode, TBool aEnableUI)
+    {
+    CContentFile* self = new (ELeave) CContentFile;
+    CleanupStack::PushL(self);
+    self->ConstructL(aSession, aFilePath, aUniqueId, aMode, aEnableUI);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+void CContentFile::ConstructL(RFs& aSession, const TDesC& aPath, const TDesC& aUniqueId, TUint /*aMode*/, TBool aEnableUI)
+    {
+    iSession = &aSession;
+    iFilePath = aPath.AllocL();
+
+    // Assume that we want the content to be shared and read-only.
+    if (aUniqueId.Length() > 0)
+        {
+        iData = CData::NewL(TVirtualPathPtr(*iFilePath, aUniqueId), EContentShareReadWrite);
+        }
+    else
+        {
+        iData = CData::NewL(TVirtualPathPtr(*iFilePath), EContentShareReadWrite);
+        }
+
+    TInt err = iData->SetProperty(EAgentPropertyAgentUI, aEnableUI);
+    if (err != KErrNone && err != KErrCANotSupported)
+        {
+        User::Leave(err);
+        }
+    User::LeaveIfError(iData->EvaluateIntent(EPeek));
+    }
+
+
+
+TInt CContentFile::EvaluateIntent(TIntent aIntent) const
+    {
+    ASSERT(iData);
+    return iData->EvaluateIntent(aIntent);
+    }
+
+
+TInt CContentFile::ExecuteIntent(TIntent aIntent)
+    {
+    ASSERT(iData);
+    return iData->ExecuteIntent(aIntent);
+    }
+
+TBool CContentFile::IsProtected() const
+    {
+    ASSERT(iData);
+    TInt value = 0;
+    TInt err =iData->GetAttribute(EIsProtected, value);
+    return (err == KErrNone && value);
+    }
+
+TInt CContentFile::SetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue)
+    {
+    ASSERT(iData);
+    return iData->SetProperty(aProperty, aValue);
+    }
+
+TInt CContentFile::Seek(TSeek aSeekMode, TInt& aPos)
+    {
+    ASSERT(iData);
+    return iData->Seek(aSeekMode, aPos);
+    }
+
+TInt CContentFile::Read(TDes8& aDes,TInt aLength)
+    {
+    ASSERT(iData);
+    return iData->Read(aDes,aLength);
+    }
+
+void CContentFile::Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus)
+    {
+    ASSERT(iData);
+    iData->Read(aDes, aLength, aStatus);
+    }
+
+TInt CContentFile::Write(const TDesC8& /*aDes*/,TInt /*aLength*/)
+    {
+    return KErrAccessDenied;
+    }
+void CContentFile::Write(const TDesC8& /*aDes*/, TInt /*aLength*/, TRequestStatus& aStatus)
+    {
+    TRequestStatus* status = &aStatus;
+    User::RequestComplete(status, KErrAccessDenied);
+    }
+
+TInt CContentFile::SetSize(TInt /*aSize*/)
+    {
+    // Only a source is implemented, hence this cannot be allowed
+    return KErrAccessDenied;
+    }
+
+
+// Get the size of file
+// this method opens a new, read-only, RFile the first time this method is called
+
+TInt CContentFile::Size(TInt& aSize)
+    {
+    ASSERT(iData);
+    TRAPD(err, iData->DataSizeL(aSize));
+    return err;
+    }
+
+    /**
+    * return a RFile for the legacy RFile method
+    * this method opens a new, read-only, RFile the first time this method is called
+    * @internalTechnology
+    * @return Reference to RFile handle to current file
+*/
+RFile& CContentFile::FileL()
+    {
+    if (!iLegacyFileOpen)
+        {
+        User::LeaveIfError(iLegacyFile.Open(*iSession, *iFilePath, EFileRead | EFileStream | EFileShareReadersOnly));
+        iLegacyFileOpen = ETrue;
+        }
+    return iLegacyFile;
+    }
+
+CContentFile* CContentFile::NewL(RFile& aFile, const TDesC& aUniqueId, TBool aEnableUI)
+    {
+    CContentFile* self = new (ELeave) CContentFile;
+    CleanupStack::PushL(self);
+    self->ConstructL(aFile, aUniqueId, aEnableUI);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+void CContentFile::ConstructL(RFile& aFile, const TDesC& aUniqueId, TBool aEnableUI)
+    {
+    iData = CData::NewL(aFile, aUniqueId);
+    TInt err = iData->SetProperty(EAgentPropertyAgentUI, aEnableUI);
+    if (err != KErrNone && err != KErrCANotSupported)
+        {
+        User::Leave(err);
+        }
+    User::LeaveIfError(iData->EvaluateIntent(EPeek));
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/ContentFile.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility  Header of ContentFile Classes.
+*
+*/
+
+#ifndef __CONTENT_FILE_H__
+#define __CONTENT_FILE_H__
+
+#include <content.h>
+#include <data.h>
+#include <mmf/common/mmcaf.h>
+
+// Provides content access framework based file access
+class CContentFile : public CBase
+    {
+    public:
+        static CContentFile* NewL(RFs& aSession, const TDesC& aPath, const TDesC& aUniqueId, TUint aMode, TBool aEnableUI);
+        void ConstructL(RFs& aSession, const TDesC& aPath, const TDesC& aUniqueId, TUint aMode, TBool aEnableUI);
+
+        static CContentFile* NewL(RFile& aFile, const TDesC& aUniqueId, TBool aEnableUI);
+        void ConstructL(RFile& aFile, const TDesC& aUniqueId, TBool aEnableUI);
+
+        virtual ~CContentFile();
+
+        // from MGenericFile
+        virtual TInt Seek(TSeek aSeekMode, TInt& aPosition);
+        virtual TInt Read(TDes8& aDes,TInt aLength);
+        virtual void Read(TDes8& aDes, TInt aLength, TRequestStatus& aStatus);
+        virtual TInt Write(const TDesC8& aDes,TInt aLength);
+        virtual void Write(const TDesC8& aDes, TInt aLength, TRequestStatus& aStatus);
+        virtual TInt Size(TInt& aSize);
+        virtual TInt SetSize(TInt aSize);
+        virtual TInt EvaluateIntent(const ContentAccess::TIntent aIntent) const;
+        virtual TInt ExecuteIntent(const ContentAccess::TIntent aIntent);
+        virtual TBool IsProtected() const;
+        virtual RFile& FileL();
+
+        virtual TInt SetAgentProperty(ContentAccess::TAgentProperty, TInt aValue);
+
+    private:
+        CContentFile();
+
+
+    private:
+        RFs* iSession; // not owned
+        HBufC* iFilePath;
+        ContentAccess::CData* iData;
+
+        RFile iLegacyFile;
+        TBool iLegacyFileOpen;
+    };
+
+inline CContentFile::CContentFile()
+    {
+    }
+
+#endif //__CONTENT_FILE_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/EMCPdPlayUtility.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,1573 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+#include <bautils.h>
+#include <utf.h>
+#include <mmfpaniccodes.h>
+#include "EMCPdPlayUtility.h"
+#include "EMCPdProperties.h"
+#include "MProgressiveDownloadUtility.h"
+#include <apgcli.h>
+#include <AudioPreference.h>
+#include <SCCustomInterfaceUIDs.h>
+#include <drmagents.h>
+#include <DRMConfigIntfc.h>
+#include <content.h>
+#include <data.h>
+#include <MetaDataFieldContainer.h>
+#include <MetaDataUtility.h>
+#include <mmfmeta.h>
+
+_LIT8(KWMAMimeType,"audio/x-ms-wma");
+
+using namespace ContentAccess;
+using namespace DRM;
+
+#ifdef _DEBUG
+#define DEBPRN1(str)        RDebug::Print(str);
+#define DEBPRN2(str, val1)   RDebug::Print(str, val1);
+#define DEBPRN3(str, val1, val2)   RDebug::Print(str, val1, val2);
+#define DEBPRN4(str, val1, val2, val3)   RDebug::Print(str, val1, val2, val3);
+#define DEBPRN5(str, val1, val2, val3, val4)   RDebug::Print(str, val1, val2, val3, val4);
+#else
+#define DEBPRN1(str)
+#define DEBPRN2(str, val1)
+#define DEBPRN3(str, val1, val2)
+#define DEBPRN4(str, val1, val2, val3)
+#define DEBPRN5(str, val1, val2, val3, val4)
+#endif // _DEBUG
+
+const TInt KNumberOfBuffers = 10;
+//const TUid KUidProgressiveDlSource	= {KProgressiveDownloadSourceUid};
+const TInt KBufferingAmount = 40960;
+
+void Panic(TInt aPanicCode)
+	{
+	_LIT(KProgressiveDownloadUtility, "ProgressiveDownloadUtility");
+	User::Panic(KProgressiveDownloadUtility, aPanicCode);
+	}
+
+CAudioPdPlayUtility* CAudioPdPlayUtility::NewL(MAudioPdPlayUtilityCallback& aCallback)
+	{
+    CAudioPdPlayUtility* self = new(ELeave) CAudioPdPlayUtility();
+	CleanupStack::PushL(self);
+
+ 	self->iProperties = CAudioPdProperties::NewL(aCallback);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+CAudioPdPlayUtility::~CAudioPdPlayUtility()
+	{
+	delete iProperties;
+	}
+
+CAudioPdPlayUtility::CAudioPdPlayUtility()
+	{
+
+	}
+
+void CAudioPdPlayUtility::ConstructL()
+	{
+
+	}
+
+//For Download Status
+void CAudioPdPlayUtility::HandleDownloadEventL(TUint aTransactionID,
+                                               TBrCtlDownloadEvent aEvent,
+                                               TUint aValue)
+	{
+    iProperties->HandleDownloadEventL(aTransactionID,aEvent,aValue);
+	}
+
+
+void CAudioPdPlayUtility::Play()
+	{
+    iProperties->Play();
+	}
+void CAudioPdPlayUtility::Stop()
+	{
+    iProperties->Stop();
+	}
+TInt CAudioPdPlayUtility::Pause()
+	{
+    return iProperties->Pause();
+	}
+void CAudioPdPlayUtility::SetVolume(TInt aVolume)
+	{
+    iProperties->SetVolume(aVolume);
+	}
+void CAudioPdPlayUtility::SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence)
+	{
+    iProperties->SetRepeats(aRepeatNumberOfTimes,aTrailingSilence);
+	}
+void CAudioPdPlayUtility::SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration)
+	{
+    iProperties->SetVolumeRamp(aRampDuration);
+	}
+const TTimeIntervalMicroSeconds& CAudioPdPlayUtility::Duration()
+	{
+	return iProperties->Duration();
+	}
+TInt CAudioPdPlayUtility:: MaxVolume()
+	{
+	return iProperties->MaxVolume();
+	}
+void CAudioPdPlayUtility::Close()
+	{
+    iProperties->Close();
+	}
+TInt CAudioPdPlayUtility::GetPosition(TTimeIntervalMicroSeconds& aPosition)
+	{
+    return iProperties->GetPosition(aPosition);
+	}
+void CAudioPdPlayUtility::SetPosition(const TTimeIntervalMicroSeconds& aPosition)
+	{
+    iProperties->SetPosition(aPosition);
+	}
+
+TInt CAudioPdPlayUtility::SetPriority(TInt aPriority, TMdaPriorityPreference aPref)
+	{
+    return iProperties->SetPriority(aPriority,aPref);
+	}
+TInt CAudioPdPlayUtility::GetVolume(TInt& aVolume)
+	{
+    return iProperties->GetVolume(aVolume);
+	}
+TInt CAudioPdPlayUtility::GetNumberOfMetaDataEntries(TInt& aNumEntries)
+	{
+    return iProperties->GetNumberOfMetaDataEntries(aNumEntries);
+	}
+
+
+CMMFMetaDataEntry* CAudioPdPlayUtility::GetMetaDataEntryL(TInt aMetaDataIndex)
+	{
+	return iProperties->GetMetaDataEntryL(aMetaDataIndex);
+	}
+
+TInt CAudioPdPlayUtility::SetPlayWindow(const TTimeIntervalMicroSeconds& aStart,
+								const TTimeIntervalMicroSeconds& aEnd)
+	{
+    return iProperties->SetPlayWindow(aStart,aEnd);
+	}
+
+TInt CAudioPdPlayUtility::ClearPlayWindow()
+	{
+    return iProperties->ClearPlayWindow();
+	}
+TInt CAudioPdPlayUtility::SetBalance(TInt aBalance)
+	{
+    return iProperties->SetBalance(aBalance);
+	}
+TInt CAudioPdPlayUtility::GetBalance(TInt& aBalance)
+	{
+    return iProperties->GetBalance(aBalance);
+	}
+TInt CAudioPdPlayUtility::GetBitRate(TUint& aBitRate)
+	{
+    return iProperties->GetBitRate(aBitRate);
+	}
+
+
+void CAudioPdPlayUtility::RegisterForAudioLoadingNotification(MAudioLoadingObserver& aCallback)
+	{
+    iProperties->RegisterForAudioLoadingNotification(aCallback);
+	}
+
+void CAudioPdPlayUtility::GetAudioLoadingProgressL(TInt& aPercentageProgress)
+	{
+    iProperties->GetAudioLoadingProgressL(aPercentageProgress);
+	}
+
+const CMMFControllerImplementationInformation& CAudioPdPlayUtility::ControllerImplementationInformationL()
+	{
+	return iProperties->ControllerImplementationInformationL();
+	}
+
+
+TInt CAudioPdPlayUtility::CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom)
+	{
+    return iProperties->CustomCommandSync(aDestination, aFunction, aDataTo1, aDataTo2, aDataFrom);
+	}
+TInt CAudioPdPlayUtility::CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2)
+	{
+    return iProperties->CustomCommandSync(aDestination, aFunction, aDataTo1, aDataTo2);
+	}
+void CAudioPdPlayUtility::CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus)
+	{
+	iProperties->CustomCommandAsync(aDestination, aFunction, aDataTo1, aDataTo2, aDataFrom, aStatus);
+	}
+void CAudioPdPlayUtility::CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus)
+	{
+	iProperties->CustomCommandAsync(aDestination, aFunction, aDataTo1, aDataTo2, aStatus);
+	}
+
+void CAudioPdPlayUtility::OpenFileL(const TDesC& aFileName)
+	{
+	iProperties->OpenFileL(aFileName);
+	}
+
+
+void CAudioPdPlayUtility::OpenFileL(const RFile& aFile)
+	{
+	RFile& file = const_cast<RFile&>(aFile);
+	iProperties->OpenFileL(file);
+	}
+
+void CAudioPdPlayUtility::DlCompleteOpenFileL(const TDesC& aFileName)
+	{
+	iProperties->DlCompleteOpenFileL(aFileName);
+	}
+
+TInt CAudioPdPlayUtility::GetFilePosition(TInt& aFilePosition)
+	{
+	return iProperties->GetFilePosition(aFilePosition);
+	}
+
+TInt CAudioPdPlayUtility::SetFileSize(TInt aFileSize)
+	{
+	return iProperties->SetFileSize(aFileSize);
+	}
+
+TInt CAudioPdPlayUtility::SetBytesDownloaded(TInt aBytesDownloaded, TBool aDownloadComplete)
+	{
+	return iProperties->SetBytesDownloaded(aBytesDownloaded,aDownloadComplete);
+	}
+
+MMMFDRMCustomCommand* CAudioPdPlayUtility::GetDRMCustomCommand()
+	{
+	//ASSERT(iProperties);
+	return iProperties->GetDRMCustomCommand();
+	}
+
+
+TInt CAudioPdPlayUtility::CheckAudioPlayerState()
+	{
+	return iProperties->CheckAudioPlayerState();
+	}
+
+
+//===============================================================
+// CAudioPdProperties implementation begins
+//
+//===============================================================
+CAudioPdProperties* CAudioPdProperties::NewL(MAudioPdPlayUtilityCallback& aCallback)
+	{
+	CAudioPdProperties* self = new(ELeave) CAudioPdProperties(aCallback);
+	CleanupStack::PushL(self);
+	self->ConstructL(aCallback);
+	CleanupStack::Pop(self);
+	return self;
+	}
+CAudioPdProperties* CAudioPdProperties::NewLC(MAudioPdPlayUtilityCallback& /*aCallback*/)
+	{
+	return NULL;
+	}
+
+CAudioPdProperties::~CAudioPdProperties()
+	{
+
+    if(iMimeType)
+        {
+        delete iMimeType;
+        iMimeType = NULL;
+        }
+
+    if(iBufferEmptiedEventAO->IsActive())
+        {
+        iBufferEmptiedEventAO->Cancel();
+        }
+
+    delete iBufferEmptiedEventAO;
+
+    iFactory->DeleteStreamControl(iStreamControl);
+
+    while(iBuffers.Count())
+        {
+        MDataBuffer* temp = iBuffers[0];
+        iBuffers.Remove(0);
+        iFactory->DeleteDataBuffer(temp);
+        }
+
+    if(iMDataBufferSource)
+        {
+        MSourceControl* objPtr = iMDataBufferSource;
+        iFactory->DeleteSourceControl(objPtr);
+        iMDataBufferSource = NULL;
+        }
+
+    MSinkControl* objPtr1 = iMAudioSink;
+    iFactory->DeleteSinkControl(objPtr1);
+
+	if(iMVolumeControl)
+		{
+		MEffectControl* effectObj = iMVolumeControl;
+		iFactory->DeleteEffectControl(effectObj);
+		iMVolumeControl = NULL;
+		}
+
+    if(iFileName)
+        {
+        delete iFileName;
+        iFileName = NULL;
+        }
+
+    if (iMetaDataEntries.Count())
+    	{
+        iMetaDataEntries.ResetAndDestroy();
+		iMetaDataEntries.Close();
+		}
+
+    delete iFile;
+    iFile = NULL;
+    iFs.Close();
+    iBuffers.ResetAndDestroy();
+    iBuffers.Close();
+    iAvailable.Close();
+
+ 	delete iFactory;
+
+	delete iControllerImplementationInformation;
+	delete iAsyncCallBack;
+//	iController.Close();
+	}
+
+CAudioPdProperties::CAudioPdProperties(/*MMdaAudioPlayerCallback*/MAudioPdPlayUtilityCallback& aCallback):
+	iCallback(aCallback),
+	iAudioPlayDeviceCommands(iController),
+	iAudioPlayControllerCommands(iController),
+	iDRMCustomCommands(iController)
+	{
+	iState = EStopped;
+	iPrioritySettings.iPriority = KAudioPriorityRealOnePlayer;//80
+	iPrioritySettings.iPref =(TMdaPriorityPreference) KAudioPrefRealOneLocalPlayback;// 0x01420001;
+	iPlayStart = TTimeIntervalMicroSeconds(0);
+	iPlayEnd = TTimeIntervalMicroSeconds(0);
+	iPlayWindowSet = ENone;
+	iBuffering = EFalse;
+	iControllerPtr = NULL;
+	iStopCalled = EFalse;
+	iFileName = NULL;
+	}
+
+void CAudioPdProperties::ConstructL(MAudioPdPlayUtilityCallback& /*aCallback*/)
+	{
+	iAsyncCallBack = CMMFMdaAudioPlayerCallBack::NewL(iCallback);
+    iBufferEmptiedEventAO = CBufferEmptiedEventAO::NewL(*this);
+    iMimeType = HBufC8::NewL(20);
+    TInt status = CMultimediaFactory::CreateFactory( iFactory );
+
+    TInt err = iFactory->CreateStreamControl( KStreamControl, iStreamControl );
+    User::LeaveIfError(err);
+    iStreamControl->AddObserver( *this );
+
+    MSinkControl* tempSinkCtrl(NULL);
+    err = iFactory->CreateSinkControl( KMMFAudioOutputSinkControl, tempSinkCtrl );
+    User::LeaveIfError(err);
+	iMAudioSink = tempSinkCtrl;
+    iStreamControl->AddSink( *iMAudioSink );
+
+    MSourceControl* tempCtrl(NULL);
+    err = iFactory->CreateSourceControl( KDataBufferSourceControl, tempCtrl );
+    User::LeaveIfError(err);
+    CreateAudioBuffersL();
+    iMDataBufferSource = static_cast<MDataBufferSource*>(tempCtrl);
+    iMDataBufferSource->AddObserver( *this );
+
+	//Create Volume Control
+	MEffectControl* effectCtrl(NULL);
+	err = iFactory->CreateEffectControl( KVolumeEffectControl, effectCtrl );
+	User::LeaveIfError(err);
+
+	iMVolumeControl = static_cast<MVolumeControl*>(effectCtrl);
+	err = iStreamControl->AddEffect( *iMVolumeControl );
+	}
+
+void CAudioPdProperties::HandleDownloadEventL(TUint aTransactionID,
+                                              TBrCtlDownloadEvent aEvent,
+                                              TUint aValue)
+	{
+	iCallback.HandleDownloadEventL(aTransactionID,aEvent,aValue);
+	}
+
+
+void CAudioPdProperties::CreateAudioBuffersL()
+    {
+    MDataBuffer* buffer;
+    iBuffers.ResetAndDestroy();
+    iAvailable.Reset();
+    for (int i = 0; i < KNumberOfBuffers; i++ )
+        {
+        iFactory->CreateDataBuffer(KDataBufferSourceControl,4096,buffer);
+        User::LeaveIfError(iBuffers.Append(buffer));
+        buffer = NULL;
+        iAvailable.AppendL(ETrue);
+        }
+    }
+
+void CAudioPdProperties::DetermineFNMimeType(const TDesC& aFileName, TDes8& aMimeType)
+    {
+    RApaLsSession ls;
+    TInt err;
+    err=ls.Connect();
+
+    TDataRecognitionResult result;
+    err = ls.RecognizeData(aFileName,KNullDesC8(),result);
+    if(!err && (result.iConfidence >= CApaDataRecognizerType::EProbable))
+        {
+        aMimeType.Copy(result.iDataType.Des8());
+        }
+    ls.Close();
+    }
+
+void CAudioPdProperties::DetermineFHMimeType(const RFile& aFile, TDes8& aMimeType)
+    {
+    RApaLsSession ls;
+    TInt err;
+    err=ls.Connect();
+
+    TDataRecognitionResult result;
+    err = ls.RecognizeData(aFile,result);
+    if(!err && (result.iConfidence >= CApaDataRecognizerType::EProbable))
+        {
+        aMimeType.Copy(result.iDataType.Des8());
+        }
+    ls.Close();
+    }
+
+
+void CAudioPdProperties::OpenFileL(const TDesC& aFileName)
+	{
+    TBuf8<20> mimeType;
+    User::LeaveIfError(iFs.Connect());
+
+    if(iFileName)
+        {
+        delete iFileName;
+        iFileName = NULL;
+        }
+
+    iFileName = HBufC::NewL(aFileName.Length());
+    TPtr des = iFileName->Des();
+    des.Copy(aFileName);
+
+	TInt err = ExtractDRMRestrictionsL();
+	User::LeaveIfError(err);
+    if(!isProtected)
+        {
+        DetermineFNMimeType(aFileName,mimeType);
+        iMimeType->Des().Copy(mimeType);
+        }
+
+
+    if(iMimeType->Des().Length())
+        {
+        DEBPRN1(_L("CAudioPdProperties::OpenFileL() Before iFile Open "));
+    	iFile =  CContentFile::NewL(iFs,aFileName, KNullDesC, EFileShareAny,EFalse);
+        DEBPRN2(_L("CAudioPdProperties::OpenFileL() After iFile Open Error[%d]"),err);
+        iStreamControl->AddSource(*iMDataBufferSource);
+    	MDataBuffer* dataBuffer = NULL;
+    	err = iMDataBufferSource->Open(*iMimeType,*dataBuffer);
+    	User::LeaveIfError(err);
+        SetPriority(iPrioritySettings.iPriority,(TMdaPriorityPreference)iPrioritySettings.iPref);
+    	iStreamControl->Open();
+        }
+    else
+        {
+        User::Leave(KErrNotSupported);
+        }
+	}
+
+
+void CAudioPdProperties::OpenFileL(const RFile& aFile)
+	{
+    TBuf8<20> mimeType;
+    iFileHandle = aFile;
+	TInt err = ExtractDRMRestrictionsL();
+	User::LeaveIfError(err);
+    if(!isProtected)
+        {
+        DetermineFHMimeType(iFileHandle,mimeType);
+        iMimeType->Des().Copy(mimeType);
+        }
+
+    iFile =  CContentFile::NewL(iFileHandle, KNullDesC ,EFalse);
+
+    if(iMimeType->Des().Length())
+        {
+        MDataBuffer* dataBuffer = NULL;
+    	TInt err = iMDataBufferSource->Open(*iMimeType,*dataBuffer);
+    	User::LeaveIfError(err);
+        SetPriority(iPrioritySettings.iPriority,(TMdaPriorityPreference)iPrioritySettings.iPref);
+    	iStreamControl->Open();
+        }
+    else
+        {
+        User::Leave(KErrNotSupported);
+        }
+	}
+
+void CAudioPdProperties::DlCompleteOpenFileL(const TDesC& aFileName)
+	{
+	OpenFileL(aFileName);
+	}
+
+
+void CAudioPdProperties::Play()
+	{
+    DEBPRN2(_L("CAudioPdProperties::Play() enter iIsEOFReached[%d]"),iIsEOFReached);
+	if (iPlayWindowSet == ESet)
+		{
+        iAudioPlayControllerCommands.SetPlaybackWindow(iPlayStart, iPlayEnd);
+		}
+	else if (iPlayWindowSet == EClear)
+		{
+		iAudioPlayControllerCommands.DeletePlaybackWindow();
+		iPlayWindowSet = ENone;	// assume window will stay cleared
+		}
+
+    if(iIsEOFReached)
+        {
+        delete iFile;
+        iFile = NULL;
+        if(iFileName)
+            {
+            DEBPRN2(_L("CAudioPdProperties::Play() iIsEOFReached[%d] "),iIsEOFReached);
+           	iFile =  CContentFile::NewL(iFs,*iFileName, KNullDesC, EFileShareAny,EFalse);
+            }
+        else
+            {
+            DEBPRN2(_L("CAudioPdProperties::Play() iIsEOFReached[%d] "),iIsEOFReached);
+            iFile =  CContentFile::NewL(iFileHandle, KNullDesC ,EFalse);
+            }
+        iIsEOFReached = EFalse;
+        }
+
+    if(iState != EStopped)
+        {
+        FillSourceBuffers();
+        }
+
+    if(!iDisableAutoIntent && iFile)
+        {
+        iFile->ExecuteIntent((iState == EPaused) ? ContentAccess::EContinue : ContentAccess::EPlay);
+        }
+
+    iStreamControl->Start();
+	}
+
+void CAudioPdProperties::Stop()
+	{
+    DEBPRN1(_L("CAudioPdProperties::Stop() enter"));
+    iStopCalled = ETrue;
+    iStreamControl->Stop();
+	}
+TInt CAudioPdProperties::Pause()
+	{
+    TInt err = KErrNone;
+    DEBPRN1(_L("CAudioPdProperties::Pause() enter"));
+    if(!iDisableAutoIntent && iFile)
+        {
+        iFile->ExecuteIntent(ContentAccess::EPause);
+        }
+
+    err = iStreamControl->Pause();
+	return err;
+	}
+
+void CAudioPdProperties::SetVolume(TInt aVolume)
+	{
+    if(iMVolumeControl)
+	    {
+	    iMVolumeControl->SetVolume(aVolume);
+	    iMVolumeControl->Apply();
+        }
+	}
+
+void CAudioPdProperties::SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence)
+	{
+	iNumberOfTimesToRepeat = aRepeatNumberOfTimes;
+	iTrailingSilence = aTrailingSilence;
+	}
+
+void CAudioPdProperties::SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration)
+	{
+   	TInt curVol = 0;
+   	MVolumeControl::TVolumeRampMode aMode= MVolumeControl::EIMMEDIATE;
+   	TUint64 duration = aRampDuration.Int64();
+   	TInt err = iMVolumeControl->GetVolume(curVol);
+    if(iMVolumeControl)
+    	{
+     	iMVolumeControl->SetVolumeRamp(0,curVol,duration,
+                                   aMode);
+		iMVolumeControl->Apply();
+    	}
+	}
+const TTimeIntervalMicroSeconds& CAudioPdProperties::Duration()
+	{
+	TInt64 duration = 0;
+	TInt err = iStreamControl->GetDuration(duration);
+	iDuration = duration;
+	return iDuration;
+	}
+
+TInt CAudioPdProperties:: MaxVolume()
+	{
+    TInt volume;
+    if(iMVolumeControl)
+    	iMVolumeControl->GetMaxVolume(volume);
+    return volume;
+	}
+
+void CAudioPdProperties::Close()
+	{
+	// Reset the audio player state.
+    DEBPRN1(_L("CAudioPdProperties::Close() enter"));
+	Stop();
+    DEBPRN1(_L("CAudioPdProperties::Close() Before File Close "));
+	delete iFile;
+	iFile = NULL;
+    DEBPRN1(_L("CAudioPdProperties::Close() After File Close "));
+	}
+
+TInt CAudioPdProperties::GetPosition(TTimeIntervalMicroSeconds& aPosition)
+	{
+    TInt error = KErrNone;
+    TInt64 position = 0;
+	error = iStreamControl->GetPosition(position);
+	aPosition = iPosition = position;
+	return error;
+	}
+
+void CAudioPdProperties::SetPosition(const TTimeIntervalMicroSeconds& aPosition)
+	{
+	TInt64 position = aPosition.Int64();
+	TTimeIntervalMicroSeconds currentPosition(0);
+	GetPosition(currentPosition);
+
+	// We only set the Position if the Current Position is different then the
+    // the new Position
+	if(currentPosition != aPosition)
+	    {
+	    //iStreamControl->SetPosition(position);
+	    }
+	}
+
+TInt CAudioPdProperties::SetPriority(TInt aPriority, TMdaPriorityPreference aPref)
+	{
+	TInt err = iStreamControl->SetPriority(aPriority,aPref);
+	return err;
+	}
+
+TInt CAudioPdProperties::GetVolume(TInt& aVolume)
+	{
+    TInt error = iAudioPlayDeviceCommands.GetVolume(aVolume);
+	return error;
+	}
+
+TInt CAudioPdProperties::GetNumberOfMetaDataEntries(TInt& aNumEntries)
+	{
+    TInt status(KErrNotReady);
+    if(!iMimeType->Des().Compare(KWMAMimeType()))
+        {
+        status = iController.GetNumberOfMetaDataEntries(aNumEntries);
+        }
+    else
+        {
+        if (!iMetaDataRead && iControllerLoaded)
+            {
+            CMetaDataUtility* metaDataUtility = CMetaDataUtility::NewL();
+            CleanupStack::PushL(metaDataUtility);
+
+    		RArray<TMetaDataFieldId> wantedFields;
+    		CleanupClosePushL(wantedFields);
+    		wantedFields.Append(EMetaDataSongTitle);
+    		wantedFields.Append(EMetaDataArtist);
+    		wantedFields.Append(EMetaDataAlbum);
+    		wantedFields.Append(EMetaDataYear);
+    		wantedFields.Append(EMetaDataComment);
+    		wantedFields.Append(EMetaDataAlbumTrack);
+    		wantedFields.Append(EMetaDataGenre);
+    		wantedFields.Append(EMetaDataComposer);
+    		wantedFields.Append(EMetaDataCopyright);
+    		wantedFields.Append(EMetaDataOriginalArtist);
+    		wantedFields.Append(EMetaDataUrl);
+    		wantedFields.Append(EMetaDataJpeg);
+    		wantedFields.Append(EMetaDataUserUrl);
+
+			if(iFileName)
+			    {
+			    TRAP(status,metaDataUtility->OpenFileL(*iFileName, wantedFields));
+			    }
+			else
+			    {
+			    TRAP(status,metaDataUtility->OpenFileL(iFileHandle, wantedFields));
+			    }
+
+            if(status != KErrNone)
+                {
+        		CleanupStack::PopAndDestroy(&wantedFields);	// wantedFields
+        		CleanupStack::PopAndDestroy(metaDataUtility);	//metaDataUtility
+                return status;
+                }
+            TInt count = metaDataUtility->MetaDataCount();
+
+            if (count > 0)
+    			{
+    			const CMetaDataFieldContainer& container = metaDataUtility->MetaDataFieldsL();
+    			TMetaDataFieldId id;
+    			for (TInt i = 0; i < count; i++)
+    				{
+    				TPtrC content = container.At(i, id);
+    				CMMFMetaDataEntry* metaData = NULL;
+    				switch (id)
+    					{
+    					case EMetaDataSongTitle:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntrySongTitle, content);
+    						break;
+    					case EMetaDataArtist:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryArtist, content);
+    						break;
+    					case EMetaDataAlbum:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryAlbum, content);
+    						break;
+    					case EMetaDataYear:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryYear, content);
+    						break;
+    					case EMetaDataComment:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryComment, content);
+    						break;
+    					case EMetaDataAlbumTrack:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryAlbumTrack, content);
+    						break;
+    					case EMetaDataGenre:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryGenre, content);
+    						break;
+    					case EMetaDataComposer:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryComposer, content);
+    						break;
+    					case EMetaDataCopyright:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryCopyright, content);
+    						break;
+    					case EMetaDataOriginalArtist:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryOriginalArtist, content);
+    						break;
+    					case EMetaDataUrl:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryWOAF, content);
+    						break;
+    					case EMetaDataJpeg:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryAPIC, content);
+    						break;
+    					case EMetaDataUserUrl:
+    						metaData = CMMFMetaDataEntry::NewL(KMMFMetaEntryWXXX, content);
+    						break;
+    					default:	// Should never get here really...
+    						break;
+    					}
+    				if (metaData)
+    					{
+    					CleanupStack::PushL(metaData);
+    					User::LeaveIfError(iMetaDataEntries.Append(metaData));
+    					CleanupStack::Pop(metaData);	// metaData
+    					}
+    				}
+    			}
+    		iMetaDataRead = ETrue;
+    		CleanupStack::PopAndDestroy(&wantedFields);	// wantedFields
+    		CleanupStack::PopAndDestroy(metaDataUtility);	//metaDataUtility
+    		}
+        aNumEntries = iMetaDataEntries.Count();
+        status = KErrNone;
+        }
+    return status;
+	}
+
+
+CMMFMetaDataEntry* CAudioPdProperties::GetMetaDataEntryL(TInt aMetaDataIndex)
+	{
+    if(!iMimeType->Des().Compare(KWMAMimeType()))
+        {
+        return iController.GetMetaDataEntryL(aMetaDataIndex);
+        }
+	else
+        {
+        if (aMetaDataIndex > iMetaDataEntries.Count() - 1)
+        	{
+            User::Leave(KErrArgument);
+    		}
+
+        return CMMFMetaDataEntry::NewL(*iMetaDataEntries[aMetaDataIndex]);
+        }
+	}
+
+TInt CAudioPdProperties::SetPlayWindow(const TTimeIntervalMicroSeconds& aPlayStart,
+								const TTimeIntervalMicroSeconds& aPlayEnd)
+	{
+    TInt error = KErrNone;
+
+	if (aPlayStart >= TTimeIntervalMicroSeconds(0) &&
+		aPlayStart < iDuration &&
+			aPlayStart < aPlayEnd &&
+			aPlayEnd <= iDuration )
+		{
+		iPlayStart = aPlayStart;
+		iPlayEnd = aPlayEnd;
+		iPlayWindowSet = ESet;
+
+		if (iState==EPlaying)
+			error = iAudioPlayControllerCommands.SetPlaybackWindow(aPlayStart, aPlayEnd);
+		}
+	else
+		error = KErrArgument;
+
+	return error;
+	}
+
+TInt CAudioPdProperties::ClearPlayWindow()
+	{
+    	// clear play window start - very important because this is assigned
+	// to iPosition when we stop & is used to set the position on the next Play()
+	iPosition = iPlayStart = iPlayEnd = TTimeIntervalMicroSeconds(0);
+
+	iPlayWindowSet = EClear;
+	TInt err = KErrNone;
+	if (iState==EPlaying)
+		err = iAudioPlayControllerCommands.DeletePlaybackWindow();
+	return err;
+	}
+
+TInt CAudioPdProperties::SetBalance(TInt aBalance)
+	{
+    TInt err = iAudioPlayDeviceCommands.SetBalance(aBalance);
+	return err;
+	}
+
+TInt CAudioPdProperties::GetBalance(TInt& aBalance)
+	{
+	TInt err = iAudioPlayDeviceCommands.GetBalance(aBalance);
+	return err;
+	}
+
+TInt CAudioPdProperties::GetBitRate(TUint& aBitRate)
+	{
+    TInt status = KErrNone;
+    if(iMDataBufferSource)
+        {
+        status = iMDataBufferSource->GetBitRate(aBitRate);
+        }
+    return status;
+	}
+
+void CAudioPdProperties::RegisterForAudioLoadingNotification(MAudioLoadingObserver& aLoadingObserver)
+	{
+    iLoadingObserver = &aLoadingObserver;
+	}
+
+void CAudioPdProperties::GetAudioLoadingProgressL(TInt& aPercentageProgress)
+	{
+    User::LeaveIfError(iAudioPlayControllerCommands.GetLoadingProgress(aPercentageProgress));
+	}
+
+const CMMFControllerImplementationInformation& CAudioPdProperties::ControllerImplementationInformationL()
+	{
+	if (!iControllerImplementationInformation)
+		{
+		TUid* contUid = static_cast<TUid*>(iStreamControl->CustomInterface(KUidSCControllerUid));
+		iControllerUid = *contUid;
+		if (iControllerUid==KNullUid)
+			User::Leave(KErrNotReady);
+		iControllerImplementationInformation = CMMFControllerImplementationInformation::NewL(iControllerUid);
+		}
+	return *iControllerImplementationInformation;
+	}
+
+TInt CAudioPdProperties::CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom)
+	{
+    return iController.CustomCommandSync(aDestination, aFunction, aDataTo1, aDataTo2, aDataFrom);
+	}
+TInt CAudioPdProperties::CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2)
+	{
+    return iController.CustomCommandSync(aDestination, aFunction, aDataTo1, aDataTo2);
+	}
+void CAudioPdProperties::CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus)
+	{
+	iController.CustomCommandAsync(aDestination, aFunction, aDataTo1, aDataTo2, aDataFrom, aStatus);
+	}
+void CAudioPdProperties::CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus)
+	{
+    iController.CustomCommandAsync(aDestination, aFunction, aDataTo1, aDataTo2, aStatus);
+	}
+
+TInt CAudioPdProperties::GetFilePosition(TInt& /*aFilePosition*/)
+	{
+    return KErrNone;
+	}
+
+TInt CAudioPdProperties::SetFileSize(TInt aFileSize)
+	{
+    TInt status(KErrNone);
+    if(!isProtected)
+        {
+        iFileSize = aFileSize;
+        status = iMDataBufferSource->SetSize(aFileSize);
+        }
+    return status;
+	}
+
+TInt CAudioPdProperties::SetBytesDownloaded(TInt aBytesDownloaded, TBool aDownloadComplete)
+	{
+    TInt status(KErrNone);
+    iBytesDownloaded = aBytesDownloaded;
+    iDownloadComplete = aDownloadComplete;
+
+    if(iDownloadComplete && iFile)
+        {
+        ReOpenCAF();
+        }
+
+    if(iBuffering)
+        {
+        if(((aBytesDownloaded - iBytesReadFromFile) > KBufferingAmount)
+            || ((iFileSize - aBytesDownloaded) < KBufferingAmount))
+            {
+            FillSourceBuffers();
+            }
+        }
+    return status;
+	}
+
+
+MMMFDRMCustomCommand* CAudioPdProperties::GetDRMCustomCommand()
+	{
+    return this;
+	}
+
+
+TInt CAudioPdProperties::DisableAutomaticIntent(TBool aDisableAutoIntent)
+    {
+	if (iDRMCustomCommands.IsSupported())
+		{
+        iDisableAutoIntent = aDisableAutoIntent;
+        return KErrNone;
+		}
+	else
+		{
+		return KErrNotSupported;
+		}
+    }
+
+TInt CAudioPdProperties::ExecuteIntent(ContentAccess::TIntent aIntent)
+    {
+	if (iDRMCustomCommands.IsSupported())
+		{
+	    if(iFile)
+	        {
+	        return iFile->ExecuteIntent(aIntent);
+	        }
+        else
+            {
+            return KErrNotReady;
+            }
+		}
+	else
+		{
+		return KErrNotSupported;
+		}
+    }
+
+TInt CAudioPdProperties::EvaluateIntent(ContentAccess::TIntent aIntent)
+    {
+	if (iDRMCustomCommands.IsSupported())
+		{
+	    if(iFile)
+	        {
+            return iFile->EvaluateIntent(aIntent);
+	        }
+        else
+            {
+            return KErrNotReady;
+            }
+		}
+	else
+		{
+		return KErrNotSupported;
+		}
+    }
+
+TInt CAudioPdProperties::SetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue)
+    {
+	if (iDRMCustomCommands.IsSupported())
+		{
+	    if(iFile)
+	        {
+    		return iFile->SetAgentProperty(aProperty,aValue);
+	        }
+        else
+            {
+            return KErrNotReady;
+            }
+		}
+	else
+		{
+		return KErrNotSupported;
+		}
+    }
+
+TInt CAudioPdProperties::CheckAudioPlayerState()
+	{
+	return iState;
+	}
+
+CRepeatTrailingSilenceTimer* CRepeatTrailingSilenceTimer::NewL(MRepeatTrailingSilenceTimerObs& aObs)
+	{
+	CRepeatTrailingSilenceTimer* s = new(ELeave) CRepeatTrailingSilenceTimer(aObs);
+	CleanupStack::PushL(s);
+	s->ConstructL();
+	CleanupStack::Pop();
+	return s;
+	}
+
+void CRepeatTrailingSilenceTimer::RunL()
+	{
+	iObs.RepeatTrailingSilenceTimerComplete();
+	}
+
+CRepeatTrailingSilenceTimer::CRepeatTrailingSilenceTimer(MRepeatTrailingSilenceTimerObs& aObs) :
+	CTimer(EPriorityHigh),
+	iObs(aObs)
+	{
+	CActiveScheduler::Add(this);
+	}
+
+
+CMMFMdaAudioPlayerCallBack* CMMFMdaAudioPlayerCallBack::NewL(MAudioPdPlayUtilityCallback& aCallback)
+	{
+	return new(ELeave) CMMFMdaAudioPlayerCallBack(aCallback);
+	}
+
+CMMFMdaAudioPlayerCallBack::CMMFMdaAudioPlayerCallBack(MAudioPdPlayUtilityCallback& aCallback) :
+	CActive(CActive::EPriorityHigh), iCallback(aCallback)
+	{
+	CActiveScheduler::Add(this);
+	}
+
+CMMFMdaAudioPlayerCallBack::~CMMFMdaAudioPlayerCallBack()
+	{
+	Cancel();
+	}
+
+void CMMFMdaAudioPlayerCallBack::InitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration)
+	{
+	iError = aError;
+	iDuration = aDuration;
+	iState = ECallbackInitComplete;
+	if (!IsActive())
+		{
+		TRequestStatus* s = &iStatus;
+		SetActive();
+		User::RequestComplete(s, KErrNone);
+		}
+	}
+
+void CMMFMdaAudioPlayerCallBack::PlayComplete(TInt aError)
+	{
+	iError = aError;
+	iState = ECallbackPlayComplete;
+	if (!IsActive())
+		{
+		TRequestStatus* s = &iStatus;
+		SetActive();
+		User::RequestComplete(s, KErrNone);
+		}
+	}
+
+void CMMFMdaAudioPlayerCallBack::PlayingCallback()
+	{
+	iState = ECallbackPlaying;
+	if (!IsActive())
+		{
+		TRequestStatus* s = &iStatus;
+		SetActive();
+		User::RequestComplete(s, KErrNone);
+		}
+	}
+
+void CMMFMdaAudioPlayerCallBack::PausedCallback()
+	{
+	iState = ECallbackPaused;
+	if (!IsActive())
+		{
+		TRequestStatus* s = &iStatus;
+		SetActive();
+		User::RequestComplete(s, KErrNone);
+		}
+	}
+
+
+void CMMFMdaAudioPlayerCallBack::RunL()
+	{
+	switch (iState)
+		{
+		case ECallbackInitComplete:
+			iCallback.MapcInitComplete(iError, iDuration);
+			break;
+		case ECallbackPlayComplete:
+			iCallback.MapcPlayComplete(iError);
+			break;
+		case ECallbackPlaying:
+			iCallback.Playing();
+			break;
+		case ECallbackPaused:
+			iCallback.Paused();
+			break;
+
+		}
+	}
+
+void CMMFMdaAudioPlayerCallBack::DoCancel()
+	{
+	// Nothing to cancel
+	}
+
+void CAudioPdProperties::Event( MControl* /*aControl*/, TUint aEventType, TAny* aEventObject )
+    {
+    switch (aEventType)
+        {
+        case MStreamControlObserver::KStateChangedEvent:
+            {
+            //MStreamControl* control1 = (MStreamControl*)(aControl);
+            //MErrorCode* evt = (MErrorCode*)aEventObject;
+            MStateChangedEvent* evt = (MStateChangedEvent*)aEventObject;
+            DEBPRN1(_L("CAudioPdProperties::Event:EStateChanged"));
+            iStreamState = evt->GetState();
+            switch(evt->GetState())
+                {
+                case MStreamControl::CLOSED:
+                    iState = EStopped;
+                    iControllerLoaded = EFalse;
+                    DEBPRN1(_L("CAudioPdProperties::Event:EStateChanged[Closed]"));
+                    break;
+                case MStreamControl::INITIALIZED:
+                    DEBPRN3(_L("CAudioPdProperties::Event:EStateChanged[Opened] [%d]StopCalled[%d]"),evt->GetErrorCode(),iStopCalled);
+                    iState = EOpening;
+                    if( evt->GetErrorCode() == KErrEof || iStopCalled)
+                        {
+                        iIsEOFReached = ETrue;
+                        iBytesReadFromFile = 0;
+                        DEBPRN1(_L("CAudioPdProperties::Event() Before File Close "));
+                        delete iFile;
+                        iFile = NULL;
+                        DEBPRN1(_L("CAudioPdProperties::Event() After File Close "));
+                        if(!iStopCalled)
+                            {
+                            iAsyncCallBack->PlayComplete(KErrNone);
+                            }
+                        iStopCalled = EFalse;
+                        }
+                    else if(evt->GetErrorCode() == KErrNone )
+                        {
+
+                        iControllerPtr = static_cast<RMMFController*> (iStreamControl->CustomInterface(KUidSCControllerRef));
+                        iController = *iControllerPtr;
+                        iControllerLoaded = ETrue;
+                        if(iFileSize == -1 || isProtected)
+                            {
+                            iFile->Size(iFileSize);
+                            iMDataBufferSource->SetSize(iFileSize);
+                            }
+                        else
+                            {
+                            SetFileSize(iFileSize);
+                            }
+                        FillSourceBuffers();
+                        iStreamControl->Prime();
+                        }
+                    else
+                        {
+                        switch(evt->GetErrorCode())
+                            {
+                            case KErrNotSupported:
+                            case KErrPermissionDenied:
+                            case KErrCANoRights:
+                                iAsyncCallBack->PlayComplete(evt->GetErrorCode());
+                                iIsEOFReached = ETrue;
+                                delete iFile;
+                                iFile = NULL;
+                                break;
+
+                            case KErrDied:
+                                Stop();
+                                iAsyncCallBack->PlayComplete(evt->GetErrorCode());
+                                iIsEOFReached = ETrue;
+                                delete iFile;
+                                iFile = NULL;
+                                break;
+                            }
+                        }
+                    break;
+                case MStreamControl::PRIMED:
+                    iState = EPrimed;
+                    DEBPRN1(_L("CAudioPdProperties::Event:EStateChanged[Primed]"));
+                    iAsyncCallBack->InitComplete(evt->GetErrorCode(), Duration());
+                    break;
+                case MStreamControl::EXECUTING:
+                    DEBPRN1(_L("CAudioPdProperties::Event:EStateChanged[Playing]"));
+                    iStopCalled = EFalse;
+                    iState = EPlaying;
+                    iAsyncCallBack->PlayingCallback();
+                    break;
+                case MStreamControl::BUFFERING:
+                    DEBPRN1(_L("CAudioPdProperties::Event:EStateChanged[Buffering]"));
+                    if(iBuffering)
+                        {
+                        iStreamControl->Pause();
+                        //iAsyncCallBack->PlayComplete(KErrDied);
+                        iAsyncCallBack->PlayComplete(KErrUnderflow);
+                        }
+                    iState = EBuffering;
+                    break;
+                case MStreamControl::PAUSED:
+                    iState = EPaused;
+                    iAsyncCallBack->PausedCallback();
+                    DEBPRN2(_L("CAudioPdProperties::Event:EStateChanged[Paused] [%d]"),evt->GetErrorCode());
+                    break;
+                default:
+                    break;
+                };
+            }
+            break;
+
+
+        case MSourceControlObserver::KBufferProcessedEvent:
+            {
+            MBufferProcessedEvent* evt = (MBufferProcessedEvent*)aEventObject;
+            DEBPRN3(_L("CAudioPdProperties::Event:EBufferProcessed[AudioBuffer[0x%x]Reason[%d]]") , evt->GetDataBuffer(), evt->GetErrorCode() );
+            TInt index = iBuffers.Find( evt->GetDataBuffer() );
+            if ( index >= 0 )
+                {
+                iAvailable[index] = ETrue;
+                }
+
+            if(!iBufferEmptiedEventAO->IsActive() && !iIsEOFReached)
+                {
+                iBufferEmptiedEventAO->SetActive();
+                iBufferEmptiedEventAO->SetBuffer(evt->GetDataBuffer());
+                }
+
+            if(iBufferEmptiedEventAO->IsActive())
+                {
+                TRequestStatus* status = &(iBufferEmptiedEventAO->iStatus);
+                User::RequestComplete(status,evt->GetErrorCode());
+                }
+            }
+            break;
+
+        case MSourceControlObserver::KBitRateChangedEvent:
+            {
+            //TUint rate = 0;
+            //DEBPRN2(_L("CAudioPdProperties::Event:BitRateChanged[%d]"),rate);
+            }
+            break;
+
+        case MStreamControlObserver::KDurationChangedEvent:
+            break;
+        default:
+            break;
+        };
+    }
+
+TInt CAudioPdProperties::ReadFromFileAndWriteToStream(TInt aIndex)
+    {
+    MDataBuffer* buffer = iBuffers[aIndex];
+    buffer->GetBufferPtr().FillZ();
+    // Read data into CAudioBuffer
+    TInt filePos = 0;
+    iFile->Seek(ESeekCurrent,filePos);
+
+    DEBPRN4(_L("CAudioPdProperties::ReadFromFileAndWriteToStream \
+    BytesDL[%d] filePos[%d] MaxLength[%d]"),iBytesDownloaded,filePos, buffer->GetBufferPtr().MaxLength());
+    TInt err1(KErrNone);
+    if(iBytesDownloaded - filePos > buffer->GetBufferPtr().MaxLength() || iDownloadComplete)
+        {
+        err1 = iFile->Read( buffer->GetBufferPtr(),  buffer->GetBufferPtr().MaxLength());
+        }
+    else
+        {
+        iBuffering =  ETrue;
+        return KErrUnderflow;
+        }
+    DEBPRN2(_L("CAudioPdProperties::ReadFromFileAndWriteToStream File Read Error [%d]"),err1);
+    User::LeaveIfError(err1);
+    iBytesReadFromFile += buffer->GetBufferPtr().Length();
+
+    DEBPRN3(_L("CAudioPdProperties::ReadFromFileAndWriteToStream\
+    bufferReadLen[%d] Buf Len[%d]"),buffer->GetBufferPtr().Length(),buffer->GetBufferPtr().MaxLength() );
+
+    if (buffer->GetBufferPtr().Length() < buffer->GetBufferPtr().MaxLength() && (iBytesReadFromFile < iFileSize))
+        {
+
+        iBytesReadFromFile = iBytesReadFromFile - buffer->GetBufferPtr().Length();
+        TInt seekOffset = -(buffer->GetBufferPtr().Length());
+        iFile->Seek( ESeekCurrent, seekOffset );
+        iBuffering =  ETrue;
+        DEBPRN3(_L("CAudioPdProperties::ReadFromFileAndWriteToStream\
+        BytesReadFromFile[%d] seekOffset[%d]"),iBytesReadFromFile,seekOffset );
+        return KErrOverflow;
+        }
+    else if(buffer->GetBufferPtr().Length() < buffer->GetBufferPtr().MaxLength())
+        {
+        buffer->SetLastBuffer( ETrue );
+        iIsEOFReached = ETrue;
+        //iFile.Close();
+        }
+    else
+        {
+        buffer->SetLastBuffer( EFalse );
+        }
+
+    // Write data into iMDataBufferSource
+    DEBPRN4(_L("CAudioPdProperties::ReadFromFileAndWriteToStream\
+    [AudioBuffer[0x%x]FileSize[%d]BytesRead[%d]]") , buffer, iFileSize, iBytesReadFromFile );
+
+    TInt err(KErrNone);
+    err = iMDataBufferSource->WriteData( *buffer );
+
+    if (err == KErrNone)
+        {
+        iAvailable[aIndex] = EFalse;
+        }
+    else if ( err == KErrOverflow )
+        {
+        // There isn't enough memory in the player to buffer the data.
+        // reset the file pos
+        TInt size = -(buffer->GetBufferPtr().Length());
+        iFile->Seek( ESeekCurrent, size );
+        iBytesReadFromFile -= size;
+        }
+    return err;
+    }
+
+
+void CAudioPdProperties::BufferEmptiedBySource()
+    {
+    TInt i = 0;
+    if (!iIsEOFReached &&
+        ( iBufferEmptiedEventAO->Error() == KErrNone) )
+        {
+
+        for(i=0; i < iAvailable.Count(); i++)
+            {
+            if(iAvailable[i])
+                break;
+            }
+
+        if(!iBuffering)
+            {
+            TInt err = ReadFromFileAndWriteToStream( i );
+            if ( err != KErrNone)
+                {
+                // Do Something..
+                }
+            }
+        }
+    else if (iBufferEmptiedEventAO->Error() == KErrCancel)
+        {
+
+        /*if(!iStopCalled)
+            {
+            MDataBuffer* buffer = iBufferEmptiedEventAO->GetBuffer();
+            iBytesReadFromFile = iBytesReadFromFile - buffer->GetBufferPtr().Length();
+            TInt seekOffset = -(buffer->GetBufferPtr().Length());
+            iFile.Seek( ESeekCurrent, seekOffset );
+
+            TInt filePos = 0;
+            iFile.Seek(ESeekCurrent,filePos);
+
+            DEBPRN4(_L("CAudioPdProperties::BufferEmptiedBySource() \
+            BytesReadFromFile[%d] filePos[%d] MaxLength[%d]"),iBytesReadFromFile,filePos, buffer->GetBufferPtr().MaxLength());
+            }*/
+        }
+    }
+
+void CAudioPdProperties::FillSourceBuffers()
+    {
+    DEBPRN1(_L("CAudioPdProperties::FillSourceBuffers() enter"));
+    TInt index = iAvailable.Find(ETrue);
+    DEBPRN2(_L("CAudioPdProperties::FillSourceBuffers() index[%d]"),index);
+    while ( (index != KErrNotFound ) && (!iIsEOFReached))
+        {
+        TInt err = ReadFromFileAndWriteToStream( index );
+        if(err)
+            {
+            iBuffering = ETrue;
+            break;
+            }
+        else
+            {
+            iBuffering = EFalse;
+            }
+        // Exit the loop if file EOF.
+        if ( !iIsEOFReached )
+            {
+            // Get the next free buffer
+            index = iAvailable.Find(ETrue);
+            }
+        }
+    DEBPRN2(_L("CAudioPdProperties::FillSourceBuffers() exit Buffering[%d]"), iBuffering);
+    }
+
+TInt CAudioPdProperties::ExtractDRMRestrictionsL()
+    {
+    DEBPRN1(_L("CAudioPdProperties::ExtractDRMRestrictionsL() enter"));
+    TInt status(KErrNone);
+
+    ContentAccess::CContent* content(NULL);
+	ContentAccess::CData* data(NULL);
+	CDRMConfigIntfc* drmConfigIntfc(NULL);
+
+
+    if(iFileName)
+        {
+	    content = CContent::NewL(*iFileName, EContentShareReadWrite) ;
+        }
+    else
+        {
+        content = CContent::NewL(iFileHandle);
+        }
+	data = content->OpenContentL(EPeek,EContentShareReadWrite);
+
+	status = data->GetAttribute(EIsProtected, isProtected);
+
+	if(!isProtected)
+	    {
+        DEBPRN2(_L("CAudioPdProperties::ExtractDRMRestrictionsL() isProtected[%d]"),isProtected);
+        delete data;
+        delete content;
+        return status;
+	    }
+
+    TInt value = 0;
+    content->GetAttribute(EDrmAllowedOutputs,value);
+    TPtr8 des = iMimeType->Des();
+    data->GetMimeTypeL(des);
+
+    TAny* intfc(NULL);
+    TVersion ver(KDRMConfigIntfcMajorVer1, KDRMConfigIntfcMinorVer1, KDRMConfigIntfcBuildVer1);
+    status = iMDataBufferSource->GetInterface(KDRMConfigIntfc,
+                                                  ver,
+                                                  intfc);
+    if (status == KErrNone)
+        {
+        drmConfigIntfc = (CDRMConfigIntfc*)intfc;
+        }
+    else
+        {
+        delete data;
+        delete content;
+        return status;
+        }
+
+    if(value & EDrmAllowAudioAnalog)
+        {
+        drmConfigIntfc->AppendAllowedOutputDevice(EAudioAllowAnalog);
+        }
+    if(value & EDrmAllowAudioFmTransmitter)
+        {
+        drmConfigIntfc->AppendAllowedOutputDevice(EAudioAllowFMTx);
+        }
+    if(value & EDrmAllowAudioBluetooth)
+        {
+        drmConfigIntfc->AppendAllowedOutputDevice(EAudioAllowBTA2DP);
+        drmConfigIntfc->AppendAllowedOutputDevice(EAudioAllowBTHFPHSP);
+        }
+    if(value & EDrmAllowAudioUplink)
+        {
+        drmConfigIntfc->AppendAllowedOutputDevice(EAudioAllowUplink);
+        }
+    if(value & EDrmAllowVideoAnalog)
+        {
+        drmConfigIntfc->AppendAllowedOutputDevice(EVideoAllowAnalog);
+        }
+    if(value & EDrmAllowVideoMacroVision)
+        {
+        drmConfigIntfc->AppendAllowedOutputDevice(EVideoAllowMacroVision);
+        }
+
+    if(value == EDrmAllowAll)
+        {
+        drmConfigIntfc->AppendAllowedOutputDevice(EAudioAllowAll);
+        }
+    /**
+	* RIM CR 417-7642: HDMI with HDCP to Resctricted Audio Output API
+	* Due to addition of new ENUMs to CRestrictedAudioOutput::TAllowedOutputPreference for HDMI and HDCP
+	* EAllowAudioHDMI and EAllowAudioHdmiHdcpRequired,the same is matched by adding
+	* EAudioAllowHDMI and EAudioAllowHdmiHdcpRequired. These ENUM values are matched for the values from drmagents.h
+	*/
+
+    if(value == EDrmAllowAudioHdmi)
+        {
+        drmConfigIntfc->AppendAllowedOutputDevice(EAudioAllowHDMI);
+        }
+    if(value == EDrmAllowAudioHdmiHdcpRequired)
+        {
+        drmConfigIntfc->AppendAllowedOutputDevice(EAudioAllowHdmiHdcpRequired);
+        }
+
+    delete data;
+    delete content;
+    delete drmConfigIntfc;
+
+    return status;
+
+    }
+
+TInt CAudioPdProperties::ReOpenCAF()
+    {
+    TInt status(KErrNone);
+    DEBPRN1(_L("CAudioPdProperties::ReOpenCAF"));
+
+    // Read data into CAudioBuffer
+    TInt filePos = 0;
+    iFile->Seek(ESeekCurrent,filePos);
+
+    delete iFile;
+    iFile = NULL;
+
+    if(iFileName)
+        {
+       	iFile =  CContentFile::NewL(iFs,*iFileName, KNullDesC, EFileShareAny,EFalse);
+        }
+    else
+        {
+        iFile =  CContentFile::NewL(iFileHandle, KNullDesC ,EFalse);
+        }
+
+    if(iFile)
+        {
+        status = iFile->Seek(ESeekStart,filePos);
+        if(isProtected)
+            {
+            iFile->Size(iFileSize);
+            SetFileSize(iFileSize);
+            }
+        }
+
+    DEBPRN3(_L("CAudioPdProperties::ReOpenCAF Exit status[%d] iFileSize[%d]"),status,iFileSize);
+    return status;
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/EMCPdPlayUtility.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,134 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+
+#ifndef __CAUDIOPDPLAYUTILITY_H__
+#define __CAUDIOPDPLAYUTILITY_H__
+
+#include <e32std.h>
+#include <e32base.h>
+//#include <mdaaudiosampleplayer.h>
+#include <mmf/common/mmfcontroller.h>
+#include <mmf/server/mmffile.h>
+#include <mmf/server/mmfdes.h>
+#include <mmfcontrollerimplementationuids.hrh>
+#include <mmf/common/mmfstandardcustomcommands.h>
+#include <mmf/common/mmfdrmcustomcommands.h>
+#include "mmfclientutility.h"
+
+#include <mmf/common/mmcaf.h>
+
+#include <downloadmgrclient.h>
+#include "MAudioPdPlayUtility.h"
+#include "MProgressiveDownloadUtility.h"
+
+
+class CAudioPdProperties;
+
+/**
+Concrete implementation of the CAudioPdPlayUtility API.
+@see CAudioPdPlayUtility
+*/
+
+class CAudioPdPlayUtility: public CBase,
+                           public MAudioPdPlayUtility
+                           //public MAudioPdPlayUtilityCallback
+	{
+
+public:
+
+
+
+	static CAudioPdPlayUtility* NewL(MAudioPdPlayUtilityCallback& aCallback);
+
+	~CAudioPdPlayUtility();
+
+	//For Download Status
+     void HandleDownloadEventL(TUint aTransactionID,
+                               TBrCtlDownloadEvent aEvent,
+                               TUint aValue);
+
+	 //For Audio control
+	void Play();
+	void Stop();
+	TInt Pause();
+	void SetVolume(TInt aVolume);
+	void SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence);
+	void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration);
+	const TTimeIntervalMicroSeconds& Duration();
+	TInt MaxVolume();
+	void Close();
+	TInt GetPosition(TTimeIntervalMicroSeconds& aPosition);
+	void SetPosition(const TTimeIntervalMicroSeconds& aPosition);
+
+	TInt SetPriority(TInt aPriority, TMdaPriorityPreference aPref);
+	TInt GetVolume(TInt& aVolume);
+	TInt GetNumberOfMetaDataEntries(TInt& aNumEntries);
+	CMMFMetaDataEntry* GetMetaDataEntryL(TInt aMetaDataIndex);
+	TInt SetPlayWindow(const TTimeIntervalMicroSeconds& aStart,
+								const TTimeIntervalMicroSeconds& aEnd);
+	TInt ClearPlayWindow();
+	TInt SetBalance(TInt aBalance = KMMFBalanceCenter);
+	TInt GetBalance(TInt& aBalance);
+	TInt GetBitRate(TUint& aBitRate);
+
+	void RegisterForAudioLoadingNotification(MAudioLoadingObserver& aCallback);
+	void GetAudioLoadingProgressL(TInt& aPercentageProgress);
+	const CMMFControllerImplementationInformation& ControllerImplementationInformationL();
+
+	TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom);
+	TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2);
+	void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus);
+	void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus);
+
+
+
+	MMMFDRMCustomCommand* GetDRMCustomCommand();
+
+
+	void OpenFileL(const TDesC& aFileName);
+
+
+	void OpenFileL(const RFile& aFile);
+
+	void DlCompleteOpenFileL(const TDesC& aFileName);
+
+	//Source CustomCommands
+	TInt GetFilePosition(TInt& aFilePosition);
+	TInt SetFileSize(TInt aFileSize);
+	TInt SetBytesDownloaded(TInt aBytesDownloaded, TBool aDownloadComplete);
+
+	TInt CheckAudioPlayerState();
+
+
+protected:
+
+private:
+
+
+	CAudioPdPlayUtility();
+	void ConstructL();
+
+
+
+
+    CAudioPdProperties* iProperties;
+
+
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/EMCPdProperties.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,299 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+
+#ifndef __EMCPDPROPERTIES_H__
+#define __EMCPDPROPERTIES_H__
+
+#include <e32std.h>
+#include <e32base.h>
+#include <f32file.h>
+#include "MAudioPlayUtility.h"
+#include "EMCPdPlayUtility.h"
+
+#include "mmfclientutility.h"
+
+#include <mmf/common/mmcaf.h>
+
+#include <StreamControl.h>
+#include <ControlObserver.h>
+#include <Events.h>
+#include <DataBufferSource.h>
+#include <DataBuffer.h>
+#include <MMControlFactory.h>
+#include <SinkControl.h>
+#include <MimeTypes.h>
+#include <VolumeControl.h>
+#include <StreamControlObserver.h>
+#include <SourceControlObserver.h>
+
+#include "BufferEmptiedEventAO.h"
+#include "ContentFile.h"
+
+using namespace multimedia;
+
+using multimedia::MStreamControl;
+using multimedia::MControlObserver;
+using multimedia::MDataBufferSource;
+using multimedia::MDataBuffer;
+using multimedia::MControl;
+using multimedia::CMultimediaFactory;
+using multimedia::MSinkControl;
+using multimedia::MVolumeControl;
+using multimedia::MSourceControlObserver;
+using multimedia::MStreamControlObserver;
+
+//static const TUid KUidMmfAudioController = {KMmfUidControllerAudio};
+
+
+/**
+Mixin class to allow notification that the timed silence has finished.
+*/
+class MRepeatTrailingSilenceTimerObs
+	{
+public:
+	virtual void RepeatTrailingSilenceTimerComplete() = 0;
+	};
+
+/**
+CTimer-based active object that waits the requested time before notifying its observer.
+*/
+class CRepeatTrailingSilenceTimer : public CTimer
+	{
+public:
+	static CRepeatTrailingSilenceTimer* NewL(MRepeatTrailingSilenceTimerObs& aObs);
+	void RunL();
+private:
+	CRepeatTrailingSilenceTimer(MRepeatTrailingSilenceTimerObs& aObs);
+private:
+	MRepeatTrailingSilenceTimerObs& iObs;
+	};
+
+/**
+Active object utility class to allow the callback to be called asynchronously.
+This should help prevent re-entrant code in clients of the mediaframework.
+*/
+class CMMFMdaAudioPlayerCallBack : public CActive
+	{
+public:
+	enum TCallbackState {
+		ECallbackInitComplete,
+		ECallbackPlayComplete,
+		ECallbackPlaying,
+		ECallbackPaused
+		};
+
+
+public:
+	static CMMFMdaAudioPlayerCallBack* NewL(MAudioPdPlayUtilityCallback& aCallback);
+	~CMMFMdaAudioPlayerCallBack();
+	void InitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
+	void PlayComplete(TInt aError);
+	void PlayingCallback();
+	void PausedCallback();
+private:
+	CMMFMdaAudioPlayerCallBack(MAudioPdPlayUtilityCallback& aCallback);
+	void RunL();
+	void DoCancel();
+private:
+	MAudioPdPlayUtilityCallback& iCallback;
+	TInt iError;
+	TTimeIntervalMicroSeconds iDuration;
+	TCallbackState iState;
+	};
+
+
+
+/**
+Concrete implementation of the CAudioPdPlayUtility API.
+@see CAudioPdPlayUtility
+*/
+
+class CAudioPdProperties: public CBase,
+                            public MControlObserver,
+                            public MBufferEmptiedObserver,
+                            public MMMFDRMCustomCommand
+	{
+
+public:
+
+	enum TMMFAudioPlayerState
+		{
+		EStopped,
+		EOpening,
+		EPaused,
+		EPlaying,
+		EBuffering,
+		EPrimed
+		};
+
+	static CAudioPdProperties* NewL(MAudioPdPlayUtilityCallback& aCallback);
+	static CAudioPdProperties* NewLC(MAudioPdPlayUtilityCallback& aCallback);
+
+	~CAudioPdProperties();
+
+
+   //For Download Status
+    void HandleDownloadEventL(TUint aTransactionID,
+                              TBrCtlDownloadEvent aEvent,
+                              TUint aValue);
+
+
+	 //For Audio control
+	void Play();
+	void Stop();
+	TInt Pause();
+	void SetVolume(TInt aVolume);
+	void SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence);
+	void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration);
+	const TTimeIntervalMicroSeconds& Duration();
+	TInt MaxVolume();
+	void Close();
+	TInt GetPosition(TTimeIntervalMicroSeconds& aPosition);
+	void SetPosition(const TTimeIntervalMicroSeconds& aPosition);
+
+	TInt SetPriority(TInt aPriority, TMdaPriorityPreference aPref);
+	TInt GetVolume(TInt& aVolume);
+	TInt GetNumberOfMetaDataEntries(TInt& aNumEntries);
+	CMMFMetaDataEntry* GetMetaDataEntryL(TInt aMetaDataIndex);
+	TInt SetPlayWindow(const TTimeIntervalMicroSeconds& aStart,
+								const TTimeIntervalMicroSeconds& aEnd);
+	TInt ClearPlayWindow();
+	TInt SetBalance(TInt aBalance = KMMFBalanceCenter);
+	TInt GetBalance(TInt& aBalance);
+	TInt GetBitRate(TUint& aBitRate);
+
+	void RegisterForAudioLoadingNotification(MAudioLoadingObserver& aCallback);
+	void GetAudioLoadingProgressL(TInt& aPercentageProgress);
+	const CMMFControllerImplementationInformation& ControllerImplementationInformationL();
+
+	TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom);
+	TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2);
+	void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus);
+	void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus);
+
+
+	MMMFDRMCustomCommand* GetDRMCustomCommand();
+
+	void OpenFileL(const TDesC& aFileName);
+	void OpenFileL(const RFile& aFile);
+
+    void DlCompleteOpenFileL(const TDesC& aFileName);
+
+	TInt GetFilePosition(TInt& aFilePosition);
+	TInt SetFileSize(TInt aFileSize);
+	TInt SetBytesDownloaded(TInt aBytesDownloaded, TBool isDownloadComplete);
+
+	TInt CheckAudioPlayerState();
+
+    TInt DisableAutomaticIntent(TBool aDisableAutoIntent);
+    TInt ExecuteIntent(ContentAccess::TIntent aIntent);
+    TInt EvaluateIntent(ContentAccess::TIntent aIntent);
+    TInt SetAgentProperty(ContentAccess::TAgentProperty aProperty, TInt aValue);
+
+private:
+
+    void Event( MControl* aControl, TUint aEventType, TAny* aEventObject );
+    void BufferEmptiedBySource();
+    void FillSourceBuffers();
+    void CreateAudioBuffersL();
+    void DetermineFNMimeType(const TDesC& aFileName, TDes8& aMimeType);
+    void DetermineFHMimeType(const RFile& aFile, TDes8& aMimeType);
+    TInt ReadFromFileAndWriteToStream(TInt aIndex)    ;
+    TInt ExtractDRMRestrictionsL();
+    TInt ReOpenCAF();
+
+	CAudioPdProperties(/*MMdaAudioPlayerCallback*/MAudioPdPlayUtilityCallback& aCallback);
+	void ConstructL(MAudioPdPlayUtilityCallback& aCallback);
+
+private:
+
+	//MAudioPdPlayUtilityCallback* iAudioPdPlayCallback;
+
+	// last play window command
+	enum TPlayWindowCommand
+		{
+		ENone,
+		ESet,
+		EClear
+		};
+
+	MAudioPdPlayUtilityCallback& iCallback;
+	CMMFMdaAudioPlayerCallBack* iAsyncCallBack;
+
+	MAudioLoadingObserver* iLoadingObserver;
+	RMMFController iController;
+	RMMFController* iControllerPtr;
+	TMMFAudioPlayerState iState;
+	TTimeIntervalMicroSeconds iDuration; // Needed because of api "Duration()" that returns a reference
+	TMMFPrioritySettings iPrioritySettings;
+
+	TInt iNumberOfTimesPlayed;
+	TInt iNumberOfTimesToRepeat;
+	TTimeIntervalMicroSeconds iTrailingSilence;
+
+	// Custom command handlers
+	RMMFAudioPlayDeviceCustomCommands iAudioPlayDeviceCommands;
+	RMMFAudioPlayControllerCustomCommands iAudioPlayControllerCommands;
+	RMMFDRMCustomCommands iDRMCustomCommands;
+
+	// Current playback time so we can resume from where we were stopped
+	TTimeIntervalMicroSeconds iPosition;
+
+	// Play window start and end times and whether it has been set
+	TTimeIntervalMicroSeconds iPlayStart;
+	TTimeIntervalMicroSeconds iPlayEnd;
+	TPlayWindowCommand iPlayWindowSet;
+	//RArray<TUid> iMediaIds;
+
+	CMMFControllerImplementationInformation* iControllerImplementationInformation;
+	TUid iControllerUid;
+
+
+    MStreamControl* iStreamControl;
+    MDataBufferSource* iMDataBufferSource;
+    MSinkControl* iMAudioSink;
+    MVolumeControl* iMVolumeControl;
+
+    RFs             iFs;
+    CContentFile*    iFile;
+    RFile               iFileHandle;
+
+    RPointerArray<MDataBuffer> iBuffers;
+    RArray<TInt> iAvailable;
+    TBool        iIsEOFReached;
+    TInt         iBytesReadFromFile;
+    TInt         iFileSizeInBytes;
+    CMultimediaFactory* iFactory;
+    HBufC8* iMimeType;
+    MStreamControl::TStreamState iStreamState;
+    CBufferEmptiedEventAO* iBufferEmptiedEventAO;
+    TInt iFileSize;
+    TBool iBuffering;
+    TInt iBytesDownloaded;
+    TBool iStopCalled;
+    HBufC* iFileName;
+    TBool isProtected;
+    TBool iDisableAutoIntent;
+    TBool iMetaDataRead;
+    // Metadata entries, if supported
+    RPointerArray<CMMFMetaDataEntry> iMetaDataEntries;
+    TBool iControllerLoaded;
+    TBool iDownloadComplete;
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/PDProperties.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,446 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+
+
+#include "PdProperties.h"
+
+//Percentage (increments) of the file [TBD]
+//that needs to be downloaded/buffered before playing begins
+//Should try at 25%,50%,75%,100%
+const TInt KPercentageToBufferIncrement =25;
+
+
+//Percentage of the file needed for header [TBD]
+//const TInt KPercentageNeededForHeader = 33;
+const TInt KBytesNeededForHeader = 200000;//102400;
+
+//const TInt KMinFileSize = 100000;
+
+//Max attempts to openfile
+const TInt KRetryOpen = 1;
+
+
+//===============================================================
+// CPdProperties implementation begins
+//
+//===============================================================
+EXPORT_C CPdProperties* CPdProperties::NewL()
+    {
+    CPdProperties* self = new(ELeave) CPdProperties();
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+EXPORT_C CPdProperties* CPdProperties::NewLC()
+    {
+    CPdProperties* self = new (ELeave) CPdProperties();
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    return self;
+    }
+
+EXPORT_C CPdProperties::~CPdProperties()
+    {
+    delete iFileName;
+
+    }
+
+void CPdProperties::ConstructL()
+    {
+
+    iFileOpened        = EFalse;
+    iAttemptsToOpen    = 0;
+    iState             = EStopped;
+    iPercentageToBuffer= KPercentageToBufferIncrement;
+    iDownloadCompleted = EFalse;
+    iFileBytePosition  = 0;
+    iTimePosition      = 0;
+    iBytesDownloaded   = 0;
+    iOpenInProgress    = EFalse;
+
+    }
+
+CPdProperties::CPdProperties()
+    {
+
+    }
+
+EXPORT_C CAudioPdPlayUtility* CPdProperties::OpenL(const TDesC& aFileName,
+                                          MAudioPdPlayUtilityCallback& aCallback)
+    {
+    iUseFileHandle = EFalse;
+    iFileName = HBufC::NewL ( aFileName.Length() );
+    iFileName->Des().Copy( aFileName );
+
+    iCallback = &aCallback;
+
+    iAudioPdPlayUtility = CAudioPdPlayUtility::NewL(*this);
+
+    return iAudioPdPlayUtility;
+    }
+
+EXPORT_C CAudioPdPlayUtility* CPdProperties::OpenL(const RFile& aFileHandle,
+                                          MAudioPdPlayUtilityCallback& aCallback)
+    {
+    iUseFileHandle = ETrue;
+    iFileHandle.Duplicate(aFileHandle);
+
+    iCallback = &aCallback;
+
+    iAudioPdPlayUtility = CAudioPdPlayUtility::NewL(*this);
+
+
+    return iAudioPdPlayUtility;
+    }
+
+
+void CPdProperties::HandleDownloadEventL(TUint /*aTransactionID*/,
+                                         TBrCtlDownloadEvent aEvent,
+                                         TUint aValue)
+    {
+/*
+Event                    Value (optional)       Comment
+EDownloadEventStarted     Total Bytes           Size of content as specified in header.
+EDownloadEventCompleted   Total Bytes Received  Total number received should be same as specified at start.
+EDownloadEventProgress    Bytes Received        Number of bytes received so far. May be used to determine % received for progress bar. This will be sent multiple times. Frequency to be determined. Perhaps on every chunk received.
+EDownloadEventCanceled    N/A                   Cancelled by Download Manager
+EDownloadEventError       N/A                   Cancelled by BrowserEngine due to network/http error.
+EDownloadEventPaused,                           aValue is the size downloaded so far
+EDownloadEventResumed,                          aValue is the size downloaded
+EDownloadEventPausable                          aValue = true when it is pausable
+*/
+
+    switch (aEvent)
+        {
+        case EDownloadEventStarted: //Started
+           {
+           if(aValue)
+             iFileSize = aValue;
+           break;
+           }
+
+        case EDownloadEventCompleted: //Completed
+           {
+           iDownloadCompleted = ETrue;
+           iBytesDownloaded = aValue;
+
+           if((!iFileOpened) && (!iOpenInProgress))
+              {
+              //Used for when metadata is at the end of file
+              //or when the file is in cache and already downloaded.
+              iAudioPdPlayUtility->SetFileSize(iFileSize);
+              iAudioPdPlayUtility->SetBytesDownloaded(iBytesDownloaded, iDownloadCompleted);
+              iAudioPdPlayUtility->DlCompleteOpenFileL(iFileName->Des());
+              iOpenInProgress = ETrue;
+              iAttemptsToOpen++;
+              }
+           break;
+           }
+
+        case EDownloadEventProgress: //Progress
+           {
+           if(aValue)
+             iBytesDownloaded = aValue;
+           break;
+           }
+        case EDownloadEventCanceled: //Cancelled
+        case EDownloadEventError: //Error
+            {
+            iBytesDownloaded = 0;
+            iFileSize = 0;
+            break;
+            }
+
+        case EDownloadEventPaused:   //Paused
+        case EDownloadEventResumed:  //Resumed
+        case EDownloadEventPausable: //Pausable
+           //do nothing
+        break;
+
+        default:
+        break;
+
+        } // switch(aEvent)
+
+
+    #if _DEBUG
+       RDebug::Print(_L("CPdProperties::HandleDownloadEventL"));
+       RDebug::Print(_L("file byte position     %d"),iFileBytePosition);
+       RDebug::Print(_L("bytes downloaded       %d"),iBytesDownloaded);
+       RDebug::Print(_L("file size              %d"),iFileSize);
+       RDebug::Print(_L("percentage to buffer   %d"),iPercentageToBuffer);
+       RDebug::Print(_L("download state         %d"),aEvent);
+    #endif
+
+    HandleDownloadUpdateL();
+    }
+
+TInt CPdProperties::CalculatePercentageDownloaded()
+    {
+    TInt percentageDone = 0;
+    if((iFileSize>0) && (iBytesDownloaded>0))
+       percentageDone= ((100*iBytesDownloaded)/iFileSize);
+
+    return percentageDone;
+    }
+
+void CPdProperties::SavePosition()
+    {
+    #if _DEBUG
+      RDebug::Print(_L("CPdProperties::SavePosition"));
+    #endif
+    TTimeIntervalMicroSeconds timeposition;
+    if(iState==EPlaying)
+        {
+        iAudioPdPlayUtility->GetFilePosition(iFileBytePosition);
+
+        iAudioPdPlayUtility->GetPosition(timeposition);
+        if(timeposition >iTimePosition)
+           iTimePosition = timeposition;
+        }
+
+    #if _DEBUG
+      RDebug::Print(_L("CPdProperties::SavePosition iTimePosition %d"),I64INT(iTimePosition.Int64()));
+    #endif
+
+    }
+
+void CPdProperties::HandleDownloadUpdateL()
+    {
+    TInt percentageDone=0;
+
+    percentageDone = CalculatePercentageDownloaded();
+
+    #if _DEBUG
+        RDebug::Print(_L("iFileOpened %d "),iFileOpened);
+        RDebug::Print(_L("iState  %d "),iState);
+        RDebug::Print(_L("percentage downloaded %d "),percentageDone);
+        RDebug::Print(_L("iBytesDownloaded %d "),iBytesDownloaded);
+        RDebug::Print(_L("iAttemptsToOpen  %d "),iAttemptsToOpen);
+        RDebug::Print(_L("iOpenInProgress %d "),iOpenInProgress);
+        RDebug::Print(_L("iFileSize %d "),iFileSize);
+    #endif
+    //if((percentageDone>KPercentageNeededForHeader)&&
+    if((iBytesDownloaded>KBytesNeededForHeader)&&
+      (!iFileOpened) && iAttemptsToOpen<KRetryOpen && (!iOpenInProgress))
+        {
+        TInt err(KErrNone);
+        if(iUseFileHandle)
+            {
+#ifdef RD_PD_FOR_AUDIO_CONTENT_VIA_HELIX_ENGINE
+            iAudioPdPlayUtility->SetFileSize(iFileSize);
+#endif
+            iAudioPdPlayUtility->OpenFileL(iFileHandle);
+            }
+        else
+            {
+#ifdef RD_PD_FOR_AUDIO_CONTENT_VIA_HELIX_ENGINE
+            iAudioPdPlayUtility->SetFileSize(iFileSize);
+#endif
+            TRAP(err,iAudioPdPlayUtility->OpenFileL(iFileName->Des()));
+            }
+
+        if(err != KErrNone)
+            {
+            MapcInitComplete(err,0);
+            return;
+            }
+        iOpenInProgress = ETrue;
+        iAttemptsToOpen++;
+
+        }
+
+    //Pass bytes downloaded to ProgressiveDownload DataSource
+    iAudioPdPlayUtility->SetBytesDownloaded(iBytesDownloaded, iDownloadCompleted);
+
+    if(iFileOpened)
+        {//if the file is opened/playing save the
+        //file byte position and the time position
+        SavePosition();
+        switch (iState)
+            {
+            case EPlaying:
+                {
+                if((iFileBytePosition >=iBytesDownloaded) &&
+                   (percentageDone<=100))
+                    {
+                    //Should have paused, but is causing problems
+                    //with DRM1 FL
+                    #if _DEBUG
+                      RDebug::Print(_L("Should have paused"));
+                    #endif
+                    //StartPaused();
+                    }
+                break;
+                }
+            // Try to automatically resume only if we are stopped due to lac
+            // of data (KErrUnderflow)
+            //case EPaused:
+            //case EStopped:
+            case EStoppedAutoResume:
+                {
+                //if stopped attempt to play at 25%,50%,75%,100%
+                if( percentageDone >= iPercentageToBuffer )
+                    {
+                    StartPlaying();
+                    }
+                break;
+                }
+            default:
+                break;
+            }//switch iState
+
+        if( percentageDone > iPercentageToBuffer )
+            {
+            iPercentageToBuffer += KPercentageToBufferIncrement;
+            }
+        }//iFileOpened
+
+    }
+
+/*
+void CPdProperties::StartPaused()
+    {
+    #if _DEBUG
+       RDebug::Print(_L("ProgressiveDownload audio paused"));
+    #endif
+    iState = EPaused;
+    iAudioPdPlayUtility->Pause(); //Audio Pause
+    //iCallback->Paused();
+    }
+*/
+
+void CPdProperties::StartPlaying()
+    {
+    #if _DEBUG
+       RDebug::Print(_L("ProgressiveDownload audio play"));
+    #endif
+
+    //Will disable automatic play if manual play was started.
+    TInt state = iAudioPdPlayUtility->CheckAudioPlayerState();
+
+    if(iState!=EPlaying)
+        {
+        iState = EPlaying;
+
+        TTimeIntervalMicroSeconds timeposition(0);
+        TInt error = iAudioPdPlayUtility->GetPosition(timeposition);
+
+    #if _DEBUG
+       RDebug::Print(_L("ProgressiveDownload SetPosition SavePos[%d] CurPos[%d]"), I64INT(iTimePosition.Int64()),I64INT(timeposition.Int64()));
+    #endif
+
+        if(timeposition != iTimePosition)
+        {
+        iAudioPdPlayUtility->SetPosition(iTimePosition);
+        }
+
+        iAudioPdPlayUtility->Play();
+        //iCallback->Playing();
+        }
+    }
+
+//From MMdaAudioPlayerCallback
+void CPdProperties::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration)
+    {
+
+#if _DEBUG
+   RDebug::Print(_L("ProgressiveDownload file opened err =%d"),aError);
+#endif
+    //iError = aError;
+    iOpenInProgress = EFalse;
+
+    iState = EStopped;
+
+    if( aError == KErrNone )
+        {
+        if( aDuration > 0 )
+            {
+            iFileOpened = ETrue;
+            }
+        else
+            {
+#if _DEBUG
+            RDebug::Print(_L("ProgressiveDownload - Open failed - could not calculate duration"));
+            RDebug::Print(_L("metadata is at the end of file PD not supported"));
+#endif
+            iFileOpened = EFalse;
+            return;
+            }
+
+        if( iFileSize > 0 )
+            {
+            TInt err = iAudioPdPlayUtility->SetFileSize(iFileSize);
+#if _DEBUG
+            RDebug::Print(_L("CPdProperties::SetFileSize=%d err %d"),iFileSize,err);
+#endif
+            }
+        // After init is complete successfully, playback is to be started
+        // automatically.
+        iState = EStoppedAutoResume;
+        }
+    iCallback->MapcInitComplete(aError,aDuration);
+
+    //Last chance to automatically play a file with very fast download
+    //or when the file is in cache and there are only a couple of download events.
+    if ( (iDownloadCompleted) && (aError == KErrNone ) )
+        {
+        StartPlaying();
+        }
+    }
+
+void CPdProperties::MapcPlayComplete(TInt aError)
+    {
+#if _DEBUG
+    RDebug::Print(_L("ProgressiveDownload play complete err=%d"),aError);
+#endif
+    //iError = aError;
+    // Playback stopped due to lac of data (KErrUnderflow)
+    if( aError == KErrUnderflow )
+        {// By now, Controller would've gone to STOPPED state and would've reset
+        // play position to zero. There is no point in querying position here.
+        TTimeIntervalMicroSeconds timeposition;
+        TInt error = iAudioPdPlayUtility->GetPosition(timeposition);
+        if(timeposition > iTimePosition)
+            {
+            iTimePosition = timeposition;
+            }
+#if _DEBUG
+        RDebug::Print(_L("ProgressiveDownload GetPosition return [%d] error[%d]"), I64INT(iTimePosition.Int64()), error);
+#endif
+        iState = EStoppedAutoResume;
+        iCallback->Paused();
+        }
+    else
+        {
+        iState = EStopped;
+        iCallback->MapcPlayComplete(aError);
+        }
+    }
+
+void CPdProperties::Playing()
+    {
+    iCallback->Playing();
+    }
+
+void CPdProperties::Paused()
+    {
+    iCallback->Paused();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/PdProperties.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility
+*
+*/
+
+
+
+#ifndef __PDPROPERTIES_H__
+#define __PDPROPERTIES_H__
+
+#include <e32std.h>
+#include <e32base.h>
+#include <f32file.h>
+#include "AudioPdPlayUtility.h"
+
+//Forward Declaration
+
+
+class CPdProperties :public CBase,
+                     public MAudioPdPlayUtilityCallback
+    {
+    public:
+
+        IMPORT_C static CPdProperties* NewL();
+        IMPORT_C static CPdProperties* NewLC();
+
+        IMPORT_C ~CPdProperties();
+
+        IMPORT_C CAudioPdPlayUtility* OpenL(const TDesC& aFileName,MAudioPdPlayUtilityCallback& aCallback);
+        IMPORT_C CAudioPdPlayUtility* OpenL(const RFile& aFileHandle,MAudioPdPlayUtilityCallback& aCallback);
+
+    private:
+        CPdProperties();
+        void ConstructL();
+        void HandleDownloadEventL(TUint aTransactionID,
+                              TBrCtlDownloadEvent aEvent,
+                              TUint aValue);
+
+        TInt CalculatePercentageDownloaded();
+        void SavePosition();
+        void HandleDownloadUpdateL();
+
+        // This function is no where used. Remove it.
+        //void StartPaused();
+        void StartPlaying();
+
+        void Playing();
+        void Paused();
+
+        //From MMdaAudioPlayerCallback
+        void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
+        void MapcPlayComplete(TInt aError);
+
+        enum TState
+            {
+            EStopped,
+            /*EOpening,*/
+            /*EPaused,*/
+            EStoppedAutoResume, /* State which will automatically re-start playback*/
+            EPlaying
+            };
+
+        TTimeIntervalMicroSeconds iTimePosition;
+        MAudioPdPlayUtilityCallback* iCallback;
+        CAudioPdPlayUtility* iAudioPdPlayUtility;
+        HBufC* iFileName;
+        RFile iFileHandle;
+        TBool iFileOpened;
+        TInt  iAttemptsToOpen;
+        TBool iUseFileHandle;
+        //TInt  iError; /* Not used */
+        TInt  iFileSize;
+        TInt  iBytesDownloaded;
+        TInt  iFileBytePosition;
+        TBool iDownloadCompleted;
+        enum  TState iState;
+        TInt  iPercentageToBuffer;
+        TBool iOpenInProgress;
+    };
+
+#endif
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/ProgressiveDownloadUtility.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility  Progressive Download Utility
+*
+*/
+
+
+
+#include <ProgressiveDownloadUtility.h>
+#include "PdProperties.h"
+/**
+Concrete implementation of the CProgressDownloadUtility API.
+@see CProgressDownloadUtility
+*/
+
+EXPORT_C CProgressiveDownloadUtility* CProgressiveDownloadUtility::NewL()
+	{
+    CProgressiveDownloadUtility* self = new(ELeave) CProgressiveDownloadUtility();
+	CleanupStack::PushL(self);
+
+	self->iProperties = CPdProperties::NewL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CProgressiveDownloadUtility::~CProgressiveDownloadUtility()
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadUtility::~CProgressiveDownloadUtility"));
+    #endif
+    delete iProperties;
+	}
+
+void CProgressiveDownloadUtility::ConstructL()
+	{
+
+	}
+
+CProgressiveDownloadUtility::CProgressiveDownloadUtility()
+	{
+
+	}
+
+EXPORT_C MAudioPdPlayUtility* CProgressiveDownloadUtility::OpenL(const TDesC& aFileName,MAudioPdPlayUtilityCallback& aCallback)
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadUtility::OpenL by filename"));
+    #endif
+	return STATIC_CAST(MAudioPdPlayUtility*,iProperties->OpenL(aFileName,aCallback));
+
+	}
+
+EXPORT_C MAudioPdPlayUtility* CProgressiveDownloadUtility::OpenL(const RFile& aFileHandle,MAudioPdPlayUtilityCallback& aCallback)
+	{
+	#if _DEBUG
+	  RDebug::Print(_L("CProgressiveDownloadUtility::OpenL by filehandle"));
+    #endif
+	return STATIC_CAST(MAudioPdPlayUtility*,iProperties->OpenL(aFileHandle,aCallback));
+	}
+
+// ENd of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/mmfclientutility.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,2308 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility  Audio, MIDI and Video client utility functions.
+*
+*/
+
+
+#include <e32std.h>
+#include <f32file.h>
+#include <bautils.h>
+#include <caf/content.h>
+#include <caf/data.h>
+using namespace ContentAccess;
+
+#include "mmfclientutility.h"
+#include <mmf/common/mmfpaniccodes.h>
+
+const TInt KMaxMimeLength = 256;
+const TInt KMaxHeaderSize = 256;
+#ifdef __WINDOWS_MEDIA
+_LIT8(KWMAMimeType,"audio/x-ms-wma");
+#endif
+
+void CUPanic(TInt aCUPanicCode)
+	{
+	_LIT(KMMFMediaClientUtilityPaanicCategory, "MMFClientUtility");
+	User::Panic(KMMFMediaClientUtilityPaanicCategory, aCUPanicCode);
+	}
+
+/**
+ * @internalComponent
+ */
+ TUid CMMFClientUtility::ConvertMdaFormatUidToECOMWrite(TUid aMdaFormatUid)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFClientUtility::ConvertMdaFormatUidToECOMWrite\n"));
+    #endif
+	TUid ECOMUid = KNullUid;
+	if (aMdaFormatUid == KUidMdaClipFormatWav)
+		ECOMUid = TUid::Uid(KMmfUidFormatWAVWrite);
+	else if (aMdaFormatUid == KUidMdaClipFormatAu)
+		ECOMUid = TUid::Uid(KMmfUidFormatAUWrite);
+	else if (aMdaFormatUid == KUidMdaClipFormatRawAudio)
+		ECOMUid = TUid::Uid(KMmfUidFormatRAWWrite);
+	else if (aMdaFormatUid == KUidMdaClipFormatRawAmr)
+		ECOMUid = TUid::Uid(KAdvancedUidFormatAMRWrite);
+
+	return ECOMUid;
+	}
+
+/**
+ * @internalComponent
+ */
+ TUid CMMFClientUtility::ConvertMdaFormatUidToECOMRead(TUid aMdaFormatUid)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFClientUtility::ConvertMdaFormatUidToECOMRead\n"));
+    #endif
+	TUid ECOMUid = KNullUid;
+	if (aMdaFormatUid == KUidMdaClipFormatWav)
+		ECOMUid = TUid::Uid(KMmfUidFormatWAVRead);
+	else if (aMdaFormatUid == KUidMdaClipFormatAu)
+		ECOMUid = TUid::Uid(KMmfUidFormatAURead);
+	else if (aMdaFormatUid == KUidMdaClipFormatRawAudio)
+		ECOMUid = TUid::Uid(KMmfUidFormatRAWRead);
+	else if (aMdaFormatUid == KUidMdaClipFormatRawAmr)
+		ECOMUid = TUid::Uid(KAdvancedUidFormatAMRRead);
+
+	return ECOMUid;
+	}
+
+/**
+ * @internalComponent
+ */
+ TInt CMMFClientUtility::GetFileHeaderData(const TDesC& aFileName, TDes8& aHeaderData, TInt aMaxLength)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFClientUtility::GetFileHeaderData***\n"));
+    #endif
+	RFs fsSession;
+	RFile file;
+	TInt error = KErrNone;
+	TInt size = 0;
+	if ((error = fsSession.Connect()) == KErrNone)
+		{
+		//rj  if ((error = file.Open(fsSession, aFileName, EFileShareReadersOnly)) == KErrNone)
+        if ((error = file.Open(fsSession, aFileName, EFileShareAny)) == KErrNone)
+			{
+
+
+			if ((error = file.Size(size)) == KErrNone)
+				{
+				if (size > 0)
+					{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFClientUtility::GetFileHeaderData actual size= %d  \n"),size);
+    #endif
+					if (size > aMaxLength)
+						size = aMaxLength;
+
+					error = file.Read(aHeaderData, size);
+					}
+				}
+			file.Close();
+			}
+		fsSession.Close();
+
+
+		}
+
+	#if _DEBUG
+      RDebug::Print(_L("CMMFClientUtility::GetFileHeaderData err %d  header %d\n"),error,size);
+    #endif
+
+	return error;
+	}
+
+/**
+ * @internalComponent
+ */
+ TFourCC CMMFClientUtility::ConvertMdaCodecToFourCC(TMdaPackage& aCodec)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFClientUtility::ConvertMdaCodecToFourCC\n"));
+    #endif
+	TFourCC dataType = KMMFFourCCCodeNULL;
+	switch (aCodec.Uid().iUid)
+		{
+		case KUidMdaWavPcmCodecDefine:
+			{
+			TMdaPcmWavCodec* pcmWavCodec = (TMdaPcmWavCodec*)&aCodec;
+			if (pcmWavCodec->iBits == TMdaPcmWavCodec::E8BitPcm)
+				dataType = KMMFFourCCCodePCMU8; //8 bit PCM
+			else
+				dataType = KMMFFourCCCodePCM16; //16 bit PCM
+			break;
+			}
+		case KUidMdaAu8PcmCodecDefine:
+			dataType = KMMFFourCCCodePCM8;
+			break;
+		case KUidMdaAuCodecDefine:
+		case KUidMdaAu16PcmCodecDefine:
+			dataType = KMMFFourCCCodePCM16B;
+			break;
+
+		case KUidMdaAuMulawCodecDefine:
+		case KUidMdaWavMulawCodecDefine:
+		case KUidMdaRawAudioMulawCodecDefine:  //uLAW
+			dataType = KMMFFourCCCodeMuLAW;
+			break;
+		case KUidMdaAuAlawCodecDefine:
+		case KUidMdaWavAlawCodecDefine:
+		case KUidMdaRawAudioAlawCodecDefine:	 //ALAW
+			dataType = KMMFFourCCCodeALAW;
+			break;
+		case KUidMdaRawAudioS8PcmCodecDefine:	 //  P8
+			dataType = KMMFFourCCCodePCM8;
+			break;
+		case KUidMdaRawAudioU8PcmCodecDefine:	  // PU8
+			dataType = KMMFFourCCCodePCMU8;
+			break;
+		case KUidMdaRawAudioSL16PcmCodecDefine: // P16
+			dataType = KMMFFourCCCodePCM16;
+			break;
+		case KUidMdaRawAudioSB16PcmCodecDefine: //P16B
+			dataType = KMMFFourCCCodePCM16B;
+			break;
+		case KUidMdaRawAudioUL16PcmCodecDefine: //PU16
+			dataType = KMMFFourCCCodePCMU16;
+			break;
+		case KUidMdaRawAudioUB16PcmCodecDefine: //PU6B
+			dataType = KMMFFourCCCodePCMU16B;
+			break;
+		case KUidMdaGsmWavCodecDefine: //GSM6
+			dataType = KMMFFourCCCodeGSM610;
+			break;
+		case KUidMdaWavImaAdpcmCodecDefine:
+			dataType = KMMFFourCCCodeIMAD;
+			break;
+		case KUidMdaRawAmrCodecDefine:
+			dataType = KMMFFourCCCodeAMR;
+			break;
+		default:	// Not a Uid we recognise
+			dataType = KMMFFourCCCodeNULL;
+			break;
+		}
+	return dataType;
+	}
+
+
+CMMFUtilityFileInfo* CMMFUtilityFileInfo::NewL(TMMSource& aSource)
+	{
+	CMMFUtilityFileInfo* self = CMMFUtilityFileInfo::NewLC(aSource);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+
+CMMFUtilityFileInfo* CMMFUtilityFileInfo::NewLC(TMMSource& aSource)
+	{
+	CMMFUtilityFileInfo* self = new (ELeave) CMMFUtilityFileInfo;
+	CleanupStack::PushL(self);
+	self->ConstructL(aSource);
+	return self;
+	}
+
+
+void CMMFUtilityFileInfo::ConstructL(const TMMSource& aSource)
+	{
+	if (aSource.SourceType()==KUidMMFileSource)
+		{
+		const TMMFileSource& fileSource = static_cast<const TMMFileSource&>(aSource);
+		iData = CData::NewL(TVirtualPathPtr(fileSource.Name(), fileSource.UniqueId()),
+							EContentShareReadWrite/*EContentShareReadOnly*/);
+		}
+
+	if (aSource.SourceType()==KUidMMFileHandleSource)
+		{
+		const TMMFileHandleSource& fileHandleSource = static_cast<const TMMFileHandleSource&>(aSource);
+		iData = CData::NewL(fileHandleSource.Handle(), fileHandleSource.UniqueId());
+		}
+
+	TInt err = iData->SetProperty(EAgentPropertyAgentUI, aSource.IsUIEnabled());
+
+	if (err != KErrNone && err != KErrCANotSupported)
+		{
+		// KErrCANotSupported isn't a problem for us so eat the error code.
+		User::Leave(err);
+		}
+
+	err = iData->EvaluateIntent(aSource.Intent());
+	User::LeaveIfError(err);
+	}
+
+TInt CMMFUtilityFileInfo::EvaluateIntent(TIntent aIntent)
+	{
+	return iData->EvaluateIntent(aIntent);
+	}
+/**
+ * @internalComponent
+ */
+TBool CMMFUtilityFileInfo::GetFileMimeTypeL(TDes8& aMimeType)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFUtilityFileInfo::GetFileMimeTypeL\n"));
+    #endif
+	return iData->GetMimeTypeL(aMimeType);
+	}
+
+/**
+ * @internalComponent
+ */
+void CMMFUtilityFileInfo::GetFileHeaderDataL(TDes8& aHeaderData, TInt aMaxLength)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFUtilityFileInfo::GetFileHeaderDataL\n"));
+    #endif
+	TInt size = 0;
+	iData->DataSizeL(size);
+	if (size > 0)
+		{
+		if (size > aMaxLength)
+			size = aMaxLength;
+		TInt pos = 0;
+		User::LeaveIfError(iData->Seek(ESeekStart, pos));
+		User::LeaveIfError(iData->Read(aHeaderData, size));
+		}
+	}
+
+/**
+ * @internalComponent
+ */
+ HBufC8* CMMFClientUtility::GetFileExtensionL(const TDesC& aFileName)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFClientUtility::GetFileExtensionL\n"));
+    #endif
+	TParse fileName;
+	fileName.Set(aFileName,NULL,NULL);
+	HBufC8* fileSuffix = NULL;
+	if(fileName.ExtPresent())
+		{
+		TPtrC fileSuffixPtr(fileName.Ext());
+		fileSuffix = HBufC8::NewL(fileSuffixPtr.Length());
+		fileSuffix->Des().Copy(fileSuffixPtr);
+		}
+	else
+		{
+		fileSuffix = KNullDesC8().AllocL();
+		}
+	return fileSuffix;
+	}
+
+
+/**
+ * @internalComponent
+ */
+CMMFUtilityFileInfo::~CMMFUtilityFileInfo()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFClientUtility::~CMMFUtilityFileInfo\n"));
+    #endif
+	delete iData;
+	}
+
+/*
+ * @internalComponent
+ *
+ * Returns an integer rating indicating how well the supplied format matches
+ * the header data and file extension supplied.
+ * 3 brownie points awarded for data & suffix match.
+ * 2 brownie points awarded for data match alone.
+ * 1 brownie point awarded for suffix match alone.
+ */
+TInt CMMFClientUtility::GetBestMatchL(const CMMFFormatImplementationInformation* format, const TDesC8& aHeaderData, const TDesC8& aFileExtension)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFClientUtility::GetBestMatchL\n"));
+    #endif
+	TInt browniePoints = 0;
+
+	if (aHeaderData.Length() > 0) // Non empty file
+		{
+		if (aFileExtension.Length() > 0) // With a file extension
+			{
+			if (format->SupportsHeaderDataL(aHeaderData) &&
+				format->SupportsFileExtension(aFileExtension))
+				{
+				browniePoints = 3;
+				}
+			else if (format->SupportsHeaderDataL(aHeaderData))
+				{
+				browniePoints = 2;
+				}
+			else
+				{
+				// See if this format has any 'empty' match data or no match data, indicating
+				// that this format will match extension alone even if data present.
+				// (A format may have more than one match data string.)
+				const CDesC8Array& supportedHeaderData = format->SupportedHeaderData();
+
+				if (supportedHeaderData.Count() == 0)
+					{
+					// No header data indicated.
+					if (format->SupportsFileExtension(aFileExtension))
+						{
+							browniePoints = 1;
+						}
+					}
+				else
+					{
+					for (register TInt i = 0; i < supportedHeaderData.Count(); i++)
+						{
+						if ((supportedHeaderData[i].Length() == 0) &&
+							format->SupportsFileExtension(aFileExtension))
+							{
+							browniePoints = 1;
+							}
+						}
+					}
+				}
+			}
+		else
+			{
+			// No file suffix, so must match header data alone.
+			if (format->SupportsHeaderDataL(aHeaderData))
+				{
+				browniePoints = 2;
+				}
+			}
+		}
+	else // Empty File
+		{
+		// We have no choice but to match extension, if there is one.
+		if ((aFileExtension.Length() > 0) && format->SupportsFileExtension(aFileExtension))
+			{
+			browniePoints = 1;
+			}
+		}
+
+	return browniePoints;
+}
+
+/**
+ * @internalComponent
+ *
+ * This function parses all the play & record formats in the given list of controllers,
+ * looking for controllers & formats that best match the requirements.
+ * Play controllers will be returned before record controllers, and
+ * in cases of equal priority between formats, ECom order will be maintained.
+ *
+ * @param	"aControllers"
+ *			A reference to a user supplied list of controllers retrieved from ECom.
+ *			This list may be have been filtered for audio/video/play/record.
+ * @param	"aHeaderDataPlayback"
+ *			A descriptor reference containing the file's header data.
+ *          for matching against a controller's play formats. May be KNullDesC8
+ * @param	"aFileExtensionPlayback"
+ *			A descriptor reference containing the filename's extension.
+ *          for matching against a controller's play formats. May be KNullDesC8
+ * @param	"aHeaderDataRecord"
+ *			A descriptor reference containing the file's header data.
+ *          for matching against a controller's record formats. May be KNullDesC8
+ * @param	"aFileExtensionRecord"
+ *			A descriptor reference containing the filename's extension.
+ *          for matching against a controller's record formats. May be KNullDesC8
+ * @param	"aPrioritisedControllers"
+ *			A reference to a user supplied list through which the list of
+ *			prioritised controllers will be returned.
+ * @since	7.0s
+ * @lib	"MediaClientUtility.lib"
+ */
+void CMMFClientUtility::PrioritiseControllersL(
+	const RMMFControllerImplInfoArray& aControllers,
+	const TDesC8& aHeaderDataPlayback,
+	const TDesC8& aFileExtensionPlayback,
+	const TDesC8& aHeaderDataRecord,
+	const TDesC8& aFileExtensionRecord,
+	RMMFControllerImplInfoArray& prioritisedControllers)
+	{
+	RMMFControllerImplInfoArray fullMatchControllers; // data AND suffix
+	CleanupClosePushL(fullMatchControllers);
+	RMMFControllerImplInfoArray partMatchControllers; // data OR suffix
+	CleanupClosePushL(partMatchControllers);
+
+	TBool checkingPlaybackFormats = EFalse;
+	TBool checkingRecordFormats = EFalse;
+
+	if (aHeaderDataPlayback != KNullDesC8 || aFileExtensionPlayback != KNullDesC8)
+		checkingPlaybackFormats = ETrue;
+	if (aHeaderDataRecord != KNullDesC8 || aFileExtensionRecord != KNullDesC8)
+		checkingRecordFormats = ETrue;
+
+	// Examine each format for each controller. We only want to know at this stage
+	// if the controller has suitable formats, so as soon as we know it has, we can
+	// add it to out list, ranked by how well it matched.
+	for (register TInt i = 0; i < aControllers.Count(); i++)
+		{
+		const CMMFControllerImplementationInformation* controller = aControllers[i];
+		TInt savedBrowniePointsPlayback = 0;
+		TInt savedBrowniePointsRecord = 0;
+
+		if (checkingPlaybackFormats)
+			{
+			for (register TInt p = 0; p < controller->PlayFormats().Count(); p++)
+				{
+				const CMMFFormatImplementationInformation* format = controller->PlayFormats()[p];
+
+				TInt browniePoints = GetBestMatchL(format, aHeaderDataPlayback, aFileExtensionPlayback);
+
+				if (browniePoints >= savedBrowniePointsPlayback)
+					savedBrowniePointsPlayback = browniePoints;
+				}
+			}
+
+		if (checkingRecordFormats)
+			{
+			for (register TInt r = 0; r < controller->RecordFormats().Count(); r++)
+				{
+				const CMMFFormatImplementationInformation* format = controller->RecordFormats()[r];
+
+				TInt browniePoints = GetBestMatchL(format, aHeaderDataRecord, aFileExtensionRecord);
+
+				if (browniePoints >= savedBrowniePointsRecord)
+					savedBrowniePointsRecord = browniePoints;
+				}
+			}
+
+		TInt savedBrowniePoints = 0;
+		// if we're checking both playback & record formats
+		// make sure we've found both
+		if (checkingPlaybackFormats && checkingRecordFormats)
+			{
+			savedBrowniePoints = Min(savedBrowniePointsPlayback, savedBrowniePointsRecord);
+			}
+		else if (checkingPlaybackFormats)
+			{
+			savedBrowniePoints = savedBrowniePointsPlayback;
+			}
+		else if (checkingRecordFormats)
+			{
+			savedBrowniePoints = savedBrowniePointsRecord;
+			}
+
+		// Checked all formats for this controller, now count our brownie points.
+		switch (savedBrowniePoints)
+			{
+			case 3:
+				User::LeaveIfError(fullMatchControllers.Append(controller));
+				break;
+			case 2:
+				User::LeaveIfError(partMatchControllers.Insert(controller, 0));
+				break;
+			case 1:
+				User::LeaveIfError(partMatchControllers.Append(controller));
+				break;
+			default:
+				break;
+			}
+		}
+
+	// The better the controller matches, the earlier it will be in the final list.
+	for (register TInt x = 0; x < fullMatchControllers.Count(); x++)
+		{
+		if (prioritisedControllers.Find(fullMatchControllers[x]) == KErrNotFound)
+			{
+			User::LeaveIfError(prioritisedControllers.Append(fullMatchControllers[x]));
+			}
+		}
+
+	for (register TInt y = 0; y < partMatchControllers.Count(); y++)
+		{
+		if (prioritisedControllers.Find(partMatchControllers[y]) == KErrNotFound)
+			{
+			User::LeaveIfError(prioritisedControllers.Append(partMatchControllers[y]));
+			}
+		}
+
+	CleanupStack::PopAndDestroy(2, &fullMatchControllers); // fullMatchControllers, partMatchControllers
+	}
+
+/**
+ * @internalComponent
+ */
+ CMMFMdaObjectStateChangeObserverCallback* CMMFMdaObjectStateChangeObserverCallback::NewL(MMdaObjectStateChangeObserver& aCallback)
+	{
+	return new(ELeave) CMMFMdaObjectStateChangeObserverCallback(aCallback);
+	}
+
+/**
+ * @internalComponent
+ */
+CMMFMdaObjectStateChangeObserverCallback::~CMMFMdaObjectStateChangeObserverCallback()
+	{
+	Cancel();
+	}
+
+/**
+ * @internalComponent
+ */
+ void CMMFMdaObjectStateChangeObserverCallback::CallBack(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode)
+	{
+	iObject = aObject;
+	iPreviousState = aPreviousState;
+	iCurrentState = aCurrentState;
+	iErrorCode = aErrorCode;
+	if (!IsActive())
+		{
+		TRequestStatus* s = &iStatus;
+		SetActive();
+		User::RequestComplete(s, KErrNone);
+		}
+	}
+
+CMMFMdaObjectStateChangeObserverCallback::CMMFMdaObjectStateChangeObserverCallback(MMdaObjectStateChangeObserver& aCallback) :
+	CActive(CActive::EPriorityHigh),
+	iCallback(aCallback)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFMdaObjectStateChangeObserverCallback::CMMFMdaObjectStateChangeObserverCallback\n"));
+    #endif
+	CActiveScheduler::Add(this);
+	}
+
+void CMMFMdaObjectStateChangeObserverCallback::RunL()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFMdaObjectStateChangeObserverCallback::RunL\n"));
+    #endif
+	iCallback.MoscoStateChangeEvent(iObject, iPreviousState, iCurrentState, iErrorCode);
+	}
+
+void CMMFMdaObjectStateChangeObserverCallback::DoCancel()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFMdaObjectStateChangeObserverCallback::DoCancel\n"));
+    #endif
+	//nothing to cancel
+	}
+
+
+//****************************************
+// CMMFFindAndOpenController
+//****************************************
+
+/**
+ * Factory function to create a CMMFFindAndOpenController class
+ *
+ * @internalComponent
+ */
+ CMMFFindAndOpenController* CMMFFindAndOpenController::NewL(MMMFFindAndOpenControllerObserver& aObserver)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::NewL\n"));
+    #endif
+	CMMFFindAndOpenController* self = new(ELeave) CMMFFindAndOpenController(aObserver);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+CMMFFindAndOpenController::~CMMFFindAndOpenController()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::~CMMFFindAndOpenController\n"));
+    #endif
+	Cancel();
+
+	// delete temporary variables
+	Close();
+
+	// this should cancel the AO
+	delete iAddDataSourceSinkAsync;
+
+	delete iPrimaryConfig;
+	delete iSecondaryConfig;
+	}
+
+/**
+ * Function to free up memory after a successful open has completed
+ * Useful to allow a alloc testing to work.
+ * Must not be called if ReOpen() is to be called
+ *
+ * @internalComponent
+ */
+ void CMMFFindAndOpenController::Close()
+	{
+
+	Cancel();
+
+	if(iAddDataSourceSinkAsync)
+		{
+		iAddDataSourceSinkAsync->Cancel();
+		}
+
+	if (iPrimaryConfig)
+		iPrimaryConfig->Close();
+	if (iSecondaryConfig)
+		iSecondaryConfig->Close();
+
+	iPrioritisedControllers.Close();
+	iControllers.ResetAndDestroy();
+	iControllers.Close();
+
+	iFileName.SetLength(0);
+	iFileNameSecondary.SetLength(0);
+
+	delete iUrl;
+	iUrl = NULL;
+
+	delete iMimeType;
+	iMimeType = NULL;
+
+	delete iUniqueId;
+	iUniqueId = NULL;
+
+	iFileHandle.Close();
+	iUseFileHandle = EFalse;
+	}
+
+CMMFFindAndOpenController::CMMFFindAndOpenController(MMMFFindAndOpenControllerObserver& aObserver) :
+	CActive(EPriorityStandard),
+	iObserver(aObserver),
+	iDescriptor(NULL, 0)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::CMMFFindAndOpenController\n"));
+    #endif
+	CActiveScheduler::Add(this);
+	}
+
+void CMMFFindAndOpenController::ConstructL()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::ConstructL\n"));
+    #endif
+	iAddDataSourceSinkAsync = CMMFAddDataSourceSinkAsync::NewL(*this);
+	iPrimaryConfig = new (ELeave)  CConfig();
+	iSecondaryConfig =  new (ELeave) CConfig;
+	iCurrentConfig =  iPrimaryConfig;
+	}
+
+void CMMFFindAndOpenController::RunL()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::RunL\n"));
+    #endif
+	Process();
+	}
+
+void CMMFFindAndOpenController::DoCancel()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::DoCancel\n"));
+    #endif
+	iAddDataSourceSinkAsync->Cancel();
+	}
+
+/**
+ * Defines the media ID & priority to be used when opening a controller
+ * Normally called once only after class has been constructed
+ *
+ * @param	aMediaId
+ *			the media ID to use when searching for a controller
+ *			e.g. KUidMediaTypeAudio
+ * @param	aPrioritySettings
+ *			the priority settings to use when opening a controller
+ * @param	aMediaIdMatchType
+ *			Defines the type of media id match to be performed on the plugins
+ *			returned from the ECOM registry.
+ * @leave	can leave with KErrNoMemory
+
+ * @internalComponent
+ */
+ void CMMFFindAndOpenController::Configure(
+	TUid aMediaId,
+	TMMFPrioritySettings aPrioritySettings,
+	CMMFPluginSelectionParameters::TMediaIdMatchType aMediaIdMatchType)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::Configure\n"));
+    #endif
+	iPrioritySettings = aPrioritySettings;
+
+	iMediaIdMatchType = aMediaIdMatchType;
+
+	iMediaId = aMediaId;
+	}
+
+void CMMFFindAndOpenController::ConfigureController(
+	CConfig& config,
+	RMMFController& aController,
+	CMMFControllerEventMonitor& aEventMonitor,
+	TControllerMode aControllerMode)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::ConfigureController\n"));
+    #endif
+	config.iController = &aController;
+	config.iEventMonitor = &aEventMonitor;
+	config.iControllerMode = aControllerMode;
+	}
+
+/**
+ * Configures the primary controller
+ *
+ * @param	aController
+ *			a reference to the client controller object to use
+ * @param	aEventMonitor
+ *			a reference to an event monitor object for receiving
+ *			events from the controller
+ * @param	aControllerMode
+ *			indicates whether this controller is to be used for recording
+ *          or playback
+ *
+ * @internalComponent
+ */
+ void CMMFFindAndOpenController::ConfigureController(
+	RMMFController& aController,
+	CMMFControllerEventMonitor& aEventMonitor,
+	TControllerMode aControllerMode)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::ConfigureController2\n"));
+    #endif
+	ConfigureController(
+		*iPrimaryConfig,
+		aController,
+		aEventMonitor,
+		aControllerMode);
+	}
+
+/**
+ * Configures the secondary controller
+ *
+ * This is only needed for the audio recorder utility which opens
+ * one controller for playback and another for recording
+ *
+ * @param	aController
+ *			a reference to the client controller object to use
+ * @param	aEventMonitor
+ *			a reference to an event monitor object for receiving
+ *			events from the controller
+ * @param	aControllerMode
+ *			indicates whether this controller is to be used for recording
+ *          or playback or converting
+ *
+ * @internalComponent
+ */
+ void CMMFFindAndOpenController::ConfigureSecondaryController(
+	RMMFController& aController,
+	CMMFControllerEventMonitor& aEventMonitor,
+	TControllerMode aControllerMode)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::ConfigureSecondaryController\n"));
+    #endif
+	ConfigureController(
+		*iSecondaryConfig,
+		aController,
+		aEventMonitor,
+		aControllerMode);
+	}
+
+void CMMFFindAndOpenController::Init()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::Init\n"));
+    #endif
+	// This should be called prior to opening, so reset the error
+	iError = KErrNone;
+	iSourceSinkConfigured = EFalse;
+	iControllerCount = 0;
+	}
+
+void CMMFFindAndOpenController::ConfigureSourceSink(
+	CConfig& config,
+	TSourceSink aSource,
+	TSourceSink aSink)
+	{
+	TInt err;
+	TRAP(err, config.iSource = CreateSourceSinkL(aSource));
+	if (err != KErrNone)
+		{
+		iError = err;
+		return;
+		}
+
+	TRAP(err, config.iSink = CreateSourceSinkL(aSink));
+	if (err != KErrNone)
+		{
+		iError = err;
+		return;
+		}
+	}
+
+
+void CMMFFindAndOpenController::ConfigureSourceSink(
+	CConfig& config,
+	const TMMSource& aSource,
+	TSourceSink aSink)
+	{
+	TInt err;
+	TRAP(err, config.iSource = CreateSourceSinkL(aSource));
+	if (err != KErrNone)
+		{
+		iError = err;
+		return;
+		}
+
+	TRAP(err, config.iSink = CreateSourceSinkL(aSink));
+	if (err != KErrNone)
+		{
+		iError = err;
+		return;
+		}
+	}
+
+
+
+/**
+ * Configure the primary controller's source and sink
+ * The descriptors passed to this function are copied so they do not need to be persistent.
+ * To simplify the API, any errors that occur are reported back asynchronously following
+ * a subsequent call to OpenByXXX()
+ *
+ * @param	aSourceUid
+ *			the UID of the data source
+ * @param	aSourceData
+ *			a reference to a descriptor used to configure the source
+ * @param	aSinkUid
+ *			the UID of the data sink
+ * @param	aSinkData
+ *			a reference to a descriptor used to configure the sink
+ *
+ * @internalComponent
+ */
+ void CMMFFindAndOpenController::ConfigureSourceSink(
+	TSourceSink aSource,
+	TSourceSink aSink)
+	{
+
+	CConfig* config = NULL;
+
+	Init();
+	config = iPrimaryConfig;
+
+
+	// must have already called ConfigureController()
+	__ASSERT_ALWAYS(config->iController != NULL, CUPanic(EMMFMediaClientUtilityBadState));
+
+	ConfigureSourceSink(
+		*config,
+		aSource,
+		aSink);
+	iCurrentConfig = config;
+
+	iSourceSinkConfigured = ETrue;
+	}
+
+
+/**
+ * Configure the primary controller's source and sink
+ * The descriptors passed to this function are copied so they do not need to be persistent.
+ * To simplify the API, any errors that occur are reported back asynchronously following
+ * a subsequent call to OpenByXXX()
+ *
+ * @param	aSourceUid
+ *			the UID of the data source
+ * @param	aSourceData
+ *			a reference to a descriptor used to configure the source
+ * @param	aSinkUid
+ *			the UID of the data sink
+ * @param	aSinkData
+ *			a reference to a descriptor used to configure the sink
+ *
+ * @internalComponent
+ */
+ void CMMFFindAndOpenController::ConfigureSecondarySourceSink(
+	TSourceSink aSource,
+	TSourceSink aSink)
+	{
+	if (iError != KErrNone)
+		{
+		// if there was an error configuring the primary source/sink, do not try the secondary one
+		// Don't return the error, since the stored error will be returned by the OpenBy... method
+		return;
+		}
+
+	CConfig* config = NULL;
+
+	config = iSecondaryConfig;
+
+	// must have already configured the primary controller
+	__ASSERT_ALWAYS(iSourceSinkConfigured, CUPanic(EMMFMediaClientUtilityBadState));
+	config = iSecondaryConfig;
+
+	// must have already called ConfigureController()
+	__ASSERT_ALWAYS(config->iController != NULL, CUPanic(EMMFMediaClientUtilityBadState));
+
+	ConfigureSourceSink(
+		*config,
+		aSource,
+		aSink);
+	iCurrentConfig = config;
+
+	iSourceSinkConfigured = ETrue;
+	}
+
+
+
+
+ void CMMFFindAndOpenController::ConfigureSourceSink(
+	const TMMSource& aSource,
+	TSourceSink aSink)
+	{
+	Init();
+	CConfig* config = iPrimaryConfig;
+
+	// must have already called ConfigureController()
+	__ASSERT_ALWAYS(config->iController != NULL, CUPanic(EMMFMediaClientUtilityBadState));
+
+	ConfigureSourceSink(
+		*config,
+		aSource,
+		aSink);
+	iCurrentConfig = config;
+
+	iSourceSinkConfigured = ETrue;
+	}
+
+
+
+
+/**
+ * Opens a controller using the supplied controller UID
+ * and adds the source & sink
+ * Completion is indicated asynchonously by a call to MfaocComplete()
+ *
+ * @param	aControllerUid
+ *			the UID of the primary controller
+ * @param	aControllerUid
+ *			the UID of the secondary controller
+ *
+ * @internalComponent
+ */
+ void CMMFFindAndOpenController::OpenByControllerUid(
+		TUid aControllerUid,
+		TUid aSecondaryControllerUid)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::OpenByControllerUid\n"));
+    #endif
+	// must have already called ConfigureSourceSink()
+	__ASSERT_ALWAYS(iSourceSinkConfigured, CUPanic(EMMFMediaClientUtilityBadState));
+
+	// Have there been any errors so far ?
+	if (iError != KErrNone)
+		{
+	    SchedSendError();
+		return;
+		}
+
+	if (iCurrentConfig == iPrimaryConfig)
+		{
+		// only do this for the playback controller
+		TRAP(iError, iCurrentConfig->iSource->EvaluateIntentL())
+
+		if (iError != KErrNone)
+			{
+	    	SchedSendError();
+			return;
+			}
+		}
+
+	iPrimaryConfig->iControllerUid = aControllerUid;
+	if (iCurrentConfig == iSecondaryConfig)
+		{
+		if (aSecondaryControllerUid == KNullUid)
+			iSecondaryConfig->iControllerUid = aControllerUid;
+		else
+			iSecondaryConfig->iControllerUid = aSecondaryControllerUid;
+		}
+
+	iMode = EOpenByControllerUid;
+	iControllerImplInfo = NULL;
+	iState = EOpenController;
+	KickState();
+	}
+
+/**
+ * Opens a controller using the supplied file name
+ * and adds the source & sink
+ * A copy is made of the filename or file handle so that it need not be persistent
+ * Completion is indicated asynchonously by a call to MfaocComplete()
+ *
+ * @param	aSource
+ *			a reference to a TFileSource object to be used when searching
+ *          for a controller
+ * @param	aFileNameSecondary
+ *			a reference to the seconday filename to be used when searching
+ *          for a controller. This need only be supplied when converting
+ *			between two files.
+ *
+ * @internalComponent
+ */
+ void CMMFFindAndOpenController::OpenByFileSource(const TMMSource& aSource, const TDesC& aFileNameSecondary)
+	{
+	// must have already called ConfigureSourceSink()
+	__ASSERT_ALWAYS(iSourceSinkConfigured, CUPanic(EMMFMediaClientUtilityBadState));
+
+	TInt err;
+	// Have there been any errors so far ?
+	if (iError != KErrNone)
+		{
+		SchedSendError();
+		return;
+		}
+
+	if (aSource.SourceType()==KUidMMFileSource)
+		{
+		const TMMFileSource& fileSource = static_cast<const TMMFileSource&>(aSource);
+		iFileName = fileSource.Name();
+		}
+
+	if (aSource.SourceType()==KUidMMFileHandleSource)
+		{
+		const TMMFileHandleSource& fileHandleSource = static_cast<const TMMFileHandleSource&>(aSource);
+		err = iFileHandle.Duplicate(fileHandleSource.Handle());
+
+
+		if (err != KErrNone)
+			{
+			SchedSendError(err);
+			return;
+			}
+
+		iFileHandle.Name(iFileName); //ignore error return since we'll just do without the filename if not available
+
+
+		iUseFileHandle = ETrue;
+		}
+
+	TRAP(err, iUniqueId = aSource.UniqueId().AllocL());
+	iIntent = aSource.Intent();
+	if (err != KErrNone)
+		{
+		SchedSendError(err);
+		return;
+		}
+
+
+	// take a copy of the secondary file name
+	iFileNameSecondary = aFileNameSecondary;
+
+	iMode = EOpenByFileName;
+	iState = EBuildControllerList;
+	KickState();
+	}
+
+/**
+ * Opens a controller using the supplied format UID
+ * and adds the source & sink
+ * Completion is indicated asynchonously by a call to MfaocComplete()
+ *
+ * @param	aFormatUid
+ *			the UID of a format that must be supported by the controller
+ * @param	aFormatUidSecondary
+ *			the UID of a secondary format that must be supported by the controller
+ *			This need only be supplied when converting between two differnet formats.
+ *
+ * @internalComponent
+ */
+ void CMMFFindAndOpenController::OpenByFormatUid(TUid aFormatUid, TUid aFormatUidSecondary)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::OpenByFormatUid\n"));
+    #endif
+	// must have already called ConfigureSourceSink()
+	__ASSERT_ALWAYS(iSourceSinkConfigured, CUPanic(EMMFMediaClientUtilityBadState));
+
+	// Have there been any errors so far ?
+	if (iError != KErrNone)
+		{
+		SchedSendError();
+		return;
+		}
+
+	iFormatUid = aFormatUid;
+	iFormatUidSecondary = aFormatUidSecondary;
+
+	iMode = EOpenByFormatUid;
+	iState = EBuildControllerList;
+	KickState();
+	}
+
+/**
+ * Opens a controller using the supplied descriptor
+ * and adds the source & sink
+ * Completion is indicated asynchonously by a call to MfaocComplete()
+ *
+ * @param	aDescriptor
+ *			a reference to the descriptor to be used when searching
+ *          for a controller
+ *
+ * @internalComponent
+ */
+ void  CMMFFindAndOpenController::OpenByDescriptor(const TDesC8& aDescriptor)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::OpenByDescriptor\n"));
+    #endif
+	// must have already called ConfigureSourceSink()
+	__ASSERT_ALWAYS(iSourceSinkConfigured, CUPanic(EMMFMediaClientUtilityBadState));
+
+	// Have there been any errors so far ?
+	if (iError != KErrNone)
+		{
+		SchedSendError();
+		return;
+		}
+
+	// take a copy of the descriptor
+	TUint8* desBufferPtr = const_cast<TUint8*> (aDescriptor.Ptr());
+	iDescriptor.Set( desBufferPtr,aDescriptor.Length(),aDescriptor.Length());
+
+	iMode = EOpenByDescriptor;
+	iState = EBuildControllerList;
+	KickState();
+	}
+
+/**
+ * Opens a controller using the supplied URL
+ * and adds the source & sink
+ * Completion is indicated asynchonously by a call to MfaocComplete()
+ *
+ * @param	aUrl
+ *			a reference to the URL to be used when searching for a controller
+ * @param	aIapId
+ *          the IAP ID to be used when searching for a controller
+ * @param	aMimeType
+ *          the MIME type of the data to be used when searching for a controller
+ *
+ * @internalComponent
+ */
+ void CMMFFindAndOpenController::OpenByUrl(const TDesC& aUrl, TInt aIapId, const TDesC8& aMimeType)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::OpenByUrl\n"));
+    #endif
+	// must have already called ConfigureSourceSink()
+	__ASSERT_ALWAYS(iSourceSinkConfigured, CUPanic(EMMFMediaClientUtilityBadState));
+
+	// Have there been any errors so far ?
+	if (iError != KErrNone)
+		{
+		SchedSendError();
+		return;
+		}
+
+	// take a copy of the Url
+	delete iUrl;
+	iUrl = NULL;
+	iUrl = aUrl.Alloc();
+	if (iUrl == NULL)
+		{
+		SchedSendError(KErrNoMemory);
+		return;
+		}
+
+	// take a copy of the IapId
+	iIapId = aIapId;
+
+	// take a copy of the mime type
+	delete iMimeType;
+	iMimeType = NULL;
+	iMimeType = aMimeType.Alloc();
+	if (iMimeType == NULL)
+		{
+		SchedSendError(KErrNoMemory);
+		return;
+		}
+
+	iMode = EOpenByUrl;
+	iState = EBuildControllerList;
+	KickState();
+	}
+
+/**
+ * Static function to return a TMMFFileConfig object
+ * suitable for passing to ConfigureSourceSink()
+ *
+ * @param	aFileName
+ *          the filename to use
+ *
+ * @internalComponent
+ */
+ TMMFFileConfig CMMFFindAndOpenController::GetConfigFile(const TDesC& aFileName)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::GetConfigFile\n"));
+    #endif
+	TMMFFileConfig sourceSinkData;
+	sourceSinkData().iPath = aFileName;
+	return sourceSinkData;
+	}
+
+/**
+ * Static function to return a TMMFDescriptorConfig object
+ * suitable for passing to ConfigureSourceSink()
+ *
+ * @param	aFileName
+ *          the filename to use
+ *
+ * @internalComponent
+ */
+ TMMFDescriptorConfig CMMFFindAndOpenController::GetConfigDescriptor(const TDesC8& aDescriptor)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::GetConfigDescriptor\n"));
+    #endif
+	TMMFDescriptorConfig sourceSinkData;
+	sourceSinkData().iDes = (TAny*)&aDescriptor;
+	sourceSinkData().iDesThreadId = RThread().Id();
+	return sourceSinkData;
+	}
+
+/**
+ * Static function to create a CBufFlat object
+ * suitable for passing to ConfigureSourceSink()
+ *
+ * @param	aUrlCfgBuffer
+ *          the reference to a caller-supplied pointer used to create
+ *			a CBufFlat object. The caller is responsible for deletion.
+ * @param	aUrl
+ *			a reference to the URL to be used
+ * @param	aIapId
+ *          the IAP ID to be used
+ * @return	can return KErrNone or KErrNoMemory
+ *
+ * @internalComponent
+ */
+ TInt CMMFFindAndOpenController::GetConfigUrl(CBufFlat*& aUrlCfgBuffer, const TDesC& aUrl, TInt aIapId)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::GetConfigDescriptor\n"));
+    #endif
+	TInt error;
+	delete aUrlCfgBuffer;
+	aUrlCfgBuffer = NULL;
+
+	CMMFUrlParams* urlCfg = NULL;
+	TRAP(error, urlCfg = CMMFUrlParams::NewL(aUrl,aIapId));
+	if (error != KErrNone)
+		return error;
+
+	TRAP(error,
+		aUrlCfgBuffer = urlCfg->ExternalizeToCBufFlatLC();
+		CleanupStack::Pop(aUrlCfgBuffer);
+		);
+
+	delete urlCfg;
+
+	return error;
+	}
+
+/**
+ * ReOpens the previously opened primary controller
+ *
+ * @internalComponent
+ */
+ void CMMFFindAndOpenController::ReOpen()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::ReOpen\n"));
+    #endif
+	// should already have a valid controller uid so just open it
+	iControllerImplInfo = NULL;
+	iState = EOpenController;
+	KickState();
+	}
+
+void CMMFFindAndOpenController::OpenPrimaryController(void)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::OpenPrimaryController\n"));
+    #endif
+	iCurrentConfig = iPrimaryConfig;
+	switch(iMode)
+		{
+		case EOpenByFileName:
+		case EOpenByFormatUid:
+		case EOpenByDescriptor:
+		case EOpenByUrl:
+			iState = EBuildControllerList;
+			break;
+		case EOpenByControllerUid:
+			iControllerImplInfo = NULL;
+			iState = EOpenController;
+			break;
+		}
+	KickState();
+	}
+
+void CMMFFindAndOpenController::KickState()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::KickState\n"));
+    #endif
+	TRequestStatus* status = &iStatus;
+	User::RequestComplete(status, KErrNone);
+	SetActive();
+	}
+
+void CMMFFindAndOpenController::CloseController()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::CloseController\n"));
+    #endif
+	if (iCurrentConfig->iEventMonitor)
+		iCurrentConfig->iEventMonitor->Cancel();
+	iCurrentConfig->iController->Close();
+	}
+
+void CMMFFindAndOpenController::Process()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::Process\n"));
+    #endif
+	switch(iState)
+		{
+		case EBuildControllerList:
+			switch(iMode)
+				{
+				case EOpenByFileName:
+					TRAP(iError, BuildControllerListFileNameL());
+					break;
+				case EOpenByDescriptor:
+					TRAP(iError, BuildControllerListDescriptorL());
+					break;
+				case EOpenByUrl:
+					TRAP(iError, BuildControllerListUrlL());
+					break;
+				case EOpenByFormatUid:
+					TRAP(iError, BuildControllerListFormatL());
+					break;
+				default:
+					CUPanic(EMMFMediaClientUtilityBadState);
+				}
+
+			if (iError != KErrNone)
+				{
+				iState = EIdle;
+				SendError();
+				break;
+				}
+
+			// try the first controller
+			iControllerIndex = -1;
+			TryNextController();
+			break;
+
+		case EOpenController:
+			// Make sure any existing controller is closed.
+			CloseController();
+
+			// Open the controller
+			if (iControllerImplInfo)
+				{
+				iError = iCurrentConfig->iController->Open(*iControllerImplInfo, iPrioritySettings);
+				}
+			else
+				{
+				iError = iCurrentConfig->iController->Open(iCurrentConfig->iControllerUid, iPrioritySettings);
+				}
+
+			if (iError)
+				{
+				TryNextController();
+				}
+			else
+				{
+
+				iCurrentConfig->iEventMonitor->Start();
+
+				if (iCurrentConfig == iSecondaryConfig)
+					{
+					iState = EAddSource;
+					KickState();
+					}
+				else
+					{
+					iState = EAddSink;
+					KickState();
+					}
+				}
+			break;
+
+		case EAddSource:
+			{
+			iState = EWaitingForSource;
+			const CMMSourceSink* source = iCurrentConfig->iSource;
+			iAddDataSourceSinkAsync->AddDataSource(*iCurrentConfig->iController,
+												   source->SourceSinkUid(),
+												   source->SourceSinkData());
+			}
+			break;
+
+		case EAddSink:
+			{
+			iState = EWaitingForSink;
+			const CMMSourceSink* sink = iCurrentConfig->iSink;
+			iAddDataSourceSinkAsync->AddDataSink(*iCurrentConfig->iController,
+												 sink->SourceSinkUid(),
+												 sink->SourceSinkData());
+			}
+			break;
+
+		case EWaitingForSource:
+			break;
+
+		case EWaitingForSink:
+			break;
+
+		case ESendError:
+			SendError();
+			iState = EIdle;
+			break;
+
+		case EIdle:
+		default:
+			break;
+		}
+	}
+
+void CMMFFindAndOpenController::TryNextController()
+	{
+
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::TryNextController\n"));
+    #endif
+	// If an error occurred close the controller.
+	if (iError != KErrNone)
+		CloseController();
+
+	// take the first available exit if we're out of memory
+	if (iError == KErrNoMemory)
+		{
+		SendError();
+		return;
+		}
+
+	if (iMode == EOpenByControllerUid || ++iControllerIndex >= iControllerCount)
+		{
+		SendError(KErrNotSupported);		// KErrNotSupported
+		return;
+		}
+
+	if (iMode == EOpenByFileName || iMode == EOpenByFormatUid)
+		{
+		iControllerImplInfo = iPrioritisedControllers[iControllerIndex];
+		}
+	else	//if (iMode == EOpenByDescriptor || iMode == EOpenByUrl)
+		{
+		iControllerImplInfo = iControllers[iControllerIndex];
+		}
+
+        // This Flag is defined so that if the Helix Controller Supports
+        // the playback of Local Media for WMA, then the ProgDL still
+        // goes through the Old WMA Controller( AdvancedAudioController)
+        // We are launching the Old WMA Controller using the UID.
+
+#ifdef __WINDOWS_MEDIA
+    HBufC8* mimeType = HBufC8::NewLC(KMaxMimeLength);
+    TPtr8 mimeTypePtr = mimeType->Des();
+    mimeTypePtr.Copy(KWMAMimeType());
+
+    TBool IsSupported = EFalse;
+    const RMMFFormatImplInfoArray& playFormatInfo = iControllerImplInfo->PlayFormats();
+
+	for (TInt p = 0; p < iControllerImplInfo->PlayFormats().Count(); p++)
+		{
+		const CMMFFormatImplementationInformation* format = iControllerImplInfo->PlayFormats()[p];
+        IsSupported = format->SupportsMimeType(*mimeType);
+        if(IsSupported)
+            break;
+        }
+
+    if(IsSupported)
+        {
+        iControllerImplInfo = NULL;
+        iCurrentConfig->iControllerUid = TUid::Uid(0x10207A9B);
+        }
+    else
+#endif
+        {
+    	iCurrentConfig->iControllerUid = iControllerImplInfo->Uid();
+        }
+
+#ifdef __WINDOWS_MEDIA
+	CleanupStack::PopAndDestroy(mimeType);
+#endif
+	iState = EOpenController;
+	KickState();
+	}
+
+void CMMFFindAndOpenController::MadssaoAddDataSourceSinkAsyncComplete(TInt aError, const TMMFMessageDestination& aHandle)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::MadssaoAddDataSourceSinkAsyncComplete\n"));
+    #endif
+	iError = aError;
+
+	// take the first available exit if we're out of memory
+	// or we've been cancelled
+	if (iError == KErrNoMemory || iError == KErrCancel)
+		{
+		SendError();
+		return;
+		}
+
+	// failed to add source or sink - try the next controller
+	if (aError != KErrNone)
+		{
+		TryNextController();
+		return;
+		}
+
+	if (iState == EWaitingForSource)
+		{
+		iSourceHandle = aHandle;
+		if (iCurrentConfig == iSecondaryConfig)
+			{
+			iState = EAddSink;
+			}
+		else	// completed ok !
+			{
+			iState = EIdle;
+			iError = KErrNone;
+			SendError();
+			return;
+			}
+		}
+	else if (iState == EWaitingForSink)
+		{
+		iSinkHandle = aHandle;
+		if (iCurrentConfig == iSecondaryConfig)	// completed ok !
+			{
+			iState = EIdle;
+			iError = KErrNone;
+			SendError();
+			return;
+			}
+		else
+			{
+			iState = EAddSource;
+			}
+		}
+
+	KickState();
+	}
+
+void CMMFFindAndOpenController::SendError(TInt aError)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::SendError err= %d\n"),aError);
+    #endif
+	if (iError == KErrNone)
+		iError = aError;
+
+	iObserver.MfaocComplete(iError, iCurrentConfig->iController, iCurrentConfig->iControllerUid, &iSourceHandle, &iSinkHandle);
+
+	// if we've just attempted to open the Secondary controller,
+	// try to open the Primary controller
+	if (iCurrentConfig == iSecondaryConfig)
+		{
+		if (iError == KErrNone)
+			OpenPrimaryController();
+		}
+
+	// if we failed to open, may as well free up some memory
+	// if open succeeded we need to preserve state in case of a re-open
+	if (iError != KErrNone)
+		Close();
+	}
+
+void CMMFFindAndOpenController::SchedSendError(TInt aError)
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::SchedSendError\n"));
+    #endif
+	if (aError != KErrNone)
+		iError = aError;
+	iState = ESendError;
+	KickState();
+	}
+
+void CMMFFindAndOpenController::BuildControllerListFileNameL()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::BuildControllerListFileNameL\n"));
+    #endif
+	// Retrieve a list of possible controllers from ECOM
+	// If we don't have a match, leave with unsupported
+
+	iControllers.ResetAndDestroy();
+	iPrioritisedControllers.Reset();
+
+	TControllerMode mode = iCurrentConfig->iControllerMode;
+
+	// if we're playing, try to get the MIME type from the Content Access
+	// Framework (CAF) & use that to select a controller - if that fails,
+	// try to select a controller based on the header data/file extension
+
+	CMMFUtilityFileInfo* fileInfo = NULL;
+
+	TInt error;
+
+	//If the current CMMSourceSink is a CMMFileSourceSink
+	// Using the previous version we'd get KErrCANoPermission when calling EvaluateIntent in the
+	// CMMFUtilityFileInfo ConstructL as the intent == EUnknown, so now pass the intent as a parameter
+	// to TMMFileHandleSource and....
+	if (iUseFileHandle)
+		{
+		if (iUniqueId != NULL)
+			{
+			TMMFileHandleSource fileHandleSource(iFileHandle, (*iUniqueId), iIntent);
+			TRAP(error, fileInfo = CMMFUtilityFileInfo::NewL(fileHandleSource));
+			}
+		else
+			{
+			TMMFileHandleSource fileHandleSource(iFileHandle);
+			TRAP(error, fileInfo = CMMFUtilityFileInfo::NewL(fileHandleSource));
+			}
+		}
+	else
+		{
+		if (iUniqueId != NULL)
+			{
+			TMMFileSource fileSource(iFileName, (*iUniqueId), iIntent);
+			TRAP(error, fileInfo = CMMFUtilityFileInfo::NewL(fileSource));
+			}
+		else
+			{
+			TMMFileSource fileSource(iFileName);
+			TRAP(error, fileInfo = CMMFUtilityFileInfo::NewL(fileSource));
+			}
+		}
+
+	if (fileInfo != NULL)
+		{
+		CleanupDeletePushL(fileInfo);
+		}
+
+	if (error != KErrNone)
+		{
+		// if playback mode, leave for any error
+		// if record mode, allow KErrNotFound
+		if (mode == EPlayback || (mode != EPlayback && error != KErrNotFound))
+			{
+			User::Leave(error);
+			}
+		}
+
+	CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
+	RArray<TUid> mediaIds;
+	CleanupClosePushL(mediaIds);
+	User::LeaveIfError(mediaIds.Append(iMediaId));
+
+	cSelect->SetMediaIdsL(mediaIds, iMediaIdMatchType);
+
+
+	if (mode == EPlayback)
+		{
+		ASSERT(fileInfo!=NULL);
+		TBuf8<KMaxMimeLength> mimeType;
+		TBool mimeTypeKnown = fileInfo->GetFileMimeTypeL(mimeType);
+		if (mimeTypeKnown)
+			{
+			CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
+			fSelect->SetMatchToMimeTypeL(mimeType);
+			cSelect->SetRequiredPlayFormatSupportL(*fSelect);
+			cSelect->ListImplementationsL(iControllers);
+			CleanupStack::PopAndDestroy(fSelect);
+			}
+
+
+		// copy to the iPrioritisedControllers array - this is a NOOP if the
+		// MIME type is not known since iControllers will be empty
+		ASSERT(mimeTypeKnown || iControllers.Count() == 0);
+		for (TInt controllerIndex=0; controllerIndex < iControllers.Count(); controllerIndex++)
+			User::LeaveIfError(iPrioritisedControllers.Append(iControllers[controllerIndex]));
+
+		iControllerCount = iPrioritisedControllers.Count();
+		if (iControllerCount > 0)
+			{
+			// Clean up
+			// cSelect, mediaIds,
+			CleanupStack::PopAndDestroy(2, cSelect);
+			if (fileInfo != NULL)
+				{
+				CleanupStack::PopAndDestroy(fileInfo);
+				}
+			return;
+			}
+		}
+
+	// Retrieve header data first. If file doesn't exist, its ok.
+	HBufC8* headerData = HBufC8::NewLC(KMaxHeaderSize);
+	TPtr8 headerDataPtr = headerData->Des();
+	if (fileInfo)
+		{
+		fileInfo->GetFileHeaderDataL(headerDataPtr, KMaxHeaderSize);
+		}
+
+	// Get the filename's suffix
+	HBufC8* fileSuffix = CMMFClientUtility::GetFileExtensionL(iFileName);
+
+	CleanupStack::PushL(fileSuffix);
+	TPtr8 fileSuffixPtr = fileSuffix->Des();
+
+	// Get the secondary filename's header data (for convert)
+	HBufC8* headerDataSecondary = HBufC8::NewLC(KMaxHeaderSize);
+	TPtr8 headerDataPtrSecondary = headerDataSecondary->Des();
+	if (iFileNameSecondary.Length() > 0 && fileInfo)
+		{
+		fileInfo->GetFileHeaderDataL(headerDataPtrSecondary, KMaxHeaderSize);
+		}
+
+	// Get the secondary filename's suffix
+	HBufC8* fileSuffixSecondary = CMMFClientUtility::GetFileExtensionL(iFileNameSecondary);
+	CleanupStack::PushL(fileSuffixSecondary);
+	TPtr8 fileSuffixPtrSecondary = fileSuffixSecondary->Des();
+
+
+	CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
+
+	if (mode == EPlayback || mode == EConvert)
+		cSelect->SetRequiredPlayFormatSupportL(*fSelect);
+	if (mode == ERecord || mode == EConvert)
+		cSelect->SetRequiredRecordFormatSupportL(*fSelect);
+
+	cSelect->ListImplementationsL(iControllers);
+
+	if (iControllers.Count()==0)
+		User::Leave(KErrNotSupported);
+
+	if (mode == ERecord)
+		{
+		CMMFClientUtility::PrioritiseControllersL(
+			iControllers,
+			headerDataPtrSecondary,
+			fileSuffixPtrSecondary,
+			headerDataPtr,
+			fileSuffixPtr,
+			iPrioritisedControllers);
+		}
+	else
+		{
+		CMMFClientUtility::PrioritiseControllersL(
+			iControllers,
+			headerDataPtr,
+			fileSuffixPtr,
+			headerDataPtrSecondary,
+			fileSuffixPtrSecondary,
+			iPrioritisedControllers);
+		}
+
+	iControllerCount = iPrioritisedControllers.Count();
+	if (iControllerCount == 0)
+		User::Leave(KErrNotSupported);
+
+	// Clean up
+	// cSelect, mediaIds,
+	// headerData, fileSuffix, headerDataSecondary, fileSuffixSecondary,
+	// fSelect
+	CleanupStack::PopAndDestroy(7, cSelect);
+	if (fileInfo != NULL)
+		{
+		CleanupStack::PopAndDestroy(fileInfo);
+		}
+	}
+
+void CMMFFindAndOpenController::BuildControllerListDescriptorL()
+	{
+	// Retrieve a list of possible controllers from ECOM
+	// If we don't have a match, leave with unsupported
+
+	iControllers.ResetAndDestroy();
+
+	CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
+	CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
+
+
+	RArray<TUid> mediaIds;
+	CleanupClosePushL(mediaIds);
+	User::LeaveIfError(mediaIds.Append(iMediaId));
+
+	cSelect->SetMediaIdsL(mediaIds, iMediaIdMatchType);
+
+	TPtrC8 header = iDescriptor.Left(KMaxHeaderSize);
+	fSelect->SetMatchToHeaderDataL(header);
+
+
+	TControllerMode mode = iCurrentConfig->iControllerMode;
+	if (mode == EPlayback || mode == EConvert)
+		cSelect->SetRequiredPlayFormatSupportL(*fSelect);
+	if (mode == ERecord || mode == EConvert)
+		cSelect->SetRequiredRecordFormatSupportL(*fSelect);
+
+	cSelect->ListImplementationsL(iControllers);
+
+	iControllerCount = iControllers.Count();
+	if (iControllerCount == 0)
+		User::Leave(KErrNotSupported);
+
+	// Clean up
+	// cSelect, fSelect, mediaIds
+	CleanupStack::PopAndDestroy(3, cSelect);
+	}
+
+void CMMFFindAndOpenController::BuildControllerListUrlL()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::BuildControllerListUrlL"));
+    #endif
+	// Retrieve a list of possible controllers from ECOM
+	// If we don't have a match, leave with unsupported
+
+	iControllers.ResetAndDestroy();
+
+	CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
+	CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
+
+	RArray<TUid> mediaIds;
+	CleanupClosePushL(mediaIds);
+	User::LeaveIfError(mediaIds.Append(iMediaId));
+
+	cSelect->SetMediaIdsL(mediaIds, iMediaIdMatchType);
+
+
+ 	if (*iMimeType != KNullDesC8)
+		{
+		fSelect->SetMatchToMimeTypeL(*iMimeType);//We match to mime type
+		}
+	else
+		fSelect->SetMatchToUriL(*iUrl);
+
+
+	TControllerMode mode = iCurrentConfig->iControllerMode;
+	if (mode == EPlayback || mode == EConvert)
+		cSelect->SetRequiredPlayFormatSupportL(*fSelect);
+	if (mode == ERecord || mode == EConvert)
+		cSelect->SetRequiredRecordFormatSupportL(*fSelect);
+
+	cSelect->ListImplementationsL(iControllers);
+
+	iControllerCount = iControllers.Count();
+	if (iControllerCount == 0)
+		User::Leave(KErrNotSupported);
+
+	// Clean up
+	// cSelect, fSelect, mediaIds
+	CleanupStack::PopAndDestroy(3, cSelect);
+	}
+
+void CMMFFindAndOpenController::BuildControllerListFormatL()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::BuildControllerListFormatL"));
+    #endif
+	// Retrieve a list of possible controllers from ECOM
+	// If we don't have a match, leave with unsupported
+
+	iControllers.ResetAndDestroy();
+	iPrioritisedControllers.Reset();
+
+	CMMFControllerPluginSelectionParameters* cSelect = CMMFControllerPluginSelectionParameters::NewLC();
+
+	// Select the media IDs to allow
+	RArray<TUid> mediaIds;
+	CleanupClosePushL(mediaIds);
+	User::LeaveIfError(mediaIds.Append(iMediaId));
+
+	cSelect->SetMediaIdsL(mediaIds, iMediaIdMatchType);
+
+	CMMFFormatSelectionParameters* fSelect = CMMFFormatSelectionParameters::NewLC();
+
+	TControllerMode mode = iCurrentConfig->iControllerMode;
+	if (mode == EPlayback || mode == EConvert)
+		cSelect->SetRequiredPlayFormatSupportL(*fSelect);
+	if (mode == ERecord || mode == EConvert)
+		cSelect->SetRequiredRecordFormatSupportL(*fSelect);
+
+	//Obtain a list of the controllers
+	cSelect->ListImplementationsL(iControllers);
+
+	CleanupStack::PopAndDestroy(3, cSelect); // cSelect, mediaIds, fSelect
+
+	iControllerCount = iControllers.Count();
+	if (iControllerCount == 0)
+		User::Leave(KErrNotSupported);
+
+	TUid formatUidPrimary;
+	TUid formatUidSecondary;
+	if (mode == ERecord)
+		{
+		formatUidSecondary = iFormatUid;
+		formatUidPrimary = iFormatUidSecondary;
+		}
+	else
+		{
+		formatUidPrimary = iFormatUid;
+		formatUidSecondary = iFormatUidSecondary;
+		}
+
+	for (TInt controllerIndex=0; controllerIndex < iControllers.Count(); controllerIndex++)
+		{
+		const RMMFFormatImplInfoArray& recFormatInfo = iControllers[controllerIndex]->RecordFormats();
+		const RMMFFormatImplInfoArray& playFormatInfo = iControllers[controllerIndex]->PlayFormats();
+
+		TBool playFormatMatched = EFalse;
+		TBool recordFormatMatched = EFalse;
+
+		if (formatUidPrimary == KNullUid)
+			{
+			playFormatMatched = ETrue;
+			}
+		else
+			{
+			for(TInt playFormatIndex =0; playFormatIndex < playFormatInfo.Count(); playFormatIndex++)
+				{
+				if(playFormatInfo[playFormatIndex]->Uid() == formatUidPrimary)
+					{
+					playFormatMatched = ETrue;
+					break;
+					}
+				}
+			}
+
+		if (formatUidSecondary == KNullUid)
+			{
+			recordFormatMatched = ETrue;
+			}
+		else
+			{
+			for (TInt recFormatIndex =0; recFormatIndex < recFormatInfo.Count(); recFormatIndex++)
+				{
+				if (recFormatInfo[recFormatIndex]->Uid() == formatUidSecondary)
+					{
+					recordFormatMatched = ETrue;
+					break;
+					}
+				}
+			}
+
+		if (playFormatMatched && recordFormatMatched)
+			User::LeaveIfError(iPrioritisedControllers.Append(iControllers[controllerIndex]));
+		}
+
+	iControllerCount = iPrioritisedControllers.Count();
+	if (iControllerCount == 0)
+		User::Leave(KErrNotSupported);
+	}
+
+CMMSourceSink* CMMFFindAndOpenController::CreateSourceSinkL(const TSourceSink& aParams)
+	{
+	if (aParams.iUseFileHandle)
+		{
+		return CMMFileSourceSink::NewL(aParams.iUid, aParams.iFileHandle);
+		}
+	return CMMSourceSink::NewL(aParams.iUid, aParams.iConfigData);
+	}
+
+
+CMMSourceSink* CMMFFindAndOpenController::CreateSourceSinkL(const TMMSource& aSource)
+	{
+	if (!(aSource.SourceType()==KUidMMFileSource ||
+		aSource.SourceType()==KUidMMFileHandleSource))
+		User::Leave(KErrNotSupported);
+
+	return CMMFileSourceSink::NewL(KUidMmfFileSource, aSource);
+	}
+
+
+
+ CMMFFindAndOpenController::TSourceSink::TSourceSink(TUid aUid, const TDesC8& aConfigData)
+	: iConfigData(aConfigData)
+	{
+	iUid = aUid;
+
+	iUseFileHandle = EFalse;
+	}
+
+ CMMFFindAndOpenController::TSourceSink::TSourceSink(TUid aUid, const RFile& aFile)
+	: iConfigData(KNullDesC8)
+	{
+	iUid = aUid;
+
+	iFileHandle = aFile;
+	iUseFileHandle = ETrue;
+	}
+
+CMMFFindAndOpenController::CConfig::CConfig()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::CConfig"));
+    #endif
+	}
+
+void CMMFFindAndOpenController::CConfig::Close()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::Close"));
+    #endif
+	delete iSource;
+	iSource = NULL;
+	delete iSink;
+	iSink = NULL;
+	}
+CMMFFindAndOpenController::CConfig::~CConfig()
+	{
+    #if _DEBUG
+      RDebug::Print(_L("CMMFFindAndOpenController::~CConfig"));
+    #endif
+	Close();
+	}
+
+ CMMSourceSink* CMMSourceSink::NewLC(TUid aUid, const TDesC8& aDescriptor)
+	{
+	CMMSourceSink* self = new (ELeave) CMMSourceSink(aUid);
+	CleanupStack::PushL(self);
+	self->ConstructL(aDescriptor);
+	return self;
+	}
+
+ CMMSourceSink* CMMSourceSink::NewL(TUid aUid, const TDesC8& aDescriptor)
+	{
+	CMMSourceSink* sourcesink = CMMSourceSink::NewLC(aUid, aDescriptor);
+	CleanupStack::Pop(sourcesink);
+	return sourcesink;
+	}
+
+CMMSourceSink::CMMSourceSink(TUid aUid)
+	: iUid(aUid)
+	{
+	}
+
+CMMSourceSink::~CMMSourceSink()
+	{
+	delete iBuf;
+	}
+
+void CMMSourceSink::ConstructL(const TDesC8& aDescriptor)
+	{
+	iBuf = aDescriptor.AllocL();
+	}
+
+TUid CMMSourceSink::SourceSinkUid() const
+	{
+	return iUid;
+	}
+
+const TDesC8& CMMSourceSink::SourceSinkData() const
+	{
+	return *iBuf;
+	}
+
+ CMMFileSourceSink* CMMFileSourceSink::NewLC(TUid aUid, const RFile& aFile)
+	{
+	CMMFileSourceSink* self = new (ELeave) CMMFileSourceSink(aUid);
+	CleanupStack::PushL(self);
+	self->ConstructL(aFile);
+	return self;
+	}
+
+ CMMFileSourceSink* CMMFileSourceSink::NewL(TUid aUid, const RFile& aFile)
+	{
+	CMMFileSourceSink* sourcesink = CMMFileSourceSink::NewLC(aUid, aFile);
+	CleanupStack::Pop(sourcesink);
+	return sourcesink;
+	}
+
+CMMFileSourceSink::CMMFileSourceSink(TUid aUid)
+	: CMMSourceSink(aUid)
+	{
+	}
+
+void CMMFileSourceSink::ConstructL(const RFile& aFile)
+	{
+	iHandle.Duplicate(aFile);
+	iUsingFileHandle = ETrue;
+	iFileName = HBufC::NewMaxL(KMaxFileName);
+	TPtr fileNamePtr = iFileName->Des();
+	iHandle.Name(fileNamePtr);
+	DoCreateFileHandleSourceConfigDataL();
+	}
+const TInt KExpandSize = 100;
+
+void CMMFileSourceSink::DoCreateFileHandleSourceConfigDataL()
+	{
+	CBufFlat* buf = CBufFlat::NewL(KExpandSize);
+	CleanupStack::PushL(buf);
+	RBufWriteStream stream;
+	stream.Open(*buf);
+	CleanupClosePushL(stream);
+
+	TPckgBuf<RFile*> fileptr(&iHandle);
+	stream.WriteInt32L(KMMFileHandleSourceUid.iUid);
+
+	stream.WriteL(fileptr);
+
+	TInt length = 0;
+	if (iUniqueId != NULL)
+		length = iUniqueId->Length();
+	stream.WriteInt32L(length);
+	if (length>0)
+		stream.WriteL(*iUniqueId);
+
+	stream.WriteInt32L(iEnableUI);
+
+	stream.CommitL();
+	CleanupStack::PopAndDestroy(&stream);
+
+	iSourceSinkData = buf->Ptr(0).AllocL();
+
+	CleanupStack::PopAndDestroy(buf);
+	}
+
+const TDesC8& CMMFileSourceSink::SourceSinkData() const
+	{
+	ASSERT(iSourceSinkData);
+	return *iSourceSinkData;
+	}
+
+CMMFileSourceSink::~CMMFileSourceSink()
+	{
+	iHandle.Close();
+	delete iFileName;
+	delete iSourceSinkData;
+	delete iUniqueId;
+	}
+
+ CMMFileSourceSink* CMMFileSourceSink::NewLC(TUid aUid, const TMMSource& aSource)
+	{
+	CMMFileSourceSink* self = new (ELeave) CMMFileSourceSink(aUid);
+	CleanupStack::PushL(self);
+	self->ConstructL(aSource);
+	return self;
+	}
+
+ CMMFileSourceSink* CMMFileSourceSink::NewL(TUid aUid, const TMMSource& aSource)
+	{
+	CMMFileSourceSink* sourcesink = CMMFileSourceSink::NewLC(aUid, aSource);
+	CleanupStack::Pop(sourcesink);
+	return sourcesink;
+	}
+
+void CMMFileSourceSink::ConstructL(const TMMSource& aSource)
+	{
+	iUniqueId = aSource.UniqueId().AllocL();
+	iIntent = aSource.Intent();
+	iEnableUI = aSource.IsUIEnabled();
+
+	if (aSource.SourceType() == KUidMMFileSource)
+		{
+		const TMMFileSource& fileSource = static_cast<const TMMFileSource&>(aSource);
+		iFileName = fileSource.Name().AllocL();
+
+		DoCreateFileSourceConfigDataL();
+		}
+	else if (aSource.SourceType() == KUidMMFileHandleSource)
+		{
+		const TMMFileHandleSource& fileHandleSource = static_cast<const TMMFileHandleSource&>(aSource);
+		iHandle.Duplicate(fileHandleSource.Handle());
+		iUsingFileHandle = ETrue;
+		iFileName = HBufC::NewMaxL(KMaxFileName);
+		TPtr fileNamePtr = iFileName->Des();
+		iHandle.Name(fileNamePtr);
+
+		DoCreateFileHandleSourceConfigDataL();
+		}
+	else
+		{
+		User::Leave(KErrNotSupported);
+		}
+	}
+
+void CMMSourceSink::EvaluateIntentL()
+	{
+	}
+
+void CMMFileSourceSink::EvaluateIntentL()
+	{
+	if (iUsingFileHandle)
+		{
+   		ContentAccess::CContent* Content = ContentAccess::CContent::NewLC(iHandle);
+   		Content->OpenContentLC(iIntent, *iUniqueId);
+   		CleanupStack::PopAndDestroy(2, Content);
+		}
+	else
+		{
+		ContentAccess::CContent* Content = ContentAccess::CContent::NewLC(*iFileName);
+   		Content->OpenContentLC(iIntent, *iUniqueId);
+   		CleanupStack::PopAndDestroy(2, Content);
+		}
+	}
+
+
+
+ void CMMFileSourceSink::EvaluateIntentL(ContentAccess::TIntent aIntent)
+	{
+	if (iUsingFileHandle)
+		{
+   		ContentAccess::CContent* Content = ContentAccess::CContent::NewLC(iHandle);
+   		Content->OpenContentLC(aIntent, *iUniqueId);
+   		CleanupStack::PopAndDestroy(2, Content);
+		}
+	else
+		{
+		ContentAccess::CContent* Content = ContentAccess::CContent::NewLC(*iFileName);
+   		Content->OpenContentLC(aIntent, *iUniqueId);
+   		CleanupStack::PopAndDestroy(2, Content);
+		}
+	}
+
+void CMMFileSourceSink::DoCreateFileSourceConfigDataL()
+	{
+	CBufFlat* buf = CBufFlat::NewL(KExpandSize);
+	CleanupStack::PushL(buf);
+	RBufWriteStream stream;
+	stream.Open(*buf);
+	CleanupClosePushL(stream);
+
+	stream.WriteInt32L(KMMFileSourceUid.iUid);
+	stream.WriteInt32L(iFileName->Length());
+	stream.WriteL(*iFileName);
+	TInt length = 0;
+	if (iUniqueId != NULL)
+		length = iUniqueId->Length();
+	stream.WriteInt32L(length);
+	if (length>0)
+		stream.WriteL(*iUniqueId);
+
+	stream.WriteInt32L(iEnableUI);
+
+	stream.CommitL();
+	CleanupStack::PopAndDestroy(&stream);
+
+	iSourceSinkData = buf->Ptr(0).AllocL();
+
+	CleanupStack::PopAndDestroy(buf);
+	}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/ProgressiveDownloadUtility/src/mmfclientutility.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,447 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Progressive Download Utility  Client utility functions
+*
+*/
+
+
+
+#ifndef __MMF_CLIENT_UTILITY_H__
+#define __MMF_CLIENT_UTILITY_H__
+
+#include <mda/common/audio.h>
+#include <mda/common/gsmaudio.h>
+#include <mda/client/utility.h>
+#include <mmf/common/mmffourcc.h>
+#include <mmfformatimplementationuids.hrh>
+#include "mmf/server/mmffile.h"
+#include "mmf/server/mmfdes.h"
+#include "mmf/common/mmfcontroller.h"
+
+#include <f32file.h>
+#include <caf/content.h>
+#include <caf/data.h>
+
+
+class CMMSourceSink; // declared here.
+
+NONSHARABLE_CLASS( CMMSourceSink ): public CBase
+	{
+public:
+	 static CMMSourceSink* NewL(TUid aUid, const TDesC8& aDescriptor);
+	 static CMMSourceSink* NewLC(TUid aUid, const TDesC8& aDescriptor);
+
+	virtual ~CMMSourceSink();
+	virtual TUid SourceSinkUid() const;
+	virtual const TDesC8& SourceSinkData() const;
+
+	virtual void EvaluateIntentL();
+protected:
+	CMMSourceSink(TUid aUid);
+
+
+private:
+	void ConstructL(const TDesC8& aDescriptor);
+
+	const TUid iUid;
+	HBufC8* iBuf;
+	};
+
+
+
+
+
+class CMMFileSourceSink; // declared here.
+
+NONSHARABLE_CLASS( CMMFileSourceSink ): public CMMSourceSink
+	{
+public:
+    static CMMFileSourceSink* NewL(TUid aUid, const RFile& aFile);
+	 static CMMFileSourceSink* NewLC(TUid aUid, const RFile& aFile);
+
+	 static CMMFileSourceSink* NewL(TUid aUid, const TMMSource& aMMSource);
+	 static CMMFileSourceSink* NewLC(TUid aUid, const TMMSource& aMMSource);
+
+	const TDesC& UniqueId() const {return *iUniqueId;}
+
+	virtual ~CMMFileSourceSink();
+
+	const TDesC& FileName() const {return *iFileName;}
+	const TDesC8& SourceSinkData() const;
+
+	 void EvaluateIntentL(ContentAccess::TIntent aIntent);
+	virtual void EvaluateIntentL();
+
+protected:
+	CMMFileSourceSink(TUid aUid);
+
+private:
+	void ConstructL(const TMMSource& aSource);
+	void DoCreateFileSourceConfigDataL();
+	void ConstructL(const RFile& aFile);
+	void DoCreateFileHandleSourceConfigDataL();
+
+	TBool iUsingFileHandle;
+	RFile iHandle;
+	HBufC* iFileName;
+	HBufC8* iSourceSinkData;
+	HBufC* iUniqueId;
+	ContentAccess::TIntent iIntent;
+	TBool	iEnableUI;
+	};
+
+
+
+
+class CMMFMdaObjectStateChangeObserverCallback; // declared here.
+/**
+Active object utility class to allow the callback to be called asynchronously.
+This should help prevent re-entrant code in clients of the mediaframework.
+*/
+NONSHARABLE_CLASS( CMMFMdaObjectStateChangeObserverCallback ): public CActive
+	{
+public:
+	 static CMMFMdaObjectStateChangeObserverCallback* NewL(MMdaObjectStateChangeObserver& aCallback);
+	virtual ~CMMFMdaObjectStateChangeObserverCallback();
+	 void CallBack(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
+private:
+	CMMFMdaObjectStateChangeObserverCallback(MMdaObjectStateChangeObserver& aCallback);
+	void RunL();
+	void DoCancel();
+private:
+	MMdaObjectStateChangeObserver& iCallback;
+	CBase* iObject;
+	TInt iPreviousState;
+	TInt iCurrentState;
+	TInt iErrorCode;
+	};
+
+class CMMFClientUtility; // declared here.
+
+NONSHARABLE_CLASS( CMMFClientUtility )
+	{
+public:
+	 static TUid ConvertMdaFormatUidToECOMWrite(TUid aMdaFormatUid);
+	 static TUid ConvertMdaFormatUidToECOMRead(TUid aMdaFormatUid);
+	 static TFourCC ConvertMdaCodecToFourCC(TMdaPackage& aCodec);
+	 static TInt GetFileHeaderData(const TDesC& aFileName, TDes8& aHeaderData, TInt aMaxLength);
+	 static HBufC8* GetFileExtensionL(const TDesC& aFileName);
+	static void PrioritiseControllersL(
+		const RMMFControllerImplInfoArray& aControllers,
+		const TDesC8& aHeaderDataPlayback,
+		const TDesC8& aFileExtensionPlayback,
+		const TDesC8& aHeaderDataRecord,
+		const TDesC8& aFileExtensionRecord,
+		RMMFControllerImplInfoArray& aPrioritisedControllers);
+	static TInt GetBestMatchL(const CMMFFormatImplementationInformation* format, const TDesC8& aHeaderData, const TDesC8& aFileExtension);
+
+private:
+	CMMFClientUtility();
+	};
+
+class CMMFUtilityFileInfo; // declared here.
+
+NONSHARABLE_CLASS( CMMFUtilityFileInfo ): public CBase
+	{
+public:
+
+	static CMMFUtilityFileInfo* NewL(TMMSource& aSource);
+	static CMMFUtilityFileInfo* NewLC(TMMSource& aSource);
+
+	~CMMFUtilityFileInfo();
+
+	TBool GetFileMimeTypeL(TDes8& aMimeType);
+	void  GetFileHeaderDataL(TDes8& aHeaderData, TInt aMaxLength);
+	TInt EvaluateIntent(ContentAccess::TIntent aIntent);
+
+private:
+	CMMFUtilityFileInfo();
+
+	void ConstructL(const TMMSource& aSource);
+
+private:
+	ContentAccess::CData* iData;
+	};
+
+inline CMMFUtilityFileInfo::CMMFUtilityFileInfo()
+	{
+	};
+
+/**
+ * Mixin class that the user of the class CMMFFindAndOpenController must derive from.
+ * @internalComponent
+ */
+class MMMFFindAndOpenControllerObserver
+	{
+public:
+	/**
+	 * Callback function to indicate the success or failure
+	 * of an attempt to find and open a suitable controller and
+	 * to add a source and sink.
+	 * @see CMMFFindAndOpenController
+	 *
+	 * @param aError
+	 *        Indicates whether a controller has been opened sucessfully
+	 *        This is passed by reference, mainly for the audio recorder utility
+	 *        which opens two controllers: if the secondary controller (which is
+	 *        always opened first) fails to open, then the audio recorder utility
+	 *        may choose to set aError = KErrNone in the MfaocComplete() callback
+	 *        to indicate to CFindAndOpenControler() that it should continue
+	 *        to open the primary controller, even though opening the secondary failed.
+	 * @param aController
+	 *        A pointer to the controller that has been opened or has failed to open
+	 *        This is mainly for the audio recorder utility to indicate
+	 *        which controller (primary or secondary) has been opened.
+	 * @param aControllerUid
+	 *        the UID of the controller that has been opened
+	 * @param aSourceHandle
+	 *        a pointer to the source handle
+	 * @internalComponent
+	 *        a pointer to the sink handle
+	 */
+	virtual void MfaocComplete(
+		TInt& aError,
+		RMMFController* aController,
+		TUid aControllerUid = KNullUid,
+		TMMFMessageDestination* aSourceHandle = NULL,
+		TMMFMessageDestination* aSinkHandle = NULL) = 0;
+	};
+
+
+class CMMFFindAndOpenController; // declared here.
+/**
+ * Utility class used by the MMF client API classes.
+ * Finds and opens a suitable controller and adds a source and a sink
+ * asynchronously. Completion is indicated asynchronously
+ * using the MMMFFindAndOpenControllerObserver mixin class.
+ *
+ * @internalComponent
+ */
+NONSHARABLE_CLASS( CMMFFindAndOpenController ): public CActive, public MMMFAddDataSourceSinkAsyncObserver
+	{
+public:
+	enum TControllerMode
+		{
+		EPlayback,
+		ERecord,
+		EConvert
+		};
+
+	enum TControllerNumber
+		{
+		EPrimaryController,
+		ESecondaryController
+		};
+
+	class TSourceSink
+		{
+	public:
+		 TSourceSink(TUid aUid, const TDesC8& aData = KNullDesC8);
+		 TSourceSink(TUid aUid, const RFile& aFile);
+
+		TUid iUid;
+		const TDesC8& iConfigData;
+		TBool iUseFileHandle;
+		RFile iFileHandle;
+		};
+
+
+
+
+public:
+	 static CMMFFindAndOpenController* NewL(MMMFFindAndOpenControllerObserver& aObserver);
+	virtual ~CMMFFindAndOpenController();
+
+	// from CActive
+	virtual void DoCancel();
+	virtual void RunL();
+
+	// from MMMFAddDataSourceSinkAsyncObserver
+	virtual void MadssaoAddDataSourceSinkAsyncComplete(TInt aError, const TMMFMessageDestination& aHandle);
+
+	 void Configure(
+		TUid aMediaId,
+		TMMFPrioritySettings aPrioritySettings,
+		CMMFPluginSelectionParameters::TMediaIdMatchType aMediaIdMatchType = CMMFPluginSelectionParameters::EAllowOnlySuppliedMediaIds);
+
+	 void ConfigureController(RMMFController& aController, CMMFControllerEventMonitor& aEventMonitor, TControllerMode aControllerMode = EPlayback);
+	 void ConfigureSecondaryController(RMMFController& aController, CMMFControllerEventMonitor& aEventMonitor, TControllerMode aControllerMode = EPlayback);
+	 void ConfigureSourceSink(
+		TSourceSink aSource,
+		TSourceSink aSink);
+	 void ConfigureSecondarySourceSink(
+		TSourceSink aSource,
+		TSourceSink aSink);
+
+
+	 void ConfigureSourceSink(
+		const TMMSource& aSource,
+		TSourceSink aSink);
+
+
+
+	 void OpenByFileSource(const TMMSource& aFileSource, const TDesC& aFileNameSecondary = KNullDesC);
+
+	 void OpenByFilename(const TDesC& aFileName, const TDesC& aFileNameSecondary = KNullDesC);
+	 void OpenByFileHandle(const RFile& aFile);
+
+
+	 void OpenByFormatUid(TUid aFormatUid, TUid aFormatUidSecondary = KNullUid);
+	 void OpenByDescriptor(const TDesC8& aDescriptor);
+	 void OpenByUrl(const TDesC& aUrl, TInt aIapId, const TDesC8& aMimeType);
+	 void OpenByControllerUid(TUid aControllerUid, TUid aSecondaryControllerUid = KNullUid);
+	 void ReOpen();
+	 void Close();
+
+	 static TMMFFileConfig GetConfigFile(const TDesC& aFileName);
+	 static TMMFDescriptorConfig GetConfigDescriptor(const TDesC8& aDescriptor);
+	 static TInt GetConfigUrl(CBufFlat*& aUrlCfgBuffer, const TDesC& aUrl, TInt aIapId);
+
+private:
+	class CConfig: public CBase
+		{
+	public:
+		CConfig();
+		~CConfig();
+		void Close();
+	public:
+		RMMFController* iController;				// not owned
+		CMMFControllerEventMonitor* iEventMonitor;	// not owned
+
+		/** indicates whether this controller is being used for
+		playback, recording or converting */
+		TControllerMode iControllerMode;
+
+		CMMSourceSink* iSource;
+		CMMSourceSink* iSink;
+		TUid iControllerUid;
+		};
+
+	CMMFFindAndOpenController(MMMFFindAndOpenControllerObserver& aObserver);
+	void ConstructL();
+
+	void Init();
+
+	void ConfigureSourceSink(
+		CConfig& config,
+		TSourceSink aSource,
+		TSourceSink aSink);
+
+
+	void ConfigureSourceSink(
+		CConfig& config,
+		const TMMSource& aSource,
+		TSourceSink aSink);
+
+
+
+	void ConfigureController(
+		CConfig& config,
+		RMMFController& aController,
+		CMMFControllerEventMonitor& aEventMonitor,
+		TControllerMode aControllerMode);
+
+	void CloseController();
+
+	void OpenPrimaryController(void);
+
+	void KickState();
+	void Process();
+	void SendError(TInt aError = KErrNone);
+	void SchedSendError(TInt aError = KErrNone);
+	void BuildControllerListFileNameL();
+	void BuildControllerListDescriptorL();
+	void BuildControllerListUrlL();
+	void BuildControllerListFormatL();
+	void TryNextController();
+
+	CMMSourceSink* CreateSourceSinkL(const TSourceSink& aParams);
+
+	CMMSourceSink* CreateSourceSinkL(const TMMSource& aSource);
+
+
+private:
+	/** primary controller details */
+	CConfig* iPrimaryConfig;
+	/** secondary controller details */
+	CConfig* iSecondaryConfig;
+	/** points to either iPrimaryConfig or iSecondaryConfig */
+	CConfig* iCurrentConfig;	// not owned
+
+	enum TMode
+		{
+		EOpenByControllerUid,
+		EOpenByFileName,
+		EOpenByDescriptor,
+		EOpenByUrl,
+		EOpenByFormatUid
+		};
+	TMode iMode;
+
+	/** indicates what state the state machine is in */
+	enum TState
+		{
+		EIdle,
+		EBuildControllerList,
+		EOpenController,
+		EAddSource,
+		EAddSink,
+		EWaitingForSource,
+		EWaitingForSink,
+		ESendError
+		};
+	TState iState;
+
+	MMMFFindAndOpenControllerObserver& iObserver;
+	CMMFAddDataSourceSinkAsync* iAddDataSourceSinkAsync;
+
+	TInt iControllerIndex;
+	TInt iControllerCount;
+
+	TFileName iFileNameSecondary;	// for converting
+
+	TFileName iFileName;
+	TBool iUseFileHandle;
+	TBool iUseFileSource;
+	HBufC* iUniqueId;
+	RFile iFileHandle;
+	ContentAccess::TIntent iIntent;
+
+	HBufC* iUrl;
+	HBufC8* iMimeType;
+	TPtr8 iDescriptor;
+	TInt iIapId;
+	TUid iFormatUid;
+	TUid iFormatUidSecondary;	// for converting
+
+	TUid iMediaId;
+	TMMFPrioritySettings iPrioritySettings;
+	CMMFPluginSelectionParameters::TMediaIdMatchType iMediaIdMatchType;
+
+	RMMFControllerImplInfoArray iControllers;
+	RMMFControllerImplInfoArray iPrioritisedControllers;
+
+	// if this is non-null, then it points to an element in
+	// either iControllers or iPrioritisedControllers
+	CMMFControllerImplementationInformation* iControllerImplInfo;	// not owned
+
+	TControllerMode iControllerMode;
+	TBool iSourceSinkConfigured;
+	TInt iError;
+
+	TMMFMessageDestination iSourceHandle;
+	TMMFMessageDestination iSinkHandle;
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project build file for ProgressiveDownloadUtility
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+
+DEFAULT
+
+PRJ_EXPORTS
+../Data/ProgressiveDownload_Stub.SIS   /epoc32/data/z/system/install/ProgressiveDownload_Stub.SIS
+../rom/progressivedownload.iby         CORE_MW_LAYER_IBY_EXPORT_PATH(progressivedownload.iby)
+
+
+PRJ_MMPFILES
+#ifdef __SERIES60_NATIVE_BROWSER
+#ifdef RD_PROGDOWNLOAD
+../ProgressiveDownloadSource/group/ProgressiveDownloadSource.mmp
+../ProgressiveDownloadUtility/group/PDProperties.mmp
+../ProgressiveDownloadUtility/group/ProgressiveDownloadUtility.mmp
+#endif
+#endif
+
+PRJ_TESTMMPFILES
+#ifdef __SERIES60_NATIVE_BROWSER
+#ifdef RD_PROGDOWNLOAD
+//../internal/progdownloadtestapp/group/progdownload.mmp
+#endif
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/progressivedownload/rom/progressivedownload.iby	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  IBY file for ProgressiveDownloadUtility
+*
+*/
+
+
+
+
+#ifndef PROGRESSIVEDOWNLOAD_IBY
+#define PROGRESSIVEDOWNLOAD_IBY
+
+#ifdef __SERIES60_NATIVE_BROWSER
+#ifdef RD_PROGDOWNLOAD
+
+file=ABI_DIR\BUILD_DIR\ProgressiveDownloadUtility.dll     SHARED_LIB_DIR\ProgressiveDownloadUtility.dll
+file=ABI_DIR\BUILD_DIR\PDProperties.dll                     SHARED_LIB_DIR\PDProperties.dll
+
+// For ProgressiveDownload DataSource
+ECOM_PLUGIN(ProgressiveDownloadSource.dll, ProgressiveDownloadSource.rsc)
+
+#endif
+#endif
+
+// PROGRESSIVEDOWNLOAD STUB
+data=ZSYSTEM\install\ProgressiveDownload_Stub.SIS    System\Install\ProgressiveDownload_Stub.SIS
+
+
+#endif //PROGRESSIVEDOWNLOAD_IBY
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_info/mmmw_metadata/mmmw_metadata.mrp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,6 @@
+component           mmmw_metadata
+source   \sf\mw\mmmw\mmmw_info\mmmw_metadata 
+source   \sf\mw\mmmw\package_definition.xml
+source   \sf\mw\mmmw\distribution.policy.s60
+notes_source      \component_defs\release.src
+ipr T 
--- a/mmmw_plat/audio_metadata_reader_api/inc/MetaDataField.hrh	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/inc/MetaDataField.hrh	Wed Sep 01 12:23:00 2010 +0100
@@ -26,7 +26,7 @@
     EUnknownMetaDataField = 0,
 
     EMetaDataSongTitle = 1,
-    EMetaDataArtist,     // the artist of the song
+    EMetaDataArtist,
     EMetaDataAlbum,
     EMetaDataYear,
     EMetaDataComment,
@@ -46,8 +46,7 @@
     EMetaDataUnsyncLyrics,
     EMetaDataProtected,   // get the Protected info, "0"=non protected, "1"=protected
     EMetaDataSampleRate,  // Hz
-    EMetaDataBitRate,     // Bps		
-    EMetaDataAlbumArtist  // the artist of the album
+    EMetaDataBitRate      // Bps		
 	
     // More later...
     };
--- a/mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/group/MetaDataDisplay.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/group/MetaDataDisplay.pkg	Wed Sep 01 12:23:00 2010 +0100
@@ -44,15 +44,15 @@
 ; None
 
 ; Install files
-; "..\..\data\mmc\DownUnder_remix.aac"   -   "e:\testing\data\DownUnder_remix.aac"
-; "..\..\data\mmc\DRM_NRTmeta.dcf"   -   "e:\testing\data\DRM_NRTmeta.dcf"
-; "..\..\data\mmc\JapJap.mp3"   -   "e:\testing\data\JapJap.mp3"
-; "..\..\data\mmc\JepJep.mp3"   -   "e:\testing\data\JepJep.mp3"
-; "..\..\data\mmc\JipJip.mp3"   -   "e:\testing\data\JipJip.mp3"
-; "..\..\data\mmc\MP3_MD.mp3"   -   "e:\testing\data\MP3_MD.mp3"
-; "..\..\data\mmc\test3gp.3gp"   -   "e:\testing\data\test3gp.3gp"
-; "..\..\data\mmc\testm4a.m4a"   -   "e:\testing\data\testm4a.m4a"
-; "..\..\data\mmc\testmp4.mp4"   -   "e:\testing\data\testmp4.mp4"
+"..\..\data\mmc\DownUnder_remix.aac"   -   "e:\testing\data\DownUnder_remix.aac"
+"..\..\data\mmc\DRM_NRTmeta.dcf"   -   "e:\testing\data\DRM_NRTmeta.dcf"
+"..\..\data\mmc\JapJap.mp3"   -   "e:\testing\data\JapJap.mp3"
+"..\..\data\mmc\JepJep.mp3"   -   "e:\testing\data\JepJep.mp3"
+"..\..\data\mmc\JipJip.mp3"   -   "e:\testing\data\JipJip.mp3"
+"..\..\data\mmc\MP3_MD.mp3"   -   "e:\testing\data\MP3_MD.mp3"
+"..\..\data\mmc\test3gp.3gp"   -   "e:\testing\data\test3gp.3gp"
+"..\..\data\mmc\testm4a.m4a"   -   "e:\testing\data\testm4a.m4a"
+"..\..\data\mmc\testmp4.mp4"   -   "e:\testing\data\testmp4.mp4"
 "..\..\init\TestFramework.ini"   -   "c:\TestFramework\TestFramework.ini" 
 "..\..\conf\MetaDataDisplay.cfg"   -   "c:\TestFramework\MetaDataDisplay.cfg"
 "\epoc32\release\armv5\urel\MetaDataDisplay.dll"   -   "!:\Sys\Bin\MetaDataDisplay.dll"
--- a/mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/inc/MetaDataDisplay.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/inc/MetaDataDisplay.h	Wed Sep 01 12:23:00 2010 +0100
@@ -42,7 +42,7 @@
 const TInt KErrExecuted = KErrNone;
 const TInt KErrLeft = -1503;
 const TInt KBadParameter = 1004;
-const TInt KNumMetaDataField = 19;
+const TInt KNumMetaDataField = 23;
 // MACROS
 //#define ?macro ?macro_def
 #define TEST_CLASS_VERSION_MAJOR 0
@@ -304,7 +304,6 @@
     	
         HBufC*   iMetaDataField[KNumMetaDataField];
         TBuf<50> iMetaDataFieldName[KNumMetaDataField];
-        TMetaDataFieldId iMetaDataFieldID[KNumMetaDataField];
 
 		// For X-pcs Metadata
 		HBufC* iArtistXpcs;
--- a/mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/src/MetaDataDisplayBlocks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/src/MetaDataDisplayBlocks.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -295,7 +295,7 @@
 		iLog->Log(_L("Input file [%S]"), &FileNamePtr);
 		while( aItem.GetNextInt( wantedField ) == KErrNone )			
 			{
-			aWantedFields.Append(iMetaDataFieldID[wantedField]);					    		    
+			aWantedFields.Append( (TMetaDataFieldId)wantedField );
 			}
 		TRAP(err, iMetaData->OpenFileL( FileName, aWantedFields ));
 		aWantedFields.Close();
@@ -375,7 +375,7 @@
 		User::LeaveIfError(file.Open( fs, FileName, EFileRead));
 		while( aItem.GetNextInt( wantedField ) == KErrNone )			
 			{
-			aWantedFields.Append(iMetaDataFieldID[wantedField]);					    		    
+			aWantedFields.Append((TMetaDataFieldId)wantedField);					    		    
 			}
 	    TRAP(err, iMetaData->OpenFileL( file, aWantedFields ));
 	    fs.Close();
@@ -523,7 +523,7 @@
 		// Get aWantedFields
 		while( aItem.GetNextInt( wantedField ) == KErrNone )			
 			{
-			aWantedFields.Append(iMetaDataFieldID[wantedField]);					    		    
+			aWantedFields.Append((TMetaDataFieldId)wantedField);					    		    
 			}
 		TRAP(err, iMetaData->OpenDesL(*SoundFile, aWantedFields));
 		CleanupStack::PopAndDestroy(SoundFile);		
@@ -802,7 +802,7 @@
 
 	   while( !aItem.GetNextInt( wantedField ) )
 		   {
-		   aWantedFields.Append( iMetaDataFieldID[wantedField] );
+		   aWantedFields.Append( (TMetaDataFieldId)wantedField );
 		   }
 	   if( SoundFileDes && SoundFile )
 		   {
@@ -950,7 +950,7 @@
 	   
 	   while( !aItem.GetNextInt( wantedField ) )
 		   {
-		   aWantedFields.Append( iMetaDataFieldID[wantedField] );
+		   aWantedFields.Append( (TMetaDataFieldId)wantedField );
 		   }
 	   if( SoundFile )
 		   {
@@ -1114,7 +1114,7 @@
 	   
 	   while( !aItem.GetNextInt( wantedField ) )
 		   {
-		   aWantedFields.Append( iMetaDataFieldID[wantedField] );
+		   aWantedFields.Append( (TMetaDataFieldId)wantedField );
 		   }
 	   if( SoundFile )
 		   {
@@ -1872,8 +1872,7 @@
 						}
 					else
 						{
-						//iLog->Log( _L("The content of meta data field [%d] is [%S]."),field.Alloc() );
-					    iLog->Log( _L("Unknown meta data field"));
+						iLog->Log( _L("The content of meta data field [%d] is [%S]."),field.Alloc() );
 						}
 					break;
 					}
--- a/mmmw_plat/audio_metadata_reader_api/tsrc/conf/MetaDataDisplay.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/tsrc/conf/MetaDataDisplay.cfg	Wed Sep 01 12:23:00 2010 +0100
@@ -93,6 +93,17 @@
 [Endtest]
 
 [Test]
+title MetadataUtility.3.7 - OpenFile GodRest.WMA
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestOpenFile GodRest.WMA
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
+[Test]
 title MetadataUtility.4.1 - OpenFileWithField test3gp.3gp 
 create MetaDataDisplay Utility
 Utility TestCreateUtility
@@ -158,6 +169,17 @@
 delete Utility
 [Endtest]
 
+[Test]
+title MetadataUtility.4.7 - OpenFileWithField GodRest.WMA
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestOpenFileWithFieldL GodRest.WMA 1 7 10 2 5 1 3 21 22
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
 
 [Test]
 title MetadataUtility.5.1 - OpenRFile test3gp.3gp 
@@ -226,6 +248,17 @@
 [Endtest]
 
 [Test]
+title MetadataUtility.5.7 - OpenRFile GodRest.WMA 
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestOpenRFile GodRest.WMA
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
+[Test]
 title MetadataUtility.6.1 - OpenRFileWithField test3gp.3gp 
 create MetaDataDisplay Utility
 Utility TestCreateUtility
@@ -292,6 +325,17 @@
 [Endtest]
 
 [Test]
+title MetadataUtility.6.7 - OpenRFileWithField GodRest.WMA
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestOpenRFileWithFieldL GodRest.WMA 1 7 10 2 5 1 3 21 22
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
+[Test]
 title MetadataUtility.7.1 - OpenDesFile test3gp.3gp 
 create MetaDataDisplay Utility
 Utility TestCreateUtility
@@ -468,7 +512,18 @@
 [Endtest]
 
 [Test]
-title MetadataUtility.10 - MetaDataFields testmp4.mp4
+title MetadataUtility.9.7 - MetaDataCount GodRest.WMA
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestMetaDataCountL GodRest.WMA 4
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
+[Test]
+title MetadataUtility.10.1 - MetaDataFields testmp4.mp4
 create MetaDataDisplay Utility
 Utility TestCreateUtility
 pause 1000
@@ -479,6 +534,17 @@
 [Endtest]
 
 [Test]
+title MetadataUtility.10.2 - MetaDataFields GodRest.WMA
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestMetaDataFieldsL GodRest.WMA 4
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
+[Test]
 title MetadataUtility.11 - OpenDesLWith3paras
 create MetaDataDisplay Utility
 Utility TestCreateUtility
@@ -640,7 +706,7 @@
 [Endtest]
 
 [Test]
-title MetadataUtility.22-1 - TestProcessChunkData
+title MetadataUtility.22.1 - TestProcessChunkData
 create MetaDataDisplay Utility
 Utility CreateChunkDataTester
 Utility TestProcessChunkData JepJep.mp3 MimeUsed
@@ -651,7 +717,7 @@
 [Endtest]
 
 [Test]
-title MetadataUtility.22-2 - TestProcessChunkData
+title MetadataUtility.22.2 - TestProcessChunkData
 create MetaDataDisplay Utility
 Utility CreateChunkDataTester
 Utility TestProcessChunkData testmp4.mp4 MimeUsed
@@ -662,7 +728,7 @@
 [Endtest]
 
 [Test]
-title MetadataUtility.22-3 - TestProcessChunkData
+title MetadataUtility.22.3 - TestProcessChunkData
 create MetaDataDisplay Utility
 Utility CreateChunkDataTester
 Utility TestProcessChunkData testm4a.m4a MimeUsed
@@ -698,6 +764,9 @@
 EDuration				17
 EDate					18
 EUnsyncLyrics			19
+EMetaDataProtected      20
+EMetaDataSampleRate     21
+EMetaDataBitRate        22
 // More later...
 [Enddefine]
 
@@ -859,7 +928,7 @@
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
 pause 1000
-		//0 stands for that you want to append 0 metadata field, you could append 0-19 fields
+        //0 stands for that you want to append 0 metadata field, you could append 0-19 fields
 Utility ContainerAppendLTDesCL 0
 pause 1000
 Utility TestDeleteUtility
@@ -922,7 +991,7 @@
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
 Utility ContainerAppendLTDesCL 5 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song
-											//more choices could be added here
+                       //more choices could be added here
 Utility TestDeleteUtility
 delete Utility
 pause 1000
@@ -935,7 +1004,7 @@
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
 Utility ContainerAppendLTDesCL 6 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song EDate 20081217
-											//more choices could be added here
+                      //more choices could be added here
 Utility TestDeleteUtility
 delete Utility
 pause 1000
@@ -947,7 +1016,7 @@
 Utility TestCreateUtility
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
-		//0 stands for that you want to append 0 metadata field, you could append 0-19 fields
+        //0 stands for that you want to append 0 metadata field, you could append 0-19 fields
 Utility ContainerAppendLTDesC8L 0
 Utility TestDeleteUtility
 delete Utility
@@ -1009,7 +1078,7 @@
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
 Utility ContainerAppendLTDesC8L 5 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song
-											//more choices could be added here
+                        //more choices could be added here
 Utility TestDeleteUtility
 delete Utility
 pause 1000
@@ -1022,7 +1091,7 @@
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
 Utility ContainerAppendLTDesC8L 6 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song EDate 20081217
-											//more choices could be added here
+                //more choices could be added here
 Utility TestDeleteUtility
 delete Utility
 pause 1000
@@ -1046,7 +1115,7 @@
 Utility TestCreateUtility
 Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
-	 //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
+    //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
 Utility ContainerAt 0
 Utility TestDeleteUtility
 delete Utility
@@ -1059,7 +1128,7 @@
 Utility TestCreateUtility
 Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
-	 //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
+    //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
 Utility ContainerAppendLTDesCL 6 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song EDate 20081217
 Utility ContainerAt 0 1 2 3 4 5 6
 Utility TestDeleteUtility
@@ -1085,7 +1154,7 @@
 Utility TestCreateUtility
 Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
-	//When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
+    //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
 Utility ContainerFieldIdAt 0
 Utility TestDeleteUtility
 delete Utility
@@ -1098,7 +1167,7 @@
 Utility TestCreateUtility
 Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
-	//When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
+    //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
 Utility ContainerAppendLTDesCL 6 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song EDate 20081217
 Utility ContainerFieldIdAt 0 1 2 3 4 5 6
 Utility TestDeleteUtility
--- a/mmmw_plat/audio_metadata_reader_api/tsrc/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/tsrc/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -37,7 +37,20 @@
 
 PRJ_TESTEXPORTS
 
+..\init\TestFramework.ini                      \epoc32\winscw\c\testframework\TestFramework.ini
 
+..\conf\MetaDataDisplay.cfg                   \epoc32\winscw\c\testframework\MetaDataDisplay.cfg
+
+..\data\mmc\GodRest.WMA                   \epoc32\winscw\c\testing\data\GodRest.WMA
+..\data\mmc\DRM_NRTmeta.dcf                   \epoc32\winscw\c\testing\data\DRM_NRTmeta.dcf
+..\data\mmc\DownUnder_remix.aac                   \epoc32\winscw\c\testing\data\DownUnder_remix.aac
+..\data\mmc\JapJap.mp3                   \epoc32\winscw\c\testing\data\JapJap.mp3
+..\data\mmc\JepJep.mp3                   \epoc32\winscw\c\testing\data\JepJep.mp3
+..\data\mmc\JipJip.mp3                   \epoc32\winscw\c\testing\data\JipJip.mp3
+..\data\mmc\MP3_MD.mp3                   \epoc32\winscw\c\testing\data\MP3_MD.mp3
+..\data\mmc\test3gp.3gp                   \epoc32\winscw\c\testing\data\test3gp.3gp
+..\data\mmc\testm4a.m4a                   \epoc32\winscw\c\testing\data\testm4a.m4a
+..\data\mmc\testmp4.mp4                   \epoc32\winscw\c\testing\data\testmp4.mp4
 
 PRJ_MMPFILES
 
--- a/mmmw_plat/audio_metadata_reader_api/tsrc/init/TestFramework.ini	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/tsrc/init/TestFramework.ini	Wed Sep 01 12:23:00 2010 +0100
@@ -43,8 +43,7 @@
 
 [Engine_Defaults]
 
-TestReportMode= FullReport    # Possible values are: 'Empty', 'Summary', 'Environment',
-                                                     'TestCases' or 'FullReport'
+TestReportMode= FullReport    # Possible values are: 'Empty', 'Summary', 'Environment', 'TestCases' or 'FullReport'
 
 CreateTestReport= YES         # Possible values: YES or NO
 
--- a/mmmw_plat/audio_output_control_utility_api/tsrc/AudioOutputControlTestClass/inc/AudioOutputControlTestClass.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/audio_output_control_utility_api/tsrc/AudioOutputControlTestClass/inc/AudioOutputControlTestClass.h	Wed Sep 01 12:23:00 2010 +0100
@@ -42,6 +42,7 @@
 #include <StreamControl.h>
 #include <ControlObserver.h>
 #include <Events.h>
+#include <ProgDLSource.h>
 #include <DataBufferSource.h>
 #include <FileSource.h>
 #include <DataBuffer.h>
@@ -108,6 +109,7 @@
 
 using multimedia::MStreamControl;
 using multimedia::MControlObserver;
+using multimedia::MProgDLSource;
 using multimedia::MDataBufferSource;
 using multimedia::MDescriptorSource;
 using multimedia::MDataBuffer;
Binary file mmmw_plat/call_audio_control_api/tsrc/data/mmc/alarm 1.aac has changed
--- a/mmmw_plat/configuration_components_factory_api/inc/ConfigurationComponentsFactory.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/configuration_components_factory_api/inc/ConfigurationComponentsFactory.h	Wed Sep 01 12:23:00 2010 +0100
@@ -76,19 +76,15 @@
      * Constructor
      *
      */
-    #ifdef __WINSCW__
     IMPORT_C CConfigurationComponentsFactory();
-    IMPORT_C void ConstructL();
-    #else 
-    CConfigurationComponentsFactory();
-    void ConstructL();
-    #endif
 
     /**
      * Second phase constructor. The derived class should call this during
      * construction.
      *
      */
+    IMPORT_C void ConstructL();
+
     protected:  // Data
         // Actual implementation class.
         class CBody;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/emc_progressive_download_source_api/emc_progressive_download_source_api.metaxml	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,18 @@
+<?xml version="1.0" ?>
+<api id="395db82b74d00371df870fcb8d6e4b4e" dataversion="2.0">
+  <name>EMC Progressive Download Source API</name>
+  <description>This API defines a Progressive Download Source API for progressively downloading media file on the S60 platform using Enhanced Audio Playback API.</description>
+  <type>c++</type>
+  <collection>audioenhancements</collection>
+  <libs>
+    <lib name="EnhancedMediaClient.lib" />
+  </libs>
+  <release category="platform"/>
+  <attributes>
+     <!-- This indicates wether the api provedes separate html documentation -->
+     <!-- or is the additional documentation generated from headers. -->
+     <!-- If you are unsuere then the value is "no" -->
+     <htmldocprovided>no</htmldocprovided>
+     <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/emc_progressive_download_source_api/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  File that exports the files belonging to 
+:                EMC Progressive Download Source API
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/ProgDLSource.h     MW_LAYER_PLATFORM_EXPORT_PATH(ProgDLSource.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/emc_progressive_download_source_api/inc/ProgDLSource.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Header of ProgDLSource class.
+*
+*/
+
+
+#ifndef PROGDLSOURCE_H
+#define PROGDLSOURCE_H
+
+#include <e32base.h>
+#include <SourceControl.h>
+
+namespace multimedia
+    {
+    
+    const TUid KProgDLSourceControl = {0x10207B43};
+    
+
+    // Class declaration
+    class MProgDLSource : public MSourceControl
+        {
+        public:
+        
+            enum TDownloadStatus
+            {
+                EUnknown,
+                EConnecting,
+                EStarted,
+                EPaused,
+                EFailed,
+                EDeleted,
+                ECompleted
+            };
+            
+            // Control msg
+            virtual TInt Open(const TDesC& aFileName,TInt32 aDLTxId ) = 0;
+            virtual TInt MoveFile(const TDesC& aDestFileName ) = 0;
+            virtual TInt CancelDownload() = 0;
+            virtual TInt ResumeDownload() = 0;
+            virtual TInt GetCurrentFileSize( TUint& aSize ) = 0;
+            virtual TInt GetExpectedFileSize( TUint& aSize ) = 0;
+            virtual TDownloadStatus GetDownloadStatus() = 0;
+            virtual TInt IsDownloadComplete(TBool& aBool) = 0;
+            virtual TInt GetPercentageDownloaded(TUint& aPercent) = 0;
+            virtual TInt GetPercentageBuffered(TUint& aPercent) = 0;            
+            virtual TInt GetDownloadingRate(TUint& aRate) = 0;
+            virtual TInt GetBitRate(TUint& aRate) = 0;
+            virtual TInt FileName(TPtr& aFileName) = 0;            
+        };
+    } // namespace multimedia
+
+#endif // PROGDLSOURCE_H
+
+// End of file
--- a/mmmw_plat/enhanced_media_client_api/tsrc/Conf/EnhanMediaTestClass.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/enhanced_media_client_api/tsrc/Conf/EnhanMediaTestClass.cfg	Wed Sep 01 12:23:00 2010 +0100
@@ -1231,6 +1231,82 @@
 [Endtest]
 
 
+
+#[Test]
+#title 22. MP3-PDLS EMC Download
+#create EnhanMediaTestClass AudioEnhs
+#AudioEnhs CreateFactory
+#AudioEnhs Gen_StartProgDL http:\/\/10.123.32.53/sugarsugar-50KB.mp3 "Ethernet with Daemon Dynamic IP" C:\test.mp3
+#AudioEnhs CreateStream
+#AudioEnhs AddObserver 3
+#AudioEnhs CreateSource 6
+#AudioEnhs AddObserver 6
+#AudioEnhs CreateSink 4
+#AudioEnhs AddObserver 4
+#AudioEnhs StreamAddSource 6
+#AudioEnhs StreamAddSink 4
+#AudioEnhs PDLSOpenL
+#AudioEnhs StreamOpen
+#waittestclass AudioEnhs
+#AudioEnhs StreamStart
+#pause 10000
+#AudioEnhs StreamPause
+#AudioEnhs PDLSGetCurFileSizeL
+#AudioEnhs PDLSGetExpFileSizeL
+#AudioEnhs PDLSGetDLStatusL
+#AudioEnhs PDLSIsDLCompleteL
+#AudioEnhs PDLSGetPerDownloadedL
+#AudioEnhs PDLSGetPerBufferedL
+#AudioEnhs PDLSGetDLRateL
+#AudioEnhs PDLSGetBitRateL
+#AudioEnhs PDLSResumeDownloadL
+#AudioEnhs Control_Type 6
+#AudioEnhs Control_ControlType 6
+#AudioEnhs PDLSGetSize
+#pause 10000
+#AudioEnhs StreamStart
+#AudioEnhs PDLSMoveFileL c:\testing\data\test1.mp3
+#//pause 7000
+#//AudioEnhs StreamStop
+#//pause 2000
+#AudioEnhs StreamClose
+#AudioEnhs RemoveObserver 4
+#AudioEnhs RemoveObserver 6
+#AudioEnhs RemoveObserver 3
+#AudioEnhs DeleteStream
+#AudioEnhs DeleteSink 
+#AudioEnhs DeleteSource
+#AudioEnhs DeleteFactory
+#delete AudioEnhs
+#[Endtest] 
+
+#[Test]
+#title 23 MP3-PDLS EMC CancelDownload
+#create EnhanMediaTestClass AudioEnhs
+#AudioEnhs CreateFactory
+#AudioEnhs Gen_StartProgDL http:\/\/10.123.32.53/sugarsugar-50KB.mp3 "Ethernet with Daemon Dynamic IP" C:\test.mp3
+#AudioEnhs CreateStream
+#AudioEnhs AddObserver 3
+#AudioEnhs CreateSource 6
+#AudioEnhs AddObserver 6
+#AudioEnhs CreateSink 4
+#AudioEnhs AddObserver 4
+#AudioEnhs StreamAddSource 6
+#AudioEnhs StreamAddSink 4
+#AudioEnhs PDLSOpenL
+#pause 3000
+#AudioEnhs PDLSCancelDownloadL
+#pause 4000
+#AudioEnhs RemoveObserver 4
+#AudioEnhs RemoveObserver 6
+#AudioEnhs RemoveObserver 3
+#AudioEnhs DeleteStream
+#AudioEnhs DeleteSink 
+#AudioEnhs DeleteSource
+#AudioEnhs DeleteFactory
+#delete AudioEnhs
+#[Endtest] 
+
 #[ER_DecayHFRatio]    		ERDecayHFRatioL = 50
 #[ER_DecayHFRatioRange]    	ERDecayHFRatioRangeL = Min[10] Max[200]
 #[ER_DecayTime]    		ERDecayTimeL = 1000
--- a/mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/EABI/EnhanMediaTestClassu.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/EABI/EnhanMediaTestClassu.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,5 +1,5 @@
 EXPORTS
 	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-	_ZTI14CSimpleTimeout @ 2 NONAME
-	_ZTV14CSimpleTimeout @ 3 NONAME
+	_ZTI14CSimpleTimeout @ 2 NONAME ; #<TI>#
+	_ZTV14CSimpleTimeout @ 3 NONAME ; #<VT>#
 
--- a/mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/inc/EnhanMediaTestClass.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/inc/EnhanMediaTestClass.h	Wed Sep 01 12:23:00 2010 +0100
@@ -37,6 +37,7 @@
 #include <SourceControl.h>
 #include <ControlObserver.h>
 #include <Events.h>
+#include <ProgDLSource.h>
 #include <DataBufferSource.h>
 #include <FileSource.h>
 #include <DataBuffer.h>
@@ -70,8 +71,10 @@
 
 #include "CEMCConstants.h"
 
+#include <DownloadMgrClientApiExt.h>
 using multimedia::MStreamControl;
 using multimedia::MControlObserver;
+using multimedia::MProgDLSource;
 using multimedia::MDataBufferSource;
 using multimedia::MDescriptorSource;
 using multimedia::MDataBuffer;
@@ -116,7 +119,8 @@
 */
 NONSHARABLE_CLASS(CEnhanMediaTestClass) : public CScriptBase,
 										  public MTimeoutObserver
-										  ,public MControlObserver
+										  ,public MControlObserver,
+										  public MHttpDownloadMgrObserver
 											//public MDevSoundObserver,
 											//public MMdaAudioOutputStreamCallback
 										//	public MRadioFmTunerObserver,
@@ -136,6 +140,14 @@
         virtual ~CEnhanMediaTestClass();
 
         void Event( MControl* aObject,TUint aEvent, TAny* aData );
+        /**
+        * From MhttpDownloadMgrObserver.
+        * Callback from the DownloadManager notifying Client Events.
+        * @since S60 v3.2
+        * @param aDownload Download for which the Event is meant
+        * @param aEvent Actual Event
+        */
+        void HandleDMgrEventL( RHttpDownload& aDownload, THttpDownloadEvent aEvent );
 
 		enum TAEnhsExpectedEvent
 		{
@@ -405,6 +417,21 @@
 
 	    TInt CreateSeekableData(CStifItemParser& aItem);
 
+	    TInt GeneralGen_StartProgDLL(CStifItemParser& aItem);
+	    TInt PDLSOpenL(CStifItemParser& aItem);
+	    TInt PDLSGetCurFileSizeL(CStifItemParser& aItem);
+	    TInt PDLSGetExpFileSizeL(CStifItemParser& aItem);
+	    TInt PDLSGetDLStatusL(CStifItemParser& aItem);
+	    TInt PDLSIsDLCompleteL(CStifItemParser& aItem);
+	    TInt PDLSGetPerDownloadedL(CStifItemParser& aItem);
+	    TInt PDLSGetPerBufferedL(CStifItemParser& aItem);
+	    TInt PDLSGetDLRateL(CStifItemParser& aItem);
+	    TInt PDLSGetBitRateL(CStifItemParser& aItem);
+	    TInt PDLSResumeDownloadL(CStifItemParser& aItem);
+	    TInt PDLSMoveFileL(CStifItemParser& aItem);
+	    TInt PDLSGetSize(CStifItemParser& aItem);
+	    TInt PDLSCancelDownloadL(CStifItemParser& aItem);
+
 	    TInt AudioEffectIsEnabled (CStifItemParser& aItem);
 
 	    TInt HandleAudioEffectEnableL(CStifItemParser& aItem);
@@ -530,6 +557,7 @@
         MSourceControl* iSourceControl;
         RPointerArray<MDataBuffer>  iBuffers;
         RArray<TInt> iAvailable;
+        MProgDLSource* iMProgDLSource;
         MEqualizerControl* iMEqualizerControl;
         MBassBoostControl* iMBassBoostControl;
         MVolumeControl* iMVolumeControl;
@@ -569,6 +597,20 @@
 
         TInt iAllowedDevice;
 
+        // Url used to Open the PDL
+        HBufC8*  iUrlName;
+        // Download Manager instance to which we connect
+        RHttpDownloadMgrApiExt  iDownloadMgr;
+        // Whether the DMgr is connected or not
+        TBool iDMgrConnected;
+        // Download for which we connect
+        RHttpDownload* iDownload;
+        // Current Download ID
+        TInt32 iDownloadId;
+        // Temp FileName
+        HBufC* iAccessPtName;
+
+
         CActiveSchedulerWait* iActive;
     	// ?one_line_short_description_of_data
         //?data_declaration;
--- a/mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/src/EnhanMediaTestCallbacks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/src/EnhanMediaTestCallbacks.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -94,6 +94,14 @@
  			    {
  			    switch (aEventType)
 			        {
+			        case MSourceControlObserver::KPercentageDownloadedChangedEvent:
+			        	{
+			        	TUint percent;
+			        	MProgDLSource* control1 = (MProgDLSource*)(aControl);
+			        	control1->GetPercentageBuffered(percent);
+			            iLog->Log(_L("KPercentageDownloadedChangedEvent"));
+			        	}
+			            break;
 			        case MSourceControlObserver::KBufferingTypesSupportChangedEvent:
 			        	{
 			            iLog->Log(_L("KBufferingTypesSupportChangedEvent"));
@@ -114,12 +122,73 @@
 			            iLog->Log(_L("CEnhanMediaTestClass::Event:BitRateChanged[%d]"),rate);
 			        	}
 			            break;
+			        case MSourceControlObserver::KDownloadStatusChangedEvent:
+			            {
+			            MProgDLSource* control1 = (MProgDLSource*)(aControl);
+			            RDebug::Print(_L("CMPlayerAudioUIController::Event:DownloadStatus[%d]"),control1->GetDownloadStatus());
+			            iLog->Log(_L("CMPlayerAudioUIController::Event:DownloadStatus[%d]"),control1->GetDownloadStatus());
+			            switch(control1->GetDownloadStatus())
+			            	{
+
+			            	case MProgDLSource::EConnecting:
+			            	    {
+			            	    RDebug::Print(_L("CEnhanMediaTestClass::Event:DownloadStatus [connecting]"));
+					            iLog->Log(_L("CEnhanMediaTestClass::Event:DownloadStatus [connecting]"));
+			            	    }
+			            	    break;
+
+			            	case MProgDLSource::EStarted:
+			            		{
+			            		RDebug::Print(_L("CEnhanMediaTestClass::Event:DownloadStatus [started]"));
+					            iLog->Log(_L("CEnhanMediaTestClass::Event:DownloadStatus [started]"));
+			            		}
+			            	    break;
+
+			            	case MProgDLSource::EPaused:
+			            		{
+			            	    RDebug::Print(_L("CEnhanMediaTestClass::Event:DownloadStatus [paused]"));
+					            iLog->Log(_L("CEnhanMediaTestClass::Event:DownloadStatus [paused]"));
+			            		}
+			            	    break;
+
+			            	case MProgDLSource::EDeleted:
+			            		{
+			            	    RDebug::Print(_L("CEnhanMediaTestClass::Event:DownloadStatus [deleted]"));
+					            iLog->Log(_L("CEnhanMediaTestClass::Event:DownloadStatus [deleted]"));
+			            		}
+			                    break;
+			            	case MProgDLSource::ECompleted:
+			            		{
+			            	    RDebug::Print(_L("CEnhanMediaTestClass::Event:DownloadStatus [completed]"));
+					            iLog->Log(_L("CEnhanMediaTestClass::Event:DownloadStatus [completed]"));
+			            		}
+			            	    break;
+			   	            case MProgDLSource::EFailed:
+			                    {
+			        	        RDebug::Print(_L("CEnhanMediaTestClass::Event:DownloadStatus [failed]"));
+					            iLog->Log(_L("CEnhanMediaTestClass::Event:DownloadStatus [failed]"));
+			                    break;
+			                    }
+			    	        case MProgDLSource::EUnknown:
+			        	        {
+			        	        RDebug::Print(_L("CEnhanMediaTestClass::Event:DownloadStatus [EUnknown]"));
+					            iLog->Log(_L("CEnhanMediaTestClass::Event:DownloadStatus [EUnknown]"));
+			        	        }
+			        	        break;
+			            	default:
+			            	  break;
+			            	}
+			            }
+			            break;
+
 			        case MSourceControlObserver::KFileMoveCompleteEvent:
 			            {
 				            RDebug::Print(_L("CEnhanMediaTestClass::Event:KFileMoveCompleteEvent"));
 				            iLog->Log(_L("CEnhanMediaTestClass::Event:KFileMoveCompleteEvent"));
 			            }
 			            break;
+
+
 			        };
 			    }
        			break;
@@ -144,4 +213,54 @@
 		};
 	}
 
+
+void CEnhanMediaTestClass::HandleDMgrEventL( RHttpDownload& aDownload, THttpDownloadEvent aEvent )
+    {
+    RDebug::Print(_L("HandleDMgrEventL DownloadState[%d] ProgressState[%d]"),aEvent.iDownloadState,aEvent.iProgressState);
+    iLog->Log(_L("HandleDMgrEventL DownloadState[%d] ProgressState[%d]"),aEvent.iDownloadState,aEvent.iProgressState);
+
+    TInt32 downloadSize = 0;
+    TInt32 length = 0;
+    TInt status = aDownload.GetIntAttribute(EDlAttrDownloadedSize, downloadSize);
+    status = aDownload.GetIntAttribute(EDlAttrLength, length);
+
+
+    TInt percentageDL = (downloadSize*100/length);
+
+    if(percentageDL > 8 && iActive->IsStarted())
+        {
+        iActive->AsyncStop();
+        }
+
+    //iLog->Log(_L("iMProgDLSource->GetDownloadingRate = [%d]"),rate);
+   // RDebug::Print(_L("CEnhanMediaTestClass::Event:EStateChanged[Opened]"));
+
+
+    if(aEvent.iDownloadState == EHttpDlPaused)
+        {
+        iDownload->Start();
+        }
+
+    if(aEvent.iDownloadState == EHttpDlCreated)
+        {
+        iLog->Log(_L("EHttpDlCreated"));
+        }
+
+    if(aEvent.iDownloadState == EHttpDlInprogress)
+        {
+        iLog->Log(_L("EHttpDlInprogress "));
+        }
+    if(aEvent.iDownloadState == EHttpDlPaused)
+        {
+        iLog->Log(_L("EHttpDlPaused "));
+        }
+    if(aEvent.iDownloadState == EHttpDlCompleted)
+        {
+        iLog->Log(_L("EHttpDlCompleted "));
+        }
+    if(aEvent.iDownloadState == EHttpDlFailed)
+        {
+        iLog->Log(_L("EHttpDlFailed "));
+        }
+    }
 // End of File
--- a/mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/src/EnhanMediaTestClassBlocks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/enhanced_media_client_api/tsrc/EnhanMediaTestClass/src/EnhanMediaTestClassBlocks.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -206,6 +206,23 @@
 
         ENTRY( "DSGetSize", CEnhanMediaTestClass::DSGetSize ),
 
+        ENTRY( "DSGetSize", CEnhanMediaTestClass::GeneralGen_StartProgDLL ),
+
+        ENTRY( "Gen_StartProgDL",CEnhanMediaTestClass::GeneralGen_StartProgDLL ),
+        ENTRY( "PDLSOpenL",CEnhanMediaTestClass::PDLSOpenL ),
+        ENTRY( "PDLSGetCurFileSizeL",CEnhanMediaTestClass::PDLSGetCurFileSizeL ),
+        ENTRY( "PDLSGetExpFileSizeL",CEnhanMediaTestClass::PDLSGetExpFileSizeL ),
+        ENTRY( "PDLSGetDLStatusL",CEnhanMediaTestClass::PDLSGetDLStatusL ),
+        ENTRY( "PDLSIsDLCompleteL",CEnhanMediaTestClass::PDLSIsDLCompleteL ),
+        ENTRY( "PDLSGetPerDownloadedL",CEnhanMediaTestClass::PDLSGetPerDownloadedL ),
+        ENTRY( "PDLSGetPerBufferedL",CEnhanMediaTestClass::PDLSGetPerBufferedL ),
+        ENTRY( "PDLSGetDLRateL",CEnhanMediaTestClass::PDLSGetDLRateL ),
+        ENTRY( "PDLSGetBitRateL",CEnhanMediaTestClass::PDLSGetBitRateL ),
+        ENTRY( "PDLSResumeDownloadL",CEnhanMediaTestClass::PDLSResumeDownloadL ),
+        ENTRY( "PDLSMoveFileL",CEnhanMediaTestClass::PDLSMoveFileL ),
+        ENTRY( "PDLSCancelDownloadL",CEnhanMediaTestClass::PDLSCancelDownloadL ),
+        ENTRY( "PDLSGetSize",CEnhanMediaTestClass::PDLSGetSize ),
+
         ENTRY( "AudioEffect_IsEnabled",CEnhanMediaTestClass::AudioEffectIsEnabled ),
         ENTRY( "AudioEffect_IsEnforced",CEnhanMediaTestClass::AudioEffectIsEnforced ),
         ENTRY( "AudioEffect_Uid",CEnhanMediaTestClass::AudioEffectUid ),
@@ -311,6 +328,7 @@
 		(TText*)L"EEStreamOpen",
 		(TText*)L"EEStreamPrime",
 		(TText*)L"EEStreamStart",
+		(TText*)L"EEPDLSOpen",
 
 	};
 	if( (TUint)aKey >= (sizeof( keywords )/sizeof(TText*)) )
@@ -607,7 +625,15 @@
         delete iDRMConfigIntfc;
         iDRMConfigIntfc = NULL;
         }
-
+    if(iUrlName)
+        {
+        delete iUrlName;
+        }
+
+    if(iAccessPtName)
+        {
+        delete iAccessPtName;
+        }
    // ProcessEvent(EECreateFactory, error);
 /*	for (TUint i =0; i < iExpectedEvents.Count() ; i++)
 		{
@@ -654,6 +680,15 @@
                 }
             break;
             }
+        case EPDLSOURCE:
+            {
+            status = iFactory->CreateSourceControl( KProgDLSourceControl, iSourceControl );
+            if(status == KErrNone)
+                {
+                iMProgDLSource = static_cast<MProgDLSource*>(iSourceControl);
+                }
+            break;
+            }
         default:
         	{
         	status = KErrNotSupported;
@@ -697,6 +732,12 @@
         iFactory->DeleteSourceControl(objPtr);
         iMFileSource = NULL;
         }
+    if(iMProgDLSource)
+        {
+        MSourceControl* objPtr = iMProgDLSource;
+        iFactory->DeleteSourceControl(objPtr);
+        iMProgDLSource = NULL;
+        }
     iLog->Log(_L("DeleteSourceControl OK"));
     //ProcessEvent(EECreateSource, status);
 	return status;
@@ -1522,6 +1563,18 @@
                 }
 	        break;
 	        }
+        case EPDLSOURCE:
+	        {
+	        if(iMProgDLSource)
+	            {
+                iMProgDLSource->AddObserver(*this);
+	            }
+            else
+                {
+                status = KErrNotFound;
+                }
+	        break;
+	        }
         case EVOLUMECONTROL:
 	        {
 	        if(iMVolumeControl)
@@ -2001,6 +2054,11 @@
             iSourceControl = iMDescriptorSource;
             }
             break;
+        case EPDLSOURCE:
+            {
+            iSourceControl = iMProgDLSource;
+            }
+            break;
         }
 
 	status = iMStreamControl->RemoveSource(*iSourceControl);
@@ -2041,6 +2099,11 @@
             iSourceControl = iMDescriptorSource;
             }
             break;
+        case EPDLSOURCE:
+            {
+            iSourceControl = iMProgDLSource;
+            }
+            break;
         }
 	status = iMStreamControl->AddSource(*iSourceControl);
     if (status == KErrNone)
@@ -2132,6 +2195,10 @@
 	else
 		{
 	        iLog->Log(_L("iMStreamControl->GetState() = %d"), state);
+	        if (iMProgDLSource)
+	        	{
+	        	status = iMProgDLSource->Close();
+	        	}
 			status = iMStreamControl->Close();
 	        iLog->Log(_L("iMStreamControl->GetState() = %d"), iMStreamControl->GetState());
 
@@ -2215,6 +2282,18 @@
                 }
 	        break;
 	        }
+        case EPDLSOURCE:
+	        {
+	        if(iMProgDLSource)
+	            {
+                iMProgDLSource->RemoveObserver(*this);
+	            }
+            else
+                {
+                status = KErrNotFound;
+                }
+	        break;
+	        }
         case EVOLUMECONTROL:
 	        {
 	        if(iMVolumeControl)
@@ -3549,6 +3628,18 @@
                 }
 	        break;
 	        }
+        case EPDLSOURCE:
+	        {
+	        if(iMProgDLSource)
+	            {
+                controlUid = iMProgDLSource->Type();
+	            }
+            else
+                {
+                status = KErrNotFound;
+                }
+	        break;
+	        }
 	    }
     iLog->Log(_L("CEnhanMediaTestClass::ControlTypeL  = [%d]"),control);
 	return status;
@@ -3646,6 +3737,18 @@
                 }
 	        break;
 	        }
+        case EPDLSOURCE:
+	        {
+	        if(iMProgDLSource)
+	            {
+				controlType = iMProgDLSource->ControlType();
+	            }
+            else
+              {
+              status = KErrNotFound;
+              }
+	        break;
+	        }
 	    }
     iLog->Log(_L("CEnhanMediaTestClass::ControlControlTypeL = [%d]"),control);
     return status;
@@ -3884,6 +3987,378 @@
     return status;
     }
 
+TInt CEnhanMediaTestClass::GeneralGen_StartProgDLL(CStifItemParser& aItem)
+    {
+    TInt status = KErrNone;
+    TPtrC string;
+	//AddExpectedEvent(EEStartDownload,KMediumTimeout);
+    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
+
+    status = aItem.GetNextString ( string );
+
+    if ( status != KErrNone )
+        {
+        iLog->Log(_L("CHelixSTIFClient:: File name missing in config file "));
+        return status;
+        }
+    else
+        {
+        if(iUrlName)
+            {
+            delete iUrlName;
+            iUrlName = NULL;
+            }
+        iUrlName = HBufC8::NewL(string.Length());
+        TPtr8 des = iUrlName->Des();
+        des.Copy(string);
+        }
+
+    status = aItem.GetNextString ( string );
+
+    if ( status != KErrNone )
+        {
+        iLog->Log(_L("CHelixSTIFClient:: File name missing in config file "));
+        return status;
+        }
+    else
+        {
+        if(iAccessPtName)
+            {
+            delete iAccessPtName;
+            iAccessPtName = NULL;
+            }
+        iAccessPtName = HBufC::NewL(string.Length());
+        TPtr des = iAccessPtName->Des();
+        des.Copy(string);
+        }
+
+    status = aItem.GetNextString ( string );
+
+    if ( status != KErrNone )
+        {
+        iLog->Log(_L("CHelixSTIFClient:: File name missing in config file "));
+        return status;
+        }
+    else
+        {
+        if(iFileName)
+            {
+            delete iFileName;
+            iFileName = NULL;
+            }
+        iFileName = HBufC::NewL(string.Length());
+        TPtr des = iFileName->Des();
+        des.Copy(string);
+        }
+
+    if ( !iDMgrConnected )
+        {
+        TRAP(status,iDownloadMgr.ConnectL( TUid::Uid(1), *this, EFalse ));
+        if(!status)
+            {
+            iDMgrConnected = ETrue;
+            }
+        else
+            {
+            iLog->Log(_L("CHelixSTIFClient::GeneralGen_StartProgDLL Connection failed to DlMgr "));
+            return status;
+            }
+        }
+
+    // Get IAP names and ids from the database
+    TInt res;
+    TBuf<40> name;
+    TUint32 id;
+
+    CCommsDatabase* TheDb = CCommsDatabase::NewL(EDatabaseTypeIAP);
+    CleanupStack::PushL(TheDb);
+
+    TheDb->ShowHiddenRecords();
+
+    CCommsDbTableView* view = TheDb->OpenTableLC(TPtrC(IAP));
+    res = view->GotoFirstRecord();
+
+    while(res == KErrNone)
+        {
+        view->ReadTextL(TPtrC(COMMDB_NAME), name);
+        view->ReadUintL(TPtrC(COMMDB_ID), id);
+
+				iLog->Log(_L("CHelixSTIFClient::GeneralGen_StartProgDLL Name[%s] ID[%d] "),&name,id);
+        if(!iAccessPtName->Des().Compare(name))
+            {
+            break;
+            }
+
+        res = view->GotoNextRecord();
+        RDebug::Print(_L("IAP name, id: %S, %d"), &name, id);
+        }
+
+    CleanupStack::PopAndDestroy(); // view
+    CleanupStack::PopAndDestroy(); // TheDb
+
+    status = iDownloadMgr.SetIntAttribute( EDlMgrIap,id );
+    if(status != KErrNone)
+        {
+        return status;
+        }
+
+    status = iDownloadMgr.SetDefaultStringAttribute( EDlAttrDestFilename, *iFileName ) ;
+
+
+    TRAP(status,iDownload = &(iDownloadMgr.CreateDownloadL(*iUrlName)));
+    if(status != KErrNone)
+        {
+        return status;
+        }
+
+    status = iDownload->Start();
+    if(status != KErrNone)
+        {
+        iLog->Log(_L("CHelixSTIFClient::GeneralGen_StartProgDLL Download Start Failed "));
+        return status;
+        }
+    status = iDownload->GetIntAttribute(EDlAttrId, iDownloadId);
+    if(status != KErrNone)
+        {
+        iLog->Log(_L("CHelixSTIFClient::GeneralGen_StartProgDLL Getting DLId failed "));
+        return status;
+        }
+
+    if(iActive)
+        {
+        delete iActive;
+        iActive = NULL;
+        }
+
+    iActive = new CActiveSchedulerWait;
+    RDebug::Print(_L("Before"));
+    iLog->Log(_L("Before = %d"), status);
+    iActive->Start();
+    iLog->Log(_L("After = %d"), status);
+    RDebug::Print(_L("AFter"));
+    iLog->Log(_L("CEnhanMediaTestClass::GeneralGen_StartProgDLL = %d"), status);
+    return status;
+    }
+
+
+TInt CEnhanMediaTestClass::PDLSOpenL(CStifItemParser& /*aItem*/)
+	{
+	AddExpectedEvent(EEPDLSOpen,KMediumTimeout);
+	TInt status(KErrNone);
+	//TBool stateDL;
+	//TUint percent;
+	if(!iMProgDLSource)
+	    {
+	    return status = KErrNotReady;
+	    }
+    status = iMProgDLSource->Open(*iFileName,iDownloadId);
+//	iMProgDLSource->GetPercentageDownloaded(percent);
+	return status;
+	}
+
+TInt CEnhanMediaTestClass::PDLSGetCurFileSizeL(CStifItemParser& /*aItem*/)
+	{
+	TInt status(KErrNone);
+	TUint fileSize;
+	if(!iMProgDLSource)
+	    {
+	    return status = KErrNotReady;
+	    }
+    status = iMProgDLSource->GetCurrentFileSize(fileSize);
+    iLog->Log(_L("PDLSGetCurFileSizeL = %d"), fileSize);
+	return status;
+	}
+
+TInt CEnhanMediaTestClass::PDLSGetExpFileSizeL(CStifItemParser& /*aItem*/)
+	{
+	TInt status(KErrNone);
+	TUint fileSize;
+	if(!iMProgDLSource)
+	    {
+	    return status = KErrNotReady;
+	    }
+    status = iMProgDLSource->GetExpectedFileSize(fileSize);
+    iLog->Log(_L("PDLSGetExpFileSizeL = %d"), fileSize);
+
+	return status;
+	}
+
+TInt CEnhanMediaTestClass::PDLSGetDLStatusL(CStifItemParser& /*aItem*/)
+	{
+	TInt status(KErrNone);
+	MProgDLSource::TDownloadStatus dlStatus;
+	if(!iMProgDLSource)
+	    {
+	    return status = KErrNotReady;
+	    }
+
+    dlStatus = iMProgDLSource->GetDownloadStatus();
+    iLog->Log(_L("PDLSGetDLStatusL = %d"), dlStatus);
+
+	return status;
+	}
+
+
+TInt CEnhanMediaTestClass::PDLSIsDLCompleteL(CStifItemParser& /*aItem*/)
+	{
+	TInt status(KErrNone);
+	TBool dlComplete;
+	if(!iMProgDLSource)
+	    {
+	    return status = KErrNotReady;
+	    }
+
+    status = iMProgDLSource->IsDownloadComplete(dlComplete);
+    iLog->Log(_L("PDLSIsDLCompleteL = %d"), dlComplete);
+
+	return status;
+	}
+
+TInt CEnhanMediaTestClass::PDLSGetPerDownloadedL(CStifItemParser& /*aItem*/)
+	{
+	TInt status(KErrNone);
+	TUint perDl;
+	if(!iMProgDLSource)
+	    {
+	    return status = KErrNotReady;
+	    }
+
+    status = iMProgDLSource->GetPercentageDownloaded(perDl);
+    iLog->Log(_L("PDLSGetPerDownloadedL = %d"), perDl);
+
+	return status;
+	}
+
+TInt CEnhanMediaTestClass::PDLSGetPerBufferedL(CStifItemParser& /*aItem*/)
+	{
+	TInt status(KErrNone);
+	TUint perBuf;
+	if(!iMProgDLSource)
+	    {
+	    return status = KErrNotReady;
+	    }
+
+    status = iMProgDLSource->GetPercentageBuffered(perBuf);
+    iLog->Log(_L("PDLSGetPerBufferedL = %d"), perBuf);
+	return status;
+	}
+
+TInt CEnhanMediaTestClass::PDLSGetDLRateL(CStifItemParser& /*aItem*/)
+	{
+	TInt status(KErrNone);
+	TUint dlRate;
+	if(!iMProgDLSource)
+	    {
+	    return status = KErrNotReady;
+	    }
+
+    status = iMProgDLSource->GetDownloadingRate(dlRate);
+    iLog->Log(_L("PDLSGetDLRateL = %d"), dlRate);
+
+	return status;
+	}
+
+TInt CEnhanMediaTestClass::PDLSGetBitRateL(CStifItemParser& /*aItem*/)
+	{
+	TInt status(KErrNone);
+	TUint bitRate;
+	if(!iMProgDLSource)
+	    {
+	    return status = KErrNotReady;
+	    }
+
+    status = iMProgDLSource->GetBitRate(bitRate);
+    iLog->Log(_L("PDLSGetBitRateL = %d"), bitRate);
+
+	return status;
+	}
+
+TInt CEnhanMediaTestClass::PDLSResumeDownloadL(CStifItemParser& /*aItem*/)
+	{
+	TInt status(KErrNone);
+	if(!iMProgDLSource)
+	    {
+	    return status = KErrNotReady;
+	    }
+
+    status = iMProgDLSource->ResumeDownload();
+    iLog->Log(_L("PDLSResumeDownloadL = %d"), status);
+
+	return status;
+	}
+
+TInt CEnhanMediaTestClass::PDLSMoveFileL(CStifItemParser& aItem)
+	{
+	TInt status(KErrNone);
+    TPtrC string;
+    TFileName fileName;
+	if(!iMProgDLSource)
+	    {
+	    return status = KErrNotReady;
+	    }
+	status = 	aItem.GetNextString(string);
+	if ( status != KErrNone )
+		{
+		iLog->Log(_L("CEnhanMediaTestClass:: File name missing in config file "));
+		return status;
+		}
+	else
+		{
+		fileName.Copy(string);
+		}
+    if(iFileName)
+        {
+        delete iFileName;
+        iFileName = NULL;
+        }
+    iFileName = HBufC::NewL(fileName.Length());
+    iFileName->Des().Copy(fileName);
+
+
+    status = iMProgDLSource->MoveFile(*iFileName);
+    iLog->Log(_L("PDLSMoveFileL = %d"), status);
+
+	return status;
+	}
+
+TInt CEnhanMediaTestClass::PDLSGetSize(CStifItemParser& /*aItem*/)
+	{
+
+    iLog->Log(_L("CEnhanMediaTestClass::PDLSGetSize "));
+    TInt status(KErrNone);
+	TUint sizes = 0;
+	if(!iMProgDLSource)
+	    {
+	    status = KErrNotReady;
+	    }
+	else
+		{
+		status = iMProgDLSource->GetSize(sizes);
+		}
+    iLog->Log(_L("CEnhanMediaTestClass::PDLSGetSize [%d]"), status);
+
+    return status;
+	}
+
+TInt CEnhanMediaTestClass::PDLSCancelDownloadL(CStifItemParser& /*aItem*/)
+	{
+	TMediaId mediaId;
+	TFourCC dataType;
+    iLog->Log(_L("CEnhanMediaTestClass::PDLSCancelDownloadL "));
+    TInt status(KErrNone);
+	if(!iMProgDLSource)
+	    {
+	    status = KErrNotReady;
+	    }
+	else
+		{
+	    status = iMProgDLSource->CancelDownload();
+		}
+    iLog->Log(_L("CEnhanMediaTestClass::PDLSCancelDownloadL [%d]"), status);
+
+    return status;
+	}
+
 TInt CEnhanMediaTestClass::StreamCustomInterface(CStifItemParser& /*aItem*/)
 	{
     iLog->Log(_L("CEnhanMediaTestClass::StreamCustomInterface "));
@@ -5157,6 +5632,19 @@
                 }
 	        break;
 	        }
+        case EPDLSOURCE:
+	        {
+	        if(iMProgDLSource)
+	            {
+                controlUid = iMProgDLSource->Type();
+	            }
+            else
+                {
+                status = KErrNotFound;
+                }
+	        break;
+	        }
+
         case EVOLUMECONTROL:
 	        {
 	        if(iMVolumeControl)
@@ -5425,6 +5913,19 @@
               }
 	        break;
 	        }
+        case EPDLSOURCE:
+	        {
+	        if(iMProgDLSource)
+	            {
+				controlType = iMProgDLSource->ControlType();
+	            }
+            else
+              {
+              status = KErrNotFound;
+              }
+	        break;
+	        }
+
         case EVOLUMECONTROL:
 	        {
 	        if(iMVolumeControl)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/equalizer_ui_api.metaxml	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,18 @@
+<?xml version="1.0" ?>
+<api id="49b7ca056311c9b504e61313de21d8a7" dataversion="2.0">
+  <name>Equalizer UI API</name>
+  <description>An API for launching Equalizer UI.</description>
+  <type>c++</type>
+  <collection>audioeffectsui</collection>
+  <libs>
+    <lib name="Equalizer.lib" />
+  </libs>
+  <release category="platform"/>
+  <attributes>
+     <!-- This indicates wether the api provedes separate html documentation -->
+     <!-- or is the additional documentation generated from headers. -->
+     <!-- If you are unsuere then the value is "no" -->
+     <htmldocprovided>no</htmldocprovided>
+     <adaptation>no</adaptation>
+  </attributes>
+</api>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    File that exports the files belonging to 
+:                Equalizer UI API
+*
+*/
+
+
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/EqualizerPresetsDialog.h     MW_LAYER_PLATFORM_EXPORT_PATH(EqualizerPresetsDialog.h)
+../inc/EqualizerConstants.h     MW_LAYER_PLATFORM_EXPORT_PATH(EqualizerConstants.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/inc/EqualizerConstants.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    This file contains declarations for public constants for
+*                Equalizer
+*
+*/
+
+
+
+#ifndef EQUALIZERCONSTANTS_H
+#define EQUALIZERCONSTANTS_H
+
+//  INCLUDES
+
+#include <e32std.h>
+
+// CONSTANTS
+// Used by client application for activating the preset "None"
+const TInt KEqualizerPresetNone = -1;
+
+// Used as the maximum length of a ListBox model entry (like "0\tNone")
+const TInt KListBoxEntryMaxLength = 64; 
+
+// DATA TYPES
+// Used to store a preset name or ListBox model entry
+typedef TBuf<KListBoxEntryMaxLength> TPresetName;
+
+#endif      // EQUALIZERCONSTANTS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/inc/EqualizerPresetsDialog.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,369 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Declaration of EqualizerPresetsDialog class
+*
+*/
+
+
+
+
+#ifndef EQUALIZERPRESETSDIALOG_H
+#define EQUALIZERPRESETSDIALOG_H
+
+// INCLUDES
+#include <AknDialog.h> 
+#include <aknlists.h>
+#include <EqualizerConstants.h>
+#include <AudioEqualizerUtility.h>
+
+// CLASS DECLARATION
+class CEqualizerPresetListArray;
+class CEqualizerEditingDialog;
+
+/**
+* This class is used to notify the client application about the activation
+* of a new preset.
+*  
+*  @lib Equalizer.lib
+*  @since Series 60 3.0
+*/
+NONSHARABLE_CLASS(MEqualizerPresetActivationObserver)
+    {
+    public: // New functions
+        /**
+        * This member is called by the Equalizer UI when the user activates 
+        * a new preset. 
+        * @ since Series 60 3.0
+        * @ aActivatedPreset It is KEqualizerPresetNone if the preset "None"
+        * is active. Otherwise, it is the value of 
+        * TEfAudioEqualizerUtilityPreset::iPresetNameKey for the entry
+        * whose TEfAudioEqualizerUtilityPreset::iPresetName matches the
+        * activated preset name, in the array retrieved using 
+        * CAudioEqualizerUtility::Presets().
+        */
+        virtual void HandlePresetActivation (TInt aActivatedPreset) = 0;
+   };
+    
+/**
+*  This class is used to display the preset list view of the Equalizer.
+*  
+*  @lib Equalizer.lib
+*  @since Series 60 3.0
+*/
+class CEqualizerPresetsDialog : public CAknDialog
+#ifdef RD_SCALABLE_UI_V2
+                              , public MEikListBoxObserver
+#endif //RD_SCALABLE_UI_V2
+    {
+    public:     //Constructors and Destructors
+        /**
+        * This function is called to create an object of 
+        * type CEqualizerPresetsDialog - Two phase Construction
+        * @since 3.0
+        * @param aAudEqUtility a reference to CAudioEqualizerUtility 
+        * @param aCurrentActivePreset It is KEqualizerPresetNone if the preset
+        * "None" is active. Otherwise, it is the value of 
+        * TEfAudioEqualizerUtilityPreset::iPresetNameKey for the entry
+        * whose TEfAudioEqualizerUtilityPreset::iPresetName matches the
+        * activated preset name, in the array retrieved using 
+        * CAudioEqualizerUtility::Presets().
+        * @param aEqualizerPresetActivationObserver a reference to an object 
+        * of type MEqualizerPresetActivationObserver         
+        */
+        IMPORT_C static CEqualizerPresetsDialog* NewL(
+           CAudioEqualizerUtility* aAudEqUtility,
+           TInt aCurrentActivePreset, 
+           MEqualizerPresetActivationObserver& aEqrPresetActObserver);
+
+        /**
+        * Destructor
+        * @since 3.0
+        */
+        virtual ~CEqualizerPresetsDialog();
+    private: //New functions
+        /**
+        * Second Phase Constructor
+        * @since 3.0
+        * @param aCurrentActivePreset the index into the preset array retrieved
+        * with the method CAudioEqualizerUtility::Presets()if a preset other 
+        * than "None" is active. It is KEqualizerPresetNone if the preset 
+        * "None" is active.
+        */
+        void ConstructL(const TInt aCurrentActivePreset);
+        /**
+        * This function is called to create an object of 
+        * type CEqualizerPresetsDialog - First Phase Constructor
+        * @since 3.0
+        * @param aAudEqUtility a reference to CAudioEqualizerUtility 
+        * @param aEqualizerPresetActivationObserver a reference to an object 
+        * of type MEqualizerPresetActivationObserver         
+        */
+        CEqualizerPresetsDialog (
+           CAudioEqualizerUtility* aAudEqUtility,
+           MEqualizerPresetActivationObserver& aEqrPresetActObserver);
+       
+        /**
+        * This function is called to get a free preset name
+        * @since 3.0
+        * @param aName Used to reurn a free preset name
+        */
+        void BuildPresetNameL( TDes& aName) const;
+        
+        /**
+        * This function returns the highlighted Preset in ListBox
+        * @since 3.0
+        * @return      Highlighted Preset e.g. "None"
+        */
+        TPresetName GetHighlightedPresetInListBox() const;
+        /**
+        * This function is called to find the index of a preset in the list
+        * of presets returned by CAudioEqualizerUtility::Presets()
+        * @since 3.0
+        * @param aPreset The preset focussed in ListBox
+        * @return index of the highlighted preset in the ListBox in the 
+        * list of presets returned by CAudioEqualizerUtility::Presets() 
+        */
+        TInt GetEngineIndexL(const TPresetName& aPreset) const; 
+        /**
+        * This function is used for the activation of a preset
+        * @since 3.0
+        * @param aIndex The index of the preset in the ListBox
+        * @param aPresetName The name of the preset
+        */
+        void ActivateEqrPresetL(const TInt aIndex, const TDesC& aPreset);
+        /**
+        * This function is used for the editing of a preset
+        * @since 3.0
+        * @param aIndex The index of the preset in the ListBox
+        * @param aPresetName The name of the preset
+        */
+        void EditEqrPresetL(const TInt aIndex, const TDesC& aPreset);
+        /**
+        * This function is used for the creation of a new preset
+        * @since 3.0
+        * @param aIndex The index of the preset in the ListBox. This is set
+        * to a the index in the ListBox if preset creation is successful. 
+        * If the creation is unscuccessful, then the parameter is not changed.
+        * @param aPreset The name of the preset created
+        */
+        void CreateNewEqrPresetL(TInt& aIndex, TPresetName& aPreset) const;
+ 
+        /**
+        * This function is used for the renaming of a preset
+        * @since 3.0
+        * @param aIndex The index of the preset in the ListBox
+        * @param aPresetName The name of the preset
+        */
+        void RenameEqrPresetL(const TInt aIndex, const TDesC& aPreset); 
+
+        /**
+        * This function is used for the deletion of a preset
+        * @since 3.0
+        * @param aIndex The index of the preset in the ListBox
+        * @param aPresetName The name of the preset
+        */
+        void DeleteEqrPresetL(const TInt aIndex, const TDesC& aPreset);
+        
+        /**
+        * This function is used to display a dialog to query the user
+        * for a new name. It is used while creating a new preset or 
+        * renaming an existing preset.
+        * @since 3.0
+        * @param aResourceId The resource id to use for the dialog
+        * @param aPresetName 
+        * @return       ETrue if the user did not cancel the dialog box 
+        *               EFalse otherwise 
+        */
+        TBool GetNewNameL(const TInt aResourceId, TDes& aPresetName) const; 
+ 
+        /**
+        * This function is used to load the ListBox icons in an array
+        * @since 3.0
+        * @returns   array of ListBox icons 
+        */
+        CArrayPtr<CGulIcon>* GetListBoxIconsL() const;
+        
+        /**
+        * This function is used to inform the client application about the 
+        * currently active preset 
+        * engine 
+        * @since 3.0
+        */
+        void SetCurrentPreset(const TPresetName& aPreset);
+
+        /**
+        * This function is used to rturn the currently active preset 
+        * engine 
+        * @since 3.0
+        */        
+        TPresetName CurrentPreset() const;
+
+        /**
+        * This function is used to search for a preset name in the ListBox
+        * @since 3.0
+        * @param aPreset The preset name to search for 
+        * @return It returns the index of the preset, if found and 
+        *  KErrNotFound if not found.
+        */
+        TInt SearchPresetL(const TPresetName& aPreset) const;
+
+        /**
+        * This function is used to display a dialog to the user for 
+        * editing a particular preset.
+        * @since 3.0
+        * @param aAudEqUtility pointer to CAudioEqualizerUtility
+        * @param aIndex the index of the preset in the array of presets 
+        * @param aIsActive whether the preset is active or not? 
+        * returned by CAudioEqualizerUtility::Presets() 
+        */
+        void DisplaySettingsL(CAudioEqualizerUtility* aAudEqUtility, 
+        const TInt aIndex, const TBool aIsActive);
+        
+        /**
+        * This function is used to display a note to the user if 
+        * memory is below critical level when creating a new preset.
+        * @since 3.1
+        */
+        void ShowDiskFullNoteL() const;
+    
+    public: 
+        /**
+        * This function is used to execute the Dialog.
+        * @since 3.0
+        * @returns return value of CAknDialog::ExecuteLD()   
+        */
+        IMPORT_C TInt ExecuteLD();
+        
+        /**
+        * This function is used to set new values for CAudioEqualizerUtility* 
+        * @since 3.0
+        * @param aAudEqUtility New pointer to CAudioEqualizerUtility
+        */
+        IMPORT_C void SetAudioEqualizerL(CAudioEqualizerUtility* aAudEqUtility);
+
+    private: //Functions from base classes
+    
+        /**
+        * From CAknDialog
+        * This function responds to the size changes to sets the 
+        * size and position of the 
+        * contents of this control.
+        */
+        void SizeChanged();
+    
+        /**
+        * From CAknDialog
+        * Handles changes to the application 
+        * when it switches to or from the foreground.
+        */
+        void HandleForegroundEventL( TBool aForeground);
+        
+        /**
+        * From CAknDialog
+        * Responds to a change in focus.
+        * This is called whenever the control gains or loses focus
+        */
+        void FocusChanged(TDrawNow aDrawNow);
+        
+        /**
+        * From CCoeControl
+        * This function is called when there is a Skin change event
+        * or layout change event
+        */     
+        void HandleResourceChangeL(TInt aType);
+        
+        /**
+        * This function is called when there is a Skin change event
+        * or layout change event, it calls HandleResourceChangeL()
+        */     
+        void HandleResourceChange(TInt aType);
+        
+        /**
+        * From CAknDialog Called when a key event happens.
+        */
+        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, 
+            TEventCode aType ); 
+        /**
+        * From CAknDialog Called just before the dialog is displayed.
+        */
+        void PreLayoutDynInitL(void); 
+        /**
+        * From CAknDialog Called to process a user's menu command.
+        */
+        void ProcessCommandL(TInt  aCommandId); 
+        /**
+        * From CAknDialog Called just before the menu pane is displayed
+        */
+        void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
+        /**
+        * From CAknDialog Called when OK key is pressed
+        */
+        TBool OkToExitL(TInt aButtonId); 
+                       
+        /**
+        * Get help context for the control.
+        * @param aContext The context that is filled in.
+        * @return None.
+        */
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+#ifdef RD_SCALABLE_UI_V2
+        /**
+        * From MEikListBoxObserver
+        * Handles listbox events.
+        * @param aListBox Listbox where the event occurred.
+        * @param aEventType Event type.
+        *
+        */
+        void HandleListBoxEventL( CEikListBox* aListBox,
+                                  TListBoxEvent aEventType );
+#endif //RD_SCALABLE_UI_V2
+
+    private:
+        // Used to store whether the "OK" key has been pressed or not
+        // and accordingly invoke appropriate code in DynInitMenuPaneL().
+        // It is set to ETrue in OkToExitL() when the key pressed is "OK"
+        // and set to EFalse in DynInitMenuPaneL() after the "Context
+        // Sensitive" menu handling has been done.
+        TBool iContextSensitiveMenu;
+        // Used to store the offset of the resource file
+        TInt iResourceFileOffset;
+        // The ListBox control
+        CAknSingleGraphicStyleListBox* iListBox;
+        // Name of currently active preset
+        TPresetName iActivePreset;                
+        // Application title text
+        HBufC* iAppTitleText; 
+        // Preset "None" Text
+        HBufC* iPresetNoneText;
+        // Equalizer's title text
+        HBufC* iTitleText;    
+        // Used to store a pointer to CAudioEqualizerUtility
+        CAudioEqualizerUtility* iAudEqUtility;
+        // Used to store a reference to the observer class
+        MEqualizerPresetActivationObserver& iEqrPresetActObserver;
+        // ListBox Item Array
+        CEqualizerPresetListArray* iItemArray;
+        // Ignore Key events between track changes
+        TBool iIgnoreKeyEvents;
+        //Editing dialog
+        CEqualizerEditingDialog *iEditingDialog;
+        CRepository* iRepository;
+		// Status pane layout before launching this dialog
+		TInt iPreviousStatusPaneLayout;
+    };
+
+#endif  // EQUALIZERPRESETSDIALOG_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/conf/tcequalizertest.cfg	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,18 @@
+[Test]
+title 1: CEqualizerPresetsDialog::NewL()
+run testscripter c:\testframework\ui_equalizertest.cfg 1
+[Endtest] 
+
+[Test]
+title 2: CEqualizerPresetsDialog::ExecuteLD()
+			//show dialog
+run testscripter c:\testframework\ui_equalizertest.cfg 2
+			//press key to dismiss dialog
+run testscripter c:\testframework\ui_equalizertest.cfg 4
+[Endtest] 
+
+[Test]
+title 3: CEqualizerPresetsDialog::SetAudioEqualizerL()
+run testscripter c:\testframework\ui_equalizertest.cfg 3
+[Endtest] 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/conf/ui_equalizertest.cfg	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,40 @@
+[Test]
+title 1: CEqualizerPresetsDialog::NewL()
+create ui_equalizertest equalizer
+bringtoforeground
+equalizer CEqualizerPresetsDialogNewL
+equalizer Release
+sendtobackground
+delete equalizer
+pause 1000
+[Endtest] 
+
+[Test]
+title 2: CEqualizerPresetsDialog::ExecuteLD()
+create ui_equalizertest equalizer
+bringtoforeground
+equalizer CEqualizerPresetsDialogNewL
+equalizer ExecuteLD
+equalizer Release
+sendtobackground
+delete equalizer
+pause 1000
+[Endtest] 
+
+[Test]
+title 3: CEqualizerPresetsDialog::SetAudioEqualizerL()
+create ui_equalizertest equalizer
+bringtoforeground
+equalizer CEqualizerPresetsDialogNewL
+equalizer SetAudioEqualizerL
+equalizer Release
+sendtobackground
+delete equalizer
+pause 1000
+[Endtest] 
+
+[Test]
+title 4: press right soft key
+pause 3000
+presskey global EKeyDevice1
+[Endtest] 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  File that exports the files belonging to 
+:                equalizer ui api
+*
+*/
+
+// Version : %version: da1mmcf#3 %
+
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_TESTEXPORTS
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+#include "../ui_equalizertest/group/bld.inf"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/init/TestFramework.ini	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,197 @@
+#
+# This is STIF initialization file
+# Comment lines start with '#'-character.
+# See STIF TestFramework users guide.doc for instructions
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Set following test engine settings:
+#	- Set Test Reporting mode. TestReportMode's possible values are:
+#		+ 'Summary': Summary of the tested test cases.
+#		+ 'Environment': Hardware and software info.
+#		+ 'TestCases': Test case report.
+#		+ 'FullReport': Set of all above ones.
+#		+ Example 'TestReportMode= Summary TestCases'
+#
+# 	- CreateTestReport setting controls report creation mode
+#		+ YES, Test report will created.
+#		+ NO, No Test report.
+#
+# 	- File path indicates the base path of the test report.
+# 	- File name indicates the name of the test report.
+#
+# 	- File format indicates the type of the test report.
+#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
+#		+ HTML, Test report will be html type, for example 'TestReport.html'.
+#
+# 	- File output indicates output source of the test report.
+#		+ FILE, Test report logging to file.
+#		+ RDEBUG, Test report logging to using rdebug.
+#
+# 	- File Creation Mode indicates test report overwriting if file exist.
+#		+ OVERWRITE, Overwrites if the Test report file exist.
+#		+ APPEND, Continue logging after the old Test report information if
+#                 report exist.
+# 	- Sets a device reset module's dll name(Reboot).
+#		+ If Nokia specific reset module is not available or it is not correct one
+#		  StifHWResetStub module may use as a template for user specific reset
+#		  module.
+# 	- Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation
+#		DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02
+#
+
+[Engine_Defaults]
+
+TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
+                                                               'TestCases' or 'FullReport'
+
+CreateTestReport= YES			# Possible values: YES or NO
+
+TestReportFilePath= C:\LOGS\TestFramework\
+TestReportFileName= TestReport_ui_equalizertest
+
+TestReportFormat= TXT			# Possible values: TXT or HTML
+TestReportOutput= FILE			# Possible values: FILE or RDEBUG
+TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
+
+DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
+
+DisableMeasurement= stifmeasurementdisablenone	# Possible values are:
+						# 'stifmeasurementdisablenone', 'stifmeasurementdisableall'
+					  	# 'stifmeasurementplugin01', 'stifmeasurementplugin02',
+					  	# 'stifmeasurementplugin03', 'stifmeasurementplugin04',
+					  	# 'stifmeasurementplugin05' or 'stifbappeaprofiler'
+
+Timeout= 0                              # Default timeout value for each test case. In milliseconds
+UITestingSupport= YES
+[End_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Module configurations start
+# Modules are added between module tags
+# tags. Module name is specified after ModuleName= tag, like
+# ModuleName= XXXXXXXXX
+# Modules might have initialisation file, specified as
+# IniFile= c:\testframework\YYYYYY
+# Modules might have several configuration files, like
+# TestCaseFile= c:\testframework\NormalCases.txt
+# TestCaseFile= c:\testframework\SmokeCases.txt
+# TestCaseFile= c:\testframework\ManualCases.txt
+
+# (TestCaseFile is synonym for old term ConfigFile)
+
+# Following case specifies demo module settings. Demo module
+# does not read any settings from file, so tags 
+# IniFile and TestCaseFile are not used.
+# In the simplest case it is enough to specify only the
+# name of the test module when adding new test module
+
+[New_Module]
+ModuleName= testcombiner
+TestCaseFile= c:\testframework\tcequalizertest.cfg
+[End_Module]
+
+
+# Load testmoduleXXX, optionally with initialization file and/or test case files
+#[New_Module]
+#ModuleName= testmodulexxx
+
+#TestModuleXXX used initialization file
+#IniFile= c:\testframework\init.txt
+
+#TestModuleXXX used configuration file(s)
+#TestCaseFile= c:\testframework\testcases1.cfg
+#TestCaseFile= c:\testframework\testcases2.cfg
+#TestCaseFile= c:\testframework\manualtestcases.cfg
+
+#[End_Module]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Set STIF logging overwrite parameters for Logger.
+# 	Hardware and emulator environment logging path and styles can
+# 	be configured from here to overwrite the Logger's implemented values.
+#	
+#	Settings description:
+#	- Indicates option for creation log directory/directories. If log directory/directories
+#         is/are not created by user they will make by software.
+#		+ YES, Create log directory/directories if not allready exist.
+#		+ NO, Log directory/directories not created. Only created one is used.
+#
+#	- Overwrite emulator path setting.
+#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
+#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
+#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
+#
+#	- Overwrite emulator's logging format.
+#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
+#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
+#
+#	- Overwrited emulator logging output source.
+#		+ FILE, Logging to file(s).
+#		+ RDEBUG, Logging to using rdebug(s).
+#
+#	- Overwrite hardware path setting (Same description as above in emulator path).
+#	- Overwrite hardware's logging format(Same description as above in emulator format).
+#	- Overwrite hardware's logging output source(Same description as above in emulator output).
+#
+#	- File Creation Mode indicates file overwriting if file exist.
+#		+ OVERWRITE, Overwrites if file(s) exist.
+#		+ APPEND, Continue logging after the old logging information if file(s) exist.
+#
+#	- Will thread id include to the log filename.
+#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
+#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
+#
+#	- Will time stamps include the to log file.
+#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
+#                 for example'12.Nov.2003 115958    LOGGING INFO'
+#		+ NO, No time stamp(s).
+#
+#	- Will line breaks include to the log file.
+#		+ YES, Each logging event includes line break and next log event is in own line.
+#		+ NO, No line break(s).
+#
+#	- Will event ranking include to the log file.
+#		+ YES, Event ranking number added to each line in log file(s). Ranking number
+#                 depends on environment's tics, for example(includes time stamp also)
+#                 '012   12.Nov.2003 115958    LOGGING INFO'
+#		+ NO, No event ranking.
+#
+#	- Will write log file in unicode format.
+#		+ YES, Log file will be written in unicode format
+#		+ NO, Log will be written as normal, not unicode, file.
+#
+
+[Logger_Defaults]
+
+#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
+#NOTE: TestEngine and TestServer logging settings cannot change here
+
+#CreateLogDirectories= YES    # Possible values: YES or NO
+
+#EmulatorBasePath= C:\LOGS\TestFramework\
+#EmulatorFormat= HTML         # Possible values: TXT or HTML
+#EmulatorOutput= FILE         # Possible values: FILE or RDEBUG
+
+#HardwareBasePath= D:\LOGS\TestFramework\
+#HardwareFormat= HTML         # Possible values: TXT or HTML
+#HardwareOutput= FILE         # Possible values: FILE or RDEBUG
+
+#FileCreationMode= OVERWRITE  # Possible values: OVERWRITE or APPEND
+
+#ThreadIdToLogFile= YES       # Possible values: YES or NO
+#WithTimeStamp= YES           # Possible values: YES or NO
+#WithLineBreak= YES           # Possible values: YES or NO
+#WithEventRanking= YES        # Possible values: YES or NO
+
+#FileUnicode= YES             # Possible values: YES or NO
+#AddTestCaseTitle= YES        # Possible values: YES or NO
+[End_Logger_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+# End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/Bmarm/ui_equalizertestU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/Bwins/ui_equalizertestU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/EABI/ui_equalizertestU.def	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,5 @@
+EXPORTS
+	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
+	_ZTI17CEdwinTestControl @ 2 NONAME ; #<TI>#
+	_ZTV17CEdwinTestControl @ 3 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+* 
+* Description:
+*
+*/
+
+PRJ_PLATFORMS
+// specify the platforms your component needs to be built for here
+// defaults to WINS MARM so you can ignore this if you just build these
+	
+	DEFAULT
+
+PRJ_TESTEXPORTS
+// NOTE: If using ARS requirements all export operations should be done under this.
+// 'abld test export'
+
+PRJ_EXPORTS
+// Specify the source file followed by its destination here
+// copy will be used to copy the source file to its destination
+// If there's no destination then the source file will be copied
+// to the same name in /epoc32/include
+// Example: 
+/*
+/agnmodel/inc/AGMCOMON.H
+*/
+
+PRJ_TESTMMPFILES
+
+	ui_equalizertest.mmp
+
+PRJ_MMPFILES
+
+
+// Specify the .mmp files required for building the important component
+// releasables.
+//
+// Specify "tidy" if the component you need to build doesn't need to be
+// released. Specify "ignore" if the MMP file exists but should be
+// ignored.
+// Example:
+/*
+/agnmodel/group/agnmodel.mmp
+#if defined(MARM)
+/agnmodel/group/agsvexe.mmp
+#endif
+*/
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/group/ui_equalizertest.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,89 @@
+/*TYPE TESTCLASS*/
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+* 
+* Description: MMP file for STIF Test Framework's TestScripter 
+* testclass test module.
+*
+*/
+
+#include <platform_paths.hrh>
+
+TARGET          ui_equalizertest.dll
+TARGETTYPE      dll
+UID             0x1000008D 0x101FB3E3
+
+CAPABILITY      ALL -TCB
+/* Remove comments and replace 0x00000000 with correct vendor id */
+// VENDORID     0x00000000
+/* Remove comments and replace 0x00000000 with correct secure id */
+// SECUREID     0x00000000
+
+//TARGETPATH      ?target_path
+DEFFILE         ui_equalizertest.def
+
+USERINCLUDE     ../inc 
+
+#if 0
+MW_LAYER_SYSTEMINCLUDE
+#endif
+SYSTEMINCLUDE /epoc32/include /epoc32/include/mw /epoc32/include/platform/mw /epoc32/include/platform /epoc32/include/platform/loc /epoc32/include/platform/mw/loc /epoc32/include/platform/loc/sc /epoc32/include/platform/mw/loc/sc +/include/a3f +/include/mmf/server
+
+SOURCEPATH      ../src
+
+SOURCE          ui_equalizertest.cpp
+SOURCE          ui_equalizertestBlocks.cpp EdwinTestControl.cpp
+
+//RESOURCE        resource_file
+//RESOURCE        resource_file2
+
+LIBRARY         euser.lib
+LIBRARY         stiftestinterface.lib
+LIBRARY         stiftestengine.lib Equalizer.lib 
+LIBRARY         AudioEqualizerUtility.lib
+LIBRARY		    mediaclientaudio.lib CustomInterfaceUtility.lib CustomCommandUtility.lib 
+LIBRARY		    mmfcodeccommon.lib 
+LIBRARY		    mmfcontrollerframework.lib 
+LIBRARY		    mmfglblaudioeffect.lib 
+LIBRARY		    mmfserverbaseclasses.lib 
+LIBRARY		    ecom.lib 
+LIBRARY		    cone.lib 
+LIBRARY		    eikcoctl.lib AknSkins.lib 
+LIBRARY		    eikcore.lib 
+LIBRARY		    avkon.lib 
+
+LANG            SC
+
+/*
+START WINS      
+?wins_specific_information
+END
+
+START MARM
+?marm_specific_information
+END
+*/
+// Other possible keywords:
+ 
+// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
+/*
+START BITMAP ?target
+TARGETPATH   ?emulated_path_on_target_machine
+HEADER
+SOURCE       ?color_depth ?source_bitmap
+END
+*/
+// DEFFILE ?filename
+// AIF ?filename
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/group/ui_equalizertest.pkg	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,61 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "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:
+; 
+; Description:
+;
+; 	Installation file for STIF
+;
+
+; Languages
+&EN
+
+; Provide value for uid
+#{"STIF equalizer ui test Application"},(0x10005942),1,1,0,TYPE=SA
+
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Logo
+; None
+
+; Package signature - Optional
+; None
+
+; Start of Package body
+
+; Condition blocks
+; None
+
+; Options list
+; None
+
+; Install files
+"\epoc32\release\armv5\urel\ui_equalizertest.dll"   -   "c:\Sys\Bin\ui_equalizertest.dll"
+"..\..\init\TestFramework.ini"   -   "c:\testframework\TestFramework.ini" 
+"..\..\conf\ui_equalizertest.cfg"   -   "c:\testframework\ui_equalizertest.cfg"
+"..\..\conf\tcequalizertest.cfg"   -   "c:\testframework\tcequalizertest.cfg"
+  
+; Embedded SIS 
+; None
+
+; End of Package body
+
+; PKG dependencies
+; None
+
+; PKG capabilities
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/inc/EdwinTestControl.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description: CEdwinTestControl test class for STIF Test Framework TestScripter.
+*
+*/
+#ifndef EDWINTESTCONTROL_H_
+#define EDWINTESTCONTROL_H_
+
+#include <eikedwin.h>
+
+class CAknsBasicBackgroundControlContext;
+
+class CEdwinTestControl : public CCoeControl, public MCoeControlObserver
+    {
+public:
+	static CEdwinTestControl* NewL(void);
+	virtual ~CEdwinTestControl();
+protected:
+	TTypeUid::Ptr MopSupplyObject(TTypeUid aId); // 
+private:
+	virtual void SizeChanged();
+	virtual void HandleResourceChange(TInt aType);
+	virtual TInt CountComponentControls() const;
+	virtual CCoeControl* ComponentControl(TInt aIndex) const;
+    void ConstructL(/*void*/);
+	void Draw(const TRect& aRect) const;
+	
+	void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType);
+	TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType );	
+private:
+	CAknsBasicBackgroundControlContext*	iBgContext; 
+	CEikEdwin* iEditWin;
+};
+
+
+#endif /*EDWINTESTCONTROL_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/inc/ui_equalizertest.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,255 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+* 
+* Description: STIF testclass declaration
+*
+*/
+
+#ifndef UI_EQUALIZERTEST_H
+#define UI_EQUALIZERTEST_H
+
+//  INCLUDES
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+#include <TestclassAssert.h>
+#include <EqualizerPresetsDialog.h>
+#include <mdaaudiosampleplayer.h>
+
+#include <mdaaudiosampleeditor.h>
+#include <mpxcustomcommandobserver.h>
+#include "edwintestcontrol.h"
+
+
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// MACROS
+//#define ?macro ?macro_def
+#define TEST_CLASS_VERSION_MAJOR 0
+#define TEST_CLASS_VERSION_MINOR 0
+#define TEST_CLASS_VERSION_BUILD 0
+
+
+#ifdef __WINSCW__
+// Logging path
+_LIT( Kui_equalizertestLogPath, "\\logs\\testframework\\ui_equalizertest\\" ); 
+// Log file
+_LIT( Kui_equalizertestLogFile, "ui_equalizertest.txt" ); 
+_LIT( Kui_equalizertestLogFileWithTitle, "ui_equalizertest_[%S].txt" );
+_LIT( Kui_equalizer_TestData_Path, "c:\\testing\\data\\" );
+#else
+// Logging path
+_LIT( Kui_equalizertestLogPath, "\\logs\\testframework\\ui_equalizertest\\" ); 
+// Log file
+_LIT( Kui_equalizertestLogFile, "ui_equalizertest.txt" ); 
+_LIT( Kui_equalizertestLogFileWithTitle, "ui_equalizertest_[%S].txt" );
+_LIT( Kui_equalizer_TestData_Path, "e:\\testing\\data\\" );
+#endif
+
+
+
+// FUNCTION PROTOTYPES
+//?type ?function_name(?arg_list);
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+class Cui_equalizertest;
+class CCustomCommandUtility;
+class CCustomCommand;
+
+// DATA TYPES
+//enum ?declaration
+//typedef ?declaration
+//extern ?data_type;
+
+// CLASS DECLARATION
+
+/**
+*  Cui_equalizertest test class for STIF Test Framework TestScripter.
+*  ?other_description_lines
+*
+*  @lib ?library
+*  @since ?Series60_version
+*/
+NONSHARABLE_CLASS(Cui_equalizertest) : public CScriptBase,
+//									   public MMdaAudioPlayerCallback,
+									   public MEqualizerPresetActivationObserver//,
+//									   public MCustomInterface,
+//									   public MMdaObjectStateChangeObserver,
+//									   public MMPXPlaybackObserver,
+//									   public MMPXCustomCommandObserver
+									  
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static Cui_equalizertest* NewL( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * Destructor.
+        */
+        virtual ~Cui_equalizertest();
+
+    public: // New functions
+
+        /**
+        * ?member_description.
+        * @since ?Series60_version
+        * @param ?arg1 ?description
+        * @return ?description
+        */
+        //?type ?member_function( ?type ?arg1 );
+    	
+       
+        /**
+         * From MEqualizerPresetActivationObserver
+         * Handle preset id activation from Equalizer dialog.
+         * 
+         * @param aActivatedPreset Current activated preset id.
+         */
+        virtual void HandlePresetActivation( TInt aActivatedPreset );
+  	
+    	
+
+	    
+	    /**
+	     * Handle custom commands.
+	     *
+	     * @since S60 3.2.3
+	     * @param aUid Command category Uid. Different command set will have 
+	     *             different Uid to avoid clash.
+	     * @param aCommand Command to be handled.
+	     * @param aData data for the specific command
+	     */
+	     void HandleCustomCommand( 
+	        const TUid& /*aUid*/,
+	        const TInt /*aCommand*/, 
+	        const TDesC8& aData = KNullDesC8 ){};
+        
+    	
+    public: // Functions from base classes
+
+        /**
+        * From CScriptBase Runs a script line.
+        * @since ?Series60_version
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code
+        */
+        virtual TInt RunMethodL( CStifItemParser& aItem );
+        
+      
+        
+    protected:  // New functions
+
+        /**
+        * ?member_description.
+        * @since ?Series60_version
+        * @param ?arg1 ?description
+        * @return ?description
+        */
+        //?type ?member_function( ?type ?arg1 );
+
+    protected:  // Functions from base classes
+
+        /**
+        * From ?base_class ?member_description
+        */
+        //?type ?member_function();
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        Cui_equalizertest( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+        // Prohibit copy constructor if not deriving from CBase.
+        // ?classname( const ?classname& );
+        // Prohibit assigment operator if not deriving from CBase.
+        // ?classname& operator=( const ?classname& );
+
+        /**
+        * Frees all resources allocated from test methods.
+        * @since ?Series60_version
+        */
+        void Delete();
+
+        /**
+        * Test methods are listed below. 
+        */
+
+        /**
+        * Example test method.
+        * @since ?Series60_version
+        * @param aItem Script line containing parameters.
+        * @return Symbian OS error code.
+        */
+        virtual TInt ExampleL( CStifItemParser& aItem );
+        
+        // Test functions for EqualizerPresetsDialog.h
+        TInt CEqualizerPresetsDialogNewL( CStifItemParser& aItem );        
+        TInt ExecuteLD( CStifItemParser& aItem );
+        TInt SetAudioEqualizerL( CStifItemParser& aItem );
+        TInt Release( CStifItemParser& aItem );
+        
+        /**
+         * Method used to log version of test class
+         */
+        void SendTestClassVersion();
+
+        //ADD NEW METHOD DEC HERE
+        //[TestMethods] - Do not remove
+
+    public:     // Data
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+
+    protected:  // Data
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+
+    private:    // Data
+        
+        // ?one_line_short_description_of_data
+        //?data_declaration;
+
+        // Reserved pointer for future extension
+        //TAny* iReserved;
+
+    public:     // Friend classes
+        //?friend_class_declaration;
+    protected:  // Friend classes
+        //?friend_class_declaration;
+    private:    // Friend classes
+        //?friend_class_declaration;
+    	// Used to store a pointer to CAudioEqualizerUtility
+        CAudioEqualizerUtility* iAudEqUtility;
+        CEqualizerPresetsDialog* iEqDialog;          
+        CCustomCommand* iCustomCommand;
+        CEdwinTestControl* iEdwinTestControl;
+        TInt iInitStatus;
+
+    };
+
+#endif      // UI_EQUALIZERTEST_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/src/EdwinTestControl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,150 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:   STIF for MPEngine
+*
+*/
+
+// Version : %version: da1mmcf#2 %
+
+
+
+#include "EdwinTestControl.h"
+#include <eikenv.h>
+#include <aknsutils.h> 
+#include <aknsdrawutils.h> 
+#include <aknutils.h> 
+#include <aknsbasicbackgroundcontrolcontext.h>
+
+
+CEdwinTestControl::~CEdwinTestControl()
+	{
+	delete iEditWin;
+	iEditWin = NULL;
+	delete iBgContext;
+	iBgContext = NULL;
+	}   
+ 
+CEdwinTestControl* CEdwinTestControl::NewL(void)
+    {
+    CEdwinTestControl* self = new(ELeave)CEdwinTestControl();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+ 
+void CEdwinTestControl::ConstructL()
+    {
+    CreateWindowL();
+ 
+    iEditWin = new (ELeave) CEikEdwin();
+    iEditWin->ConstructL( 0, 100, 100, 1 );
+    iEditWin->SetContainerWindowL( *this );
+    iEditWin->CreateTextViewL();
+//    iEditWin->SetInputCapabilitiesL( TCoeInputCapabilities::EAllText );
+    
+	// make first with no size at all
+	iBgContext = CAknsBasicBackgroundControlContext::NewL(KAknsIIDQsnBgScreen,TRect(0,0,1,1), ETrue );
+	// Setting rect will cause SizeChanged to be called
+	// and iBgContext size & position is updated accordingly.
+	SetRect( CEikonEnv::Static()->EikAppUi()->ClientRect() );	
+	
+	ActivateL();
+	DrawNow();
+    }
+ 
+void CEdwinTestControl::SizeChanged()
+	{
+	if ( iBgContext )
+		{
+		iBgContext->SetRect(Rect());
+ 
+		if ( &Window() )
+			{
+			iBgContext->SetParentPos( PositionRelativeToScreen() );
+			}
+		}
+	if ( iEditWin )
+		{
+		iEditWin->SetRect(Rect());	
+		}
+	}
+ 
+ 
+void CEdwinTestControl::HandleResourceChange( TInt aType )
+	{
+	TRect rect;
+ 
+    if ( aType == KEikDynamicLayoutVariantSwitch )
+    	{    
+        AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, rect);
+        SetRect(rect);
+    	}
+ 
+	CCoeControl::HandleResourceChange(aType);
+	}
+ 
+ 
+TTypeUid::Ptr CEdwinTestControl::MopSupplyObject(TTypeUid aId)
+	{
+	if ( iBgContext )
+		{
+		return MAknsControlContext::SupplyMopObject( aId, iBgContext );
+		}	
+
+	return CCoeControl::MopSupplyObject( aId );
+	}
+ 
+ 
+void CEdwinTestControl::Draw(const TRect& aRect) const
+	{
+	CWindowGc& gc = SystemGc();
+    
+    // draw background skin first.
+  	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+	AknsDrawUtils::Background( skin, iBgContext, this, gc, aRect );
+	}
+
+TInt CEdwinTestControl::CountComponentControls() const
+{
+    return 1;
+}
+ 
+CCoeControl* CEdwinTestControl::ComponentControl(TInt aIndex) const
+{
+    switch (aIndex)
+    	{
+        case 0:
+        	return iEditWin;
+        default:
+            return 0;
+    	}
+}
+
+void CEdwinTestControl::HandleControlEventL( CCoeControl* /*aControl*/, TCoeEvent /*aEventType*/)
+	{
+    // TODO: Add your control event handler code here
+	}
+
+TKeyResponse CEdwinTestControl::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType )
+	{
+	if ( iEditWin )
+		{
+		return iEditWin->OfferKeyEventL( aKeyEvent, aType );
+		}
+	else
+		{
+		return EKeyWasNotConsumed;
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/src/ui_equalizertest.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,203 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+* 
+* Description: This file contains testclass implementation.
+*
+*/
+
+// INCLUDE FILES
+#include <Stiftestinterface.h>
+#include "ui_equalizertest.h"
+#include <SettingServerClient.h>
+
+// EXTERNAL DATA STRUCTURES
+//extern  ?external_data;
+
+// EXTERNAL FUNCTION PROTOTYPES  
+//extern ?external_function( ?arg_type,?arg_type );
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// MACROS
+//#define ?macro ?macro_def
+
+// LOCAL CONSTANTS AND MACROS
+//const ?type ?constant_var = ?constant;
+//#define ?macro_name ?macro_def
+
+// MODULE DATA STRUCTURES
+//enum ?declaration
+//typedef ?declaration
+
+// LOCAL FUNCTION PROTOTYPES
+//?type ?function_name( ?arg_type, ?arg_type );
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// ?function_name ?description.
+// ?description
+// Returns: ?value_1: ?description
+//          ?value_n: ?description_line1
+//                    ?description_line2
+// -----------------------------------------------------------------------------
+//
+/*
+?type ?function_name(
+    ?arg_type arg,  // ?description
+    ?arg_type arg)  // ?description
+    {
+
+    ?code  // ?comment
+
+    // ?comment
+    ?code
+    }
+*/
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// Cui_equalizertest::Cui_equalizertest
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+Cui_equalizertest::Cui_equalizertest( 
+    CTestModuleIf& aTestModuleIf ):
+        CScriptBase( aTestModuleIf )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// Cui_equalizertest::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void Cui_equalizertest::ConstructL()
+    {
+    //Read logger settings to check whether test case name is to be
+    //appended to log file name.
+    RSettingServer settingServer;
+    TInt ret = settingServer.Connect();
+    if(ret != KErrNone)
+        {
+        User::Leave(ret);
+        }
+    // Struct to StifLogger settigs.
+    TLoggerSettings loggerSettings; 
+    // Parse StifLogger defaults from STIF initialization file.
+    ret = settingServer.GetLoggerSettings(loggerSettings);
+    if(ret != KErrNone)
+        {
+        User::Leave(ret);
+        } 
+    // Close Setting server session
+    settingServer.Close();
+
+    TFileName logFileName;
+    
+    if(loggerSettings.iAddTestCaseTitle)
+        {
+        TName title;
+        TestModuleIf().GetTestCaseTitleL(title);
+        logFileName.Format(Kui_equalizertestLogFileWithTitle, &title);
+        }
+    else
+        {
+        logFileName.Copy(Kui_equalizertestLogFile);
+        }
+
+    iLog = CStifLogger::NewL( Kui_equalizertestLogPath, 
+                          logFileName,
+                          CStifLogger::ETxt,
+                          CStifLogger::EFile,
+                          EFalse );
+    
+    SendTestClassVersion();
+    
+
+    
+    
+    }
+
+// -----------------------------------------------------------------------------
+// Cui_equalizertest::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+Cui_equalizertest* Cui_equalizertest::NewL( 
+    CTestModuleIf& aTestModuleIf )
+    {
+    Cui_equalizertest* self = new (ELeave) Cui_equalizertest( aTestModuleIf );
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+
+    return self;
+
+    }
+
+// Destructor
+Cui_equalizertest::~Cui_equalizertest()
+    { 
+
+    // Delete resources allocated from test methods
+    Delete();
+
+    // Delete logger
+    delete iLog; 
+
+    }
+
+//-----------------------------------------------------------------------------
+// Cui_equalizertest::SendTestClassVersion
+// Method used to send version of test class
+//-----------------------------------------------------------------------------
+//
+void Cui_equalizertest::SendTestClassVersion()
+	{
+	TVersion moduleVersion;
+	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
+	moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
+	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
+	
+	TFileName moduleName;
+	moduleName = _L("ui_equalizertest.dll");
+
+	TBool newVersionOfMethod = ETrue;
+	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
+	}
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// -----------------------------------------------------------------------------
+// LibEntryL is a polymorphic Dll entry point.
+// Returns: CScriptBase: New CScriptBase derived object
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CScriptBase* LibEntryL( 
+    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
+    {
+
+    return ( CScriptBase* ) Cui_equalizertest::NewL( aTestModuleIf );
+
+    }
+
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/equalizer_ui_api/tsrc/ui_equalizertest/src/ui_equalizertestBlocks.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,382 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+* 
+* Description: This file contains testclass implementation.
+*
+*/
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <StifParser.h>
+#include <Stiftestinterface.h>
+#include "ui_equalizertest.h"
+
+#include <CustomCommandUtility.h>
+
+
+    class CCustomCommand : public CCustomCommandUtility
+    	{
+    	public:
+    	CCustomCommand()
+			{
+
+			}
+    	
+    	~CCustomCommand()
+    		{
+    		
+    		}
+    	
+    	TInt CustomCommandSync(const TMMFMessageDestinationPckg&  /*aDestination*/,
+    	                                     TInt                         aFunction,
+    	                               const TDesC8&                      /*aDataTo1*/,
+    	                               const TDesC8&                      /*aDataTo2*/,
+    	                               TDes8&                       aDataFrom)
+    		{
+    		const TUid KUidCustomInterfaceBuilder = {0x10200017};
+    		const TUid KUidAudioEqualizerEffect = { 0x1020382A };
+    		if( aFunction == 3 )
+    			{
+				TPckgBuf<TUint8> buf( 1 );
+				aDataFrom = buf;
+    			}
+    		//if( aFunction == 1 || aDestination().Interface() == KUidCustomInterfaceBuilder )
+    		else
+    			{
+				TMMFMessageDestination     builderHandle(KUidCustomInterfaceBuilder);
+				TMMFMessageDestinationPckg builderHandlePckg( builderHandle );
+				aDataFrom = builderHandlePckg;
+    			}
+    		return 0; 
+			}
+
+    	TInt CustomCommandSync(const TMMFMessageDestinationPckg&  /*aDestination*/,
+    	                                     TInt                         /*aFunction*/,
+    	                               const TDesC8&                      /*aDataTo1*/,
+    	                               const TDesC8&                      /*aDataTo2*/)
+    		{
+    		return 0; 
+    		}
+    	
+    	void CustomCommandAsync(const TMMFMessageDestinationPckg& /*aDestination*/,
+    	                                      TInt                        /*aFunction*/,
+    	                                const TDesC8&                     /*aDataTo1*/,
+    	                                const TDesC8&                     /*aDataTo2*/,
+    	                                      TDes8&                      /*aDataFrom*/,
+    	                                      TRequestStatus&             /*aStatus*/)
+    		{
+    		
+    		}
+    	
+    	void CustomCommandAsync(const TMMFMessageDestinationPckg& /*aDestination*/,
+    	                                      TInt                        /*aFunction*/,
+    	                                const TDesC8&                     /*aDataTo1*/,
+    	                                const TDesC8&                     /*aDataTo2*/,
+    	                                      TRequestStatus&             /*aStatus*/)
+    		{
+    		
+    		}
+    	};
+
+
+
+
+
+
+
+
+// EXTERNAL DATA STRUCTURES
+//extern  ?external_data;
+
+// EXTERNAL FUNCTION PROTOTYPES  
+//extern ?external_function( ?arg_type,?arg_type );
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// MACROS
+//#define ?macro ?macro_def
+
+// LOCAL CONSTANTS AND MACROS
+//const ?type ?constant_var = ?constant;
+//#define ?macro_name ?macro_def
+
+// MODULE DATA STRUCTURES
+//enum ?declaration
+//typedef ?declaration
+
+// LOCAL FUNCTION PROTOTYPES
+//?type ?function_name( ?arg_type, ?arg_type );
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// ?function_name ?description.
+// ?description
+// Returns: ?value_1: ?description
+//          ?value_n: ?description_line1
+//                    ?description_line2
+// -----------------------------------------------------------------------------
+//
+/*
+?type ?function_name(
+    ?arg_type arg,  // ?description
+    ?arg_type arg)  // ?description
+    {
+
+    ?code  // ?comment
+
+    // ?comment
+    ?code
+    }
+*/
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// Cui_equalizertest::Delete
+// Delete here all resources allocated and opened from test methods. 
+// Called from destructor. 
+// -----------------------------------------------------------------------------
+//
+
+
+void Cui_equalizertest::Delete() 
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// Cui_equalizertest::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt Cui_equalizertest::RunMethodL( 
+    CStifItemParser& aItem ) 
+    {
+
+    static TStifFunctionInfo const KFunctions[] =
+        {  
+        // Copy this line for every implemented function.
+        // First string is the function name used in TestScripter script file.
+        // Second is the actual implementation member function. 
+        ENTRY( "Example", Cui_equalizertest::ExampleL ),
+        //ADD NEW ENTRY HERE
+        // [test cases entries] - Do not remove
+        // Test functions for EqualizerPresetsDialog.h
+        ENTRY( "CEqualizerPresetsDialogNewL", Cui_equalizertest::CEqualizerPresetsDialogNewL ),
+        ENTRY( "ExecuteLD", Cui_equalizertest::ExecuteLD ),
+        ENTRY( "SetAudioEqualizerL", Cui_equalizertest::SetAudioEqualizerL ),
+        ENTRY( "Release", Cui_equalizertest::Release ),
+        
+              
+        };
+
+    const TInt count = sizeof( KFunctions ) / 
+                        sizeof( TStifFunctionInfo );
+
+    return RunInternalL( KFunctions, count, aItem );
+
+    }
+
+
+
+// ---------------------------------------------------------------------------
+// From MEqualizerPresetActivationObserver
+// Handle preset id activation from Equalizer dialog.
+// ---------------------------------------------------------------------------
+//
+void Cui_equalizertest::HandlePresetActivation(
+    TInt aActivatedPreset )
+    {
+    iLog->Log(_L("Cui_equalizertest::HandlePresetActivation :-> aActivatedPreset[%d]"), aActivatedPreset );
+    }
+
+// -----------------------------------------------------------------------------
+// Cui_equalizertest::ExampleL
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt Cui_equalizertest::ExampleL( CStifItemParser& aItem )
+    {
+
+    // Print to UI
+    _LIT( Kui_equalizertest, "ui_equalizertest" );
+    _LIT( KExample, "In Example" );
+    TestModuleIf().Printf( 0, Kui_equalizertest, KExample );
+    // Print to log file
+    iLog->Log( KExample );
+
+    TInt i = 0;
+    TPtrC string;
+    _LIT( KParam, "Param[%i]: %S" );
+    while ( aItem.GetNextString ( string ) == KErrNone )
+        {
+        TestModuleIf().Printf( i, Kui_equalizertest, 
+                                KParam, i, &string );
+        i++;
+        }
+
+    return KErrNone;
+
+    }
+
+
+// ---------------------------------------------------------------------------
+// Cui_equalizertest::CEqualizerPresetsDialogNewL
+// ?implementation_description
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+TInt Cui_equalizertest::CEqualizerPresetsDialogNewL( CStifItemParser& /*aItem*/ )
+    {
+    iLog->Log(_L("Cui_equalizertest::CEqualizerPresetsDialogNewL"));
+    TInt err = KErrNone;  
+    TInt presetId = 0;
+
+
+    iCustomCommand = new (ELeave) CCustomCommand;
+    
+    iAudEqUtility = CAudioEqualizerUtility::NewL( iCustomCommand );
+
+    //iEqDialog = CEqualizerPresetsDialog::NewL( iAudEqUtility, presetId, *this );
+    
+    TRAP( err , iEqDialog = CEqualizerPresetsDialog::NewL( iAudEqUtility, presetId, *this ) ); 
+    
+    if ( err == KErrNone )
+    	{    	
+    	iLog->Log(_L("CEqualizerPresetsDialogNewL return with no error!"));   		
+    	}
+    else
+    	{
+    	iLog->Log(_L("ERROR:CEqualizerPresetsDialogNewL fails!%d returns!"),err);
+    	}
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// Cui_equalizertest::ExecuteLD
+// ?implementation_description
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+TInt Cui_equalizertest::ExecuteLD( CStifItemParser& /*aItem*/ )
+    {
+    iLog->Log(_L("Cui_equalizertest::ExecuteLD"));
+    TInt err = KErrNone;    
+    TInt ret = 0;
+    
+    iEdwinTestControl = CEdwinTestControl::NewL();
+    CleanupStack::PushL( iEdwinTestControl );
+    CCoeEnv::Static()->AppUi()->AddToStackL( iEdwinTestControl );
+    iEdwinTestControl->MakeVisible(ETrue);
+    CleanupStack::Pop( iEdwinTestControl );
+    
+    //TRAP_IGNORE( ret = iEqDialog->ExecuteLD() );
+    //TRAP( err,ret = iEqDialog->ExecuteLD() );
+    ret = iEqDialog->ExecuteLD();
+    
+    //iEqDialog->OfferKeyEventL( ret );
+    
+    if ( err == KErrNone )
+    	{    	
+    	iLog->Log(_L("ExecuteLD return with no error!"));   	
+    	iLog->Log(_L("ExecuteLD() return [%d]!"),ret); 
+    	}
+    else
+    	{
+    	iLog->Log(_L("ERROR:ExecuteLD fails!%d returns!"),err);
+    	}
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// Cui_equalizertest::SetAudioEqualizerL
+// ?implementation_description
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+TInt Cui_equalizertest::SetAudioEqualizerL( CStifItemParser& /*aItem*/ )
+    {
+    iLog->Log(_L("Cui_equalizertest::SetAudioEqualizerL"));
+    TInt err = KErrNone;    
+    if( iAudEqUtility )
+    	{
+        //iEqDialog->SetAudioEqualizerL( iAudEqUtility );
+        TRAP( err,iEqDialog->SetAudioEqualizerL( iAudEqUtility ) );
+        if ( err == KErrNone )
+        	{    	
+        	iLog->Log(_L("SetAudioEqualizerL return with no error!"));   		
+        	}
+        else
+        	{
+        	iLog->Log(_L("ERROR:SetAudioEqualizerL fails!%d returns!"),err);
+        	}
+    	}
+    else
+    	{
+    	iLog->Log(_L("iAudEqUtility is NULL, can not call SetAudioEqualizerL(). User leave here."));
+    	User::Leave( 1000 );
+    	}
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// Cui_equalizertest::Release
+// ?implementation_description
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+TInt Cui_equalizertest::Release( CStifItemParser& /*aItem*/ )
+    {
+    iLog->Log(_L("Cui_equalizertest::Release"));
+    TInt err = KErrNone; 
+    if( iEqDialog )
+    	{
+    	delete iEqDialog;
+    	}
+    if( iAudEqUtility )
+    	{
+    	delete iAudEqUtility;
+    	}
+    if( iEdwinTestControl )
+    	{
+    	delete iEdwinTestControl;
+    	}
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// Cui_equalizertest::?member_function
+// ?implementation_description
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+/*
+TInt Cui_equalizertest::?member_function(
+   CItemParser& aItem )
+   {
+
+   ?code
+
+   }
+*/
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+// None
+
+//  [End of File] - Do not remove
--- a/mmmw_plat/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -19,11 +19,14 @@
 
 
 #include "../multimedia_data_source_api/group/bld.inf"
+#include "../progressive_download_api/group/bld.inf"
+#include "../equalizer_ui_api/group/bld.inf"
 #include "../enhanced_media_client_api/group/bld.inf"
 #include "../stream_control_custom_command_api/group/bld.inf"
 #include "../emc_buffer_source_api/group/bld.inf"
 #include "../emc_file_source_api/group/bld.inf"
 #include "../audio_metadata_reader_api/group/bld.inf"
+#include "../emc_progressive_download_source_api/group/bld.inf"
 #include "../emc_volume_effect_api/group/bld.inf"
 #include "../emc_balance_effect_api/group/bld.inf"
 #include "../emc_descriptor_source_api/group/bld.inf"
@@ -39,6 +42,3 @@
 #include "../radio_monitor_api/group/bld.inf"
 #include "../thumbnail_engine_api/group/bld.inf"
 #include "../telephony_multimedia_service_api/group/bld.inf"
-#include "../openmax_al_api/group/bld.inf"
-#include "../system_tone_service_api/group/bld.inf"
-#include "../openmax_al_ext_api/group/bld.inf"
--- a/mmmw_plat/openmax_al_api/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Exports OpenMAX AL headers
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-#ifdef FF_OPENMAX_AL
-../inc/OpenMAXAL.h              MW_LAYER_PLATFORM_EXPORT_PATH(khronos/OpenMAXAL.h)
-../inc/OpenMAXAL_Platform.h     MW_LAYER_PLATFORM_EXPORT_PATH(khronos/OpenMAXAL_Platform.h)
-../readme.txt                   MW_LAYER_PLATFORM_EXPORT_PATH(khronos/readme.txt)
-#endif
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/inc/OpenMAXAL.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3196 +0,0 @@
-/*
- * Copyright (c) 2007-2010 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and/or associated documentation files (the
- * "Materials "), to deal in the Materials without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Materials, and to
- * permit persons to whom the Materials are furnished to do so, subject to 
- * the following conditions: 
- *
- * The above copyright notice and this permission notice shall be included 
- * in all copies or substantial portions of the Materials. 
- *
- * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- * OpenMAXAL.h - OpenMAX AL version 1.0.1
- *
- */
-
-/****************************************************************************/
-/* NOTE: This file is a standard OpenMAX AL header file and should not be   */
-/* modified in any way.                                                     */
-/****************************************************************************/
-
-#ifndef _OPENMAXAL_H_
-#define _OPENMAXAL_H_
-
-#include "OpenMAXAL_Platform.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-
-  /*****************************************************************/
-  /* TYPES                                                         */
-  /*****************************************************************/
-
-/* remap common types to XA types for clarity */
-typedef xa_int8_t   XAint8;   /* 8 bit signed integer    */
-typedef xa_uint8_t  XAuint8;  /* 8 bit unsigned integer  */
-typedef xa_int16_t  XAint16;  /* 16 bit signed integer   */
-typedef xa_uint16_t XAuint16; /* 16 bit unsigned integer */
-typedef xa_int32_t  XAint32;  /* 32 bit signed integer   */
-typedef xa_uint32_t XAuint32; /* 32 bit unsigned integer */
-typedef xa_uint64_t XAuint64; /* 64 bit unsigned integer */
-
-typedef XAuint32    XAboolean;
-typedef XAuint8     XAchar;
-typedef XAint16     XAmillibel;
-typedef XAuint32    XAmillisecond;
-typedef XAuint32    XAmilliHertz;
-typedef XAint32     XAmillimeter;
-typedef XAint32     XAmillidegree;
-typedef XAint16     XApermille;
-typedef XAuint32    XAmicrosecond;
-typedef XAuint64    XAtime;
-typedef XAuint32    XAresult;
-
-#define XA_BOOLEAN_FALSE                    ((XAuint32) 0x00000000)
-#define XA_BOOLEAN_TRUE                     ((XAuint32) 0x00000001)
-
-#define XA_MILLIBEL_MAX                     ((XAmillibel) 0x7FFF)
-#define XA_MILLIBEL_MIN                     ((XAmillibel) (-XA_MILLIBEL_MAX-1))
-
-#define XA_MILLIHERTZ_MAX                   ((XAmilliHertz) 0xFFFFFFFF)
-
-#define XA_MILLIMETER_MAX                   ((XAmillimeter) 0x7FFFFFFF)
-
-
-
-  /*****************************************************************/
-  /* RESULT CODES                                                  */
-  /*****************************************************************/
-
-#define XA_RESULT_SUCCESS                   ((XAuint32) 0x00000000)
-#define XA_RESULT_PRECONDITIONS_VIOLATED    ((XAuint32) 0x00000001)
-#define XA_RESULT_PARAMETER_INVALID         ((XAuint32) 0x00000002)
-#define XA_RESULT_MEMORY_FAILURE            ((XAuint32) 0x00000003)
-#define XA_RESULT_RESOURCE_ERROR            ((XAuint32) 0x00000004)
-#define XA_RESULT_RESOURCE_LOST             ((XAuint32) 0x00000005)
-#define XA_RESULT_IO_ERROR                  ((XAuint32) 0x00000006)
-#define XA_RESULT_BUFFER_INSUFFICIENT       ((XAuint32) 0x00000007)
-#define XA_RESULT_CONTENT_CORRUPTED         ((XAuint32) 0x00000008)
-#define XA_RESULT_CONTENT_UNSUPPORTED       ((XAuint32) 0x00000009)
-#define XA_RESULT_CONTENT_NOT_FOUND         ((XAuint32) 0x0000000A)
-#define XA_RESULT_PERMISSION_DENIED         ((XAuint32) 0x0000000B)
-#define XA_RESULT_FEATURE_UNSUPPORTED       ((XAuint32) 0x0000000C)
-#define XA_RESULT_INTERNAL_ERROR            ((XAuint32) 0x0000000D)
-#define XA_RESULT_UNKNOWN_ERROR             ((XAuint32) 0x0000000E)
-#define XA_RESULT_OPERATION_ABORTED         ((XAuint32) 0x0000000F)
-#define XA_RESULT_CONTROL_LOST              ((XAuint32) 0x00000010)
-
-
-
-  /*****************************************************************/
-  /* INTERFACE ID DEFINITION                                       */
-  /*****************************************************************/
-
-/* Interface ID defined as a UUID */
-typedef const struct XAInterfaceID_ {
-    XAuint32 time_low;
-    XAuint16 time_mid;
-    XAuint16 time_hi_and_version;
-    XAuint16 clock_seq;
-    XAuint8  node[6];
-} * XAInterfaceID;
-
-/* NULL Interface */
-XA_API extern const XAInterfaceID XA_IID_NULL;
-
-
-
-  /*****************************************************************/
-  /* GENERAL INTERFACES, STRUCTS AND DEFINES                       */
-  /*****************************************************************/
-
-/* OBJECT */
-
-#define XA_PRIORITY_LOWEST                      ((XAint32) (-0x7FFFFFFF-1))
-#define XA_PRIORITY_VERYLOW                     ((XAint32) -0x60000000)
-#define XA_PRIORITY_LOW                         ((XAint32) -0x40000000)
-#define XA_PRIORITY_BELOWNORMAL                 ((XAint32) -0x20000000)
-#define XA_PRIORITY_NORMAL                      ((XAint32) 0x00000000)
-#define XA_PRIORITY_ABOVENORMAL                 ((XAint32) 0x20000000)
-#define XA_PRIORITY_HIGH                        ((XAint32) 0x40000000)
-#define XA_PRIORITY_VERYHIGH                    ((XAint32) 0x60000000)
-#define XA_PRIORITY_HIGHEST                     ((XAint32) 0x7FFFFFFF)
-
-#define XA_OBJECT_EVENT_RUNTIME_ERROR           ((XAuint32) 0x00000001)
-#define XA_OBJECT_EVENT_ASYNC_TERMINATION       ((XAuint32) 0x00000002)
-#define XA_OBJECT_EVENT_RESOURCES_LOST          ((XAuint32) 0x00000003)
-#define XA_OBJECT_EVENT_RESOURCES_AVAILABLE     ((XAuint32) 0x00000004)
-#define XA_OBJECT_EVENT_ITF_CONTROL_TAKEN       ((XAuint32) 0x00000005)
-#define XA_OBJECT_EVENT_ITF_CONTROL_RETURNED    ((XAuint32) 0x00000006)
-#define XA_OBJECT_EVENT_ITF_PARAMETERS_CHANGED  ((XAuint32) 0x00000007)
-
-#define XA_OBJECT_STATE_UNREALIZED              ((XAuint32) 0x00000001)
-#define XA_OBJECT_STATE_REALIZED                ((XAuint32) 0x00000002)
-#define XA_OBJECT_STATE_SUSPENDED               ((XAuint32) 0x00000003)
-
-
-XA_API extern const XAInterfaceID XA_IID_OBJECT;
-
-struct XAObjectItf_;
-typedef const struct XAObjectItf_ * const * XAObjectItf;
-
-typedef void (XAAPIENTRY * xaObjectCallback) (
-    XAObjectItf caller,
-    const void * pContext,
-    XAuint32 event,
-    XAresult result,
-    XAuint32 param,
-    void * pInterface
-);
-
-struct XAObjectItf_ {
-    XAresult (*Realize) (
-        XAObjectItf self,
-        XAboolean async
-    );
-    XAresult (*Resume) (
-        XAObjectItf self,
-        XAboolean async
-    );
-    XAresult (*GetState) (
-        XAObjectItf self,
-        XAuint32 * pState
-    );
-    XAresult (*GetInterface) (
-        XAObjectItf self,
-        const XAInterfaceID iid,
-        void * pInterface
-    );
-    XAresult (*RegisterCallback) (
-        XAObjectItf self,
-        xaObjectCallback callback,
-        void * pContext
-    );
-    void (*AbortAsyncOperation) (
-        XAObjectItf self
-    );
-    void (*Destroy) (
-        XAObjectItf self
-    );
-    XAresult (*SetPriority) (
-        XAObjectItf self,
-        XAint32 priority,
-        XAboolean preemptable
-    );
-    XAresult (*GetPriority) (
-        XAObjectItf self,
-        XAint32 * pPriority,
-        XAboolean * pPreemptable
-    );
-    XAresult (*SetLossOfControlInterfaces) (
-        XAObjectItf self,
-        XAint16 numInterfaces,
-        XAInterfaceID * pInterfaceIDs,
-        XAboolean enabled
-    );
-};
-
-/* CONFIG EXTENSION */
-
-XA_API extern const XAInterfaceID XA_IID_CONFIGEXTENSION;
-
-struct XAConfigExtensionsItf_;
-typedef const struct XAConfigExtensionsItf_ 
-    * const * XAConfigExtensionsItf;
-
-struct XAConfigExtensionsItf_ {
-    XAresult (*SetConfiguration) (
-        XAConfigExtensionsItf self, 
-        const XAchar * configKey,
-        XAuint32 valueSize, 
-        const void * pConfigValue
-    );
-    XAresult (*GetConfiguration) (
-        XAConfigExtensionsItf self, 
-        const XAchar * configKey, 
-        XAuint32 * pValueSize,
-        void * pConfigValue
-    );
-};
-
-/* DYNAMIC INTERFACE MANAGEMENT */
-
-#define XA_DYNAMIC_ITF_EVENT_RUNTIME_ERROR              ((XAuint32) 0x00000001)
-#define XA_DYNAMIC_ITF_EVENT_ASYNC_TERMINATION          ((XAuint32) 0x00000002)
-#define XA_DYNAMIC_ITF_EVENT_RESOURCES_LOST             ((XAuint32) 0x00000003)
-#define XA_DYNAMIC_ITF_EVENT_RESOURCES_LOST_PERMANENTLY ((XAuint32) 0x00000004)
-#define XA_DYNAMIC_ITF_EVENT_RESOURCES_AVAILABLE        ((XAuint32) 0x00000005)
-
-XA_API extern const XAInterfaceID XA_IID_DYNAMICINTERFACEMANAGEMENT;
-
-struct XADynamicInterfaceManagementItf_;
-typedef const struct XADynamicInterfaceManagementItf_
-    * const * XADynamicInterfaceManagementItf;
-
-typedef void (XAAPIENTRY * xaDynamicInterfaceManagementCallback) (
-    XADynamicInterfaceManagementItf caller,
-    void * pContext,
-    XAuint32 event,
-    XAresult result,
-    const XAInterfaceID iid
-);
-
-struct XADynamicInterfaceManagementItf_ {
-    XAresult (*AddInterface) (
-        XADynamicInterfaceManagementItf self,
-        const XAInterfaceID iid,
-        XAboolean aysnc
-    );
-    XAresult (*RemoveInterface) (
-        XADynamicInterfaceManagementItf self,
-        const XAInterfaceID iid
-    );
-    XAresult (*ResumeInterface) (
-        XADynamicInterfaceManagementItf self,
-        const XAInterfaceID iid,
-        XAboolean aysnc
-    );
-    XAresult (*RegisterCallback) (
-        XADynamicInterfaceManagementItf self,
-        xaDynamicInterfaceManagementCallback callback,
-        void * pContext
-    );
-};
-
-/* DATA SOURCES/SINKS */
-
-#define XA_DATAFORMAT_MIME              ((XAuint32) 0x00000001)
-#define XA_DATAFORMAT_PCM               ((XAuint32) 0x00000002)
-#define XA_DATAFORMAT_RAWIMAGE          ((XAuint32) 0x00000003)
-
-#define XA_DATALOCATOR_URI              ((XAuint32) 0x00000001)
-#define XA_DATALOCATOR_ADDRESS          ((XAuint32) 0x00000002)
-#define XA_DATALOCATOR_IODEVICE         ((XAuint32) 0x00000003)
-#define XA_DATALOCATOR_OUTPUTMIX        ((XAuint32) 0x00000004)
-#define XA_DATALOCATOR_NATIVEDISPLAY    ((XAuint32) 0x00000005)
-#define XA_DATALOCATOR_RESERVED6        ((XAuint32) 0x00000006)
-#define XA_DATALOCATOR_RESERVED7        ((XAuint32) 0x00000007)
-
-typedef struct XADataSink_ {
-    void * pLocator;
-    void * pFormat;
-} XADataSink;
-
-typedef struct XADataSource_ {
-    void * pLocator;
-    void * pFormat;
-} XADataSource;
-
-#define XA_CONTAINERTYPE_UNSPECIFIED    ((XAuint32) 0x00000001)
-#define XA_CONTAINERTYPE_RAW            ((XAuint32) 0x00000002)
-#define XA_CONTAINERTYPE_ASF            ((XAuint32) 0x00000003)
-#define XA_CONTAINERTYPE_AVI            ((XAuint32) 0x00000004)
-#define XA_CONTAINERTYPE_BMP            ((XAuint32) 0x00000005)
-#define XA_CONTAINERTYPE_JPG            ((XAuint32) 0x00000006)
-#define XA_CONTAINERTYPE_JPG2000        ((XAuint32) 0x00000007)
-#define XA_CONTAINERTYPE_M4A            ((XAuint32) 0x00000008)
-#define XA_CONTAINERTYPE_MP3            ((XAuint32) 0x00000009)
-#define XA_CONTAINERTYPE_MP4            ((XAuint32) 0x0000000A)
-#define XA_CONTAINERTYPE_MPEG_ES        ((XAuint32) 0x0000000B)
-#define XA_CONTAINERTYPE_MPEG_PS        ((XAuint32) 0x0000000C)
-#define XA_CONTAINERTYPE_MPEG_TS        ((XAuint32) 0x0000000D)
-#define XA_CONTAINERTYPE_QT             ((XAuint32) 0x0000000E)
-#define XA_CONTAINERTYPE_WAV            ((XAuint32) 0x0000000F)
-#define XA_CONTAINERTYPE_XMF_0          ((XAuint32) 0x00000010)
-#define XA_CONTAINERTYPE_XMF_1          ((XAuint32) 0x00000011)
-#define XA_CONTAINERTYPE_XMF_2          ((XAuint32) 0x00000012)
-#define XA_CONTAINERTYPE_XMF_3          ((XAuint32) 0x00000013)
-#define XA_CONTAINERTYPE_XMF_GENERIC    ((XAuint32) 0x00000014)
-#define XA_CONTAINERTYPE_AMR            ((XAuint32) 0x00000015)
-#define XA_CONTAINERTYPE_AAC            ((XAuint32) 0x00000016)
-#define XA_CONTAINERTYPE_3GPP           ((XAuint32) 0x00000017)
-#define XA_CONTAINERTYPE_3GA            ((XAuint32) 0x00000018)
-#define XA_CONTAINERTYPE_RM             ((XAuint32) 0x00000019)
-#define XA_CONTAINERTYPE_DMF            ((XAuint32) 0x0000001A)
-#define XA_CONTAINERTYPE_SMF            ((XAuint32) 0x0000001B)
-#define XA_CONTAINERTYPE_MOBILE_DLS     ((XAuint32) 0x0000001C)
-#define XA_CONTAINERTYPE_OGG            ((XAuint32) 0x0000001D)
-
-typedef struct XADataFormat_MIME_ {
-    XAuint32 formatType;
-    XAchar * mimeType;
-    XAuint32 containerType;
-} XADataFormat_MIME;
-
-#define XA_BYTEORDER_BIGENDIAN          ((XAuint32) 0x00000001)
-#define XA_BYTEORDER_LITTLEENDIAN       ((XAuint32) 0x00000002)
-
-#define XA_SAMPLINGRATE_8               ((XAuint32)   8000000)
-#define XA_SAMPLINGRATE_11_025          ((XAuint32)  11025000)
-#define XA_SAMPLINGRATE_12              ((XAuint32)  12000000)
-#define XA_SAMPLINGRATE_16              ((XAuint32)  16000000)
-#define XA_SAMPLINGRATE_22_05           ((XAuint32)  22050000)
-#define XA_SAMPLINGRATE_24              ((XAuint32)  24000000)
-#define XA_SAMPLINGRATE_32              ((XAuint32)  32000000)
-#define XA_SAMPLINGRATE_44_1            ((XAuint32)  44100000)
-#define XA_SAMPLINGRATE_48              ((XAuint32)  48000000)
-#define XA_SAMPLINGRATE_64              ((XAuint32)  64000000)
-#define XA_SAMPLINGRATE_88_2            ((XAuint32)  88200000)
-#define XA_SAMPLINGRATE_96              ((XAuint32)  96000000)
-#define XA_SAMPLINGRATE_192             ((XAuint32) 192000000)
-
-#define XA_SPEAKER_FRONT_LEFT               ((XAuint32) 0x00000001)
-#define XA_SPEAKER_FRONT_RIGHT              ((XAuint32) 0x00000002)
-#define XA_SPEAKER_FRONT_CENTER             ((XAuint32) 0x00000004)
-#define XA_SPEAKER_LOW_FREQUENCY            ((XAuint32) 0x00000008)
-#define XA_SPEAKER_BACK_LEFT                ((XAuint32) 0x00000010)
-#define XA_SPEAKER_BACK_RIGHT               ((XAuint32) 0x00000020)
-#define XA_SPEAKER_FRONT_LEFT_OF_CENTER     ((XAuint32) 0x00000040)
-#define XA_SPEAKER_FRONT_RIGHT_OF_CENTER    ((XAuint32) 0x00000080)
-#define XA_SPEAKER_BACK_CENTER              ((XAuint32) 0x00000100)
-#define XA_SPEAKER_SIDE_LEFT                ((XAuint32) 0x00000200)
-#define XA_SPEAKER_SIDE_RIGHT               ((XAuint32) 0x00000400)
-#define XA_SPEAKER_TOP_CENTER               ((XAuint32) 0x00000800)
-#define XA_SPEAKER_TOP_FRONT_LEFT           ((XAuint32) 0x00001000)
-#define XA_SPEAKER_TOP_FRONT_CENTER         ((XAuint32) 0x00002000)
-#define XA_SPEAKER_TOP_FRONT_RIGHT          ((XAuint32) 0x00004000)
-#define XA_SPEAKER_TOP_BACK_LEFT            ((XAuint32) 0x00008000)
-#define XA_SPEAKER_TOP_BACK_CENTER          ((XAuint32) 0x00010000)
-#define XA_SPEAKER_TOP_BACK_RIGHT           ((XAuint32) 0x00020000)
-
-#define XA_PCMSAMPLEFORMAT_FIXED_8          ((XAuint16) 0x0008)
-#define XA_PCMSAMPLEFORMAT_FIXED_16         ((XAuint16) 0x0010)
-#define XA_PCMSAMPLEFORMAT_FIXED_20         ((XAuint16) 0x0014)
-#define XA_PCMSAMPLEFORMAT_FIXED_24         ((XAuint16) 0x0018)
-#define XA_PCMSAMPLEFORMAT_FIXED_28         ((XAuint16) 0x001C)
-#define XA_PCMSAMPLEFORMAT_FIXED_32         ((XAuint16) 0x0020)
-
-typedef struct XADataFormat_PCM_ {
-    XAuint32 formatType;
-    XAuint32 numChannels;
-    XAuint32 samplesPerSec;
-    XAuint32 bitsPerSample;
-    XAuint32 containerSize;
-    XAuint32 channelMask;
-    XAuint32 endianness;
-} XADataFormat_PCM;
-
-#define XA_COLORFORMAT_UNUSED                   ((XAuint32) 0x00000000)
-#define XA_COLORFORMAT_MONOCHROME               ((XAuint32) 0x00000001)
-#define XA_COLORFORMAT_8BITRGB332               ((XAuint32) 0x00000002)
-#define XA_COLORFORMAT_12BITRGB444              ((XAuint32) 0x00000003)
-#define XA_COLORFORMAT_16BITARGB4444            ((XAuint32) 0x00000004)
-#define XA_COLORFORMAT_16BITARGB1555            ((XAuint32) 0x00000005)
-#define XA_COLORFORMAT_16BITRGB565              ((XAuint32) 0x00000006)
-#define XA_COLORFORMAT_16BITBGR565              ((XAuint32) 0x00000007)
-#define XA_COLORFORMAT_18BITRGB666              ((XAuint32) 0x00000008)
-#define XA_COLORFORMAT_18BITARGB1665            ((XAuint32) 0x00000009)
-#define XA_COLORFORMAT_19BITARGB1666            ((XAuint32) 0x0000000A)
-#define XA_COLORFORMAT_24BITRGB888              ((XAuint32) 0x0000000B)
-#define XA_COLORFORMAT_24BITBGR888              ((XAuint32) 0x0000000C)
-#define XA_COLORFORMAT_24BITARGB1887            ((XAuint32) 0x0000000D)
-#define XA_COLORFORMAT_25BITARGB1888            ((XAuint32) 0x0000000E)
-#define XA_COLORFORMAT_32BITBGRA8888            ((XAuint32) 0x0000000F)
-#define XA_COLORFORMAT_32BITARGB8888            ((XAuint32) 0x00000010)
-#define XA_COLORFORMAT_YUV411PLANAR             ((XAuint32) 0x00000011)
-#define XA_COLORFORMAT_YUV420PLANAR             ((XAuint32) 0x00000013)
-#define XA_COLORFORMAT_YUV420SEMIPLANAR         ((XAuint32) 0x00000015)
-#define XA_COLORFORMAT_YUV422PLANAR             ((XAuint32) 0x00000016)
-#define XA_COLORFORMAT_YUV422SEMIPLANAR         ((XAuint32) 0x00000018)
-#define XA_COLORFORMAT_YCBYCR                   ((XAuint32) 0x00000019)
-#define XA_COLORFORMAT_YCRYCB                   ((XAuint32) 0x0000001A)
-#define XA_COLORFORMAT_CBYCRY                   ((XAuint32) 0x0000001B)
-#define XA_COLORFORMAT_CRYCBY                   ((XAuint32) 0x0000001C)
-#define XA_COLORFORMAT_YUV444INTERLEAVED        ((XAuint32) 0x0000001D)
-#define XA_COLORFORMAT_RAWBAYER8BIT             ((XAuint32) 0x0000001E)
-#define XA_COLORFORMAT_RAWBAYER10BIT            ((XAuint32) 0x0000001F)
-#define XA_COLORFORMAT_RAWBAYER8BITCOMPRESSED   ((XAuint32) 0x00000020)
-#define XA_COLORFORMAT_L2                       ((XAuint32) 0x00000021)
-#define XA_COLORFORMAT_L4                       ((XAuint32) 0x00000022)
-#define XA_COLORFORMAT_L8                       ((XAuint32) 0x00000023)
-#define XA_COLORFORMAT_L16                      ((XAuint32) 0x00000024)
-#define XA_COLORFORMAT_L24                      ((XAuint32) 0x00000025)
-#define XA_COLORFORMAT_L32                      ((XAuint32) 0x00000026)
-#define XA_COLORFORMAT_18BITBGR666              ((XAuint32) 0x00000029)
-#define XA_COLORFORMAT_24BITARGB6666            ((XAuint32) 0x0000002A)
-#define XA_COLORFORMAT_24BITABGR6666            ((XAuint32) 0x0000002B)
-
-typedef struct XADataFormat_RawImage_ {
-    XAuint32 formatType;
-    XAuint32 colorFormat;
-    XAuint32 height;
-    XAuint32 width;
-    XAuint32 stride;
-} XADataFormat_RawImage;
-
-typedef struct XADataLocator_Address_ {
-    XAuint32 locatorType;
-    void * pAddress;
-    XAuint32 length;
-} XADataLocator_Address;
-
-#define XA_IODEVICE_AUDIOINPUT          ((XAuint32) 0x00000001)
-#define XA_IODEVICE_LEDARRAY            ((XAuint32) 0x00000002)
-#define XA_IODEVICE_VIBRA               ((XAuint32) 0x00000003)
-#define XA_IODEVICE_CAMERA              ((XAuint32) 0x00000004)
-#define XA_IODEVICE_RADIO               ((XAuint32) 0x00000005)
-
-typedef struct XADataLocator_IODevice_ {
-    XAuint32 locatorType;
-    XAuint32 deviceType;
-    XAuint32 deviceID;
-    XAObjectItf device;
-} XADataLocator_IODevice;
-
-typedef void * XANativeHandle;
-
-typedef struct XADataLocator_NativeDisplay_{
-    XAuint32 locatorType;
-    XANativeHandle hWindow;
-    XANativeHandle hDisplay;
-} XADataLocator_NativeDisplay;
-
-typedef struct XADataLocator_OutputMix {
-    XAuint32 locatorType;
-    XAObjectItf outputMix;
-} XADataLocator_OutputMix;
-
-typedef struct XADataLocator_URI_ {
-    XAuint32 locatorType;
-    XAchar * URI;
-} XADataLocator_URI;
-
-
-/* ENGINE */
-
-#define XA_DEFAULTDEVICEID_AUDIOINPUT   ((XAuint32) 0xFFFFFFFF)
-#define XA_DEFAULTDEVICEID_AUDIOOUTPUT  ((XAuint32) 0xFFFFFFFE)
-#define XA_DEFAULTDEVICEID_LED          ((XAuint32) 0xFFFFFFFD)
-#define XA_DEFAULTDEVICEID_VIBRA        ((XAuint32) 0xFFFFFFFC)
-#define XA_DEFAULTDEVICEID_CAMERA       ((XAuint32) 0xFFFFFFFB)
-
-#define XA_ENGINEOPTION_THREADSAFE      ((XAuint32) 0x00000001)
-#define XA_ENGINEOPTION_LOSSOFCONTROL   ((XAuint32) 0x00000002)
-
-#define XA_OBJECTID_ENGINE              ((XAuint32) 0x00000001)
-#define XA_OBJECTID_LEDDEVICE           ((XAuint32) 0x00000002)
-#define XA_OBJECTID_VIBRADEVICE         ((XAuint32) 0x00000003)
-#define XA_OBJECTID_MEDIAPLAYER         ((XAuint32) 0x00000004)
-#define XA_OBJECTID_MEDIARECORDER       ((XAuint32) 0x00000005)
-#define XA_OBJECTID_RADIODEVICE         ((XAuint32) 0x00000006)
-#define XA_OBJECTID_OUTPUTMIX           ((XAuint32) 0x00000007)
-#define XA_OBJECTID_METADATAEXTRACTOR   ((XAuint32) 0x00000008)
-#define XA_OBJECTID_CAMERADEVICE        ((XAuint32) 0x00000009)
-
-#define XA_PROFILES_MEDIA_PLAYER            ((XAint16) 0x0001)
-#define XA_PROFILES_MEDIA_PLAYER_RECORDER   ((XAint16) 0x0002)
-#define XA_PROFILES_PLUS_MIDI               ((XAint16) 0x0004)
-
-typedef struct XAEngineOption_ {
-    XAuint32 feature;
-    XAuint32 data; 
-} XAEngineOption;
-
-XA_API XAresult XAAPIENTRY xaCreateEngine( 
-    XAObjectItf * pEngine,
-    XAuint32 numOptions,
-    const XAEngineOption * pEngineOptions,
-    XAuint32 numInterfaces,
-    const XAInterfaceID * pInterfaceIds,
-    const XAboolean * pInterfaceRequired
-);
-
-XA_API XAresult XAAPIENTRY xaQueryNumSupportedEngineInterfaces(
-    XAuint32 * pNumSupportedInterfaces
-);
-
-XA_API XAresult XAAPIENTRY xaQuerySupportedEngineInterfaces(
-    XAuint32 index,
-    XAInterfaceID * pInterfaceId
-);
-
-typedef struct XALEDDescriptor_ {
-    XAuint8 ledCount;
-    XAuint8 primaryLED;
-    XAuint32 colorMask;
-} XALEDDescriptor;
-
-typedef struct XAVibraDescriptor_ {
-    XAboolean supportsFrequency;
-    XAboolean supportsIntensity;
-    XAmilliHertz minFrequency;
-    XAmilliHertz maxFrequency;
-} XAVibraDescriptor;
-
-
-XA_API extern const XAInterfaceID XA_IID_ENGINE;
-
-struct XAEngineItf_;
-typedef const struct XAEngineItf_ * const * XAEngineItf;
-
-struct XAEngineItf_ {
-    XAresult (*CreateCameraDevice) (
-        XAEngineItf self,
-        XAObjectItf * pDevice,
-        XAuint32 deviceID,
-        XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired
-    );
-    XAresult (*CreateRadioDevice) (
-        XAEngineItf self,
-        XAObjectItf * pDevice,
-        XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired
-    );
-    XAresult (*CreateLEDDevice) (
-        XAEngineItf self,
-        XAObjectItf * pDevice,
-        XAuint32 deviceID,
-        XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired
-    );
-       XAresult (*CreateVibraDevice) (
-        XAEngineItf self,
-        XAObjectItf * pDevice,
-        XAuint32 deviceID,
-        XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired
-    );
-    XAresult (*CreateMediaPlayer) (
-        XAEngineItf self,
-        XAObjectItf * pPlayer,
-        XADataSource * pDataSrc,
-        XADataSource * pBankSrc,
-        XADataSink * pAudioSnk,
-        XADataSink * pImageVideoSnk,
-        XADataSink * pVibra,
-        XADataSink * pLEDArray,
-        XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired
-    );
-    XAresult (*CreateMediaRecorder) (
-        XAEngineItf self,
-        XAObjectItf * pRecorder,
-        XADataSource * pAudioSrc,
-        XADataSource * pImageVideoSrc,
-        XADataSink * pDataSnk,
-        XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired
-    );
-    XAresult (*CreateOutputMix) (
-        XAEngineItf self,
-        XAObjectItf * pMix,
-        XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired
-    );
-    XAresult (*CreateMetadataExtractor) (
-        XAEngineItf self,
-        XAObjectItf * pMetadataExtractor,
-        XADataSource * pDataSource,
-        XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired
-    );
-    XAresult (*CreateExtensionObject) (
-        XAEngineItf self,
-        XAObjectItf * pObject,
-        void * pParameters,
-        XAuint32 objectID,
-        XAuint32 numInterfaces,
-        const XAInterfaceID * pInterfaceIds,
-        const XAboolean * pInterfaceRequired
-    );
-    XAresult (*GetImplementationInfo) (
-        XAEngineItf self,
-        XAuint32 * pMajor,
-        XAuint32 * pMinor,
-        XAuint32 * pStep,
-        const XAchar * pImplementationText
-    );
-    XAresult (*QuerySupportedProfiles) (
-        XAEngineItf self,
-        XAint16 * pProfilesSupported
-    );
-    XAresult (*QueryNumSupportedInterfaces) (
-        XAEngineItf self,
-        XAuint32 objectID,
-        XAuint32 * pNumSupportedInterfaces
-    );
-    XAresult (*QuerySupportedInterfaces) (
-        XAEngineItf self,
-        XAuint32 objectID,
-        XAuint32 index, 
-        XAInterfaceID * pInterfaceId
-    );
-    XAresult (*QueryNumSupportedExtensions) (
-        XAEngineItf self,
-        XAuint32 * pNumExtensions
-    );
-    XAresult (*QuerySupportedExtension) (
-        XAEngineItf self, 
-        XAuint32 index,
-        XAchar * pExtensionName,
-        XAint16 * pNameLength
-    );
-    XAresult (*IsExtensionSupported) (
-        XAEngineItf self, 
-        const XAchar * pExtensionName,
-        XAboolean * pSupported
-    );
-    XAresult (*QueryLEDCapabilities) (
-        XAEngineItf self,
-        XAuint32 *pIndex,
-        XAuint32 * pLEDDeviceID,
-        XALEDDescriptor * pDescriptor
-    );
-    XAresult (*QueryVibraCapabilities) (
-        XAEngineItf self,
-        XAuint32 *pIndex,
-        XAuint32 * pVibraDeviceID,
-        XAVibraDescriptor * pDescriptor
-    );
-};
-
-/* THREAD SYNC */
-
-XA_API extern const XAInterfaceID XA_IID_THREADSYNC;
-
-struct XAThreadSyncItf_;
-typedef const struct XAThreadSyncItf_ * const * XAThreadSyncItf;
-
-struct XAThreadSyncItf_ {
-    XAresult (*EnterCriticalSection) (
-        XAThreadSyncItf self
-    );
-    XAresult (*ExitCriticalSection) (
-        XAThreadSyncItf self
-    );
-};
-
-
-
-  /*****************************************************************/
-  /* PLAYBACK RELATED INTERFACES, STRUCTS AND DEFINES              */
-  /*****************************************************************/
-
-/* PLAY */
-
-#define XA_TIME_UNKNOWN                     ((XAuint32) 0xFFFFFFFF)
-
-#define XA_PLAYEVENT_HEADATEND              ((XAuint32) 0x00000001)
-#define XA_PLAYEVENT_HEADATMARKER           ((XAuint32) 0x00000002)
-#define XA_PLAYEVENT_HEADATNEWPOS           ((XAuint32) 0x00000004)
-#define XA_PLAYEVENT_HEADMOVING             ((XAuint32) 0x00000008)
-#define XA_PLAYEVENT_HEADSTALLED            ((XAuint32) 0x00000010)
-
-#define XA_PLAYSTATE_STOPPED                ((XAuint32) 0x00000001)
-#define XA_PLAYSTATE_PAUSED                 ((XAuint32) 0x00000002)
-#define XA_PLAYSTATE_PLAYING                ((XAuint32) 0x00000003)
-
-#define XA_PREFETCHEVENT_STATUSCHANGE       ((XAuint32) 0x00000001)
-#define XA_PREFETCHEVENT_FILLLEVELCHANGE    ((XAuint32) 0x00000002)
-
-#define XA_PREFETCHSTATUS_UNDERFLOW         ((XAuint32) 0x00000001)
-#define XA_PREFETCHSTATUS_SUFFICIENTDATA    ((XAuint32) 0x00000002)
-#define XA_PREFETCHSTATUS_OVERFLOW          ((XAuint32) 0x00000003)
-
-#define XA_SEEKMODE_FAST                    ((XAuint32) 0x0001)
-#define XA_SEEKMODE_ACCURATE                ((XAuint32) 0x0002)
-
-XA_API extern const XAInterfaceID XA_IID_PLAY;
-
-struct XAPlayItf_;
-typedef const struct XAPlayItf_ * const * XAPlayItf;
-
-typedef void (XAAPIENTRY * xaPlayCallback) (
-    XAPlayItf caller,
-    void * pContext,
-    XAuint32 event
-);
-
-struct XAPlayItf_ {
-    XAresult (*SetPlayState) (
-        XAPlayItf self,
-        XAuint32 state
-    );
-    XAresult (*GetPlayState) (
-        XAPlayItf self,
-        XAuint32 * pState
-    );
-    XAresult (*GetDuration) (
-        XAPlayItf self, 
-        XAmillisecond * pMsec
-    );
-    XAresult (*GetPosition) (
-        XAPlayItf self, 
-        XAmillisecond * pMsec
-    );
-    XAresult (*RegisterCallback) (
-        XAPlayItf self,
-        xaPlayCallback callback,
-        void * pContext
-    );
-    XAresult (*SetCallbackEventsMask) (
-        XAPlayItf self,
-        XAuint32 eventFlags
-    );
-    XAresult (*GetCallbackEventsMask) (
-        XAPlayItf self,
-        XAuint32 * pEventFlags
-    );
-    XAresult (*SetMarkerPosition) (
-        XAPlayItf self,
-        XAmillisecond mSec
-    );
-    XAresult (*ClearMarkerPosition) (
-        XAPlayItf self
-    );
-    XAresult (*GetMarkerPosition) (
-        XAPlayItf self,
-        XAmillisecond * pMsec
-    );
-    XAresult (*SetPositionUpdatePeriod) (
-        XAPlayItf self,
-        XAmillisecond mSec
-    );
-    XAresult (*GetPositionUpdatePeriod) (
-        XAPlayItf self,
-        XAmillisecond * pMsec
-    );
-};
-
-/* PLAYBACK RATE */
-
-#define XA_RATEPROP_STAGGEREDVIDEO      ((XAuint32) 0x00000001)
-#define XA_RATEPROP_SMOOTHVIDEO         ((XAuint32) 0x00000002)
-#define XA_RATEPROP_SILENTAUDIO         ((XAuint32) 0x00000100)
-#define XA_RATEPROP_STAGGEREDAUDIO      ((XAuint32) 0x00000200)
-#define XA_RATEPROP_NOPITCHCORAUDIO     ((XAuint32) 0x00000400)
-#define XA_RATEPROP_PITCHCORAUDIO       ((XAuint32) 0x00000800)
-
-XA_API extern const XAInterfaceID XA_IID_PLAYBACKRATE;
-
-struct XAPlaybackRateItf_;
-typedef const struct XAPlaybackRateItf_ * const * XAPlaybackRateItf;
-
-struct XAPlaybackRateItf_ {
-    XAresult (*SetRate) (
-        XAPlaybackRateItf self,
-        XApermille rate
-    );
-    XAresult (*GetRate) (
-        XAPlaybackRateItf self,
-        XApermille * pRate
-    );
-    XAresult (*SetPropertyConstraints) (
-        XAPlaybackRateItf self,
-        XAuint32 constraints
-    );
-    XAresult (*GetProperties) (
-        XAPlaybackRateItf self,
-        XAuint32 * pProperties
-    );
-    XAresult (*GetCapabilitiesOfRate) (
-        XAPlaybackRateItf self,
-        XApermille rate,
-        XAuint32 * pCapabilities
-    );
-    XAresult (*GetRateRange) (
-        XAPlaybackRateItf self,
-        XAuint8 index,
-        XApermille * pMinRate,
-        XApermille * pMaxRate,
-        XApermille * pStepSize,
-        XAuint32 * pCapabilities
-    );
-};
-
-/* PREFETCH STATUS */
-
-XA_API extern const XAInterfaceID XA_IID_PREFETCHSTATUS;
-
-struct XAPrefetchStatusItf_;
-typedef const struct XAPrefetchStatusItf_ 
-    * const * XAPrefetchStatusItf;
-
-typedef void (XAAPIENTRY * xaPrefetchCallback) (
-    XAPrefetchStatusItf caller,
-    void * pContext,
-    XAuint32 event
-);
-
-struct XAPrefetchStatusItf_ {
-    XAresult (*GetPrefetchStatus) (
-        XAPrefetchStatusItf self, 
-        XAuint32 * pStatus
-    );
-    XAresult (*GetFillLevel) (
-        XAPrefetchStatusItf self, 
-        XApermille * pLevel
-    );
-    XAresult (*RegisterCallback) (
-        XAPrefetchStatusItf self,
-        xaPrefetchCallback callback,
-        void * pContext
-    );
-    XAresult (*SetCallbackEventsMask) (
-        XAPrefetchStatusItf self, 
-        XAuint32 eventFlags
-    );
-    XAresult (*GetCallbackEventsMask) (
-        XAPrefetchStatusItf self, 
-        XAuint32 * pEventFlags
-    );
-    XAresult (*SetFillUpdatePeriod) (
-        XAPrefetchStatusItf self, 
-        XApermille period
-    );
-    XAresult (*GetFillUpdatePeriod) (
-        XAPrefetchStatusItf self, 
-        XApermille * pPeriod
-    );
-};
-
-/* SEEK */
-
-XA_API extern const XAInterfaceID XA_IID_SEEK;
-
-struct XASeekItf_;
-typedef const struct XASeekItf_ * const * XASeekItf;
-
-struct XASeekItf_ {
-    XAresult (*SetPosition) (
-        XASeekItf self,
-        XAmillisecond pos,
-        XAuint32 seekMode
-    );
-    XAresult (*SetLoop) (
-        XASeekItf self,
-        XAboolean loopEnable,
-        XAmillisecond startPos,
-        XAmillisecond endPos
-    );
-    XAresult (*GetLoop) (
-        XASeekItf self,
-        XAboolean * pLoopEnabled,
-        XAmillisecond * pStartPos,
-        XAmillisecond * pEndPos
-    );
-};
-
-/* VOLUME */
-
-XA_API extern const XAInterfaceID XA_IID_VOLUME;
-
-struct XAVolumeItf_;
-typedef const struct XAVolumeItf_ * const * XAVolumeItf;
-
-struct XAVolumeItf_ {
-    XAresult (*SetVolumeLevel) (
-        XAVolumeItf self,
-        XAmillibel level
-    );
-    XAresult (*GetVolumeLevel) (
-        XAVolumeItf self,
-        XAmillibel * pLevel
-    );
-    XAresult (*GetMaxVolumeLevel) (
-        XAVolumeItf self,
-        XAmillibel * pMaxLevel
-    );
-    XAresult (*SetMute) (
-        XAVolumeItf self,
-        XAboolean mute
-    );
-    XAresult (*GetMute) (
-        XAVolumeItf self,
-        XAboolean * pMute
-    );
-    XAresult (*EnableStereoPosition) (
-        XAVolumeItf self,
-        XAboolean enable
-    );
-    XAresult (*IsEnabledStereoPosition) (
-        XAVolumeItf self,
-        XAboolean * pEnable
-    );
-    XAresult (*SetStereoPosition) (
-        XAVolumeItf self,
-        XApermille stereoPosition
-    );
-    XAresult (*GetStereoPosition) (
-        XAVolumeItf self,
-        XApermille * pStereoPosition
-    );
-};
-
-/* IMAGE CONTROL */
-
-XA_API extern const XAInterfaceID XA_IID_IMAGECONTROLS;
-
-struct XAImageControlsItf_;
-typedef const struct XAImageControlsItf_ * const * XAImageControlsItf;
-
-struct XAImageControlsItf_ {
-    XAresult (*SetBrightness) (
-        XAImageControlsItf self,
-        XAuint32 brightness
-    );
-    XAresult (*GetBrightness) (
-        XAImageControlsItf self,
-        XAuint32 * pBrightness
-    );
-    XAresult (*SetContrast) (
-        XAImageControlsItf self,
-        XAint32 contrast
-    );
-    XAresult (*GetContrast) (
-        XAImageControlsItf self,
-        XAint32 * pContrast
-    );
-    XAresult (*SetGamma) (
-        XAImageControlsItf self,
-        XApermille gamma
-    );
-    XAresult (*GetGamma) (
-        XAImageControlsItf self,
-        XApermille * pGamma
-    );
-    XAresult (*GetSupportedGammaSettings) (
-        XAImageControlsItf self,
-        XApermille * pMinValue,
-        XApermille * pMaxValue,
-        XAuint32 * pNumSettings,
-        XApermille ** ppSettings
-    );
-};
-
-/* IMAGE EFFECT */
-
-#define XA_IMAGEEFFECT_MONOCHROME       ((XAuint32) 0x00000001)
-#define XA_IMAGEEFFECT_NEGATIVE         ((XAuint32) 0x00000002)
-#define XA_IMAGEEFFECT_SEPIA            ((XAuint32) 0x00000003)
-#define XA_IMAGEEFFECT_EMBOSS           ((XAuint32) 0x00000004)
-#define XA_IMAGEEFFECT_PAINTBRUSH       ((XAuint32) 0x00000005)
-#define XA_IMAGEEFFECT_SOLARIZE         ((XAuint32) 0x00000006)
-#define XA_IMAGEEFFECT_CARTOON          ((XAuint32) 0x00000007)
-
-XA_API extern const XAInterfaceID XA_IID_IMAGEEFFECTS;
-
-struct XAImageEffectsItf_;
-typedef const struct XAImageEffectsItf_ * const * XAImageEffectsItf;
-
-struct XAImageEffectsItf_ {
-    XAresult (*QuerySupportedImageEffects) (
-        XAImageEffectsItf self, 
-        XAuint32 index, 
-        XAuint32 * pImageEffectId
-    );
-    XAresult (*EnableImageEffect) (
-        XAImageEffectsItf self, 
-        XAuint32 imageEffectID
-    );
-    XAresult (*DisableImageEffect) (
-        XAImageEffectsItf self, 
-        XAuint32 imageEffectID
-    );
-    XAresult (*IsImageEffectEnabled) (
-        XAImageEffectsItf self, 
-        XAuint32 imageEffectID,
-        XAboolean * pEnabled
-    );
-};
-
-/* VIDEO POST PROCESSING */
-
-#define XA_VIDEOMIRROR_NONE             ((XAuint32) 0x00000001)
-#define XA_VIDEOMIRROR_VERTICAL         ((XAuint32) 0x00000002)
-#define XA_VIDEOMIRROR_HORIZONTAL       ((XAuint32) 0x00000003)
-#define XA_VIDEOMIRROR_BOTH             ((XAuint32) 0x00000004)
-
-#define XA_VIDEOSCALE_STRETCH           ((XAuint32) 0x00000001)
-#define XA_VIDEOSCALE_FIT               ((XAuint32) 0x00000002)
-#define XA_VIDEOSCALE_CROP              ((XAuint32) 0x00000003)
-
-#define XA_RENDERINGHINT_NONE           ((XAuint32) 0x00000000)
-#define XA_RENDERINGHINT_ANTIALIASING   ((XAuint32) 0x00000001)
-
-typedef struct XARectangle_ {
-    XAuint32 left;
-    XAuint32 top;
-    XAuint32 width;
-    XAuint32 height;
-} XARectangle;
-
-XA_API extern const XAInterfaceID XA_IID_VIDEOPOSTPROCESSING;
-
-struct XAVideoPostProcessingItf_;
-typedef const struct XAVideoPostProcessingItf_ * const * XAVideoPostProcessingItf;
-
-struct XAVideoPostProcessingItf_ {
-    XAresult (*SetRotation) (
-        XAVideoPostProcessingItf self,
-        XAmillidegree rotation
-    );
-    XAresult (*IsArbitraryRotationSupported) (
-        XAVideoPostProcessingItf self,
-        XAboolean *pSupported
-    );
-    XAresult (*SetScaleOptions) (
-        XAVideoPostProcessingItf self,
-        XAuint32 scaleOptions,
-        XAuint32 backgroundColor,
-        XAuint32 renderingHints
-    );
-    XAresult (*SetSourceRectangle) (
-        XAVideoPostProcessingItf self,
-        const XARectangle *pSrcRect
-    );
-    XAresult (*SetDestinationRectangle) (
-        XAVideoPostProcessingItf self,
-        const XARectangle *pDestRect
-    );
-    XAresult (*SetMirror) (
-        XAVideoPostProcessingItf self,
-        XAuint32 mirror
-    );
-    XAresult (*Commit) (
-        XAVideoPostProcessingItf self
-    );
-};
-
-
-
-  /*****************************************************************/
-  /* CAPTURING INTERFACES, STRUCTS AND DEFINES                     */
-  /*****************************************************************/
-
-/* RECORD */
-
-#define XA_RECORDEVENT_HEADATLIMIT          ((XAuint32) 0x00000001)
-#define XA_RECORDEVENT_HEADATMARKER         ((XAuint32) 0x00000002)
-#define XA_RECORDEVENT_HEADATNEWPOS         ((XAuint32) 0x00000004)
-#define XA_RECORDEVENT_HEADMOVING           ((XAuint32) 0x00000008)
-#define XA_RECORDEVENT_HEADSTALLED          ((XAuint32) 0x00000010)
-#define XA_RECORDEVENT_BUFFER_FULL          ((XAuint32) 0x00000020)
-
-#define XA_RECORDSTATE_STOPPED          ((XAuint32) 0x00000001)
-#define XA_RECORDSTATE_PAUSED           ((XAuint32) 0x00000002)
-#define XA_RECORDSTATE_RECORDING        ((XAuint32) 0x00000003)
-
-XA_API extern const XAInterfaceID XA_IID_RECORD;
-
-struct XARecordItf_;
-typedef const struct XARecordItf_ * const * XARecordItf;
-
-typedef void (XAAPIENTRY * xaRecordCallback) (
-    XARecordItf caller,
-    void * pContext,
-    XAuint32 event
-);
-
-struct XARecordItf_ {
-    XAresult (*SetRecordState) (
-        XARecordItf self,
-        XAuint32 state
-    );
-    XAresult (*GetRecordState) (
-        XARecordItf self,
-        XAuint32 * pState
-    );
-    XAresult (*SetDurationLimit) (
-        XARecordItf self,
-        XAmillisecond msec
-    );
-    XAresult (*GetPosition) (
-        XARecordItf self,
-        XAmillisecond * pMsec
-    );
-    XAresult (*RegisterCallback) (
-        XARecordItf self,
-        xaRecordCallback callback,
-        void * pContext
-    );
-    XAresult (*SetCallbackEventsMask) (
-        XARecordItf self,
-        XAuint32 eventFlags
-    );
-    XAresult (*GetCallbackEventsMask) (
-        XARecordItf self,
-        XAuint32 * pEventFlags
-    );
-    XAresult (*SetMarkerPosition) (
-        XARecordItf self,
-        XAmillisecond mSec
-    );
-    XAresult (*ClearMarkerPosition) (
-        XARecordItf self
-    );
-    XAresult (*GetMarkerPosition) (
-        XARecordItf self,
-        XAmillisecond * pMsec
-    );
-    XAresult (*SetPositionUpdatePeriod) (
-        XARecordItf self,
-        XAmillisecond mSec
-    );
-    XAresult (*GetPositionUpdatePeriod) (
-        XARecordItf self,
-        XAmillisecond * pMsec
-    );
-};
-
-/* SNAPSHOT */
-
-XA_API extern const XAInterfaceID XA_IID_SNAPSHOT;
-
-struct XASnapshotItf_;
-typedef const struct XASnapshotItf_ * const * XASnapshotItf;
-
-typedef void (XAAPIENTRY * xaSnapshotInitiatedCallback) (
-    XASnapshotItf caller,
-    void * context
-);
-
-typedef void (XAAPIENTRY * xaSnapshotTakenCallback) (
-    XASnapshotItf caller,
-    void * context,
-    XAuint32 numberOfPicsTaken,
-    const XADataSink * image
-);
-
-struct XASnapshotItf_ {
-    XAresult (*InitiateSnapshot) (
-        XASnapshotItf self,
-        XAuint32 numberOfPictures,
-        XAuint32 fps,
-        XAboolean freezeViewFinder,
-        XADataSink sink,
-        xaSnapshotInitiatedCallback initiatedCallback, 
-        xaSnapshotTakenCallback takenCallback, 
-        void * pContext
-    );
-    XAresult (*TakeSnapshot) (
-        XASnapshotItf self
-    );
-    XAresult (*CancelSnapshot) (
-        XASnapshotItf self
-    );
-    XAresult (*ReleaseBuffers) (
-        XASnapshotItf self,
-        XADataSink * image
-    );
-    XAresult (*GetMaxPicsPerBurst) (
-        XASnapshotItf self,
-        XAuint32 * maxNumberOfPictures
-    );
-    XAresult (*GetBurstFPSRange) (
-        XASnapshotItf self,
-        XAuint32 * minFPS,
-        XAuint32 * maxFPS
-    );
-    XAresult (*SetShutterFeedback) (
-        XASnapshotItf self,
-        XAboolean enabled
-    );
-    XAresult (*GetShutterFeedback) (
-        XASnapshotItf self,
-        XAboolean * enabled
-    );
-};
-
-
-
-  /*****************************************************************/
-  /* METADATA RELATED INTERFACES, STRUCTS AND DEFINES              */
-  /*****************************************************************/
-
-/* METADATA (EXTRACTION, INSERTION, TRAVERSAL) */
-
-#define XA_NODE_PARENT                  ((XAuint32) 0xFFFFFFFF)
-
-#define XA_ROOT_NODE_ID                 ((XAint32) 0x7FFFFFFF)
-
-#define XA_NODETYPE_UNSPECIFIED         ((XAuint32) 0x00000001)
-#define XA_NODETYPE_AUDIO               ((XAuint32) 0x00000002)
-#define XA_NODETYPE_VIDEO               ((XAuint32) 0x00000003)
-#define XA_NODETYPE_IMAGE               ((XAuint32) 0x00000004)
-
-#define XA_CHARACTERENCODING_UNKNOWN            ((XAuint32) 0x00000000)
-#define XA_CHARACTERENCODING_BINARY             ((XAuint32) 0x00000001)
-#define XA_CHARACTERENCODING_ASCII              ((XAuint32) 0x00000002)
-#define XA_CHARACTERENCODING_BIG5               ((XAuint32) 0x00000003)
-#define XA_CHARACTERENCODING_CODEPAGE1252       ((XAuint32) 0x00000004)
-#define XA_CHARACTERENCODING_GB2312             ((XAuint32) 0x00000005)
-#define XA_CHARACTERENCODING_HZGB2312           ((XAuint32) 0x00000006)
-#define XA_CHARACTERENCODING_GB12345            ((XAuint32) 0x00000007)
-#define XA_CHARACTERENCODING_GB18030            ((XAuint32) 0x00000008)
-#define XA_CHARACTERENCODING_GBK                ((XAuint32) 0x00000009)
-#define XA_CHARACTERENCODING_IMAPUTF7           ((XAuint32) 0x0000000A)
-#define XA_CHARACTERENCODING_ISO2022JP          ((XAuint32) 0x0000000B)
-#define XA_CHARACTERENCODING_ISO2022JP1         ((XAuint32) 0x0000000B)
-#define XA_CHARACTERENCODING_ISO88591           ((XAuint32) 0x0000000C)
-#define XA_CHARACTERENCODING_ISO885910          ((XAuint32) 0x0000000D)
-#define XA_CHARACTERENCODING_ISO885913          ((XAuint32) 0x0000000E)
-#define XA_CHARACTERENCODING_ISO885914          ((XAuint32) 0x0000000F)
-#define XA_CHARACTERENCODING_ISO885915          ((XAuint32) 0x00000010)
-#define XA_CHARACTERENCODING_ISO88592           ((XAuint32) 0x00000011)
-#define XA_CHARACTERENCODING_ISO88593           ((XAuint32) 0x00000012)
-#define XA_CHARACTERENCODING_ISO88594           ((XAuint32) 0x00000013)
-#define XA_CHARACTERENCODING_ISO88595           ((XAuint32) 0x00000014)
-#define XA_CHARACTERENCODING_ISO88596           ((XAuint32) 0x00000015)
-#define XA_CHARACTERENCODING_ISO88597           ((XAuint32) 0x00000016)
-#define XA_CHARACTERENCODING_ISO88598           ((XAuint32) 0x00000017)
-#define XA_CHARACTERENCODING_ISO88599           ((XAuint32) 0x00000018)
-#define XA_CHARACTERENCODING_ISOEUCJP           ((XAuint32) 0x00000019)
-#define XA_CHARACTERENCODING_SHIFTJIS           ((XAuint32) 0x0000001A)
-#define XA_CHARACTERENCODING_SMS7BIT            ((XAuint32) 0x0000001B)
-#define XA_CHARACTERENCODING_UTF7               ((XAuint32) 0x0000001C)
-#define XA_CHARACTERENCODING_UTF8               ((XAuint32) 0x0000001D)
-#define XA_CHARACTERENCODING_JAVACONFORMANTUTF8 ((XAuint32) 0x0000001E)
-#define XA_CHARACTERENCODING_UTF16BE            ((XAuint32) 0x0000001F)
-#define XA_CHARACTERENCODING_UTF16LE            ((XAuint32) 0x00000020)
-
-#define XA_METADATA_FILTER_KEY          ((XAuint8) 0x01)
-#define XA_METADATA_FILTER_LANG         ((XAuint8) 0x02)
-#define XA_METADATA_FILTER_ENCODING     ((XAuint8) 0x04)
-
-#define XA_METADATATRAVERSALMODE_ALL    ((XAuint32) 0x00000001)
-#define XA_METADATATRAVERSALMODE_NODE   ((XAuint32) 0x00000002)
-
-#ifndef _KHRONOS_KEYS_
-#define _KHRONOS_KEYS_
-#define KHRONOS_TITLE                   "KhronosTitle"
-#define KHRONOS_ALBUM                   "KhronosAlbum"
-#define KHRONOS_TRACK_NUMBER            "KhronosTrackNumber"
-#define KHRONOS_ARTIST                  "KhronosArtist"
-#define KHRONOS_GENRE                   "KhronosGenre"
-#define KHRONOS_YEAR                    "KhronosYear"
-#define KHRONOS_COMMENT                 "KhronosComment"
-#define KHRONOS_ARTIST_URL              "KhronosArtistURL"
-#define KHRONOS_CONTENT_URL             "KhronosContentURL"
-#define KHRONOS_RATING                  "KhronosRating"
-#define KHRONOS_ALBUM_ART               "KhronosAlbumArt"
-#define KHRONOS_COPYRIGHT               "KhronosCopyright"
-#endif /* _KHRONOS_KEYS_ */
-
-
-typedef struct XAMetadataInfo_ {
-    XAuint32 size;
-    XAuint32 encoding;
-    const XAchar langCountry[16];
-    XAuint8 data[1];
-} XAMetadataInfo;
-
-XA_API extern const XAInterfaceID XA_IID_METADATAEXTRACTION;
-
-struct XAMetadataExtractionItf_;
-typedef const struct XAMetadataExtractionItf_
-    * const * XAMetadataExtractionItf;
-
-struct XAMetadataExtractionItf_ {
-    XAresult (*GetItemCount) (
-        XAMetadataExtractionItf self,
-        XAuint32 * pItemCount
-    );
-    XAresult (*GetKeySize) (
-        XAMetadataExtractionItf self,
-        XAuint32 index,
-        XAuint32 * pKeySize
-    );
-    XAresult (*GetKey) (
-        XAMetadataExtractionItf self,
-        XAuint32 index,
-        XAuint32 keySize,
-        XAMetadataInfo * pKey
-    );
-    XAresult (*GetValueSize) (
-        XAMetadataExtractionItf self,
-        XAuint32 index,
-        XAuint32 * pValueSize
-    );
-    XAresult (*GetValue) (
-        XAMetadataExtractionItf self,
-        XAuint32 index,
-        XAuint32 valueSize,
-        XAMetadataInfo * pValue
-    );
-    XAresult (*AddKeyFilter) (
-        XAMetadataExtractionItf self,
-        XAuint32 keySize,
-        const void * pKey,
-        XAuint32 keyEncoding,
-        const XAchar * pValueLangCountry,
-        XAuint32 valueEncoding,
-        XAuint8 filterMask
-    );
-    XAresult (*ClearKeyFilter) (
-        XAMetadataExtractionItf self
-    );
-};
-
-
-XA_API extern const XAInterfaceID XA_IID_METADATAINSERTION;
-
-struct XAMetadataInsertionItf_;
-typedef const struct XAMetadataInsertionItf_
-    * const * XAMetadataInsertionItf;
-
-typedef void (XAAPIENTRY * xaMetadataInsertionCallback) (
-    XAMetadataInsertionItf caller,
-    void * pContext,
-    XAMetadataInfo * pKey,
-    XAMetadataInfo * pValue,
-    XAint32 nodeID,
-    XAboolean result
-);
-
-struct XAMetadataInsertionItf_ {
-    XAresult (*CreateChildNode) (
-        XAMetadataInsertionItf self,
-        XAint32 parentNodeID, 
-        XAuint32 type,
-        XAchar * mimeType,
-        XAint32 * pChildNodeID
-    );
-    XAresult (*GetSupportedKeysCount) (
-        XAMetadataInsertionItf self,
-        XAint32 nodeID,
-        XAboolean * pFreeKeys,
-        XAuint32 * pKeyCount,
-        XAuint32 * pEncodingCount
-    );
-    XAresult (*GetKeySize) (
-        XAMetadataInsertionItf self,
-        XAint32 nodeID,
-        XAuint32 keyIndex,
-        XAuint32 * pKeySize
-    );
-    XAresult (*GetKey) (
-        XAMetadataInsertionItf self,
-        XAint32 nodeID,
-        XAuint32 keyIndex,
-        XAuint32 keySize,
-        XAMetadataInfo * pKey
-    );
-    XAresult (*GetFreeKeysEncoding) (
-        XAMetadataInsertionItf self,
-        XAint32 nodeID,
-        XAuint32 encodingIndex,
-        XAuint32 * pEncoding
-    );
-    XAresult (*InsertMetadataItem) (
-        XAMetadataInsertionItf self,
-        XAint32 nodeID,
-        XAMetadataInfo * pKey,
-        XAMetadataInfo * pValue,
-        XAboolean overwrite
-    );
-    XAresult (*RegisterCallback) (
-        XAMetadataInsertionItf self,
-        xaMetadataInsertionCallback callback,
-        void * pContext
-    );
-};
-
-
-XA_API extern const XAInterfaceID XA_IID_METADATATRAVERSAL;
- 
-struct XAMetadataTraversalItf_;
-typedef const struct XAMetadataTraversalItf_
-    *  const *  XAMetadataTraversalItf;
-
-struct XAMetadataTraversalItf_ {
-    XAresult (*SetMode) (
-        XAMetadataTraversalItf self,
-        XAuint32 mode
-    );
-    XAresult (*GetChildCount) (
-        XAMetadataTraversalItf self,
-        XAuint32 * pCount
-    );
-    XAresult (*GetChildMIMETypeSize) (
-        XAMetadataTraversalItf self,
-        XAuint32 index,
-        XAuint32 * pSize
-    );
-    XAresult (*GetChildInfo) (
-        XAMetadataTraversalItf self,
-        XAuint32 index,
-        XAint32 * pNodeID,
-        XAuint32 * pType,
-        XAuint32 size,
-        XAchar * pMimeType
-    );
-    XAresult (*SetActiveNode) (
-        XAMetadataTraversalItf self,
-        XAuint32 index
-    );
-};
-
-/* DYNAMIC SOURCE */
-
-XA_API extern const XAInterfaceID XA_IID_DYNAMICSOURCE;
-
-struct XADynamicSourceItf_;
-typedef const struct XADynamicSourceItf_ * const * XADynamicSourceItf;
-
-struct XADynamicSourceItf_ {
-    XAresult (*SetSource) (
-        XADynamicSourceItf self,
-        XADataSource * pDataSource
-    );
-};
-
-
-
-  /*****************************************************************/
-  /*  I/O DEVICES RELATED INTERFACES, STRUCTS AND DEFINES          */
-  /*****************************************************************/
-
-/* CAMERA AND CAMERA CAPABILITIES */
-
-#define XA_CAMERA_APERTUREMODE_MANUAL               ((XAuint32) 0x00000001)
-#define XA_CAMERA_APERTUREMODE_AUTO                 ((XAuint32) 0x00000002)
-
-#define XA_CAMERA_AUTOEXPOSURESTATUS_SUCCESS        ((XAuint32) 0x00000001)
-#define XA_CAMERA_AUTOEXPOSURESTATUS_UNDEREXPOSURE  ((XAuint32) 0x00000002)
-#define XA_CAMERA_AUTOEXPOSURESTATUS_OVEREXPOSURE   ((XAuint32) 0x00000003)
-
-#define XA_CAMERACBEVENT_ROTATION                   ((XAuint32) 0x00000001)
-#define XA_CAMERACBEVENT_FLASHREADY                 ((XAuint32) 0x00000002)
-#define XA_CAMERACBEVENT_FOCUSSTATUS                ((XAuint32) 0x00000003)
-#define XA_CAMERACBEVENT_EXPOSURESTATUS             ((XAuint32) 0x00000004)
-#define XA_CAMERACBEVENT_WHITEBALANCELOCKED         ((XAuint32) 0x00000005)
-#define XA_CAMERACBEVENT_ZOOMSTATUS                 ((XAuint32) 0x00000006)
-
-#define XA_CAMERACAP_FLASH                          ((XAuint32) 0x00000001)
-#define XA_CAMERACAP_AUTOFOCUS                      ((XAuint32) 0x00000002)
-#define XA_CAMERACAP_CONTINUOUSAUTOFOCUS            ((XAuint32) 0x00000004)
-#define XA_CAMERACAP_MANUALFOCUS                    ((XAuint32) 0x00000008)
-#define XA_CAMERACAP_AUTOEXPOSURE                   ((XAuint32) 0x00000010)
-#define XA_CAMERACAP_MANUALEXPOSURE                 ((XAuint32) 0x00000020)
-#define XA_CAMERACAP_AUTOISOSENSITIVITY             ((XAuint32) 0x00000040)
-#define XA_CAMERACAP_MANUALISOSENSITIVITY           ((XAuint32) 0x00000080)
-#define XA_CAMERACAP_AUTOAPERTURE                   ((XAuint32) 0x00000100)
-#define XA_CAMERACAP_MANUALAPERTURE                 ((XAuint32) 0x00000200)
-#define XA_CAMERACAP_AUTOSHUTTERSPEED               ((XAuint32) 0x00000400)
-#define XA_CAMERACAP_MANUALSHUTTERSPEED             ((XAuint32) 0x00000800)
-#define XA_CAMERACAP_AUTOWHITEBALANCE               ((XAuint32) 0x00001000)
-#define XA_CAMERACAP_MANUALWHITEBALANCE             ((XAuint32) 0x00002000)
-#define XA_CAMERACAP_OPTICALZOOM                    ((XAuint32) 0x00004000)
-#define XA_CAMERACAP_DIGITALZOOM                    ((XAuint32) 0x00008000)
-#define XA_CAMERACAP_METERING                       ((XAuint32) 0x00010000)
-#define XA_CAMERACAP_BRIGHTNESS                     ((XAuint32) 0x00020000)
-#define XA_CAMERACAP_CONTRAST                       ((XAuint32) 0x00040000)
-#define XA_CAMERACAP_GAMMA                          ((XAuint32) 0x00080000)
-
-
-#define XA_CAMERA_EXPOSUREMODE_MANUAL               ((XAuint32) 0x00000001)
-#define XA_CAMERA_EXPOSUREMODE_AUTO                 ((XAuint32) 0x00000002)
-#define XA_CAMERA_EXPOSUREMODE_NIGHT                ((XAuint32) 0x00000004)
-#define XA_CAMERA_EXPOSUREMODE_BACKLIGHT            ((XAuint32) 0x00000008)
-#define XA_CAMERA_EXPOSUREMODE_SPOTLIGHT            ((XAuint32) 0x00000010)
-#define XA_CAMERA_EXPOSUREMODE_SPORTS               ((XAuint32) 0x00000020)
-#define XA_CAMERA_EXPOSUREMODE_SNOW                 ((XAuint32) 0x00000040)
-#define XA_CAMERA_EXPOSUREMODE_BEACH                ((XAuint32) 0x00000080)
-#define XA_CAMERA_EXPOSUREMODE_LARGEAPERTURE        ((XAuint32) 0x00000100)
-#define XA_CAMERA_EXPOSUREMODE_SMALLAPERTURE        ((XAuint32) 0x00000200)
-#define XA_CAMERA_EXPOSUREMODE_PORTRAIT             ((XAuint32) 0x0000400)
-#define XA_CAMERA_EXPOSUREMODE_NIGHTPORTRAIT        ((XAuint32) 0x00000800)
-
-#define XA_CAMERA_FLASHMODE_OFF                     ((XAuint32) 0x00000001)
-#define XA_CAMERA_FLASHMODE_ON                      ((XAuint32) 0x00000002)
-#define XA_CAMERA_FLASHMODE_AUTO                    ((XAuint32) 0x00000004)
-#define XA_CAMERA_FLASHMODE_REDEYEREDUCTION         ((XAuint32) 0x00000008)
-#define XA_CAMERA_FLASHMODE_REDEYEREDUCTION_AUTO    ((XAuint32) 0x00000010)
-#define XA_CAMERA_FLASHMODE_FILLIN                  ((XAuint32) 0x00000020)
-#define XA_CAMERA_FLASHMODE_TORCH                   ((XAuint32) 0x00000040)
-
-#define XA_CAMERA_FOCUSMODE_MANUAL                  ((XAuint32) 0x00000001)
-#define XA_CAMERA_FOCUSMODE_AUTO                    ((XAuint32) 0x00000002)
-#define XA_CAMERA_FOCUSMODE_CENTROID                ((XAuint32) 0x00000004)
-#define XA_CAMERA_FOCUSMODE_CONTINUOUS_AUTO         ((XAuint32) 0x00000008)
-#define XA_CAMERA_FOCUSMODE_CONTINUOUS_CENTROID     ((XAuint32) 0x00000010)
-
-#define XA_CAMERA_FOCUSMODESTATUS_OFF               ((XAuint32) 0x00000001)
-#define XA_CAMERA_FOCUSMODESTATUS_REQUEST           ((XAuint32) 0x00000002)
-#define XA_CAMERA_FOCUSMODESTATUS_REACHED           ((XAuint32) 0x00000003)
-#define XA_CAMERA_FOCUSMODESTATUS_UNABLETOREACH     ((XAuint32) 0x00000004)
-#define XA_CAMERA_FOCUSMODESTATUS_LOST              ((XAuint32) 0x00000005)
-
-#define XA_CAMERA_ISOSENSITIVITYMODE_MANUAL         ((XAuint32) 0x00000001)
-#define XA_CAMERA_ISOSENSITIVITYMODE_AUTO           ((XAuint32) 0x00000002)
-
-#define XA_CAMERA_LOCK_AUTOFOCUS                    ((XAuint32) 0x00000001)
-#define XA_CAMERA_LOCK_AUTOEXPOSURE                 ((XAuint32) 0x00000002)
-#define XA_CAMERA_LOCK_AUTOWHITEBALANCE             ((XAuint32) 0x00000004)
-
-#define XA_CAMERA_METERINGMODE_AVERAGE              ((XAuint32) 0x00000001)
-#define XA_CAMERA_METERINGMODE_SPOT                 ((XAuint32) 0x00000002)
-#define XA_CAMERA_METERINGMODE_MATRIX               ((XAuint32) 0x00000004)
-
-#define XA_CAMERA_SHUTTERSPEEDMODE_MANUAL           ((XAuint32) 0x00000001)
-#define XA_CAMERA_SHUTTERSPEEDMODE_AUTO             ((XAuint32) 0x00000002)
-
-#define XA_CAMERA_WHITEBALANCEMODE_MANUAL           ((XAuint32) 0x00000001)
-#define XA_CAMERA_WHITEBALANCEMODE_AUTO             ((XAuint32) 0x00000002)
-#define XA_CAMERA_WHITEBALANCEMODE_SUNLIGHT         ((XAuint32) 0x00000004)
-#define XA_CAMERA_WHITEBALANCEMODE_CLOUDY           ((XAuint32) 0x00000008)
-#define XA_CAMERA_WHITEBALANCEMODE_SHADE            ((XAuint32) 0x00000010)
-#define XA_CAMERA_WHITEBALANCEMODE_TUNGSTEN         ((XAuint32) 0x00000020)
-#define XA_CAMERA_WHITEBALANCEMODE_FLUORESCENT      ((XAuint32) 0x00000040)
-#define XA_CAMERA_WHITEBALANCEMODE_INCANDESCENT     ((XAuint32) 0x00000080)
-#define XA_CAMERA_WHITEBALANCEMODE_FLASH            ((XAuint32) 0x00000100)
-#define XA_CAMERA_WHITEBALANCEMODE_SUNSET           ((XAuint32) 0x00000200)
-
-#define XA_CAMERA_ZOOM_SLOW                         ((XAuint32) 50)
-#define XA_CAMERA_ZOOM_NORMAL                       ((XAuint32) 100)
-#define XA_CAMERA_ZOOM_FAST                         ((XAuint32) 200)
-#define XA_CAMERA_ZOOM_FASTEST                      ((XAuint32) 0xFFFFFFFF)
-
-#define XA_FOCUSPOINTS_ONE                          ((XAuint32) 0x00000001)
-#define XA_FOCUSPOINTS_THREE_3X1                    ((XAuint32) 0x00000002)
-#define XA_FOCUSPOINTS_FIVE_CROSS                   ((XAuint32) 0x00000003)
-#define XA_FOCUSPOINTS_SEVEN_CROSS                  ((XAuint32) 0x00000004)
-#define XA_FOCUSPOINTS_NINE_SQUARE                  ((XAuint32) 0x00000005)
-#define XA_FOCUSPOINTS_ELEVEN_CROSS                 ((XAuint32) 0x00000006)
-#define XA_FOCUSPOINTS_TWELVE_3X4                   ((XAuint32) 0x00000007)
-#define XA_FOCUSPOINTS_TWELVE_4X3                   ((XAuint32) 0x00000008)
-#define XA_FOCUSPOINTS_SIXTEEN_SQUARE               ((XAuint32) 0x00000009)
-#define XA_FOCUSPOINTS_CUSTOM                       ((XAuint32) 0x0000000A)
-
-typedef struct XAFocusPointPosition_ {
-    XAuint32 left;
-    XAuint32 top;
-    XAuint32 width;
-    XAuint32 height;
-} XAFocusPointPosition;
-
-#define XA_ORIENTATION_UNKNOWN                      ((XAuint32) 0x00000001)
-#define XA_ORIENTATION_OUTWARDS                     ((XAuint32) 0x00000002)
-#define XA_ORIENTATION_INWARDS                      ((XAuint32) 0x00000003)
-
-typedef struct XACameraDescriptor_ {
-    XAchar * name;
-    XAuint32 maxWidth;
-    XAuint32 maxHeight;
-    XAuint32 orientation;
-    XAuint32 featuresSupported;
-    XAuint32 exposureModesSupported;
-    XAuint32 flashModesSupported;
-    XAuint32 focusModesSupported;
-    XAuint32 meteringModesSupported;
-    XAuint32 whiteBalanceModesSupported;
-} XACameraDescriptor;
-
-XA_API extern const XAInterfaceID XA_IID_CAMERACAPABILITIES;
-
-struct XACameraCapabilitiesItf_;
-typedef const struct XACameraCapabilitiesItf_
-    * const * XACameraCapabilitiesItf;
-
-struct XACameraCapabilitiesItf_ {
-    XAresult (*GetCameraCapabilities) (
-        XACameraCapabilitiesItf self,
-        XAuint32 *pIndex,
-        XAuint32 * pCameraDeviceID,
-        XACameraDescriptor * pDescriptor
-    );
-    XAresult (*QueryFocusRegionPatterns) (
-        XACameraCapabilitiesItf self,
-        XAuint32 cameraDeviceID,
-        XAuint32 * pPatternID,
-        XAuint32 * pFocusPattern,
-        XAuint32 * pCustomPoints1,
-        XAuint32 * pCustomPoints2
-    );
-    XAresult (*GetSupportedAutoLocks) (
-        XACameraCapabilitiesItf self,
-        XAuint32 cameraDeviceID,
-        XAuint32 * pNumCombinations,
-        XAuint32 ** ppLocks
-    );
-    XAresult (*GetSupportedFocusManualSettings) (
-        XACameraCapabilitiesItf self,
-        XAuint32 cameraDeviceID,
-        XAboolean macroEnabled,
-        XAmillimeter * pMinValue,
-        XAmillimeter * pMaxValue,
-        XAuint32 * pNumSettings,
-        XAmillimeter ** ppSettings
-    );
-    XAresult (*GetSupportedISOSensitivitySettings) (
-        XACameraCapabilitiesItf self,
-        XAuint32 cameraDeviceID,
-        XAuint32 * pMinValue,
-        XAuint32 * pMaxValue,
-        XAuint32 * pNumSettings,
-        XAuint32 ** ppSettings
-    );
-    XAresult (*GetSupportedApertureManualSettings) (
-        XACameraCapabilitiesItf self,
-        XAuint32 cameraDeviceID,
-        XAuint32 * pMinValue,
-        XAuint32 * pMaxValue,
-        XAuint32 * pNumSettings,
-        XAuint32 ** ppSettings
-    );
-    XAresult (*GetSupportedShutterSpeedManualSettings) (
-        XACameraCapabilitiesItf self,
-        XAuint32 cameraDeviceID,
-        XAmicrosecond * pMinValue,
-        XAmicrosecond * pMaxValue,
-        XAuint32 * pNumSettings,
-        XAmicrosecond ** ppSettings
-    );
-    XAresult (*GetSupportedWhiteBalanceManualSettings) (
-        XACameraCapabilitiesItf self,
-        XAuint32 cameraDeviceID,
-        XAuint32 * pMinValue,
-        XAuint32 * pMaxValue,
-        XAuint32 * pNumSettings,
-        XAuint32 ** ppSettings
-    );
-    XAresult (*GetSupportedZoomSettings) (
-        XACameraCapabilitiesItf self,
-        XAuint32 cameraDeviceID,
-        XAboolean digitalEnabled,
-        XAboolean macroEnabled,
-        XApermille * pMaxValue,
-        XAuint32 * pNumSettings,
-        XApermille ** ppSettings,
-        XAboolean * pSpeedSupported
-
-    );
-};
-
-XA_API extern const XAInterfaceID XA_IID_CAMERA;
-
-struct XACameraItf_;
-typedef const struct XACameraItf_ * const * XACameraItf;
-
-typedef void (XAAPIENTRY * xaCameraCallback) (
-    XACameraItf caller,
-    void * pContext,
-    XAuint32 eventId,
-    XAuint32 eventData
-);
-
-struct XACameraItf_ {
-    XAresult (*RegisterCallback) (
-        XACameraItf self,
-        xaCameraCallback callback,
-        void * pContext
-    );
-    XAresult (*SetFlashMode) (
-        XACameraItf self, 
-        XAuint32 flashMode
-    );
-    XAresult (*GetFlashMode) (
-        XACameraItf self,
-        XAuint32 * pFlashMode
-    );
-    XAresult (*IsFlashReady) (
-        XACameraItf self,
-        XAboolean * pReady
-    );
-    XAresult (*SetFocusMode) (
-        XACameraItf self, 
-        XAuint32 focusMode, 
-        XAmillimeter manualSetting,
-        XAboolean macroEnabled
-    );
-    XAresult (*GetFocusMode) (
-        XACameraItf self,
-        XAuint32 * pFocusMode, 
-        XAmillimeter * pManualSetting,
-        XAboolean * pMacroEnabled
-    );
-    XAresult (*SetFocusRegionPattern) (
-        XACameraItf self, 
-        XAuint32 focusPattern,
-        XAuint32 activePoints1,
-        XAuint32 activePoints2
-    );
-    XAresult (*GetFocusRegionPattern) (
-        XACameraItf self,
-        XAuint32 * pFocusPattern,
-        XAuint32 * pActivePoints1,
-        XAuint32 * pActivePoints2
-    );
-    XAresult (*GetFocusRegionPositions) (
-        XACameraItf self,
-        XAuint32 * pNumPositionEntries,
-        XAFocusPointPosition * pFocusPosition
-    ); 
-    XAresult (*GetFocusModeStatus) (
-        XACameraItf self,
-        XAuint32 * pFocusStatus,
-        XAuint32 * pRegionStatus1,
-        XAuint32 * pRegionStatus2
-    );
-    XAresult (*SetMeteringMode) (
-        XACameraItf self, 
-        XAuint32 meteringMode
-    );
-    XAresult (*GetMeteringMode) (
-        XACameraItf self,
-        XAuint32 * pMeteringMode
-    );
-    XAresult (*SetExposureMode) (
-        XACameraItf self, 
-        XAuint32 exposure,
-        XAuint32 compensation
-    );
-    XAresult (*GetExposureMode) (
-        XACameraItf self,
-        XAuint32 * pExposure,
-        XAuint32 * pCompensation
-    );
-    XAresult (*SetISOSensitivity) (
-        XACameraItf self, 
-        XAuint32 isoSensitivity,
-        XAuint32 manualSetting
-    );
-    XAresult (*GetISOSensitivity) (
-        XACameraItf self,
-        XAuint32 * pIsoSensitivity,
-        XAuint32 * pManualSetting
-    );
-    XAresult (*SetAperture) (
-        XACameraItf self, 
-        XAuint32 aperture,
-        XAuint32 manualSetting
-    );
-    XAresult (*GetAperture) (
-        XACameraItf self,
-        XAuint32 * pAperture,
-        XAuint32 * pManualSetting
-    );
-    XAresult (*SetShutterSpeed) (
-        XACameraItf self, 
-        XAuint32 shutterSpeed,
-        XAmicrosecond manualSetting
-    );
-    XAresult (*GetShutterSpeed) (
-        XACameraItf self,
-        XAuint32 * pShutterSpeed,
-        XAmicrosecond * pManualSetting
-    );
-    XAresult (*SetWhiteBalance) (
-        XACameraItf self, 
-        XAuint32 whiteBalance,
-        XAuint32 manualSetting
-    );
-    XAresult (*GetWhiteBalance) (
-        XACameraItf self,
-        XAuint32 * pWhiteBalance,
-        XAuint32 * pManualSetting
-    );
-    XAresult (*SetAutoLocks) (
-        XACameraItf self,
-        XAuint32 locks
-    );
-    XAresult (*GetAutoLocks) (
-        XACameraItf self,
-        XAuint32 * locks
-    );
-    XAresult (*SetZoom) (
-        XACameraItf self,
-        XApermille zoom,
-        XAboolean digitalEnabled,
-        XAuint32 speed,
-        XAboolean async
-    );
-    XAresult (*GetZoom) (
-        XACameraItf self,
-        XApermille * pZoom,
-        XAboolean * pDigital
-    );
-};
-
-/* AUDIO I/O DEVICE CAPABILITIES */
-
-#define XA_DEVCONNECTION_INTEGRATED                 ((XAint16) 0x0001)
-#define XA_DEVCONNECTION_ATTACHED_WIRED             ((XAint16) 0x0100)
-#define XA_DEVCONNECTION_ATTACHED_WIRELESS          ((XAint16) 0x0200)
-#define XA_DEVCONNECTION_NETWORK                    ((XAint16) 0x0400)
-
-#define XA_DEVLOCATION_HANDSET                      ((XAint16) 0x0001)
-#define XA_DEVLOCATION_HEADSET                      ((XAint16) 0x0002)
-#define XA_DEVLOCATION_CARKIT                       ((XAint16) 0x0003)
-#define XA_DEVLOCATION_DOCK                         ((XAint16) 0x0004)
-#define XA_DEVLOCATION_REMOTE                       ((XAint16) 0x0005)
-
-#define XA_DEVSCOPE_UNKNOWN                         ((XAint16) 0x0001)
-#define XA_DEVSCOPE_ENVIRONMENT                     ((XAint16) 0x0002)
-#define XA_DEVSCOPE_USER                            ((XAint16) 0x0003)
-
-typedef struct XAAudioInputDescriptor_ {
-    XAchar * deviceName;
-    XAint16 deviceConnection;
-    XAint16 deviceScope;
-    XAint16 deviceLocation;
-    XAboolean isForTelephony;
-    XAmilliHertz minSampleRate;
-    XAmilliHertz maxSampleRate;
-    XAboolean isFreqRangeContinuous;
-    XAmilliHertz * samplingRatesSupported;
-    XAint16 numOfSamplingRatesSupported;
-    XAint16 maxChannels;
-} XAAudioInputDescriptor;
-
-typedef struct XAAudioOutputDescriptor_ {
-    XAchar *pDeviceName;
-    XAint16 deviceConnection;
-    XAint16 deviceScope;
-    XAint16 deviceLocation;
-    XAboolean isForTelephony;
-    XAmilliHertz minSampleRate; 
-    XAmilliHertz maxSampleRate;
-    XAboolean isFreqRangeContinuous;
-    XAmilliHertz *samplingRatesSupported;
-    XAint16 numOfSamplingRatesSupported;
-    XAint16 maxChannels;
-} XAAudioOutputDescriptor;
-
-XA_API extern const XAInterfaceID XA_IID_AUDIOIODEVICECAPABILITIES;
-
-struct XAAudioIODeviceCapabilitiesItf_;
-typedef const struct XAAudioIODeviceCapabilitiesItf_
-    * const * XAAudioIODeviceCapabilitiesItf;
-
-typedef void (XAAPIENTRY * xaAvailableAudioInputsChangedCallback) (
-    XAAudioIODeviceCapabilitiesItf caller,
-    void * pContext,
-    XAuint32 deviceID,
-    XAint32 numInputs,
-    XAboolean isNew
-);
-
-typedef void (XAAPIENTRY * xaAvailableAudioOutputsChangedCallback) (
-    XAAudioIODeviceCapabilitiesItf caller,
-    void * pContext,
-    XAuint32 deviceID,
-    XAint32 numOutputs,
-    XAboolean isNew
-);
-
-typedef void (XAAPIENTRY * xaDefaultDeviceIDMapChangedCallback) (
-    XAAudioIODeviceCapabilitiesItf caller,
-    void * pContext,
-	XAboolean isOutput,
-    XAint32 numDevices
-);
-
-struct XAAudioIODeviceCapabilitiesItf_ {
-    XAresult (*GetAvailableAudioInputs) (
-        XAAudioIODeviceCapabilitiesItf self, 
-        XAint32 * pNumInputs,
-        XAuint32 * pInputDeviceIDs
-    );
-    XAresult (*QueryAudioInputCapabilities) (
-        XAAudioIODeviceCapabilitiesItf self, 
-        XAuint32 deviceID, 
-        XAAudioInputDescriptor * pDescriptor
-    );
-    XAresult (*RegisterAvailableAudioInputsChangedCallback) (
-        XAAudioIODeviceCapabilitiesItf self,
-        xaAvailableAudioInputsChangedCallback callback,
-        void * pContext 
-    );
-    XAresult (*GetAvailableAudioOutputs) (
-        XAAudioIODeviceCapabilitiesItf self, 
-        XAint32 * pNumOutputs,
-        XAuint32 * pOutputDeviceIDs
-    );
-    XAresult (*QueryAudioOutputCapabilities) (
-        XAAudioIODeviceCapabilitiesItf self, 
-        XAuint32 deviceID, 
-        XAAudioOutputDescriptor * pDescriptor
-    );
-    XAresult (*RegisterAvailableAudioOutputsChangedCallback) (
-        XAAudioIODeviceCapabilitiesItf self,
-        xaAvailableAudioOutputsChangedCallback callback,
-        void * pContext 
-    );
-    XAresult (*RegisterDefaultDeviceIDMapChangedCallback) (
-        XAAudioIODeviceCapabilitiesItf self,
-        xaDefaultDeviceIDMapChangedCallback callback,
-        void * pContext
-    );
-    XAresult (*GetAssociatedAudioInputs) (
-        XAAudioIODeviceCapabilitiesItf self,
-        XAuint32 deviceID,
-        XAint32 * pNumAudioInputs,
-        XAuint32 * pAudioInputDeviceIDs
-    ); 
-    XAresult (*GetAssociatedAudioOutputs) (
-        XAAudioIODeviceCapabilitiesItf self,
-        XAuint32 deviceID,
-        XAint32 * pNumAudioOutputs,
-        XAuint32 * pAudioOutputDeviceIDs
-    );
-    XAresult (*GetDefaultAudioDevices) (
-        XAAudioIODeviceCapabilitiesItf self,
-        XAuint32 defaultDeviceID,
-        XAint32 *pNumAudioDevices,
-        XAuint32 *pAudioDeviceIDs
-    );
-    XAresult (*QuerySampleFormatsSupported) (
-        XAAudioIODeviceCapabilitiesItf self, 
-        XAuint32 deviceID,
-        XAmilliHertz samplingRate,
-        XAint32 *pSampleFormats,
-        XAint32 *pNumOfSampleFormats
-    );
-};
-
-/* DEVICE VOLUME */
-
-XA_API extern const XAInterfaceID XA_IID_DEVICEVOLUME;
-
-struct XADeviceVolumeItf_;
-typedef const struct XADeviceVolumeItf_ * const * XADeviceVolumeItf;
-
-struct XADeviceVolumeItf_ {
-    XAresult (*GetVolumeScale) (
-        XADeviceVolumeItf self,
-        XAuint32 deviceID,
-        XAint32 * pMinValue,
-        XAint32 * pMaxValue,
-        XAboolean * pIsMillibelScale
-    );
-    XAresult (*SetVolume) (
-        XADeviceVolumeItf self,
-        XAuint32 deviceID,
-        XAint32 volume
-    );
-    XAresult (*GetVolume) (
-        XADeviceVolumeItf self,
-        XAuint32 deviceID,
-        XAint32 * pVolume
-    );
-};
-
-/* EQUALIZER */
-
-#define XA_EQUALIZER_UNDEFINED    ((XAuint16) 0xFFFF)
-
-XA_API extern const XAInterfaceID XA_IID_EQUALIZER;
-
-struct XAEqualizerItf_;
-typedef const struct XAEqualizerItf_ * const * XAEqualizerItf;
-
-struct XAEqualizerItf_ {
-    XAresult (*SetEnabled) (
-        XAEqualizerItf self,
-        XAboolean enabled
-    );
-    XAresult (*IsEnabled) (
-        XAEqualizerItf self,
-        XAboolean * pEnabled
-    );
-    XAresult (*GetNumberOfBands) (
-        XAEqualizerItf self,
-        XAuint16 * pNumBands
-    );
-    XAresult (*GetBandLevelRange) (
-        XAEqualizerItf self,
-        XAmillibel * pMin,
-        XAmillibel * pMax
-    );
-    XAresult (*SetBandLevel) (
-        XAEqualizerItf self,
-        XAuint16 band,
-        XAmillibel level
-    );
-    XAresult (*GetBandLevel) (
-        XAEqualizerItf self,
-        XAuint16 band,
-        XAmillibel * pLevel
-    );
-    XAresult (*GetCenterFreq) (
-        XAEqualizerItf self,
-        XAuint16 band,
-        XAmilliHertz * pCenter
-    );
-    XAresult (*GetBandFreqRange) (
-        XAEqualizerItf self,
-        XAuint16 band,
-        XAmilliHertz * pMin,
-        XAmilliHertz * pMax
-    );
-    XAresult (*GetBand) (
-        XAEqualizerItf self,
-        XAmilliHertz frequency,
-        XAuint16 * pBand
-    );
-    XAresult (*GetCurrentPreset) (
-        XAEqualizerItf self,
-        XAuint16 * pPreset
-    );
-    XAresult (*UsePreset) (
-        XAEqualizerItf self,
-        XAuint16 index
-    );
-    XAresult (*GetNumberOfPresets) (
-        XAEqualizerItf self,
-        XAuint16 * pNumPresets
-    );
-    XAresult (*GetPresetName) (
-        XAEqualizerItf self,
-        XAuint16 index,
-        const XAchar ** ppName
-    );
-};
-
-/* OUTPUT MIX */
-
-XA_API extern const XAInterfaceID XA_IID_OUTPUTMIX;
-
-struct XAOutputMixItf_;
-typedef const struct XAOutputMixItf_ * const * XAOutputMixItf;
-
-typedef void (XAAPIENTRY * xaMixDeviceChangeCallback) (
-    XAOutputMixItf caller,
-    void * pContext
-);
-
-struct XAOutputMixItf_ {
-    XAresult (*GetDestinationOutputDeviceIDs) (
-        XAOutputMixItf self,
-        XAint32 * pNumDevices,
-        XAuint32 * pDeviceIDs
-    );
-    XAresult (*RegisterDeviceChangeCallback) (
-        XAOutputMixItf self,
-        xaMixDeviceChangeCallback callback,
-        void * pContext
-    );
-    XAresult (*ReRoute) (
-        XAOutputMixItf self,
-        XAint32 numOutputDevices,
-        XAuint32 * pOutputDeviceIDs
-    );
-};
-
-/* RADIO */
-
-#define XA_FREQRANGE_FMEUROAMERICA                  ((XAuint8) 0x01)
-#define XA_FREQRANGE_FMJAPAN                        ((XAuint8) 0x02)
-#define XA_FREQRANGE_AMLW                           ((XAuint8) 0x03)
-#define XA_FREQRANGE_AMMW                           ((XAuint8) 0x04)
-#define XA_FREQRANGE_AMSW                           ((XAuint8) 0x05)
-
-#define XA_RADIO_EVENT_ANTENNA_STATUS_CHANGED       ((XAuint32) 0x00000001)
-#define XA_RADIO_EVENT_FREQUENCY_CHANGED            ((XAuint32) 0x00000002)
-#define XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED      ((XAuint32) 0x00000003)
-#define XA_RADIO_EVENT_PRESET_CHANGED               ((XAuint32) 0x00000004)
-#define XA_RADIO_EVENT_SEEK_COMPLETED               ((XAuint32) 0x00000005)
-
-#define XA_STEREOMODE_MONO                          ((XAuint32) 0x00000000)
-#define XA_STEREOMODE_STEREO                        ((XAuint32) 0x00000001)
-#define XA_STEREOMODE_AUTO                          ((XAuint32) 0x00000002)
-
-XA_API extern const XAInterfaceID XA_IID_RADIO;
-
-struct XARadioItf_;
-typedef const struct XARadioItf_ * const * XARadioItf;
-
-typedef void (XAAPIENTRY * xaRadioCallback) (
-    XARadioItf caller,
-    void * pContext,
-    XAuint32 event,
-    XAuint32 eventIntData,
-    XAboolean eventBooleanData
-);
-
-struct XARadioItf_ {
-    XAresult (*SetFreqRange) (
-        XARadioItf self,
-        XAuint8 range
-    );
-    XAresult (*GetFreqRange) (
-        XARadioItf self,
-        XAuint8 * pRange
-    );
-    XAresult (*IsFreqRangeSupported) (
-        XARadioItf self,
-        XAuint8 range,
-        XAboolean * pSupported
-    );
-    XAresult (*GetFreqRangeProperties) (
-        XARadioItf self,
-        XAuint8 range,
-        XAuint32 * pMinFreq,
-        XAuint32 * pMaxFreq,
-        XAuint32 * pFreqInterval
-    );
-    XAresult (*SetFrequency) (
-        XARadioItf self,
-        XAuint32 freq
-    );
-    XAresult (*CancelSetFrequency) (
-        XARadioItf self
-    );
-    XAresult (*GetFrequency) (
-        XARadioItf self,
-        XAuint32 * pFreq
-    );
-    XAresult (*SetSquelch) (
-        XARadioItf self,
-        XAboolean squelch
-    );
-    XAresult (*GetSquelch) (
-        XARadioItf self,
-        XAboolean * pSquelch
-    );
-    XAresult (*SetStereoMode) (
-        XARadioItf self,
-        XAuint32 mode
-    );
-    XAresult (*GetStereoMode) (
-        XARadioItf self,
-        XAuint32 * pMode
-    );
-    XAresult (*GetSignalStrength) (
-        XARadioItf self,
-        XAuint32 * pStrength
-    );
-    XAresult (*Seek) (
-        XARadioItf self,
-        XAboolean upwards
-    );
-    XAresult (*StopSeeking) (
-        XARadioItf self
-    );
-    XAresult (*GetNumberOfPresets) (
-        XARadioItf self,
-        XAuint32 * pNumPresets
-    );
-    XAresult (*SetPreset) (
-        XARadioItf self,
-        XAuint32 preset,
-        XAuint32 freq,
-        XAuint8 range,
-        XAuint32 mode,
-        const XAchar * pName
-    );
-    XAresult (*GetPreset) (
-        XARadioItf self,
-        XAuint32 preset,
-        XAuint32 * pFreq,
-        XAuint8 * pRange,
-        XAuint32 * pMode,
-        XAchar * pName,
-        XAuint16 * pNameLength
-    );
-    XAresult (*RegisterRadioCallback) (
-        XARadioItf self,
-        xaRadioCallback callback, 
-        void * pContext
-    );
-};
-
-/* RDS */
-
-#define XA_RDS_EVENT_NEW_PI                         ((XAuint16) 0x0001)
-#define XA_RDS_EVENT_NEW_PTY                        ((XAuint16) 0x0002)
-#define XA_RDS_EVENT_NEW_PS                         ((XAuint16) 0x0004)
-#define XA_RDS_EVENT_NEW_RT                         ((XAuint16) 0x0008)
-#define XA_RDS_EVENT_NEW_RT_PLUS                    ((XAuint16) 0x0010)
-#define XA_RDS_EVENT_NEW_CT                         ((XAuint16) 0x0020)
-#define XA_RDS_EVENT_NEW_TA                         ((XAuint16) 0x0040)
-#define XA_RDS_EVENT_NEW_TP                         ((XAuint16) 0x0080)
-#define XA_RDS_EVENT_NEW_ALARM                      ((XAuint16) 0x0100)
-
-#define XA_RDSPROGRAMMETYPE_RDSPTY_NONE \
-    ((XAuint32) 0x00000000)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_NEWS \
-    ((XAuint32) 0x00000001)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_CURRENTAFFAIRS \
-    ((XAuint32) 0x00000002)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_INFORMATION \
-    ((XAuint32) 0x00000003)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_SPORT \
-    ((XAuint32) 0x00000004)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_EDUCATION \
-    ((XAuint32) 0x00000005)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_DRAMA \
-    ((XAuint32) 0x00000006)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_CULTURE \
-    ((XAuint32) 0x00000007)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_SCIENCE \
-    ((XAuint32) 0x00000008)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_VARIEDSPEECH \
-    ((XAuint32) 0x00000009)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_POPMUSIC \
-    ((XAuint32) 0x0000000A)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_ROCKMUSIC \
-    ((XAuint32) 0x0000000B)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_EASYLISTENING \
-    ((XAuint32) 0x0000000C)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_LIGHTCLASSICAL \
-    ((XAuint32) 0x0000000D)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_SERIOUSCLASSICAL \
-    ((XAuint32) 0x0000000E)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_OTHERMUSIC \
-    ((XAuint32) 0x0000000F)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_WEATHER \
-    ((XAuint32) 0x00000010)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_FINANCE \
-    ((XAuint32) 0x00000011)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_CHILDRENSPROGRAMMES \
-    ((XAuint32) 0x00000012)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_SOCIALAFFAIRS \
-    ((XAuint32) 0x00000013)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_RELIGION \
-    ((XAuint32) 0x00000014)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_PHONEIN \
-    ((XAuint32) 0x00000015)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_TRAVEL \
-    ((XAuint32) 0x00000016)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_LEISURE \
-    ((XAuint32) 0x00000017)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_JAZZMUSIC \
-    ((XAuint32) 0x00000018)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_COUNTRYMUSIC \
-    ((XAuint32) 0x00000019)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_NATIONALMUSIC \
-    ((XAuint32) 0x0000001A)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_OLDIESMUSIC \
-    ((XAuint32) 0x0000001B)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_FOLKMUSIC \
-    ((XAuint32) 0x0000001C)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_DOCUMENTARY \
-    ((XAuint32) 0x0000001D)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_ALARMTEST \
-    ((XAuint32) 0x0000001E)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_ALARM \
-    ((XAuint32) 0x0000001F)
-
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_NONE \
-    ((XAuint32) 0x00000000)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_NEWS \
-    ((XAuint32) 0x00000001)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_INFORMATION \
-    ((XAuint32) 0x00000002)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_SPORTS \
-    ((XAuint32) 0x00000003)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_TALK \
-    ((XAuint32) 0x00000004)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_ROCK \
-    ((XAuint32) 0x00000005)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_CLASSICROCK \
-    ((XAuint32) 0x00000006)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_ADULTHITS \
-    ((XAuint32) 0x00000007)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFTROCK \
-    ((XAuint32) 0x00000008)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_TOP40 \
-    ((XAuint32) 0x00000009)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_COUNTRY \
-    ((XAuint32) 0x0000000A)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_OLDIES \
-    ((XAuint32) 0x0000000B)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFT \
-    ((XAuint32) 0x0000000C)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_NOSTALGIA \
-    ((XAuint32) 0x0000000D)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_JAZZ \
-    ((XAuint32) 0x0000000E)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_CLASSICAL \
-    ((XAuint32) 0x0000000F)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_RHYTHMANDBLUES \
-    ((XAuint32) 0x00000010)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFTRHYTHMANDBLUES \
-    ((XAuint32) 0x00000011)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_LANGUAGE \
-    ((XAuint32) 0x00000012)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_RELIGIOUSMUSIC \
-    ((XAuint32) 0x00000013)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_RELIGIOUSTALK \
-    ((XAuint32) 0x00000014)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_PERSONALITY \
-    ((XAuint32) 0x00000015)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_PUBLIC \
-    ((XAuint32) 0x00000016)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_COLLEGE \
-    ((XAuint32) 0x00000017)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED1 \
-    ((XAuint32) 0x00000018)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED2 \
-    ((XAuint32) 0x00000019)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED3 \
-    ((XAuint32) 0x0000001A)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED4 \
-    ((XAuint32) 0x0000001B)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED5 \
-    ((XAuint32) 0x0000001C)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_WEATHER \
-    ((XAuint32) 0x0000001D)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_EMERGENCYTEST \
-    ((XAuint32) 0x0000001E)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_EMERGENCY \
-    ((XAuint32) 0x0000001F)
-
-#define XA_RDSRTPLUS_ITEMTITLE              ((XAuint8) 0x01)
-#define XA_RDSRTPLUS_ITEMALBUM              ((XAuint8) 0x02)
-#define XA_RDSRTPLUS_ITEMTRACKNUMBER        ((XAuint8) 0x03)
-#define XA_RDSRTPLUS_ITEMARTIST             ((XAuint8) 0x04)
-#define XA_RDSRTPLUS_ITEMCOMPOSITION        ((XAuint8) 0x05)
-#define XA_RDSRTPLUS_ITEMMOVEMENT           ((XAuint8) 0x06)
-#define XA_RDSRTPLUS_ITEMCONDUCTOR          ((XAuint8) 0x07)
-#define XA_RDSRTPLUS_ITEMCOMPOSER           ((XAuint8) 0x08)
-#define XA_RDSRTPLUS_ITEMBAND               ((XAuint8) 0x09)
-#define XA_RDSRTPLUS_ITEMCOMMENT            ((XAuint8) 0x0A)
-#define XA_RDSRTPLUS_ITEMGENRE              ((XAuint8) 0x0B)
-#define XA_RDSRTPLUS_INFONEWS               ((XAuint8) 0x0C)
-#define XA_RDSRTPLUS_INFONEWSLOCAL          ((XAuint8) 0x0D)
-#define XA_RDSRTPLUS_INFOSTOCKMARKET        ((XAuint8) 0x0E)
-#define XA_RDSRTPLUS_INFOSPORT              ((XAuint8) 0x0F)
-#define XA_RDSRTPLUS_INFOLOTTERY            ((XAuint8) 0x10)
-#define XA_RDSRTPLUS_INFOHOROSCOPE          ((XAuint8) 0x11)
-#define XA_RDSRTPLUS_INFODAILYDIVERSION     ((XAuint8) 0x12)
-#define XA_RDSRTPLUS_INFOHEALTH             ((XAuint8) 0x13)
-#define XA_RDSRTPLUS_INFOEVENT              ((XAuint8) 0x14)
-#define XA_RDSRTPLUS_INFOSZENE              ((XAuint8) 0x15)
-#define XA_RDSRTPLUS_INFOCINEMA             ((XAuint8) 0x16)
-#define XA_RDSRTPLUS_INFOTV                 ((XAuint8) 0x17)
-#define XA_RDSRTPLUS_INFODATETIME           ((XAuint8) 0x18)
-#define XA_RDSRTPLUS_INFOWEATHER            ((XAuint8) 0x19)
-#define XA_RDSRTPLUS_INFOTRAFFIC            ((XAuint8) 0x1A)
-#define XA_RDSRTPLUS_INFOALARM              ((XAuint8) 0x1B)
-#define XA_RDSRTPLUS_INFOADVISERTISEMENT    ((XAuint8) 0x1C)
-#define XA_RDSRTPLUS_INFOURL                ((XAuint8) 0x1D)
-#define XA_RDSRTPLUS_INFOOTHER              ((XAuint8) 0x1E)
-#define XA_RDSRTPLUS_STATIONNAMESHORT       ((XAuint8) 0x1F)
-#define XA_RDSRTPLUS_STATIONNAMELONG        ((XAuint8) 0x20)
-#define XA_RDSRTPLUS_PROGRAMNOW             ((XAuint8) 0x21)
-#define XA_RDSRTPLUS_PROGRAMNEXT            ((XAuint8) 0x22)
-#define XA_RDSRTPLUS_PROGRAMPART            ((XAuint8) 0x23)
-#define XA_RDSRTPLUS_PROGRAMHOST            ((XAuint8) 0x24)
-#define XA_RDSRTPLUS_PROFRAMEDITORIALSTAFF  ((XAuint8) 0x25)
-#define XA_RDSRTPLUS_PROGRAMFREQUENCY       ((XAuint8) 0x26)
-#define XA_RDSRTPLUS_PROGRAMHOMEPAGE        ((XAuint8) 0x27)
-#define XA_RDSRTPLUS_PROGRAMSUBCHANNEL      ((XAuint8) 0x28)
-#define XA_RDSRTPLUS_PHONEHOTLINE           ((XAuint8) 0x29)
-#define XA_RDSRTPLUS_PHONESTUDIO            ((XAuint8) 0x2A)
-#define XA_RDSRTPLUS_PHONEOTHER             ((XAuint8) 0x2B)
-#define XA_RDSRTPLUS_SMSSTUDIO              ((XAuint8) 0x2C)
-#define XA_RDSRTPLUS_SMSOTHER               ((XAuint8) 0x2D)
-#define XA_RDSRTPLUS_EMAILHOTLINE           ((XAuint8) 0x2E)
-#define XA_RDSRTPLUS_EMAILSTUDIO            ((XAuint8) 0x2F)
-#define XA_RDSRTPLUS_EMAILOTHER             ((XAuint8) 0x30)
-#define XA_RDSRTPLUS_MMSOTHER               ((XAuint8) 0x31)
-#define XA_RDSRTPLUS_CHAT                   ((XAuint8) 0x32)
-#define XA_RDSRTPLUS_CHATCENTER             ((XAuint8) 0x33)
-#define XA_RDSRTPLUS_VOTEQUESTION           ((XAuint8) 0x34)
-#define XA_RDSRTPLUS_VOTECENTER             ((XAuint8) 0x35)
-#define XA_RDSRTPLUS_OPENCLASS45            ((XAuint8) 0x36)
-#define XA_RDSRTPLUS_OPENCLASS55            ((XAuint8) 0x37)
-#define XA_RDSRTPLUS_OPENCLASS56            ((XAuint8) 0x38)
-#define XA_RDSRTPLUS_OPENCLASS57            ((XAuint8) 0x39)
-#define XA_RDSRTPLUS_OPENCLASS58            ((XAuint8) 0x3A)
-#define XA_RDSRTPLUS_PLACE                  ((XAuint8) 0x3B)
-#define XA_RDSRTPLUS_APPOINTMENT            ((XAuint8) 0x3C)
-#define XA_RDSRTPLUS_IDENTIFIER             ((XAuint8) 0x3D)
-#define XA_RDSRTPLUS_PURCHASE               ((XAuint8) 0x3E)
-#define XA_RDSRTPLUS_GETDATA                ((XAuint8) 0x3F)
-
-XA_API extern const XAInterfaceID XA_IID_RDS;
-
-struct XARDSItf_;
-typedef const struct XARDSItf_ * const * XARDSItf;
-
-typedef void (XAAPIENTRY * xaGetODAGroupCallback) (
-    XARadioItf caller,
-    void * pContext,
-    XAboolean success,
-    XAint16 group,
-    XAuint16 message
-);
-
-typedef void (XAAPIENTRY * xaNewODADataCallback) (
-    XARDSItf caller,
-    void * pContext,
-    XAint16 group,
-    XAuint64 data
-);
-
-typedef void (XAAPIENTRY * xaRDSCallback) (
-    XARDSItf caller,
-    void * pContext,
-    XAuint16 event,
-    XAuint8 eventData
-);
-
-struct XARDSItf_ {
-    XAresult (*QueryRDSSignal) (
-        XARDSItf self,
-        XAboolean * isSignal
-    );
-    XAresult (*GetProgrammeServiceName) (
-        XARDSItf self,
-        XAchar * ps
-    );
-    XAresult (*GetRadioText) (
-        XARDSItf self,
-        XAchar * rt
-    );
-    XAresult (*GetRadioTextPlus) (
-        XARDSItf self,
-        XAuint8 contentType,
-        XAchar * informationElement,
-        XAchar * descriptor,
-        XAuint8 * descriptorContentType
-    );
-    XAresult (*GetProgrammeType) (
-        XARDSItf self,
-        XAuint32 * pty
-    );
-    XAresult (*GetProgrammeTypeString) (
-        XARDSItf self,
-        XAboolean isLengthMax16,
-        XAchar * pty
-    );
-    XAresult (*GetProgrammeIdentificationCode) (
-        XARDSItf self,
-        XAint16 * pi
-    );
-    XAresult (*GetClockTime) (
-        XARDSItf self,
-        XAtime * dateAndTime
-    );
-    XAresult (*GetTrafficAnnouncement) (
-        XARDSItf self,
-        XAboolean * ta
-    );
-    XAresult (*GetTrafficProgramme) (
-        XARDSItf self,
-        XAboolean * tp
-    );
-    XAresult (*SeekByProgrammeType) (
-        XARDSItf self,
-        XAuint32 pty,
-        XAboolean upwards
-    );
-    XAresult (*SeekTrafficAnnouncement) (
-        XARDSItf self,
-        XAboolean upwards
-    );
-    XAresult (*SeekTrafficProgramme) (
-        XARDSItf self,
-        XAboolean upwards
-    );
-    XAresult (*SetAutomaticSwitching) (
-        XARDSItf self,
-        XAboolean automatic
-    );
-    XAresult (*GetAutomaticSwitching) (
-        XARDSItf self,
-        XAboolean * automatic
-    );
-    XAresult (*SetAutomaticTrafficAnnouncement) (
-        XARDSItf self,
-        XAboolean automatic
-    );
-    XAresult (*GetAutomaticTrafficAnnouncement) (
-        XARDSItf self,
-        XAboolean * automatic
-    );
-    XAresult (*GetODAGroup) (
-        XARDSItf self,
-        XAuint16 AID,
-        xaGetODAGroupCallback callback,
-        void * pContext
-    );
-    XAresult (*SubscribeODAGroup) (
-        XARDSItf self,
-        XAint16 group,
-        XAboolean useErrorCorrection
-    );
-    XAresult (*UnsubscribeODAGroup) (
-        XARDSItf self,
-        XAint16 group
-    );
-    XAresult (*ListODAGroupSubscriptions) (
-        XARDSItf self,
-        XAint16* pGroups,
-        XAuint32* pLength
-    );
-    XAresult (*RegisterRDSCallback) (
-        XARDSItf self,
-        xaRDSCallback callback, 
-        void * pContext
-    );
-    XAresult (*RegisterODADataCallback) (
-        XARDSItf self,
-        xaNewODADataCallback callback, 
-        void * pContext
-    );
-};
-
-/* VIBRA */
-
-XA_API extern const XAInterfaceID XA_IID_VIBRA;
-
-struct XAVibraItf_;
-typedef const struct XAVibraItf_ * const * XAVibraItf;
-
-struct XAVibraItf_ {
-    XAresult (*Vibrate) (
-        XAVibraItf self,
-        XAboolean vibrate
-    );
-    XAresult (*IsVibrating) (
-        XAVibraItf self,
-        XAboolean * pVibrating
-    );
-    XAresult (*SetFrequency) (
-        XAVibraItf self,
-        XAmilliHertz frequency
-    );
-    XAresult (*GetFrequency) (
-        XAVibraItf self,
-        XAmilliHertz * pFrequency
-    );
-    XAresult (*SetIntensity) (
-        XAVibraItf self,
-        XApermille intensity
-    );
-    XAresult (*GetIntensity) (
-        XAVibraItf self,
-        XApermille * pIntensity
-    );
-};
-
-/* LED ARRAY */
-
-typedef struct XAHSL_ {
-    XAmillidegree hue;
-    XApermille saturation;
-    XApermille lightness;
-} XAHSL;
-
-XA_API extern const XAInterfaceID XA_IID_LED;
-
-struct XALEDArrayItf_;
-typedef const struct XALEDArrayItf_ * const * XALEDArrayItf;
-
-struct XALEDArrayItf_ {
-    XAresult (*ActivateLEDArray) (
-        XALEDArrayItf self,
-        XAuint32 lightMask
-    );
-    XAresult (*IsLEDArrayActivated) (
-        XALEDArrayItf self,
-        XAuint32 * pLightMask
-    );
-    XAresult (*SetColor) (
-        XALEDArrayItf self,
-        XAuint8 index,
-        const XAHSL * pColor
-    );
-    XAresult (*GetColor) (
-        XALEDArrayItf self,
-        XAuint8 index,
-        XAHSL * pColor
-    );
-};
-
-
-
-  /*****************************************************************/
-  /* CODEC RELATED INTERFACES, STRUCTS AND DEFINES                 */
-  /*****************************************************************/
-
-/* AUDIO ENCODER AND AUDIO ENCODER/DECODER CAPABILITIES */
-
-#define XA_RATECONTROLMODE_CONSTANTBITRATE  ((XAuint32) 0x00000001)
-#define XA_RATECONTROLMODE_VARIABLEBITRATE  ((XAuint32) 0x00000002)
-
-#define XA_AUDIOCODEC_PCM                   ((XAuint32) 0x00000001)
-#define XA_AUDIOCODEC_MP3                   ((XAuint32) 0x00000002)
-#define XA_AUDIOCODEC_AMR                   ((XAuint32) 0x00000003)
-#define XA_AUDIOCODEC_AMRWB                 ((XAuint32) 0x00000004)
-#define XA_AUDIOCODEC_AMRWBPLUS             ((XAuint32) 0x00000005)
-#define XA_AUDIOCODEC_AAC                   ((XAuint32) 0x00000006)
-#define XA_AUDIOCODEC_WMA                   ((XAuint32) 0x00000007)
-#define XA_AUDIOCODEC_REAL                  ((XAuint32) 0x00000008)
-#define XA_AUDIOCODEC_VORBIS                ((XAuint32) 0x00000009)
-
-#define XA_AUDIOPROFILE_PCM                 ((XAuint32) 0x00000001)
-
-#define XA_AUDIOPROFILE_MPEG1_L3            ((XAuint32) 0x00000001)
-#define XA_AUDIOPROFILE_MPEG2_L3            ((XAuint32) 0x00000002)
-#define XA_AUDIOPROFILE_MPEG25_L3           ((XAuint32) 0x00000003)
-
-#define XA_AUDIOCHANMODE_MP3_MONO           ((XAuint32) 0x00000001)
-#define XA_AUDIOCHANMODE_MP3_STEREO         ((XAuint32) 0x00000002)
-#define XA_AUDIOCHANMODE_MP3_JOINTSTEREO    ((XAuint32) 0x00000003)
-#define XA_AUDIOCHANMODE_MP3_DUAL           ((XAuint32) 0x00000004)
-
-#define XA_AUDIOPROFILE_AMR                 ((XAuint32) 0x00000001)
-
-#define XA_AUDIOSTREAMFORMAT_CONFORMANCE    ((XAuint32) 0x00000001)
-#define XA_AUDIOSTREAMFORMAT_IF1            ((XAuint32) 0x00000002)
-#define XA_AUDIOSTREAMFORMAT_IF2            ((XAuint32) 0x00000003)
-#define XA_AUDIOSTREAMFORMAT_FSF            ((XAuint32) 0x00000004)
-#define XA_AUDIOSTREAMFORMAT_RTPPAYLOAD     ((XAuint32) 0x00000005)
-#define XA_AUDIOSTREAMFORMAT_ITU            ((XAuint32) 0x00000006)
-
-#define XA_AUDIOPROFILE_AMRWB               ((XAuint32) 0x00000001)
-
-#define XA_AUDIOPROFILE_AMRWBPLUS           ((XAuint32) 0x00000001)
-
-#define XA_AUDIOPROFILE_AAC_AAC             ((XAuint32) 0x00000001)
-
-#define XA_AUDIOMODE_AAC_MAIN               ((XAuint32) 0x00000001)
-#define XA_AUDIOMODE_AAC_LC                 ((XAuint32) 0x00000002)
-#define XA_AUDIOMODE_AAC_SSR                ((XAuint32) 0x00000003)
-#define XA_AUDIOMODE_AAC_LTP                ((XAuint32) 0x00000004)
-#define XA_AUDIOMODE_AAC_HE                 ((XAuint32) 0x00000005)
-#define XA_AUDIOMODE_AAC_SCALABLE           ((XAuint32) 0x00000006)
-#define XA_AUDIOMODE_AAC_ERLC               ((XAuint32) 0x00000007)
-#define XA_AUDIOMODE_AAC_LD                 ((XAuint32) 0x00000008)
-#define XA_AUDIOMODE_AAC_HE_PS              ((XAuint32) 0x00000009)
-#define XA_AUDIOMODE_AAC_HE_MPS             ((XAuint32) 0x0000000A)
-
-#define XA_AUDIOSTREAMFORMAT_MP2ADTS        ((XAuint32) 0x00000001)
-#define XA_AUDIOSTREAMFORMAT_MP4ADTS        ((XAuint32) 0x00000002)
-#define XA_AUDIOSTREAMFORMAT_MP4LOAS        ((XAuint32) 0x00000003)
-#define XA_AUDIOSTREAMFORMAT_MP4LATM        ((XAuint32) 0x00000004)
-#define XA_AUDIOSTREAMFORMAT_ADIF           ((XAuint32) 0x00000005)
-#define XA_AUDIOSTREAMFORMAT_MP4FF          ((XAuint32) 0x00000006)
-#define XA_AUDIOSTREAMFORMAT_RAW            ((XAuint32) 0x00000007)
-
-#define XA_AUDIOPROFILE_WMA7                ((XAuint32) 0x00000001)
-#define XA_AUDIOPROFILE_WMA8                ((XAuint32) 0x00000002)
-#define XA_AUDIOPROFILE_WMA9                ((XAuint32) 0x00000003)
-#define XA_AUDIOPROFILE_WMA10               ((XAuint32) 0x00000004)
-
-#define XA_AUDIOMODE_WMA_LEVEL1             ((XAuint32) 0x00000001)
-#define XA_AUDIOMODE_WMA_LEVEL2             ((XAuint32) 0x00000002)
-#define XA_AUDIOMODE_WMA_LEVEL3             ((XAuint32) 0x00000003)
-#define XA_AUDIOMODE_WMA_LEVEL4             ((XAuint32) 0x00000004)
-#define XA_AUDIOMODE_WMAPRO_LEVELM0         ((XAuint32) 0x00000005)
-#define XA_AUDIOMODE_WMAPRO_LEVELM1         ((XAuint32) 0x00000006)
-#define XA_AUDIOMODE_WMAPRO_LEVELM2         ((XAuint32) 0x00000007)
-#define XA_AUDIOMODE_WMAPRO_LEVELM3         ((XAuint32) 0x00000008)
-
-#define XA_AUDIOPROFILE_REALAUDIO           ((XAuint32) 0x00000001)
-
-#define XA_AUDIOMODE_REALAUDIO_G2           ((XAuint32) 0x00000001)
-#define XA_AUDIOMODE_REALAUDIO_8            ((XAuint32) 0x00000002)
-#define XA_AUDIOMODE_REALAUDIO_10           ((XAuint32) 0x00000003)
-#define XA_AUDIOMODE_REALAUDIO_SURROUND     ((XAuint32) 0x00000004)
-
-#define XA_AUDIOPROFILE_VORBIS              ((XAuint32) 0x00000001)
-
-#define XA_AUDIOMODE_VORBIS                 ((XAuint32) 0x00000001)
-
-
-typedef struct XAAudioCodecDescriptor_ {
-    XAuint32 maxChannels;
-    XAuint32 minBitsPerSample;
-    XAuint32 maxBitsPerSample;
-    XAmilliHertz minSampleRate;
-    XAmilliHertz maxSampleRate;
-    XAboolean isFreqRangeContinuous;
-    XAmilliHertz * pSampleRatesSupported;
-    XAuint32 numSampleRatesSupported;
-    XAuint32 minBitRate;
-    XAuint32 maxBitRate;
-    XAboolean isBitrateRangeContinuous;
-    XAuint32 * pBitratesSupported;
-    XAuint32 numBitratesSupported;
-    XAuint32 profileSetting;
-    XAuint32 modeSetting;
-} XAAudioCodecDescriptor;
-
-typedef struct XAAudioEncoderSettings_ {
-    XAuint32 encoderId;
-    XAuint32 channelsIn;
-    XAuint32 channelsOut;
-    XAmilliHertz sampleRate;
-    XAuint32 bitRate;
-    XAuint32 bitsPerSample;
-    XAuint32 rateControl;
-    XAuint32 profileSetting;
-    XAuint32 levelSetting;
-    XAuint32 channelMode;
-    XAuint32 streamFormat;
-    XAuint32 encodeOptions;
-    XAuint32 blockAlignment;
-} XAAudioEncoderSettings;
-
-XA_API extern const XAInterfaceID XA_IID_AUDIODECODERCAPABILITIES;
-
-struct XAAudioDecoderCapabilitiesItf_;
-typedef const struct XAAudioDecoderCapabilitiesItf_
-    * const * XAAudioDecoderCapabilitiesItf;
-
-struct XAAudioDecoderCapabilitiesItf_ {
-    XAresult (*GetAudioDecoders) (
-        XAAudioDecoderCapabilitiesItf self,
-        XAuint32 * pNumDecoders,
-        XAuint32 * pDecoderIds
-    );
-    XAresult (*GetAudioDecoderCapabilities) (
-        XAAudioDecoderCapabilitiesItf self,
-        XAuint32 decoderId,
-        XAuint32 * pIndex,
-        XAAudioCodecDescriptor * pDescriptor
-    );
-};
-
-XA_API extern const XAInterfaceID XA_IID_AUDIOENCODER;
-
-struct XAAudioEncoderItf_;
-typedef const struct XAAudioEncoderItf_ * const * XAAudioEncoderItf;
-
-struct XAAudioEncoderItf_ {
-    XAresult (*SetEncoderSettings) (
-        XAAudioEncoderItf self,
-        XAAudioEncoderSettings * pSettings
-    );
-    XAresult (*GetEncoderSettings) (
-        XAAudioEncoderItf self,
-        XAAudioEncoderSettings * pSettings
-    );
-};
-
-XA_API extern const XAInterfaceID XA_IID_AUDIOENCODERCAPABILITIES;
-
-struct XAAudioEncoderCapabilitiesItf_;
-typedef const struct XAAudioEncoderCapabilitiesItf_
-    * const * XAAudioEncoderCapabilitiesItf;
-
-struct XAAudioEncoderCapabilitiesItf_ {
-    XAresult (*GetAudioEncoders) (
-        XAAudioEncoderCapabilitiesItf self,
-        XAuint32 * pNumEncoders,
-        XAuint32 * pEncoderIds
-    );
-    XAresult (*GetAudioEncoderCapabilities) (
-        XAAudioEncoderCapabilitiesItf self,
-        XAuint32 encoderId,
-        XAuint32 * pIndex,
-        XAAudioCodecDescriptor * pDescriptor
-    );
-};
-
-/* IMAGE ENCODER AND IMAGE ENCODER/DECODER CAPABILITIES */
-
-#define XA_IMAGECODEC_JPEG              ((XAuint32) 0x00000001)
-#define XA_IMAGECODEC_GIF               ((XAuint32) 0x00000002)
-#define XA_IMAGECODEC_BMP               ((XAuint32) 0x00000003)
-#define XA_IMAGECODEC_PNG               ((XAuint32) 0x00000004)
-#define XA_IMAGECODEC_TIFF              ((XAuint32) 0x00000005)
-#define XA_IMAGECODEC_RAW               ((XAuint32) 0x00000006)
-
-typedef struct XAImageCodecDescriptor_ {
-    XAuint32 codecId;
-    XAuint32 maxWidth;
-    XAuint32 maxHeight;
-} XAImageCodecDescriptor;
-
-typedef struct XAImageSettings_ {
-    XAuint32 encoderId;
-    XAuint32 width;
-    XAuint32 height;
-    XApermille compressionLevel;
-    XAuint32 colorFormat;
-} XAImageSettings;
-
-XA_API extern const XAInterfaceID XA_IID_IMAGEENCODERCAPABILITIES;
-
-struct XAImageEncoderCapabilitiesItf_;
-typedef const struct XAImageEncoderCapabilitiesItf_
-    * const * XAImageEncoderCapabilitiesItf;
-
-struct XAImageEncoderCapabilitiesItf_ {
-    XAresult (*GetImageEncoderCapabilities) (
-        XAImageEncoderCapabilitiesItf self,
-        XAuint32 * pEncoderId,
-        XAImageCodecDescriptor * pDescriptor
-    );
-    XAresult (*QueryColorFormats) (
-        const XAImageEncoderCapabilitiesItf self,
-        XAuint32 * pIndex,
-        XAuint32 * pColorFormat
-    );
-};
-
-XA_API extern const XAInterfaceID XA_IID_IMAGEDECODERCAPABILITIES;
-
-struct XAImageDecoderCapabilitiesItf_;
-typedef const struct XAImageDecoderCapabilitiesItf_
-    * const * XAImageDecoderCapabilitiesItf;
-
-struct XAImageDecoderCapabilitiesItf_ {
-    XAresult (*GetImageDecoderCapabilities) (
-        XAImageDecoderCapabilitiesItf self,
-        XAuint32 * pDecoderId,
-        XAImageCodecDescriptor * pDescriptor
-    );
-    XAresult (*QueryColorFormats) (
-        const XAImageDecoderCapabilitiesItf self,
-        XAuint32 * pIndex,
-        XAuint32 * pColorFormat
-    );
-};
-
-XA_API extern const XAInterfaceID XA_IID_IMAGEENCODER;
-
-struct XAImageEncoderItf_;
-typedef const struct XAImageEncoderItf_ * const * XAImageEncoderItf;
-
-struct XAImageEncoderItf_ {
-    XAresult (*SetImageSettings) (
-        XAImageEncoderItf self,
-        const XAImageSettings * pSettings
-    );
-    XAresult (*GetImageSettings) (
-        XAImageEncoderItf self,
-        XAImageSettings * pSettings
-    );
-    XAresult (*GetSizeEstimate) (
-        XAImageEncoderItf self,
-        XAuint32 * pSize
-    );
-};
-
-/* VIDEO ENCODER AND VIDEO ENCODER/DECODER CAPABILITIES */
-
-#define XA_VIDEOCODEC_MPEG2                     ((XAuint32) 0x00000001)
-#define XA_VIDEOCODEC_H263                      ((XAuint32) 0x00000002)
-#define XA_VIDEOCODEC_MPEG4                     ((XAuint32) 0x00000003)
-#define XA_VIDEOCODEC_AVC                       ((XAuint32) 0x00000004)
-#define XA_VIDEOCODEC_VC1                       ((XAuint32) 0x00000005)
-
-#define XA_VIDEOPROFILE_MPEG2_SIMPLE            ((XAuint32) 0x00000001)
-#define XA_VIDEOPROFILE_MPEG2_MAIN              ((XAuint32) 0x00000002)
-#define XA_VIDEOPROFILE_MPEG2_422               ((XAuint32) 0x00000003)
-#define XA_VIDEOPROFILE_MPEG2_SNR               ((XAuint32) 0x00000004)
-#define XA_VIDEOPROFILE_MPEG2_SPATIAL           ((XAuint32) 0x00000005)
-#define XA_VIDEOPROFILE_MPEG2_HIGH              ((XAuint32) 0x00000006)
-
-#define XA_VIDEOLEVEL_MPEG2_LL                  ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_MPEG2_ML                  ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_MPEG2_H14                 ((XAuint32) 0x00000003)
-#define XA_VIDEOLEVEL_MPEG2_HL                  ((XAuint32) 0x00000004)
-
-#define XA_VIDEOPROFILE_H263_BASELINE           ((XAuint32) 0x00000001)
-#define XA_VIDEOPROFILE_H263_H320CODING         ((XAuint32) 0x00000002)
-#define XA_VIDEOPROFILE_H263_BACKWARDCOMPATIBLE ((XAuint32) 0x00000003)
-#define XA_VIDEOPROFILE_H263_ISWV2              ((XAuint32) 0x00000004)
-#define XA_VIDEOPROFILE_H263_ISWV3              ((XAuint32) 0x00000005)
-#define XA_VIDEOPROFILE_H263_HIGHCOMPRESSION    ((XAuint32) 0x00000006)
-#define XA_VIDEOPROFILE_H263_INTERNET           ((XAuint32) 0x00000007)
-#define XA_VIDEOPROFILE_H263_INTERLACE          ((XAuint32) 0x00000008)
-#define XA_VIDEOPROFILE_H263_HIGHLATENCY        ((XAuint32) 0x00000009)
-
-#define XA_VIDEOLEVEL_H263_10                   ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_H263_20                   ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_H263_30                   ((XAuint32) 0x00000003)
-#define XA_VIDEOLEVEL_H263_40                   ((XAuint32) 0x00000004)
-#define XA_VIDEOLEVEL_H263_45                   ((XAuint32) 0x00000005)
-#define XA_VIDEOLEVEL_H263_50                   ((XAuint32) 0x00000006)
-#define XA_VIDEOLEVEL_H263_60                   ((XAuint32) 0x00000007)
-#define XA_VIDEOLEVEL_H263_70                   ((XAuint32) 0x00000008)
-
-#define XA_VIDEOPROFILE_MPEG4_SIMPLE            ((XAuint32) 0x00000001)
-#define XA_VIDEOPROFILE_MPEG4_SIMPLESCALABLE    ((XAuint32) 0x00000002)
-#define XA_VIDEOPROFILE_MPEG4_CORE              ((XAuint32) 0x00000003)
-#define XA_VIDEOPROFILE_MPEG4_MAIN              ((XAuint32) 0x00000004)
-#define XA_VIDEOPROFILE_MPEG4_NBIT              ((XAuint32) 0x00000005)
-#define XA_VIDEOPROFILE_MPEG4_SCALABLETEXTURE   ((XAuint32) 0x00000006)
-#define XA_VIDEOPROFILE_MPEG4_SIMPLEFACE        ((XAuint32) 0x00000007)
-#define XA_VIDEOPROFILE_MPEG4_SIMPLEFBA         ((XAuint32) 0x00000008)
-#define XA_VIDEOPROFILE_MPEG4_BASICANIMATED     ((XAuint32) 0x00000009)
-#define XA_VIDEOPROFILE_MPEG4_HYBRID            ((XAuint32) 0x0000000A)
-#define XA_VIDEOPROFILE_MPEG4_ADVANCEDREALTIME  ((XAuint32) 0x0000000B)
-#define XA_VIDEOPROFILE_MPEG4_CORESCALABLE      ((XAuint32) 0x0000000C)
-#define XA_VIDEOPROFILE_MPEG4_ADVANCEDCODING    ((XAuint32) 0x0000000D)
-#define XA_VIDEOPROFILE_MPEG4_ADVANCEDCORE      ((XAuint32) 0x0000000E)
-#define XA_VIDEOPROFILE_MPEG4_ADVANCEDSCALABLE  ((XAuint32) 0x0000000F)
-
-#define XA_VIDEOLEVEL_MPEG4_0                   ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_MPEG4_0b                  ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_MPEG4_1                   ((XAuint32) 0x00000003)
-#define XA_VIDEOLEVEL_MPEG4_2                   ((XAuint32) 0x00000004)
-#define XA_VIDEOLEVEL_MPEG4_3                   ((XAuint32) 0x00000005)
-#define XA_VIDEOLEVEL_MPEG4_4                   ((XAuint32) 0x00000006)
-#define XA_VIDEOLEVEL_MPEG4_4a                  ((XAuint32) 0x00000007)
-#define XA_VIDEOLEVEL_MPEG4_5                   ((XAuint32) 0x00000008)
-
-#define XA_VIDEOPROFILE_AVC_BASELINE            ((XAuint32) 0x00000001)
-#define XA_VIDEOPROFILE_AVC_MAIN                ((XAuint32) 0x00000002)
-#define XA_VIDEOPROFILE_AVC_EXTENDED            ((XAuint32) 0x00000003)
-#define XA_VIDEOPROFILE_AVC_HIGH                ((XAuint32) 0x00000004)
-#define XA_VIDEOPROFILE_AVC_HIGH10              ((XAuint32) 0x00000005)
-#define XA_VIDEOPROFILE_AVC_HIGH422             ((XAuint32) 0x00000006)
-#define XA_VIDEOPROFILE_AVC_HIGH444             ((XAuint32) 0x00000007)
-
-#define XA_VIDEOLEVEL_AVC_1                     ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_AVC_1B                    ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_AVC_11                    ((XAuint32) 0x00000003)
-#define XA_VIDEOLEVEL_AVC_12                    ((XAuint32) 0x00000004)
-#define XA_VIDEOLEVEL_AVC_13                    ((XAuint32) 0x00000005)
-#define XA_VIDEOLEVEL_AVC_2                     ((XAuint32) 0x00000006)
-#define XA_VIDEOLEVEL_AVC_21                    ((XAuint32) 0x00000007)
-#define XA_VIDEOLEVEL_AVC_22                    ((XAuint32) 0x00000008)
-#define XA_VIDEOLEVEL_AVC_3                     ((XAuint32) 0x00000009)
-#define XA_VIDEOLEVEL_AVC_31                    ((XAuint32) 0x0000000A)
-#define XA_VIDEOLEVEL_AVC_32                    ((XAuint32) 0x0000000B)
-#define XA_VIDEOLEVEL_AVC_4                     ((XAuint32) 0x0000000C)
-#define XA_VIDEOLEVEL_AVC_41                    ((XAuint32) 0x0000000D)
-#define XA_VIDEOLEVEL_AVC_42                    ((XAuint32) 0x0000000E)
-#define XA_VIDEOLEVEL_AVC_5                     ((XAuint32) 0x0000000F)
-#define XA_VIDEOLEVEL_AVC_51                    ((XAuint32) 0x00000010)
-
-#define XA_VIDEOLEVEL_VC1_SIMPLE                ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_VC1_MAIN                  ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_VC1_ADVANCED              ((XAuint32) 0x00000003)
-
-#define XA_VIDEOLEVEL_VC1_LOW                   ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_VC1_MEDIUM                ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_VC1_HIGH                  ((XAuint32) 0x00000003)
-#define XA_VIDEOLEVEL_VC1_L0                    ((XAuint32) 0x00000004)
-#define XA_VIDEOLEVEL_VC1_L1                    ((XAuint32) 0x00000005)
-#define XA_VIDEOLEVEL_VC1_L2                    ((XAuint32) 0x00000006)
-#define XA_VIDEOLEVEL_VC1_L3                    ((XAuint32) 0x00000007)
-#define XA_VIDEOLEVEL_VC1_L4                    ((XAuint32) 0x00000008)
-
-typedef struct XAVideoCodecDescriptor_ {
-    XAuint32 codecId;
-    XAuint32 maxWidth;
-    XAuint32 maxHeight;
-    XAuint32 maxFrameRate;
-    XAuint32 maxBitRate;
-    XAuint32 rateControlSupported;
-    XAuint32 profileSetting;
-    XAuint32 levelSetting;
-} XAVideoCodecDescriptor;
-
-typedef struct XAVideoSettings_ {
-    XAuint32 encoderId;
-    XAuint32 width;
-    XAuint32 height;
-    XAuint32 frameRate;
-    XAuint32 bitRate;
-    XAuint32 rateControl;
-    XAuint32 profileSetting;
-    XAuint32 levelSetting;
-    XAuint32 keyFrameInterval;
-} XAVideoSettings;
-
-XA_API extern const XAInterfaceID XA_IID_VIDEODECODERCAPABILITIES;
-
-struct XAVideoDecoderCapabilitiesItf_;
-typedef const struct XAVideoDecoderCapabilitiesItf_
-    * const * XAVideoDecoderCapabilitiesItf;
-
-struct XAVideoDecoderCapabilitiesItf_ {
-    XAresult (*GetVideoDecoders) (
-        XAVideoDecoderCapabilitiesItf self,
-        XAuint32 * pNumDecoders,
-        XAuint32 * pDecoderIds
-    );
-    XAresult (*GetVideoDecoderCapabilities) (
-        XAVideoDecoderCapabilitiesItf self,
-        XAuint32 decoderId,
-        XAuint32 * pIndex,
-        XAVideoCodecDescriptor * pDescriptor
-    );
-};
-
-XA_API extern const XAInterfaceID XA_IID_VIDEOENCODER;
-
-XA_API extern const XAInterfaceID XA_IID_VIDEOENCODERCAPABILITIES;
-
-struct XAVideoEncoderCapabilitiesItf_;
-typedef const struct XAVideoEncoderCapabilitiesItf_
-    * const * XAVideoEncoderCapabilitiesItf;
-
-struct XAVideoEncoderCapabilitiesItf_ {
-    XAresult (*GetVideoEncoders) (
-        XAVideoEncoderCapabilitiesItf self,
-        XAuint32 * pNumEncoders,
-        XAuint32 * pEncoderIds
-    );
-    XAresult (*GetVideoEncoderCapabilities) (
-        XAVideoEncoderCapabilitiesItf self,
-        XAuint32 encoderId,
-        XAuint32 * pIndex,
-        XAVideoCodecDescriptor * pDescriptor
-    );
-};
-
-struct XAVideoEncoderItf_;
-typedef const struct XAVideoEncoderItf_ * const * XAVideoEncoderItf;
-
-struct XAVideoEncoderItf_ {
-    XAresult (*SetVideoSettings) (
-        XAVideoEncoderItf self,
-        XAVideoSettings * pSettings
-    );
-    XAresult (*GetVideoSettings) (
-        XAVideoEncoderItf self,
-        XAVideoSettings * pSettings
-    );
-};
-
-/* STREAM INFORMATION */
-
-#define XA_DOMAINTYPE_AUDIO     0x00000001
-#define XA_DOMAINTYPE_VIDEO     0x00000002
-#define XA_DOMAINTYPE_IMAGE     0x00000003
-#define XA_DOMAINTYPE_TIMEDTEXT 0x00000004
-#define XA_DOMAINTYPE_MIDI      0x00000005
-#define XA_DOMAINTYPE_VENDOR    0xFFFFFFFE
-#define XA_DOMAINTYPE_UNKNOWN   0xFFFFFFFF
-
-#define XA_MIDIBANK_DEVICE      0x00000001
-#define XA_MIDIBANK_CUSTOM      0x00000002
-
-#define XA_MIDI_UNKNOWN         0xFFFFFFFF
-
-#define XA_STREAMCBEVENT_PROPERTYCHANGE     ((XAuint32) 0x00000001)
-
-typedef struct XAMediaContainerInformation_ {
-    XAuint32 containerType;
-    XAmillisecond mediaDuration;
-    XAuint32 numStreams;
-} XAMediaContainerInformation;
-
-typedef struct XAVideoStreamInformation_ {
-    XAuint32 codecId;
-    XAuint32 width;
-    XAuint32 height;
-    XAuint32 frameRate;
-    XAuint32 bitRate;
-    XAmillisecond duration;
-} XAVideoStreamInformation;
-
-typedef struct XAAudioStreamInformation_ {
-    XAuint32 codecId;
-    XAuint32 channels;
-    XAmilliHertz sampleRate;
-    XAuint32 bitRate;
-    XAchar langCountry[16];
-    XAmillisecond duration;
-} XAAudioStreamInformation;
-
-typedef struct XAImageStreamInformation_ {
-    XAuint32 codecId;
-    XAuint32 width;
-    XAuint32 height;
-    XAmillisecond presentationDuration;
-} XAImageStreamInformation;
-
-typedef struct XATimedTextStreamInformation_ {
-    XAuint16 layer;
-    XAuint32 width;
-    XAuint32 height;
-    XAuint16 tx;
-    XAuint16 ty;
-    XAuint32 bitrate;
-    XAchar langCountry[16];
-    XAmillisecond duration;
-} XATimedTextStreamInformation;
-
-typedef struct XAMIDIStreamInformation_ {
-    XAuint32 channels;
-    XAuint32 tracks;
-    XAuint32 bankType;
-    XAchar langCountry[16];
-    XAmillisecond duration;
-} XAMIDIStreamInformation;
-
-typedef struct XAVendorStreamInformation_ {
-    void *VendorStreamInfo;
-} XAVendorStreamInformation;
-
-XA_API extern const XAInterfaceID XA_IID_STREAMINFORMATION;
-
-struct XAStreamInformationItf_;
-typedef const struct XAStreamInformationItf_ * const * XAStreamInformationItf;
-
-typedef void (XAAPIENTRY * xaStreamEventChangeCallback) (
-    XAStreamInformationItf caller,
-    XAuint32 eventId,
-    XAuint32 streamIndex,
-    void * pEventData,
-    void * pContext
-);
-
-struct XAStreamInformationItf_ {
-    XAresult (*QueryMediaContainerInformation) (
-        XAStreamInformationItf self,
-        XAMediaContainerInformation * info
-    );
-    XAresult (*QueryStreamType) (
-        XAStreamInformationItf self,
-        XAuint32 streamIndex,
-        XAuint32 *domain
-    );
-    XAresult (*QueryStreamInformation) (
-        XAStreamInformationItf self,
-        XAuint32 streamIndex,
-        void * info
-    );
-    XAresult (*QueryStreamName) (
-        XAStreamInformationItf self,
-        XAuint32 streamIndex,
-        XAuint16 * pNameSize,
-        XAchar * pName
-    );
-    XAresult (*RegisterStreamChangeCallback) (
-        XAStreamInformationItf self,
-        xaStreamEventChangeCallback callback,
-        void * pContext
-    );
-    XAresult (*QueryActiveStreams) (
-        XAStreamInformationItf self,
-        XAuint32 *numStreams,
-        XAboolean *activeStreams
-    );
-    XAresult (*SetActiveStream) (
-        XAStreamInformationItf self,
-        XAuint32   streamNum,
-        XAboolean  active,
-        XAboolean  commitNow
-    );
-};
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* _OPENMAXAL_H_ */
--- a/mmmw_plat/openmax_al_api/inc/OpenMAXAL_Platform.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2007-2010 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and/or associated documentation files (the
- * "Materials "), to deal in the Materials without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Materials, and to
- * permit persons to whom the Materials are furnished to do so, subject to 
- * the following conditions: 
- *
- * The above copyright notice and this permission notice shall be included 
- * in all copies or substantial portions of the Materials. 
- *
- * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- * OpenMAXAL_Platform.h - OpenMAX AL version 1.0.1
- *
- */
-
-/****************************************************************************/
-/* NOTE: This file contains definitions for the base types and the          */
-/* XAAPIENTRY macro. This file **WILL NEED TO BE EDITED** to provide        */
-/* the correct definitions specific to the platform being used.             */
-/****************************************************************************/
-
-#ifndef _OPENMAXAL_PLATFORM_H_
-#define _OPENMAXAL_PLATFORM_H_
-
-typedef unsigned char               xa_uint8_t;
-typedef signed char                 xa_int8_t;
-typedef unsigned short              xa_uint16_t;
-typedef signed short                xa_int16_t;
-typedef unsigned long               xa_uint32_t;
-typedef signed long                 xa_int32_t;
-typedef unsigned long long          xa_uint64_t;
-
-#ifndef XAAPIENTRY
-#define XAAPIENTRY                 /* override per-platform */
-#endif
-
-/** The XA_API is platform specific definition used
- *  to declare OMX function prototypes.  They are modified to meet the
- *  requirements for a particular platform */
-#ifndef XA_API
-    #define XA_API __declspec(dllimport)
-#endif
-
-#endif /* _OPENMAXAL_PLATFORM_H_ */
--- a/mmmw_plat/openmax_al_api/openmax_al_api.metaxml	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<api id="45c92b615dd278c2bd3747727ec92434" dataversion="2.0">
-  <name>OpenMAX AL API</name>
-  <description>OpenMAX AL is a standard cross platform API for capturing and/or rendering audio, video, and images on embedded and mobile devices. http://www.khronos.org/openmax/.
-The current AL implementation not a complete implementation and it is not compliant to Khronos OpenMAX AL API v1.0.1 specification.</description>
-  <type>c</type>
-  <collection>khronosfws</collection>
-  <libs>
-    <lib name="openmaxal.lib"/>
-  </libs>
-  <release category="platform" sinceversion="^4"/>
-  <attributes>
-    <htmldocprovided>no</htmldocprovided>
-    <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/mmmw_plat/openmax_al_api/readme.txt	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-
-The partial implementation of the Khronos OpenMAX AL API in this distribution has implemented the following features:
-
-* Audio recording
-
-As such, it is NOT a *conformant* OpenMAX AL implementation, as defined by Khronos. That is, it has NOT passed the OpenMAX AL conformance tests. It is to be noted however, that Nokia has signed the Adopter's Agreement and paid the requisite adopter fees for OpenMAX AL v1.0. It is our intention to apply for conformance once we have a complete OpenMAX AL implementation in either the Media Player or Media Player/Recorder profiles.
-
-For now, Nokia has gone ahead with distribution of this partial implementation to facilitate use of this implementation by Symbian Foundation members for evaluation/prototyping purposes. Nokia will be adding to this partial implementation in the coming months, as more and more parts of OpenMAX AL are implemented. Our objective is to eventually have a fully conformant implementation of OpenMAX AL as part of the Symbian Foundation code base. 
-
-
-Useful Links:
-* Khronos Consortium: http://www.khronos.org
-* Khronos FAQ for API Adopters: http://www.khronos.org/faq/category/C80
-* OpenMAX AL: http://www.khronos.org/openmax
--- a/mmmw_plat/openmax_al_api/tsrc/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description:
-*
-*/
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_TESTMMPFILES
-#include "../openmaxaltestmodule/group/bld.inf"
-
-//  End of File
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/bmarm/openmaxaltestmoduleu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/bwins/openmaxaltestmoduleu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_common.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-[Define]
-KErrNotFound -1
-KErrGeneral -2
-KErrNotSupported -5
-KErrAlreadyExists -11
-KErrNotReady -18
-KErrAccessDenied -21
-
-KErrEventPending -2000
-KErrCallbackErrorCode -2001
-KErrUnexpectedValue -2002
-KErrNotificationPending -2005
-KErrUnexpectedNotification -2006
-KErrTimeoutController -2007
-
-
-XA_RESULT_SUCCESS                   0
-XA_RESULT_PRECONDITIONS_VIOLATED    1
-XA_RESULT_PARAMETER_INVALID         2
-XA_RESULT_MEMORY_FAILURE            3
-XA_RESULT_RESOURCE_ERROR            4
-XA_RESULT_RESOURCE_LOST             5
-XA_RESULT_IO_ERROR                  6
-XA_RESULT_BUFFER_INSUFFICIENT       7
-XA_RESULT_CONTENT_CORRUPTED         8
-XA_RESULT_CONTENT_UNSUPPORTED       9
-XA_RESULT_CONTENT_NOT_FOUND         10
-XA_RESULT_PERMISSION_DENIED         11
-XA_RESULT_FEATURE_UNSUPPORTED       12
-XA_RESULT_INTERNAL_ERROR            13
-XA_RESULT_UNKNOWN_ERROR             14
-XA_RESULT_OPERATION_ABORTED         15
-XA_RESULT_CONTROL_LOST              16
-
-MO_ENGINE                           1
-MO_PLAYER                           4
-MO_RECORDER                         5
-MO_RADIO			    									6
-
-XA_BOOLEAN_FALSE                    0
-XA_BOOLEAN_TRUE                     1
-
-// IID numbers for interfaces
-XA_IID_NULL                         1
-XA_IID_OBJECT                       2
-XA_IID_CONFIGEXTENSION              3
-XA_IID_DYNAMICINTERFACEMANAGEMENT   4
-XA_IID_ENGINE                       5
-XA_IID_THREADSYNC                   6
-XA_IID_PLAY                         7
-XA_IID_PLAYBACKRATE                 8
-XA_IID_PREFETCHSTATUS               9
-XA_IID_SEEK                         10
-XA_IID_VOLUME                       11
-XA_IID_IMAGECONTROLS                12
-XA_IID_IMAGEEFFECTS                 13
-XA_IID_VIDEOPOSTPROCESSING          14
-XA_IID_RECORD                       15
-XA_IID_SNAPSHOT                     16
-XA_IID_METADATAEXTRACTION           17
-XA_IID_METADATAINSERTION            18
-XA_IID_METADATATRAVERSAL            19
-XA_IID_DYNAMICSOURCE                20
-XA_IID_CAMERACAPABILITIES           21
-XA_IID_CAMERA                       22
-XA_IID_AUDIOIODEVICECAPABILITIES    23
-XA_IID_DEVICEVOLUME                 24
-XA_IID_EQUALIZER                    25
-XA_IID_OUTPUTMIX                    26
-XA_IID_RADIO                        27
-XA_IID_RDS                          28
-XA_IID_VIBRA                        29
-XA_IID_LED                          30
-XA_IID_AUDIODECODERCAPABILITIES     31
-XA_IID_AUDIOENCODER                 32
-XA_IID_AUDIOENCODERCAPABILITIES     33
-XA_IID_IMAGEENCODERCAPABILITIES     34
-XA_IID_IMAGEDECODERCAPABILITIES     35
-XA_IID_IMAGEENCODER                 36
-XA_IID_VIDEODECODERCAPABILITIES     37
-XA_IID_VIDEOENCODER                 38
-XA_IID_VIDEOENCODERCAPABILITIES     39
-XA_IID_STREAMINFORMATION            40
-XA_IID_NOKIAVOLUMEEXT               41
-XA_IID_NOKIALINEARVOLUME            42
-
-XA_OBJECT_STATE_UNREALIZED          1
-XA_OBJECT_STATE_REALIZED            2
-XA_OBJECT_STATE_SUSPENDED           3
-
-XA_PLAYSTATE_STOPPED                1
-XA_PLAYSTATE_PAUSED                 2
-XA_PLAYSTATE_PLAYING                3
-XA_IODEVICE_RADIO		    5
-
-WinPtX                              0
-WinPtY                              300
-WinTopLeft                          0
-WinTopRight                         0
-WinBotLeft                          320
-WinBotRight                         240
-[Enddefine]
-
-//Constants for Data Source
-//------------------------------------------------
-//          DataSourceType:
-//                  Audio [0]
-//                  Video [1]
-//                  Image [2]
-//          DataLocatorType:
-//                  URI     [0]
-//                  Address [1]
-//          DataFormatType:
-//                  MIME     [0]
-//                  PCM      [1]
-//                  RAMIMAGE [2]
-//          ContainerType:
-//                 CONTAINERTYPE_UNSPECIFIED    [0]
-//                 CONTAINERTYPE_RAW            [1]
-//                 CONTAINERTYPE_ASF            [2]
-//                 CONTAINERTYPE_AVI            [3]
-//                 CONTAINERTYPE_BMP            [4]
-//                 CONTAINERTYPE_JPG            [5]
-//                 CONTAINERTYPE_JPG2000        [6]
-//                 CONTAINERTYPE_M4A            [7]
-//                 CONTAINERTYPE_MP3            [8]
-//                 CONTAINERTYPE_MP4            [9]
-//                 CONTAINERTYPE_MPEG_ES        [10]
-//                 CONTAINERTYPE_MPEG_PS        [11]
-//                 CONTAINERTYPE_MPEG_TS        [12]
-//                 CONTAINERTYPE_QT             [13]
-//                 CONTAINERTYPE_WAV            [14]
-//                 CONTAINERTYPE_XMF_0          [15]
-//                 CONTAINERTYPE_XMF_1          [16]
-//                 CONTAINERTYPE_XMF_2          [17]
-//                 CONTAINERTYPE_XMF_3          [18]
-//                 CONTAINERTYPE_XMF_GENERIC    [19]
-//                 CONTAINERTYPE_AMR            [20]
-//                 CONTAINERTYPE_AAC            [21]
-//                 CONTAINERTYPE_3GPP           [22]
-//                 CONTAINERTYPE_3GA            [23]
-//                 CONTAINERTYPE_RM             [24]
-//                 CONTAINERTYPE_DMF            [25]        
-//                 CONTAINERTYPE_SMF            [26]    
-//                 CONTAINERTYPE_MOBILE_DLS     [27]
-//
-//          MimeTypes:
-//                  Audio: 
-//                      wav         [0]
-//                      ogg         [1]
-//                      sp-midi     [2]                            
-//                      mobile-xmf  [3]
-//                      Amr-Wb      [4]
-//                      3gpp2       [5]
-//                      mp4         [6]
-//                  Video:
-//                      Avi         [7]
-//                      ogg         [8]?
-//                  Image:
-//                      jpg         [9]
-//                      raw-image   [10]                                        
-//-------------------------------------------------
-
-// IID numbers for interfaces to mention during object creation
-//   XA_IID_NULL                        1
-//   XA_IID_OBJECT                      2
-//   XA_IID_CONFIGEXTENSION             3
-//   XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//   XA_IID_ENGINE                      5
-//   XA_IID_THREADSYNC                  6
-//   XA_IID_PLAY                        7
-//   XA_IID_PLAYBACKRATE                8
-//   XA_IID_PREFETCHSTATUS              9
-//   XA_IID_SEEK                        10
-//   XA_IID_VOLUME                      11
-//   XA_IID_IMAGECONTROLS               12
-//   XA_IID_IMAGEEFFECTS                13
-//   XA_IID_VIDEOPOSTPROCESSING         14
-//   XA_IID_RECORD                      15
-//   XA_IID_SNAPSHOT                    16
-//   XA_IID_METADATAEXTRACTION          17
-//   XA_IID_METADATAINSERTION           18
-//   XA_IID_METADATATRAVERSAL           19
-//   XA_IID_DYNAMICSOURCE               20
-//   XA_IID_CAMERACAPABILITIES          21
-//   XA_IID_CAMERA                      22
-//   XA_IID_AUDIOIODEVICECAPABILITIES   23
-//   XA_IID_DEVICEVOLUME                24
-//   XA_IID_EQUALIZER                   25
-//   XA_IID_OUTPUTMIX                   26
-//   XA_IID_RADIO                       27
-//   XA_IID_RDS                         28
-//   XA_IID_VIBRA                       29
-//   XA_IID_LED                         30
-//   XA_IID_AUDIODECODERCAPABILITIES    31
-//   XA_IID_AUDIOENCODER                32
-//   XA_IID_AUDIOENCODERCAPABILITIES    33
-//   XA_IID_IMAGEENCODERCAPABILITIES    34
-//   XA_IID_IMAGEDECODERCAPABILITIES    35
-//   XA_IID_IMAGEENCODER                36
-//   XA_IID_VIDEODECODERCAPABILITIES    37
-//   XA_IID_VIDEOENCODER                38
-//   XA_IID_VIDEOENCODERCAPABILITIES    39
-//   XA_IID_STREAMINFORMATION           40
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_common_dynsrcitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-[Test]
-title 13.1 DynSrcItf SetSource
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_DYNAMICSOURCE
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_DYNAMICSOURCE
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-request Event_XA_PLAYEVENT_HEADATEND
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 4
-ALImpl al_dynsrcitf_SetSource
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 13.2 DynSrcItf MediaPlayer MetadataExtraction GetValue MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 2 XA_IID_DYNAMICSOURCE XA_IID_METADATAEXTRACTION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_DYNAMICSOURCE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 4
-ALImpl al_dynsrcitf_SetSource
-ALImpl al_metadataextractionitf_GetValue KhronosTitle JapJap
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 13.3 DynSrcItf MediaPlayer MetadataExtraction GetValue MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 2 XA_IID_DYNAMICSOURCE XA_IID_METADATAEXTRACTION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_DYNAMICSOURCE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 4
-ALImpl al_dynsrcitf_SetSource
-ALImpl al_metadataextractionitf_GetValue KhronosTitle mp4_aac
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 13.4 DynSrcItf MetadataExtractor MetadataExtraction GetValue MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMetadataExtractor 2 17 XA_IID_DYNAMICSOURCE
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 XA_IID_DYNAMICSOURCE
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 4
-ALImpl al_dynsrcitf_SetSource
-ALImpl al_metadataextractionitf_GetValue KhronosTitle JapJap
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 13.5 DynSrcItf MediaPlayer MetadataExtraction GetValue MP4 S60 Reset
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMetadataExtractor 2 17 XA_IID_DYNAMICSOURCE
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 XA_IID_DYNAMICSOURCE
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 4
-ALImpl al_dynsrcitf_SetSource
-ALImpl al_metadataextractionitf_GetValue KhronosTitle mp4_aac
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 13.6 DynSrcItf MediaPlayer MetadataExtraction GetValue MP3 Helix Reset
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMetadataExtractor 2 17 XA_IID_DYNAMICSOURCE
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 XA_IID_DYNAMICSOURCE
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 4
-ALImpl al_dynsrcitf_SetSource
-ALImpl al_metadataextractionitf_GetValue KhronosTitle JapJap
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_common_noklinvolitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 17.1 NokiaLinearVolumeItf SetVolumeLevel
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIALINEARVOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIALINEARVOLUME
-ALImpl al_nokialinearvolumeitf_SetVolumeLevel 10
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 17.2 NokiaLinearVolumeItf GetVolumeLevel
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIALINEARVOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIALINEARVOLUME
-ALImpl al_nokialinearvolumeitf_GetVolumeLevel
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 17.3 NokiaLinearVolumeItf GetStepCount
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIALINEARVOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIALINEARVOLUME
-ALImpl al_nokialinearvolumeitf_GetStepCount
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 17.4 NokiaLinearVolumeItf RegisterVolumeCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIALINEARVOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIALINEARVOLUME
-ALImpl al_nokialinearvolumeitf_RegisterVolumeCallback
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 17.5 NokiaLinearVolumeItf SetCallbackEventsMask
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIALINEARVOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIALINEARVOLUME
-ALImpl al_nokialinearvolumeitf_SetCallbackEventsMask 12
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 17.6 NokiaLinearVolumeItf GetCallbackEventsMask
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIALINEARVOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIALINEARVOLUME
-ALImpl al_nokialinearvolumeitf_GetCallbackEventsMask
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_common_nokvolextitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 16.1 NokiaVolumeExtItf SetVolumeLevel
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_nokiavolumeextitf_SetVolumeLevel 10
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 16.2 NokiaVolumeExtItf GetVolumeLevel
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_nokiavolumeextitf_GetVolumeLevel
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 16.3 NokiaVolumeExtItf GetMaxVolumeLevel
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_nokiavolumeextitf_GetMaxVolumeLevel
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 16.4 NokiaVolumeExtItf SetMute
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_nokiavolumeextitf_SetMute 1
-pause 5000
-ALImpl al_nokiavolumeextitf_SetMute 0
-pause 5000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 16.5 NokiaVolumeExtItf GetMute
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_nokiavolumeextitf_SetMute 1
-ALImpl al_nokiavolumeextitf_GetMute
-pause 5000
-ALImpl al_nokiavolumeextitf_SetMute 0
-ALImpl al_nokiavolumeextitf_GetMute
-pause 5000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 16.6 NokiaVolumeExtItf EnableStereoPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-allownextresult 12
-ALImpl al_nokiavolumeextitf_EnableStereoPosition 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 16.7 NokiaVolumeExtItf IsEnabledStereoPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-allownextresult 12
-ALImpl al_nokiavolumeextitf_EnableStereoPosition 1
-ALImpl al_nokiavolumeextitf_IsEnabledStereoPosition
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 16.8 NokiaVolumeExtItf SetStereoPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-allownextresult 12
-ALImpl al_nokiavolumeextitf_EnableStereoPosition 1
-ALImpl al_nokiavolumeextitf_SetStereoPosition 1000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 16.9 NokiaVolumeExtItf GetStereoPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-allownextresult 12
-ALImpl al_nokiavolumeextitf_EnableStereoPosition 1
-ALImpl al_nokiavolumeextitf_SetStereoPosition 1000
-ALImpl al_nokiavolumeextitf_GetStereoPosition
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 16.10 NokiaVolumeExtItf RegisterVolumeCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_nokiavolumeextitf_RegisterVolumeCallback
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 16.11 NokiaVolumeExtItf SetCallbackEventsMask
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_nokiavolumeextitf_SetCallbackEventsMask 12
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 16.12 NokiaVolumeExtItf GetCallbackEventsMask
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_nokiavolumeextitf_GetCallbackEventsMask
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_common_volumeitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,220 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 15.1 VolumeItf SetVolumeLevel
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_VOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_VOLUME
-ALImpl al_volumeitf_SetVolumeLevel 10
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 15.2 VolumeItf GetVolumeLevel
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_VOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_VOLUME
-ALImpl al_volumeitf_GetVolumeLevel
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 15.3 VolumeItf GetMaxVolumeLevel
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_VOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_VOLUME
-ALImpl al_volumeitf_GetMaxVolumeLevel
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 15.4 VolumeItf SetMute
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_VOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_VOLUME
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_volumeitf_SetMute 1
-pause 5000
-ALImpl al_volumeitf_SetMute 0
-pause 5000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 15.5 VolumeItf GetMute
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_VOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_VOLUME
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_volumeitf_SetMute 1
-ALImpl al_volumeitf_GetMute
-pause 5000
-ALImpl al_volumeitf_SetMute 0
-ALImpl al_volumeitf_GetMute
-pause 5000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 15.6 VolumeItf EnableStereoPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_VOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_VOLUME
-allownextresult 12
-ALImpl al_volumeitf_EnableStereoPosition 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 15.7 VolumeItf IsEnabledStereoPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_VOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_VOLUME
-allownextresult 12
-ALImpl al_volumeitf_EnableStereoPosition 1
-ALImpl al_volumeitf_IsEnabledStereoPosition
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 15.8 VolumeItf SetStereoPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_VOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_VOLUME
-allownextresult 12
-ALImpl al_volumeitf_EnableStereoPosition 1
-ALImpl al_volumeitf_SetStereoPosition 1000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 15.9 VolumeItf GetStereoPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_VOLUME
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_VOLUME
-allownextresult 12
-ALImpl al_volumeitf_EnableStereoPosition 1
-ALImpl al_volumeitf_SetStereoPosition 1000
-ALImpl al_volumeitf_GetStereoPosition
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_engine_aiodcitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,185 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-// IID numbers for interfaces to mention during object creation
-//	 XA_IID_NULL                    	1
-//	 XA_IID_OBJECT                    	2
-//	 XA_IID_CONFIGEXTENSION             3
-//	 XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//	 XA_IID_ENGINE                    	5
-//	 XA_IID_THREADSYNC                  6
-//	 XA_IID_PLAY                    	7
-//	 XA_IID_PLAYBACKRATE                8
-//	 XA_IID_PREFETCHSTATUS              9
-//	 XA_IID_SEEK                    	10
-//	 XA_IID_VOLUME                    	11
-//	 XA_IID_IMAGECONTROLS               12
-//	 XA_IID_IMAGEEFFECTS                13
-//	 XA_IID_VIDEOPOSTPROCESSING         14
-//	 XA_IID_RECORD                    	15
-//	 XA_IID_SNAPSHOT                    16
-//	 XA_IID_METADATAEXTRACTION          17
-//	 XA_IID_METADATAINSERTION           18
-//	 XA_IID_METADATATRAVERSAL           19
-//	 XA_IID_DYNAMICSOURCE               20
-//	 XA_IID_CAMERACAPABILITIES          21
-//	 XA_IID_CAMERA                    	22
-//	 XA_IID_AUDIOIODEVICECAPABILITIES   23
-//	 XA_IID_DEVICEVOLUME                24
-//	 XA_IID_EQUALIZER                   25
-//	 XA_IID_OUTPUTMIX                   26
-//	 XA_IID_RADIO                    	27
-//	 XA_IID_RDS                         28
-//	 XA_IID_VIBRA                    	29
-//	 XA_IID_LED                         30
-//	 XA_IID_AUDIODECODERCAPABILITIES    31
-//	 XA_IID_AUDIOENCODER                32
-//	 XA_IID_AUDIOENCODERCAPABILITIES    33
-//	 XA_IID_IMAGEENCODERCAPABILITIES    34
-//	 XA_IID_IMAGEDECODERCAPABILITIES    35
-//	 XA_IID_IMAGEENCODER                36
-//	 XA_IID_VIDEODECODERCAPABILITIES    37
-//	 XA_IID_VIDEOENCODER                38
-//	 XA_IID_VIDEOENCODERCAPABILITIES    39
-//	 XA_IID_STREAMINFORMATION           40
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 3.1 AudioIODevCapItf GetAvailableAudioInputs
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 23
-ALImpl al_audioiodevcapitf_GetAvailableAudioInputs
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 3.2 AudioIODevCapItf QueryAudioInputCapabilities
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 23
-ALImpl al_audioiodevcapitf_QueryAudioInputCapabilities 2910736385
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 3.3 AudioIODevCapItf RegisterAvailableAudioInputsChangedCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 23
-ALImpl al_audioiodevcapitf_RegisterAvailableAudioInputsChangedCallback
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 3.4 AudioIODevCapItf GetAvailableAudioOutputs
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 23
-ALImpl al_audioiodevcapitf_GetAvailableAudioOutputs
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 3.5 AudioIODevCapItf QueryAudioOutputCapabilities
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 23
-ALImpl al_audioiodevcapitf_QueryAudioOutputCapabilities 2910736386
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 3.6 AudioIODevCapItf RegisterAvailableAudioOutputsChangedCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 23
-ALImpl al_audioiodevcapitf_RegisterAvailableAudioOutputsChangedCallback
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 3.7 AudioIODevCapItf RegisterDefaultDeviceIDMapChangedCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 23
-ALImpl al_audioiodevcapitf_RegisterDefaultDeviceIDMapChangedCallback
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-
-[Test]
-title 3.8 AudioIODevCapItf GetAssociatedAudioInputs
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 23
-ALImpl al_audioiodevcapitf_GetAssociatedAudioInputs 2910736386
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 3.9 AudioIODevCapItf GetAssociatedAudioOutputs
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 23
-ALImpl al_audioiodevcapitf_GetAssociatedAudioOutputs 2910736385
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 3.10 AudioIODevCapItf GetDefaultAudioDevices
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 23
-ALImpl al_audioiodevcapitf_GetDefaultAudioDevices FFFFFFFF
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 3.11 AudioIODevCapItf QuerySampleFormatsSupported
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 23
-ALImpl al_audioiodevcapitf_QuerySampleFormatsSupported 2910736385 44100
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_engine_audenccapitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-// IID numbers for interfaces to mention during object creation
-//	 XA_IID_NULL                    	1
-//	 XA_IID_OBJECT                    	2
-//	 XA_IID_CONFIGEXTENSION             3
-//	 XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//	 XA_IID_ENGINE                    	5
-//	 XA_IID_THREADSYNC                  6
-//	 XA_IID_PLAY                    	7
-//	 XA_IID_PLAYBACKRATE                8
-//	 XA_IID_PREFETCHSTATUS              9
-//	 XA_IID_SEEK                    	10
-//	 XA_IID_VOLUME                    	11
-//	 XA_IID_IMAGECONTROLS               12
-//	 XA_IID_IMAGEEFFECTS                13
-//	 XA_IID_VIDEOPOSTPROCESSING         14
-//	 XA_IID_RECORD                    	15
-//	 XA_IID_SNAPSHOT                    16
-//	 XA_IID_METADATAEXTRACTION          17
-//	 XA_IID_METADATAINSERTION           18
-//	 XA_IID_METADATATRAVERSAL           19
-//	 XA_IID_DYNAMICSOURCE               20
-//	 XA_IID_CAMERACAPABILITIES          21
-//	 XA_IID_CAMERA                    	22
-//	 XA_IID_AUDIOIODEVICECAPABILITIES   23
-//	 XA_IID_DEVICEVOLUME                24
-//	 XA_IID_EQUALIZER                   25
-//	 XA_IID_OUTPUTMIX                   26
-//	 XA_IID_RADIO                    	27
-//	 XA_IID_RDS                         28
-//	 XA_IID_VIBRA                    	29
-//	 XA_IID_LED                         30
-//	 XA_IID_AUDIODECODERCAPABILITIES    31
-//	 XA_IID_AUDIOENCODER                32
-//	 XA_IID_AUDIOENCODERCAPABILITIES    33
-//	 XA_IID_IMAGEENCODERCAPABILITIES    34
-//	 XA_IID_IMAGEDECODERCAPABILITIES    35
-//	 XA_IID_IMAGEENCODER                36
-//	 XA_IID_VIDEODECODERCAPABILITIES    37
-//	 XA_IID_VIDEOENCODER                38
-//	 XA_IID_VIDEOENCODERCAPABILITIES    39
-//	 XA_IID_STREAMINFORMATION           40
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 4.1 AudioEncCapItf GetAudioEncoders
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 33
-ALImpl al_audioencodercapitf_GetAudioEncoders
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 4.2 AudioEncCapItf GetAudioEncoderCapabilities
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 33
-ALImpl al_audioencodercapitf_GetAudioEncoderCapabilities 1
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_engine_engineitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,286 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-// IID numbers for interfaces to mention during object creation
-//	 XA_IID_NULL                    	1
-//	 XA_IID_OBJECT                    	2
-//	 XA_IID_CONFIGEXTENSION             3
-//	 XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//	 XA_IID_ENGINE                    	5
-//	 XA_IID_THREADSYNC                  6
-//	 XA_IID_PLAY                    	7
-//	 XA_IID_PLAYBACKRATE                8
-//	 XA_IID_PREFETCHSTATUS              9
-//	 XA_IID_SEEK                    	10
-//	 XA_IID_VOLUME                    	11
-//	 XA_IID_IMAGECONTROLS               12
-//	 XA_IID_IMAGEEFFECTS                13
-//	 XA_IID_VIDEOPOSTPROCESSING         14
-//	 XA_IID_RECORD                    	15
-//	 XA_IID_SNAPSHOT                    16
-//	 XA_IID_METADATAEXTRACTION          17
-//	 XA_IID_METADATAINSERTION           18
-//	 XA_IID_METADATATRAVERSAL           19
-//	 XA_IID_DYNAMICSOURCE               20
-//	 XA_IID_CAMERACAPABILITIES          21
-//	 XA_IID_CAMERA                    	22
-//	 XA_IID_AUDIOIODEVICECAPABILITIES   23
-//	 XA_IID_DEVICEVOLUME                24
-//	 XA_IID_EQUALIZER                   25
-//	 XA_IID_OUTPUTMIX                   26
-//	 XA_IID_RADIO                    	27
-//	 XA_IID_RDS                         28
-//	 XA_IID_VIBRA                    	29
-//	 XA_IID_LED                         30
-//	 XA_IID_AUDIODECODERCAPABILITIES    31
-//	 XA_IID_AUDIOENCODER                32
-//	 XA_IID_AUDIOENCODERCAPABILITIES    33
-//	 XA_IID_IMAGEENCODERCAPABILITIES    34
-//	 XA_IID_IMAGEDECODERCAPABILITIES    35
-//	 XA_IID_IMAGEENCODER                36
-//	 XA_IID_VIDEODECODERCAPABILITIES    37
-//	 XA_IID_VIDEOENCODER                38
-//	 XA_IID_VIDEOENCODERCAPABILITIES    39
-//	 XA_IID_STREAMINFORMATION           40
-
-
-[Test]
-title 2.1 EngItf CreateCameraDevice
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-allownextresult 12
-ALImpl al_engitf_CreateCameraDevice 0 1
-//ALImpl al_objitf_Destroy 9
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 2.2 EngItf CreateRadioDevice
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_engitf_CreateRadioDevice
-ALImpl al_objitf_Destroy 6
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 2.3 EngItf CreateLEDDevice
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-allownextresult 12
-ALImpl al_engitf_CreateLEDDevice 0 1
-//ALImpl al_objitf_Destroy 2
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 2.4 EngItf CreateVibraDevice
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-allownextresult 12
-ALImpl al_engitf_CreateVibraDevice 0 1
-//ALImpl al_objitf_Destroy 3
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.5 EngItf CreateMediaPlayer
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataLocator 3 1 2910736386 0
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Destroy 4
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.6 EngItf CreateMediaRecorder
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 2.7 EngItf CreateOutputMix
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-allownextresult 12
-ALImpl al_engitf_CreateOutputMix
-//ALImpl al_objitf_Destroy 7
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.8 EngItf CreateMetaDataExtractor
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.9 EngItf CreateExtensionObject
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-allownextresult 12
-ALImpl al_engitf_CreateExtensionObject 0 1
-//ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.10 EngItf GetImplInfo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_engitf_GetImplementationInfo
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 2.11 EngItf QuerySupportedProfiles
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_engitf_QuerySupportedProfiles
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.12 EngItf QueryNumSupportedInterfaces
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_engitf_QueryNumSupportedInterfaces 1
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.13 EngItf QuerySupportedInterfaces
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_engitf_QuerySupportedInterfaces 1 0
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.14 EngItf QueryNumSupportedExtension
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_engitf_QueryNumSupportedExtension
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.15 EngItf QuerySupportedExtension
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-allownextresult 2
-ALImpl al_engitf_QuerySupportedExtension 0
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.16 EngItf IsExtensionSupported
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_engitf_IsExtensionSupported TestExtn
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.17 EngItf QueryLEDCapabilities
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_engitf_QueryLEDCapabilities
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 2.18 EngItf QueryVibraCapabilities
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_engitf_QueryVibraCapabilities
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_global.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-// IID numbers for interfaces to mention during object creation
-//	 XA_IID_NULL                    	1
-//	 XA_IID_OBJECT                    	2
-//	 XA_IID_CONFIGEXTENSION             3
-//	 XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//	 XA_IID_ENGINE                    	5
-//	 XA_IID_THREADSYNC                  6
-//	 XA_IID_PLAY                    	7
-//	 XA_IID_PLAYBACKRATE                8
-//	 XA_IID_PREFETCHSTATUS              9
-//	 XA_IID_SEEK                    	10
-//	 XA_IID_VOLUME                    	11
-//	 XA_IID_IMAGECONTROLS               12
-//	 XA_IID_IMAGEEFFECTS                13
-//	 XA_IID_VIDEOPOSTPROCESSING         14
-//	 XA_IID_RECORD                    	15
-//	 XA_IID_SNAPSHOT                    16
-//	 XA_IID_METADATAEXTRACTION          17
-//	 XA_IID_METADATAINSERTION           18
-//	 XA_IID_METADATATRAVERSAL           19
-//	 XA_IID_DYNAMICSOURCE               20
-//	 XA_IID_CAMERACAPABILITIES          21
-//	 XA_IID_CAMERA                    	22
-//	 XA_IID_AUDIOIODEVICECAPABILITIES   23
-//	 XA_IID_DEVICEVOLUME                24
-//	 XA_IID_EQUALIZER                   25
-//	 XA_IID_OUTPUTMIX                   26
-//	 XA_IID_RADIO                    	27
-//	 XA_IID_RDS                         28
-//	 XA_IID_VIBRA                    	29
-//	 XA_IID_LED                         30
-//	 XA_IID_AUDIODECODERCAPABILITIES    31
-//	 XA_IID_AUDIOENCODER                32
-//	 XA_IID_AUDIOENCODERCAPABILITIES    33
-//	 XA_IID_IMAGEENCODERCAPABILITIES    34
-//	 XA_IID_IMAGEDECODERCAPABILITIES    35
-//	 XA_IID_IMAGEENCODER                36
-//	 XA_IID_VIDEODECODERCAPABILITIES    37
-//	 XA_IID_VIDEOENCODER                38
-//	 XA_IID_VIDEOENCODERCAPABILITIES    39
-//	 XA_IID_STREAMINFORMATION           40
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 1.1 xaCreateEngine
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 1.2 xaQueryNumSupportedInterfaces
-create openmaxaltestmodule ALImpl
-ALImpl al_queryNumSupportedEngineInterfaces
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 1.3 xaQuerySupportedInterfaces
-create openmaxaltestmodule ALImpl
-ALImpl al_querySupportedEngineInterfaces 5
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 1.4 Create Delete
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 1.5 xaCreateEngine ThreadSafety
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 1 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mo.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-// IID numbers for interfaces to mention during object creation
-//	 XA_IID_NULL                    	1
-//	 XA_IID_OBJECT                    	2
-//	 XA_IID_CONFIGEXTENSION             3
-//	 XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//	 XA_IID_ENGINE                    	5
-//	 XA_IID_THREADSYNC                  6
-//	 XA_IID_PLAY                    	7
-//	 XA_IID_PLAYBACKRATE                8
-//	 XA_IID_PREFETCHSTATUS              9
-//	 XA_IID_SEEK                    	10
-//	 XA_IID_VOLUME                    	11
-//	 XA_IID_IMAGECONTROLS               12
-//	 XA_IID_IMAGEEFFECTS                13
-//	 XA_IID_VIDEOPOSTPROCESSING         14
-//	 XA_IID_RECORD                    	15
-//	 XA_IID_SNAPSHOT                    16
-//	 XA_IID_METADATAEXTRACTION          17
-//	 XA_IID_METADATAINSERTION           18
-//	 XA_IID_METADATATRAVERSAL           19
-//	 XA_IID_DYNAMICSOURCE               20
-//	 XA_IID_CAMERACAPABILITIES          21
-//	 XA_IID_CAMERA                    	22
-//	 XA_IID_AUDIOIODEVICECAPABILITIES   23
-//	 XA_IID_DEVICEVOLUME                24
-//	 XA_IID_EQUALIZER                   25
-//	 XA_IID_OUTPUTMIX                   26
-//	 XA_IID_RADIO                    	27
-//	 XA_IID_RDS                         28
-//	 XA_IID_VIBRA                    	29
-//	 XA_IID_LED                         30
-//	 XA_IID_AUDIODECODERCAPABILITIES    31
-//	 XA_IID_AUDIOENCODER                32
-//	 XA_IID_AUDIOENCODERCAPABILITIES    33
-//	 XA_IID_IMAGEENCODERCAPABILITIES    34
-//	 XA_IID_IMAGEDECODERCAPABILITIES    35
-//	 XA_IID_IMAGEENCODER                36
-//	 XA_IID_VIDEODECODERCAPABILITIES    37
-//	 XA_IID_VIDEOENCODER                38
-//	 XA_IID_VIDEOENCODERCAPABILITIES    39
-//	 XA_IID_STREAMINFORMATION           40
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 20.1 MetadataExtractor QueryNumSupportedInterfaces
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_engitf_QueryNumSupportedInterfaces 8
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 20.2 MetadataExtractor QuerySupportedInterfaces
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_engitf_QuerySupportedInterfaces 8 0
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 20.3 MetadataExtractor DynItf AddItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 4
-ALImpl al_dimitf_AddInterface 3 0
-ALImpl al_dimitf_RemoveInterface 3 
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 20.4 MetadataExtractor Resume Itf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-allownextresult 1
-ALImpl al_objitf_Resume 8 0
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 20.5 MetadataExtractor ResumeInterface Itf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 4
-ALImpl al_dimitf_ResumeInterface 3 0
-ALImpl al_dimitf_RemoveInterface 3
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mo_mdextractionitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,352 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-// IID numbers for interfaces to mention during object creation
-//	 XA_IID_NULL                    	1
-//	 XA_IID_OBJECT                    	2
-//	 XA_IID_CONFIGEXTENSION             3
-//	 XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//	 XA_IID_ENGINE                    	5
-//	 XA_IID_THREADSYNC                  6
-//	 XA_IID_PLAY                    	7
-//	 XA_IID_PLAYBACKRATE                8
-//	 XA_IID_PREFETCHSTATUS              9
-//	 XA_IID_SEEK                    	10
-//	 XA_IID_VOLUME                    	11
-//	 XA_IID_IMAGECONTROLS               12
-//	 XA_IID_IMAGEEFFECTS                13
-//	 XA_IID_VIDEOPOSTPROCESSING         14
-//	 XA_IID_RECORD                    	15
-//	 XA_IID_SNAPSHOT                    16
-//	 XA_IID_METADATAEXTRACTION          17
-//	 XA_IID_METADATAINSERTION           18
-//	 XA_IID_METADATATRAVERSAL           19
-//	 XA_IID_DYNAMICSOURCE               20
-//	 XA_IID_CAMERACAPABILITIES          21
-//	 XA_IID_CAMERA                    	22
-//	 XA_IID_AUDIOIODEVICECAPABILITIES   23
-//	 XA_IID_DEVICEVOLUME                24
-//	 XA_IID_EQUALIZER                   25
-//	 XA_IID_OUTPUTMIX                   26
-//	 XA_IID_RADIO                    	27
-//	 XA_IID_RDS                         28
-//	 XA_IID_VIBRA                    	29
-//	 XA_IID_LED                         30
-//	 XA_IID_AUDIODECODERCAPABILITIES    31
-//	 XA_IID_AUDIOENCODER                32
-//	 XA_IID_AUDIOENCODERCAPABILITIES    33
-//	 XA_IID_IMAGEENCODERCAPABILITIES    34
-//	 XA_IID_IMAGEDECODERCAPABILITIES    35
-//	 XA_IID_IMAGEENCODER                36
-//	 XA_IID_VIDEODECODERCAPABILITIES    37
-//	 XA_IID_VIDEOENCODER                38
-//	 XA_IID_VIDEOENCODERCAPABILITIES    39
-//	 XA_IID_STREAMINFORMATION           40
-
-//Container Type
-// XA_CONTAINERTYPE_UNSPECIFIED 1
-// XA_CONTAINERTYPE_RAW 2
-// XA_CONTAINERTYPE_ASF 3
-// XA_CONTAINERTYPE_AVI 4
-// XA_CONTAINERTYPE_BMP 5
-// XA_CONTAINERTYPE_JPG 6
-// XA_CONTAINERTYPE_JPG2000 7
-// XA_CONTAINERTYPE_M4A 8
-// XA_CONTAINERTYPE_MP3 9
-// XA_CONTAINERTYPE_MP4 10
-// XA_CONTAINERTYPE_MPEG_ES 11
-// XA_CONTAINERTYPE_MPEG_PS 12
-// XA_CONTAINERTYPE_MPEG_TS 13
-// XA_CONTAINERTYPE_QT 14
-// XA_CONTAINERTYPE_WAV 15
-// XA_CONTAINERTYPE_XMF_0 16
-// XA_CONTAINERTYPE_XMF_1 17
-// XA_CONTAINERTYPE_XMF_2 18
-// XA_CONTAINERTYPE_XMF_3 19
-// XA_CONTAINERTYPE_XMF_GENERIC 20
-// XA_CONTAINERTYPE_AMR 21
-// XA_CONTAINERTYPE_AAC 22
-// XA_CONTAINERTYPE_3GPP 23
-// XA_CONTAINERTYPE_3GA 24
-// XA_CONTAINERTYPE_RM 25
-// XA_CONTAINERTYPE_DMF 26
-// XA_CONTAINERTYPE_SMF 27
-// XA_CONTAINERTYPE_MOBILE_DLS 28
-// XA_CONTAINERTYPE_0GG 29
-
-//Data Locator
-// XA_DATALOCATOR_URI 1
-// XA_DATALOCATOR_ADDRESS 2
-// XA_DATALOCATOR_IODEVICE 3
-// XA_DATALOCATOR_OUTPUTMIX 4
-// XA_DATALOCATOR_NATIVEDISPLAY 5
-
-//MDU KEYS 
-//KhronosTitle
-//KhronosArtist
-//KhronosAlbum
-//KhronosYear
-//KhronosComment
-//KhronosTrackNumber
-//KhronosGenre
-//Composer
-//KhronosCopyright
-//KhronosContentURL
-//attachedpicture
-//Vendor
-//KhronosRating
-//Duration
-
-[Test]
-title 18.1 MetadataExtractionItf GetItemCount MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_metadataextractionitf_GetItemCount
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.2 MetadataExtractionItf GetKeySize 1 MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_metadataextractionitf_GetKeySize 1
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.3 MetadataExtractionItf GetKey 1 MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-//ALImpl al_metadataextractionitf_GetKey 1 40
-ALImpl al_metadataextractionitf_GetKey KhronosTitle
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.4 MetadataExtractionItf GetValueSize 1 MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_metadataextractionitf_GetValueSize 1
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.5 MetadataExtractionItf GetValue 1 MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-//ALImpl al_metadataextractionitf_GetValue 1 59
-ALImpl al_metadataextractionitf_GetValue KhronosTitle JapJap
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.6 MetadataExtractionItf GetCoverArt MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_metadataextractionitf_GetCoverArt
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.7 MetadataExtractionItf GetItemCount MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_metadataextractionitf_GetItemCount
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.8 MetadataExtractionItf GetKeySize 1 MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_metadataextractionitf_GetKeySize 1
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.9 MetadataExtractionItf GetKey 1 MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_metadataextractionitf_GetKey KhronosTitle
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.10 MetadataExtractionItf GetValueSize 1 MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_metadataextractionitf_GetValueSize 1
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.11 MetadataExtractionItf GetValue 1 MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-ALImpl al_metadataextractionitf_GetValue KhronosTitle mp4_aac
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.12 MetadataExtractionItf AddKeyFilter
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-allownextresult 2
-ALImpl al_metadataextractionitf_AddKeyFilter
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 18.13 MetadataExtractionItf ClearKeyFilter
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 3
-ALImpl al_engitf_CreateMetadataExtractor 1 17
-ALImpl al_objitf_Realize 8 0
-ALImpl al_objitf_GetInterface 8 17
-allownextresult 2
-ALImpl al_metadataextractionitf_ClearKeyFilter
-ALImpl al_objitf_Destroy 8
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-// IID numbers for interfaces to mention during object creation
-//	 XA_IID_NULL                    	1
-//	 XA_IID_OBJECT                    	2
-//	 XA_IID_CONFIGEXTENSION             3
-//	 XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//	 XA_IID_ENGINE                    	5
-//	 XA_IID_THREADSYNC                  6
-//	 XA_IID_PLAY                    	7
-//	 XA_IID_PLAYBACKRATE                8
-//	 XA_IID_PREFETCHSTATUS              9
-//	 XA_IID_SEEK                    	10
-//	 XA_IID_VOLUME                    	11
-//	 XA_IID_IMAGECONTROLS               12
-//	 XA_IID_IMAGEEFFECTS                13
-//	 XA_IID_VIDEOPOSTPROCESSING         14
-//	 XA_IID_RECORD                    	15
-//	 XA_IID_SNAPSHOT                    16
-//	 XA_IID_METADATAEXTRACTION          17
-//	 XA_IID_METADATAINSERTION           18
-//	 XA_IID_METADATATRAVERSAL           19
-//	 XA_IID_DYNAMICSOURCE               20
-//	 XA_IID_CAMERACAPABILITIES          21
-//	 XA_IID_CAMERA                    	22
-//	 XA_IID_AUDIOIODEVICECAPABILITIES   23
-//	 XA_IID_DEVICEVOLUME                24
-//	 XA_IID_EQUALIZER                   25
-//	 XA_IID_OUTPUTMIX                   26
-//	 XA_IID_RADIO                    	27
-//	 XA_IID_RDS                         28
-//	 XA_IID_VIBRA                    	29
-//	 XA_IID_LED                         30
-//	 XA_IID_AUDIODECODERCAPABILITIES    31
-//	 XA_IID_AUDIOENCODER                32
-//	 XA_IID_AUDIOENCODERCAPABILITIES    33
-//	 XA_IID_IMAGEENCODERCAPABILITIES    34
-//	 XA_IID_IMAGEDECODERCAPABILITIES    35
-//	 XA_IID_IMAGEENCODER                36
-//	 XA_IID_VIDEODECODERCAPABILITIES    37
-//	 XA_IID_VIDEOENCODER                38
-//	 XA_IID_VIDEOENCODERCAPABILITIES    39
-//	 XA_IID_STREAMINFORMATION           40
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 9.1 MediaPlayer CreateAudioMediaPlayer
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 9.2 PlayItf CreateVideoMediaPlayer
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 9.3 MediaPlayer QueryNumSupportedInterfaces
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_engitf_QueryNumSupportedInterfaces 4
-ALImpl al_engitf_QueryNumSupportedInterfaces 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 9.4 MediaPlayer QuerySupportedInterfaces
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_engitf_QuerySupportedInterfaces 4 0
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 9.5 MediaPlayer DynItf AddItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 4
-ALImpl al_dimitf_AddInterface 17 0
-ALImpl al_dimitf_RemoveInterface 17 
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 9.6 MediaPlayer Resume Itf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-allownextresult 1
-ALImpl al_objitf_Resume 4 0
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 9.7 MediaPlayer DynItf ResumeItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 4
-ALImpl al_dimitf_ResumeInterface 17 0
-ALImpl al_dimitf_RemoveInterface 17 
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_mdextractionitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-[Test]
-title 19.1 MediaPlayer MetadataExtractionItf GetItemCount MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 17
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_metadataextractionitf_GetItemCount
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 19.2 MediaPlayer MetadataExtractionItf GetKeySize MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 17
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_metadataextractionitf_GetKeySize 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-[Test]
-title 19.3 MediaPlayer MetadataExtractionItf GetKey MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 17
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_metadataextractionitf_GetKey KhronosTitle
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 19.4 MediaPlayer MetadataExtractionItf GetValueSize MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 17
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_metadataextractionitf_GetValueSize 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 19.5 MediaPlayer MetadataExtractionItf GetValue MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 17
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_metadataextractionitf_GetValue KhronosTitle JapJap
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 19.6 MediaPlayer MetadataExtractionItf GetCoverArt MP3
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/JapJap.mp3
-ALImpl al_SetDataFormat 1 audio/mp3 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 17
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_metadataextractionitf_GetCoverArt
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 19.7 MediaPlayer MetadataExtractionItf GetItemCount MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 17
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_metadataextractionitf_GetItemCount
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 19.8 MediaPlayer MetadataExtractionItf GetKeySize MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 17
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_metadataextractionitf_GetKeySize 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-[Test]
-title 19.9 MediaPlayer MetadataExtractionItf GetKey MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 17
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_metadataextractionitf_GetKey KhronosTitle
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 19.10 MediaPlayer MetadataExtractionItf GetValueSize MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 17
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_metadataextractionitf_GetValueSize 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 19.11 MediaPlayer MetadataExtractionItf GetValue MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/testmp4.mp4
-ALImpl al_SetDataFormat 1 video/mp4 10
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 17
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER 17
-ALImpl al_metadataextractionitf_GetValue KhronosTitle mp4_aac
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_objectitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 10.1 ObjectItf Realize
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 10.2 ObjectItf Resume
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-allownextresult XA_RESULT_PRECONDITIONS_VIOLATED
-ALImpl al_objitf_Resume MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 10.3 ObjectItf GetStateUnrealized
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_GetState MO_PLAYER XA_OBJECT_STATE_UNREALIZED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 10.4 ObjectItf GetStateRealized
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetState MO_PLAYER XA_OBJECT_STATE_REALIZED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 10.5 ObjectItf GetInterafcePlayItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 10.6 ObjectItf RegisterCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_RegisterCallback MO_PLAYER
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 10.7 ObjectItf AbortAsyncOperation
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_RegisterCallback MO_PLAYER
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_AbortAsyncOperation MO_PLAYER
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 10.8 ObjectItf Destroy
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 10.9 ObjectItf SetPriority
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_SetPriority MO_PLAYER 3456789 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_playbackrateitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 27.1 PlaybackRateItf SetRate
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER 4
-ALImpl al_dimitf_AddInterface 8 0
-ALImpl al_objitf_GetInterface MO_PLAYER 8
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playbackrateitf_SetRate 4000
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_dimitf_RemoveInterface 8
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 27.2 PlaybackRateItf GetRate
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER 4
-ALImpl al_dimitf_AddInterface 8 0
-ALImpl al_objitf_GetInterface MO_PLAYER 8
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playbackrateitf_SetRate 4000
-ALImpl al_playbackrateitf_GetRate
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_dimitf_RemoveInterface 8
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 27.3 PlaybackRateItf SetPropertyConstraints
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER 4
-ALImpl al_dimitf_AddInterface 8 0
-ALImpl al_objitf_GetInterface MO_PLAYER 8
-ALImpl al_playbackrateitf_SetRate 4000
-ALImpl al_playbackrateitf_SetPropertyConstraints 101
-ALImpl al_dimitf_RemoveInterface 8
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 27.4 PlaybackRateItf GetProperties
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER 4
-ALImpl al_dimitf_AddInterface 8 0
-ALImpl al_objitf_GetInterface MO_PLAYER 8
-ALImpl al_playbackrateitf_SetRate 4000
-ALImpl al_playbackrateitf_GetProperties
-ALImpl al_dimitf_RemoveInterface 8
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 27.5 PlaybackRateItf GetCapabilitiesOfRate
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER 4
-ALImpl al_dimitf_AddInterface 8 0
-ALImpl al_objitf_GetInterface MO_PLAYER 8
-ALImpl al_playbackrateitf_SetRate 4000
-ALImpl al_playbackrateitf_GetCapabilitiesOfRate 4000
-ALImpl al_dimitf_RemoveInterface 8
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 27.6 PlaybackRateItf GetRateRange
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER 4
-ALImpl al_dimitf_AddInterface 8 0
-ALImpl al_objitf_GetInterface MO_PLAYER 8
-ALImpl al_playbackrateitf_SetRate 4000
-ALImpl al_playbackrateitf_GetRateRange 0
-ALImpl al_playbackrateitf_GetRateRange 1
-ALImpl al_playbackrateitf_GetRateRange 2
-ALImpl al_dimitf_RemoveInterface 8
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_playitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1435 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 11.1 PlayItf GetInterafcePlayItfFailure
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-allownextresult XA_RESULT_PRECONDITIONS_VIOLATED
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.2 PlayItf GetInterafcePlayItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.3 PlayItf SetStatePlayStop
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 5000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 11.4 PlayItf SetStatePlayPausePlayStop
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 5000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PAUSED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PAUSED
-pause 2000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 5000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.5 PlayItf SetStatePause
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PAUSED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PAUSED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.6 PlayItf GetState
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.7 PlayItf GetDurationNullParam
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_GetDurationNullParam
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.8 PlayItf GetDuration
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_GetDuration 19000 21000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.9 PlayItf GetPositionNullParam
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_GetPositionNullParam
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.10 PlayItf GetPositionZero
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_GetPosition 0 0
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.11 PlayItf GetPosition5Sec
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 5000
-ALImpl al_playitf_GetPosition
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.12 PlayItf RegisterCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.13 PlayItf SetCallbackEventMaskInvalid
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_SetCallbackEventMask 32
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.14 PlayItf SetCallbackEventMask
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetCallbackEventMask 31
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.15 PlayItf GetCallbackEventMaskInvalid
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_GetCallbackEventMaskNullParam
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 11.16 PlayItf GetCallbackEventMask
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetCallbackEventMask 31
-ALImpl al_playitf_GetCallbackEventMask 31
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.17 PlayItf SetMarkerPositionInvalid
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_SetMarkerPosition 300000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.18 PlayItf SetMarkerPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetMarkerPosition 10000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.19 PlayItf ClearMarkerPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetMarkerPosition 10000
-ALImpl al_playitf_ClearMarkerPosition
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.20 PlayItf GetMarkerPositionInvalid
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_GetMarkerPositionNullParam
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.21 PlayItf GetMarkerPositionPreConditionViolation
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PRECONDITIONS_VIOLATED
-ALImpl al_playitf_GetMarkerPosition 0
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.22 PlayItf SetGetMarkerPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetMarkerPosition 10000
-ALImpl al_playitf_GetMarkerPosition 10000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.23 PlayItf SetClearGetMarkerPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetMarkerPosition 10000
-ALImpl al_playitf_GetMarkerPosition 10000
-ALImpl al_playitf_ClearMarkerPosition
-allownextresult XA_RESULT_PRECONDITIONS_VIOLATED
-ALImpl al_playitf_GetMarkerPosition 0
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.24 PlayItf SetPositionUpdatePeriod
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPositionUpdatePeriod 10000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.25 PlayItf GetPositionUpdatePeriodInvalid
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_GetPositionUpdatePeriodNullParam 10000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.26 PlayItf GetPositionUpdatePeriod
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_GetPositionUpdatePeriod 1000
-ALImpl al_playitf_SetPositionUpdatePeriod 10000
-ALImpl al_playitf_GetPositionUpdatePeriod 10000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.27 PlayItf PlayEventHeadMoving
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-request Event_XA_PLAYEVENT_HEADMOVING
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADMOVING
-release Event_XA_PLAYEVENT_HEADMOVING
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.28 PlayItf PlayEventHeadAtEnd
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-request Event_XA_PLAYEVENT_HEADATEND
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADATEND
-release Event_XA_PLAYEVENT_HEADATEND
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PAUSED
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.29 PlayItf PlayEventHeadAtMarker
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 2
-ALImpl al_playitf_SetMarkerPosition 3000
-request Event_XA_PLAYEVENT_HEADATMARKER
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADATMARKER
-release Event_XA_PLAYEVENT_HEADATMARKER
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.30 PlayItf PlayEventHeadAtMarkerPlayPausePlay
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 2
-ALImpl al_playitf_SetMarkerPosition 15000
-request Event_XA_PLAYEVENT_HEADATMARKER
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PAUSED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PAUSED
-pause 2000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADATMARKER
-release Event_XA_PLAYEVENT_HEADATMARKER
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.31 PlayItf PlayEventHeadAtNewPos
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 5
-ALImpl al_playitf_SetPositionUpdatePeriod 2000
-request Event_XA_PLAYEVENT_HEADATEND
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADATEND
-release Event_XA_PLAYEVENT_HEADATEND
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.32 PlayItf GetInterafcePlayItfFailure
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-allownextresult XA_RESULT_PRECONDITIONS_VIOLATED
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.33 PlayItf GetInterafcePlayItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.34 PlayItf SetStatePlayStop
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 5000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 11.35 PlayItf SetStatePlayPausePlayStop
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 5000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PAUSED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PAUSED
-pause 2000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 5000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.36 PlayItf SetStatePause
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PAUSED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PAUSED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.37 PlayItf GetState
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.38 PlayItf GetDurationNullParam
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_GetDurationNullParam
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.39 PlayItf GetDuration
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_GetDuration 140000 142000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.40 PlayItf GetPositionNullParam
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_GetPositionNullParam
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.41 PlayItf GetPositionZero
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_GetPosition 0
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.42 PlayItf GetPosition5Sec
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 5000
-ALImpl al_playitf_GetPosition
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.43 PlayItf RegisterCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.44 PlayItf SetCallbackEventMaskInvalid
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_SetCallbackEventMask 32
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.45 PlayItf SetCallbackEventMask
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetCallbackEventMask 31
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.46 PlayItf GetCallbackEventMaskInvalid
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_GetCallbackEventMaskNullParam
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 11.47 PlayItf GetCallbackEventMask
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetCallbackEventMask 31
-ALImpl al_playitf_GetCallbackEventMask 31
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.48 PlayItf SetMarkerPositionInvalid
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_SetMarkerPosition 300000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.49 PlayItf SetMarkerPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetMarkerPosition 10000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.50 PlayItf ClearMarkerPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetMarkerPosition 10000
-ALImpl al_playitf_ClearMarkerPosition
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.51 PlayItf GetMarkerPositionInvalid
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_GetMarkerPositionNullParam
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.52 PlayItf GetMarkerPositionPreConditionViolation
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PRECONDITIONS_VIOLATED
-ALImpl al_playitf_GetMarkerPosition 0
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.53 PlayItf SetGetMarkerPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetMarkerPosition 10000
-ALImpl al_playitf_GetMarkerPosition 10000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.54 PlayItf SetClearGetMarkerPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetMarkerPosition 10000
-ALImpl al_playitf_GetMarkerPosition 10000
-ALImpl al_playitf_ClearMarkerPosition
-allownextresult XA_RESULT_PRECONDITIONS_VIOLATED
-ALImpl al_playitf_GetMarkerPosition 0
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.55 PlayItf SetPositionUpdatePeriod
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPositionUpdatePeriod 10000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.56 PlayItf GetPositionUpdatePeriodInvalid
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-allownextresult XA_RESULT_PARAMETER_INVALID
-ALImpl al_playitf_GetPositionUpdatePeriodNullParam 10000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.58 PlayItf GetPositionUpdatePeriod
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_GetPositionUpdatePeriod 1000
-ALImpl al_playitf_SetPositionUpdatePeriod 10000
-ALImpl al_playitf_GetPositionUpdatePeriod 10000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.60 PlayItf PlayEventHeadMoving
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-request Event_XA_PLAYEVENT_HEADMOVING
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADMOVING
-release Event_XA_PLAYEVENT_HEADMOVING
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.61 PlayItf PlayEventHeadAtEnd
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-request Event_XA_PLAYEVENT_HEADATEND
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADATEND
-release Event_XA_PLAYEVENT_HEADATEND
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PAUSED
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 11.62 PlayItf PlayEventHeadAtMarker
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 2
-ALImpl al_playitf_SetMarkerPosition 3000
-request Event_XA_PLAYEVENT_HEADATMARKER
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADATMARKER
-release Event_XA_PLAYEVENT_HEADATMARKER
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-//[Test]
-//title 11.63 PlayItf PlayEventHeadAtMarkerPlayPausePlay
-//create openmaxaltestmodule ALImpl
-//ALImpl al_createEngine 1 1 0 0
-//ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-//ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-//ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-//ALImpl al_SetDataFormat 1 vdieo/3gp 17
-//ALImpl al_SetDataSource 1 1 1
-//ALImpl al_SetDataSink 3 6 1
-//ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-//ALImpl al_SetDataSink 5 3 2
-//ALImpl al_engitf_CreateMediaPlayer 0
-//ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-//ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-//ALImpl al_playitf_RegisterCallback
-//ALImpl al_playitf_SetCallbackEventMask 2
-//ALImpl al_playitf_SetMarkerPosition 15000
-//request Event_XA_PLAYEVENT_HEADATMARKER
-//ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-//ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-//pause 10000
-//ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PAUSED
-//ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PAUSED
-//pause 2000
-//ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-//ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-//wait Event_XA_PLAYEVENT_HEADATMARKER
-//release Event_XA_PLAYEVENT_HEADATMARKER
-//ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-//ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-//ALImpl al_objitf_Destroy MO_PLAYER
-//ALImpl al_objitf_Destroy MO_ENGINE
-//ALImpl al_DeleteWindow
-//delete ALImpl
-//[Endtest]
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_preemption.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-[Test]
-title 12.1 PlayItf AudioPreemption
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-request Event_XA_OBJECT_EVENT_RESOURCES_LOST
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_OBJECT_EVENT_RESOURCES_LOST
-release Event_XA_OBJECT_EVENT_RESOURCES_LOST
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PAUSED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 12.2 PlayItf VideoPreemption
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow 0 0 WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-request Event_XA_OBJECT_EVENT_RESOURCES_LOST
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_OBJECT_EVENT_RESOURCES_LOST
-release Event_XA_OBJECT_EVENT_RESOURCES_LOST
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PAUSED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_seekitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 12.1 SeekItf SetPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_SEEK
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_SEEK
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 15000
-ALImpl al_seekitf_SetPosition 10000 1
-pause 15000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 12.2 SeekItf SetLoop
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_SEEK
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_SEEK
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-ALImpl al_seekitf_SetLoop 1 10000 20000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 35000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 12.3 SeekItf GetLoop
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_SEEK
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_SEEK
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-ALImpl al_seekitf_SetLoop 1 10000 20000
-ALImpl al_seekitf_GetLoop
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 25000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 12.4 SeekItf SetPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer  1 XA_IID_SEEK
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_SEEK
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_seekitf_SetPosition 60000 1
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 12.5 SeekItf SetLoop
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer  1 XA_IID_SEEK
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_SEEK
-ALImpl al_playitf_RegisterCallback
-ALImpl al_playitf_SetCallbackEventMask 31
-allownextresult 13
-ALImpl al_seekitf_SetLoop 1 10000 20000
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_streaming.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-[Test]
-title 22.1 PlayItf RTSP
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 rtsp:\/\/10.48.2.51/Copyright_Free_Test_Content/Clips/Video/3GP/176x144/h263/h263_176x144_15fps_384kbps_AAC-LC_128kbps_mono_44.1kHz.3gp
-ALImpl al_SetDataFormat 1 video/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 20000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 22.2 PlayItf RTSPU
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 rtspu:\/\/10.48.2.56/WMTest/192k_WMV9_VBR_CIF_WMA9_60fps.wmv
-ALImpl al_SetDataFormat 1 audio/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 40000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 22.3 PlayItf RTSPT
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 rtspt:\/\/10.48.2.56/WMTest/128k_WMV9_VBR_QCIF_WMA9_30fps.wmv
-ALImpl al_SetDataFormat 1 audio/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 20000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 22.4 PlayItf MMS
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 mms:\/\/10.48.2.56:443/WMTest/128k_WMV9_VBR_QCIF_WMA9_30fps.wmv
-ALImpl al_SetDataFormat 1 audio/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 20000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 22.5 PlayItf HTTP
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 http:\/\/10.48.2.51/Copyright_Free_Test_Content/Clips/Video/3GP/176x144/mpeg4/mpeg4_176x144_15fps_384kbps_AAC-LC_128kbps_mono_44.1kHz.3gp
-ALImpl al_SetDataFormat 1 audio/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 20000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_strminfoitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 14.1 StrmInfoItf QueryMediaContainerInformation
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_QueryMediaContainerInformation
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.2 StrmInfoItf QueryStreamType
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_QueryStreamType 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.3 StrmInfoItf QueryStreamInformation
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_QueryStreamInformation 1 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.4 StrmInfoItf QueryStreamName
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_QueryStreamName 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.5 StrmInfoItf RegisterStreamChangeCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_RegisterStreamChangeCallback
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.6 StrmInfoItf QueryActiveStreams
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_QueryActiveStreams
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.7 StrmInfoItf SetActiveStream
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.mp3
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-allownextresult XA_RESULT_FEATURE_UNSUPPORTED KErrNotSupported
-ALImpl al_strminfoitf_SetActiveStream 1 1 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.8 StrmInfoItf QueryMediaContainerInformation
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_QueryMediaContainerInformation
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.9 StrmInfoItf QueryStreamType
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_QueryStreamType 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.10 StrmInfoItf QueryStreamInformation
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_QueryStreamInformation 1 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.11 StrmInfoItf QueryStreamName
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_QueryStreamName 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.12 StrmInfoItf RegisterStreamChangeCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_RegisterStreamChangeCallback
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.13 StrmInfoItf QueryActiveStreams
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-ALImpl al_strminfoitf_QueryActiveStreams
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 14.14 StrmInfoItf SetActiveStream
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.3gp
-ALImpl al_SetDataFormat 1 video/3gp 23
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 1 XA_IID_STREAMINFORMATION
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_STREAMINFORMATION
-allownextresult XA_RESULT_FEATURE_UNSUPPORTED KErrNotSupported
-ALImpl al_strminfoitf_SetActiveStream 1 1 1
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mp_variousformats.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,800 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-[Test]
-title 21.1 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.wav
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.2 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.wav
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.3 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/128k_H264_AAC24M22_320x240_15fps.3gp
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.4 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/128k_H264_AAC24M22_320x240_15fps.3gp
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.5 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/145k_H263_NB12_352x288_15fps.3gp
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.6 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/145k_H263_NB12_352x288_15fps.3gp
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.7 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/200k_RV9_COOK21_320x240_15fps.rm
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.8 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/200k_RV9_COOK21_320x240_15fps.rm
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.9 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/30k_MPEG4_AAC_352x288_15fps.3gp
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.10 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/30k_MPEG4_AAC_352x288_15fps.3gp
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.11 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/30s_MID_Generic.mid
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.12 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/30s_MID_Generic.mid
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.13 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/384k_CBR_WMV9_CBR_WMA9_CIF_15fps.wmv
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.14 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/384k_CBR_WMV9_CBR_WMA9_CIF_15fps.wmv
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.15 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/3GP_AAC+_8kbps_16khz_mono.3gp
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.16 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/3GP_AAC+_8kbps_16khz_mono.3gp
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.17 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/3gp_AAC-LC_16kbps_24kHz_mono.3gp
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.18 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/3gp_AAC-LC_16kbps_24kHz_mono.3gp
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.19 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/3Mbps_864x480_25fps_AAC_128_short.MP4
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.20 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/3Mbps_864x480_25fps_AAC_128_short.MP4
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.21 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/768Kbps_H264_VGA_24fps_AAC44_128kbps.MKV
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.22 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/768Kbps_H264_VGA_24fps_AAC44_128kbps.MKV
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.23 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/AAC_LC_16kbps_8khz_mono.aac
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.24 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/AAC_LC_16kbps_8khz_mono.aac
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.25 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/AMR-WB-23kb.awb
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.26 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/AMR-WB-23kb.awb
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.27 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/AMR_NB_12.2kbps.amr
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.28 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/AMR_NB_12.2kbps.amr
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.29 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/DivX_MP3_1MBps_320X240_25fps.avi
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.30 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/DivX_MP3_1MBps_320X240_25fps.avi
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.31 PlayItf Play10SecWithAudioSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/MP4_24kbps_16khz_mono.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 9
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.32 PlayItf Play10SecWithAudioVideoSink
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_SetDataLocator 1 file:/\/\/f:/testing/data/omxaltestdata/MP4_24kbps_16khz_mono.mp4
-ALImpl al_SetDataFormat 1 vdieo/3gp 17
-ALImpl al_SetDataSource 1 1 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_CreateWindow WinPtX WinPtY WinTopLeft WinTopRight WinBotLeft WinBotRight
-ALImpl al_SetDataSink 5 3 2
-ALImpl al_engitf_CreateMediaPlayer 0
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_PLAY
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_PLAYING
-pause 10000
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_playitf_GetPlayState XA_PLAYSTATE_STOPPED
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-ALImpl al_DeleteWindow
-delete ALImpl
-[Endtest]
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-// IID numbers for interfaces to mention during object creation
-//	 XA_IID_NULL                    	1
-//	 XA_IID_OBJECT                    	2
-//	 XA_IID_CONFIGEXTENSION             3
-//	 XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//	 XA_IID_ENGINE                    	5
-//	 XA_IID_THREADSYNC                  6
-//	 XA_IID_PLAY                    	7
-//	 XA_IID_PLAYBACKRATE                8
-//	 XA_IID_PREFETCHSTATUS              9
-//	 XA_IID_SEEK                    	10
-//	 XA_IID_VOLUME                    	11
-//	 XA_IID_IMAGECONTROLS               12
-//	 XA_IID_IMAGEEFFECTS                13
-//	 XA_IID_VIDEOPOSTPROCESSING         14
-//	 XA_IID_RECORD                    	15
-//	 XA_IID_SNAPSHOT                    16
-//	 XA_IID_METADATAEXTRACTION          17
-//	 XA_IID_METADATAINSERTION           18
-//	 XA_IID_METADATATRAVERSAL           19
-//	 XA_IID_DYNAMICSOURCE               20
-//	 XA_IID_CAMERACAPABILITIES          21
-//	 XA_IID_CAMERA                    	22
-//	 XA_IID_AUDIOIODEVICECAPABILITIES   23
-//	 XA_IID_DEVICEVOLUME                24
-//	 XA_IID_EQUALIZER                   25
-//	 XA_IID_OUTPUTMIX                   26
-//	 XA_IID_RADIO                    	27
-//	 XA_IID_RDS                         28
-//	 XA_IID_VIBRA                    	29
-//	 XA_IID_LED                         30
-//	 XA_IID_AUDIODECODERCAPABILITIES    31
-//	 XA_IID_AUDIOENCODER                32
-//	 XA_IID_AUDIOENCODERCAPABILITIES    33
-//	 XA_IID_IMAGEENCODERCAPABILITIES    34
-//	 XA_IID_IMAGEDECODERCAPABILITIES    35
-//	 XA_IID_IMAGEENCODER                36
-//	 XA_IID_VIDEODECODERCAPABILITIES    37
-//	 XA_IID_VIDEOENCODER                38
-//	 XA_IID_VIDEOENCODERCAPABILITIES    39
-//	 XA_IID_STREAMINFORMATION           40
-
-
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 25.1 MediaRecorder CreateAudioMediaRecorder
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 25.2 MediaRecorder QueryNumSupportedInterfaces
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_engitf_QueryNumSupportedInterfaces 5
-ALImpl al_engitf_QueryNumSupportedInterfaces 1
-ALImpl al_objitf_Destroy MO_RECORDER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 25.3 MediaRecorder QuerySupportedInterfaces
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_engitf_QuerySupportedInterfaces 5 0
-ALImpl al_objitf_Destroy MO_RECORDER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 25.4 MediaRecorder DynItf AddItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize MO_RECORDER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 0
-ALImpl al_dimitf_RemoveInterface 18 
-ALImpl al_objitf_Destroy MO_RECORDER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 25.5 MediaRecorder Resume Itf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize MO_RECORDER XA_BOOLEAN_FALSE
-allownextresult 1
-ALImpl al_objitf_Resume 5 0
-ALImpl al_objitf_Destroy MO_RECORDER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 25.6 MediaRecorder DynItf AddItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize MO_RECORDER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_ResumeInterface 18 0
-ALImpl al_dimitf_RemoveInterface 18 
-ALImpl al_objitf_Destroy MO_RECORDER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_audioencoderitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-// IID numbers for interfaces to mention during object creation
-//	 XA_IID_NULL                    	1
-//	 XA_IID_OBJECT                    	2
-//	 XA_IID_CONFIGEXTENSION             3
-//	 XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//	 XA_IID_ENGINE                    	5
-//	 XA_IID_THREADSYNC                  6
-//	 XA_IID_PLAY                    	7
-//	 XA_IID_PLAYBACKRATE                8
-//	 XA_IID_PREFETCHSTATUS              9
-//	 XA_IID_SEEK                    	10
-//	 XA_IID_VOLUME                    	11
-//	 XA_IID_IMAGECONTROLS               12
-//	 XA_IID_IMAGEEFFECTS                13
-//	 XA_IID_VIDEOPOSTPROCESSING         14
-//	 XA_IID_RECORD                    	15
-//	 XA_IID_SNAPSHOT                    16
-//	 XA_IID_METADATAEXTRACTION          17
-//	 XA_IID_METADATAINSERTION           18
-//	 XA_IID_METADATATRAVERSAL           19
-//	 XA_IID_DYNAMICSOURCE               20
-//	 XA_IID_CAMERACAPABILITIES          21
-//	 XA_IID_CAMERA                    	22
-//	 XA_IID_AUDIOIODEVICECAPABILITIES   23
-//	 XA_IID_DEVICEVOLUME                24
-//	 XA_IID_EQUALIZER                   25
-//	 XA_IID_OUTPUTMIX                   26
-//	 XA_IID_RADIO                    	27
-//	 XA_IID_RDS                         28
-//	 XA_IID_VIBRA                    	29
-//	 XA_IID_LED                         30
-//	 XA_IID_AUDIODECODERCAPABILITIES    31
-//	 XA_IID_AUDIOENCODER                32
-//	 XA_IID_AUDIOENCODERCAPABILITIES    33
-//	 XA_IID_IMAGEENCODERCAPABILITIES    34
-//	 XA_IID_IMAGEDECODERCAPABILITIES    35
-//	 XA_IID_IMAGEENCODER                36
-//	 XA_IID_VIDEODECODERCAPABILITIES    37
-//	 XA_IID_VIDEOENCODER                38
-//	 XA_IID_VIDEOENCODERCAPABILITIES    39
-//	 XA_IID_STREAMINFORMATION           40
-
-[Test]
-title 7.1 AudioEncoderItf GetEncoderSettings
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record7_1.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_GetEncoderSettings
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 7.2 AudioEncoderItf SetEncoderSettings
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record7_2.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 2 2 44100 128 8 1 0 0 0 0 0 0
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 7.3 AudioEncoderItf GetEncoderSettings AMR
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record7_3.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_GetEncoderSettings
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 7.4 AudioEncoderItf SetEncoderSettings AMR
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record7_4.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 3 2 2 44100 128 8 1 0 0 0 0 0 0
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 7.5 AudioEncoderItf GetEncoderSettings AAC
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record7_5.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_GetEncoderSettings
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 7.6 AudioEncoderItf SetEncoderSettings AAC
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record7_6.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100 128 8 1 0 0 0 0 0 0
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_mdinsertionitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,309 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-// IID numbers for interfaces to mention during object creation
-//	 XA_IID_NULL                    	1
-//	 XA_IID_OBJECT                    	2
-//	 XA_IID_CONFIGEXTENSION             3
-//	 XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//	 XA_IID_ENGINE                    	5
-//	 XA_IID_THREADSYNC                  6
-//	 XA_IID_PLAY                    	7
-//	 XA_IID_PLAYBACKRATE                8
-//	 XA_IID_PREFETCHSTATUS              9
-//	 XA_IID_SEEK                    	10
-//	 XA_IID_VOLUME                    	11
-//	 XA_IID_IMAGECONTROLS               12
-//	 XA_IID_IMAGEEFFECTS                13
-//	 XA_IID_VIDEOPOSTPROCESSING         14
-//	 XA_IID_RECORD                    	15
-//	 XA_IID_SNAPSHOT                    16
-//	 XA_IID_METADATAEXTRACTION          17
-//	 XA_IID_METADATAINSERTION           18
-//	 XA_IID_METADATATRAVERSAL           19
-//	 XA_IID_DYNAMICSOURCE               20
-//	 XA_IID_CAMERACAPABILITIES          21
-//	 XA_IID_CAMERA                    	22
-//	 XA_IID_AUDIOIODEVICECAPABILITIES   23
-//	 XA_IID_DEVICEVOLUME                24
-//	 XA_IID_EQUALIZER                   25
-//	 XA_IID_OUTPUTMIX                   26
-//	 XA_IID_RADIO                    	27
-//	 XA_IID_RDS                         28
-//	 XA_IID_VIBRA                    	29
-//	 XA_IID_LED                         30
-//	 XA_IID_AUDIODECODERCAPABILITIES    31
-//	 XA_IID_AUDIOENCODER                32
-//	 XA_IID_AUDIOENCODERCAPABILITIES    33
-//	 XA_IID_IMAGEENCODERCAPABILITIES    34
-//	 XA_IID_IMAGEDECODERCAPABILITIES    35
-//	 XA_IID_IMAGEENCODER                36
-//	 XA_IID_VIDEODECODERCAPABILITIES    37
-//	 XA_IID_VIDEOENCODER                38
-//	 XA_IID_VIDEOENCODERCAPABILITIES    39
-//	 XA_IID_STREAMINFORMATION           40
-
-[Test]
-title 6.1 MetadataInsertionItf CreateChildNode
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 0 
-ALImpl al_objitf_GetInterface 5 18
-allownextresult 12 0
-ALImpl al_metadatainsertionitf_CreateChildNode 2147483647 2 audio/amr
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 6.2 MetadataInsertionItf GetSupportedKeysCount
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 0 
-ALImpl al_objitf_GetInterface 5 18
-allownextresult 2 0
-ALImpl al_metadatainsertionitf_GetSupportedKeysCount 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 6.3 MetadataInsertionItf GetKeySize
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 0 
-ALImpl al_objitf_GetInterface 5 18
-allownextresult 2 0
-ALImpl al_metadatainsertionitf_GetKeySize 1 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 6.4 MetadataInsertionItf GetKey
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 0 
-ALImpl al_objitf_GetInterface 5 18
-allownextresult 2 0
-ALImpl al_metadatainsertionitf_GetKey 1 1 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 6.5 MetadataInsertionItf GetFreeKeysEncoding
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 0 
-ALImpl al_objitf_GetInterface 5 18
-allownextresult 2 1
-ALImpl al_metadatainsertionitf_GetFreeKeysEncoding 1 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 6.6 MetadataInsertionItf InsertMetadataItem
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 0 
-ALImpl al_objitf_GetInterface 5 18
-allownextresult 12 2
-ALImpl al_metadatainsertionitf_InsertMetadataItem 1 2 3 english 4 5 chinese 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 6.7 MetadataInsertionItf RegisterCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 0 
-ALImpl al_objitf_GetInterface 5 18
-ALImpl al_metadatainsertionitf_RegisterCallback
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 6.8 MetadataInsertionItf DynItfMgmt
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 0
-ALImpl al_objitf_GetInterface 5 18
-ALImpl al_dimitf_RegisterCallback
-ALImpl al_dimitf_RemoveInterface 18  
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 6.9 MetadataInsertionItf RegisterCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 1 
-ALImpl al_objitf_GetInterface 5 18
-ALImpl al_metadatainsertionitf_RegisterCallback
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 6.11 MetadataInsertionItf DynItf ASyncResume
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 0
-ALImpl al_objitf_GetInterface 5 18
-ALImpl al_dimitf_ResumeInterface 18 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 6.12 MetadataInsertionItf DynItf Resume
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/test.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 4
-ALImpl al_dimitf_AddInterface 18 0
-ALImpl al_objitf_GetInterface 5 18
-allownextresult 1
-ALImpl al_dimitf_ResumeInterface 18 0
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_record_aac_au_p2.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1317 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-
-[Test]
-title 81.105 Mp4 recording at Br192k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr48k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-###-#-------11025---------
-
-[Test]
-title 81.106 Mp4 recording at Br32k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr11025k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.107 Mp4 recording at Br32k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr11025k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.108 Mp4 recording at Br64k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr11025k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.109 Mp4 recording at Br64k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr11025k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.110 Mp4 recording at Br96k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr11025k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.111 Mp4 recording at Br96k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr11025k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.112 Mp4 recording at Br128k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr11025k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.113 Mp4 recording at Br128k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr11025k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 81.114 Mp4 recording at Br160k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr11025k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.115 Mp4 recording at Br160k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr11025k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 81.116 Mp4 recording at Br192k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr11025k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.117 Mp4 recording at Br192k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr11025k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 81.118 Mp4 recording at Br224k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr11025k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.119 Mp4 recording at Br224k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr11025k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-[Test]
-title 81.120 Mp4 recording at Br256k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr11025k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.121 Mp4 recording at Br256k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr11025k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-####-#------22050-----------
-
-[Test]
-title 81.122 Mp4 recording at Br32k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr22050k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.123 Mp4 recording at Br32k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr22050k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.124 Mp4 recording at Br64k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr22050k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.125 Mp4 recording at Br64k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr22050k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.126 Mp4 recording at Br96k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr22050k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.127 Mp4 recording at Br96k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr22050k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.128 Mp4 recording at Br128k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr22050k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.129 Mp4 recording at Br128k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr22050k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 81.130 Mp4 recording at Br160k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr22050k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.131 Mp4 recording at Br160k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr22050k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 81.132 Mp4 recording at Br192k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr22050k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.133 Mp4 recording at Br192k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr22050k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 81.134 Mp4 recording at Br224k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr22050k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.135 Mp4 recording at Br224k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr22050k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-[Test]
-title 81.136 Mp4 recording at Br256k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr22050k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.137 Mp4 recording at Br256k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr22050k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-#####-#-----------44100--------------
-
-[Test]
-title 81.138 Mp4 recording at Br32k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr44100k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.139 Mp4 recording at Br32k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr44100k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.140 Mp4 recording at Br64k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr44100k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.141 Mp4 recording at Br64k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr44100k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.142 Mp4 recording at Br96k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr44100k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.143 Mp4 recording at Br96k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr44100k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.144 Mp4 recording at Br128k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr44100k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.145 Mp4 recording at Br128k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr44100k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 81.146 Mp4 recording at Br160k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr44100k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.147 Mp4 recording at Br160k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr44100k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 81.148 Mp4 recording at Br192k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr44100k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.149 Mp4 recording at Br192k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr44100k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 81.150 Mp4 recording at Br224k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr44100k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.151 Mp4 recording at Br224k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr44100k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-[Test]
-title 81.152 Mp4 recording at Br256k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr44100k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.153 Mp4 recording at Br256k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr44100k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_record_aac_he_p2.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1317 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-/*
-[Test]
-title 82.105 Mp4 HE  recording at Br192k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr48k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-###-#-------11025---------
-
-[Test]
-title 82.106 Mp4 HE  recording at Br32k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr11025k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.107 Mp4 HE  recording at Br32k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr11025k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.108 Mp4 HE  recording at Br64k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr11025k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.109 Mp4 HE  recording at Br64k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr11025k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.110 Mp4 HE  recording at Br96k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr11025k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.111 Mp4 HE  recording at Br96k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr11025k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.112 Mp4 HE  recording at Br128k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr11025k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.113 Mp4 HE  recording at Br128k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr11025k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.114 Mp4 HE  recording at Br160k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr11025k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.115 Mp4 HE  recording at Br160k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr11025k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.116 Mp4 HE  recording at Br192k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr11025k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.117 Mp4 HE  recording at Br192k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr11025k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.118 Mp4 HE  recording at Br224k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr11025k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.119 Mp4 HE  recording at Br224k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr11025k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-[Test]
-title 82.120 Mp4 HE  recording at Br256k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr11025k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.121 Mp4 HE  recording at Br256k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr11025k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-####-#------22050-----------
-
-[Test]
-title 82.122 Mp4 HE  recording at Br32k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr22050k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.123 Mp4 HE  recording at Br32k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr22050k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.124 Mp4 HE  recording at Br64k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr22050k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.125 Mp4 HE  recording at Br64k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr22050k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.126 Mp4 HE  recording at Br96k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr22050k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.127 Mp4 HE  recording at Br96k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr22050k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.128 Mp4 HE  recording at Br128k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr22050k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-*/
-
-[Test]
-title 82.129 Mp4 HE  recording at Br128k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr22050k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.130 Mp4 HE  recording at Br160k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr22050k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.131 Mp4 HE  recording at Br160k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr22050k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.132 Mp4 HE  recording at Br192k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr22050k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.133 Mp4 HE  recording at Br192k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr22050k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.134 Mp4 HE  recording at Br224k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr22050k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.135 Mp4 HE  recording at Br224k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr22050k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-[Test]
-title 82.136 Mp4 HE  recording at Br256k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr22050k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.137 Mp4 HE  recording at Br256k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr22050k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-#####-#-----------44100--------------
-
-[Test]
-title 82.138 Mp4 HE  recording at Br32k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr44100k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.139 Mp4 HE  recording at Br32k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr44100k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.140 Mp4 HE  recording at Br64k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr44100k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.141 Mp4 HE  recording at Br64k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr44100k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.142 Mp4 HE  recording at Br96k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr44100k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.143 Mp4 HE  recording at Br96k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr44100k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.144 Mp4 HE  recording at Br128k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr44100k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.145 Mp4 HE  recording at Br128k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr44100k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.146 Mp4 HE  recording at Br160k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr44100k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.147 Mp4 HE  recording at Br160k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr44100k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.148 Mp4 HE  recording at Br192k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr44100k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.149 Mp4 HE  recording at Br192k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr44100k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.150 Mp4 HE  recording at Br224k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr44100k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.151 Mp4 HE  recording at Br224k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr44100k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-[Test]
-title 82.152 Mp4 HE  recording at Br256k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr44100k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.153 Mp4 HE  recording at Br256k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr44100k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1277 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-// IID numbers for interfaces to mention during object creation
-//	 XA_IID_NULL                    	1
-//	 XA_IID_OBJECT                    	2
-//	 XA_IID_CONFIGEXTENSION             3
-//	 XA_IID_DYNAMICINTERFACEMANAGEMENT  4
-//	 XA_IID_ENGINE                    	5
-//	 XA_IID_THREADSYNC                  6
-//	 XA_IID_PLAY                    	7
-//	 XA_IID_PLAYBACKRATE                8
-//	 XA_IID_PREFETCHSTATUS              9
-//	 XA_IID_SEEK                    	10
-//	 XA_IID_VOLUME                    	11
-//	 XA_IID_IMAGECONTROLS               12
-//	 XA_IID_IMAGEEFFECTS                13
-//	 XA_IID_VIDEOPOSTPROCESSING         14
-//	 XA_IID_RECORD                    	15
-//	 XA_IID_SNAPSHOT                    16
-//	 XA_IID_METADATAEXTRACTION          17
-//	 XA_IID_METADATAINSERTION           18
-//	 XA_IID_METADATATRAVERSAL           19
-//	 XA_IID_DYNAMICSOURCE               20
-//	 XA_IID_CAMERACAPABILITIES          21
-//	 XA_IID_CAMERA                    	22
-//	 XA_IID_AUDIOIODEVICECAPABILITIES   23
-//	 XA_IID_DEVICEVOLUME                24
-//	 XA_IID_EQUALIZER                   25
-//	 XA_IID_OUTPUTMIX                   26
-//	 XA_IID_RADIO                    	27
-//	 XA_IID_RDS                         28
-//	 XA_IID_VIBRA                    	29
-//	 XA_IID_LED                         30
-//	 XA_IID_AUDIODECODERCAPABILITIES    31
-//	 XA_IID_AUDIOENCODER                32
-//	 XA_IID_AUDIOENCODERCAPABILITIES    33
-//	 XA_IID_IMAGEENCODERCAPABILITIES    34
-//	 XA_IID_IMAGEDECODERCAPABILITIES    35
-//	 XA_IID_IMAGEENCODER                36
-//	 XA_IID_VIDEODECODERCAPABILITIES    37
-//	 XA_IID_VIDEOENCODER                38
-//	 XA_IID_VIDEOENCODERCAPABILITIES    39
-//	 XA_IID_STREAMINFORMATION           40
-
-[Test]
-title 8.1 RecordItf SetRecordState
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record8_1_default.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.2 RecordItf GetRecordState
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_GetRecordState
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.3 RecordItf SetDurationLimit
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetDurationLimit 100000
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]  
-
-[Test]
-title 8.4 RecordItf GetPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_GetPosition
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.5 RecordItf RegisterCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_RegisterCallback
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.6 RecordItf SetCallbackEventsMask
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.7 RecordItf GetCallbackEventsMask
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_GetCallbackEventsMask
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.8 RecordItf SetMarkerPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetMarkerPosition 1000
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.9 RecordItf ClearMarkerPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetMarkerPosition 1000
-ALImpl al_recorditf_ClearMarkerPosition
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.10 RecordItf SetMarkerPosition
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetMarkerPosition 1000
-ALImpl al_recorditf_GetMarkerPosition
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.11 RecordItf SetPositionUpdatePeriod
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetPositionUpdatePeriod 1000
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.12 RecordItf GetPositionUpdatePeriod
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetPositionUpdatePeriod 1000
-ALImpl al_recorditf_GetPositionUpdatePeriod
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.13 RecordItf SetRecordState AMR
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_8_13_default.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-
-[Test]
-title 8.14 RecordItf SetRecordState MP4
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record8_14_default.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-
-
-[Test]
-title 8.15 WAV Set Record-PAUSE-record-stop State 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record8_15.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-pause 2000
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.16 WAV Set settings State-recording 48 Khz
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record8_16.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 2 2 48000000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 2
-pause 2000
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.17 WAV Set settings Record-PAUSE-record-stop State 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record8_17.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-pause 2000
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.18 AMR Br 4750 RecordItf Set Setting 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_BR4750.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 3 1 1 8000000 4750 8 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-pause 3000
-ALImpl al_recorditf_SetRecordState 3
-pause 3000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.19 AMR Br 5150 RecordItf Set Setting
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_BR5150.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 3 1 1 8000000 5150 8 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-pause 3000
-ALImpl al_recorditf_SetRecordState 3
-pause 3000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.20 AMR Br 5900 RecordItf Set Setting
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_BR5900.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 3 1 1 8000000 5900 8 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-pause 3000
-ALImpl al_recorditf_SetRecordState 3
-pause 3000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.21 AMR Br 6700 RecordItf Set Setting
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_BR6700.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 3 1 1 8000000 6700 8 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-pause 3000
-ALImpl al_recorditf_SetRecordState 3
-pause 3000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.22 AMR Br 7400 RecordItf Set Setting
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_BR7400.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 3 1 1 8000000 7400 8 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-pause 3000
-ALImpl al_recorditf_SetRecordState 3
-pause 3000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.23 AMR Br 7950 RecordItf Set Setting
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_BR7950.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 3 1 1 8000000 7950 8 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-pause 3000
-ALImpl al_recorditf_SetRecordState 3
-pause 3000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.24 AMR Br 10200 RecordItf Set Setting
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_BR10200.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 3 1 1 8000000 10200 8 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-pause 3000
-ALImpl al_recorditf_SetRecordState 3
-pause 3000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.25 AMR Br 12200 RecordItf Set Setting
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_BR12200.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 3 1 1 8000000 12200 8 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-pause 3000
-ALImpl al_recorditf_SetRecordState 3
-pause 3000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.26 WAV recording at 8k
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_8k.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 1 1 8000000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.27 WAV recording at 16Khz
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_16k.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 1 1 16000000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.28 WAV recording at 32Khz
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_32k.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 1 1 32000000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.29 WAV recording at 96khz
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_96k.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 1 1 96000000 0 16 1 0 0 0 0 0 1234
-allownextresult 13
-ALImpl al_recorditf_SetRecordState 3
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.30 WAV recording at 8khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_8k_stereo.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 2 2 8000000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.31 WAV recording at 16Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_16k_stereo.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 2 2 16000000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.32 WAV recording at 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_32k_stereo.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 2 2 32000000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.33 WAV recording at 96khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_96k_stereo.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 2 2 96000000 0 16 1 0 0 0 0 0 1234
-allownextresult 13
-ALImpl al_recorditf_SetRecordState 3
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.34 WAV recording at 48khz
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_48k.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 1 1 48000000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.35 WAV recording at 48khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_48k_stereo.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 2 2 48000000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.36 Mp4 recording at Br32k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr8k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.37 Mp4 recording at Br32k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr8k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.38 Mp4 recording at Br128k Sr16Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr16k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.39 Mp4 recording at Br128k Sr16Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr16k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.40 Mp4 recording at Br192k Sr32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr32k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.41 Mp4 recording at Br192k Sr32Khz  Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr32k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.42 Mp4 recording at Br256k Sr48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr48k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.43 Mp4 recording at Br256k Sr48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr48k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.42 Mp4 recording at Br16k Sr8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br16k_Sr8k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 16000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.43 WAV RecordItf Set pause-stop-Record RecordState 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_8_43.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 2
-pause 3000
-ALImpl al_recorditf_SetRecordState 1
-pause 2000
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.44 AMR  Set pause-stop-Record RecordState RecordItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_8_44.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 2
-pause 3000
-ALImpl al_recorditf_SetRecordState 1
-pause 2000
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.45 MP4 Set pause-stop-play RecordState RecordItf 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_8_45.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 2
-pause 3000
-ALImpl al_recorditf_SetRecordState 1
-pause 2000
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.46 WAV Set , Get Settings then Check RecordItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_8_46.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 2 2 16000000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-ALImpl al_audioencoderitf_GetEncoderSettings check 13 1 2 2 16000000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf_aac_auto.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1274 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-
-
-[Test]
-title 81.52 Mp4 recording at Br96k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr8k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.53 Mp4 recording at Br96k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr8k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.54 Mp4 recording at Br128k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr8k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.55 Mp4 recording at Br128k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr8k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.56 Mp4 recording at Br160k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr8k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.57 Mp4 recording at Br160k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr8k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.58 Mp4 recording at Br192k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr8k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.59 Mp4 recording at Br192k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr8k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.60 Mp4 recording at Br224k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr8k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.61 Mp4 recording at Br224k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr8k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.62 Mp4 recording at Br256k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr8k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.63 Mp4 recording at Br256k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr8k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-#--------------------
-
-[Test]
-title 81.64 Mp4 recording at Br64k Sr 16Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr16k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.65 Mp4 recording at Br64k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr16k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.66 Mp4 recording at Br96k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr16k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.67 Mp4 recording at Br96k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr16k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.68 Mp4 recording at Br32k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr16k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.69 Mp4 recording at Br32k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr16k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.70 Mp4 recording at Br160k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr16k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.71 Mp4 recording at Br160k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr16k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.72 Mp4 recording at Br192k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr16k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.73 Mp4 recording at Br192k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr16k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.74 Mp4 recording at Br224k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr16k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.75 Mp4 recording at Br224k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr16k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.76 Mp4 recording at Br256k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr16k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.77 Mp4 recording at Br256k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr16k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-#-#-----------------------------
-
-[Test]
-title 81.78 Mp4 recording at Br64k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr32k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.79 Mp4 recording at Br64k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr32k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.80 Mp4 recording at Br96k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr32k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.81 Mp4 recording at Br96k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr32k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.82 Mp4 recording at Br32k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr32k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.83 Mp4 recording at Br32k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr32k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.84 Mp4 recording at Br160k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr32k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.85 Mp4 recording at Br160k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr32k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.86 Mp4 recording at Br128k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr32k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.87 Mp4 recording at Br128k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr32k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.88 Mp4 recording at Br224k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr32k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.89 Mp4 recording at Br224k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr32k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.90 Mp4 recording at Br256k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr32k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.91 Mp4 recording at Br256k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr32k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-##-#----48k--------------
-
-[Test]
-title 81.92 Mp4 recording at Br64k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr48k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.93 Mp4 recording at Br64k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr48k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.94 Mp4 recording at Br96k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr48k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.95 Mp4 recording at Br96k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr48k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 96000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.96 Mp4 recording at Br32k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr48k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.97 Mp4 recording at Br32k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr48k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.98 Mp4 recording at Br160k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr48k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.99 Mp4 recording at Br160k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr48k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 160000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf_aac_he.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1331 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-/*
-[Test]
-title 82.43 Mp4 HE  recording at Br256k Sr48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr48k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-[Test]
-title 82.50 Mp4 HE  recording at Br64k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr8k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.51 Mp4 HE  recording at Br64k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr8k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.52 Mp4 HE  recording at Br96k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr8k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.53 Mp4 HE  recording at Br96k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr8k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.54 Mp4 HE  recording at Br128k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr8k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.55 Mp4 HE  recording at Br128k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr8k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.56 Mp4 HE  recording at Br160k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr8k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.57 Mp4 HE  recording at Br160k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr8k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.58 Mp4 HE  recording at Br192k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr8k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.59 Mp4 HE  recording at Br192k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr8k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.60 Mp4 HE  recording at Br224k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr8k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.61 Mp4 HE  recording at Br224k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr8k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.62 Mp4 HE  recording at Br256k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr8k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.63 Mp4 HE  recording at Br256k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr8k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-#--------------------
-
-[Test]
-title 82.64 Mp4 HE  recording at Br64k Sr 16Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr16k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.65 Mp4 HE  recording at Br64k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr16k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.66 Mp4 HE  recording at Br96k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr16k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.67 Mp4 HE  recording at Br96k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr16k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.68 Mp4 HE  recording at Br32k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr16k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.69 Mp4 HE  recording at Br32k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr16k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.70 Mp4 HE  recording at Br160k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr16k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.71 Mp4 HE  recording at Br160k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr16k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.72 Mp4 HE  recording at Br192k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr16k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.73 Mp4 HE  recording at Br192k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr16k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.74 Mp4 HE  recording at Br224k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr16k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.75 Mp4 HE  recording at Br224k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr16k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.76 Mp4 HE  recording at Br256k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr16k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.77 Mp4 HE  recording at Br256k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr16k_str_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-#-#-----------------------------
-
-[Test]
-title 82.78 Mp4 HE  recording at Br64k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr32k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.79 Mp4 HE  recording at Br64k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr32k_str_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.80 Mp4 HE  recording at Br96k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr32k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.81 Mp4 HE  recording at Br96k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr32k_str_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.82 Mp4 HE  recording at Br32k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr32k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.83 Mp4 HE  recording at Br32k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr32k_str_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.84 Mp4 HE  recording at Br160k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr32k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.85 Mp4 HE  recording at Br160k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr32k_str_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.86 Mp4 HE  recording at Br128k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr32k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 82.87 Mp4 HE  recording at Br128k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr32k_str_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.88 Mp4 HE  recording at Br224k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr32k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.89 Mp4 HE  recording at Br224k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr32k_str_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-*/
-
-[Test]
-title 82.90 Mp4 HE  recording at Br256k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr32k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.91 Mp4 HE  recording at Br256k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr32k_str_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-##-#----48k--------------
-
-[Test]
-title 82.92 Mp4 HE  recording at Br64k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr48k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.93 Mp4 HE  recording at Br64k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr48k_str_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 64000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.94 Mp4 HE  recording at Br96k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr48k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.95 Mp4 HE  recording at Br96k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr48k_str_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 96000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.96 Mp4 HE  recording at Br32k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr48k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.97 Mp4 HE  recording at Br32k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr48k_str_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.98 Mp4 HE  recording at Br160k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr48k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf_part2.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1202 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-[Test]
-title 8.47 Amr Set , Get Settings then Check RecordItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_8_47.amr
-ALImpl al_SetDataFormat 1 audio/amr 21
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 3 1 1 8000000 4750 8 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-ALImpl al_audioencoderitf_GetEncoderSettings check 13 3 1 1 8000000 4750 8 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.48 Mp4 Set , Get Settings then Check RecordItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_8_48.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-ALImpl al_audioencoderitf_GetEncoderSettings check 13 6 2 2 8000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.49 Mp4 Set , Get Settings then Check RecordItf
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_8_49.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 2
-ALImpl al_audioencoderitf_GetEncoderSettings check 13 6 1 1 8000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.50 Mp4 recording at Br64k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr8k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.51 Mp4 recording at Br64k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr8k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.52 Mp4 recording at Br96k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr8k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.53 Mp4 recording at Br96k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr8k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.54 Mp4 recording at Br128k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr8k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.55 Mp4 recording at Br128k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr8k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.56 Mp4 recording at Br160k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr8k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.57 Mp4 recording at Br160k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr8k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.58 Mp4 recording at Br192k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr8k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.59 Mp4 recording at Br192k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr8k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.60 Mp4 recording at Br224k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr8k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.61 Mp4 recording at Br224k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr8k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.62 Mp4 recording at Br256k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr8k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.63 Mp4 recording at Br256k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr8k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-#--------------------
-
-[Test]
-title 8.64 Mp4 recording at Br64k Sr 16Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr16k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.65 Mp4 recording at Br64k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr16k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.66 Mp4 recording at Br96k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr16k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.67 Mp4 recording at Br96k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr16k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.68 Mp4 recording at Br32k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr16k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.69 Mp4 recording at Br32k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr16k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.70 Mp4 recording at Br160k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr16k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.71 Mp4 recording at Br160k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr16k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.72 Mp4 recording at Br192k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr16k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.73 Mp4 recording at Br192k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr16k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.74 Mp4 recording at Br224k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr16k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.75 Mp4 recording at Br224k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr16k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.76 Mp4 recording at Br256k Sr 16khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr16k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.77 Mp4 recording at Br256k Sr 16khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr16k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-#-#-----------------------------
-
-[Test]
-title 8.78 Mp4 recording at Br64k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr32k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.79 Mp4 recording at Br64k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr32k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.80 Mp4 recording at Br96k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr32k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.81 Mp4 recording at Br96k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr32k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.82 Mp4 recording at Br32k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr32k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.83 Mp4 recording at Br32k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr32k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.84 Mp4 recording at Br160k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr32k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.85 Mp4 recording at Br160k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr32k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.86 Mp4 recording at Br128k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr32k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.87 Mp4 recording at Br128k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr32k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.88 Mp4 recording at Br224k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr32k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.89 Mp4 recording at Br224k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr32k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-[Test]
-title 8.90 Mp4 recording at Br256k Sr 32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr32k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.91 Mp4 recording at Br256k Sr 32Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr32k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf_part3.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1230 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-##-#----48k--------------
-
-[Test]
-title 8.92 Mp4 recording at Br64k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr48k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.93 Mp4 recording at Br64k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr48k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.94 Mp4 recording at Br96k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr48k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.95 Mp4 recording at Br96k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr48k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.96 Mp4 recording at Br32k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr48k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.97 Mp4 recording at Br32k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr48k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.98 Mp4 recording at Br160k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr48k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.99 Mp4 recording at Br160k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr48k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.100 Mp4 recording at Br128k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr48k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.101 Mp4 recording at Br128k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr48k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.102 Mp4 recording at Br224k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr48k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.103 Mp4 recording at Br224k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr48k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.104 Mp4 recording at Br192k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr48k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.105 Mp4 recording at Br192k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr48k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-###-#-------11025---------
-
-[Test]
-title 8.106 Mp4 recording at Br32k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr11025k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.107 Mp4 recording at Br32k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr11025k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.108 Mp4 recording at Br64k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr11025k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.109 Mp4 recording at Br64k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr11025k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.110 Mp4 recording at Br96k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr11025k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.111 Mp4 recording at Br96k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr11025k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.112 Mp4 recording at Br128k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr11025k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.113 Mp4 recording at Br128k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr11025k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.114 Mp4 recording at Br160k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr11025k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.115 Mp4 recording at Br160k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr11025k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.116 Mp4 recording at Br192k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr11025k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.117 Mp4 recording at Br192k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr11025k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.118 Mp4 recording at Br224k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr11025k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.119 Mp4 recording at Br224k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr11025k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-[Test]
-title 8.120 Mp4 recording at Br256k Sr 11.025Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr11025k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 11025000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.121 Mp4 recording at Br256k Sr 11.025Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr11025k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 11025000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-####-#------22050-----------
-
-[Test]
-title 8.122 Mp4 recording at Br32k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr22050k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.123 Mp4 recording at Br32k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr22050k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.124 Mp4 recording at Br64k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr22050k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.125 Mp4 recording at Br64k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr22050k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.126 Mp4 recording at Br96k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr22050k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.127 Mp4 recording at Br96k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr22050k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.128 Mp4 recording at Br128k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr22050k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.129 Mp4 recording at Br128k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr22050k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.130 Mp4 recording at Br160k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr22050k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.131 Mp4 recording at Br160k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr22050k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.132 Mp4 recording at Br192k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr22050k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.133 Mp4 recording at Br192k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr22050k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.134 Mp4 recording at Br224k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr22050k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.135 Mp4 recording at Br224k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr22050k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-[Test]
-title 8.136 Mp4 recording at Br256k Sr 22.050Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr22050k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 22050000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.137 Mp4 recording at Br256k Sr 22.050Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr22050k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 22050000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_mr_recorditf_part4.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1340 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-
-
-
-
-
-#####-#-----------44100--------------
-
-[Test]
-title 8.138 Mp4 recording at Br32k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr44100k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.139 Mp4 recording at Br32k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr44100k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 32000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.140 Mp4 recording at Br64k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr44100k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.141 Mp4 recording at Br64k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr44100k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 64000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.142 Mp4 recording at Br96k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr44100k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.143 Mp4 recording at Br96k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br96k_Sr44100k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 96000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.144 Mp4 recording at Br128k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr44100k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.145 Mp4 recording at Br128k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr44100k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 128000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.146 Mp4 recording at Br160k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr44100k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.147 Mp4 recording at Br160k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr44100k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 160000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.148 Mp4 recording at Br192k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr44100k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.149 Mp4 recording at Br192k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr44100k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 192000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.150 Mp4 recording at Br224k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr44100k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.151 Mp4 recording at Br224k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr44100k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 224000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-[Test]
-title 8.152 Mp4 recording at Br256k Sr 44.1Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr44100k.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 44100000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.153 Mp4 recording at Br256k Sr 44.1Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr44100k_stereo.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 44100000 256000 16 1 0 2 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 8.154 WAV recording at 11.025khz
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_11025k.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 1 1 11025000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.155 WAV recording at 11.025khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_11025k_stereo.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 2 2 11025000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.156 WAV recording at 22050khz
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_22050k.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 1 1 22050000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.157 WAV recording at 22050khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_22050k_stereo.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 2 2 22050000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 8.158 WAV recording at 44.1khz
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_44100k.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 1 1 44100000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 8.159 WAV recording at 44.1khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_44100k_stereo.wav
-ALImpl al_SetDataFormat 1 audio/wav 15
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 1 2 2 44100000 0 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-#----------------------------------
-
-[Test]
-title 81.36 Mp4 recording at Br32k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr8k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.37 Mp4 recording at Br32k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr8k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 32000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.38 Mp4 recording at Br128k Sr16Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr16k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.39 Mp4 recording at Br128k Sr16Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr16k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.40 Mp4 recording at Br192k Sr32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr32k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.41 Mp4 recording at Br192k Sr32Khz  Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr32k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.42 Mp4 recording at Br256k Sr48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr48k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.43 Mp4 recording at Br256k Sr48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr48k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 256000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-[Test]
-title 81.50 Mp4 recording at Br64k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr8k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.51 Mp4 recording at Br64k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br64k_Sr8k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 64000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-#------------------------------------
-
-[Test]
-title 81.100 Mp4 Auto recording at Br128k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr48k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.101 Mp4 Auto recording at Br128k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr48k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 128000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.102 Mp4 Auto recording at Br224k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr48k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.103 Mp4 Auto recording at Br224k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr48k_stereo_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 224000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 81.104 Mp4 Auto recording at Br192k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr48k_auto.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 192000 16 1 0 0 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-#-------------------
-
-[Test]
-title 82.99 Mp4 HE  recording at Br160k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br160k_Sr48k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 160000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.100 Mp4 HE  recording at Br128k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr48k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.101 Mp4 HE  recording at Br128k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr48k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.102 Mp4 HE  recording at Br224k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr48k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.103 Mp4 HE  recording at Br224k Sr 48Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br224k_Sr48k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 48000000 224000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.104 Mp4 HE  recording at Br192k Sr 48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr48k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-
-
-#------------------------
-
-[Test]
-title 82.36 Mp4 HE  recording at Br32k Sr 8Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr8k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 8000000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.37 Mp4 HE  recording at Br32k Sr 8Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br32k_Sr8k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 8000000 32000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.38 Mp4 HE  recording at Br128k Sr16Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr16k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 16000000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.39 Mp4 HE  recording at Br128k Sr16Khz Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br128k_Sr16k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 16000000 128000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.40 Mp4 HE  recording at Br192k Sr32Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr32k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 32000000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.41 Mp4 HE  recording at Br192k Sr32Khz  Stereo
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br192k_Sr32k_stereo_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 2 2 32000000 192000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 82.42 Mp4 HE  recording at Br256k Sr48Khz 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 0
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_SetDataLocator 1 file:/\/\/c:/testing/data/omxaltestdata/record_Br256k_Sr48k_HE.mp4
-ALImpl al_SetDataFormat 1 audio/mpeg 10
-ALImpl al_SetDataSink 1 1 5
-ALImpl al_SetDataLocator 3 1 2910736385 1
-ALImpl al_SetDataSource 3 1 1
-ALImpl al_engitf_CreateMediaRecorder 1 15
-ALImpl al_objitf_Realize 5 0
-ALImpl al_objitf_GetInterface 5 15
-ALImpl al_recorditf_SetCallbackEventsMask 7
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_GetInterface 5 32
-ALImpl al_audioencoderitf_SetEncoderSettings 13 6 1 1 48000000 256000 16 1 0 5 0 0 0 1234
-ALImpl al_recorditf_SetRecordState 3
-pause 5000
-ALImpl al_recorditf_SetRecordState 1
-ALImpl al_objitf_Destroy 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_objectitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-// Description: 
-//
-//
-[StifSettings]
-CheckHeapBalance=off
-[EndStifSettings]
-
-[Test]
-title 5.1 ObjectItf SetPriority
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 XA_BOOLEAN_FALSE
-ALImpl al_objitf_SetPriority 1 100 XA_BOOLEAN_FALSE
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 5.2 ObjectItf GetPriority
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 XA_BOOLEAN_FALSE
-ALImpl al_objitf_SetPriority 1 100 XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetPriority 1 100 XA_BOOLEAN_FALSE
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 5.3 ObjectItf SetLossOfControlInterfaces
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 XA_BOOLEAN_FALSE
-ALImpl al_objitf_SetLossOfControlInterfaces 1 0 1
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 5.4 ObjectItf RegisterCallback
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 XA_BOOLEAN_FALSE
-ALImpl al_objitf_RegisterCallback 1
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 5.5 ObjectItf GetState
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetState 1 XA_OBJECT_STATE_REALIZED
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 5.6 ObjectItf Realize
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 1 5
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-
-[Test]
-title 5.7 ObjectItf Resume
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 XA_BOOLEAN_FALSE
-allownextresult XA_RESULT_PRECONDITIONS_VIOLATED
-ALImpl al_objitf_Resume 1 XA_BOOLEAN_FALSE
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 5.8 ObjectItf AbortAsyncOperation
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize 1 XA_BOOLEAN_FALSE
-ALImpl al_objitf_AbortAsyncOperation 1
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
-
-[Test]
-title 5.9 ObjectItf Realize Async
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_RegisterCallback 1
-request Event_XA_OBJECT_EVENT_ASYNC_TERMINATION
-ALImpl al_objitf_Realize 1 XA_BOOLEAN_TRUE
-wait Event_XA_OBJECT_EVENT_ASYNC_TERMINATION
-release Event_XA_OBJECT_EVENT_ASYNC_TERMINATION
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 5.10 ObjectItf Resume
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_RegisterCallback 1
-ALImpl al_objitf_Realize 1 XA_BOOLEAN_FALSE
-request Event_XA_OBJECT_EVENT_ASYNC_TERMINATION
-ALImpl al_objitf_Resume 1 XA_BOOLEAN_TRUE
-wait Event_XA_OBJECT_EVENT_ASYNC_TERMINATION
-release Event_XA_OBJECT_EVENT_ASYNC_TERMINATION
-ALImpl al_objitf_Destroy 1
-delete ALImpl
-[Endtest]
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/conf/openmaxaltestmodule_radioitf.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,784 +0,0 @@
-[Test]
-title 21.1 RadioItf Start Radio
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-request Event_XA_PLAYEVENT_HEADMOVING
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADMOVING
-release Event_XA_PLAYEVENT_HEADMOVING
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]  
-
-[Test]
-title 21.2 RadioItf Get Frequency (DEFAULT)
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-ALImpl al_radioitf_GetFrequencyDefault
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.3 RadioItf Get Freq Range (DEFAULT)
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-ALImpl al_radioitf_GetFreqRangeDefault
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.4 RadioItf Set-Get Freq 106.0 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-request Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-ALImpl al_radioitf_SetFrequency 106000000
-wait Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-release Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-
-ALImpl al_radioitf_GetFrequency 106000000
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.5 RadioItf Set-Get Freq Range
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-request Event_XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED
-ALImpl al_radioitf_SetFreqRange 2 //XA_FREQRANGE_FMJAPAN
-wait Event_XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED
-release Event_XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED
-
-ALImpl al_radioitf_GetFreqRange 2 // EFmRangeJapan
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.6 RadioItf Get FR Properties 
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-request Event_XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED
-ALImpl al_radioitf_SetFreqRange 1 //XA_FREQRANGE_FMEUROAMERICA
-wait Event_XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED
-release Event_XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED
-
-ALImpl al_radioitf_GetFreqRangeProperties 1 87500000 108000000 200000 // range expected: min freq, max freq, freq interval
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.7 RadioItf Is Freq Range Supported
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-ALImpl al_radioitf_IsFreqRangeSupported 1
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.8 RadioItf Set Squelch
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-allownextresult XA_RESULT_FEATURE_UNSUPPORTED
-ALImpl al_radioitf_SetSquelch 1
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.9 RadioItf Get Squelch
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-allownextresult XA_RESULT_FEATURE_UNSUPPORTED
-ALImpl al_radioitf_GetSquelch 1
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.10 RadioItfSetStereoModeMONO
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-request Event_XA_PLAYEVENT_HEADMOVING
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADMOVING
-release Event_XA_PLAYEVENT_HEADMOVING
-
-ALImpl al_radioitf_SetStereoMode 0
-ALImpl al_radioitf_GetStereoMode 0
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.11 RadioItf SetStereoModeSTEREO
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-request Event_XA_PLAYEVENT_HEADMOVING
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADMOVING
-release Event_XA_PLAYEVENT_HEADMOVING
-
-ALImpl al_radioitf_SetStereoMode 1
-ALImpl al_radioitf_GetStereoMode 1
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.12 RadioItf SetStereoModeAUTO
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-request Event_XA_PLAYEVENT_HEADMOVING
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADMOVING
-release Event_XA_PLAYEVENT_HEADMOVING
-
-ALImpl al_radioitf_SetStereoMode 2
-ALImpl al_radioitf_GetStereoMode 2
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-[Test]
-title 21.13 RadioItf Get Signal Strength
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-request Event_XA_PLAYEVENT_HEADMOVING
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADMOVING
-release Event_XA_PLAYEVENT_HEADMOVING
-
-ALImpl al_radioitf_GetSignalStrength
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.14 RadioItf Seek
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-request Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-ALImpl al_radioitf_SetFrequency 103700000
-wait Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-release Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-
-request Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-ALImpl al_radioitf_SetFrequency 106000000
-wait Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-release Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-
-request Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-ALImpl al_radioitf_SetFrequency 090900000
-wait Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-release Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-
-request Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-ALImpl al_radioitf_SetFrequency 096100000
-wait Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-release Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-
-request Event_XA_RADIO_EVENT_SEEK_COMPLETED
-ALImpl al_radioitf_Seek 1
-wait Event_XA_RADIO_EVENT_SEEK_COMPLETED
-release Event_XA_RADIO_EVENT_SEEK_COMPLETED
-
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.15 RadioItf Stop Seeking
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-request Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-ALImpl al_radioitf_SetFrequency 103700000
-wait Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-release Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-
-request Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-ALImpl al_radioitf_SetFrequency 106000000
-wait Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-release Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-
-request Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-ALImpl al_radioitf_SetFrequency 090900000
-wait Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-release Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-
-request Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-ALImpl al_radioitf_SetFrequency 096100000
-wait Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-release Event_XA_RADIO_EVENT_FREQUENCY_CHANGED
-
-ALImpl al_radioitf_Seek 1
-ALImpl al_radioitf_StopSeeking
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]
-
-[Test]
-title 21.16 RadioItf Cancel Set Freq
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-ALImpl al_radioitf_CancelSetFrequency
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]  
-
-[Test]
-title 21.17 RadioItf Set Volume
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 2 XA_IID_NOKIALINEARVOLUME XA_IID_NOKIAVOLUMEEXT
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIALINEARVOLUME
-ALImpl al_nokiavolumeextitf_RegisterVolumeCallback
-ALImpl al_nokialinearvolumeitf_RegisterVolumeCallback
-
-ALImpl al_nokialinearvolumeitf_SetGetVolumeLevel 20
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.18 RadioItf Get Step Count
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 2 XA_IID_NOKIALINEARVOLUME XA_IID_NOKIAVOLUMEEXT
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIALINEARVOLUME
-ALImpl al_nokiavolumeextitf_RegisterVolumeCallback
-ALImpl al_nokialinearvolumeitf_RegisterVolumeCallback
-
-ALImpl al_nokialinearvolumeitf_GetStepCount
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.19 RadioItf SetMute On
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 2 XA_IID_NOKIALINEARVOLUME XA_IID_NOKIAVOLUMEEXT
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIALINEARVOLUME
-ALImpl al_nokiavolumeextitf_RegisterVolumeCallback
-ALImpl al_nokialinearvolumeitf_RegisterVolumeCallback
-
-ALImpl al_nokiavolumeextitf_SetMute 1
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.20 RadioItf SetMute Off
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 2 XA_IID_NOKIALINEARVOLUME XA_IID_NOKIAVOLUMEEXT
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIAVOLUMEEXT
-ALImpl al_objitf_GetInterface MO_PLAYER XA_IID_NOKIALINEARVOLUME
-ALImpl al_nokiavolumeextitf_RegisterVolumeCallback
-ALImpl al_nokialinearvolumeitf_RegisterVolumeCallback
-
-ALImpl al_nokiavolumeextitf_SetMute 0
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest] 
-
-[Test]
-title 21.21 RadioItf Stop Radio
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-request Event_XA_PLAYEVENT_HEADMOVING
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_PLAYING
-wait Event_XA_PLAYEVENT_HEADMOVING
-release Event_XA_PLAYEVENT_HEADMOVING
-
-request Event_XA_PLAYEVENT_HEADSTALLED
-ALImpl al_playitf_SetPlayState XA_PLAYSTATE_STOPPED
-wait Event_XA_PLAYEVENT_HEADSTALLED
-release Event_XA_PLAYEVENT_HEADSTALLED
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]  
-
-[Test]
-title 21.22 RadioItf Set Freq ERROR--too big
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-allownextresult -17
-ALImpl al_radioitf_SetFrequency 109000000
-																
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]   
-
-[Test]
-title 21.23 RadioItf Set Invalid Freq Range
-create openmaxaltestmodule ALImpl
-ALImpl al_createEngine 1 1 0 0
-ALImpl al_objitf_Realize MO_ENGINE XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_ENGINE XA_IID_ENGINE
-ALImpl al_engitf_CreateRadioDevice 0
-ALImpl al_objitf_Realize MO_RADIO XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface MO_RADIO XA_IID_RADIO
-ALImpl al_radioitf_RegisterRadioCallback  
-
-
-ALImpl al_SetDataLocator 3 5 0 1
-ALImpl al_SetDataSource 3 0 1
-ALImpl al_SetDataSink 3 6 1
-
-ALImpl al_engitf_CreateMediaPlayer 0 
-
-ALImpl al_objitf_Realize MO_PLAYER XA_BOOLEAN_FALSE
-ALImpl al_objitf_GetInterface 4 XA_IID_PLAY
-ALImpl al_playitf_RegisterCallback
-
-//request Event_XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED
-allownextresult 2
-ALImpl al_radioitf_SetFreqRange 50 
-//wait Event_XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED
-//release Event_XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED
-
-
-ALImpl al_objitf_Destroy MO_RADIO
-ALImpl al_objitf_Destroy MO_PLAYER
-ALImpl al_objitf_Destroy MO_ENGINE
-delete ALImpl
-[Endtest]     
\ No newline at end of file
Binary file mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/JapJap.mp3 has changed
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/readme.txt	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-test.3gp - http://10.48.2.51/Copyright_Free_Test_Content/Clips/Video/3GP/176x144/h263/index_http.html - 15fps_384kbps_AAC-LC_128kbps_stereo_32kHz.3gp
-test.mp3 - http://10.48.2.51/Copyright_Free_Test_Content/Clips/Audio/Complete_Clips/Content/MP3/MPEG2.5/index_tmp.html - MP3_MPEG2.5_96kbps_11.025khz_stereo.mp3
\ No newline at end of file
Binary file mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/test.3gp has changed
Binary file mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/test.mp3 has changed
Binary file mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/test.wav has changed
Binary file mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/data/c/omxaltestdata/testmp4.mp4 has changed
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/eabi/openmaxaltestmoduleu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description:
-*
-*/
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_TESTEXPORTS
-../conf/openmaxaltestmodule_common.cfg              /epoc32/winscw/c/testframework/openmaxaltestmodule_common.cfg
-../conf/openmaxaltestmodule_common_noklinvolitf.cfg /epoc32/winscw/c/testframework/openmaxaltestmodule_common_noklinvolitf.cfg
-../conf/openmaxaltestmodule_common_nokvolextitf.cfg /epoc32/winscw/c/testframework/openmaxaltestmodule_common_nokvolextitf.cfg
-../conf/openmaxaltestmodule_common_volumeitf.cfg    /epoc32/winscw/c/testframework/openmaxaltestmodule_common_volumeitf.cfg
-../conf/openmaxaltestmodule_objectitf.cfg           /epoc32/winscw/c/testframework/openmaxaltestmodule_objectitf.cfg
-../conf/openmaxaltestmodule_mr.cfg   					/epoc32/winscw/c/testframework/openmaxaltestmodule_mr.cfg
-../conf/openmaxaltestmodule_mr_mdinsertionitf.cfg   	/epoc32/winscw/c/testframework/openmaxaltestmodule_mr_mdinsertionitf.cfg
-../conf/openmaxaltestmodule_mr_audioencoderitf.cfg  	/epoc32/winscw/c/testframework/openmaxaltestmodule_mr_audioencoderitf.cfg
-../conf/openmaxaltestmodule_engine_audenccapitf.cfg /epoc32/winscw/c/testframework/openmaxaltestmodule_engine_audenccapitf.cfg
-../conf/openmaxaltestmodule_global.cfg              /epoc32/winscw/c/testframework/openmaxaltestmodule_global.cfg
-../conf/openmaxaltestmodule_engine_engineitf.cfg    /epoc32/winscw/c/testframework/openmaxaltestmodule_engine_engineitf.cfg
-../conf/openmaxaltestmodule_engine_aiodcitf.cfg     /epoc32/winscw/c/testframework/openmaxaltestmodule_engine_aiodcitf.cfg
-../conf/openmaxaltestmodule_mp.cfg 		    /epoc32/winscw/c/testframework/openmaxaltestmodule_mp.cfg
-../conf/openmaxaltestmodule_mo.cfg 		    /epoc32/winscw/c/testframework/openmaxaltestmodule_mo.cfg
-../conf/openmaxaltestmodule_mp_objectitf.cfg 	    /epoc32/winscw/c/testframework/openmaxaltestmodule_mp_objectitf.cfg
-../conf/openmaxaltestmodule_mp_playitf.cfg 	    /epoc32/winscw/c/testframework/openmaxaltestmodule_mp_playitf.cfg
-../conf/openmaxaltestmodule_mp_seekitf.cfg 	    /epoc32/winscw/c/testframework/openmaxaltestmodule_mp_seekitf.cfg
-../conf/openmaxaltestmodule_mp_variousformats.cfg   /epoc32/winscw/c/testframework/openmaxaltestmodule_mp_variousformats.cfg
-../conf/openmaxaltestmodule_common_dynsrcitf.cfg    /epoc32/winscw/c/testframework/openmaxaltestmodule_common_dynsrcitf.cfg
-../conf/openmaxaltestmodule_mp_strminfoitf.cfg 	    /epoc32/winscw/c/testframework/openmaxaltestmodule_mp_strminfoitf.cfg
-../conf/openmaxaltestmodule_mp_preemption.cfg       /epoc32/winscw/c/testframework/openmaxaltestmodule_mp_preemption.cfg
-../conf/openmaxaltestmodule_mo_mdextractionitf.cfg  /epoc32/winscw/c/testframework/openmaxaltestmodule_mo_mdextractionitf.cfg
-../conf/openmaxaltestmodule_mp_mdextractionitf.cfg  /epoc32/winscw/c/testframework/openmaxaltestmodule_mp_mdextractionitf.cfg
-../conf/openmaxaltestmodule_radioitf.cfg 	    /epoc32/winscw/c/testframework/openmaxaltestmodule_radioitf.cfg
-../conf/openmaxaltestmodule_mp_streaming.cfg        /epoc32/winscw/c/testframework/openmaxaltestmodule_mp_streaming.cfg
-../conf/openmaxaltestmodule_mp_playbackrateitf.cfg        /epoc32/winscw/c/testframework/openmaxaltestmodule_mp_playbackrateitf.cfg
-../conf/openmaxaltestmodule_mr_recorditf.cfg        /epoc32/winscw/c/testframework/openmaxaltestmodule_mr_recorditf.cfg
-../conf/openmaxaltestmodule_mr_recorditf_part2.cfg        /epoc32/winscw/c/testframework/openmaxaltestmodule_mr_recorditf_part2.cfg
-../conf/openmaxaltestmodule_mr_recorditf_part3.cfg        /epoc32/winscw/c/testframework/openmaxaltestmodule_mr_recorditf_part3.cfg
-../conf/openmaxaltestmodule_mr_recorditf_part4.cfg        /epoc32/winscw/c/testframework/openmaxaltestmodule_mr_recorditf_part4.cfg
-../conf/openmaxaltestmodule_mr_recorditf_aac_auto.cfg       /epoc32/winscw/c/testframework/openmaxaltestmodule_mr_recorditf_aac_auto.cfg
-../conf/openmaxaltestmodule_mr_record_aac_au_p2.cfg       /epoc32/winscw/c/testframework/openmaxaltestmodule_mr_record_aac_au_p2.cfg
-../conf/openmaxaltestmodule_mr_recorditf_aac_he.cfg       /epoc32/winscw/c/testframework/openmaxaltestmodule_mr_recorditf_aac_he.cfg
-../conf/openmaxaltestmodule_mr_record_aac_he_p2.cfg       /epoc32/winscw/c/testframework/openmaxaltestmodule_mr_record_aac_he_p2.cfg
-
-
-../data/c/omxaltestdata/test.wav                    /epoc32/winscw/c/testing/data/omxaltestdata/test.wav
-../data/c/omxaltestdata/test.mp3                    /epoc32/winscw/c/testing/data/omxaltestdata/test.mp3
-../data/c/omxaltestdata/test.3gp                    /epoc32/winscw/c/testing/data/omxaltestdata/test.3gp
-../data/c/omxaltestdata/JapJap.mp3                  /epoc32/winscw/c/testing/data/omxaltestdata/JapJap.mp3
-../data/c/omxaltestdata/testmp4.mp4                 /epoc32/winscw/c/testing/data/omxaltestdata/testmp4.mp4
-../init/testframework.ini                           /epoc32/winscw/c/testframework/testframework.ini
-
-PRJ_EXPORTS
-
-PRJ_TESTMMPFILES
-openmaxaltestmodule.mmp
-
-PRJ_MMPFILES
-
-//  End of File
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/group/openmaxaltestmodule.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: MMP file for STIF Test Framework's TestScripter 
-* testclass openmaxal module.
-*
-*/
-
-#include <platform_paths.hrh>
-
-SMPSAFE
-
-TARGET          openmaxaltestmodule.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x10207CA4
-
-CAPABILITY      ALL -TCB
-VENDORID     VID_DEFAULT
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH      ?target_path
-DEFFILE         openmaxaltestmodule.def
-
-//MACRO           PROFILE_TIME
-//MACRO           PRINT_TO_CONSOLE_TIME_DIFF
-
-USERINCLUDE     ../inc 
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_GLIB_SYSTEMINCLUDE
-OS_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE 	/epoc32/include/platform/mw/khronos/ 
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../src/common
-SOURCE          openmaxaltestmodule.cpp
-SOURCE          openmaxaltestmoduleblocks.cpp
-SOURCE          openmaxalcommontests.cpp 
-SOURCE 			openmaxalobjectitftests.cpp
-SOURCE          openmaxalobjectcallbacks.cpp 
-SOURCE          openmaxaldynitfmgmtitftests.cpp
-SOURCE          openmaxaldynitfmgmtitfcallbacks.cpp
-SOURCE		 	openmaxaldynsrcitftests.cpp
-SOURCE			openmaxalstrminfoitftests.cpp
-SOURCE			openmaxalvolumeitftests.cpp
-SOURCE			openmaxalnokiavolumeextitftests.cpp
-SOURCE			openmaxalnokialinearvolumeitftests.cpp
-SOURCE 			TimeoutController.cpp
-
-
-SOURCEPATH      ../src/engine
-SOURCE		openmaxalenginetests.cpp 
-SOURCE 		openmaxalengineitftests.cpp
-SOURCE 		openmaxalaudioiodevicecapabilitiesitftests.cpp
-SOURCE 		openmaxalaudioencodercapabiltiesitftests.cpp
-SOURCE          openmaxalaudioiodevicecapabilitiesitfcallbacks.cpp 
-
-SOURCEPATH      ../src/recorder
-SOURCE 		openmaxalrecorditftests.cpp
-SOURCE 		openmaxalaudioencoderitftests.cpp
-SOURCE 		openmaxalmetadatainsertionitftests.cpp 
-SOURCE          openmaxalrecorditfcallbacks.cpp 
-SOURCE          openmaxalmetadatainsertionitfcallbacks.cpp
-
-SOURCEPATH 	../src/player
-SOURCE 		openmaxalplayitftests.cpp
-SOURCE 		openmaxalseekitftests.cpp
-SOURCE 		openmaxalplaybackrateitftests.cpp
-
-SOURCEPATH      ../src/metadata
-SOURCE		openmaxalmetadataextractionitftests.cpp
-
-SOURCEPATH      ../src/radio
-SOURCE 		openmaxalradioitftests.cpp
-
-LIBRARY         euser.lib
-LIBRARY			libglib.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib
-LIBRARY		ecom.lib
-LIBRARY         openmaxal.lib
-LIBRARY		libc.lib
-LIBRARY		ws32.lib
-LANG            SC
-
-
-
-// End of File
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/group/openmaxaltestmodule.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "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:
-; 
-; Description:
-;
-; 	Installation file for STIF
-;
-
-; Languages
-&EN
-
-; Provide value for uid
-#{"OpenMAXALTestModule"},(0x10207CA4),1,1,0,TYPE=SA
-
-; Series60 product id for S60 3.0
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Logo
-; None
-
-; Package signature - Optional
-; None
-
-; Start of Package body
-
-; Condition blocks
-; None
-
-; Options list
-; None
-
-; Install files
-"\epoc32\release\armv5\udeb\openmaxaltestmodule.dll"                -   "!:\sys\bin\openmaxaltestmodule.dll"
-"..\conf\openmaxaltestmodule_global.cfg"                            -   "!:\testframework\openmaxaltestmodule_global.cfg"
-"..\conf\openmaxaltestmodule_common.cfg"                            -   "!:\testframework\openmaxaltestmodule_common.cfg"
-"..\conf\openmaxaltestmodule_common_noklinvolitf.cfg"               -   "!:\testframework\openmaxaltestmodule_common_noklinvolitf.cfg"
-"..\conf\openmaxaltestmodule_common_nokvolextitf.cfg"               -   "!:\testframework\openmaxaltestmodule_common_nokvolextitf.cfg"
-"..\conf\openmaxaltestmodule_common_volumeitf.cfg"                  -   "!:\testframework\openmaxaltestmodule_common_volumeitf.cfg"
-"..\conf\openmaxaltestmodule_objectitf.cfg"                         -   "!:\testframework\openmaxaltestmodule_objectitf.cfg"
-"..\conf\openmaxaltestmodule_engine_engineitf.cfg"                  -   "!:\testframework\openmaxaltestmodule_engine_engineitf.cfg"
-"..\conf\openmaxaltestmodule_engine_audenccapitf.cfg"               -   "!:\testframework\openmaxaltestmodule_engine_audenccapitf.cfg"
-"..\conf\openmaxaltestmodule_engine_aiodcitf.cfg"                   -   "!:\testframework\openmaxaltestmodule_engine_aiodcitf.cfg"
-"..\conf\openmaxaltestmodule_mr.cfg"                      			-   "!:\testframework\openmaxaltestmodule_mr.cfg"
-"..\conf\openmaxaltestmodule_mr_mdinsertionitf.cfg"                 -   "!:\testframework\openmaxaltestmodule_mr_mdinsertionitf.cfg"
-"..\conf\openmaxaltestmodule_mr_audioencoderitf.cfg"                -   "!:\testframework\openmaxaltestmodule_mr_audioencoderitf.cfg"
-"..\conf\openmaxaltestmodule_mp.cfg"                                -   "!:\testframework\openmaxaltestmodule_mp.cfg"
-"..\conf\openmaxaltestmodule_mo.cfg"                                -   "!:\testframework\openmaxaltestmodule_mo.cfg"
-"..\conf\openmaxaltestmodule_mp_objectitf.cfg"                      -   "!:\testframework\openmaxaltestmodule_mp_objectitf.cfg"
-"..\conf\openmaxaltestmodule_mp_playitf.cfg"                        -   "!:\testframework\openmaxaltestmodule_mp_playitf.cfg"
-"..\conf\openmaxaltestmodule_mp_seekitf.cfg"                        -   "!:\testframework\openmaxaltestmodule_mp_seekitf.cfg"
-"..\conf\openmaxaltestmodule_common_dynsrcitf.cfg"                  -   "!:\testframework\openmaxaltestmodule_common_dynsrcitf.cfg"
-"..\conf\openmaxaltestmodule_mp_strminfoitf.cfg"                    -   "!:\testframework\openmaxaltestmodule_mp_strminfoitf.cfg"
-"..\conf\openmaxaltestmodule_mp_preemption.cfg"                     -   "!:\testframework\openmaxaltestmodule_mp_preemption.cfg"
-"..\conf\openmaxaltestmodule_mo_mdextractionitf.cfg"                -   "!:\testframework\openmaxaltestmodule_mo_mdextractionitf.cfg"
-"..\conf\openmaxaltestmodule_mp_mdextractionitf.cfg"                -   "!:\testframework\openmaxaltestmodule_mp_mdextractionitf.cfg"
-"..\conf\openmaxaltestmodule_mp_variousformats.cfg"                 -   "!:\testframework\openmaxaltestmodule_mp_variousformats.cfg"
-"..\conf\openmaxaltestmodule_radioitf.cfg"                          -   "!:\testframework\openmaxaltestmodule_radioitf.cfg"
-"..\conf\openmaxaltestmodule_mp_streaming.cfg"                      -   "!:\testframework\openmaxaltestmodule_mp_streaming.cfg"
-"..\conf\openmaxaltestmodule_mp_playbackrateitf.cfg"                      -   "!:\testframework\openmaxaltestmodule_mp_playbackrateitf.cfg"
-"..\conf\openmaxaltestmodule_mr_recorditf.cfg"                      -   "!:\testframework\openmaxaltestmodule_mr_recorditf.cfg"
-"..\conf\openmaxaltestmodule_mr_recorditf_part2.cfg"                      -   "!:\testframework\openmaxaltestmodule_mr_recorditf_part2.cfg"
-"..\conf\openmaxaltestmodule_mr_recorditf_part3.cfg"                      -   "!:\testframework\openmaxaltestmodule_mr_recorditf_part3.cfg"
-"..\conf\openmaxaltestmodule_mr_recorditf_part4.cfg"                      -   "!:\testframework\openmaxaltestmodule_mr_recorditf_part4.cfg"
-"..\conf\openmaxaltestmodule_mr_recorditf_aac_auto.cfg"                 -   "!:\testframework\openmaxaltestmodule_mr_recorditf_aac_auto.cfg"
-"..\conf\openmaxaltestmodule_mr_recorditf_aac_he.cfg"                 -   "!:\testframework\openmaxaltestmodule_mr_recorditf_aac_he.cfg"
-"..\conf\openmaxaltestmodule_mr_record_aac_au_p2.cfg"                 -   "!:\testframework\openmaxaltestmodule_mr_rec_aac_au_p2.cfg"
-"..\conf\openmaxaltestmodule_mr_record_aac_he_p2.cfg"                 -   "!:\testframework\openmaxaltestmodule_mr_rec_aac_he_p2.cfg"
-;data files
-"..\data\c\omxaltestdata\test.wav"                                  -   "!:\testing\data\omxaltestdata\test.wav"
-"..\data\c\omxaltestdata\test.mp3"                                  -  "!:\testing\data\omxaltestdata\test.mp3"
-"..\data\c\omxaltestdata\test.3gp"                                  -  "!:\testing\data\omxaltestdata\test.3gp"
-"..\data\c\omxaltestdata\JapJap.mp3"                                -   "!:\testing\data\omxaltestdata\JapJap.mp3"
-"..\data\c\omxaltestdata\testmp4.mp4"                               -   "!:\testing\data\omxaltestdata\testmp4.mp4"
-; Embedded SIS 
-; None
-
-; End of Package body
-
-; PKG dependencies
-; None
-
-; PKG capabilities
-; None
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/group/openmaxaltestmodule_doxyfile.txt	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#
-# Description: 
-#
-#
-
-# Doxyfile 1.4.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME           = OpenMAXALTestModule
-PROJECT_NUMBER         = 
-OUTPUT_DIRECTORY       = W:\sf\mw\mmmw\mmmw_plat\openmax_al_api\tsrc\\OpenMAXALTestModule\
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-USE_WINDOWS_ENCODING   = YES
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = NO
-INHERIT_DOCS           = YES
-DISTRIBUTE_GROUP_DOC   = NO
-TAB_SIZE               = 8
-ALIASES                = 
-OPTIMIZE_OUTPUT_FOR_C  = YES
-OPTIMIZE_OUTPUT_JAVA   = NO
-SUBGROUPING            = YES
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = YES
-EXTRACT_PRIVATE        = NO
-EXTRACT_STATIC         = NO
-EXTRACT_LOCAL_CLASSES  = NO
-EXTRACT_LOCAL_METHODS  = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = YES
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = NO
-GENERATE_TESTLIST      = NO
-GENERATE_BUGLIST       = NO
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
-MAX_INITIALIZER_LINES  = 30
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = YES
-FILE_VERSION_FILTER    = 
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = NO
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = YES
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = 
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = W:\sf\mw\mmmw\mmmw_plat\openmax_al_api\tsrc\\OpenMAXALTestModule\
-FILE_PATTERNS          = *.h \
-                         *.rh \
-                         *.hrh
-RECURSIVE              = YES
-EXCLUDE                = 
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
-FILTER_SOURCE_FILES    = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = NO
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
-VERBATIM_HEADERS       = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = NO
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = NO
-HTML_OUTPUT            = html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
-HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = YES
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-BINARY_TOC             = YES
-TOC_EXPAND             = YES
-DISABLE_INDEX          = YES
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = YES
-TREEVIEW_WIDTH         = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = NO
-LATEX_OUTPUT           = latex
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = NO
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = 
-LATEX_HEADER           = 
-PDF_HYPERLINKS         = NO
-USE_PDFLATEX           = NO
-LATEX_BATCHMODE        = NO
-LATEX_HIDE_INDICES     = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = YES
-RTF_OUTPUT             = Doc
-COMPACT_RTF            = YES
-RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_LINKS              = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = YES
-EXPAND_ONLY_PREDEF     = NO
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = NONSHARABLE_CLASS
-EXPAND_AS_DEFINED      = 
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = YES
-HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = NO
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = YES
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = YES
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = YES
-DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-MAX_DOT_GRAPH_WIDTH    = 1024
-MAX_DOT_GRAPH_HEIGHT   = 1024
-MAX_DOT_GRAPH_DEPTH    = 0
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/inc/TimeoutController.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description:
-*
-*/
-
-
-
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifLogger.h>
-#include <StifTestInterface.h>
-
-
-/* This class is used to notify the observer 
-*  about the timeout 
-*/
-class MTimeoutObserver
-{
-    public: // New functions
-    
-    /**
-    * Timeout 
-    */
-    virtual void HandleTimeout(TInt error) = 0;
-};
-    
-
-_LIT(KFormatTimeStamp, "%:0%J%:1%T%:2%S%.%*C4%:3%+B");
-
-
-/* This class is used for extra time controlling
-*  The STIF timeout isn't enough
-*/
-NONSHARABLE_CLASS(CSimpleTimeout) : public CActive
-{
-    public:     // Enumerations
-    // None
-
-    private:    // Enumerations
-    // None
-
-    public:     // Constructors and destructor
-
-    /**
-    * Two-phased constructor.
-    */
-    static CSimpleTimeout* NewL( MTimeoutObserver* aObserver, CStifLogger* aLogger);
-
-    /**
-    * Destructor.
-    */
-    ~CSimpleTimeout();
-
-    public:     // New functions
-
-    /**
-    * Starts timeout counting
-    */
-    void Start(TTimeIntervalMicroSeconds aTimeout);
-
-    /**
-    * Cancel timeout counting
-    */
-    void Stop();
-
-
-    public:     // Functions from base classes
-
-    /**
-    * RunL derived from CActive handles the completed requests.
-    */
-    void RunL();
-
-    /**
-    * DoCancel derived from CActive handles the cancel
-    */
-    void DoCancel();
-
-    /**
-    * RunError derived from CActive handles errors from active handler.
-    */
-    TInt RunError( TInt aError );
-
-    protected:  // New functions
-    // None
-
-    protected:  // Functions from base classes
-    // None
-
-    private:
-
-    /**
-    * By default Symbian OS constructor is private.
-    */
-    void ConstructL(MTimeoutObserver* aObserver, CStifLogger* aLogger);
-
-    /**
-    * C++ constructor.
-    */
-    CSimpleTimeout();
-
-    public:     // Data
-    // None
-
-    protected:  // Data
-    // None
-
-    private:    // Data
-    MTimeoutObserver*   iObserver;
-    RTimer 						  iTimer;
-
-    // Storage for testcase timeout.
-    TTime 						iTestCaseTimeout;
-    CStifLogger*				iLog;
-
-    public:     // Friend classes
-    // None
-
-    protected:  // Friend classes
-    // None
-
-    private:    // Friend classes
-    // None
-
-};
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/inc/openmaxaltestmodule.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,567 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: STIF testclass declaration
-*
-*/
-
-#ifndef OPENMAXALTESTMODULE_H
-#define OPENMAXALTESTMODULE_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include <TestclassAssert.h>
-#include <OpenMAXAL.h>
-#include <xanokialinearvolumeitf.h>
-#include <xanokiavolumeextitf.h>
-#include <e32msgqueue.h>
-#include "TimeoutController.h"
-#include <w32std.h>
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-// CONSTANTS
-const TInt KErrBadTestParameter= -1000;         // Error on configuration file
-
-const TInt KErrEventPending =-2000;             // Timeout and not callback 
-const TInt KErrCallbackErrorCode = -2001;       // Callback return error code
-const TInt KErrUnexpectedValue =-2002;          // Unexpected value at setting    
-const TInt KErrTimeoutController = -2007;       // Unexpected notification
-
-const TInt KShortTimeout = 1000;
-const TInt KMediumTimeout = 4000;
-const TInt KLongTimeout = 100000;
-
-
-_LIT( KMsgBadTestParameters, "[Error] No valid test case parameters");
-// MACROS
-#define RET_ERR_IF_ERR(err) if (err!=KErrNone) return err;
-//#define ?macro ?macro_def
-#define TEST_CLASS_VERSION_MAJOR 0
-#define TEST_CLASS_VERSION_MINOR 0
-#define TEST_CLASS_VERSION_BUILD 0
-
-// Logging path
-_LIT( KOpenMAXALTestModuleLogPath, "\\logs\\testframework\\OpenMAXALTestModule\\" ); 
-// Log file
-_LIT( KOpenMAXALTestModuleLogFile, "OpenMAXALTestModule.txt" ); 
-_LIT( KOpenMAXALTestModuleLogFileWithTitle, "OpenMAXALTestModule_[%S].txt" );
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-class COpenMAXALTestModule;
-
-// DATA TYPES
-#define MAX_NUMBER_OPTIONS 2
-#define MAX_NUMBER_INTERFACES 20
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// CLASS DECLARATION
-
-/**
-*  COpenMAXALTestModule test class for STIF Test Framework TestScripter.
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-NONSHARABLE_CLASS(COpenMAXALTestModule) : public CScriptBase,
-                                            public MTimeoutObserver
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static COpenMAXALTestModule* NewL( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * Destructor.
-        */
-        virtual ~COpenMAXALTestModule();
-
-        virtual void HandlePlayItfCallback( XAPlayItf caller, XAuint32 event );
-        virtual void HandleRadioItfCallback(XARadioItf caller, XAuint32 event );
-        virtual void HandleObjectCallback(XAObjectItf caller,XAuint32 event,
-                                XAresult result,XAuint32 param, void * pInterface);
-     
-        enum TOMXExpectedEvent
-            {
-            EEOSReceived = 1
-            };
-    
-    public: // New functions
-
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-    public: // Functions from base classes
-
-        /**
-        * From CScriptBase Runs a script line.
-        * @since ?Series60_version
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
-
-        // From MTimeoutObserver
-
-        /**
-        * @since ?Series60_version
-        * @param none
-        * Review if all the expected events have ocurred once the time is over
-        */
-        void HandleTimeout(TInt error);
-
-        /**
-        * Verify that the event was expected, removes it from the list
-        * Signal the TestScripter with the returned error code
-        * @since ?Series60_version
-        */
-        void ProcessEvent(TOMXExpectedEvent aEvent, TInt aError);        
-    protected:  // New functions
-
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-    protected:  // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        COpenMAXALTestModule( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-        /**
-        * Frees all resources allocated from test methods.
-        * @since ?Series60_version
-        */
-        void Delete();
-
-        /**
-        * Set an event as expected and set default timeout
-        * @since ?Series60_version
-        */
-        void AddExpectedEvent(TOMXExpectedEvent event, TInt ms);
-
-
-        /**
-        * Unset an event as expected
-        * @since ?Series60_version
-        */
-        TBool RemoveExpectedEvent(TOMXExpectedEvent event);
-
-
-        /**
-        * @since ?Series60_version
-        * @param none
-        * Removes all expected events
-        */
-        void RemoveAllExpectedEvents();
-
-
-
-        /**
-        * Maps a event with a descriptor with its name
-        * @since ?Series60_version
-        */
-        TPtrC EventName( TInt aKey );
-
-        /*
-        * Test methods are listed below.
-        */
-
-        /**
-        * Sets a timeout different since the default
-        * @since Series60_3_2
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        TInt SetTimeout( CStifItemParser& aItem );
-
-        /**
-        *
-        * @since Series60_3_2
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        TInt SetExpectedEvents( CStifItemParser& aItem );
-
-        /**
-        *
-        * @since Series60_3_2
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        TInt SetAllowedPanic( CStifItemParser& aItem );
-        
-        /**
-        * Test methods are listed below. 
-        */
-
-        /**
-        * Example test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt ExampleL( CStifItemParser& aItem );
-        
-        virtual TInt al_SetDataSource( CStifItemParser& aItem );
-        virtual TInt al_SetDataSink( CStifItemParser& aItem );        
-        virtual TInt al_SetDataLocator( CStifItemParser& aItem );        
-        virtual TInt al_SetDataFormat( CStifItemParser& aItem );        
-        virtual TInt al_CreateWindow( CStifItemParser& aItem );
-        virtual TInt al_DeleteWindow( CStifItemParser& aItem );        
-
-        virtual TInt al_createEngine( CStifItemParser& aItem );
-        virtual TInt al_queryNumSupportedEngineInterfaces( CStifItemParser& aItem );
-        virtual TInt al_querySupportedEngineInterfaces( CStifItemParser& aItem );
-        virtual TInt al_objitf_Realize( CStifItemParser& aItem );
-        virtual TInt al_objitf_Resume( CStifItemParser& aItem );
-        virtual TInt al_objitf_GetState( CStifItemParser& aItem );
-        virtual TInt al_objitf_GetInterface( CStifItemParser& aItem );
-        virtual TInt al_objitf_RegisterCallback( CStifItemParser& aItem );
-        virtual TInt al_objitf_AbortAsyncOperation( CStifItemParser& aItem );
-        virtual TInt al_objitf_Destroy( CStifItemParser& aItem );
-        virtual TInt al_objitf_SetPriority( CStifItemParser& aItem );
-        virtual TInt al_objitf_GetPriority( CStifItemParser& aItem );
-        virtual TInt al_objitf_SetLossOfControlInterfaces( CStifItemParser& aItem );
-        
-        virtual TInt al_dimitf_AddInterface( CStifItemParser& aItem );
-        virtual TInt al_dimitf_RemoveInterface( CStifItemParser& aItem );
-        virtual TInt al_dimitf_ResumeInterface( CStifItemParser& aItem );
-        virtual TInt al_dimitf_RegisterCallback( CStifItemParser& aItem );
-        
-        
-        virtual TInt al_engitf_CreateCameraDevice( CStifItemParser& aItem );
-        virtual TInt al_engitf_CreateRadioDevice( CStifItemParser& aItem );
-        virtual TInt al_engitf_CreateLEDDevice( CStifItemParser& aItem );
-        virtual TInt al_engitf_CreateVibraDevice( CStifItemParser& aItem );
-        virtual TInt al_engitf_CreateMediaPlayer( CStifItemParser& aItem );
-        virtual TInt al_engitf_CreateMediaRecorder( CStifItemParser& aItem );
-        virtual TInt al_engitf_CreateOutputMix( CStifItemParser& aItem );
-        virtual TInt al_engitf_CreateMetadataExtractor( CStifItemParser& aItem );
-        virtual TInt al_engitf_CreateExtensionObject( CStifItemParser& aItem );
-        virtual TInt al_engitf_GetImplementationInfo( CStifItemParser& aItem );
-        virtual TInt al_engitf_QuerySupportedProfiles( CStifItemParser& aItem );
-        virtual TInt al_engitf_QueryNumSupportedInterfaces( CStifItemParser& aItem );
-        virtual TInt al_engitf_QuerySupportedInterfaces( CStifItemParser& aItem );
-        virtual TInt al_engitf_QueryNumSupportedExtension( CStifItemParser& aItem );
-        virtual TInt al_engitf_QuerySupportedExtension( CStifItemParser& aItem );
-        virtual TInt al_engitf_IsExtensionSupported( CStifItemParser& aItem );
-        virtual TInt al_engitf_QueryLEDCapabilities( CStifItemParser& aItem );
-        virtual TInt al_engitf_QueryVibraCapabilities( CStifItemParser& aItem );
-        virtual TInt al_audioiodevcapitf_GetAvailableAudioInputs( CStifItemParser& aItem );
-        virtual TInt al_audioiodevcapitf_QueryAudioInputCapabilities( CStifItemParser& aItem );
-        virtual TInt al_audioiodevcapitf_RegisterAvailableAudioInputsChangedCallback( CStifItemParser& aItem );
-        virtual TInt al_audioiodevcapitf_GetAvailableAudioOutputs( CStifItemParser& aItem );
-        virtual TInt al_audioiodevcapitf_QueryAudioOutputCapabilities( CStifItemParser& aItem );
-        virtual TInt al_audioiodevcapitf_RegisterAvailableAudioOutputsChangedCallback( CStifItemParser& aItem );
-        virtual TInt al_audioiodevcapitf_RegisterDefaultDeviceIDMapChangedCallback( CStifItemParser& aItem );
-        virtual TInt al_audioiodevcapitf_GetAssociatedAudioInputs( CStifItemParser& aItem );
-        virtual TInt al_audioiodevcapitf_GetAssociatedAudioOutputs( CStifItemParser& aItem );
-        virtual TInt al_audioiodevcapitf_GetDefaultAudioDevices( CStifItemParser& aItem );
-        virtual TInt al_audioiodevcapitf_QuerySampleFormatsSupported( CStifItemParser& aItem );
-        virtual TInt al_audioencodercapitf_GetAudioEncoders( CStifItemParser& aItem );
-        virtual TInt al_audioencodercapitf_GetAudioEncoderCapabilities( CStifItemParser& aItem );
-        virtual TInt al_recorditf_SetRecordState( CStifItemParser& aItem );
-        virtual TInt al_recorditf_GetRecordState( CStifItemParser& aItem );
-        virtual TInt al_recorditf_SetDurationLimit( CStifItemParser& aItem );
-        virtual TInt al_recorditf_GetPosition( CStifItemParser& aItem );
-        virtual TInt al_recorditf_RegisterCallback( CStifItemParser& aItem );
-        virtual TInt al_recorditf_SetCallbackEventsMask( CStifItemParser& aItem );
-        virtual TInt al_recorditf_GetCallbackEventsMask( CStifItemParser& aItem );
-        virtual TInt al_recorditf_SetMarkerPosition( CStifItemParser& aItem );
-        virtual TInt al_recorditf_ClearMarkerPosition( CStifItemParser& aItem );
-        virtual TInt al_recorditf_GetMarkerPosition( CStifItemParser& aItem );
-        virtual TInt al_recorditf_SetPositionUpdatePeriod( CStifItemParser& aItem );
-        virtual TInt al_recorditf_GetPositionUpdatePeriod( CStifItemParser& aItem );
-        virtual TInt al_audioencoderitf_SetEncoderSettings( CStifItemParser& aItem );
-        virtual TInt al_audioencoderitf_GetEncoderSettings( CStifItemParser& aItem );
-        virtual TInt al_metadatainsertionitf_CreateChildNode( CStifItemParser& aItem );
-        virtual TInt al_metadatainsertionitf_GetSupportedKeysCount( CStifItemParser& aItem );
-        virtual TInt al_metadatainsertionitf_GetKeySize( CStifItemParser& aItem );
-        virtual TInt al_metadatainsertionitf_GetKey( CStifItemParser& aItem );
-        virtual TInt al_metadatainsertionitf_GetFreeKeysEncoding( CStifItemParser& aItem );
-        virtual TInt al_metadatainsertionitf_InsertMetadataItem( CStifItemParser& aItem );
-        virtual TInt al_metadatainsertionitf_RegisterCallback( CStifItemParser& aItem );
-        
-        virtual TInt al_playitf_SetPlayState( CStifItemParser& aItem );
-        virtual TInt al_playitf_GetPlayState( CStifItemParser& aItem );
-        virtual TInt al_playitf_GetDurationNullParam( CStifItemParser& aItem );
-        virtual TInt al_playitf_GetDuration( CStifItemParser& aItem );
-        virtual TInt al_playitf_GetPositionNullParam( CStifItemParser& aItem );
-        virtual TInt al_playitf_GetPosition( CStifItemParser& aItem );
-        virtual TInt al_playitf_RegisterCallback( CStifItemParser& aItem );
-        virtual TInt al_playitf_SetCallbackEventMask( CStifItemParser& aItem );
-        virtual TInt al_playitf_GetCallbackEventMaskNullParam( CStifItemParser& aItem );
-        virtual TInt al_playitf_GetCallbackEventMask( CStifItemParser& aItem );
-        virtual TInt al_playitf_SetMarkerPosition( CStifItemParser& aItem );
-        virtual TInt al_playitf_ClearMarkerPosition( CStifItemParser& aItem );
-        virtual TInt al_playitf_GetMarkerPositionNullParam( CStifItemParser& aItem );
-        virtual TInt al_playitf_GetMarkerPosition( CStifItemParser& aItem );
-        virtual TInt al_playitf_SetPositionUpdatePeriod( CStifItemParser& aItem );
-        virtual TInt al_playitf_GetPositionUpdatePeriodNullParam( CStifItemParser& aItem );
-        virtual TInt al_playitf_GetPositionUpdatePeriod( CStifItemParser& aItem );
-
-        virtual TInt al_seekitf_SetPosition( CStifItemParser& aItem );
-        virtual TInt al_seekitf_SetLoop( CStifItemParser& aItem );
-        virtual TInt al_seekitf_GetLoop( CStifItemParser& aItem );
-        
-        virtual TInt al_dynsrcitf_SetSource( CStifItemParser& aItem );
-        
-        virtual TInt al_radioitf_SetFreqRange(CStifItemParser& aItem );
-        virtual TInt al_radioitf_GetFreqRange(CStifItemParser& aItem );
-        virtual TInt al_radioitf_IsFreqRangeSupported(CStifItemParser& aItem );
-        virtual TInt al_radioitf_GetFreqRangeProperties(CStifItemParser& aItem );
-        virtual TInt al_radioitf_SetFrequency(CStifItemParser& aItem );
-        virtual TInt al_radioitf_CancelSetFrequency(CStifItemParser& aItem );
-        virtual TInt al_radioitf_GetFrequency(CStifItemParser& aItem );
-        virtual TInt al_radioitf_SetSquelch(CStifItemParser& aItem );
-        virtual TInt al_radioitf_GetSquelch(CStifItemParser& aItem );
-        virtual TInt al_radioitf_SetStereoMode(CStifItemParser& aItem );
-        virtual TInt al_radioitf_GetStereoMode(CStifItemParser& aItem );
-        virtual TInt al_radioitf_GetSignalStrength(CStifItemParser& aItem );
-        virtual TInt al_radioitf_Seek(CStifItemParser& aItem );
-        virtual TInt al_radioitf_StopSeeking(CStifItemParser& aItem ); 
-       	virtual TInt al_radioitf_RegisterRadioCallback(CStifItemParser& aItem ); 
-        virtual TInt al_radioitf_GetFrequencyDefault( CStifItemParser& aItem);
-        virtual TInt al_radioitf_GetFreqRangeDefault( CStifItemParser& aItem );
-
-        virtual TInt al_strminfoitf_QueryMediaContainerInformation( CStifItemParser& aItem );
-        virtual TInt al_strminfoitf_QueryStreamType( CStifItemParser& aItem );
-        virtual TInt al_strminfoitf_QueryStreamInformation( CStifItemParser& aItem );
-        virtual TInt al_strminfoitf_QueryStreamName( CStifItemParser& aItem );
-        virtual TInt al_strminfoitf_RegisterStreamChangeCallback( CStifItemParser& aItem );
-        virtual TInt al_strminfoitf_QueryActiveStreams( CStifItemParser& aItem );
-        virtual TInt al_strminfoitf_SetActiveStream( CStifItemParser& aItem );        
-        
-        virtual TInt al_volumeitf_SetVolumeLevel( CStifItemParser& aItem );
-        virtual TInt al_volumeitf_GetVolumeLevel( CStifItemParser& aItem );
-        virtual TInt al_volumeitf_GetMaxVolumeLevel( CStifItemParser& aItem );
-        virtual TInt al_volumeitf_SetMute( CStifItemParser& aItem );
-        virtual TInt al_volumeitf_GetMute( CStifItemParser& aItem );
-        virtual TInt al_volumeitf_EnableStereoPosition( CStifItemParser& aItem );
-        virtual TInt al_volumeitf_IsEnabledStereoPosition( CStifItemParser& aItem );
-        virtual TInt al_volumeitf_SetStereoPosition( CStifItemParser& aItem );
-        virtual TInt al_volumeitf_GetStereoPosition( CStifItemParser& aItem );
-
-        virtual TInt al_nokiavolumeextitf_SetVolumeLevel( CStifItemParser& aItem ); 
-        virtual TInt al_nokiavolumeextitf_GetVolumeLevel( CStifItemParser& aItem ); 
-        virtual TInt al_nokiavolumeextitf_GetMaxVolumeLevel( CStifItemParser& aItem ); 
-        virtual TInt al_nokiavolumeextitf_SetMute( CStifItemParser& aItem ); 
-        virtual TInt al_nokiavolumeextitf_GetMute( CStifItemParser& aItem ); 
-        virtual TInt al_nokiavolumeextitf_EnableStereoPosition( CStifItemParser& aItem ); 
-        virtual TInt al_nokiavolumeextitf_IsEnabledStereoPosition( CStifItemParser& aItem ); 
-        virtual TInt al_nokiavolumeextitf_SetStereoPosition( CStifItemParser& aItem ); 
-        virtual TInt al_nokiavolumeextitf_GetStereoPosition( CStifItemParser& aItem ); 
-        virtual TInt al_nokiavolumeextitf_RegisterVolumeCallback( CStifItemParser& aItem ); 
-        virtual TInt al_nokiavolumeextitf_SetCallbackEventsMask( CStifItemParser& aItem ); 
-        virtual TInt al_nokiavolumeextitf_GetCallbackEventsMask( CStifItemParser& aItem ); 
-
-        virtual TInt al_nokialinearvolumeitf_SetVolumeLevel( CStifItemParser& aItem );
-        virtual TInt al_nokialinearvolumeitf_GetVolumeLevel( CStifItemParser& aItem );
-        virtual TInt al_nokialinearvolumeitf_SetGetVolumeLevel( CStifItemParser& aItem );        
-        virtual TInt al_nokialinearvolumeitf_GetStepCount( CStifItemParser& aItem );
-        virtual TInt al_nokialinearvolumeitf_RegisterVolumeCallback( CStifItemParser& aItem );
-        virtual TInt al_nokialinearvolumeitf_SetCallbackEventsMask( CStifItemParser& aItem );
-        virtual TInt al_nokialinearvolumeitf_GetCallbackEventsMask( CStifItemParser& aItem );
-
-        virtual TInt al_metadataextractionitf_GetItemCount( CStifItemParser& aItem );
-		virtual TInt al_metadataextractionitf_GetKeySize( CStifItemParser& aItem );
-		virtual TInt al_metadataextractionitf_GetKey( CStifItemParser& aItem );
-		virtual TInt al_metadataextractionitf_GetValueSize( CStifItemParser& aItem );
-		virtual TInt al_metadataextractionitf_GetValue( CStifItemParser& aItem );
-		virtual TInt al_metadataextractionitf_AddKeyFilter( CStifItemParser& aItem );
-		virtual TInt al_metadataextractionitf_ClearKeyFilter( CStifItemParser& aItem );
-		virtual TInt al_metadataextractionitf_GetCoverArt( CStifItemParser& aItem );
-		
-		virtual TInt al_playbackrateitf_SetRate( CStifItemParser& aItem );
-		virtual TInt al_playbackrateitf_GetRate( CStifItemParser& aItem );
-		virtual TInt al_playbackrateitf_SetPropertyConstraints( CStifItemParser& aItem );
-		virtual TInt al_playbackrateitf_GetProperties( CStifItemParser& aItem );
-		virtual TInt al_playbackrateitf_GetCapabilitiesOfRate( CStifItemParser& aItem );
-		virtual TInt al_playbackrateitf_GetRateRange( CStifItemParser& aItem );
-
-        /**
-         * Method used to log version of test class
-         */
-        void SendTestClassVersion();
-
-        //ADD NEW METHOD DEC HERE
-        //[TestMethods] - Do not remove
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-        enum TObjectType
-            {
-            EEngine = 1,
-            EMediaRecorder,
-/*
-            ERecordItf,
-            EEngineItf
-*/
-            EMediaPlayer = 4
-            };
-
-    protected:  // Data
-        TInt MapErr(XAresult xa_res);
-        XAInterfaceID MapInterface(TInt interface);
-        XAObjectItf COpenMAXALTestModule::GetObject(TInt object);
-        TInt StoreInterface(TInt interface, void* id);
-        xaObjectCallback GetCallbackFunc(TInt object);
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        
-        // reference to TestModuleIf
-        CTestModuleIf& iTestModuleIf;
-        // Active object with a timer to timeout the test case
-        CSimpleTimeout * iTimeoutController;
-
-        // Indicates if the test case use a normal exit reason
-        TBool iNormalExitReason;
-
-        // List of expected events
-        RArray<TOMXExpectedEvent> iExpectedEvents;
-
-        // List of notification event (by the callback)
-        RArray<TOMXExpectedEvent> iOcurredEvents;
-        
-        
-        XAboolean     required[MAX_NUMBER_INTERFACES]; 
-        XAInterfaceID iidArray[MAX_NUMBER_INTERFACES]; 
-        XAEngineOption EngineOption[MAX_NUMBER_OPTIONS];
-                                    
-        XAObjectItf m_EOEngine;
-        XAObjectItf m_MORecorder;
-        XAObjectItf m_MOPlayer;
-        XARecordItf m_RecordItf;
-        XAObjectItf m_MOOutputMix;
-        XAObjectItf m_MOMetadataExtractor;
-        XAObjectItf m_MOExtnObject;
-        XAObjectItf m_MOVibraObject;
-        XAObjectItf m_MOLEDObject;
-        XAObjectItf m_MORadioObject;
-        XAObjectItf m_MOCameraObject;
-
-        XAPlayItf m_PlayItf;
-        XASeekItf m_SeekItf;
-        XARadioItf m_RadioItf;
-        XADynamicSourceItf m_DynSrcItf;
-        XAPlaybackRateItf m_PlaybackRateItf;
-        
-        XAVolumeItf m_VolumeItf;
-        XANokiaLinearVolumeItf  m_NokiaLinearVolumeItf;
-        XANokiaVolumeExtItf m_NokiaVolumeExtItf;
-        
-        XADynamicInterfaceManagementItf m_DIMItf;
-        XAStreamInformationItf m_StrInfoItf;
-        
-        XAEngineItf m_EngineItf;
-        XAAudioIODeviceCapabilitiesItf m_AIODevCapItf;
-        XAAudioEncoderCapabilitiesItf m_AEncCapItf;
-        XAAudioEncoderItf m_AudEncItf;
-        XAMetadataInsertionItf m_MetadataInsertionItf;
-        XAMetadataExtractionItf m_MetadataExtractionItf;
-        
-        /*Audio Source*/
-        XADataSource m_AudioSource;
-        XADataLocator_IODevice  m_SrcIODevice;
-        XADataLocator_IODevice  m_SinkIODevice;
-
-        /*Image/Video Source*/
-        XADataSource m_VideoSource;
-       
-        /*MetadataExtractor Source*/
-        XADataSource m_MOMetadataExtractorSource;
-
-        /*Dynamic Source*/
-        XADataSource m_DynamicSource;
-        
-        /*Data Sink*/
-        XADataSink m_DataSink;
-        XADataSink m_AudioSink;
-        XADataSink m_VideoSink;
-        XADataLocator_NativeDisplay m_NativeDisplay;
-        XADataSink m_LEDSink;
-        XADataSink m_VibraSink;
-        
-        
-        XADataLocator_URI m_Uri;
-        HBufC8* m_URIName;
-        
-        XADataFormat_MIME m_Mime;
-        HBufC8* m_MimeType;
-
-        RWsSession iRwSession;
-        RWindowGroup iRwGroup;
-        RWindow iRWindow;
-        CWsScreenDevice* iDevice;
-		
-        XAAudioEncoderSettings m_audioensettings;
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-        // Reserved pointer for future extension
-        //TAny* iReserved;
-
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
-
-    };
-
-#endif      // OPENMAXALTESTMODULE_H
-
-// End of File
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/inc/profileutilmacro.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description:
-*
-*/
-
-
-#ifndef PROFILEUTILMACRO_H
-#define PROFILEUTILMACRO_H
-
-/*
-// MACROS to be defined to use profiling
-PROFILE_TIME
-PROFILE_RAM_USAGE
-PROFILE_HEAP_USAGE
-PRINT_TO_CONSOLE_TIME_DIFF
-PRINT_TO_CONSOLE_RAM_DIFF
-PRINT_TO_CONSOLE_HEAP_DIFF
-*/
-
-#if defined(PROFILE_TIME) || defined(PROFILE_RAM_USAGE) || defined(PROFILE_HEAP_USAGE)
-#include <e32debug.h>
-#include <hal.h>
-#endif
-
-#ifdef PROFILE_TIME
-#define TAG_TIME_PROFILING_BEGIN \
-    TTime beginProfilingTime; \
-    beginProfilingTime.HomeTime()
-
-#define TAG_TIME_PROFILING_END \
-    TTime endProfilingTime; \
-    endProfilingTime.HomeTime(); \
-    TTimeIntervalMicroSeconds diffInMicroSecs = endProfilingTime.MicroSecondsFrom(beginProfilingTime)
-
-#define PRINT_TO_CONSOLE_TIME_DIFF \
-    RDebug::Printf("VPROFILEDAT: %s : Time taken[%u]microseconds ", __PRETTY_FUNCTION__, diffInMicroSecs.Int64())
-#else /* Empty macros */
-#define TAG_TIME_PROFILING_BEGIN
-#define TAG_TIME_PROFILING_END
-#define PRINT_TO_CONSOLE_TIME_DIFF
-#endif /*PROFILE_TIME*/
-
-#ifdef PROFILE_RAM_USAGE
-#define TAG_RAM_PROFILING_BEGIN \
-    TInt beginProfilingRAM; \
-    TInt err1 = HAL::Get(HALData::EMemoryRAMFree, beginProfilingRAM)
-
-#define TAG_RAM_PROFILING_END \
-    TInt endProfilingRAM; \
-    TInt err2 = HAL::Get(HALData::EMemoryRAMFree, endProfilingRAM)
-
-#define PRINT_TO_CONSOLE_RAM_DIFF \
-    if ((err1 == KErrNone) && (err2 == KErrNone)) \
-        { \
-        TInt diffRAM = (beginProfilingRAM - endProfilingRAM); \
-        if ( diffRAM > 0 ) \
-            { \
-            RDebug::Printf("VPROFILEDAT: %s : RAM used[%u]bytes ", __PRETTY_FUNCTION__, diffRAM); \
-            } \
-        else \
-            { \
-            RDebug::Printf("VPROFILEDAT: %s : RAM freed[%u]bytes ", __PRETTY_FUNCTION__, (-diffRAM)); \
-            } \
-        } \
-    else \
-        { \
-        RDebug::Printf("VPROFILEDAT: %s : Error1[%d] Error2[%d] ", __PRETTY_FUNCTION__, err1, err2); \
-        }
-
-#else /* Empty macros */
-#define TAG_RAM_PROFILING_BEGIN
-#define TAG_RAM_PROFILING_END
-#define PRINT_TO_CONSOLE_RAM_DIFF
-#endif /*PROFILE_RAM_USAGE*/
-
-#ifdef PROFILE_HEAP_USAGE
-#define TAG_DEFAULT_HEAP_PROFILING_BEGIN \
-    TInt beginProfilingHEAPBiggestBlock; \
-    TInt beginProfilingHEAP = User::Available(beginProfilingHEAPBiggestBlock) \
-
-#define TAG_DEFAULT_HEAP_PROFILING_END \
-    TInt endProfilingHEAPBiggestBlock; \
-    TInt endProfilingHEAP = User::Available(endProfilingHEAPBiggestBlock) \
-
-#define PRINT_TO_CONSOLE_HEAP_DIFF \
-    TInt diffHEAP = beginProfilingHEAP - endProfilingHEAP; \
-    if ( diffHEAP > 0 ) \
-        { \
-        RDebug::Printf("VPROFILEDAT: %s : HEAP used[%u]bytes ", __PRETTY_FUNCTION__, diffHEAP); \
-        } \
-    else \
-        { \
-        RDebug::Printf("VPROFILEDAT: %s : HEAP freed[%u]bytes ", __PRETTY_FUNCTION__, (-diffHEAP)); \
-        }
-#else /* Empty macros */
-#define TAG_DEFAULT_HEAP_PROFILING_BEGIN
-#define TAG_DEFAULT_HEAP_PROFILING_END
-#define PRINT_TO_CONSOLE_HEAP_DIFF
-#endif /*PROFILE_HEAP_USAGE*/
-
-#endif /* PROFILEUTILMACRO_H */
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/init/testframework.ini	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,248 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-#
-# Description: 
-#
-
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module.
-# 	- Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation
-#		DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02
-#
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
-                                                               'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= c:\LOGS\TestFramework\
-TestReportFileName= TestReport_OmxALTestClass
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= APPEND	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-DisableMeasurement= stifmeasurementdisablenone	# Possible values are:
-						# 'stifmeasurementdisablenone', 'stifmeasurementdisableall'
-					  	# 'stifmeasurementplugin01', 'stifmeasurementplugin02',
-					  	# 'stifmeasurementplugin03', 'stifmeasurementplugin04',
-					  	# 'stifmeasurementplugin05' or 'stifbappeaprofiler'
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-#[New_Module]
-#ModuleName= demomodule
-#[End_Module]
-
-[New_Module]
-ModuleName= TestScripter
-IniFile = c:\testframework\openmaxaltestmodule_common.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_common_noklinvolitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_common_nokvolextitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_common_volumeitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_objectitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mr.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mr_mdinsertionitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_engine_audenccapitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_global.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_engine_engineitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_engine_aiodcitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mp.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mp_objectitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mp_playitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_common_dynsrcitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mp_seekitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mp_strminfoitf.cfg
-#TestCaseFile= c:\testframework\openmaxaltestmodule_mp_preemption.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mo_mdextractionitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mp_mdextractionitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mo.cfg
-#TestCaseFile= c:\testframework\openmaxaltestmodule_mp_variousformats.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_radioitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mp_streaming.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mr_audioencoderitf.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mr_recorditf.cfg
-#TestCaseFile= c:\testframework\openmaxaltestmodule_mr_recorditf_part2.cfg
-#TestCaseFile= c:\testframework\openmaxaltestmodule_mr_recorditf_part3.cfg
-#TestCaseFile= c:\testframework\openmaxaltestmodule_mr_recorditf_part4.cfg
-#TestCaseFile= c:\testframework\openmaxaltestmodule_mr_recorditf_aac_he.cfg
-#TestCaseFile= c:\testframework\openmaxaltestmodule_mr_record_aac_he_p2.cfg
-#TestCaseFile= c:\testframework\openmaxaltestmodule_mr_recorditf_aac_auto.cfg
-#TestCaseFile= c:\testframework\openmaxaltestmodule_mr_record_aac_au_p2.cfg
-TestCaseFile= c:\testframework\openmaxaltestmodule_mp_playbackrateitf.cfg
-[End_Module]
-
-
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleXXX used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-#	- Will write log file in unicode format.
-#		+ YES, Log file will be written in unicode format
-#		+ NO, Log will be written as normal, not unicode, file.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
-#NOTE: TestEngine and TestServer logging settings cannot change here
-
-CreateLogDirectories= YES		# Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML			# Possible values: TXT or HTML
-#EmulatorOutput= FILE			# Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML			# Possible values: TXT or HTML
-#HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-FileCreationMode= OVERWRITE		# Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES			# Possible values: YES or NO
-#WithTimeStamp= YES			# Possible values: YES or NO
-#WithLineBreak= YES			# Possible values: YES or NO
-#WithEventRanking= YES			# Possible values: YES or NO
-
-#FileUnicode= YES			# Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
\ No newline at end of file
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/TimeoutController.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,328 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description:
-*
-*/
-
-
-
-#include "openmaxaltestmodule.h"
-
-/*
--------------------------------------------------------------------------------
-
-Class: CSimpleTimeout
-
-Method: CSimpleTimeout
-
-Description: Default constructor
-
-C++ default constructor can NOT contain any code, that
-might leave.
-
-Parameters: None
-
-Return Values: None
-
-Errors/Exceptions: None
-
-Status: Approved
-
--------------------------------------------------------------------------------
-*/
-CSimpleTimeout::CSimpleTimeout() : CActive (CActive::EPriorityStandard)
-{
-   iLog->Log(_L("CSimpleTimeout::CSimpleTimeout"));
-}
-
-/*
--------------------------------------------------------------------------------
-
-Class: CSimpleTimeout
-
-Method: ConstructL
-
-Description: Symbian OS second phase constructor
-
-Symbian OS default constructor can leave.
-
-Parameters:
-
-Return Values: None
-
-Errors/Exceptions:
-
-Status: Approved
-
--------------------------------------------------------------------------------
-*/
-void CSimpleTimeout::ConstructL( MTimeoutObserver* aObserver,
-CStifLogger* aLogger)
-{
-   iLog->Log(_L("CSimpleTimeout::ConstructL"));
-    iObserver = aObserver;
-    iLog = aLogger;
-    iTimer.CreateLocal();
-    iTestCaseTimeout = 0;  // Initialize
-
-    // Add to active scheduler
-    CActiveScheduler::Add ( this );
-}
-
-/*
--------------------------------------------------------------------------------
-
-Class: CSimpleTimeout
-
-Method: NewL
-
-Description: Two-phased constructor.
-
-Parameters: const TTestReportOutput aReportOutput: in: Report output type
-
-Return Values: CSimpleTimeout* : pointer to created object
-
-Errors/Exceptions: Leaves if memory allocation for object fails
-Leaves if ConstructL leaves
-
-Status: Approved
-
--------------------------------------------------------------------------------
-*/
-CSimpleTimeout* CSimpleTimeout::NewL( MTimeoutObserver* aTestClass,
-CStifLogger* aLogger)
-{
-    CSimpleTimeout* self = new ( ELeave ) CSimpleTimeout();
-    CleanupStack::PushL( self );
-    self->ConstructL( aTestClass, aLogger);
-    CleanupStack::Pop( self );
-    return self;
-
-}
-
-/*
--------------------------------------------------------------------------------
-
-Class: CSimpleTimeout
-
-Method: ~CSimpleTimeout
-
-Description: Destructor.
-
-Cancel request
-
-Parameters: None
-
-Return Values: None
-
-Errors/Exceptions: None
-
-Status: Approved
-
--------------------------------------------------------------------------------
-*/
-CSimpleTimeout::~CSimpleTimeout()
-{
-   iLog->Log(_L("CSimpleTimeout::~CSimpleTimeout"));
-    Cancel();
-    iTimer.Close();
-}
-
-/*
--------------------------------------------------------------------------------
-
-Class: CSimpleTimeout
-
-Method: Start
-
-Description: Start timeout counting
-
-Parameters: None
-
-Return Values: None
-
-Errors/Exceptions: None
-
-Status: Approved
-
--------------------------------------------------------------------------------
-*/
-void CSimpleTimeout::Start(TTimeIntervalMicroSeconds aTimeout)
-{
-   iLog->Log(_L("CSimpleTimeout::Start"));
-    if (IsActive())
-    {
-        Cancel();
-    }
-
-    // Request timer
-    TTime endTime;
-    endTime.HomeTime();
-    endTime = endTime + aTimeout;
-
-    TInt64 miliseconds = aTimeout.Int64();
-    miliseconds /= 1000;
-
-    TBuf<30> dateString;
-    endTime.FormatL(dateString, KFormatTimeStamp);
-    iLog->Log(_L("Timer=%LD ms, EndTime=%S"), miliseconds, &dateString);
-
-    // Store absolute timeout
-    iTestCaseTimeout = endTime;
-
-    // Taken from STIF engine
-    // Note: iTimer.After() method cannot use because there needed
-    // TTimeIntervalMicroSeconds32 and it is 32 bit. So then cannot create
-    // timeout time that is long enough. At() uses 64 bit value=>Long enough.
-    iTimer.At( iStatus, endTime );
-    SetActive();
-}
-
-
-/*
--------------------------------------------------------------------------------
-
-Class: CSimpleTimeout
-
-Method: Start
-
-Description: Start timeout counting
-
-Parameters: None
-
-Return Values: None
-
-Errors/Exceptions: None
-
-Status: Approved
-
--------------------------------------------------------------------------------
-*/
-void CSimpleTimeout::Stop()
-{
-   iLog->Log(_L("CSimpleTimeout::Stop"));
-    if (IsActive())
-    {
-        Cancel();
-    }
-}
-/*
--------------------------------------------------------------------------------
-
-Class: CSimpleTimeout
-
-Method: RunL
-
-Description: RunL handles completed timeouts.
-
-Parameters: None
-
-Return Values: None
-
-Errors/Exceptions: None
-
-Status: Approved
-
--------------------------------------------------------------------------------
-*/
-void CSimpleTimeout::RunL()
-{
-   iLog->Log(_L("CSimpleTimeout::RunL"));
-	iLog->Log(_L("CSimpleTimeout::RunL"));
-    TTime timeout;
-    timeout.HomeTime();
-    // Handle the abort case when system time gets changed, but timeout is
-    // still valid. All other cases should timeout since they invalidate the
-    // logic of the timers.
-    if ( iStatus == KErrAbort)
-    {
-        if ( iTestCaseTimeout > timeout )
-        {
-            RDebug::Print( _L( "Absolute timer still valid. Restaring timer. iStatus: %d" ), iStatus.Int() );
-            // Start new timer
-            iStatus = KErrNone; // reset value
-            iTimer.At ( iStatus, iTestCaseTimeout );  // restart timer
-            SetActive();
-        }
-        else
-        {
-            // Absolute timer no longer valid. Must timeout.
-            iLog->Log(_L("Absolute timeout no longer valid"));
-            iObserver->HandleTimeout(KErrNone);
-        }
-
-    }
-    else
-    {
-        // Status was not KErrAbort. Timing out!
-        // iLog->Log(_L("CSimpleTimeout::RunL - Timeout !!"), iTimeout);
-        iLog->Log(_L("Timing out"));
-        iObserver->HandleTimeout(KErrNone);
-    }
-
-}
-
-/*
--------------------------------------------------------------------------------
-
-Class: CSimpleTimeout
-
-Method: DoCancel
-
-Description: Cancel active request
-
-Parameters: None
-
-Return Values: None
-
-Errors/Exceptions: None
-
-Status: Approved
-
--------------------------------------------------------------------------------
-*/
-void CSimpleTimeout::DoCancel()
-{
-   iLog->Log(_L("CSimpleTimeout::DoCancel"));
-    iTimer.Cancel();
-}
-
-/*
--------------------------------------------------------------------------------
-
-Class: CSimpleTimeout
-
-Method: RunError
-
-Description: Handle errors. Just let framework handle errors because
-RunL does not leave.
-
-Parameters: TInt aError: in: Symbian OS error: Error code
-
-Return Values: TInt: Symbian OS error code
-
-Errors/Exceptions: None
-
-Status: Approved
-
--------------------------------------------------------------------------------
-*/
-TInt CSimpleTimeout::RunError( TInt aError )
-{
-   iLog->Log(_L("CSimpleTimeout::RunError"));
-    iLog->Log(_L("Timeout error %d"), aError);
-    iObserver->HandleTimeout(aError);
-    return aError;
-}
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalcommontests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,473 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-#include <coedef.h>
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_SetDataSink( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt type;
-    TInt formattype(0);
-
-    TInt sinktype(0);
-    XADataSink commonSink = {NULL,NULL};
-    
-    status = aItem.GetNextInt(type);
-    if(!status)
-        {
-        switch(type)
-            {
-            case XA_DATALOCATOR_URI:
-                {
-                commonSink.pLocator = &m_Uri;
-                }
-                break;
-            case XA_DATALOCATOR_ADDRESS:
-            case XA_DATALOCATOR_IODEVICE:
-                {
-                m_SinkIODevice.locatorType = XA_DATALOCATOR_IODEVICE;
-                commonSink.pLocator = &m_SinkIODevice;
-                }
-                break;
-            case XA_DATALOCATOR_NATIVEDISPLAY:
-                {
-                m_NativeDisplay.locatorType = XA_DATALOCATOR_NATIVEDISPLAY;
-                m_NativeDisplay.hWindow = (void*)&iRWindow;
-                m_NativeDisplay.hDisplay = (void*)&iRwSession;
-                commonSink.pLocator = &m_NativeDisplay;
-                }
-                break;
-            case XA_DATALOCATOR_OUTPUTMIX:
-            default:
-                status = KErrGeneral;
-                break;
-            }
-        }
-
-    if(!status)
-        {
-        status = aItem.GetNextInt(formattype);
-        if (type == XA_DATALOCATOR_IODEVICE)
-            { /* Sink IO device can only be audio output*/
-            if (formattype == 6)
-                {
-                m_SinkIODevice.deviceType = formattype;
-                }
-            else
-                {
-                status = KErrGeneral;
-                }
-            }
-        else
-            {
-            switch(formattype)
-                {
-                case XA_DATAFORMAT_MIME:
-                    {
-                    commonSink.pFormat = &m_Mime;
-                    }
-                    break;
-                case XA_DATAFORMAT_PCM:
-                case XA_DATAFORMAT_RAWIMAGE:
-                    break;
-                default:
-                    break;
-                }
-            }
-        }
-
-    if(!status)
-         {
-         status = aItem.GetNextInt(sinktype);
-         if(!status)
-             {
-             switch(sinktype)
-                 {
-                 case 1:
-                     m_AudioSink = commonSink;
-                     break;
-                 case 2:
-                     m_VideoSink = commonSink;
-                     break;
-                 case 3:
-                     m_LEDSink = commonSink;
-                     break;
-                 case 4:
-                     m_VibraSink = commonSink;
-                     break;
-                 case 5:
-                     m_DataSink = commonSink;
-                     break;
-                 default:
-                     status = KErrGeneral;
-                     break;
-                 }
-             }
-         }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_SetDataSource( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt type;
-    TInt sourcetype(0);
-    TInt formattype(0);
-
-    XADataSource commonSource = {NULL,NULL};
-    status = aItem.GetNextInt(type);
-    if(!status)
-        {
-        switch(type)
-            {
-            case XA_DATALOCATOR_URI:
-                {
-                commonSource.pLocator = &m_Uri;
-                }                
-                break;
-            case XA_DATALOCATOR_ADDRESS:
-            case XA_DATALOCATOR_IODEVICE:
-                {
-                commonSource.pLocator = &m_SrcIODevice;
-                }
-            case XA_DATALOCATOR_OUTPUTMIX:
-            case XA_DATALOCATOR_NATIVEDISPLAY:
-                break;
-            default:
-                status = KErrGeneral;
-                break;
-            }
-        }
-
-    if(!status)
-        {
-        status = aItem.GetNextInt(formattype);
-        if(!status)
-            {
-            switch(formattype)
-                {
-                case XA_DATAFORMAT_MIME:
-                    {
-                    commonSource.pFormat = (void*) &m_Mime;
-                    }
-                    break;
-                case XA_DATAFORMAT_PCM:
-                case XA_DATAFORMAT_RAWIMAGE:
-                    break;
-                default:
-                    break;
-                }
-            }
-        }
-    
-    
-    if(!status)
-        {
-        status = aItem.GetNextInt(sourcetype);
-        if(!status)
-            {
-            switch(sourcetype)
-                {
-                case 1:
-                    m_AudioSource = commonSource;
-                    break;
-                case 2:
-                    m_VideoSource = commonSource;
-                    break;
-                case 3:
-                    m_MOMetadataExtractorSource = commonSource;
-                    break;
-                case 4:
-                    m_DynamicSource = commonSource;
-                    break;
-                    
-                default:
-                    status = KErrGeneral;
-                    break;
-                }
-            }
-        }
-    
-    return status;  
-    }
-
-TInt COpenMAXALTestModule::al_SetDataLocator( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt type;
-
-    status = aItem.GetNextInt(type);
-    
-    switch(type)
-        {
-        case XA_DATALOCATOR_URI:
-            {
-            TPtrC uri;
-            if(m_URIName)
-                {
-                delete m_URIName;
-                m_URIName = NULL;
-                }
-            //status = aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
-            status = aItem.GetNextString(uri);
-            if(!status)
-                {
-                m_URIName = HBufC8::NewL(uri.Length()+1); 
-                TPtr8 desc = m_URIName->Des();
-                desc.Copy(uri);
-                m_Uri.locatorType = XA_DATALOCATOR_URI;
-                m_Uri.URI = (XAchar*) desc.PtrZ();
-                }
-            else
-                {
-                status = KErrGeneral;
-                }
-            }
-            break;
-        case XA_DATALOCATOR_IODEVICE:
-            {
-            TInt devicetype;
-            TUint deviceId;
-            
-            status = aItem.GetNextInt(devicetype);
-            if(!status)
-                {
-                status = aItem.GetNextInt(deviceId);
-                if(!status)
-                    {
-                    TInt srcsinktype(0);
-                    status = aItem.GetNextInt(srcsinktype);
-                    if(!status)
-                        {
-                        if(srcsinktype == 1)
-                            {
-                            m_SrcIODevice.deviceID = deviceId;
-                            m_SrcIODevice.deviceType = devicetype;
-                            m_SrcIODevice.locatorType = XA_DATALOCATOR_IODEVICE;                    
-                            }
-                        else
-                            {
-                            m_SinkIODevice.deviceID = deviceId;
-                            m_SinkIODevice.deviceType = devicetype;
-                            m_SinkIODevice.locatorType = XA_DATALOCATOR_IODEVICE;                    
-                            }
-                        }
-                    else
-                        {
-                        status = KErrGeneral;
-                        }
-                    }
-                else
-                    {
-                    status = KErrGeneral;
-                    }
-                }
-            else
-                {
-                status = KErrGeneral;
-                }
-            }
-            break;
-        case XA_DATALOCATOR_OUTPUTMIX:
-        case XA_DATALOCATOR_NATIVEDISPLAY:
-        case XA_DATALOCATOR_ADDRESS:
-            break;
-        default:
-            status = KErrGeneral;
-            break;
-        }
-    return status;   
-    }
-
-TInt COpenMAXALTestModule::al_SetDataFormat( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt type;
-    TInt contType(0);
-    TPtrC mimetype;
-    status = aItem.GetNextInt(type);
-    
-    switch(type)
-        {
-        case XA_DATAFORMAT_MIME:
-            {
-            status = aItem.GetNextString(mimetype);
-            if(!status)
-                {
-                status = aItem.GetNextInt(contType);
-                if(!status)
-                    {
-                    if(m_MimeType)
-                        {
-                        delete m_MimeType;
-                        m_MimeType = NULL;
-                        }
-                    m_MimeType = HBufC8::NewL(mimetype.Length()+1); 
-                    TPtr8 desc = m_MimeType->Des();
-                    desc.Copy(mimetype);
-                    m_Mime.formatType = XA_DATAFORMAT_MIME;
-                    m_Mime.mimeType = (XAchar*) desc.PtrZ();
-                    m_Mime.containerType = contType;
-                    }
-                else
-                    {
-                    status = KErrGeneral;
-                    }
-                }
-            else
-                {
-                status = KErrGeneral;
-                }
-            }
-            break;
-        case XA_DATAFORMAT_PCM:
-        case XA_DATAFORMAT_RAWIMAGE:
-            break;
-        default:
-            status = KErrGeneral;
-            break;
-        }
-    return status;   
-    }
-
-TInt COpenMAXALTestModule::al_CreateWindow( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    if (iRwSession.Handle())
-        User::Leave(KErrAlreadyExists);
-
-    TInt topX;
-    TInt topY ;
-    TInt bottomX;
-    TInt bottomY;
-    TInt posX;
-    TInt posY;
-    
-    status = aItem.GetNextInt(posX);
-    RET_ERR_IF_ERR(status);
-    status = aItem.GetNextInt(posY);
-    RET_ERR_IF_ERR(status);
-
-    status = aItem.GetNextInt(topX);
-    RET_ERR_IF_ERR(status);
-    status = aItem.GetNextInt(topY);
-    RET_ERR_IF_ERR(status);
-    status = aItem.GetNextInt(bottomX);
-    RET_ERR_IF_ERR(status);
-    status = aItem.GetNextInt(bottomY);
-    RET_ERR_IF_ERR(status);
-
-    /* Create resources needed for video play back*/
-    status = iRwSession.Connect();
-    RET_ERR_IF_ERR(status);
-
-    TInt groupId = iRwSession.GetFocusWindowGroup();
-    iRwGroup = RWindowGroup(iRwSession);
-    status = iRwGroup.Construct(groupId, ETrue);
-    RET_ERR_IF_ERR(status);
-    _LIT(KXASTIFWindowGroupName,"XASTIF");
-    iRwGroup.SetName(KXASTIFWindowGroupName);
-    iRwGroup.SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront);
-
-    iRWindow = RWindow(iRwSession);
-    status = iRWindow.Construct(iRwGroup, (TUint32) this + 1);
-    RET_ERR_IF_ERR(status);
-
-    TPoint point(posX, posY);
-    iRWindow.SetPosition(point);
-    TRect rect(topX, topY, bottomX, bottomY);
-    TSize size(rect.Size());
-    iRWindow.SetSize(size);
-    iRWindow.Activate();
-    iRWindow.SetVisible(ETrue);
-    iRwSession.Flush();
-    iDevice = NULL;
-    iDevice = new CWsScreenDevice(iRwSession);
-    if (!iDevice)
-        {
-        status = KErrNoMemory;
-        }
-    RET_ERR_IF_ERR(status);
-
-    status = iDevice->Construct(0);
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_DeleteWindow( CStifItemParser& /*aItem*/ )
-    {
-    delete iDevice;
-    iDevice = NULL;
-    iRWindow.SetVisible(EFalse);
-    iRWindow.Close();
-    iRwGroup.Close();
-    iRwSession.Close();
-    return KErrNone;
-    }
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxaldynitfmgmtitfcallbacks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-
-void DynamicInterfaceManagementCallback (
-    XADynamicInterfaceManagementItf caller,
-    void * pContext,
-    XAuint32 event,
-    XAresult result,
-    const XAInterfaceID iid
-)
-    {
-    
-    }
-
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxaldynitfmgmtitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-void DynamicInterfaceManagementCallback (
-    XADynamicInterfaceManagementItf caller,
-    void * pContext,
-    XAuint32 event,
-    XAresult result,
-    const XAInterfaceID iid
-);
-
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_dimitf_AddInterface( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt async(0);
-    TInt interface(0);
-    XAInterfaceID id(NULL);
-
-
-    status = aItem.GetNextInt(interface);
-    if(!status)
-        {
-        id = MapInterface(interface);
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-
-    status = aItem.GetNextInt(async);
-    if(!status)
-        {
-        if(m_DIMItf)
-            {
-            res = (*m_DIMItf)->AddInterface(m_DIMItf,id,async);
-            status = res;
-            }
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-    return status;    
-    }
-
-TInt COpenMAXALTestModule::al_dimitf_RemoveInterface( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt interface(0);
-    XAInterfaceID id(NULL);
-
-    status = aItem.GetNextInt(interface);
-    if(!status)
-        {
-        id = MapInterface(interface);
-        status = StoreInterface(interface, NULL);
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-
-    if(m_DIMItf)
-        {
-        res = (*m_DIMItf)->RemoveInterface(m_DIMItf,id);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;            
-    }
-
-TInt COpenMAXALTestModule::al_dimitf_ResumeInterface( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt async(0);
-    TInt interface(0);
-    XAInterfaceID id(NULL);
-
-
-    status = aItem.GetNextInt(interface);
-    if(!status)
-        {
-        id = MapInterface(interface);
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-
-    status = aItem.GetNextInt(async);
-    if(!status)
-        {
-        if(m_DIMItf)
-            {
-            res = (*m_DIMItf)->ResumeInterface(m_DIMItf,id,async);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-    return status;        
-    }
-
-TInt COpenMAXALTestModule::al_dimitf_RegisterCallback( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    if(m_DIMItf)
-        {
-        res = (*m_DIMItf)->RegisterCallback(m_DIMItf,DynamicInterfaceManagementCallback,(void*)this);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;    
-    }
-
-
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxaldynsrcitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_dynsrcitf_SetSource( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XADataSource* dynamicSrc(NULL);
-
-    if(m_DynamicSource.pFormat && m_DynamicSource.pLocator)
-        {
-        dynamicSrc = &m_DynamicSource;
-        }
-    
-    if(m_DynSrcItf)
-        {
-        res = (*m_DynSrcItf)->SetSource(m_DynSrcItf,dynamicSrc);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;    
-    }
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalnokialinearvolumeitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-void NokiaLinearVolumeCallback(
-    XANokiaLinearVolumeItf caller,
-    void * pContext,
-    XAuint32 event,
-    XAboolean eventBooleanData
-);
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_nokialinearvolumeitf_SetVolumeLevel( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt volume(0);
-    XAuint32 alvol;
-    status = aItem.GetNextInt(volume);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_NokiaLinearVolumeItf)
-        {
-        alvol = volume;
-        status = (*m_NokiaLinearVolumeItf)->SetVolumeLevel(m_NokiaLinearVolumeItf, &alvol);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokialinearvolumeitf_SetGetVolumeLevel( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt volume(0);
-    XAuint32 alvol;
-    XAuint32 getVol(0);
-    status = aItem.GetNextInt(volume);
-    RET_ERR_IF_ERR(status);
-    XAuint32 expectedVol = volume;
-    
-    if(m_NokiaLinearVolumeItf)
-        {
-        alvol = volume;
-        status = (*m_NokiaLinearVolumeItf)->SetVolumeLevel(m_NokiaLinearVolumeItf, &alvol);
-        if (status != KErrNone)
-        {
-        	return status;
-        }
-        status = (*m_NokiaLinearVolumeItf)->GetVolumeLevel(m_NokiaLinearVolumeItf, &getVol);
-        if (status != KErrNone)
-        {
-        	return status;
-        } 
-        if (getVol != expectedVol) 
-        	status = KErrCompletion;     
-        }
-    else
-        {
-        return KErrNotFound;
-        }
-    
-    return status;
-    }    
-    
-TInt COpenMAXALTestModule::al_nokialinearvolumeitf_GetVolumeLevel( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAuint32 volume(0);
-    if(m_NokiaLinearVolumeItf)
-        {
-        status = (*m_NokiaLinearVolumeItf)->GetVolumeLevel(m_NokiaLinearVolumeItf, &volume);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokialinearvolumeitf_GetStepCount( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAuint32 value(0);
-    if(m_NokiaLinearVolumeItf)
-        {
-        status = (*m_NokiaLinearVolumeItf)->GetStepCount(m_NokiaLinearVolumeItf, &value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokialinearvolumeitf_RegisterVolumeCallback( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    if(m_NokiaLinearVolumeItf)
-        {
-        status = (*m_NokiaLinearVolumeItf)->RegisterVolumeCallback(m_NokiaLinearVolumeItf, NokiaLinearVolumeCallback, this);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokialinearvolumeitf_SetCallbackEventsMask( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt value(0);
-    
-    status = aItem.GetNextInt(value);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_NokiaLinearVolumeItf)
-        {
-        status = (*m_NokiaLinearVolumeItf)->SetCallbackEventsMask(m_NokiaLinearVolumeItf, value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokialinearvolumeitf_GetCallbackEventsMask( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAuint32 value(0);
-    
-    if(m_NokiaLinearVolumeItf)
-        {
-        status = (*m_NokiaLinearVolumeItf)->GetCallbackEventsMask(m_NokiaLinearVolumeItf, &value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-void NokiaLinearVolumeCallback(
-    XANokiaLinearVolumeItf caller,
-    void * pContext,
-    XAuint32 event,
-    XAboolean eventBooleanData
-)
-    {
-    
-    }
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalnokiavolumeextitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,303 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-void NokiaVolumeExtCallback(
-    XANokiaVolumeExtItf caller,
-    void * pContext,
-    XAuint32 event,
-    XAboolean eventBooleanData
-);
-
-
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_SetVolumeLevel( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt volume(0);
-    
-    status = aItem.GetNextInt(volume);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->SetVolumeLevel(m_NokiaVolumeExtItf, volume);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_GetVolumeLevel( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAmillibel volume(0);
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->GetVolumeLevel(m_NokiaVolumeExtItf, &volume);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_GetMaxVolumeLevel( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAmillibel volume(0);
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->GetMaxVolumeLevel(m_NokiaVolumeExtItf, &volume);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_SetMute( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt mute(0);
-    
-    status = aItem.GetNextInt(mute);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->SetMute(m_NokiaVolumeExtItf, mute);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_GetMute( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAboolean mute(0);
-    
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->GetMute(m_NokiaVolumeExtItf, &mute);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_EnableStereoPosition( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt value(0);
-    
-    status = aItem.GetNextInt(value);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->EnableStereoPosition(m_NokiaVolumeExtItf, value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_IsEnabledStereoPosition( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAboolean value(0);
-    
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->IsEnabledStereoPosition(m_NokiaVolumeExtItf, &value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_SetStereoPosition( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt value(0);
-    
-    status = aItem.GetNextInt(value);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->SetStereoPosition(m_NokiaVolumeExtItf, value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_GetStereoPosition( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XApermille value(0);
-    
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->GetStereoPosition(m_NokiaVolumeExtItf, &value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_RegisterVolumeCallback( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->RegisterVolumeCallback(m_NokiaVolumeExtItf, NokiaVolumeExtCallback, this);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_SetCallbackEventsMask( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt value(0);
-    
-    status = aItem.GetNextInt(value);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->SetCallbackEventsMask(m_NokiaVolumeExtItf, value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_nokiavolumeextitf_GetCallbackEventsMask( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAuint32 value(0);
-    
-    if(m_NokiaVolumeExtItf)
-        {
-        status = (*m_NokiaVolumeExtItf)->GetCallbackEventsMask(m_NokiaVolumeExtItf, &value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-
-void NokiaVolumeExtCallback(
-    XANokiaVolumeExtItf caller,
-    void * pContext,
-    XAuint32 event,
-    XAboolean eventBooleanData
-)
-    {
-
-    }
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalobjectcallbacks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include <StifTestEventInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-void ObjectCallback(XAObjectItf caller,
-        const void * pContext,
-        XAuint32 event,
-        XAresult result,
-        XAuint32 param,
-        void * pInterface);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-xaObjectCallback COpenMAXALTestModule::GetCallbackFunc(TInt object)
-    {
-    xaObjectCallback func(NULL);
-    switch(object)
-        {
-        case EEngine:
-            func = ObjectCallback;
-            break;
-        case EMediaRecorder:
-            func = ObjectCallback;
-            break;
-        case EMediaPlayer:
-            func = ObjectCallback;
-            break;
-        default:
-            func = NULL;
-            break;
-        }
-    return func;
-    
-    }
-
-void COpenMAXALTestModule::HandleObjectCallback(XAObjectItf caller,XAuint32 event,
-                        XAresult result,XAuint32 param, void * pInterface)
-    {
-    switch(event)
-        {
-        case XA_OBJECT_EVENT_RUNTIME_ERROR:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_OBJECT_EVENT_RUNTIME_ERROR") );
-            TestModuleIf().Event( event );
-            }
-            break;
-        case XA_OBJECT_EVENT_ASYNC_TERMINATION:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_OBJECT_EVENT_ASYNC_TERMINATION") );
-            TestModuleIf().Event( event );
-            }
-            break;
-        case XA_OBJECT_EVENT_RESOURCES_LOST:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_OBJECT_EVENT_RESOURCES_LOST") );
-            TestModuleIf().Event( event );
-            }
-            break;
-        case XA_OBJECT_EVENT_RESOURCES_AVAILABLE:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_OBJECT_EVENT_RESOURCES_AVAILABLE") );
-            TestModuleIf().Event( event );
-            }
-            break;
-        case XA_OBJECT_EVENT_ITF_CONTROL_TAKEN:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_OBJECT_EVENT_ITF_CONTROL_TAKEN") );
-            TestModuleIf().Event( event );
-            }
-            break;
-        case XA_OBJECT_EVENT_ITF_CONTROL_RETURNED:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_OBJECT_EVENT_ITF_CONTROL_RETURNED") );
-            TestModuleIf().Event( event );
-            }
-            break;
-        case XA_OBJECT_EVENT_ITF_PARAMETERS_CHANGED:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_OBJECT_EVENT_ITF_PARAMETERS_CHANGED") );
-            TestModuleIf().Event( event );
-
-            }
-            break;
-        default:
-            break;
-        }
-    }
-
-void ObjectCallback(XAObjectItf caller,
-        const void * pContext,
-        XAuint32 event,
-        XAresult result,
-        XAuint32 param,
-        void * pInterface)
-    {
-    if (pContext)
-        {
-        ((COpenMAXALTestModule*)pContext)->HandleObjectCallback(caller, event, result, param, pInterface);
-        }
-    }
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalobjectitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,395 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-#include "profileutilmacro.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_objitf_Realize( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt object(0);
-    TInt async;
-    status = aItem.GetNextInt(object);
-    if(!status)
-        {
-        XAObjectItf itf = GetObject(object);
-        if(itf != NULL)
-            {
-            status = aItem.GetNextInt(async);
-            if(!status)
-                {
-                if (object == XA_OBJECTID_MEDIAPLAYER)
-                    {
-                    TAG_TIME_PROFILING_BEGIN;
-                    res = (*itf)->Realize(itf, async);
-                    TAG_TIME_PROFILING_END;
-                    PRINT_TO_CONSOLE_TIME_DIFF;
-                    }
-                else
-                    {
-                    res = (*itf)->Realize(itf, async);
-                    }
-                status = res;
-                }
-            else
-                {
-                status = KErrGeneral;
-                }
-            }
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_objitf_Resume( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt object(0);
-    TInt async;
-    status = aItem.GetNextInt(object);
-    if(!status)
-        {
-        XAObjectItf itf = GetObject(object);
-        if(itf != NULL)
-            {
-            status = aItem.GetNextInt(async);
-            if(!status)
-                {
-                res = (*itf)->Resume(itf, async);
-                status = res;
-                }
-            else
-                {
-                status = KErrGeneral;
-                }
-            }
-        }
-    return status;    }
-
-TInt COpenMAXALTestModule::al_objitf_GetState( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt object(0);
-    XAuint32 state;
-    status = aItem.GetNextInt(object);
-    if(!status)
-        {
-        XAObjectItf itf = GetObject(object);
-        if(itf != NULL)
-            {
-            res = (*itf)->GetState(itf, &state);
-            status = res;
-            }
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_objitf_GetInterface( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt object(0);
-    TInt interface(0);
-    XAInterfaceID id;
-    void* retid(NULL);
-    status = aItem.GetNextInt(object);
-    if(!status)
-        {
-        XAObjectItf itf = GetObject(object);
-        if(itf != NULL)
-            {
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                id = MapInterface(interface);
-                res = (*itf)->GetInterface(itf, id, &retid);
-                status = res;
-                if(!status)
-                    {
-                    status = StoreInterface(interface, retid);
-                    }
-                }
-            else
-                {
-                status = KErrGeneral;
-                }
-            }
-        else
-            {
-            status = KErrGeneral;
-            }
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_objitf_RegisterCallback( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt object(0);
-    XAresult res;
-    xaObjectCallback func;
-    status = aItem.GetNextInt(object);
-    if(!status)
-        {
-        XAObjectItf itf = GetObject(object);
-        if(itf != NULL)
-            {
-            func = GetCallbackFunc(object);
-            if(func)
-                {
-                res = (*itf)->RegisterCallback(itf, func, this);
-                status = res;
-                }
-            else
-                {
-                status = KErrNotFound;
-                }
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_objitf_AbortAsyncOperation( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt object(0);
-    status = aItem.GetNextInt(object);
-    if(!status)
-        {
-        XAObjectItf itf = GetObject(object);
-        if(itf != NULL)
-            {
-            (*itf)->AbortAsyncOperation(itf);
-            }
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_objitf_Destroy( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt object(0);
-    status = aItem.GetNextInt(object);
-    if(!status)
-        {
-        XAObjectItf itf = GetObject(object);
-        if(itf != NULL)
-            {
-            if (object == XA_OBJECTID_MEDIAPLAYER)
-                {
-                TAG_TIME_PROFILING_BEGIN;
-                (*itf)->Destroy(itf);
-                TAG_TIME_PROFILING_END;
-                PRINT_TO_CONSOLE_TIME_DIFF;
-                }
-            else
-                {
-                (*itf)->Destroy(itf);
-                }
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_objitf_SetPriority( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt object(0);
-    TInt priority(0);
-    TInt preemptable(0);
-    
-    status = aItem.GetNextInt(object);
-    if(!status)
-        {
-        XAObjectItf itf = GetObject(object);
-        if(itf != NULL)
-            {
-            status = aItem.GetNextInt(priority);
-            if(status)
-                {
-                priority = 0;
-                preemptable = 0;
-                }
-            else
-                {
-                status = aItem.GetNextInt(preemptable);
-                if(status)
-                    {
-                    preemptable = 0;
-                    }
-                }
-            (*itf)->SetPriority(itf,priority,preemptable);
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_objitf_GetPriority( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt object(0);
-    XAint32 priority(0);
-    XAboolean preemptable(0);
-    status = aItem.GetNextInt(object);
-    if(!status)
-        {
-        XAObjectItf itf = GetObject(object);
-        if(itf != NULL)
-            {
-            res = (*itf)->GetPriority(itf, &priority, &preemptable);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_objitf_SetLossOfControlInterfaces( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt object(0);
-    TInt enabled(0);
-    TInt numInterfaces(0);    
-    XAresult res;
-    
-    status = aItem.GetNextInt(object);
-    
-    if(!status)
-        {
-        /* Initialize arrays required[] and iidArray[] */
-        for (TInt i = 0; i < MAX_NUMBER_INTERFACES; i++)
-            {
-            iidArray[i] = XA_IID_NULL;
-            }
-    
-        status = aItem.GetNextInt(numInterfaces);
-        
-        for(TInt j = 0; j < numInterfaces; j++)
-            {
-            TInt interface(0);
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                iidArray[j] = MapInterface(interface);
-                numInterfaces = j++;
-                }
-            else
-                {
-                status = KErrGeneral;
-                break;
-                }
-            }
-    
-        if(!status)
-            {
-            status = aItem.GetNextInt(enabled);
-            if(!status)
-                {
-                XAObjectItf itf = GetObject(object);
-                 if(itf != NULL)
-                     {
-                     res = (*itf)->SetLossOfControlInterfaces(itf, numInterfaces, iidArray, enabled);
-                     status = res;
-                     }
-                 else
-                     {
-                     status = KErrNotFound;
-                     }
-                }
-            }
-    
-        }
-    
-    return status;
-
-    }
-
-
-
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalstrminfoitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,298 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-void StreamEventChangeCallback (
-        XAStreamInformationItf caller,
-        XAuint32 eventId,
-        XAuint32 streamIndex,
-        void * pEventData,
-        void * pContext
-);
-
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
- 
-TInt COpenMAXALTestModule::al_strminfoitf_QueryMediaContainerInformation( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAMediaContainerInformation info;
-    
-    if(m_StrInfoItf)
-        {
-        res = (*m_StrInfoItf)->QueryMediaContainerInformation(m_StrInfoItf,&info);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;    
-    }
-
-TInt COpenMAXALTestModule::al_strminfoitf_QueryStreamType( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt index(0);
-    XAuint32 streamType;
-
-    status = aItem.GetNextInt(index);
-    if(!status)
-        {
-        if(m_StrInfoItf)
-            {
-            res = (*m_StrInfoItf)->QueryStreamType(m_StrInfoItf,index, &streamType);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-    return status;            
-    }
-
-TInt COpenMAXALTestModule::al_strminfoitf_QueryStreamInformation( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt streamindex(0);
-    void* info = NULL;
-    XAuint32 domain;
-    XAAudioStreamInformation audioinfo;
-    XAVideoStreamInformation videoinfo;
-    
-    status = aItem.GetNextInt(streamindex);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_StrInfoItf)
-        {
-        res = (*m_StrInfoItf)->QueryStreamType(m_StrInfoItf,streamindex, &domain);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    if(domain == XA_DOMAINTYPE_AUDIO)
-        {
-        info = &audioinfo;
-        }
-    else if ( domain == XA_DOMAINTYPE_VIDEO)
-        {
-        info = &videoinfo;
-        }
-    
-    if(!status)
-        {
-        if(m_StrInfoItf)
-            {
-            res = (*m_StrInfoItf)->QueryStreamInformation(m_StrInfoItf,streamindex, info);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-    return status;        
-    }
-
-TInt COpenMAXALTestModule::al_strminfoitf_QueryStreamName( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt streamindex(0);
-    XAuint16 size;
-
-    status = aItem.GetNextInt(streamindex);
-    if(!status)
-        {
-        if(m_StrInfoItf)
-            {
-            res = (*m_StrInfoItf)->QueryStreamName(m_StrInfoItf,streamindex, &size, NULL);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-    return status;       
-    }
-
-TInt COpenMAXALTestModule::al_strminfoitf_RegisterStreamChangeCallback( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    if(m_StrInfoItf)
-        {
-        res = (*m_StrInfoItf)->RegisterStreamChangeCallback(m_StrInfoItf,StreamEventChangeCallback,(void*)this);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;    
-    }
-
-TInt COpenMAXALTestModule::al_strminfoitf_QueryActiveStreams( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAuint32 size(0);
-    TInt inpsize;
-    XAboolean arr[2];
-    
-    status = aItem.GetNextInt(inpsize);
-    if(!status)
-        {
-        if(m_StrInfoItf)
-            {
-            size = inpsize;
-            res = (*m_StrInfoItf)->QueryActiveStreams(m_StrInfoItf, &size, arr);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    else
-        {
-        if(m_StrInfoItf)
-            {
-            res = (*m_StrInfoItf)->QueryActiveStreams(m_StrInfoItf,&size, NULL);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    return status;     
-    }
-
-TInt COpenMAXALTestModule::al_strminfoitf_SetActiveStream( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt streamindex(0);
-    XAboolean active;
-    XAboolean commitnow;
-    TInt value;
-    
-    status = aItem.GetNextInt(streamindex);
-    RET_ERR_IF_ERR(status);
-    
-    status = aItem.GetNextInt(value);
-    RET_ERR_IF_ERR(status);
-    active = value;
-
-    status = aItem.GetNextInt(value);
-    RET_ERR_IF_ERR(status);
-    commitnow = value;
-    
-    if(m_StrInfoItf)
-        {
-        res = (*m_StrInfoItf)->SetActiveStream(m_StrInfoItf,streamindex, active, commitnow);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;          
-    }
-
-void StreamEventChangeCallback (
-        XAStreamInformationItf caller,
-        XAuint32 eventId,
-        XAuint32 streamIndex,
-        void * pEventData,
-        void * pContext
-)
-    {
-    
-    }
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxaltestmodule.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// INCLUDE FILES
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-#include <SettingServerClient.h>
-#include <glib.h>
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::COpenMAXALTestModule
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-COpenMAXALTestModule::COpenMAXALTestModule( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf ), 
-        iTestModuleIf(aTestModuleIf)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void COpenMAXALTestModule::ConstructL()
-    {
-    //Read logger settings to check whether test case name is to be
-    //appended to log file name.
-    RSettingServer settingServer;
-    TInt ret = settingServer.Connect();
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        }
-    // Struct to StifLogger settigs.
-    TLoggerSettings loggerSettings; 
-    // Parse StifLogger defaults from STIF initialization file.
-    ret = settingServer.GetLoggerSettings(loggerSettings);
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        } 
-    // Close Setting server session
-    settingServer.Close();
-
-    TFileName logFileName;
-    
-    if(loggerSettings.iAddTestCaseTitle)
-        {
-        TName title;
-        TestModuleIf().GetTestCaseTitleL(title);
-        logFileName.Format(KOpenMAXALTestModuleLogFileWithTitle, &title);
-        }
-    else
-        {
-        logFileName.Copy(KOpenMAXALTestModuleLogFile);
-        }
-
-    iLog = CStifLogger::NewL( KOpenMAXALTestModuleLogPath, 
-                          logFileName,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-    
-    SendTestClassVersion();
-    g_setenv("G_SLICE", "always-malloc", 1);
-    }
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-COpenMAXALTestModule* COpenMAXALTestModule::NewL( 
-    CTestModuleIf& aTestModuleIf )
-    {
-    COpenMAXALTestModule* self = new (ELeave) COpenMAXALTestModule( aTestModuleIf );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-
-    }
-
-// Destructor
-COpenMAXALTestModule::~COpenMAXALTestModule()
-    { 
-
-    // Delete resources allocated from test methods
-    Delete();
-
-    // Delete logger
-    delete iLog; 
-
-    }
-
-//-----------------------------------------------------------------------------
-// COpenMAXALTestModule::SendTestClassVersion
-// Method used to send version of test class
-//-----------------------------------------------------------------------------
-//
-void COpenMAXALTestModule::SendTestClassVersion()
-	{
-	TVersion moduleVersion;
-	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
-	moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
-	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
-	
-	TFileName moduleName;
-	moduleName = _L("OpenMAXALTestModule.dll");
-
-	TBool newVersionOfMethod = ETrue;
-	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
-	}
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-
-    return ( CScriptBase* ) COpenMAXALTestModule::NewL( aTestModuleIf );
-
-    }
-
-
-//  End of File
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxaltestmoduleblocks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1032 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::Delete
-// Delete here all resources allocated and opened from test methods. 
-// Called from destructor. 
-// -----------------------------------------------------------------------------
-//
-void COpenMAXALTestModule::Delete() 
-    {
-    if(m_URIName)
-        {
-        delete m_URIName;
-        m_URIName = NULL;
-        }
-    if(m_MimeType)
-        {
-        delete m_MimeType;
-        m_MimeType = NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt COpenMAXALTestModule::RunMethodL( 
-    CStifItemParser& aItem ) 
-    {
-
-    static TStifFunctionInfo const KFunctions[] =
-        {  
-        // Copy this line for every implemented function.
-        // First string is the function name used in TestScripter script file.
-        // Second is the actual implementation member function. 
-        ENTRY( "Example", COpenMAXALTestModule::ExampleL ),
-        
-        /* Common Utility Functions begins*/
-        ENTRY( "al_SetDataSource", COpenMAXALTestModule::al_SetDataSource ),
-        ENTRY( "al_SetDataSink", COpenMAXALTestModule::al_SetDataSink ),
-        ENTRY( "al_SetDataLocator", COpenMAXALTestModule::al_SetDataLocator ),
-        ENTRY( "al_SetDataFormat", COpenMAXALTestModule::al_SetDataFormat ),
-        ENTRY( "al_CreateWindow", COpenMAXALTestModule::al_CreateWindow ),
-        ENTRY( "al_DeleteWindow", COpenMAXALTestModule::al_DeleteWindow ),
-        /* Common Utility Functions ends*/
-        
-        ENTRY( "al_createEngine", COpenMAXALTestModule::al_createEngine ),
-        ENTRY( "al_queryNumSupportedEngineInterfaces", COpenMAXALTestModule::al_queryNumSupportedEngineInterfaces ),
-        ENTRY( "al_querySupportedEngineInterfaces", COpenMAXALTestModule::al_querySupportedEngineInterfaces ),
-        
-        /*ObjectItf begins*/
-        ENTRY( "al_objitf_Realize", COpenMAXALTestModule::al_objitf_Realize ),       
-        ENTRY( "al_objitf_Resume", COpenMAXALTestModule::al_objitf_Resume ),
-        ENTRY( "al_objitf_GetState", COpenMAXALTestModule::al_objitf_GetState ),
-        ENTRY( "al_objitf_GetInterface", COpenMAXALTestModule::al_objitf_GetInterface ),
-        ENTRY( "al_objitf_RegisterCallback", COpenMAXALTestModule::al_objitf_RegisterCallback ),
-        ENTRY( "al_objitf_AbortAsyncOperation", COpenMAXALTestModule::al_objitf_AbortAsyncOperation ),
-        ENTRY( "al_objitf_Destroy", COpenMAXALTestModule::al_objitf_Destroy ),
-        ENTRY( "al_objitf_SetPriority", COpenMAXALTestModule::al_objitf_SetPriority ),
-        ENTRY( "al_objitf_GetPriority", COpenMAXALTestModule::al_objitf_GetPriority ),
-        ENTRY( "al_objitf_SetLossOfControlInterfaces", COpenMAXALTestModule::al_objitf_SetLossOfControlInterfaces ),
-        /*ObjectItf ends*/
-
-        /*DynItfMgmtItf begins*/
-        ENTRY( "al_dimitf_AddInterface", COpenMAXALTestModule::al_dimitf_AddInterface ),
-        ENTRY( "al_dimitf_RemoveInterface", COpenMAXALTestModule::al_dimitf_RemoveInterface ),
-        ENTRY( "al_dimitf_ResumeInterface", COpenMAXALTestModule::al_dimitf_ResumeInterface ),
-        ENTRY( "al_dimitf_RegisterCallback", COpenMAXALTestModule::al_dimitf_RegisterCallback ),
-        /*DynItfMgmtItf ends*/
-        
-        
-        /*EngineItf begins*/
-        ENTRY( "al_engitf_CreateCameraDevice", COpenMAXALTestModule::al_engitf_CreateCameraDevice ),
-        ENTRY( "al_engitf_CreateRadioDevice", COpenMAXALTestModule::al_engitf_CreateRadioDevice ),
-        ENTRY( "al_engitf_CreateLEDDevice", COpenMAXALTestModule::al_engitf_CreateLEDDevice ),
-        ENTRY( "al_engitf_CreateVibraDevice", COpenMAXALTestModule::al_engitf_CreateVibraDevice ),
-        ENTRY( "al_engitf_CreateMediaPlayer", COpenMAXALTestModule::al_engitf_CreateMediaPlayer ),
-        ENTRY( "al_engitf_CreateMediaRecorder", COpenMAXALTestModule::al_engitf_CreateMediaRecorder ),
-        ENTRY( "al_engitf_CreateOutputMix", COpenMAXALTestModule::al_engitf_CreateOutputMix ),
-        ENTRY( "al_engitf_CreateMetadataExtractor", COpenMAXALTestModule::al_engitf_CreateMetadataExtractor ),
-        ENTRY( "al_engitf_CreateExtensionObject", COpenMAXALTestModule::al_engitf_CreateExtensionObject ),
-        ENTRY( "al_engitf_GetImplementationInfo", COpenMAXALTestModule::al_engitf_GetImplementationInfo ),
-        ENTRY( "al_engitf_QuerySupportedProfiles", COpenMAXALTestModule::al_engitf_QuerySupportedProfiles ),
-        ENTRY( "al_engitf_QueryNumSupportedInterfaces", COpenMAXALTestModule::al_engitf_QueryNumSupportedInterfaces ),
-        ENTRY( "al_engitf_QuerySupportedInterfaces", COpenMAXALTestModule::al_engitf_QuerySupportedInterfaces ),
-        ENTRY( "al_engitf_QueryNumSupportedExtension", COpenMAXALTestModule::al_engitf_QueryNumSupportedExtension ),
-        ENTRY( "al_engitf_QuerySupportedExtension", COpenMAXALTestModule::al_engitf_QuerySupportedExtension ),
-        ENTRY( "al_engitf_IsExtensionSupported", COpenMAXALTestModule::al_engitf_IsExtensionSupported ),
-        ENTRY( "al_engitf_QueryLEDCapabilities", COpenMAXALTestModule::al_engitf_QueryLEDCapabilities ),
-        ENTRY( "al_engitf_QueryVibraCapabilities", COpenMAXALTestModule::al_engitf_QueryVibraCapabilities ),
-        /*EngineItf ends*/
-        
-        /*AudioIODeviceCapabilitiesItf ends*/
-        ENTRY( "al_audioiodevcapitf_GetAvailableAudioInputs", COpenMAXALTestModule::al_audioiodevcapitf_GetAvailableAudioInputs ),
-        ENTRY( "al_audioiodevcapitf_QueryAudioInputCapabilities", COpenMAXALTestModule::al_audioiodevcapitf_QueryAudioInputCapabilities ),
-        ENTRY( "al_audioiodevcapitf_RegisterAvailableAudioInputsChangedCallback", COpenMAXALTestModule::al_audioiodevcapitf_RegisterAvailableAudioInputsChangedCallback ),
-        ENTRY( "al_audioiodevcapitf_GetAvailableAudioOutputs", COpenMAXALTestModule::al_audioiodevcapitf_GetAvailableAudioOutputs ),
-        ENTRY( "al_audioiodevcapitf_QueryAudioOutputCapabilities", COpenMAXALTestModule::al_audioiodevcapitf_QueryAudioOutputCapabilities ),
-        ENTRY( "al_audioiodevcapitf_RegisterAvailableAudioOutputsChangedCallback", COpenMAXALTestModule::al_audioiodevcapitf_RegisterAvailableAudioOutputsChangedCallback ),
-        ENTRY( "al_audioiodevcapitf_RegisterDefaultDeviceIDMapChangedCallback", COpenMAXALTestModule::al_audioiodevcapitf_RegisterDefaultDeviceIDMapChangedCallback ),
-        ENTRY( "al_audioiodevcapitf_GetAssociatedAudioInputs", COpenMAXALTestModule::al_audioiodevcapitf_GetAssociatedAudioInputs ),
-        ENTRY( "al_audioiodevcapitf_GetAssociatedAudioOutputs", COpenMAXALTestModule::al_audioiodevcapitf_GetAssociatedAudioOutputs ),
-        ENTRY( "al_audioiodevcapitf_GetDefaultAudioDevices", COpenMAXALTestModule::al_audioiodevcapitf_GetDefaultAudioDevices ),
-        ENTRY( "al_audioiodevcapitf_QuerySampleFormatsSupported", COpenMAXALTestModule::al_audioiodevcapitf_QuerySampleFormatsSupported ),
-        /*AudioIODeviceCapabilitiesItf ends*/
-
-        /*AudioEncoderCapabilitiesItf ends*/
-        ENTRY( "al_audioencodercapitf_GetAudioEncoders", COpenMAXALTestModule::al_audioencodercapitf_GetAudioEncoders ),
-        ENTRY( "al_audioencodercapitf_GetAudioEncoderCapabilities", COpenMAXALTestModule::al_audioencodercapitf_GetAudioEncoderCapabilities ),
-        /*AudioIODeviceCapabilitiesItf ends*/
-
-        
-        /*RecordItf ends*/
-        ENTRY( "al_recorditf_SetRecordState", COpenMAXALTestModule::al_recorditf_SetRecordState ),
-        ENTRY( "al_recorditf_GetRecordState", COpenMAXALTestModule::al_recorditf_GetRecordState ),
-        ENTRY( "al_recorditf_SetDurationLimit", COpenMAXALTestModule::al_recorditf_SetDurationLimit ),
-        ENTRY( "al_recorditf_GetPosition", COpenMAXALTestModule::al_recorditf_GetPosition ),
-        ENTRY( "al_recorditf_RegisterCallback", COpenMAXALTestModule::al_recorditf_RegisterCallback ),
-        ENTRY( "al_recorditf_SetCallbackEventsMask", COpenMAXALTestModule::al_recorditf_SetCallbackEventsMask ),
-        ENTRY( "al_recorditf_GetCallbackEventsMask", COpenMAXALTestModule::al_recorditf_GetCallbackEventsMask ),
-        ENTRY( "al_recorditf_SetMarkerPosition", COpenMAXALTestModule::al_recorditf_SetMarkerPosition ),
-        ENTRY( "al_recorditf_ClearMarkerPosition", COpenMAXALTestModule::al_recorditf_ClearMarkerPosition ),
-        ENTRY( "al_recorditf_GetMarkerPosition", COpenMAXALTestModule::al_recorditf_GetMarkerPosition ),
-        ENTRY( "al_recorditf_SetPositionUpdatePeriod", COpenMAXALTestModule::al_recorditf_SetPositionUpdatePeriod ),
-        ENTRY( "al_recorditf_GetPositionUpdatePeriod", COpenMAXALTestModule::al_recorditf_GetPositionUpdatePeriod ),
-        /*RecordItf ends*/
-
-        
-        /*AudioEncoderItf ends*/
-        ENTRY( "al_audioencoderitf_SetEncoderSettings", COpenMAXALTestModule::al_audioencoderitf_SetEncoderSettings ),
-        ENTRY( "al_audioencoderitf_GetEncoderSettings", COpenMAXALTestModule::al_audioencoderitf_GetEncoderSettings ),
-        /*AudioEncoderItf ends*/
-
-        
-        /*MetadataInsertionItf ends*/
-        ENTRY( "al_metadatainsertionitf_CreateChildNode", COpenMAXALTestModule::al_metadatainsertionitf_CreateChildNode ),
-        ENTRY( "al_metadatainsertionitf_GetSupportedKeysCount", COpenMAXALTestModule::al_metadatainsertionitf_GetSupportedKeysCount ),
-        ENTRY( "al_metadatainsertionitf_GetKeySize", COpenMAXALTestModule::al_metadatainsertionitf_GetKeySize ),
-        ENTRY( "al_metadatainsertionitf_GetKey", COpenMAXALTestModule::al_metadatainsertionitf_GetKey ),
-        ENTRY( "al_metadatainsertionitf_GetFreeKeysEncoding", COpenMAXALTestModule::al_metadatainsertionitf_GetFreeKeysEncoding ),
-        ENTRY( "al_metadatainsertionitf_InsertMetadataItem", COpenMAXALTestModule::al_metadatainsertionitf_InsertMetadataItem ),
-        ENTRY( "al_metadatainsertionitf_RegisterCallback", COpenMAXALTestModule::al_metadatainsertionitf_RegisterCallback ),
-        /*MetadataInsertionItf ends*/
-
-        /*PlayItf begins*/
-        ENTRY( "al_playitf_SetPlayState", COpenMAXALTestModule::al_playitf_SetPlayState ),
-        ENTRY( "al_playitf_GetPlayState", COpenMAXALTestModule::al_playitf_GetPlayState ),
-        ENTRY( "al_playitf_GetDurationNullParam", COpenMAXALTestModule::al_playitf_GetDurationNullParam ),
-        ENTRY( "al_playitf_GetDuration", COpenMAXALTestModule::al_playitf_GetDuration ),
-        ENTRY( "al_playitf_GetPositionNullParam", COpenMAXALTestModule::al_playitf_GetPositionNullParam ),
-        ENTRY( "al_playitf_GetPosition", COpenMAXALTestModule::al_playitf_GetPosition ),
-        ENTRY( "al_playitf_RegisterCallback", COpenMAXALTestModule::al_playitf_RegisterCallback ),
-        ENTRY( "al_playitf_SetCallbackEventMask", COpenMAXALTestModule::al_playitf_SetCallbackEventMask ),
-        ENTRY( "al_playitf_GetCallbackEventMaskNullParam", COpenMAXALTestModule::al_playitf_GetCallbackEventMaskNullParam ),
-        ENTRY( "al_playitf_GetCallbackEventMask", COpenMAXALTestModule::al_playitf_GetCallbackEventMask ),
-        ENTRY( "al_playitf_SetMarkerPosition", COpenMAXALTestModule::al_playitf_SetMarkerPosition ),
-        ENTRY( "al_playitf_ClearMarkerPosition", COpenMAXALTestModule::al_playitf_ClearMarkerPosition ),
-        ENTRY( "al_playitf_GetMarkerPositionNullParam", COpenMAXALTestModule::al_playitf_GetMarkerPositionNullParam ),
-        ENTRY( "al_playitf_GetMarkerPosition", COpenMAXALTestModule::al_playitf_GetMarkerPosition ),
-        ENTRY( "al_playitf_SetPositionUpdatePeriod", COpenMAXALTestModule::al_playitf_SetPositionUpdatePeriod ),
-        ENTRY( "al_playitf_GetPositionUpdatePeriodNullParam", COpenMAXALTestModule::al_playitf_GetPositionUpdatePeriodNullParam ),
-        ENTRY( "al_playitf_GetPositionUpdatePeriod", COpenMAXALTestModule::al_playitf_GetPositionUpdatePeriod ),
-        /*PlayItf ends*/
-
-        /*SeekItf begins*/
-        ENTRY( "al_seekitf_SetPosition", COpenMAXALTestModule::al_seekitf_SetPosition ),
-        ENTRY( "al_seekitf_SetLoop", COpenMAXALTestModule::al_seekitf_SetLoop ),
-        ENTRY( "al_seekitf_GetLoop", COpenMAXALTestModule::al_seekitf_GetLoop ),
-        /*SeekItf ends*/
-
-        /*DynamicSourceItf begins*/
-        ENTRY( "al_dynsrcitf_SetSource", COpenMAXALTestModule::al_dynsrcitf_SetSource ),
-        /*DynamicSourceItf ends*/
-        
-        /*RadioItf begins*/
-        ENTRY( "al_radioitf_SetFreqRange", COpenMAXALTestModule::al_radioitf_SetFreqRange ),    
-        ENTRY( "al_radioitf_GetFreqRange", COpenMAXALTestModule::al_radioitf_GetFreqRange ),    
-        ENTRY( "al_radioitf_GetFreqRangeDefault", COpenMAXALTestModule::al_radioitf_GetFreqRangeDefault ),            	 
-        ENTRY( "al_radioitf_IsFreqRangeSupported", COpenMAXALTestModule::al_radioitf_IsFreqRangeSupported ),    
-        ENTRY( "al_radioitf_GetFreqRangeProperties", COpenMAXALTestModule::al_radioitf_GetFreqRangeProperties ),    
-        ENTRY( "al_radioitf_SetFrequency", COpenMAXALTestModule::al_radioitf_SetFrequency ),            	        	        	        	
-        ENTRY( "al_radioitf_CancelSetFrequency", COpenMAXALTestModule::al_radioitf_CancelSetFrequency ),    
-        ENTRY( "al_radioitf_GetFrequency", COpenMAXALTestModule::al_radioitf_GetFrequency ),    
-        ENTRY( "al_radioitf_GetFrequencyDefault", COpenMAXALTestModule::al_radioitf_GetFrequencyDefault ),            	
-        ENTRY( "al_radioitf_SetSquelch", COpenMAXALTestModule::al_radioitf_SetSquelch ),    
-        ENTRY( "al_radioitf_GetSquelch", COpenMAXALTestModule::al_radioitf_GetSquelch ),    
-        ENTRY( "al_radioitf_SetStereoMode", COpenMAXALTestModule::al_radioitf_SetStereoMode ),    
-        ENTRY( "al_radioitf_GetStereoMode", COpenMAXALTestModule::al_radioitf_GetStereoMode ),    
-        ENTRY( "al_radioitf_GetSignalStrength", COpenMAXALTestModule::al_radioitf_GetSignalStrength ),    
-        ENTRY( "al_radioitf_Seek", COpenMAXALTestModule::al_radioitf_Seek ),
-        ENTRY( "al_radioitf_StopSeeking", COpenMAXALTestModule::al_radioitf_StopSeeking ),  
-        ENTRY( "al_radioitf_RegisterRadioCallback", COpenMAXALTestModule::al_radioitf_RegisterRadioCallback ),        	        	            	        	        	        	        	        	        	        	
-        /*RadioItf ends*/       	    
-        /*StreamInformationItf begins*/
-        ENTRY( "al_strminfoitf_QueryMediaContainerInformation", COpenMAXALTestModule::al_strminfoitf_QueryMediaContainerInformation ),
-        ENTRY( "al_strminfoitf_QueryStreamType", COpenMAXALTestModule::al_strminfoitf_QueryStreamType ),
-        ENTRY( "al_strminfoitf_QueryStreamInformation", COpenMAXALTestModule::al_strminfoitf_QueryStreamInformation ),
-        ENTRY( "al_strminfoitf_QueryStreamName", COpenMAXALTestModule::al_strminfoitf_QueryStreamName ),
-        ENTRY( "al_strminfoitf_RegisterStreamChangeCallback", COpenMAXALTestModule::al_strminfoitf_RegisterStreamChangeCallback ),
-        ENTRY( "al_strminfoitf_QueryActiveStreams", COpenMAXALTestModule::al_strminfoitf_QueryActiveStreams ),
-        ENTRY( "al_strminfoitf_SetActiveStream", COpenMAXALTestModule::al_strminfoitf_SetActiveStream ),
-        /*StreamInformationItf ends*/
-        
-        /*VolumeItf begins*/
-        ENTRY( "al_volumeitf_SetVolumeLevel", COpenMAXALTestModule::al_volumeitf_SetVolumeLevel ),
-        ENTRY( "al_volumeitf_GetVolumeLevel", COpenMAXALTestModule::al_volumeitf_GetVolumeLevel ),
-        ENTRY( "al_volumeitf_GetMaxVolumeLevel", COpenMAXALTestModule::al_volumeitf_GetMaxVolumeLevel ),
-        ENTRY( "al_volumeitf_SetMute", COpenMAXALTestModule::al_volumeitf_SetMute ),
-        ENTRY( "al_volumeitf_GetMute", COpenMAXALTestModule::al_volumeitf_GetMute ),
-        ENTRY( "al_volumeitf_EnableStereoPosition", COpenMAXALTestModule::al_volumeitf_EnableStereoPosition ),
-        ENTRY( "al_volumeitf_IsEnabledStereoPosition", COpenMAXALTestModule::al_volumeitf_IsEnabledStereoPosition ),
-        ENTRY( "al_volumeitf_SetStereoPosition", COpenMAXALTestModule::al_volumeitf_SetStereoPosition ),
-        ENTRY( "al_volumeitf_GetStereoPosition", COpenMAXALTestModule::al_volumeitf_GetStereoPosition ),
-        /*VolumeItf ends*/        
-        
-        /*NokiaVolumeExtItf begins*/
-        ENTRY( "al_nokiavolumeextitf_SetVolumeLevel", COpenMAXALTestModule::al_nokiavolumeextitf_SetVolumeLevel ),
-        ENTRY( "al_nokiavolumeextitf_GetVolumeLevel", COpenMAXALTestModule::al_nokiavolumeextitf_GetVolumeLevel ),
-        ENTRY( "al_nokiavolumeextitf_GetMaxVolumeLevel", COpenMAXALTestModule::al_nokiavolumeextitf_GetMaxVolumeLevel ),
-        ENTRY( "al_nokiavolumeextitf_SetMute", COpenMAXALTestModule::al_nokiavolumeextitf_SetMute ),
-        ENTRY( "al_nokiavolumeextitf_GetMute", COpenMAXALTestModule::al_nokiavolumeextitf_GetMute ),
-        ENTRY( "al_nokiavolumeextitf_EnableStereoPosition", COpenMAXALTestModule::al_nokiavolumeextitf_EnableStereoPosition ),
-        ENTRY( "al_nokiavolumeextitf_IsEnabledStereoPosition", COpenMAXALTestModule::al_nokiavolumeextitf_IsEnabledStereoPosition ),
-        ENTRY( "al_nokiavolumeextitf_SetStereoPosition", COpenMAXALTestModule::al_nokiavolumeextitf_SetStereoPosition ),
-        ENTRY( "al_nokiavolumeextitf_GetStereoPosition", COpenMAXALTestModule::al_nokiavolumeextitf_GetStereoPosition ),
-        ENTRY( "al_nokiavolumeextitf_RegisterVolumeCallback", COpenMAXALTestModule::al_nokiavolumeextitf_RegisterVolumeCallback ),
-        ENTRY( "al_nokiavolumeextitf_SetCallbackEventsMask", COpenMAXALTestModule::al_nokiavolumeextitf_SetCallbackEventsMask ),
-        ENTRY( "al_nokiavolumeextitf_GetCallbackEventsMask", COpenMAXALTestModule::al_nokiavolumeextitf_GetCallbackEventsMask ),
-        /*NokiaVolumeExtItf ends*/        
-        
-        /*NokiaLinearVolumeItf begins*/
-        ENTRY( "al_nokialinearvolumeitf_SetVolumeLevel", COpenMAXALTestModule::al_nokialinearvolumeitf_SetVolumeLevel ),
-        ENTRY( "al_nokialinearvolumeitf_GetVolumeLevel", COpenMAXALTestModule::al_nokialinearvolumeitf_GetVolumeLevel ),
-		ENTRY( "al_nokialinearvolumeitf_SetGetVolumeLevel", COpenMAXALTestModule::al_nokialinearvolumeitf_SetGetVolumeLevel ),        	
-        ENTRY( "al_nokialinearvolumeitf_GetStepCount", COpenMAXALTestModule::al_nokialinearvolumeitf_GetStepCount ),
-        ENTRY( "al_nokialinearvolumeitf_RegisterVolumeCallback", COpenMAXALTestModule::al_nokialinearvolumeitf_RegisterVolumeCallback ),
-        ENTRY( "al_nokialinearvolumeitf_SetCallbackEventsMask", COpenMAXALTestModule::al_nokialinearvolumeitf_SetCallbackEventsMask ),
-        ENTRY( "al_nokialinearvolumeitf_GetCallbackEventsMask", COpenMAXALTestModule::al_nokialinearvolumeitf_GetCallbackEventsMask ),
-        /*NokiaLinearVolumeItf ends*/        
-
-        /*MetadataExtractionItf*/
-        ENTRY( "al_metadataextractionitf_GetItemCount", COpenMAXALTestModule::al_metadataextractionitf_GetItemCount ),
-        ENTRY( "al_metadataextractionitf_GetKeySize", COpenMAXALTestModule::al_metadataextractionitf_GetKeySize ),
-        ENTRY( "al_metadataextractionitf_GetKey", COpenMAXALTestModule::al_metadataextractionitf_GetKey ),
-  	    ENTRY( "al_metadataextractionitf_GetValueSize", COpenMAXALTestModule::al_metadataextractionitf_GetValueSize ),
-        ENTRY( "al_metadataextractionitf_GetValue", COpenMAXALTestModule::al_metadataextractionitf_GetValue ),
-        ENTRY( "al_metadataextractionitf_AddKeyFilter", COpenMAXALTestModule::al_metadataextractionitf_AddKeyFilter ),
-        ENTRY( "al_metadataextractionitf_ClearKeyFilter", COpenMAXALTestModule::al_metadataextractionitf_ClearKeyFilter ),
-        ENTRY( "al_metadataextractionitf_GetCoverArt", COpenMAXALTestModule::al_metadataextractionitf_GetCoverArt ),        
-         /*MetadataExtractionItf ends*/
-        
-        /*PlaybackRateItf*/
-        ENTRY( "al_playbackrateitf_SetRate", COpenMAXALTestModule::al_playbackrateitf_SetRate ),
-        ENTRY( "al_playbackrateitf_GetRate", COpenMAXALTestModule::al_playbackrateitf_GetRate ),
-        ENTRY( "al_playbackrateitf_SetPropertyConstraints", COpenMAXALTestModule::al_playbackrateitf_SetPropertyConstraints ),
-        ENTRY( "al_playbackrateitf_GetProperties", COpenMAXALTestModule::al_playbackrateitf_GetProperties ),
-        ENTRY( "al_playbackrateitf_GetCapabilitiesOfRate", COpenMAXALTestModule::al_playbackrateitf_GetCapabilitiesOfRate ),
-        ENTRY( "al_playbackrateitf_GetRateRange", COpenMAXALTestModule::al_playbackrateitf_GetRateRange ),
-         /*PlaybackRateItf ends*/
-        
-        //ADD NEW ENTRY HERE
-        // [test cases entries] - Do not remove
-
-        };
-
-    const TInt count = sizeof( KFunctions ) / 
-                        sizeof( TStifFunctionInfo );
-
-    return RunInternalL( KFunctions, count, aItem );
-
-    }
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::EventName
-// Return descriptor with the notification description
-// -----------------------------------------------------------------------------
-TPtrC COpenMAXALTestModule::EventName( TInt aKey )
-{
-    static TText* const badKeyword = (TText*)L"BadKeyword";
-    static TText* const keywords[] =
-    {
-
-        (TText*)L"EEOSReceived",
-        
-    };
-
-            
-
-    if( (TUint)aKey >= (sizeof( keywords )/sizeof(TText*)) )
-        {
-        iLog->Log(_L("Keyword out of bounds"));
-        TPtrC keyword( badKeyword );
-        return keyword;
-        }
-    else
-        {
-        TPtrC keyword( keywords[aKey] );
-        return keyword;
-        }
-}
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::AddExpectedEvent
-// Add an event to the expected events' list
-// -----------------------------------------------------------------------------
-void COpenMAXALTestModule::AddExpectedEvent(TOMXExpectedEvent event, TInt ms)
-{
-   iLog->Log(_L("COpenMAXALTestModule::AddExpectedEvent"));
-    iExpectedEvents.Append(event);
-    TPtrC eventName = EventName(event);
-    iLog->Log(_L("Adding expected event:(0x%02x)%S Total=%d"), event, &eventName, iExpectedEvents.Count() );
-
-    if ( iTimeoutController && !iTimeoutController->IsActive() )
-        {
-        if (ms > 0)
-            {
-            iTimeoutController->Start( TTimeIntervalMicroSeconds(ms * 1000) );
-            }
-        else
-            {
-            iLog->Log(_L("Timeout with default value (1s)"));
-            iTimeoutController->Start( TTimeIntervalMicroSeconds(1000000) );
-            }
-        }
-}
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::RemoveExpectedEvent
-// Remove the indicated event from the expected events' list
-// -----------------------------------------------------------------------------
-TBool COpenMAXALTestModule::RemoveExpectedEvent(TOMXExpectedEvent aEvent)
-{
-   iLog->Log(_L("COpenMAXALTestModule::RemoveExpectedEvent"));
-    TBool match = EFalse;
-    for (TUint i=0; i < iExpectedEvents.Count() ; i++)
-        {
-        if (iExpectedEvents[i] == aEvent)
-            {
-            iExpectedEvents.Remove(i);
-            match = ETrue;
-            break;
-            }
-        }
-
-    return match;
-}
-
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::RemoveAllExpectedEvents
-// Remove the indicated event from the expected events' list
-// -----------------------------------------------------------------------------
-void COpenMAXALTestModule::RemoveAllExpectedEvents()
-{
-   iLog->Log(_L("COpenMAXALTestModule::RemoveAllExpectedEvents"));
-    iLog->Log(_L("Removing all expected events"));
-    
-    iExpectedEvents.Reset();
-    iOcurredEvents.Reset();
-}
-
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::ProcessEvent
-// -----------------------------------------------------------------------------
-void COpenMAXALTestModule::ProcessEvent(TOMXExpectedEvent aEvent, TInt aError)
-{
-   iLog->Log(_L("COpenMAXALTestModule::ProcessExpectedEvent"));
-    TPtrC nameEvent = EventName(aEvent);
-
-    // Check for error
-    if (aError == KErrNone)
-        {
-        // Remove the event
-        if (RemoveExpectedEvent(aEvent))
-            {
-            iLog->Log(_L("Expected Event: (0x%02x)%S has ocurred Total=%d"), aEvent, &nameEvent,iExpectedEvents.Count());
-            }
-        else
-            {
-            iLog->Log(_L("Event: (0x%02x)%S has ocurred"), aEvent, &nameEvent);
-            return;
-            }
-
-        
-
-        // All expected events have ocurred
-        if (iExpectedEvents.Count() == 0 )
-            {
-            Signal();
-            iTimeoutController->Cancel();
-            }
-        
-        
-        }
-    else
-        {
-        iLog->Log(_L("[Error] Event: (0x%02x)%S return with error code=%d"), aEvent, &nameEvent, aError);
-        if (iExpectedEvents.Count() != 0 )
-            {
-            RemoveExpectedEvent(aEvent);
-            }
-        iTimeoutController->Cancel();
-        Signal(KErrCallbackErrorCode);
-        }
-}
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::HandleTimeout
-// Review if all the expected events have ocurred once the time is over
-// -----------------------------------------------------------------------------
-
-void COpenMAXALTestModule::HandleTimeout(TInt aError)
-{
-   iLog->Log(_L("COpenMAXALTestModule::HandleTimeout"));
-    // All expected events have ocurred
-    if (aError != KErrNone)
-        {
-        if (iExpectedEvents.Count() == 0 )
-            {
-            iLog->Log(_L("Timing out but events have ocurred"));
-            Signal();
-            }
-        else
-            {
-            RemoveAllExpectedEvents();
-            iLog->Log(_L("Timing out and events still pending"));
-            Signal(KErrEventPending);
-            }
-        }
-    else
-        {
-        iLog->Log(_L("Timing out return a error %d"), aError);
-        Signal(aError);
-        }
-}
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::SetTimeout
-// Create a timer and set a timeout
-// When the timeout is reached the test case is marked as failed
-// It's used rather than the "timeout" keyword in the configuration file
-// because in this way the log continues
-// -----------------------------------------------------------------------------
-TInt COpenMAXALTestModule::SetTimeout( CStifItemParser& aItem )
-{
-   iLog->Log(_L("COpenMAXALTestModule::SetTimeout"));
-    TInt timeout=0;
-    TInt error = aItem.GetNextInt(timeout) ;
-    if ( iTimeoutController )
-        {
-        if ( timeout > 0 )
-            {
-            iTimeoutController->Start( TTimeIntervalMicroSeconds(timeout*1000) );
-            }
-        else
-            {
-            iTimeoutController->Start( TTimeIntervalMicroSeconds(1000000) );
-            }
-        }
-    else
-        {
-        iLog->Log(_L("Timeout Controller doesn't exist"));
-        error = KErrTimeoutController;
-        }
-    return error;
-}
-
-
-// -----------------------------------------------------------------------------
-// Uses the TestModuleBase API to allow a panic as exit reason for a test case
-// -----------------------------------------------------------------------------
-TInt COpenMAXALTestModule::SetAllowedPanic( CStifItemParser& aItem )
-{
-   iLog->Log(_L("COpenMAXALTestModule::SetAllowedPanic"));
-    TInt error = KErrNone;
-    TInt panicCode;
-    TPtrC panicType;
-    if (  ( KErrNone == aItem.GetNextString(panicType) ) &&
-    ( KErrNone == aItem.GetNextInt(panicCode) )  )
-        {
-        iLog->Log(_L("Allowing panic: %S %d"), &panicType, panicCode);
-        iTestModuleIf.SetExitReason( CTestModuleIf::EPanic, panicCode );
-        iNormalExitReason = EFalse;
-        }
-    else
-        {
-        iLog->Log(KMsgBadTestParameters);
-        error = KErrBadTestParameter;
-        }
-    return error;
-}
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::SetExpectedEvents()
-// -----------------------------------------------------------------------------
-TInt COpenMAXALTestModule::SetExpectedEvents( CStifItemParser& aItem )
-{
-   iLog->Log(_L("COpenMAXALTestModule::SetExpectedEvents"));
-    TInt error = KErrNone;
-    TInt event=0;
-    while ( KErrNone == aItem.GetNextInt(event))
-        {
-        TInt timeout=0;
-        aItem.GetNextInt(timeout);
-        AddExpectedEvent(static_cast<TOMXExpectedEvent>(event), timeout); // Default timeout value
-        }
-    return error;
-}
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::ExampleL
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt COpenMAXALTestModule::ExampleL( CStifItemParser& aItem )
-    {
-
-    // Print to UI
-    _LIT( KOpenMAXALTestModule, "OpenMAXALTestModule" );
-    _LIT( KExample, "In Example" );
-    TestModuleIf().Printf( 0, KOpenMAXALTestModule, KExample );
-    // Print to log file
-    iLog->Log( KExample );
-
-    TInt i = 0;
-    TPtrC string;
-    _LIT( KParam, "Param[%i]: %S" );
-    while ( aItem.GetNextString ( string ) == KErrNone )
-        {
-        TestModuleIf().Printf( i, KOpenMAXALTestModule, 
-                                KParam, i, &string );
-        i++;
-        }
-
-    return KErrNone;
-
-    }
-
-TInt COpenMAXALTestModule::MapErr(XAresult xa_res)
-    {
-    TInt status(KErrGeneral);
-    switch(xa_res)
-        {
-        case XA_RESULT_SUCCESS:
-            //iLog->Log(_L("XA_RESULT_SUCCESS"));
-            status = KErrNone;
-            break;
-        case XA_RESULT_PRECONDITIONS_VIOLATED:
-            iLog->Log(_L("XA_RESULT_PRECONDITIONS_VIOLATED"));
-            break;
-        case XA_RESULT_PARAMETER_INVALID:
-            iLog->Log(_L("XA_RESULT_PARAMETER_INVALID"));
-            break;
-        case XA_RESULT_MEMORY_FAILURE:
-            iLog->Log(_L("XA_RESULT_MEMORY_FAILURE"));
-            break;
-        case XA_RESULT_RESOURCE_ERROR:
-            iLog->Log(_L("XA_RESULT_RESOURCE_ERROR"));
-            break;
-        case XA_RESULT_RESOURCE_LOST:
-            iLog->Log(_L("XA_RESULT_RESOURCE_LOST"));
-            break;
-        case XA_RESULT_IO_ERROR:
-            iLog->Log(_L("XA_RESULT_IO_ERROR"));
-            break;
-        case XA_RESULT_BUFFER_INSUFFICIENT:
-            iLog->Log(_L("XA_RESULT_BUFFER_INSUFFICIENT"));
-            break;
-        case XA_RESULT_CONTENT_CORRUPTED:
-            iLog->Log(_L("XA_RESULT_CONTENT_CORRUPTED"));
-            break;
-        case XA_RESULT_CONTENT_UNSUPPORTED:
-            iLog->Log(_L("XA_RESULT_CONTENT_UNSUPPORTED"));
-            break;
-        case XA_RESULT_CONTENT_NOT_FOUND:
-            iLog->Log(_L("XA_RESULT_CONTENT_NOT_FOUND"));
-            break;
-        case XA_RESULT_PERMISSION_DENIED:
-            iLog->Log(_L("XA_RESULT_PERMISSION_DENIED"));
-            break;
-        case XA_RESULT_FEATURE_UNSUPPORTED:
-            iLog->Log(_L("XA_RESULT_FEATURE_UNSUPPORTED"));
-            break;
-        case XA_RESULT_INTERNAL_ERROR:
-            iLog->Log(_L("XA_RESULT_INTERNAL_ERROR"));
-            break;
-        case XA_RESULT_UNKNOWN_ERROR:
-            iLog->Log(_L("XA_RESULT_UNKNOWN_ERROR"));
-            break;
-        case XA_RESULT_OPERATION_ABORTED:
-            iLog->Log(_L("XA_RESULT_OPERATION_ABORTED"));
-            break;
-        case XA_RESULT_CONTROL_LOST:
-            iLog->Log(_L("XA_RESULT_CONTROL_LOST"));
-            break;
-        default:
-            iLog->Log(_L("Unknown Error!!!"));
-        }
-    return status;
-    }
-
-
-XAInterfaceID COpenMAXALTestModule::MapInterface(TInt interface)
-    {
-    XAInterfaceID id(XA_IID_NULL);
-    switch(interface)
-        {
-        case 1:
-            id = XA_IID_NULL;
-            break;
-        case 2:
-            id = XA_IID_OBJECT;
-            break;
-        case 3:
-            id = XA_IID_CONFIGEXTENSION;
-            break;
-        case 4:
-            id = XA_IID_DYNAMICINTERFACEMANAGEMENT;
-            break;
-        case 5:
-            id = XA_IID_ENGINE;
-            break;
-        case 6:
-            id = XA_IID_THREADSYNC;
-            break;
-        case 7:
-            id = XA_IID_PLAY;
-            break;
-        case 8:
-            id = XA_IID_PLAYBACKRATE;
-            break;
-        case 9:
-            id = XA_IID_PREFETCHSTATUS;
-            break;
-        case 10:
-            id = XA_IID_SEEK;
-            break;
-        case 11:
-            id = XA_IID_VOLUME;
-            break;
-        case 12:
-            id = XA_IID_IMAGECONTROLS;
-            break;
-        case 13:
-            id = XA_IID_IMAGEEFFECTS;
-            break;
-        case 14:
-            id = XA_IID_VIDEOPOSTPROCESSING;
-            break;
-        case 15:
-            id = XA_IID_RECORD;
-            break;
-        case 16:
-            id = XA_IID_SNAPSHOT;
-            break;
-        case 17:
-            id = XA_IID_METADATAEXTRACTION;
-            break;
-        case 18:
-            id = XA_IID_METADATAINSERTION;
-            break;
-        case 19:
-            id = XA_IID_METADATATRAVERSAL;
-            break;
-        case 20:
-            id = XA_IID_DYNAMICSOURCE;
-            break;
-        case 21:
-            id = XA_IID_CAMERACAPABILITIES;
-            break;
-        case 22:
-            id = XA_IID_CAMERA;
-            break;
-        case 23:
-            id = XA_IID_AUDIOIODEVICECAPABILITIES;
-            break;
-        case 24:
-            id = XA_IID_DEVICEVOLUME;
-            break;
-        case 25:
-            id = XA_IID_EQUALIZER;
-            break;
-        case 26:
-            id = XA_IID_OUTPUTMIX;
-            break;
-        case 27:
-            id = XA_IID_RADIO;
-            break;
-        case 28:
-            id = XA_IID_RDS;
-            break;
-        case 29:
-            id = XA_IID_VIBRA;
-            break;
-        case 30:
-            id = XA_IID_LED;
-            break;
-        case 31:
-            id = XA_IID_AUDIODECODERCAPABILITIES;
-            break;
-        case 32:
-            id = XA_IID_AUDIOENCODER;
-            break;
-        case 33:
-            id = XA_IID_AUDIOENCODERCAPABILITIES;
-            break;
-        case 34:
-            id = XA_IID_IMAGEENCODERCAPABILITIES;
-            break;
-        case 35:
-            id = XA_IID_IMAGEDECODERCAPABILITIES;
-            break;
-        case 36:
-            id = XA_IID_IMAGEENCODER;
-            break;
-        case 37:
-            id = XA_IID_VIDEODECODERCAPABILITIES;
-            break;
-        case 38:
-            id = XA_IID_VIDEOENCODER;
-            break;
-        case 39:
-            id = XA_IID_VIDEOENCODERCAPABILITIES;
-            break;
-        case 40:
-            id = XA_IID_STREAMINFORMATION;
-            break;
-        case 41:
-            id = XA_IID_NOKIAVOLUMEEXT;
-            break;
-        case 42:
-            id = XA_IID_NOKIALINEARVOLUME;
-            break;
-        default:
-            break;
-        }
-    return id;
-    }
-
-XAObjectItf COpenMAXALTestModule::GetObject(TInt object)
-    {
-    XAObjectItf itf;
-    switch(object)
-        {
-        case XA_OBJECTID_ENGINE:
-            itf = m_EOEngine;
-            break;
-        case XA_OBJECTID_LEDDEVICE:
-            itf = m_MOLEDObject;
-            break;
-        case XA_OBJECTID_VIBRADEVICE:
-            itf = m_MOVibraObject;
-            break;           
-        case XA_OBJECTID_MEDIAPLAYER:
-            itf = m_MOPlayer;
-            break;           
-        case XA_OBJECTID_MEDIARECORDER:
-            itf = m_MORecorder;
-            break;
-        case XA_OBJECTID_RADIODEVICE:
-            itf = m_MORadioObject;
-            break;
-        case XA_OBJECTID_OUTPUTMIX:
-            itf = m_MOOutputMix;
-            break;
-        case XA_OBJECTID_METADATAEXTRACTOR:
-            itf = m_MOMetadataExtractor;
-            break;
-        case XA_OBJECTID_CAMERADEVICE:
-            itf = m_MOCameraObject;
-            break;
-        case 10:
-            /*Extension Object Defined own id as 10*/
-            itf = m_MOExtnObject;
-            break;
-        default:
-            itf = NULL;
-            break;
-        }
-    return itf;
-    }
-
-TInt COpenMAXALTestModule::StoreInterface(TInt interface, void* id)
-    {
-    TInt status(KErrNone);
-    switch(interface)
-        {
-        case 1:
-/*            XA_IID_NULL;*/
-            break;
-        case 2:
-/*            XA_IID_OBJECT;*/
-            break;
-        case 3:
-/*            XA_IID_CONFIGEXTENSION;*/
-            break;
-        case 4:
-            m_DIMItf = XADynamicInterfaceManagementItf(id);
-/*            XA_IID_DYNAMICINTERFACEMANAGEMENT;*/
-            break;
-        case 5:
-            m_EngineItf = XAEngineItf(id);
-            break;
-        case 6:
-/*            XA_IID_THREADSYNC;*/
-            break;
-        case 7:
-/*            XA_IID_PLAY;*/
-            m_PlayItf = XAPlayItf(id);
-            break;
-        case 8:
-/*            XA_IID_PLAYBACKRATE;*/
-            m_PlaybackRateItf = XAPlaybackRateItf(id);
-            break;
-        case 9:
-/*            XA_IID_PREFETCHSTATUS;*/
-            break;
-        case 10:
-/*            XA_IID_SEEK;*/
-            m_SeekItf = XASeekItf(id);
-            break;
-        case 11:
-/*            XA_IID_VOLUME;*/
-            m_VolumeItf = XAVolumeItf(id);
-            break;
-        case 12:
-/*            XA_IID_IMAGECONTROLS;*/
-            break;
-        case 13:
-/*            XA_IID_IMAGEEFFECTS;*/
-            break;
-        case 14:
-/*            XA_IID_VIDEOPOSTPROCESSING;*/
-            break;
-        case 15:
-            m_RecordItf = XARecordItf(id);
-            break;
-        case 16:
-/*            XA_IID_SNAPSHOT;*/
-            break;
-        case 17:
-/*            XA_IID_METADATAEXTRACTION;*/
-            m_MetadataExtractionItf = XAMetadataExtractionItf(id);
-            break;
-        case 18:
-            m_MetadataInsertionItf = XAMetadataInsertionItf(id);
-/*            XA_IID_METADATAINSERTION;*/
-            break;
-        case 19:
-/*            XA_IID_METADATATRAVERSAL;*/
-            break;
-        case 20:
-/*            XA_IID_DYNAMICSOURCE;*/
-            m_DynSrcItf = XADynamicSourceItf(id);
-            break;
-        case 21:
-/*            XA_IID_CAMERACAPABILITIES;*/
-            break;
-        case 22:
-/*            XA_IID_CAMERA;*/
-            break;
-        case 23:
-            m_AIODevCapItf = XAAudioIODeviceCapabilitiesItf(id);
-/*            XA_IID_AUDIOIODEVICECAPABILITIES;*/
-            break;
-        case 24:
-/*            XA_IID_DEVICEVOLUME;*/
-            break;
-        case 25:
-/*            XA_IID_EQUALIZER;*/
-            break;
-        case 26:
-/*            XA_IID_OUTPUTMIX;*/
-            break;
-        case 27:
-        	m_RadioItf = XARadioItf(id);
-/*            XA_IID_RADIO;*/
-            break;
-        case 28:
-/*            XA_IID_RDS;*/
-            break;
-        case 29:
-/*            XA_IID_VIBRA;*/
-            break;
-        case 30:
-/*            XA_IID_LED;*/
-            break;
-        case 31:
-/*            XA_IID_AUDIODECODERCAPABILITIES;*/
-            break;
-        case 32:
-            m_AudEncItf = XAAudioEncoderItf(id);
-/*            XA_IID_AUDIOENCODER;*/
-            break;
-        case 33:
-            m_AEncCapItf = XAAudioEncoderCapabilitiesItf(id);
-/*            XA_IID_AUDIOENCODERCAPABILITIES;*/
-            break;
-        case 34:
-/*            XA_IID_IMAGEENCODERCAPABILITIES;*/
-            break;
-        case 35:
-/*            XA_IID_IMAGEDECODERCAPABILITIES;*/
-            break;
-        case 36:
-/*            XA_IID_IMAGEENCODER;*/
-            break;
-        case 37:
-/*            XA_IID_VIDEODECODERCAPABILITIES;*/
-            break;
-        case 38:
-/*            XA_IID_VIDEOENCODER;*/
-            break;
-        case 39:
-/*            XA_IID_VIDEOENCODERCAPABILITIES;*/
-            break;
-        case 40:
-/*            XA_IID_STREAMINFORMATION;*/
-            m_StrInfoItf = XAStreamInformationItf(id);
-            break;
-        case 41:
-/*            XA_IID_NOKIAVOLUMEEXTITF;*/
-            m_NokiaVolumeExtItf = XANokiaVolumeExtItf(id);
-            break;
-        case 42:
-/*            XA_IID_NOKIALINEARVOLUMEITF;*/
-            m_NokiaLinearVolumeItf = XANokiaLinearVolumeItf(id);
-            break;
-            
-        default:
-            break;
-            
-        }
-    return status;
-    }
-
-
-// -----------------------------------------------------------------------------
-// COpenMAXALTestModule::?member_function
-// ?implementation_description
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-/*
-TInt COpenMAXALTestModule::?member_function(
-   CItemParser& aItem )
-   {
-
-   ?code
-
-   }
-*/
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
-//  [End of File] - Do not remove
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/common/openmaxalvolumeitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_volumeitf_SetVolumeLevel( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt volume(0);
-    
-    status = aItem.GetNextInt(volume);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_VolumeItf)
-        {
-        status = (*m_VolumeItf)->SetVolumeLevel(m_VolumeItf, volume);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_volumeitf_GetVolumeLevel( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAmillibel volume(0);
-    if(m_VolumeItf)
-        {
-        status = (*m_VolumeItf)->GetVolumeLevel(m_VolumeItf, &volume);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_volumeitf_GetMaxVolumeLevel( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAmillibel volume(0);
-    if(m_VolumeItf)
-        {
-        status = (*m_VolumeItf)->GetMaxVolumeLevel(m_VolumeItf, &volume);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_volumeitf_SetMute( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt mute(0);
-    
-    status = aItem.GetNextInt(mute);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_VolumeItf)
-        {
-        status = (*m_VolumeItf)->SetMute(m_VolumeItf, mute);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_volumeitf_GetMute( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAboolean mute(0);
-    
-    if(m_VolumeItf)
-        {
-        status = (*m_VolumeItf)->GetMute(m_VolumeItf, &mute);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_volumeitf_EnableStereoPosition( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt value(0);
-    
-    status = aItem.GetNextInt(value);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_VolumeItf)
-        {
-        status = (*m_VolumeItf)->EnableStereoPosition(m_VolumeItf, value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_volumeitf_IsEnabledStereoPosition( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAboolean value(0);
-    
-    if(m_VolumeItf)
-        {
-        status = (*m_VolumeItf)->IsEnabledStereoPosition(m_VolumeItf, &value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_volumeitf_SetStereoPosition( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt value(0);
-    
-    status = aItem.GetNextInt(value);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_VolumeItf)
-        {
-        status = (*m_VolumeItf)->SetStereoPosition(m_VolumeItf, value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_volumeitf_GetStereoPosition( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XApermille value(0);
-    
-    if(m_VolumeItf)
-        {
-        status = (*m_VolumeItf)->GetStereoPosition(m_VolumeItf, &value);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-
-
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/engine/openmaxalaudioencodercapabiltiesitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_audioencodercapitf_GetAudioEncoders( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt numEncoders(0);
-    XAuint32 deviceIdArr[4];
-    XAresult res;
-    XAuint32 numEnc(0);
-    
-    status = aItem.GetNextInt(numEncoders);
-    if(!status)
-        {
-        numEnc = numEncoders;
-        if(m_AEncCapItf)
-            {
-            res = (*m_AEncCapItf)->GetAudioEncoders(
-                    m_AEncCapItf, &numEnc, deviceIdArr);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }            
-        }
-    else
-        {
-        if(m_AEncCapItf)
-            {
-            res = (*m_AEncCapItf)->GetAudioEncoders(
-                    m_AEncCapItf, &numEnc, NULL);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }            
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioencodercapitf_GetAudioEncoderCapabilities( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt encId(0);
-    XAuint32 encoderid(0);
-    XAuint32 index(0);
-    XAAudioCodecDescriptor desc;
-    XAresult res;
-    
-    status = aItem.GetNextInt(encId);
-    if(!status)
-        {
-        encoderid = encId;
-        if(m_AEncCapItf)
-            {
-            res = (*m_AEncCapItf)->GetAudioEncoderCapabilities(
-                    m_AEncCapItf, encoderid, &index, &desc);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }                
-        }
-    return status;
-    }
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/engine/openmaxalaudioiodevicecapabilitiesitfcallbacks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-void AvailAudioOutputsChangedCallback(
-        XAAudioIODeviceCapabilitiesItf caller,
-        void * pContext,
-        XAuint32 deviceID,
-        XAint32 numInputs,
-        XAboolean isNew)
-    {
-    
-    }
-
-void AvailAudioInputsChangedCallback(
-        XAAudioIODeviceCapabilitiesItf caller,
-        void * pContext,
-        XAuint32 deviceID,
-        XAint32 numInputs,
-        XAboolean isNew)
-    {
-    
-    }
-
-void DefaultDeviceIDMapChangedCallback (
-    XAAudioIODeviceCapabilitiesItf caller,
-    void * pContext,
-    XAboolean isOutput,
-    XAint32 numDevices)
-    {
-    
-    }
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/engine/openmaxalaudioiodevicecapabilitiesitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,493 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-void AvailAudioInputsChangedCallback(
-        XAAudioIODeviceCapabilitiesItf caller,
-        void * pContext,
-        XAuint32 deviceID,
-        XAint32 numInputs,
-        XAboolean isNew
-    );
-
-void AvailAudioOutputsChangedCallback(
-        XAAudioIODeviceCapabilitiesItf caller,
-        void * pContext,
-        XAuint32 deviceID,
-        XAint32 numInputs,
-        XAboolean isNew
-    );
-
-void DefaultDeviceIDMapChangedCallback (
-    XAAudioIODeviceCapabilitiesItf caller,
-    void * pContext,
-    XAboolean isOutput,
-    XAint32 numDevices);
-    
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_audioiodevcapitf_GetAvailableAudioInputs( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    
-    TInt deviceId(0);
-    XAint32 devId;
-    XAuint32* deviceIdArr(NULL);
-    
-    status = aItem.GetNextInt(deviceId);
-    if(!status)
-        {
-        devId = deviceId;
-        if(m_AIODevCapItf)
-            {
-            res = (*m_AIODevCapItf)->GetAvailableAudioInputs(
-                    m_AIODevCapItf, &devId, deviceIdArr);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }        
-        }
-    else
-        {
-        if(m_AIODevCapItf)
-            {
-            res = (*m_AIODevCapItf)->GetAvailableAudioInputs(
-                    m_AIODevCapItf, &devId, NULL);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }        
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioiodevcapitf_QueryAudioInputCapabilities( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAAudioInputDescriptor inputDesc;
-    XAresult res;
-    TUint deviceId(0);
-    XAuint32 devId(0);
-    
-    status = aItem.GetNextInt(deviceId);
-    if(!status)
-        {
-        devId = deviceId;
-        if(m_AIODevCapItf)
-            {
-            res = (*m_AIODevCapItf)->QueryAudioInputCapabilities(
-                    m_AIODevCapItf, devId, &inputDesc);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            } 
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioiodevcapitf_RegisterAvailableAudioInputsChangedCallback( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    
-    if(m_AIODevCapItf)
-        {
-        res = (*m_AIODevCapItf)->RegisterAvailableAudioInputsChangedCallback(
-                m_AIODevCapItf, AvailAudioInputsChangedCallback, (void*)this);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }            
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioiodevcapitf_GetAvailableAudioOutputs( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    
-    TInt deviceId(0);
-    XAint32 devId;
-    XAuint32* deviceIdArr(NULL);
-    
-    status = aItem.GetNextInt(deviceId);
-    if(!status)
-        {
-        devId = deviceId;
-        if(m_AIODevCapItf)
-            {
-            res = (*m_AIODevCapItf)->GetAvailableAudioOutputs(
-                    m_AIODevCapItf, &devId, deviceIdArr);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }        
-        }
-    else
-        {
-        if(m_AIODevCapItf)
-            {
-            res = (*m_AIODevCapItf)->GetAvailableAudioOutputs(
-                    m_AIODevCapItf, &devId, NULL);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }        
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioiodevcapitf_QueryAudioOutputCapabilities( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAAudioOutputDescriptor outputDesc;
-    XAresult res;
-    TUint deviceId(0);
-    XAuint32 devId(0);
-    
-    status = aItem.GetNextInt(deviceId);
-    if(!status)
-        {
-        devId = deviceId;
-        if(m_AIODevCapItf)
-            {
-            res = (*m_AIODevCapItf)->QueryAudioOutputCapabilities(
-                    m_AIODevCapItf, devId, &outputDesc);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            } 
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioiodevcapitf_RegisterAvailableAudioOutputsChangedCallback( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    
-    if(m_AIODevCapItf)
-        {
-        res = (*m_AIODevCapItf)->RegisterAvailableAudioOutputsChangedCallback(
-                m_AIODevCapItf, AvailAudioOutputsChangedCallback, (void*)this);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }            
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioiodevcapitf_RegisterDefaultDeviceIDMapChangedCallback( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    
-    if(m_AIODevCapItf)
-        {
-        res = (*m_AIODevCapItf)->RegisterDefaultDeviceIDMapChangedCallback(
-                m_AIODevCapItf, DefaultDeviceIDMapChangedCallback, (void*)this);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }            
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioiodevcapitf_GetAssociatedAudioInputs( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    
-    TUint deviceId(0);
-    TInt sizeArr(0);
-    XAuint32 devId(0);
-    XAint32 numInputs(0);
-    XAuint32 deviceIdArr[2];
-    
-    status = aItem.GetNextInt(deviceId);
-    if(!status)
-        {
-        devId = deviceId;
-        status = aItem.GetNextInt(sizeArr);
-        if(!status)
-            {
-            numInputs = sizeArr;
-            if(m_AIODevCapItf)
-                {
-                res = (*m_AIODevCapItf)->GetAssociatedAudioInputs(
-                        m_AIODevCapItf, devId, &numInputs, deviceIdArr);
-                status = res;
-                }
-            else
-                {
-                status = KErrNotFound;
-                }        
-            }
-        else
-            {
-            if(m_AIODevCapItf)
-                {
-                res = (*m_AIODevCapItf)->GetAssociatedAudioInputs(
-                        m_AIODevCapItf, devId,&numInputs, NULL);
-                status = res;
-                }
-            else
-                {
-                status = KErrNotFound;
-                }                
-            }
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioiodevcapitf_GetAssociatedAudioOutputs( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    
-    TUint deviceId(0);
-    TInt sizeArr(0);
-    XAuint32 devId(0);
-    XAint32 numOutputs(0);
-    XAuint32 deviceIdArr[2];
-    
-    status = aItem.GetNextInt(deviceId);
-    if(!status)
-        {
-        devId = deviceId;
-        status = aItem.GetNextInt(sizeArr);
-        if(!status)
-            {
-            numOutputs = sizeArr;
-            if(m_AIODevCapItf)
-                {
-                res = (*m_AIODevCapItf)->GetAssociatedAudioOutputs(
-                        m_AIODevCapItf, devId, &numOutputs, deviceIdArr);
-                status = res;
-                }
-            else
-                {
-                status = KErrNotFound;
-                }        
-            }
-        else
-            {
-            if(m_AIODevCapItf)
-                {
-                res = (*m_AIODevCapItf)->GetAssociatedAudioOutputs(
-                        m_AIODevCapItf, devId,&numOutputs, NULL);
-                status = res;
-                }
-            else
-                {
-                status = KErrNotFound;
-                }                
-            }
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioiodevcapitf_GetDefaultAudioDevices( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    
-    TUint deviceId(0);
-    TInt sizeArr(0);
-    XAuint32 devId(0);
-    XAint32 numOutputs(0);
-    XAuint32 deviceIdArr[2];
-    
-    status = aItem.GetNextInt(deviceId, EHex);
-    if(!status)
-        {
-        devId = deviceId;
-        status = aItem.GetNextInt(sizeArr);
-        if(!status)
-            {
-            numOutputs = sizeArr;
-            if(m_AIODevCapItf)
-                {
-                res = (*m_AIODevCapItf)->GetDefaultAudioDevices(
-                        m_AIODevCapItf, devId, &numOutputs, deviceIdArr);
-                status = res;
-                }
-            else
-                {
-                status = KErrNotFound;
-                }        
-            }
-        else
-            {
-            if(m_AIODevCapItf)
-                {
-                res = (*m_AIODevCapItf)->GetDefaultAudioDevices(
-                        m_AIODevCapItf, devId,&numOutputs, NULL);
-                status = res;
-                }
-            else
-                {
-                status = KErrNotFound;
-                }                
-            }
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioiodevcapitf_QuerySampleFormatsSupported( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt sizeArr(0);
-    TUint deviceId(0);
-    TInt samplerate(0);
-    XAuint32 devId(0);
-    XAmilliHertz samplingrate;
-    XAint32 deviceIdArr[20];
-    XAint32 numSampleRates(0);
-    
-    status = aItem.GetNextInt(deviceId);
-    if(!status)
-        {
-        devId = deviceId;
-        status = aItem.GetNextInt(samplerate);
-        if(!status)
-            {
-            samplingrate = samplerate;
-            status = aItem.GetNextInt(sizeArr);
-            if(!status)
-                {
-                numSampleRates = sizeArr;
-                if(m_AIODevCapItf)
-                    {
-                    res = (*m_AIODevCapItf)->QuerySampleFormatsSupported(
-                            m_AIODevCapItf, devId, samplingrate, deviceIdArr, &numSampleRates);
-                    status = res;
-                    }
-                else
-                    {
-                    status = KErrNotFound;
-                    }        
-                }
-            else
-                {
-                if(m_AIODevCapItf)
-                    {
-                    res = (*m_AIODevCapItf)->QuerySampleFormatsSupported(
-                            m_AIODevCapItf, devId, samplingrate, NULL, &numSampleRates);
-                    status = res;
-                    }
-                else
-                    {
-                    status = KErrNotFound;
-                    }        
-                }
-            }
-        else
-            {
-            status = KErrGeneral;
-            }
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-    return status;
-    }
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/engine/openmaxalengineitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,871 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-#include "profileutilmacro.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-TInt COpenMAXALTestModule::al_engitf_CreateCameraDevice( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt objectId;
-    TInt numInterfaces(0);    
-    XAresult res;
-    
-    
-    /* Initialize arrays required[] and iidArray[] */
-    for (TInt i = 0; i < MAX_NUMBER_INTERFACES; i++)
-        {
-        required[i] = XA_BOOLEAN_FALSE;
-        iidArray[i] = XA_IID_NULL;
-        }
-
-    status = aItem.GetNextInt(numInterfaces);
-    if(!status)
-        {
-        for(TInt j = 0; j < numInterfaces; j++)
-            {
-            TInt interface(0);
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                required[j] = XA_BOOLEAN_TRUE;
-                iidArray[j] = MapInterface(interface);
-                numInterfaces++;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-
-    
-    status = aItem.GetNextInt(objectId);
-    if(!status)
-        {
-        if(m_EngineItf)
-            {
-            res = (*m_EngineItf)->CreateCameraDevice(
-                    m_EngineItf, &m_MOCameraObject, objectId,
-                    numInterfaces, iidArray, required);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }    
-        }
-    return status;
-    }
-
-
-TInt COpenMAXALTestModule::al_engitf_CreateRadioDevice( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt numInterfaces(0);    
-    XAresult res;
-    
-    
-    /* Initialize arrays required[] and iidArray[] */
-    for (TInt i = 0; i < MAX_NUMBER_INTERFACES; i++)
-        {
-        required[i] = XA_BOOLEAN_FALSE;
-        iidArray[i] = XA_IID_NULL;
-        }
-
-    status = aItem.GetNextInt(numInterfaces);
-    if(!status)
-        {
-        for(TInt j = 0; j < numInterfaces; j++)
-            {
-            TInt interface(0);
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                required[j] = XA_BOOLEAN_TRUE;
-                iidArray[j] = MapInterface(interface);
-                numInterfaces++;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    
-    
-    if(m_EngineItf)
-        {
-        res = (*m_EngineItf)->CreateRadioDevice(
-                m_EngineItf, &m_MORadioObject,
-                numInterfaces, iidArray, required);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_CreateLEDDevice( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt objectId;
-    TInt numInterfaces(0);    
-    XAresult res;
-    
-    
-    /* Initialize arrays required[] and iidArray[] */
-    for (TInt i = 0; i < MAX_NUMBER_INTERFACES; i++)
-        {
-        required[i] = XA_BOOLEAN_FALSE;
-        iidArray[i] = XA_IID_NULL;
-        }
-
-    status = aItem.GetNextInt(numInterfaces);
-    if(!status)
-        {
-        for(TInt j = 0; j < numInterfaces; j++)
-            {
-            TInt interface(0);
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                required[j] = XA_BOOLEAN_TRUE;
-                iidArray[j] = MapInterface(interface);
-                numInterfaces++;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    
-    
-    status = aItem.GetNextInt(objectId);
-    if(!status)
-        {
-        if(m_EngineItf)
-            {
-            res = (*m_EngineItf)->CreateLEDDevice(
-                    m_EngineItf, &m_MOVibraObject, objectId,
-                    numInterfaces, iidArray, required);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }    
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_CreateVibraDevice( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt objectId;
-    TInt numInterfaces(0);    
-    XAresult res;
-    
-    
-    /* Initialize arrays required[] and iidArray[] */
-    for (TInt i = 0; i < MAX_NUMBER_INTERFACES; i++)
-        {
-        required[i] = XA_BOOLEAN_FALSE;
-        iidArray[i] = XA_IID_NULL;
-        }
-
-    status = aItem.GetNextInt(numInterfaces);
-    if(!status)
-        {
-        for(TInt j = 0; j < numInterfaces; j++)
-            {
-            TInt interface(0);
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                required[j] = XA_BOOLEAN_TRUE;
-                iidArray[j] = MapInterface(interface);
-                numInterfaces++;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    
-    
-    status = aItem.GetNextInt(objectId);
-    if(!status)
-        {
-        if(m_EngineItf)
-            {
-            res = (*m_EngineItf)->CreateVibraDevice(
-                    m_EngineItf, &m_MOVibraObject, objectId,
-                    numInterfaces, iidArray, required);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }    
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_CreateMediaPlayer( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XADataSource* dataSource(NULL);
-    XADataSink* audioSink(NULL);
-    XADataSink* videoSink(NULL);
-    XADataSink* ledSink(NULL);
-    XADataSink* vibraSink(NULL);
-    TInt numInterfaces(0);    
-    XAresult res;
-    
-    
-    /* Initialize arrays required[] and iidArray[] */
-    for (TInt i = 0; i < MAX_NUMBER_INTERFACES; i++)
-        {
-        required[i] = XA_BOOLEAN_FALSE;
-        iidArray[i] = XA_IID_NULL;
-        }
-
-    status = aItem.GetNextInt(numInterfaces);
-    if(!status)
-        {
-        for(TInt j = 0; j < numInterfaces; j++)
-            {
-            TInt interface(0);
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                required[j] = XA_BOOLEAN_TRUE;
-                iidArray[j] = MapInterface(interface);
-                numInterfaces++;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    
-    /*pFormat is not mandatory for RadioSrc*/
-    if(/*m_AudioSource.pFormat &&*/ m_AudioSource.pLocator)
-        {
-        dataSource = &m_AudioSource;
-        }
-    else if(m_VideoSource.pFormat && m_VideoSource.pLocator)
-        {
-        dataSource = &m_VideoSource;
-        }
-    
-    if(m_VibraSink.pFormat && m_VibraSink.pLocator)
-        {
-        vibraSink = &m_VibraSink;
-        }
-    
-    if(m_LEDSink.pFormat && m_LEDSink.pLocator)
-        {
-        ledSink = &m_LEDSink;
-        }
-    /*pFormat is not mandatory for IODevice*/
-    if(/*m_AudioSink.pFormat && */m_AudioSink.pLocator)
-        {
-        audioSink = &m_AudioSink;
-        }
-    /*pFormat is not mandatory for NativeDisplay*/
-    if(/*m_VideoSink.pFormat && */m_VideoSink.pLocator)
-        {
-        videoSink = &m_VideoSink;
-        }    
-    
-    if(m_EngineItf)
-        {
-        TAG_TIME_PROFILING_BEGIN;
-        res = (*m_EngineItf)->CreateMediaPlayer(
-                m_EngineItf, &m_MOPlayer, dataSource, NULL,
-                audioSink,videoSink, ledSink, vibraSink,
-                numInterfaces, iidArray, required);
-        TAG_TIME_PROFILING_END;
-        PRINT_TO_CONSOLE_TIME_DIFF;
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_CreateMediaRecorder( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt numInterfaces(0);
-    XADataSource* audioSource(NULL);
-    XADataSource* videoSource(NULL);
-    XADataSink* dataSink(NULL);
-    /* Initialize arrays required[] and iidArray[] */
-    for (TInt i = 0; i < MAX_NUMBER_INTERFACES; i++)
-        {
-        required[i] = XA_BOOLEAN_FALSE;
-        iidArray[i] = XA_IID_NULL;
-        }
-
-    status = aItem.GetNextInt(numInterfaces);
-    if(!status)
-        {
-        for(TInt j = 0; j < numInterfaces; j++)
-            {
-            TInt interface(0);
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                required[j] = XA_BOOLEAN_TRUE;
-                iidArray[j] = MapInterface(interface);
-                numInterfaces++;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    
-    
-    if(m_AudioSource.pFormat && m_AudioSource.pLocator)
-        {
-        audioSource = &m_AudioSource;
-        }
-    
-    if(m_VideoSource.pFormat && m_VideoSource.pLocator)
-        {
-        videoSource = &m_VideoSource;
-        }
-    
-    if(m_DataSink.pFormat && m_DataSink.pLocator)
-        {
-        dataSink = &m_DataSink;
-        }
-    
-    if(m_EngineItf)
-        {
-        res = (*m_EngineItf)->CreateMediaRecorder(
-                m_EngineItf, &m_MORecorder, audioSource, videoSource, dataSink,
-                numInterfaces, iidArray, required);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_CreateOutputMix( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt numInterfaces(0);
-
-    /* Initialize arrays required[] and iidArray[] */
-    for (TInt i = 0; i < MAX_NUMBER_INTERFACES; i++)
-        {
-        required[i] = XA_BOOLEAN_FALSE;
-        iidArray[i] = XA_IID_NULL;
-        }
-
-    status = aItem.GetNextInt(numInterfaces);
-    if(!status)
-        {
-        for(TInt j = 0; j < numInterfaces; j++)
-            {
-            TInt interface(0);
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                required[j] = XA_BOOLEAN_TRUE;
-                iidArray[j] = MapInterface(interface);
-                numInterfaces++;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }    
-    
-    if(m_EngineItf)
-        {
-        res = (*m_EngineItf)->CreateOutputMix(
-                m_EngineItf, &m_MOOutputMix, 
-                numInterfaces, iidArray, required);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_CreateMetadataExtractor( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt numInterfaces(0);
-    XADataSource* metadataSource(NULL);
-    /* Initialize arrays required[] and iidArray[] */
-    for (TInt i = 0; i < MAX_NUMBER_INTERFACES; i++)
-        {
-        required[i] = XA_BOOLEAN_FALSE;
-        iidArray[i] = XA_IID_NULL;
-        }
-
-    status = aItem.GetNextInt(numInterfaces);
-    if(!status)
-        {
-        for(TInt j = 0; j < numInterfaces; j++)
-            {
-            TInt interface(0);
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                required[j] = XA_BOOLEAN_TRUE;
-                iidArray[j] = MapInterface(interface);
-                numInterfaces++;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    
-    if(m_MOMetadataExtractorSource.pFormat && m_MOMetadataExtractorSource.pLocator)
-        {
-        metadataSource = &m_MOMetadataExtractorSource;
-        }
-    
-    if(m_EngineItf)
-        {
-        res = (*m_EngineItf)->CreateMetadataExtractor(
-                m_EngineItf, &m_MOMetadataExtractor, metadataSource,
-                numInterfaces, iidArray, required);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_CreateExtensionObject( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt numInterfaces(0);
-    TInt objectId(0);
-    
-    /* Initialize arrays required[] and iidArray[] */
-    for (TInt i = 0; i < MAX_NUMBER_INTERFACES; i++)
-        {
-        required[i] = XA_BOOLEAN_FALSE;
-        iidArray[i] = XA_IID_NULL;
-        }
-
-    status = aItem.GetNextInt(numInterfaces);
-    if(!status)
-        {
-        for(TInt j = 0; j < numInterfaces; j++)
-            {
-            TInt interface(0);
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                required[j] = XA_BOOLEAN_TRUE;
-                iidArray[j] = MapInterface(interface);
-                numInterfaces++;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }    
-    
-    
-    status = aItem.GetNextInt(objectId);
-    if(!status)
-        {
-        if(m_EngineItf)
-            {
-            res = (*m_EngineItf)->CreateExtensionObject(
-                    m_EngineItf, &m_MOExtnObject, NULL, objectId,
-                    numInterfaces, iidArray, required);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }    
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_GetImplementationInfo( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAuint32 major;
-    XAuint32 minor;
-    XAuint32 step;
-    const XAchar* implText(NULL); 
-    
-    if(m_EngineItf)
-        {
-        res = (*m_EngineItf)->GetImplementationInfo(
-                m_EngineItf, &major, &minor, &step, implText);
-        status = res;
-        iLog->Log(_L("GetImplementationInfo Major[%d] Minor[%d] Step[%d]"),major,minor,step);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_QuerySupportedProfiles( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAint16 profiles;
-    
-    if(m_EngineItf)
-        {
-        res = (*m_EngineItf)->QuerySupportedProfiles(
-                m_EngineItf, &profiles);
-        status = res;
-        iLog->Log(_L("QuerySupportedProfiles Profiles[%d] "),profiles);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_QueryNumSupportedInterfaces( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TUint object(0);
-    XAuint32 numInterfaces(0);
-    XAresult res;
-    XAuint32 objectId;
-    status = aItem.GetNextInt(object);
-    if(!status)
-        {
-        objectId = object;
-        if(m_EngineItf)
-            {
-            res = (*m_EngineItf)->QueryNumSupportedInterfaces(
-                    m_EngineItf, objectId,&numInterfaces);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_QuerySupportedInterfaces( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TUint object(0);
-    TInt index(0);
-    XAresult res;
-    XAInterfaceID interface;
-    XAuint32 objectId;
-    status = aItem.GetNextInt(object);
-    if(!status)
-        {
-        objectId = object;
-        status = aItem.GetNextInt(index);
-        if(!status)
-            {
-            if(m_EngineItf)
-                {
-                res = (*m_EngineItf)->QuerySupportedInterfaces(
-                        m_EngineItf, objectId, index,&interface);
-                status = res;
-                }
-            else
-                {
-                status = KErrNotFound;
-                }
-            }
-        else
-            {
-            status = KErrGeneral;
-            }
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_QueryNumSupportedExtension( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAuint32 extensions;
-    
-    if(m_EngineItf)
-        {
-        res = (*m_EngineItf)->QueryNumSupportedExtensions(
-                m_EngineItf, &extensions);
-        status = res;
-        iLog->Log(_L("QueryNumSupportedExtensions Extensions[%d] "),extensions);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_QuerySupportedExtension( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt length(0);
-    TInt index(0);
-    XAresult res;
-    XAint16 namelen;
-    status = aItem.GetNextInt(index);
-    XAchar extensionName[20];
-    if(!status)
-        {
-        status = aItem.GetNextInt(length);
-        if(!status)
-            {
-            if(m_EngineItf)
-                {
-                res = (*m_EngineItf)->QuerySupportedExtension(
-                        m_EngineItf, index, extensionName, &namelen);
-                status = res;
-                }
-            else
-                {
-                status = KErrNotFound;
-                }
-            }
-        else
-            {
-            if(m_EngineItf)
-                {
-                res = (*m_EngineItf)->QuerySupportedExtension(
-                        m_EngineItf,  index, NULL, &namelen);
-                status = res;
-                }
-            else
-                {
-                status = KErrNotFound;
-                }
-            }
-        }
-    else
-        {
-        status = KErrGeneral;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_IsExtensionSupported( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAboolean supported(0);
-    TPtrC extensionName;
-    XAresult res;
-    HBufC8* extnName;
-    
-    status = aItem.GetNextString(extensionName);
-    if(!status)
-        {
-        extnName = HBufC8::NewL(extensionName.Length()+1);
-        CleanupStack::PushL(extnName);
-        TPtr8 des = extnName->Des();
-        des.Copy(extensionName);
-        if(m_EngineItf)
-            {
-            res = (*m_EngineItf)->IsExtensionSupported(
-                    m_EngineItf,des.PtrZ(), &supported );
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        CleanupStack::PopAndDestroy(extnName);
-        }
-    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_QueryLEDCapabilities( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAuint32 deviceId(0);
-    TInt index(0);
-    XAuint32 ledindex(0);
-    XAresult res;
-    XALEDDescriptor desc;
-
-    status = aItem.GetNextInt(index);    
-    if(!status)
-        {
-        ledindex = index;
-        if(m_EngineItf)
-            {
-            res = (*m_EngineItf)->QueryLEDCapabilities(
-                    m_EngineItf, &ledindex, &deviceId, &desc);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    else
-        {
-        if(m_EngineItf)
-            {
-            res = (*m_EngineItf)->QueryLEDCapabilities(
-                    m_EngineItf,  &ledindex, NULL, NULL);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_engitf_QueryVibraCapabilities( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAuint32 deviceId(0);
-    TInt index(0);
-    XAuint32 ledindex(0);
-    XAresult res;
-    XAVibraDescriptor desc;
-
-    status = aItem.GetNextInt(index);    
-    if(!status)
-        {
-        ledindex = index;
-        if(m_EngineItf)
-            {
-            res = (*m_EngineItf)->QueryVibraCapabilities(
-                    m_EngineItf, &ledindex, &deviceId, &desc);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    else
-        {
-        if(m_EngineItf)
-            {
-            res = (*m_EngineItf)->QueryVibraCapabilities(
-                    m_EngineItf,  &ledindex, NULL, NULL);
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    return status;
-    }
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/engine/openmaxalenginetests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_createEngine( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt numEngineOption(0);
-    TInt numInterfaces(0);
-
-    /* Initialize arrays required[] and iidArray[] */
-    for (TInt i = 0; i < MAX_NUMBER_OPTIONS; i++)
-        {
-        EngineOption[i].feature = 0;
-        EngineOption[i].data = 0;
-        }
-    
-    status = aItem.GetNextInt(numEngineOption);
-    
-    if(!status)
-        {
-        for(TInt i = 0; i < numEngineOption; i++)
-            {
-            TInt feature(0);
-            TInt data(0);
-            status = aItem.GetNextInt(feature);
-            if(!status)
-                {
-                status = aItem.GetNextInt(data);
-                if(!status)
-                    {
-                    EngineOption[i].data = data;
-                    }
-                else
-                    {
-                    numEngineOption = 0;
-                    break;
-                    }
-                EngineOption[i].feature = feature;
-                }
-            else
-                {
-                break;
-                }
-            
-            }
-        }
-    
-    /* Initialize arrays required[] and iidArray[] */
-    for (TInt i = 0; i < MAX_NUMBER_INTERFACES; i++)
-        {
-        required[i] = XA_BOOLEAN_FALSE;
-        iidArray[i] = XA_IID_NULL;
-        }
-
-    if(!status)
-        {
-        status = aItem.GetNextInt(numInterfaces);
-        
-        for(TInt j = 0; j < numInterfaces; j++)
-            {
-            TInt interface(0);
-            status = aItem.GetNextInt(interface);
-            if(!status)
-                {
-                required[j] = XA_BOOLEAN_TRUE;
-                iidArray[j] = MapInterface(interface);
-                numInterfaces++;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    
-    
-    XAresult xa_res = xaCreateEngine(&m_EOEngine, numEngineOption, EngineOption, numInterfaces, iidArray, required);
-    status = MapErr(xa_res);    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_queryNumSupportedEngineInterfaces( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAuint32 numInterfaces(0);
-    XAresult xa_res = xaQueryNumSupportedEngineInterfaces(&numInterfaces);
-    status = MapErr(xa_res);    
-    iLog->Log(_L("COpenMAXALTestModule::al_queryNumSupportedEngineInterfaces NumInterfaces[%d] status[%d]"),numInterfaces,status);
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_querySupportedEngineInterfaces( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt index(0);
-    status = aItem.GetNextInt(index);
-    if(!status)
-        {
-        XAresult xa_res = xaQuerySupportedEngineInterfaces(index, iidArray);
-        status = MapErr(xa_res);    
-        }
-    return status;
-    }
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/metadata/openmaxalmetadataextractionitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,505 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_metadataextractionitf_GetItemCount( CStifItemParser& aItem )
-{
-    iLog->Log( _L("al_metadataextractionitf_GetItemCount >>") );
-    
-    TInt status(KErrNotFound);
-    XAresult res;
-    XAuint32 numItems = 0;
-    if(m_MetadataExtractionItf)
-    {
-        res = (*m_MetadataExtractionItf)->GetItemCount(
-                 m_MetadataExtractionItf, &numItems);              
-        status = MapErr(res);
-            
-        TInt expectedNum = 0;
-        if(aItem.GetNextInt(expectedNum) == KErrNone)
-        {				
-			if((status==KErrNone) && (expectedNum != numItems))
-			{
-                status = KErrGeneral;
-			}
-		}
-			
-		iLog->Log( _L("The number of Metadata Items:%d Expected: %d"), numItems, expectedNum );
-  }
-	
-  iLog->Log( _L("al_metadataextractionitf_GetItemCount (%d) <<"), status );
-  return status;
-}
-
-TInt COpenMAXALTestModule::al_metadataextractionitf_GetKeySize( CStifItemParser& aItem )
-{
-    iLog->Log( _L("al_metadataextractionitf_GetKeySize >>") );
-    
-    TInt status(KErrNotFound);
-    XAresult res;
-    XAuint32 keySize = 0;
-    if(m_MetadataExtractionItf)
-    {
-        TInt index;
-        if(aItem.GetNextInt(index) == KErrNone)
-        {
-            res     = (*m_MetadataExtractionItf)->GetKeySize(
-                        m_MetadataExtractionItf, index, &keySize);              
-            status  = MapErr(res);
-  			
-            TInt expectedSize = 0;
-            if(aItem.GetNextInt(expectedSize) == KErrNone)
-			{	      
-                if((status==KErrNone) && (expectedSize != keySize))
-                {
-                    status = KErrNotFound;
-                }
-			}
-			iLog->Log( _L("KeySize[%d]: %d Expected Size:%d"), index, keySize, expectedSize);				
-		}
-	}
-	
-	iLog->Log( _L("al_metadataextractionitf_GetKeySize (%d) <<"), status );
-  return status;
-}
-
-TInt COpenMAXALTestModule::al_metadataextractionitf_GetKey( CStifItemParser& aItem )
-{
-    iLog->Log( _L("al_metadataextractionitf_GetKey >>") );
-    
-    TInt status(KErrNotFound);
-    XAresult res;
-    XAMetadataInfo *key = NULL;
-    
-    if(m_MetadataExtractionItf)
-    {
-        TPtrC keyToFind;
-        if(aItem.GetNextString(keyToFind) == KErrNone)
-        {
-            HBufC *pB = HBufC16::NewL(keyToFind.Size());
-            TPtr tP = pB->Des();
-            tP.Copy(keyToFind);
-            iLog->Log( _L("Expected Key: %S"), pB);
-            delete pB;
-  		
-            XAuint32 numItems = 0;
-            res = (*m_MetadataExtractionItf)->GetItemCount(m_MetadataExtractionItf, &numItems);              
-
-            for(int i = 0; (i < numItems) && (MapErr(res) == KErrNone) && (status == KErrNotFound); i++)
-            {
-                XAuint32 keySize = 0;
-                res = (*m_MetadataExtractionItf)->GetKeySize(
-                       m_MetadataExtractionItf, i, &keySize);  
-      
-                if(MapErr(res) == KErrNone)
-                {
-                    key = (XAMetadataInfo *)calloc(keySize,1);
-                    if(key)
-                    {
-                        res = (*m_MetadataExtractionItf)->GetKey(
-                                        m_MetadataExtractionItf, i , keySize, key);              
-                        status = MapErr(res);
-                        if(status==KErrNone)
-                        {
-                            HBufC*   temp  = NULL;
-                            if(key->encoding == XA_CHARACTERENCODING_ASCII)
-                            {
-                                TPtrC8 des((TUint8*)(key->data), key->size-1 );
-                                temp = HBufC16::NewL(key->size-1);
-                                TPtr tempPtr = temp->Des();
-                                tempPtr.Copy(des);                        
-                                iLog->Log( _L("Key[%d]: %S"), i, temp);
-							}
-							else if(key->encoding == XA_CHARACTERENCODING_UTF16LE)
-							{
-                                TPtrC des((const TUint16*)key->data, key->size/2 - 1);
-                                temp = HBufC16::NewL(key->size/2 - 1);
-                                TPtr tempPtr = temp->Des();
-                                tempPtr.Copy(des);                        
-                                iLog->Log( _L("Key[%d]: %S"), i, temp);
-							}
-									
-							if(temp && !keyToFind.Compare(temp->Des()))
-							{
-								status = KErrNone;
-							}
-							else
-							{
-								status = KErrNotFound;
-							}
-							
-							if(temp)
-							{
-								delete temp;
-							}
-						}//end if(status==KErrNone)
-						
-						free(key);
-                    }//end if(key)
-                }//end if(MapErr(res) == KErrNone)
-            }//end for
-        }//end if(aItem.GetNextString(index) == KErrNone)
-    }//end if(m_MetadataExtractionItf)
-        
-    iLog->Log( _L("al_metadataextractionitf_GetKey (%d)<<"), status );
-    return status;
-}
-
-
-TInt COpenMAXALTestModule::al_metadataextractionitf_GetValueSize( CStifItemParser& aItem )
-{
-    iLog->Log( _L("al_metadataextractionitf_GetValueSize >>") );
-    
-    TInt status(KErrNotFound);
-    XAresult res;
-    XAuint32 valueSize = 0;
-    if(m_MetadataExtractionItf)
-    {
-        TInt index;
-        if(aItem.GetNextInt(index) == KErrNone)
-        {
-            res     = (*m_MetadataExtractionItf)->GetValueSize(
-                            m_MetadataExtractionItf, index, &valueSize);              
-            status  = MapErr(res);
-			iLog->Log( _L("ValueSize[%d]: %d"), index, valueSize);
-        }
-    }
-   
-   iLog->Log( _L("al_metadataextractionitf_GetValueSize (%d) <<"), status );
-   return status;
-}
-
-
-
-TInt COpenMAXALTestModule::al_metadataextractionitf_GetValue( CStifItemParser& aItem )
-{
-    iLog->Log( _L("al_metadataextractionitf_GetValue >>") );
-    
-    TInt status(KErrNotFound);
-    XAresult res;
-    
-    XAMetadataInfo *key = NULL;
-    
-    if(m_MetadataExtractionItf)
-    {
-        TInt index;
-        
-        //Find Key Index
-        TPtrC keyToFind;
-        if(aItem.GetNextString(keyToFind) == KErrNone)
-        {
-            HBufC *pB = HBufC16::NewL(keyToFind.Size());
-            TPtr tP = pB->Des();
-            tP.Copy(keyToFind);
-            iLog->Log( _L("Expected Key: %S"), pB);
-            delete pB;
-            
-            XAuint32 numItems = 0;
-            res = (*m_MetadataExtractionItf)->GetItemCount(m_MetadataExtractionItf, &numItems);              
-    
-            for(index = 0; (index < numItems) && (MapErr(res) == KErrNone) && (status == KErrNotFound); index++)
-            {
-                XAuint32 keySize = 0;
-                res = (*m_MetadataExtractionItf)->GetKeySize(
-                       m_MetadataExtractionItf, index, &keySize);  
-          
-                if(MapErr(res) == KErrNone)
-                {
-                    key = (XAMetadataInfo *)calloc(keySize,1);
-                    if(key)
-                    {
-                        res = (*m_MetadataExtractionItf)->GetKey(
-                                        m_MetadataExtractionItf, index , keySize, key);              
-                        status = MapErr(res);
-                        if(status==KErrNone)
-                        {
-                            HBufC*   temp  = NULL;
-                            TDesC16* pdesc = NULL;
-                                    
-                            if(key->encoding == XA_CHARACTERENCODING_ASCII)
-                            {
-                                TPtrC8 des((TUint8*)(key->data), key->size - 1 );
-                                temp = HBufC16::NewL(key->size - 1);
-                                TPtr tempPtr = temp->Des();
-                                tempPtr.Copy(des);                        
-                                iLog->Log( _L("Key[%d]: %S"), index, temp);
-                                pdesc = &tempPtr;
-                            }
-                            else if(key->encoding == XA_CHARACTERENCODING_UTF16LE)
-                            {
-                                TPtrC des((const TUint16*)key->data, key->size/2 - 1);
-                                temp = HBufC16::NewL(key->size/2 - 1);
-                                TPtr tempPtr = temp->Des();
-                                tempPtr.Copy(des);                        
-                                iLog->Log( _L("Key[%d]: %S"), index, temp);
-                                pdesc = &tempPtr;
-                            }
-                                        
-                            if(!keyToFind.Compare(*pdesc))
-                            {
-                                status = KErrNone;
-                            }
-                            else
-                            {
-                                status = KErrNotFound;
-                            }
-                            
-                            if(temp)
-                            {
-                                delete temp;
-                            }
-                        }//end if(status==KErrNone)
-                            
-                        free(key);
-                    }//end if(key)
-                }//end if(MapErr(res) == KErrNone)
-            }//end for
-        }//end if(aItem.GetNextString(index) == KErrNone)
-            
-        if((status == KErrNone) && (--index >= 0))
-        {
-            XAMetadataInfo *value = NULL;
-            XAuint32 valueSize;
-        
-            res = (*m_MetadataExtractionItf)->GetValueSize(
-                                   m_MetadataExtractionItf, index, &valueSize);  
-                
-            if(MapErr(res) == KErrNone)
-            {
-                value = (XAMetadataInfo *)calloc(valueSize,1);
-                if(value)
-                {
-                    res = (*m_MetadataExtractionItf)->GetValue(
-                            m_MetadataExtractionItf, index, valueSize, value);              
-                    status = MapErr(res);
-
-                    HBufC*   temp  = NULL;
-                    if(status == KErrNone)
-                    {
-                        if(value->encoding == XA_CHARACTERENCODING_ASCII)
-                        {
-                            TPtrC8 des((TUint8*)(value->data), value->size - 1 );
-                            temp = HBufC16::NewL(value->size - 1);
-                            TPtr tempPtr = temp->Des();
-                            tempPtr.Copy(des);
-                            iLog->Log( _L("Value[%d]: %S"), index, temp);
-                        }
-                        else if(value->encoding == XA_CHARACTERENCODING_UTF16LE)
-                        {
-                            TPtrC des((const TUint16*)value->data, value->size/2 - 1);
-                            temp = HBufC16::NewL(value->size/2 - 1);
-                            TPtr tempPtr = temp->Des();
-                            tempPtr.Copy(des);
-                            iLog->Log( _L("Value[%d]: %S"), index, temp);
-                       }
-                        else
-                        {
-                            iLog->Log( _L("Value[%d]: <Binary Value>"), index);
-                        }					
-
-                        if(value->encoding != XA_CHARACTERENCODING_BINARY)
-                        {            
-                            TPtrC expectedValue;
-                            if(aItem.GetNextString(expectedValue) == KErrNone)
-                            {            
-                                HBufC *pB = HBufC16::NewL(expectedValue.Size());
-                                TPtr tP = pB->Des();
-                                tP.Copy(expectedValue);
-                                iLog->Log( _L("Expected Value: %S"), pB);
-								iLog->Log(_L("Size: Expected(%d), Actual(%d)"),expectedValue.Size(), temp->Des().Size());
-                                delete pB;
-                                if(temp && !expectedValue.Compare(temp->Des()))
-                                {
-                                    status = KErrNone;
-                                }
-                                else
-                                {
-                                    status = KErrNotFound;
-                                }
-                            }
-                        }
-                               
-                        if(temp)
-                        {
-                            delete temp;
-                        }
-                    }//end if(status == KErrNone)
-                    delete value;
-                }//end if(value)
-            }//end if(MapErr(res) == KErrNone)
-        }//end if(status == KErrNone)   
-    }//end   if(m_MetadataExtractionItf)
-	
-    iLog->Log( _L("al_metadataextractionitf_GetValue (%d)<<"), status );
-    return status;
-}
-
-TInt COpenMAXALTestModule::al_metadataextractionitf_AddKeyFilter( CStifItemParser& /*aItem */)
-{
-    iLog->Log( _L("al_metadataextractionitf_AddKeyFilter >>") );
-    TInt status(KErrNotFound);
-    if(m_MetadataExtractionItf)
-    {
-		XAresult res = (*m_MetadataExtractionItf)->AddKeyFilter(m_MetadataExtractionItf,
-			        		                                       0, NULL, 0, NULL, 0, 0);
-		status = res;
-    }
-
-	iLog->Log( _L("al_metadataextractionitf_AddKeyFilter (%d)<<"), status );	
-
-	return status;
-}
-
-TInt COpenMAXALTestModule::al_metadataextractionitf_ClearKeyFilter( CStifItemParser& /*aItem*/ )
-{
-    iLog->Log( _L("al_metadataextractionitf_ClearKeyFilter >>") );
-    TInt status(KErrNotFound);
-    if(m_MetadataExtractionItf)
-    {
-	    XAresult res    = (*m_MetadataExtractionItf)->ClearKeyFilter(m_MetadataExtractionItf);
-
-		status = res;
-    }
-
-	iLog->Log( _L("al_metadataextractionitf_ClearKeyFilter (%d)<<"), status );
-
-	return status;
-}
-
-TInt COpenMAXALTestModule::al_metadataextractionitf_GetCoverArt( CStifItemParser& /*aItem*/ )
-{
-    iLog->Log( _L("al_metadataextractionitf_GetCoverArt >>") );
-
-    TInt status(KErrNotFound);
-    XAresult res;
-    
-    if(m_MetadataExtractionItf)
-    {
-        XAuint32 numItems = 0;
-        res = (*m_MetadataExtractionItf)->GetItemCount(
-                    m_MetadataExtractionItf, &numItems);              
-
-        for(int i = 0; (i < numItems) && (MapErr(res) == KErrNone) ; i++)
-        {
-            XAuint32 keySize = 0;
-            res = (*m_MetadataExtractionItf)->GetKeySize(
-                        m_MetadataExtractionItf, i, &keySize);  
-                     
-            if(MapErr(res) == KErrNone)
-            {
-                XAMetadataInfo* key = (XAMetadataInfo *)calloc(keySize,1);
-                if(key)
-                {
-                    res = (*m_MetadataExtractionItf)->GetKey(
-                             m_MetadataExtractionItf, i, keySize, key);              
-
-                    if(MapErr(res) == KErrNone)
-                    {
-                        if( key->encoding == XA_CHARACTERENCODING_ASCII)
-                        {
-                            if(!strcmp((const char*)key->data, "attachedpicture"))
-                            {
-                                XAuint32 valueSize;
-                                res = (*m_MetadataExtractionItf)->GetValueSize(
-                                              m_MetadataExtractionItf, i, &valueSize);  
-                                if(MapErr(res) == KErrNone)
-                                {
-                                    XAMetadataInfo* value = (XAMetadataInfo *)calloc(valueSize,1);
-                                    if(value)
-                                    {
-                                        res = (*m_MetadataExtractionItf)->GetValue(
-                                                m_MetadataExtractionItf, i, valueSize, value);              
-                                        if((MapErr(res) == KErrNone) && 
-                                           (value->encoding == XA_CHARACTERENCODING_BINARY))
-                                        {
-                                            iLog->Log( _L("CoverArt[%d] Size: %d"), i, value->size );
-                                        }
-                                        free(value);
-                                    }
-                                
-                                    break;
-                                }
-                            }            
-                        }
-                        free(key);
-                    }
-                }
-             }
-        }// end for
-        
-        status = MapErr(res);
-    }//end if(m_MetadataExtractionItf)
-    
-    return status;
-}
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/player/openmaxalplaybackrateitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include <StifTestEventInterface.h>
-#include "openmaxaltestmodule.h"
-#include "profileutilmacro.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-
-TInt COpenMAXALTestModule::al_playbackrateitf_SetRate( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAint16 rate;
-    TInt playbackrate(0);
-    
-    status = aItem.GetNextInt(playbackrate);
-    if(!status)
-        {
-        rate = playbackrate;
-        if(m_PlaybackRateItf)
-            {
-            status = (*m_PlaybackRateItf)->SetRate(m_PlaybackRateItf, rate);
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_playbackrateitf_GetRate( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAint16 rate;
-    
-    if(m_PlaybackRateItf)
-        {
-        status = (*m_PlaybackRateItf)->GetRate(m_PlaybackRateItf, &rate);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_playbackrateitf_SetPropertyConstraints( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt props(0);
-    XAuint32 properties;
-    
-    status = aItem.GetNextInt(props);
-    if(!status)
-        {
-        properties = props;
-        if(m_PlaybackRateItf)
-            {
-            status = (*m_PlaybackRateItf)->SetPropertyConstraints(m_PlaybackRateItf, properties);
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_playbackrateitf_GetProperties( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAuint32 properties;
-    
-    if(m_PlaybackRateItf)
-        {
-        status = (*m_PlaybackRateItf)->GetProperties(m_PlaybackRateItf, &properties);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_playbackrateitf_GetCapabilitiesOfRate( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAint16 rate;
-    TInt playbackrate(0);
-    XAuint32 properties;
-    
-    status = aItem.GetNextInt(playbackrate);
-    if(!status)
-        {
-        rate = playbackrate;
-        if(m_PlaybackRateItf)
-            {
-            status = (*m_PlaybackRateItf)->GetCapabilitiesOfRate(m_PlaybackRateItf, rate, &properties);
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_playbackrateitf_GetRateRange( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAuint8 index;
-    TInt indexIn(0);
-    XApermille min;
-    XApermille max;
-    XApermille step;
-    XAuint32 properties;
-    
-    status = aItem.GetNextInt(indexIn);
-    if(!status)
-        {
-        index = indexIn;
-        if(m_PlaybackRateItf)
-            {
-            status = (*m_PlaybackRateItf)->GetRateRange(m_PlaybackRateItf, index, &min, &max, &step, &properties);
-            }
-        else
-            {
-            status = KErrNotFound;
-            }
-        }
-    
-    return status;
-    }
-    
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/player/openmaxalplayitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,497 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include <StifTestEventInterface.h>
-#include "openmaxaltestmodule.h"
-#include "profileutilmacro.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-void PlayItfCallback (
-    XAPlayItf caller,
-    void * pContext,
-    XAuint32 event);
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_playitf_SetPlayState( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt state(0);
-    status = aItem.GetNextInt(state);
-    RET_ERR_IF_ERR(status);
-
-    if(m_PlayItf)
-        {
-        TAG_TIME_PROFILING_BEGIN;
-        status = (*m_PlayItf)->SetPlayState(
-                m_PlayItf, state);              
-        TAG_TIME_PROFILING_END;
-        PRINT_TO_CONSOLE_TIME_DIFF;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_GetPlayState( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAuint32 state;
-    TInt expectedState;
-    status = aItem.GetNextInt(expectedState);
-    RET_ERR_IF_ERR(status);
-
-    if (m_PlayItf)
-        {
-        status = (*m_PlayItf)->GetPlayState(
-                m_PlayItf, &state);              
-        if (!status)
-            {
-            if (state != expectedState)
-                {
-                status = KErrCompletion;
-                }
-            }
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_GetDurationNullParam( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    if (m_PlayItf)
-        {
-        status = (*m_PlayItf)->GetDuration(
-                m_PlayItf, NULL);              
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_GetDuration( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAmillisecond duration;
-    TInt expectedDurationLowLimit;
-    TInt expectedDurationHighLimit;
-    TBool expectedRangeDefined(EFalse);
-    status = aItem.GetNextInt(expectedDurationLowLimit);
-    if (status == KErrNone)
-        {
-        status = aItem.GetNextInt(expectedDurationHighLimit);
-        if (status == KErrNone)
-            {
-            expectedRangeDefined = ETrue;
-            }
-        }
-    if (m_PlayItf)
-        {
-        status = (*m_PlayItf)->GetDuration(
-                m_PlayItf, &duration);              
-        if (status == XA_RESULT_SUCCESS)
-            {
-            iLog->Log(_L("COpenMAXALTestModule::al_playitf_GetDuration:Duration[%u]"), duration);
-            /* If duration does not fall between the range we expected fail the case */
-            if (expectedRangeDefined &&
-                    !((expectedDurationLowLimit <= duration) && (duration <= expectedDurationHighLimit)))
-                {
-                status = KErrCompletion;
-                }
-            }
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_GetPositionNullParam( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    if (m_PlayItf)
-        {
-        status = (*m_PlayItf)->GetPosition(
-                m_PlayItf, NULL);              
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_GetPosition( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt expectedPos;
-    TBool expectedPosDefined(EFalse);
-    XAmillisecond position;
-    status = aItem.GetNextInt(expectedPos);
-    if (status == KErrNone)
-        {
-        expectedPosDefined = ETrue;
-        }
-
-    if (m_PlayItf)
-        {
-        status = (*m_PlayItf)->GetPosition(
-                m_PlayItf, &position);
-        if (status == XA_RESULT_SUCCESS)
-            {
-            if (expectedPosDefined &&
-                (expectedPos != position))
-                {
-                status = KErrCompletion;
-                }
-            iLog->Log(_L("COpenMAXALTestModule::al_playitf_GetPosition:Position[%u]"), position);
-            }
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_RegisterCallback( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-
-    if(m_PlayItf)
-        {
-        res = (*m_PlayItf)->RegisterCallback(
-                m_PlayItf, &PlayItfCallback, (void*)this);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_SetCallbackEventMask( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt eventMask;
-    status = aItem.GetNextInt(eventMask);
-    RET_ERR_IF_ERR(status);
-
-    if(m_PlayItf)
-        {
-        status = (*m_PlayItf)->SetCallbackEventsMask(
-                m_PlayItf, eventMask);              
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_GetCallbackEventMaskNullParam( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    if(m_PlayItf)
-        {
-        status = (*m_PlayItf)->GetCallbackEventsMask(
-                m_PlayItf, NULL);              
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_GetCallbackEventMask( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAuint32 eventMask;
-    TInt expectedEventMask;
-    status = aItem.GetNextInt(expectedEventMask);
-    RET_ERR_IF_ERR(status);
-
-    if(m_PlayItf)
-        {
-        status = (*m_PlayItf)->GetCallbackEventsMask(
-                m_PlayItf, &eventMask);              
-        if (!status)
-            {
-            /* Fail if position is not expected*/
-            if (eventMask != expectedEventMask)
-                {
-                status = KErrCompletion;
-                }
-            }
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-
-    return status;
-    }
-TInt COpenMAXALTestModule::al_playitf_SetMarkerPosition( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt pos(0);
-    status = aItem.GetNextInt(pos);
-    RET_ERR_IF_ERR(status);
-
-    if(m_PlayItf)
-        {
-        status = (*m_PlayItf)->SetMarkerPosition(
-                m_PlayItf, (XAmillisecond)pos);              
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_ClearMarkerPosition( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-
-    if(m_PlayItf)
-        {
-        status = (*m_PlayItf)->ClearMarkerPosition(
-                m_PlayItf);              
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_GetMarkerPositionNullParam( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-
-    if(m_PlayItf)
-        {
-        status = (*m_PlayItf)->GetMarkerPosition(
-                m_PlayItf, NULL);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_GetMarkerPosition( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt expectedMarkerPos(0);
-    status = aItem.GetNextInt(expectedMarkerPos);
-    XAmillisecond markerPos;
-    RET_ERR_IF_ERR(status);
-
-    if(m_PlayItf)
-        {
-        status = (*m_PlayItf)->GetMarkerPosition(
-                m_PlayItf, &markerPos);
-        if (!status && (markerPos != expectedMarkerPos))
-            {
-            status = KErrCompletion;
-            }
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_SetPositionUpdatePeriod( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt pos(0);
-    status = aItem.GetNextInt(pos);
-    RET_ERR_IF_ERR(status);
-
-    if(m_PlayItf)
-        {
-        status = (*m_PlayItf)->SetPositionUpdatePeriod(
-                m_PlayItf, (XAmillisecond)pos);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_GetPositionUpdatePeriodNullParam( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-
-    if(m_PlayItf)
-        {
-        status = (*m_PlayItf)->GetPositionUpdatePeriod(
-                m_PlayItf, NULL);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_playitf_GetPositionUpdatePeriod( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt expectedMarkerPos(0);
-    status = aItem.GetNextInt(expectedMarkerPos);
-    XAmillisecond markerPos;
-    RET_ERR_IF_ERR(status);
-
-    if(m_PlayItf)
-        {
-        status = (*m_PlayItf)->GetPositionUpdatePeriod(
-                m_PlayItf, &markerPos);
-        if (!status && (markerPos != expectedMarkerPos))
-            {
-            status = KErrCompletion;
-            }
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-void COpenMAXALTestModule::HandlePlayItfCallback( XAPlayItf /*caller*/, XAuint32 event )
-    {
-    switch (event)
-        {
-        case XA_PLAYEVENT_HEADATEND:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_PLAYEVENT_HEADATEND") );
-            TestModuleIf().Event( event );
-            }
-            break;
-        case XA_PLAYEVENT_HEADATMARKER:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_PLAYEVENT_HEADATMARKER") );
-            TestModuleIf().Event( event );
-            }
-            break;
-        case XA_OBJECT_EVENT_RESOURCES_LOST:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_OBJECT_EVENT_RESOURCES_LOST") );
-            TestModuleIf().Event( event );
-            }
-            break;
-        case XA_PLAYEVENT_HEADATNEWPOS:
-            {
-            iLog->Log(_L("COpenMAXALTestModule::HandlePlayItfCallback:XA_PLAYEVENT_HEADATNEWPOS"));
-            }
-            break;
-        case XA_PLAYEVENT_HEADMOVING:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_PLAYEVENT_HEADMOVING") );
-            TestModuleIf().Event( event );
-            }
-            break;
-        case XA_PLAYEVENT_HEADSTALLED:
-            {
-            TEventIf event( TEventIf::ESetEvent, _L("Event_XA_PLAYEVENT_HEADSTALLED") );
-            TestModuleIf().Event( event );
-            }
-            break;
-        default:
-            break;
-        }
-    }
-
-void PlayItfCallback (
-    XAPlayItf caller,
-    void * pContext,
-    XAuint32 event)
-    {
-    if (pContext)
-        {
-        ((COpenMAXALTestModule*)pContext)->HandlePlayItfCallback(caller, event);
-        }
-    }
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/player/openmaxalseekitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include <StifTestEventInterface.h>
-#include "openmaxaltestmodule.h"
-#include "profileutilmacro.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_seekitf_SetPosition( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt seekMode(0);
-    TInt position(0);
-
-    status = aItem.GetNextInt(position);
-    RET_ERR_IF_ERR(status);
-        
-    status = aItem.GetNextInt(seekMode);
-    RET_ERR_IF_ERR(status);
-
-    if(m_SeekItf)
-        {
-        TAG_TIME_PROFILING_BEGIN;
-        status = (*m_SeekItf)->SetPosition(
-                m_SeekItf, position, seekMode);              
-        TAG_TIME_PROFILING_END;
-        PRINT_TO_CONSOLE_TIME_DIFF;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_seekitf_SetLoop( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt loopEnable(0);
-    TInt startPos(0);
-    TInt endPos(0);
-    
-    status = aItem.GetNextInt(loopEnable);
-    RET_ERR_IF_ERR(status);
-        
-    status = aItem.GetNextInt(startPos);
-    RET_ERR_IF_ERR(status);    
-    
-    status = aItem.GetNextInt(endPos);
-    RET_ERR_IF_ERR(status);
-
-    if (m_SeekItf)
-        {
-        status = (*m_SeekItf)->SetLoop(
-                m_SeekItf, loopEnable, startPos, endPos );              
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_seekitf_GetLoop( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAboolean loopEnable;
-    XAuint32 startPos(0);
-    XAuint32 endPos(0);
-    
-    if (m_SeekItf)
-        {
-        status = (*m_SeekItf)->GetLoop(
-                m_SeekItf, &loopEnable, &startPos, &endPos);
-        iLog->Log(_L("al_seekitf_GetLoop loopEnable[%d]"),loopEnable);
-        iLog->Log(_L("al_seekitf_GetLoop startPos[%d]"),startPos);
-        iLog->Log(_L("al_seekitf_GetLoop endPos[%d]"),endPos);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/radio/openmaxalradioitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,536 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include <StifTestEventInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-void RadioItfCallback(XARadioItf caller, 
-void* pContext, 
-XAuint32 event,
-XAuint32 eventIntData,
-XAboolean eventBooleanData);
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_radioitf_SetFreqRange( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt freqRange(0);
-    status = aItem.GetNextInt(freqRange);
-    RET_ERR_IF_ERR(status);
-
-		if (m_PlayItf)
-        {
-        status = (*m_PlayItf)->SetPlayState(
-                m_PlayItf, XA_PLAYSTATE_PLAYING);              
-        }
-    else
-        {
-        status = KErrNotFound;
-        return status;
-        } 			
-			
-    if(m_RadioItf)
-        {
-        status = (*m_RadioItf)->SetFreqRange(
-                m_RadioItf, freqRange);              
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_radioitf_GetFreqRange( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAuint8 freqRange;
-		TInt expectedRange;   
-    status = aItem.GetNextInt(expectedRange);
-    RET_ERR_IF_ERR(status);
-
-    if (m_RadioItf)
-        {
-        status = (*m_RadioItf)->GetFreqRange(
-                m_RadioItf, &freqRange);              
-        if (!status)
-            {
-            if (freqRange != (TInt)expectedRange)
-                {
-                status = KErrCompletion;
-                }
-            }
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_radioitf_IsFreqRangeSupported( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt freqRange;  
-    XAboolean isSupported;
-    status = aItem.GetNextInt(freqRange);    
-    if (m_RadioItf)
-        {
-        status = (*m_RadioItf)->IsFreqRangeSupported(
-                m_RadioItf, (XAuint8)freqRange, &isSupported);  
-        if (!isSupported)   
-        	status = KErrCompletion;                 
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_radioitf_GetFreqRangeProperties( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt range;
-    status = aItem.GetNextInt(range); 
-    RET_ERR_IF_ERR(status);         
-    TInt expectedMinFreq;
-    status = aItem.GetNextInt(expectedMinFreq);  
-    RET_ERR_IF_ERR(status);         
-    TInt expectedMaxFreq;
-    status = aItem.GetNextInt(expectedMaxFreq);    
-    RET_ERR_IF_ERR(status);       
-    TInt expectedFreqInterval;
-    status = aItem.GetNextInt(expectedFreqInterval); 
-    RET_ERR_IF_ERR(status);     
- 		XAuint32 minFreq;
- 		XAuint32 maxFreq;
- 		XAuint32 freqInterval;   
-
-    if (m_RadioItf)
-        {
-        status = (*m_RadioItf)->GetFreqRangeProperties(
-                m_RadioItf, range, &minFreq, &maxFreq, &freqInterval);              
-        if (!status)
-            {
-            /* If duration does not fall between the range we expected fail the case */
-            if ( ( minFreq != (XAuint32)expectedMinFreq) || (maxFreq != (XAuint32)expectedMaxFreq) || (freqInterval != (XAuint32)expectedFreqInterval) )
-                {
-                status = KErrCompletion;
-                }
-            }
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_radioitf_SetFrequency( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt freq;
-    XAuint32 currentFreq;    
-    status = aItem.GetNextInt(freq); 
-    RET_ERR_IF_ERR(status);   
-    
-		if (m_PlayItf)
-        {
-        status = (*m_PlayItf)->SetPlayState(
-                m_PlayItf, XA_PLAYSTATE_PLAYING);              
-        }
-    else
-        {
-        status = KErrNotFound;
-        return status;
-        } 
-        
-    if (m_RadioItf)
-        {
-        	status = (*m_RadioItf)->GetFrequency(m_RadioItf, &currentFreq); 
-       		if (status != KErrNone)
-       		{	
-       			status = KErrCompletion;  
-       			return status;
-       		}             
-        }
-    else
-        {
-        status = KErrNotFound;
-        return status;
-        }          
-                      
-    if (m_RadioItf)
-        {
-        status = (*m_RadioItf)->SetFrequency(m_RadioItf, freq); 
-       	if (status != KErrNone)
-       		status = KErrCompletion;               
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_radioitf_GetFrequency( CStifItemParser& aItem)
-    {
-    TInt status(KErrNone);
-    TInt expectedFreq;
-    status = aItem.GetNextInt(expectedFreq); 
-    RET_ERR_IF_ERR(status); 
-    XAuint32 freq;
-                 
-    if (m_RadioItf)
-        {
-        status = (*m_RadioItf)->GetFrequency(
-                m_RadioItf, &freq); 
-         if (!status)
-            {
-            if ( freq != expectedFreq )
-                {
-                status = KErrCompletion;
-                }
-            }                                 
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_radioitf_GetFrequencyDefault( CStifItemParser& aItem)
-    {
-    TInt status(KErrCompletion);
-    XAuint32 freq;
-                 
-    if (m_RadioItf)
-        {
-        status = (*m_RadioItf)->GetFrequency(
-                m_RadioItf, &freq); 
-        }    
-    return status;
-    }    
-    
-TInt COpenMAXALTestModule::al_radioitf_GetFreqRangeDefault( CStifItemParser& aItem )
-    {
-    TInt status(KErrCompletion);
-    XAuint8 freqRange;
-    
-    if (m_RadioItf)
-        {
-        status = (*m_RadioItf)->GetFreqRange(
-                m_RadioItf, &freqRange);              
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }    
-
-TInt COpenMAXALTestModule::al_radioitf_RegisterRadioCallback( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-
-    if(m_RadioItf)
-        {
-        res = (*m_RadioItf)->RegisterRadioCallback(
-                m_RadioItf, &RadioItfCallback, (void*)this);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-
-    return status;
-    }
-
-
-TInt COpenMAXALTestModule::al_radioitf_SetSquelch( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TBool squelch;
-    status = aItem.GetNextInt(squelch);
-    RET_ERR_IF_ERR(status);
-
-    if(m_RadioItf)
-        {
-        status = (*m_RadioItf)->SetSquelch(
-                m_RadioItf, squelch);
-                              
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_radioitf_GetSquelch( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TBool expectedSquelch;
-    status = aItem.GetNextInt(expectedSquelch);
-    RET_ERR_IF_ERR(status);
-    XAboolean squelch;
-
-    if(m_RadioItf)
-        {
-        status = (*m_RadioItf)->GetSquelch(
-                m_RadioItf, &squelch);
-         if (!status)
-            {
-            if (squelch != (XAboolean)expectedSquelch)
-                {
-                status = KErrCompletion;
-                }
-            }                                       
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }    
-
-TInt COpenMAXALTestModule::al_radioitf_CancelSetFrequency( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-
-    if(m_RadioItf)
-        {
-        status = (*m_RadioItf)->CancelSetFrequency(
-                m_RadioItf);              
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_radioitf_SetStereoMode( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-		TInt stereoMode;
-    status = aItem.GetNextInt(stereoMode);
-    RET_ERR_IF_ERR(status);
-
-    if(m_RadioItf)
-        {
-        status = (*m_RadioItf)->SetStereoMode(
-                m_RadioItf, (XAuint32)stereoMode);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_radioitf_GetStereoMode( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-		TInt expectedStereoMode;
-    status = aItem.GetNextInt(expectedStereoMode);
-    RET_ERR_IF_ERR(status);
-    XAuint32 stereoMode;
-
-    if(m_RadioItf)
-        {
-        status = (*m_RadioItf)->GetStereoMode(
-                m_RadioItf, &stereoMode);
-        if (!status)
-           {
-           if (stereoMode != (XAboolean)expectedStereoMode)
-               {
-               status = KErrCompletion;
-               }
-           }                        
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }    
-
-TInt COpenMAXALTestModule::al_radioitf_GetSignalStrength( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAuint32 signalStrength;
-
-    if(m_RadioItf)
-        {
-        status = (*m_RadioItf)->GetSignalStrength(
-                m_RadioItf, &signalStrength);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_radioitf_Seek( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-		TBool upwards;
-    status = aItem.GetNextInt(upwards);
-    RET_ERR_IF_ERR(status);
-    		
-    if(m_RadioItf)
-        {
-        status = (*m_RadioItf)->Seek(
-                m_RadioItf, upwards);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-    
-TInt COpenMAXALTestModule::al_radioitf_StopSeeking( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-
-    if(m_RadioItf)
-        {
-        status = (*m_RadioItf)->StopSeeking(
-                m_RadioItf);
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-    return status;
-    }
-      
-      
-void COpenMAXALTestModule::HandleRadioItfCallback(
-        XARadioItf 	caller,
-        XAuint32   	event
-)
-{  		
-    
-    switch (event)
-        {                   	
-        case XA_RADIO_EVENT_ANTENNA_STATUS_CHANGED:
-            {
-            TEventIf antennaStatusEvent( TEventIf::ESetEvent, _L("Event_XA_RADIO_EVENT_ANTENNA_STATUS_CHANGED:") );
-            TestModuleIf().Event( antennaStatusEvent );
-            }
-            break;
-
-        case XA_RADIO_EVENT_FREQUENCY_CHANGED:
-            {
-            TEventIf freqChangedEvent( TEventIf::ESetEvent, _L("Event_XA_RADIO_EVENT_FREQUENCY_CHANGED") );
-            TestModuleIf().Event( freqChangedEvent );
-            }
-            break;
-
-        case XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED:
-            {
-            TEventIf freqRangeChangedEvent( TEventIf::ESetEvent,_L("Event_XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED"));
-            TestModuleIf().Event( freqRangeChangedEvent );     
-            }
-            break;
-
-        case XA_RADIO_EVENT_SEEK_COMPLETED:
-           	{
-           	TEventIf seekEvent( TEventIf::ESetEvent, _L("Event_XA_RADIO_EVENT_SEEK_COMPLETED") );
-            TestModuleIf().Event( seekEvent );          
-            }
-            break; 
-               
-        default:
-            break;	
-          }
- 
-}        
-
-void RadioItfCallback (
-    XARadioItf caller,
-    void * pContext,
-    XAuint32 event,
-		XAuint32 eventIntData,
-		XAboolean eventBooleanData    
-    )
-    {
-    if (pContext)
-        {
-        ((COpenMAXALTestModule*)pContext)->HandleRadioItfCallback(caller, event);
-        }
-    }
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/recorder/openmaxalaudioencoderitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_audioencoderitf_SetEncoderSettings( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAAudioEncoderSettings setting;
-    TUint value(0);
-    TInt i(0);
-    TInt numItems;
-    
-    status = aItem.GetNextInt(numItems);
-    
-    while((numItems != 0) && (status == KErrNone))
-        {
-        status = aItem.GetNextInt(value);
-        if(!status)
-            {
-            switch(i)
-                {
-                case 0:
-                    setting.encoderId = value;
-                    break;
-                case 1:
-                    setting.channelsIn = value;
-                    break;
-                case 2:
-                    setting.channelsOut = value;
-                    break;
-                case 3:
-                    setting.sampleRate = value;
-                    break;
-                case 4:
-                    setting.bitRate = value;
-                    break;
-                case 5:
-                    setting.bitsPerSample = value;
-                    break;
-                case 6:
-                    setting.rateControl = value;
-                    break;
-                case 7:
-                    setting.profileSetting = value;
-                    break;
-                case 8:
-                    setting.levelSetting = value;
-                    break;
-                case 9:
-                    setting.channelMode = value;
-                    break;
-                case 10:
-                    setting.streamFormat = value;
-                    break;
-                case 11:
-                    setting.encodeOptions = value;
-                    break;
-                case 12:
-                    setting.blockAlignment = value;
-                    break;
-                default:
-                    break;
-                }
-            }
-        i++;
-        numItems--;
-        }
-
-    if(m_AudEncItf)
-        {
-        res = (*m_AudEncItf)->SetEncoderSettings(
-                m_AudEncItf, &setting);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_audioencoderitf_GetEncoderSettings( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAAudioEncoderSettings setting;
-    if(m_AudEncItf)
-        {
-        res = (*m_AudEncItf)->GetEncoderSettings(
-                m_AudEncItf, &setting);
-        iLog->Log(_L("GetEncoderSettings"));
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.encoderId);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.channelsIn);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.channelsOut);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.sampleRate);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.bitRate);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.bitsPerSample);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.rateControl);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.profileSetting);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.levelSetting);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.channelMode);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.streamFormat);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.encodeOptions);
-        iLog->Log(_L("GetEncoderSettings value[%d]"),setting.blockAlignment);
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/recorder/openmaxalmetadatainsertionitfcallbacks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-void MetadataInsertionCallback (
-    XAMetadataInsertionItf caller,
-    void * pContext,
-    XAMetadataInfo * pKey,
-    XAMetadataInfo * pValue,
-    XAint32 nodeID,
-    XAboolean result
-)
-    {
-    
-    }
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/recorder/openmaxalmetadatainsertionitftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-#include <string.h>
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-void MetadataInsertionCallback (
-    XAMetadataInsertionItf caller,
-    void * pContext,
-    XAMetadataInfo * pKey,
-    XAMetadataInfo * pValue,
-    XAint32 nodeID,
-    XAboolean result
-);
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_metadatainsertionitf_CreateChildNode( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt parentId(0);
-    TInt type(0);
-    TPtrC mimetype;
-    XAint32 childnode;
-    
-    status = aItem.GetNextInt(parentId);
-    RET_ERR_IF_ERR(status);
-    
-    status = aItem.GetNextInt(type);
-    RET_ERR_IF_ERR(status);
-    
-    status = aItem.GetNextString(mimetype);
-    RET_ERR_IF_ERR(status);
-        
-    HBufC8* buf = HBufC8::NewL(mimetype.Length()+1);
-    CleanupStack::PushL(buf);
-    TPtr8 des = buf->Des();
-
-    if(m_MetadataInsertionItf)
-        {
-        res = (*m_MetadataInsertionItf)->CreateChildNode(
-                m_MetadataInsertionItf, parentId , type, const_cast<TUint8*>(des.PtrZ()), &childnode);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    CleanupStack::PopAndDestroy(buf);
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_metadatainsertionitf_GetSupportedKeysCount( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt parentId(0);
-    XAboolean freeKeys;
-    XAuint32 keycount(0);
-    XAuint32 encodingcount(0);
-    
-    status = aItem.GetNextInt(parentId);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_MetadataInsertionItf)
-        {
-        res = (*m_MetadataInsertionItf)->GetSupportedKeysCount(
-                m_MetadataInsertionItf, parentId , &freeKeys, &keycount, &encodingcount);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_metadatainsertionitf_GetKeySize( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt nodeId(0);
-    TUint index(0);
-    XAuint32 keysize(0);
-    
-    status = aItem.GetNextInt(nodeId);
-    RET_ERR_IF_ERR(status);
-    
-    status = aItem.GetNextInt(index);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_MetadataInsertionItf)
-        {
-        res = (*m_MetadataInsertionItf)->GetKeySize(
-                m_MetadataInsertionItf, nodeId , index, &keysize);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_metadatainsertionitf_GetKey( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt nodeId(0);
-    TUint index(0);
-    TUint keysize(0);
-    XAMetadataInfo info = {1,1,"en-us",'a'};
-    
-    status = aItem.GetNextInt(nodeId);
-    RET_ERR_IF_ERR(status);
-    
-    status = aItem.GetNextInt(index);
-    RET_ERR_IF_ERR(status);
-    
-    status = aItem.GetNextInt(keysize);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_MetadataInsertionItf)
-        {
-        res = (*m_MetadataInsertionItf)->GetKey(
-                m_MetadataInsertionItf, nodeId , index, keysize, &info);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_metadatainsertionitf_GetFreeKeysEncoding( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt nodeId(0);
-    TUint index(0);
-    XAuint32 encoding(0);
-    
-    status = aItem.GetNextInt(nodeId);
-    RET_ERR_IF_ERR(status);
-    
-    status = aItem.GetNextInt(index);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_MetadataInsertionItf)
-        {
-        res = (*m_MetadataInsertionItf)->GetFreeKeysEncoding(
-                m_MetadataInsertionItf, nodeId , index, &encoding);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_metadatainsertionitf_InsertMetadataItem( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    TInt nodeId(0);
-
-    TUint encoding(0);
-    XAchar keylangCountry[16];
-    XAchar valuelangCountry[16];    
-    XAMetadataInfo keyinput = {1,1,"abc",'a'};
-    XAMetadataInfo valueinput = {1,1,"efg",'a'};
-    
-
-    TUint keyinputsize;
-    TPtrC language;
-    TPtr8 keylangC(keylangCountry,16,16);
-    TPtr8 valuelangC(valuelangCountry,16,16);
-    TInt overwrite;
-    //langC.Set(&keyangCountry,16,16);
-    
-    status = aItem.GetNextInt(nodeId);
-    RET_ERR_IF_ERR(status);
-    
-    status = aItem.GetNextInt(keyinputsize);
-    RET_ERR_IF_ERR(status);
-    keyinput.size = keyinputsize;
-    status = aItem.GetNextInt(encoding);
-    RET_ERR_IF_ERR(status);    
-    keyinput.encoding = encoding;
-
-    status = aItem.GetNextString(language);
-    RET_ERR_IF_ERR(status);
-    keylangC.Copy(language);
-    XAchar* destkey = const_cast<XAchar*>(keyinput.langCountry); 
-    strcpy((char*)destkey, (char*)keylangC.Ptr());    
-    //keyinput.langCountry = keylangCountry;
-    
-    status = aItem.GetNextInt(keyinputsize);
-    RET_ERR_IF_ERR(status);
-    valueinput.size = keyinputsize;
-    status = aItem.GetNextInt(encoding);
-    RET_ERR_IF_ERR(status);    
-    valueinput.encoding = encoding;
-
-    status = aItem.GetNextString(language);
-    RET_ERR_IF_ERR(status);
-    valuelangC.Copy(language);
-    XAchar* destvalue = const_cast<XAchar*>(valueinput.langCountry); 
-    strcpy((char*)destvalue, (char*)valuelangC.Ptr());
-    
-    status = aItem.GetNextInt(overwrite);
-    RET_ERR_IF_ERR(status);
-    
-    if(m_MetadataInsertionItf)
-        {
-        res = (*m_MetadataInsertionItf)->InsertMetadataItem(
-                m_MetadataInsertionItf, nodeId , &keyinput, &valueinput, overwrite);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_metadatainsertionitf_RegisterCallback( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    if(m_MetadataInsertionItf)
-        {
-        res = (*m_MetadataInsertionItf)->RegisterCallback(
-                m_MetadataInsertionItf, MetadataInsertionCallback , (void*)this);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }
-    return status;
-    }
-
-
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/recorder/openmaxalrecorditfcallbacks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-void RecordItfCallback (
-    XARecordItf caller,
-    void * pContext,
-    XAuint32 event )
-    {
-    
-    }
--- a/mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/src/recorder/openmaxalrecorditftests.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "openmaxaltestmodule.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-void RecordItfCallback (
-    XARecordItf caller,
-    void * pContext,
-    XAuint32 event
-);
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-TInt COpenMAXALTestModule::al_recorditf_SetRecordState( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TInt state(0);
-    XAresult res;
-    status = aItem.GetNextInt(state);
-    if(!status)
-        {
-        if(m_RecordItf)
-            {
-            res = (*m_RecordItf)->SetRecordState(
-                    m_RecordItf, state);              
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }    
-        }
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_recorditf_GetRecordState( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAuint32 state;
-    if(m_RecordItf)
-        {
-        res = (*m_RecordItf)->GetRecordState(
-                m_RecordItf, &state);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_recorditf_SetDurationLimit( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TUint duration(0);
-    XAresult res;
-    status = aItem.GetNextInt(duration);
-    if(!status)
-        {
-        if(m_RecordItf)
-            {
-            res = (*m_RecordItf)->SetDurationLimit(
-                    m_RecordItf, duration);              
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }    
-        }
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_recorditf_GetPosition( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAmillisecond pos;
-    if(m_RecordItf)
-        {
-        res = (*m_RecordItf)->GetPosition(
-                m_RecordItf, &pos);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_recorditf_RegisterCallback( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-
-    if(m_RecordItf)
-        {
-        res = (*m_RecordItf)->RegisterCallback(
-                m_RecordItf, &RecordItfCallback, (void*)this);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_recorditf_SetCallbackEventsMask( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TUint flags(0);
-    XAresult res;
-    status = aItem.GetNextInt(flags);
-    if(!status)
-        {
-        if(m_RecordItf)
-            {
-            res = (*m_RecordItf)->SetCallbackEventsMask(
-                    m_RecordItf, flags);              
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }    
-        }
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_recorditf_GetCallbackEventsMask( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAuint32 flags;
-    if(m_RecordItf)
-        {
-        res = (*m_RecordItf)->GetCallbackEventsMask(
-                m_RecordItf, &flags);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_recorditf_SetMarkerPosition( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TUint pos(0);
-    XAresult res;
-    status = aItem.GetNextInt(pos);
-    if(!status)
-        {
-        if(m_RecordItf)
-            {
-            res = (*m_RecordItf)->SetMarkerPosition(
-                    m_RecordItf, pos);              
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }    
-        }
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_recorditf_ClearMarkerPosition( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-
-    if(m_RecordItf)
-        {
-        res = (*m_RecordItf)->ClearMarkerPosition(m_RecordItf);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_recorditf_GetMarkerPosition( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAmillisecond pos;
-    if(m_RecordItf)
-        {
-        res = (*m_RecordItf)->GetMarkerPosition(
-                m_RecordItf, &pos);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_recorditf_SetPositionUpdatePeriod( CStifItemParser& aItem )
-    {
-    TInt status(KErrNone);
-    TUint updatePeriod(0);
-    XAresult res;
-    status = aItem.GetNextInt(updatePeriod);
-    if(!status)
-        {
-        if(m_RecordItf)
-            {
-            res = (*m_RecordItf)->SetPositionUpdatePeriod(
-                    m_RecordItf, updatePeriod);              
-            status = res;
-            }
-        else
-            {
-            status = KErrNotFound;
-            }    
-        }
-
-    return status;
-    }
-
-TInt COpenMAXALTestModule::al_recorditf_GetPositionUpdatePeriod( CStifItemParser& /*aItem*/ )
-    {
-    TInt status(KErrNone);
-    XAresult res;
-    XAmillisecond pos;
-    if(m_RecordItf)
-        {
-        res = (*m_RecordItf)->GetPositionUpdatePeriod(
-                m_RecordItf, &pos);              
-        status = res;
-        }
-    else
-        {
-        status = KErrNotFound;
-        }    
-
-    return status;
-    }
-
--- a/mmmw_plat/openmax_al_ext_api/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Exports OpenMAX AL Extension headers
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-#ifdef FF_OPENMAX_AL
-../inc/xanokiavolumeextitf.h        MW_LAYER_PLATFORM_EXPORT_PATH(khronos/xanokiavolumeextitf.h)
-../inc/xanokialinearvolumeitf.h     MW_LAYER_PLATFORM_EXPORT_PATH(khronos/xanokialinearvolumeitf.h)
-../inc/xaradioitfext.h              MW_LAYER_PLATFORM_EXPORT_PATH(khronos/xaradioitfext.h)
-../readme_ext.txt                   MW_LAYER_PLATFORM_EXPORT_PATH(khronos/readme_ext.txt)
-#endif
\ No newline at end of file
--- a/mmmw_plat/openmax_al_ext_api/inc/xanokialinearvolumeitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef _XANOKIALINEARVOLUMEITF_H_
-#define _XANOKIALINEARVOLUMEITF_H_
-
-#include "OpenMAXAL.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* NOKIA LINEAR VOLUME */
-
-#define XA_NOKIALINEARVOLUME_EVENT_VOLUME_CHANGED          ((XAuint32) 0x00000001)
-
-XA_API extern const XAInterfaceID XA_IID_NOKIALINEARVOLUME;
-
-struct XANokiaLinearVolumeItf_;
-typedef const struct XANokiaLinearVolumeItf_ * const * XANokiaLinearVolumeItf;
-
-typedef void (XAAPIENTRY * xaNokiaLinearVolumeCallback) (
-    XANokiaLinearVolumeItf caller,
-    void * pContext,
-    XAuint32 event,
-    XAboolean eventBooleanData
-);
-
-struct XANokiaLinearVolumeItf_ {
-    XAresult (*SetVolumeLevel) (
-        XANokiaLinearVolumeItf self,
-        XAuint32 * pPercentage
-    );
-    XAresult (*GetVolumeLevel) (
-        XANokiaLinearVolumeItf self,
-        XAuint32 * pPercentage
-    );
-    XAresult (*GetStepCount) (
-        XANokiaLinearVolumeItf self,
-        XAuint32 * pStepCount
-    );
-    XAresult (*RegisterVolumeCallback) (
-        XANokiaLinearVolumeItf self,
-        xaNokiaLinearVolumeCallback callback, 
-        void * pContext
-    );
-    XAresult (*SetCallbackEventsMask) (
-        XANokiaLinearVolumeItf self,
-        XAuint32 eventFlags
-    );
-    XAresult (*GetCallbackEventsMask) (
-        XANokiaLinearVolumeItf self,
-        XAuint32 * pEventFlags
-    );
-};
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* _XANOKIALINEARVOLUMEITF_H_ */
--- a/mmmw_plat/openmax_al_ext_api/inc/xanokiavolumeextitf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef _XANOKIAVOLUMEEXTITF_H_
-#define _XANOKIAVOLUMEEXTITF_H_
-
-#include "OpenMAXAL.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* NOKIA VOLUME */
-
-#define XA_NOKIAVOLUMEEXT_EVENT_VOLUME_CHANGED          ((XAuint32) 0x00000001)
-#define XA_NOKIAVOLUMEEXT_EVENT_MUTE_CHANGED      		((XAuint32) 0x00000002)
-#define XA_NOKIAVOLUMEEXT_EVENT_STEREO_POSITION_CHANGED ((XAuint32) 0x00000004)
-
-XA_API extern const XAInterfaceID XA_IID_NOKIAVOLUMEEXT;
-
-struct XANokiaVolumeExtItf_;
-typedef const struct XANokiaVolumeExtItf_ * const * XANokiaVolumeExtItf;
-
-typedef void (XAAPIENTRY * xaNokiaVolumeExtCallback) (
-    XANokiaVolumeExtItf caller,
-    void * pContext,
-    XAuint32 event,
-    XAboolean eventBooleanData
-);
-
-struct XANokiaVolumeExtItf_ {
-    XAresult (*SetVolumeLevel) (
-        XANokiaVolumeExtItf self,
-        XAmillibel level
-    );
-    XAresult (*GetVolumeLevel) (
-        XANokiaVolumeExtItf self,
-        XAmillibel * pLevel
-    );
-    XAresult (*GetMaxVolumeLevel) (
-        XANokiaVolumeExtItf self,
-        XAmillibel * pMaxLevel
-    );
-    XAresult (*SetMute) (
-        XANokiaVolumeExtItf self,
-        XAboolean mute
-    );
-    XAresult (*GetMute) (
-        XANokiaVolumeExtItf self,
-        XAboolean * pMute
-    );
-    XAresult (*EnableStereoPosition) (
-        XANokiaVolumeExtItf self,
-        XAboolean enable
-    );
-    XAresult (*IsEnabledStereoPosition) (
-        XANokiaVolumeExtItf self,
-        XAboolean * pEnable
-    );
-    XAresult (*SetStereoPosition) (
-        XANokiaVolumeExtItf self,
-        XApermille stereoPosition
-    );
-    XAresult (*GetStereoPosition) (
-        XANokiaVolumeExtItf self,
-        XApermille * pStereoPosition
-    );
-    XAresult (*RegisterVolumeCallback) (
-        XANokiaVolumeExtItf self,
-        xaNokiaVolumeExtCallback callback, 
-        void * pContext
-    );
-    XAresult (*SetCallbackEventsMask) (
-        XANokiaVolumeExtItf self,
-        XAuint32 eventFlags
-    );
-    XAresult (*GetCallbackEventsMask) (
-        XANokiaVolumeExtItf self,
-        XAuint32 * pEventFlags
-    );
-};
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* _XANOKIAVOLUMEEXTITF_H_ */
--- a/mmmw_plat/openmax_al_ext_api/inc/xaradioitfext.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-#ifndef XARADIOITFEXT_H
-#define XARADIOITFEXT_H
-
-// Currently defined in OpenMAXAL.h for RADIO:
-//#define XA_RADIO_EVENT_ANTENNA_STATUS_CHANGED       ((XAuint32) 0x00000001)
-//#define XA_RADIO_EVENT_FREQUENCY_CHANGED            ((XAuint32) 0x00000002)
-//#define XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED      ((XAuint32) 0x00000003)
-//#define XA_RADIO_EVENT_PRESET_CHANGED               ((XAuint32) 0x00000004)
-//#define XA_RADIO_EVENT_SEEK_COMPLETED               ((XAuint32) 0x00000005)
-
-// ADDED:
-#define XA_RADIO_EVENT_STEREO_STATUS_CHANGED          ((XAuint32) 0x00000006)
-#define XA_RADIO_EVENT_SIGNAL_STRENGTH_CHANGED 				((XAuint32) 0x00000007)
-
-#endif /* XARADIOITFEXT_H */
--- a/mmmw_plat/openmax_al_ext_api/openmax_al_ext_api.metaxml	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<api id="429a389f5c9afb70c9b789bc52ebaa7d" dataversion="2.0">
-  <name>openmax_al_ext_api</name>
-  <description>This API provides extension to Khronos OpenMAX AL.</description>
-  <type>c++</type>
-  <collection>khronosfws</collection>
-  <libs>
-    <lib name="openmaxal.lib"/>
-  </libs>
-  <release category="platform" sinceversion="^4"/>
-  <attributes>
-    <htmldocprovided>no</htmldocprovided>
-    <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/mmmw_plat/openmax_al_ext_api/readme_ext.txt	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: 
-*
-*/
-
-
-The partial implementation of the Khronos OpenMAX AL API in this distribution has implemented the following features:
-
-* Audio recording
-
-As such, it is NOT a *conformant* OpenMAX AL implementation, as defined by Khronos. That is, it has NOT passed the OpenMAX AL conformance tests. It is to be noted however, that Nokia has signed the Adopter's Agreement and paid the requisite adopter fees for OpenMAX AL v1.0. It is our intention to apply for conformance once we have a complete OpenMAX AL implementation in either the Media Player or Media Player/Recorder profiles.
-
-For now, Nokia has gone ahead with distribution of this partial implementation to facilitate use of this implementation by Symbian Foundation members for evaluation/prototyping purposes. Nokia will be adding to this partial implementation in the coming months, as more and more parts of OpenMAX AL are implemented. Our objective is to eventually have a fully conformant implementation of OpenMAX AL as part of the Symbian Foundation code base. 
-
-
-Useful Links:
-* Khronos Consortium: http://www.khronos.org
-* Khronos FAQ for API Adopters: http://www.khronos.org/faq/category/C80
-* OpenMAX AL: http://www.khronos.org/openmax
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/progressive_download_api/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  File that exports the files belonging to 
+:                Progressive Download API
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+#ifdef __SERIES60_NATIVE_BROWSER
+#ifdef RD_PROGDOWNLOAD
+../inc/MAudioPlayUtility.h     MW_LAYER_PLATFORM_EXPORT_PATH(MAudioPlayUtility.h)
+../inc/ProgressiveDownloadUtility.h     MW_LAYER_PLATFORM_EXPORT_PATH(ProgressiveDownloadUtility.h)
+../inc/MProgressiveDownloadUtility.h     MW_LAYER_PLATFORM_EXPORT_PATH(MProgressiveDownloadUtility.h)
+../inc/MAudioPdPlayUtility.h     MW_LAYER_PLATFORM_EXPORT_PATH(MAudioPdPlayUtility.h)
+#endif
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/progressive_download_api/inc/MAudioPdPlayUtility.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Interface definition for the ProgressiveDownloadUtility functions.
+*
+*/
+
+
+#ifndef __MAUDIOPDPLAYUTILITY_H__
+#define __MAUDIOPDPLAYUTILITY_H__
+
+#include <e32std.h>
+#include <e32base.h>
+#include "MProgressiveDownloadUtility.h"
+#include "MAudioPlayUtility.h"
+
+
+
+
+class MAudioPdPlayUtilityCallback: public MProgressiveDownloadUtilityCallback, 
+                                   public MMdaAudioPlayerCallback
+	{
+	public:
+		virtual void HandleDownloadEventL(TUint aTransactionID,                 
+                                          TBrCtlDownloadEvent aEvent,
+                                          TUint aValue)=0;
+		
+	};
+
+class MAudioPdPlayUtility:public MProgessiveDownloadUtility, 
+                          public MAudioPlayUtility
+	{
+	public:
+		virtual ~MAudioPdPlayUtility(){};
+		
+	};
+
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/progressive_download_api/inc/MAudioPlayUtility.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Interface definition for the ProgressiveDownloadUtility functions.
+*
+*/
+
+
+
+#ifndef __MAUDIOPLAYUTILITY_H__
+#define __MAUDIOPLAYUTILITY_H__
+
+#include <e32std.h>
+#include <e32base.h>
+#include <mdaaudiosampleplayer.h>
+#include <mmf/common/mmfcontroller.h>
+#include <mmf/server/mmffile.h>
+#include <mmf/server/mmfdes.h>
+#include <mmfcontrollerimplementationuids.hrh>
+#include <mmf/common/mmfstandardcustomcommands.h>
+#include <mmf/common/mmfdrmcustomcommands.h>
+
+#include <bldvariant.hrh>
+
+class MAudioPlayUtility
+	{
+	public:
+      
+	 virtual void Play()=0;
+	 virtual void Stop()=0;
+	 virtual TInt Pause()=0;
+	 virtual void SetVolume(TInt aVolume)=0;
+	 virtual void SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence)=0;
+	 virtual void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration)=0;
+	 virtual const TTimeIntervalMicroSeconds& Duration()=0;
+	 virtual TInt MaxVolume()=0;	
+	 virtual void Close()=0;
+	 virtual TInt GetPosition(TTimeIntervalMicroSeconds& aPosition)=0;
+	 virtual void SetPosition(const TTimeIntervalMicroSeconds& aPosition)=0;
+
+	 virtual TInt SetPriority(TInt aPriority, TMdaPriorityPreference aPref)=0;
+	 virtual TInt GetVolume(TInt& aVolume)=0;
+	 virtual TInt GetNumberOfMetaDataEntries(TInt& aNumEntries)=0;
+	 virtual CMMFMetaDataEntry* GetMetaDataEntryL(TInt aMetaDataIndex)=0;
+	 virtual TInt SetPlayWindow(const TTimeIntervalMicroSeconds& aStart,
+								const TTimeIntervalMicroSeconds& aEnd)=0;
+	 virtual TInt ClearPlayWindow()=0;
+	 virtual TInt SetBalance(TInt aBalance = KMMFBalanceCenter)=0;
+	 virtual TInt GetBalance(TInt& aBalance)=0;
+	 virtual TInt GetBitRate(TUint& aBitRate)=0;
+	
+	 virtual void RegisterForAudioLoadingNotification(MAudioLoadingObserver& aCallback)=0;
+	 virtual void GetAudioLoadingProgressL(TInt& aPercentageProgress)=0;
+	 virtual const CMMFControllerImplementationInformation& ControllerImplementationInformationL()=0;
+	
+	 virtual TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom)=0;
+	 virtual TInt CustomCommandSync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2)=0;
+	 virtual void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus)=0;
+	 virtual void CustomCommandAsync(const TMMFMessageDestinationPckg& aDestination, TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus)=0;
+
+
+	 virtual MMMFDRMCustomCommand* GetDRMCustomCommand()=0;
+
+
+	};
+	
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/progressive_download_api/inc/MProgressiveDownloadUtility.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Interface definition for the ProgressiveDownloadUtility functions.
+*
+*/
+
+
+
+#ifndef __MPROGRESSIVEDOWNLOADUTILITY_H__
+#define __MPROGRESSIVEDOWNLOADUTILITY_H__
+
+
+#include <brctldownloadobserver.h>
+
+
+class MProgessiveDownloadUtility//:public MBrCtlDownloadObserver
+	{
+	public:
+	   virtual void HandleDownloadEventL(TUint aTransactionID,                 
+                                         TBrCtlDownloadEvent aEvent,
+                                         TUint aValue)=0;
+	};
+	
+	
+class MProgressiveDownloadUtilityCallback
+	{
+	public:
+	    virtual void Paused()=0;
+	   	virtual void Playing()=0;	
+	   
+	};
+
+	
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/progressive_download_api/inc/ProgressiveDownloadUtility.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Class definition for the ProgressiveDownloadUtility functions.
+*
+*/
+
+#ifndef __CPROGRESSIVEDOWNLOADUTILITY_H__
+#define __CPROGRESSIVEDOWNLOADUTILITY_H__
+
+#include <e32std.h>
+#include <e32base.h>
+#include <f32file.h>
+
+
+//Forward Declaration
+class MAudioPdPlayUtility;
+class MAudioPdPlayUtilityCallback;
+class CPdProperties;
+
+
+// CLASS DEFINITIONS
+
+/**
+*  This class provides Progressive download utility functions.
+*
+*  @lib ProgressiveDownloadUtility.lib
+*  @since 3.0
+*/
+class CProgressiveDownloadUtility: public CBase 
+	{
+
+public:
+    /**
+    * Two-phased constructor.
+    */
+	IMPORT_C static CProgressiveDownloadUtility* NewL();
+
+	/**
+    * Destructor.
+    */
+	IMPORT_C virtual ~CProgressiveDownloadUtility();
+
+    /**
+    * From CProgressiveDownloadUtility
+    * @param aFileName
+	* @param aCallback
+	* @return MAudioPdPlayUtility*
+	*/	
+	IMPORT_C MAudioPdPlayUtility* OpenL(const TDesC& aFileName,MAudioPdPlayUtilityCallback& aCallback);
+
+    /**
+    * From CProgressiveDownloadUtility
+    * @param aFileHandle
+	* @param aCallback
+	* @return MAudioPdPlayUtility*
+	*/			
+	IMPORT_C MAudioPdPlayUtility* OpenL(const RFile& aFileHandle,MAudioPdPlayUtilityCallback& aCallback);
+	
+protected:
+
+	
+private:
+	/**
+    * C++ default constructor.
+    */
+	CProgressiveDownloadUtility();
+
+	/**
+    * By default Symbian 2nd phase constructor is private.
+    */
+	void ConstructL();
+
+	CPdProperties* iProperties;
+   
+	}; 
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/progressive_download_api/progressive_download_api.metaxml	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,18 @@
+<?xml version="1.0" ?>
+<api id="243bbea558d980d70cbe5812cadfba64" dataversion="2.0">
+  <name>Progressive Download API</name>
+  <description>An API for playing back an audio file that is currently being downloaded.</description>
+  <type>c++</type>
+  <collection>audioenhancements</collection>
+  <libs>
+    <lib name="ProgressiveDownloadUtility.lib" />
+  </libs>
+  <release category="platform" deprecatedsince="0"/>
+  <attributes>
+     <!-- This indicates wether the api provedes separate html documentation -->
+     <!-- or is the additional documentation generated from headers. -->
+     <!-- If you are unsuere then the value is "no" -->
+     <htmldocprovided>no</htmldocprovided>
+     <adaptation>no</adaptation>
+  </attributes>
+</api>
--- a/mmmw_plat/radio_preset_utilities_api/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/radio_preset_utilities_api/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -26,6 +26,3 @@
 
 ../inc/RadioFmPresetUtility.h     MW_LAYER_PLATFORM_EXPORT_PATH(RadioFmPresetUtility.h)
 ../inc/RadioPresetUtility.h     MW_LAYER_PLATFORM_EXPORT_PATH(RadioPresetUtility.h)
-../inc/preset.h     MW_LAYER_PLATFORM_EXPORT_PATH(preset.h)
-../inc/presetutility.h     MW_LAYER_PLATFORM_EXPORT_PATH(presetutility.h)
-../inc/presetutilityobserver.h     MW_LAYER_PLATFORM_EXPORT_PATH(presetutilityobserver.h)
\ No newline at end of file
--- a/mmmw_plat/radio_preset_utilities_api/inc/RadioFmPresetUtility.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/radio_preset_utilities_api/inc/RadioFmPresetUtility.h	Wed Sep 01 12:23:00 2010 +0100
@@ -22,13 +22,9 @@
 #ifndef C_RADIOFMPRESETUTILITY_H
 #define C_RADIOFMPRESETUTILITY_H
 
-#warning This file is deprecated and will be removed in future releases. Please use the new API
-
 #include <RadioPresetUtility.h>
-#include <presetutilityobserver.h>
 #include <e32base.h>
 
-class CPresetUtilityBody;
 
 /**
  *  This class provides an interface for controlling the preset for an FM tuner.
@@ -40,8 +36,7 @@
  */
 class CRadioFmPresetUtility : public CBase,
                               public MRadioPreset,
-                              public MRadioFmPreset,
-                              private MPresetUtilityObserver
+                              public MRadioFmPreset
     {
 public:
 
@@ -288,42 +283,21 @@
      */
     IMPORT_C void DeletePresetL( TInt aIndex );
 
-
 private:
 
-    // from base class MPresetUtilityObserver
-    /**
-    * From MPresetUtilityObserver
-    * Called when a preset changes.
-    *
-    * NOTE: EPresetDeleted with aIndex == 0, indicates that all presets have been deleted.
-    *
-    * @since S60 10.1
-    * @param aChange Change event type
-    * @param aIndex Index to the preset that has changed. Zero means all presets.
-    */
-    virtual void PresetChanged( TPresetChangeEvent aChange, TInt aIndex );
-
     CRadioFmPresetUtility( MRadioPresetObserver& aObserver );
 
     void ConstructL();
 
 private: // data
 
-    class CBody; // Dummy body that exists only for BC compatibility purposes
+    class CBody;
 
     /**
      * Preset utility implementation body
      * Own.
      */
-    CPresetUtilityBody* iBody;
-    
-    /**
-     * Old observer
-     * Not owned.
-     */
-    MRadioPresetObserver& iObserver;
-    
+    CBody* iBody;
     };
 
 #endif // C_RADIOFMPRESETUTILITY_H
--- a/mmmw_plat/radio_preset_utilities_api/inc/RadioPresetUtility.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/radio_preset_utilities_api/inc/RadioPresetUtility.h	Wed Sep 01 12:23:00 2010 +0100
@@ -24,10 +24,6 @@
 #define M_RADIOPRESETUTILITY_H
 
 #include <e32std.h>
-#include <presetutilityobserver.h>
-
-
-#warning This file is deprecated and will be removed in future releases. Please use the new API
 
 /** Preset name, 32 characters */
 typedef TBuf<32> TFmPresetName;
@@ -35,6 +31,7 @@
 typedef TBuf<64> TFmPresetUrl;
 
 
+
 /**
  *  This class provides the interface class to be implemented by object receiving events
  *  from preset control.
@@ -49,9 +46,9 @@
     /**  Preset event */
     enum TPresetChangeEvent
         {
-        EPresetAdded = MPresetUtilityObserver::EPresetAdded,
-        EPresetDeleted = MPresetUtilityObserver::EPresetDeleted,
-        EPresetUpdated = MPresetUtilityObserver::EPresetUpdated
+        EPresetAdded,
+        EPresetDeleted,
+        EPresetUpdated
         };
 
     /**
--- a/mmmw_plat/radio_preset_utilities_api/inc/preset.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Preset base class.
-*
-*
-*/
-
-
-#ifndef TPRESET_H
-#define TPRESET_H
-
-#include <e32std.h>
-#include <babitflags.h>         // For TBitFlags
-
-// Forward declarations
-class RWriteStream;
-class RReadStream;
-
-const int KPresetNameLength = 32;
-typedef TBuf<KPresetNameLength> TPresetName;
-const int KUrlMaxLength = 50;
-typedef TBuf<KUrlMaxLength> TRadioUrl;
-
-/**
- *  define preset structure.
- */
-class TPreset
-    {
-public:
-
-    /**
-    * Default class constructor.
-    */
-    IMPORT_C TPreset();
-
-    /**
-    * Gives the preset name.
-    * @since Series 60 10.1
-    * @return the name of the preset
-    */
-    IMPORT_C TPtrC Name() const;
-
-    /**
-    * Gives the preset frequency
-    * @since Series 60 10.1
-    * @return the frequency
-    */
-    IMPORT_C TUint Frequency() const;
-
-    /**
-    * Set name.
-    * @since Series 60 10.1
-    * @param aStationName The name to be set.
-    * @return none
-    */
-    IMPORT_C void SetName( const TPresetName& aStationName );
-
-    /**
-    * Set the frequency value.
-    * @since Series 60 10.1
-    * @param aFrequency  The frequency to be set
-    */
-    IMPORT_C void SetFrequency( const TUint aFrequency );
-
-    /**
-    * Set URL.
-    * @since Series 60 10.1
-    * @param aStationName The URL to be set.
-    * @return none
-    */
-    IMPORT_C void SetUrl( const TRadioUrl& aUrl );
-
-    /**
-    * Get the URL.
-    * @since Series 60 10.1
-    * @return the URL
-    */
-    IMPORT_C TPtrC Url() const;
-
-    /**
-    * Set the Favorite status.
-    * @since Series 60 10.1
-    * @param aFavorite -  Favorite status.
-    * @return none
-    */
-    IMPORT_C void SetFavorite( TBool aFavorite );
-
-    /**
-    * Get the Favorite status.
-    * @since Series 60 10.1
-    * @return TBool ETrue if favorite, otherwise EFalse
-    */
-    IMPORT_C TBool Favorite() const;
-
-    /**
-    * Set the Local Station status.
-    * @since Series 60 10.1
-    * @param aLocalStation -  Local Station status.
-    * @return none
-    */
-    IMPORT_C void SetLocalStation( TBool aLocalStation );
-
-    /**
-    * Get the local station status.
-    * @since Series 60 10.1
-    * @return TBool ETrue if local station, otherwise EFalse
-    */
-    IMPORT_C TBool LocalStation() const;
-
-    /**
-    * Set the Set By User status.
-    * @since Series 60 10.1
-    * @param aRenamed -  Set By User status.
-    * @return none
-    */
-    IMPORT_C void SetRenamedByUser( TBool aRenamed );
-
-    /**
-    * Get the renamed by user status.
-    * @since Series 60 10.1
-    * @return TBool ETrue if renamed by user, otherwise EFalse
-    */
-    IMPORT_C TBool RenamedByUser() const;
-
-    /**
-    * Set PTY.
-    * @since Series 60 10.1
-    * @param aGenre The PTY to be set.
-    * @return none
-    */
-    IMPORT_C void SetGenre( TInt aGenre );
-
-    /**
-    * Get the PTY.
-    * @since Series 60 10.1
-    * @return the PTY
-    */
-    IMPORT_C TInt Genre() const;
-
-    /**
-    * Set PI.
-    * @since Series 60 10.1
-    * @param aGenre The PI to be set.
-    * @return none
-    */
-    IMPORT_C void SetPiCode( TInt aPiCode );
-
-    /**
-    * Get the PI.
-    * @since Series 60 10.1
-    * @return the PI
-    */
-    IMPORT_C TInt PiCode() const;
-
-    /**
-    * Externalize (ie. serialize) data.
-    * @param aStream -  Stream to where to serialize.
-    * @return none
-    */           
-    IMPORT_C virtual void ExternalizeL( RWriteStream & aStream ) const;
-
-    /**
-    * Internalize data.
-    * @param aStream -  Stream from where to internalize.
-    * @return none
-    */           
-    IMPORT_C virtual void InternalizeL( RReadStream& aStream );
-
-    /**
-    * Get the size (in bytes) of my externalized data.
-    * @since Series 60 10.1
-    * @return The size (in bytes) of my externalized data.
-    */
-   IMPORT_C virtual TUint MyExternalizedDataSize() const; 
-    
-private: // data
-
-    // Preset's name
-    TPresetName     iPresetName;
-
-    // Preset's frequency
-    TUint           iPresetFrequency;
-
-    // Preset's URL
-    TRadioUrl       iUrl;
-
-    // Program Type
-    TInt                iGenre;
-    // Program Identification
-    TInt                iPiCode;
-    // Bitwise flags
-    TBitFlags           iFlags;
-
-    };
-
-#endif // TPRESET_H
--- a/mmmw_plat/radio_preset_utilities_api/inc/presetutility.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  This class provides an interface for monitoring radio
-*               presets.
-*
-*
-*/
-
-#ifndef CPRESETUTILITY_H_
-#define CPRESETUTILITY_H_
-
-#include <e32base.h>
-
-class MPresetUtilityObserver;
-class TPreset;
-
-/**
- *  This class provides an interface for controlling the presets for a radio tuner.
- *  The maximum number of presets supported by this utility is pre-defined and the
- *  client must first query it.
- *
- *  NOTE! The preset indexes start from 1
- */
-NONSHARABLE_CLASS( CPresetUtility ) : public CBase
-    {
-public:
-
-    /**
-     * Factory function to create a new instance of the Preset Utility.
-     *
-     * @since S60 10.1
-     * @return A new Preset Utility object.
-     */
-    IMPORT_C static CPresetUtility* NewL();
-
-    IMPORT_C ~CPresetUtility();
-
-    /**
-     * Set the Radio Preset's observer pointer.
-     *
-     * @since S60 10.1
-     */
-    virtual void SetObserver( MPresetUtilityObserver* aObserver ) = 0;
-
-    /**
-     * Get the maximum number of presets supported by this utility.
-     * The numbering of presets starts from 1 and the largest preset number equals the value
-     * returned from this function.
-     *
-     * @since S60 10.1
-     * @return The maximum number of presets.
-     */
-    virtual TInt MaxNumberOfPresets() const = 0;
-
-    /**
-     * Get the number of presets already set by the client (i.e. contains data).
-     *
-     * @since S60 10.1
-     * @return The current number of presets, possible values from 1 to maximum
-     * number of presets.
-     */
-    virtual TInt PresetCount() const = 0;
-
-    /**
-     * Get the first preset index that has been set.
-     * Leaves with KErrNone if no preset exists.
-     *
-     * @since S60 10.1
-     * @return The index of first preset, possible values from 1 to maximum
-     * number of presets.
-     */
-    virtual TInt FirstPreset() const = 0;
-
-    /**
-     * Get the next preset index that has been set, given the current index.
-     * Returns -1 if no other preset exists.
-     *
-     * @since S60 10.1
-     * @param aFromIndex Current preset index.
-     * @return The index of next preset. -1 if no other preset exists.
-     * Otherwise possible values from 1 to maximum number of presets.
-     */
-    virtual TInt NextPreset( TInt aFromIndex ) const = 0;
-
-    /**
-     * Delete the specified preset.
-     * Has no effect if specified index contains no preset.
-     *
-     * NOTE: Specifying aIndex <= 0, will delete all presets.
-     *
-     * @since S60 10.1
-     * @param aIndex A preset index. If aIndex == -1, will delete all. 
-     * Otherwise legal values all used indexes from 0 to (maximum - 1)
-     * number of presets.
-     * @return A standard system error code.
-     */
-    virtual TInt DeletePreset( TInt aIndex ) = 0;
-
-    /**
-     * Save the given preset. Previous content in the specified index
-     * will be overwritten with the new information.
-     *
-     * @since S60 10.1
-     * @param aPreset Object containing all information of the preset.
-     * @param aIndex A preset index. Default value -1 means that a free index
-     * is allocated for the preset. Otherwise legal values from 0 to 
-     * (maximum - 1)number of presets.
-     * @return Given/Allocated index of the preset. Possible values from 1 to
-     * maximum number of presets.
-     */
-    virtual TInt SavePresetL( const TPreset& aPreset, TInt aIndex = -1 ) = 0;
-
-    /**
-     * Read the preset at the specified index.
-     * Leaves with KErrNotFound if invalid index is specified.
-     *
-     * @since S60 10.1
-     * @param aIndex A preset index. Legal values from 0 to (maximum - 1) number of presets.
-     * @param aPreset On return, this object is updated with given preset's information.
-     */
-    virtual void ReadPresetL( TInt aIndex, TPreset& aPreset ) = 0;
-
-    };
-
-#endif // CPRESETUTILITY_H_
--- a/mmmw_plat/radio_preset_utilities_api/inc/presetutilityobserver.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  This class provides the interface class to be implemented by object
-*               receiving events from preset control.
-*
-*
-*/
-
-#ifndef MPRESETUTILITYOBSERVER_H_
-#define MPRESETUTILITYOBSERVER_H_
-
-/**
- *  This class provides the interface class to be implemented by object receiving events
- *  from preset control.
- */
-NONSHARABLE_CLASS( MPresetUtilityObserver )
-    {
-public:
-
-    /**  Preset event */
-    enum TPresetChangeEvent
-        {
-        EPresetAdded,
-        EPresetDeleted,
-        EPresetUpdated
-        };
-
-    /**
-     * Called when a preset changes.
-     *
-     * NOTE: EPresetDeleted with aIndex == -1 (or < 0)=, indicates that all presets have been deleted.
-     *
-     * @since S60 3.2
-     * @param aChange Change event type
-     * @param aIndex Index to the preset that has changed. aIndex == -1 means all presets.
-     */
-    virtual void PresetChanged( TPresetChangeEvent aChange, TInt aIndex ) = 0;
-
-    };
-
-#endif // MPRESETUTILITYOBSERVER_H_
--- a/mmmw_plat/system_tone_service_api/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file provides the information for exporting the System Tone
- * Service API.
- */
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/systemtoneservice.h    MW_LAYER_PLATFORM_EXPORT_PATH(systemtoneservice.h)
-
-PRJ_MMPFILES
--- a/mmmw_plat/system_tone_service_api/inc/systemtoneservice.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines the API for System Tone Service which is
- * implemented in the systemtoneservice.dll.
- */
-#ifndef SYSTEMTONESERVICE_H_
-#define SYSTEMTONESERVICE_H_
-// System includes
-#include <e32base.h>
-// Forward declarations
-NONSHARABLE_CLASS( CStsImplementation);
-
-//Observer declaration
-/**
- *  Play Alarm Observer API definition.
- *  This defines the interface that must be implemented by clients using
- *  the PlayAlarm method.  This API allows the clients to observe  when
- *  the Play Alarm completes.  The same observer can be used for different
- *  PlayAlarm calls, even ones that are playing at the same time.
- */
-class MStsPlayAlarmObserver
-    {
-public:
-    /**
-     * Informs the observer when the play alarm as indicated by the alarm
-     * context is complete.  This method is guaranteed to be called unless
-     * the alarm context has been stopped with the StopAlarm method, in
-     * which case the callback is guaranteed not to be called.
-     * 
-     * Implementations of this interface cannot make any assumptions about
-     * which thread this method is called on, it may or may not be the same
-     * thread from which the PlayAlarm was called.  It is up to the clients
-     * to provide what ever mutual exclusion protection that is needed for
-     * data accessed in this method.
-     * 
-     * In some cases and especially on SMP systems there is a chance that
-     * this method may be called before the PlayAlarm method returns.  It is
-     * up to the client to correctly handle this potential race condition.
-     * 
-     * Clients cannot assume properties about the thread that the callback
-     * is running on, for instance the thread may or may not have Active
-     * Scheduler.
-     * 
-     * It is strongly recommended that clients do as little as possible
-     * processing in this method and to complete this method as quickly as
-     * possible.
-     *
-     * @param aAlarmContext The context of the alarm that has completed.
-     */
-    virtual void PlayAlarmComplete(unsigned int aAlarmContext) = 0;
-    };
-
-// Class declaration
-/**
- * System Tone Service API definition.
- * This is the native C++ API for applications and middleware components
- * to play standard system tones.  This API uses the Private Implementation
- * (PIMPL) pattern to help improve the BC of the API by decoupling the
- * implementation from the interface.
- * 
- * The methods of this class are guaranteed to be thread safe and may be
- * used from any thread within the same process.  An instance of this class
- * may not be shared between processes, even if the processes share memory.
- *
- *  @code
- *   CSystemToneService* sts = CSystemToneService::Create();
- *   TInt calendarAlarmContext;
- *   ...
- *   if (sts)
- *   {
- *       ...
- *       sts->PlayTone(CSystemToneService::EWarningTone);
- *       ...
- *       sts->PlayAlarm(CSystemToneService::ECalendarAlarm, &calendarAlarmContext);
- *       ...
- *       sts->StopAlarm(calendarAlarmContext);
- *       ...
- *   }
- *   ...
- *   CSystemToneService::Delete(sts);
- *  @endcode
- *
- */
-NONSHARABLE_CLASS(CSystemToneService) : public CBase
-    {
-public:
-    /**
-     * Constructor
-     * Creates and initializes an instance of the System Tone Service.
-     * 
-     * @returns Either a pointer to the new CSystemToneService instance
-     *          or NULL if construction fails.
-     */
-    IMPORT_C static CSystemToneService* Create();
-
-    /** Destructor
-     * Deinitializes and deletes the specified System Tone Service instance.  This method
-     * should not be called if an existing PlayAlarm has not yet completed or has not been
-     * stopped, otherwise whether or not the outstanding alarms actually plays or stops is
-     * not guaranteed.
-     * 
-     * @param[in] aSystemToneService A pointer to the CSystemToneService instance
-     *                           to be deleted.  This pointer will be invalid
-     *                           after this method completes.
-     */
-    IMPORT_C static void Delete(CSystemToneService* aSystemToneService);
-
-public:
-    // Data types
-    /** The type of system tones that are supported by this API. */
-    enum TToneType
-        {
-        // Capture Tones
-        EBurstMode = 0x0001,
-        ECapture = 0x0002,
-        ECallRecording = 0x0003,
-        ERecordingStart = 0x0004,
-        ERecordingStop = 0x0005,
-        ESelfTimer = 0x0006,
-
-        // General Tones
-        EConfirmationBeep = 0x0101,
-        EDefaultBeep = 0x0102,
-        EErrorBeep = 0x0103,
-        EInformationBeep = 0x0104,
-        EWarningBeep = 0x0105,
-        EIntegratedHandsFreeActivated = 0x0106,
-
-        // Key Tones
-        ETouchScreen = 0x0201,
-
-        // Location Tones
-        ELocationRequest = 0x0301,
-
-        // Messaging Tones
-        EChatAlert = 0x0401,
-        EEmailAlert = 0x0402,
-        EMmsAlert = 0x0403,
-        ESmsAlert = 0x0404,
-        EDeliveryReport = 0x0405,
-        EMessageSendFailure = 0x0406,
-
-        // Power Tones
-        EBatteryLow = 0x0501,
-        EBatteryRecharged = 0x0502,
-        EPowerOn = 0x0503,
-        EPowerOff = 0x0504,
-        EWakeUp = 0x0505,
-        EWrongCharger = 0x0506,
-
-        // Telephony Tones
-        EAutomaticRedialComplete = 0x0604,
-
-        // Voice Recognition Tones
-        EVoiceStart = 0x0701,
-        EVoiceError = 0x0702,
-        EVoiceAbort = 0x0703
-        };
-
-    /** The type of system alarms that are supported by this API. */
-    enum TAlarmType
-        {
-        // Calendar Alarms
-        ECalendarAlarm = 0x8001,
-        EClockAlarm = 0x8002,
-        EToDoAlarm = 0x8003,
-
-        // Telephony Alarms
-        EIncomingCall = 0x8101,
-        EIncomingCallLine2 = 0x8102,
-        EIncomingDataCall = 0x8103
-        };
-
-    /**
-     * Plays the specified system tone.  If the tone type is not recognized, a default
-     * tone will be played.  Tones are short, fixed duration that always play to
-     * completion and cannot be stopped by the client.
-     *
-     * @param[in] aTone The system tone type to play.
-     */
-    IMPORT_C void PlayTone(TToneType aTone);
-
-    /**
-     * Plays the specified system alarm.  If the alarm type is not recognized, a default
-     * alarm will be played.  Alarms are tones that are long or not fixed duration such as a
-     * calendar alarm that can be manually stopped by the client.  The client is notified
-     * when an alarm playback completes if it is not manually stopped by the client.
-     *
-     * @param[in]  aAlarm        The system alarm type to play.
-     * @param[out] aAlarmContext A guaranteed globally unique context representing this
-     *                           specific alarm playback that can be used for stopping the
-     *                           alarm or used to indicate to the observer which alarm playback
-     *                           has completed.
-     * @param[in] aObserver      A reference to the observer that is to be notified if this alarm
-     *                           playback completes before StopAlarm is called.  The same observer
-     *                           can be used for multiple PlayAlarms, even for ones playing at the
-     *                           same time.  It is the responsibility of the client to manage the
-     *                           life cycle of the observer.  However the observer must exist until
-     *                           all alarms the observer is associated with are either completed
-     *                           or stopped.
-     */
-    IMPORT_C void PlayAlarm(TAlarmType aAlarm, unsigned int& aAlarmContext,
-            MStsPlayAlarmObserver& aObserver);
-
-    /**
-     * Plays the specified system tone as an alarm.  If the tone type is not recognized, a default
-     * default tone will be played.  Using this method allows the clients to stop the tone or get
-     * a callback when the tone playback completes.
-     *
-     * @param[in]  aTone         The system tone type to play.
-     * @param[out] aAlarmContext A guaranteed globally unique context representing this
-     *                           specific tone playback that can be used for stopping the
-     *                           tone or used to indicate to the observer which playback
-     *                           has completed.
-     * @param[in] aObserver      A reference to the observer that is to be notified if this alarm
-     *                           playback completes before StopAlarm is called.  The same observer
-     *                           can be used for multiple PlayAlarms, even for ones playing at the
-     *                           same time.  It is the responsibility of the client to manage the
-     *                           life cycle of the observer.  However the observer must exist until
-     *                           all alarms the observer is associated with are either completed
-     *                           or stopped.
-     */
-    IMPORT_C void PlayAlarm(TToneType aTone, unsigned int& aAlarmContext,
-            MStsPlayAlarmObserver& aObserver);
-
-    /**
-     * Stops the specified system alarm playback.  If the playback has already completed or the
-     * context is not valid, this method does nothing.
-     *
-     * @param[in] aAlarmContext The context to the specific alarm that is to be stopped.
-     */
-    IMPORT_C void StopAlarm(unsigned int aAlarmContext);
-
-protected:
-    // Protected constructors and destructors
-    CSystemToneService(CStsImplementation& aImplementation);
-    ~CSystemToneService();
-
-protected:
-    // Protected data
-    /**
-     * A reference to the implementation class for this API.
-     */
-    CStsImplementation& iImplementation;
-    };
-
-#endif  // SYSTEMTONESERVICE_H_
--- a/mmmw_plat/system_tone_service_api/system_tone_service_api.metaxml	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<api id="80ba9722d6ed1f7c0d543739e4709a6a" dataversion="2.0">
-  <name>System Tone Service API</name>
-  <description>Native API for applications and middleware to easily play system tones and alarms.</description>
-  <type>c++</type>
-  <collection>mmserv</collection>
-  <libs>
-    <lib name="systemtoneservice.lib"/>
-  </libs>
-  <release category="platform" sinceversion="^4"/>
-  <attributes>
-    <htmldocprovided>no</htmldocprovided>
-    <adaptation>no</adaptation>
-  </attributes>
-</api>
--- a/mmmw_plat/system_tone_service_api/tsrc/bmarm/systemtoneservicestifu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/mmmw_plat/system_tone_service_api/tsrc/bwins/systemtoneservicestifu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/mmmw_plat/system_tone_service_api/tsrc/conf/systemtoneservicestif.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-//
-// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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.
-// Description: Example test case for calendar alarm
-//
-//
-
-[Define]
-CalendarAlarm 									32769			
-ClockAlarm 											32770			
-ToDoAlarm 											32771			
-
-BurstMode 			  							1			
-Capture  												2			
-CallRecording  									3			
-RecordingStart  								4			
-RecordingStop  									5			
-SelfTimer  											6			
-
-ConfirmationBeep 								257			
-DefaultBeep   									258			
-ErrorBeep  											259			
-InformationBeep  								260			
-WarningBeep  										261			
-IntegratedHandsFreeActivated 		262
-
-TouchScreen  									  513
-
-LocationRequest  							  769 
-
-ChatAlert  										  1025
-EmailAlert  									  1026
-MmsAlert  										  1027
-SmsAlert  										  1028
-DeliveryReport  							  1029
-MessageSendFailure  					  1030 
-
-BatteryLow  									  1281
-BatteryRecharged 							  1282
-PowerOn  											  1283
-PowerOff  										  1284
-WakeUp  											  1285
-WrongCharger  								  1286
-
-IncomingCall  								  33025
-IncomingCallLine2  						  33026 
-IncomingDataCall  						  33027
-
-AutomaticRedialComplete  			  1540
-
-VoiceStart  									  1793 
-VoiceError  									  1794
-VoiceAbort  									  1795
-[Enddefine]
-
-[Test]
-title 01 Play EmailAlert
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayTone EmailAlert
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-[Test]
-title 02 Play SmsAlert
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayTone SmsAlert
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-[Test]
-title 03 Play ChatAlert
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayTone ChatAlert
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-[Test]
-title 04 Play MmsAlert
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayTone MmsAlert
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-[Test]
-title 05 Play WarningBeep
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayTone WarningBeep
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
-[Test]
-title 06 Play DeafultBeep
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayTone DefaultBeep
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
-[Test]
-title 07 Play IncomingCall
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayAlarm IncomingCall
-pause 10000
-STSSTIF StopAlarm True
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
-[Test]
-title 08 Play IncomingCall2
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayAlarm IncomingCallLine2
-pause 10000
-STSSTIF StopAlarm True
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
-[Test]
-title 09 Play VideoCall
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayAlarm IncomingDataCall
-pause 10000
-STSSTIF StopAlarm True
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
-[Test]
-title 10 Play DefaultAlarm
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayAlarm ToDoAlarm
-pause 10000
-STSSTIF StopAlarm True
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
-
-
-
-
-
-
-[Test]
-title NFT
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayAlarm ClockAlarm
-pause 10000
-STSSTIF StopAlarm True
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
-
-[Test]
-title 11 Create systemtoneservicestif
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-delete STSSTIF
-[Endtest]
-
-
-
-[Test]
-title 12 Play ClockAlarm Ringtone
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayAlarm  ClockAlarm
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
-[Test]
-title 13 Play ClockAlarmContext Ringtone
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayTone EmailAlert
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-[Test]
-title 14 Stop ClockAlarm with recognized Context
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayAlarm ClockAlarm
-pause 10000
-STSSTIF StopAlarm True
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
-[Test]
-title 15 Stop ClockAlarm with non-recognized Context
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayAlarm ClockAlarm
-pause 10000
-STSSTIF StopAlarm False
-pause 5000
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
-[Test]
-title 16 Play two tones
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayAlarm ClockAlarm
-pause 5000
-STSSTIF PlayTone DefaultBeep
-pause 10000
-STSSTIF StopAlarm True
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
-[Test]
-title 07 Stop tone after tone complete
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayAlarm ClockAlarm
-pause 10000
-STSSTIF StopAlarm True
-STSSTIF StopAlarm True
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
--- a/mmmw_plat/system_tone_service_api/tsrc/conf/systemtoneservicestif_calendaralarm.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-//
-// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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.
-// Description: Example test case for calendar alarm
-//
-//
-
-
-[Test]
-title 1.1 Test CalendarAlarm Ringtone
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-STSSTIF PlayAlarm  CalendarAlarm
-pause 5000
-STSSTIF StopAlarm  True
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
- [Test]
-title 1.2 Test CalendarAlarmContext Ringtone
-create systemtoneservicestif STSSTIF
-STSSTIF Create
-request Event_PlayAlarmComplete
-STSSTIF PlayAlarm  CalendarAlarm
-wait Event_PlayAlarmComplete
-release Event_PlayAlarmComplete
-STSSTIF StopAlarm
-STSSTIF Delete
-delete STSSTIF
-[Endtest]
-
-
--- a/mmmw_plat/system_tone_service_api/tsrc/conf/systemtoneservicestif_common.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-//
-// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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.
-// Description: Mapping of TToneType Enum for creating test cases
-//
-//
-
-[Define]
-CalendarAlarm 									32769			
-ClockAlarm 											32770			
-ToDoAlarm 											32771			
-
-BurstMode 			  							1			
-Capture  												2			
-CallRecording  									3			
-RecordingStart  								4			
-RecordingStop  									5			
-SelfTimer  											6			
-
-ConfirmationBeep 								257			
-DefaultBeep   									258			
-ErrorBeep  											259			
-InformationBeep  								260			
-WarningBeep  										261			
-IntegratedHandsFreeActivated 		262
-
-TouchScreen  									  513
-
-LocationRequest  							  769 
-
-ChatAlert  										  1025
-EmailAlert  									  1026
-MmsAlert  										  1027
-SmsAlert  										  1028
-DeliveryReport  							  1029
-MessageSendFailure  					  1030 
-
-BatteryLow  									  1281
-BatteryRecharged 							  1282
-PowerOn  											  1283
-PowerOff  										  1284
-WakeUp  											  1285
-WrongCharger  								  1286
-
-IncomingCall  								  33025
-IncomingCallLine2  						  33026 
-IncomingDataCall  						  33027
-
-AutomaticRedialComplete  			  1540
-
-VoiceStart  									  1793 
-VoiceError  									  1794
-VoiceAbort  									  1795
-[Enddefine]
-
-
--- a/mmmw_plat/system_tone_service_api/tsrc/eabi/systemtoneservicestifu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/mmmw_plat/system_tone_service_api/tsrc/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description:
-*
-*/
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_TESTEXPORTS
-
-
-PRJ_EXPORTS
-
-
-PRJ_TESTMMPFILES
-systemtoneservicestif.mmp
-
-PRJ_MMPFILES
-
-
-//  End of File
--- a/mmmw_plat/system_tone_service_api/tsrc/group/systemtoneservicestif.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*TYPE TESTCLASS*/
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: MMP file for STIF Test Framework's TestScripter 
-* testclass test module.
-*
-*/
-
-#include <platform_paths.hrh>
-
-SMPSAFE
-
-TARGET          systemtoneservicestif.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      ALL -TCB
-VENDORID        VID_DEFAULT
-
-
-//EPOCALLOWDLLDATA
-#if !defined(__WINSCW__) && !defined(__WINS__)
-EpocAllowDllData
-#endif
-
-
-//TARGETPATH     
-DEFFILE         systemtoneservicestif.def
-
-MW_LAYER_SYSTEMINCLUDE
-USERINCLUDE     ../inc 
-
-OS_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../src
-
-SOURCE		systemtoneservicesactiveobj.cpp
-SOURCE          systemtoneservicestif.cpp
-SOURCE          systemtoneservicestifblocks.cpp
-
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib
-LIBRARY         systemtoneservice.lib
-
-LANG            SC
-
-
-
-// End of File
--- a/mmmw_plat/system_tone_service_api/tsrc/group/systemtoneservicestif.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-;
-; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "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:
-; 
-; Description:
-;
-; 	Installation file for STIF
-;
-
-; Languages
-&EN
-
-; Provide value for uid
-#{"STIF"},(0x00000000),1,1,0,TYPE=SA
-
-; Series60 product id for S60 3.0
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Logo
-; None
-
-; Package signature - Optional
-; None
-
-; Start of Package body
-
-; Condition blocks
-; None
-
-; Options list
-; None
-
-; Install files
-"\epoc32\release\armv5\udeb\systemtoneservicestif.dll"   -   "!:\Sys\Bin\systemtoneservicestif.dll"
-"..\conf\systemtoneservicestif.cfg"                      -   "C:\testframework\systemtoneservicestif.cfg" 
-"..\init\TestFramework.ini"                              -   "C:\TestFramework\TestFramework.ini"
- 
-; Embedded SIS 
-; None
-
-; End of Package body
-
-; PKG dependencies
-; None
-
-; PKG capabilities
-; None
--- a/mmmw_plat/system_tone_service_api/tsrc/group/systemtoneservicestif_DoxyFile.txt	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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.
-#
-#
-
-
-# Doxyfile 1.4.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME           = systemtoneservicestif
-PROJECT_NUMBER         = 
-OUTPUT_DIRECTORY       = Z:\\systemtoneservicestif\
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-USE_WINDOWS_ENCODING   = YES
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = NO
-INHERIT_DOCS           = YES
-DISTRIBUTE_GROUP_DOC   = NO
-TAB_SIZE               = 8
-ALIASES                = 
-OPTIMIZE_OUTPUT_FOR_C  = YES
-OPTIMIZE_OUTPUT_JAVA   = NO
-SUBGROUPING            = YES
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = YES
-EXTRACT_PRIVATE        = NO
-EXTRACT_STATIC         = NO
-EXTRACT_LOCAL_CLASSES  = NO
-EXTRACT_LOCAL_METHODS  = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = YES
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = NO
-GENERATE_TESTLIST      = NO
-GENERATE_BUGLIST       = NO
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
-MAX_INITIALIZER_LINES  = 30
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = YES
-FILE_VERSION_FILTER    = 
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = NO
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = YES
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = 
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = Z:\\systemtoneservicestif\
-FILE_PATTERNS          = *.h \
-                         *.rh \
-                         *.hrh
-RECURSIVE              = YES
-EXCLUDE                = 
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
-FILTER_SOURCE_FILES    = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = NO
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
-VERBATIM_HEADERS       = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = NO
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = NO
-HTML_OUTPUT            = html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
-HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = YES
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-BINARY_TOC             = YES
-TOC_EXPAND             = YES
-DISABLE_INDEX          = YES
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = YES
-TREEVIEW_WIDTH         = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = NO
-LATEX_OUTPUT           = latex
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = NO
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = 
-LATEX_HEADER           = 
-PDF_HYPERLINKS         = NO
-USE_PDFLATEX           = NO
-LATEX_BATCHMODE        = NO
-LATEX_HIDE_INDICES     = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = YES
-RTF_OUTPUT             = Doc
-COMPACT_RTF            = YES
-RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_LINKS              = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = YES
-EXPAND_ONLY_PREDEF     = NO
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = NONSHARABLE_CLASS
-EXPAND_AS_DEFINED      = 
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = YES
-HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = NO
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = YES
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = YES
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = YES
-DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-MAX_DOT_GRAPH_WIDTH    = 1024
-MAX_DOT_GRAPH_HEIGHT   = 1024
-MAX_DOT_GRAPH_DEPTH    = 0
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
--- a/mmmw_plat/system_tone_service_api/tsrc/inc/systemtoneservicesactiveobj.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains activeobject header for handling callbacks
-*
-*/
-
-
-
-#include <e32base.h>
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifLogger.h>
-#include <StifTestInterface.h>
-#include <systemtoneservice.h>
-
- 
-
-
-class CStsActiveObj : public CActive
-{
-    
-    public:
-    static CStsActiveObj* NewL( MStsPlayAlarmObserver* aObserver,CStifLogger* aLogger );
-    ~CStsActiveObj();
-       
-    public:     // Functions from base classes
-
-    /**
-    * RunL derived from CActive handles the completed requests.
-    */
-    void RunL();
-
-    /**
-    * DoCancel derived from CActive handles the cancel
-    */
-    void DoCancel();
-
-    /**
-    * RunError derived from CActive handles errors from active handler.
-    */
-    TInt RunError( TInt aError );
-    
-    private:
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL(MStsPlayAlarmObserver* aObserver, CStifLogger* aLogger);
-
-        /**
-        * C++ constructor.
-        */
-        CStsActiveObj();
-    
-
-    private:    // Data
-    MStsPlayAlarmObserver*   iObserver;
-    CStifLogger* 			 iLog;
-   
-
-};
--- a/mmmw_plat/system_tone_service_api/tsrc/inc/systemtoneservicestif.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: STIF testclass declaration
-*
-*/
-
-#ifndef SYSTEMTONESERVICESTIF_H
-#define SYSTEMTONESERVICESTIF_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include <TestclassAssert.h>
-#include <systemtoneservice.h>
-#include "systemtoneservicesactiveobj.h"
-
-
-// CONSTANTS
-
-
-// MACROS
-
-#define TEST_CLASS_VERSION_MAJOR 0
-#define TEST_CLASS_VERSION_MINOR 0
-#define TEST_CLASS_VERSION_BUILD 0
-
-// Logging path
-_LIT( KsystemtoneservicestifLogPath, "f:\\testing\\Log\\" ); 
-// Log file
-_LIT( KsystemtoneservicestifLogFile, "systemtoneservicestif.txt" ); 
-_LIT( KsystemtoneservicestifLogFileWithTitle, "systemtoneservicestif_[%S].txt" );
-
-
-
-
-// FORWARD DECLARATIONS
-
-class CSystemToneServiceStif;
-
-
-enum TPlayState
-    {
-    EStopped,
-    EPlaying
-    };
-
-_LIT( KTrue, "True");
-_LIT( KFalse, "False");
-
-// CLASS DECLARATION
-
-/**
-*  CSystemToneServiceStif test class for STIF Test Framework TestScripter.
-
-*/
-NONSHARABLE_CLASS(CSystemToneServiceStif) : public CScriptBase, MStsPlayAlarmObserver
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CSystemToneServiceStif* NewL( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CSystemToneServiceStif();
-
-
-    public: // Functions from base classes
-
-        /**
-        * From CScriptBase Runs a script line.
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
-
-
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CSystemToneServiceStif( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        
-        /**
-        * Frees all resources allocated from test methods.
-        */
-        void Delete();
-
-        /**
-        * Test methods are listed below. 
-        */
-
-        /**
-        * Example test method.
-        * @return Symbian OS error code.
-        */
-        virtual TInt ExampleL( CStifItemParser& aItem );
-        
-        /**
-         * Method used to log version of test class
-         */
-        void SendTestClassVersion();
-
-        //ADD NEW METHOD 
-        
-        virtual TInt  CreateSystemToneService(  );
-      
-        virtual TInt  DeleteSystemToneService(  );
-        
-        virtual TInt  PlayTone( CStifItemParser& aItem);
-        
-        virtual TInt  PlayAlarm( CStifItemParser& aItem );
-        
-        virtual TInt  StopAlarm( CStifItemParser& aItem );
-        
-        virtual TInt  PlayToneWithStop( CStifItemParser& aItem);
-
-
-
-    private:  
-    	 // inherited from MPlayAlarmObserver
-       virtual void PlayAlarmComplete(unsigned int aAlarmContext);
-       virtual void HandleEvent();
-    	
-    	
-    	
-    	  
-    	  // Data
-        TPlayState            iPlayState;
-        CSystemToneService*   iSts;
-          // Active object with a timer to timeout the test case
-        CStsActiveObj*        iCallbackController;   
-        TUint                 iCurrentContext;
-
-
-
-    };
-
-#endif      // SYSTEMTONESERVICESTIF_H
-
-// End of File
--- a/mmmw_plat/system_tone_service_api/tsrc/init/testframework.ini	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module.
-# 	- Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation
-#		DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02
-#
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
-                                                               'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= c:\LOGS\TestFramework\
-TestReportFileName= TestReport_systemtoneservicestif
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-DisableMeasurement= stifmeasurementdisablenone	# Possible values are:
-						# 'stifmeasurementdisablenone', 'stifmeasurementdisableall'
-					  	# 'stifmeasurementplugin01', 'stifmeasurementplugin02',
-					  	# 'stifmeasurementplugin03', 'stifmeasurementplugin04',
-					  	# 'stifmeasurementplugin05' or 'stifbappeaprofiler'
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-#[New_Module]
-#ModuleName= demomodule
-#[End_Module]
-
-[New_Module]
-ModuleName= TestScripter
-IniFile = c:\testframework\systemtoneservicestif_common.cfg
-TestCaseFile= c:\testframework\systemtoneservicestif_calendaralarm.cfg
-[End_Module]
-
-
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleXXX used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-#	- Will write log file in unicode format.
-#		+ YES, Log file will be written in unicode format
-#		+ NO, Log will be written as normal, not unicode, file.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
-#NOTE: TestEngine and TestServer logging settings cannot change here
-
-CreateLogDirectories= YES		# Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML			# Possible values: TXT or HTML
-#EmulatorOutput= FILE			# Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML			# Possible values: TXT or HTML
-#HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-FileCreationMode= OVERWRITE		# Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES			# Possible values: YES or NO
-#WithTimeStamp= YES			# Possible values: YES or NO
-#WithLineBreak= YES			# Possible values: YES or NO
-#WithEventRanking= YES			# Possible values: YES or NO
-
-#FileUnicode= YES			# Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
\ No newline at end of file
--- a/mmmw_plat/system_tone_service_api/tsrc/src/systemtoneservicesactiveobj.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-#include <e32base.h>
-#include <systemtoneservice.h>
-#include "systemtoneservicesactiveobj.h"
-
-
-CStsActiveObj::CStsActiveObj() : CActive (CActive::EPriorityStandard)
-{
-   
-}
-
-
-void CStsActiveObj::ConstructL(MStsPlayAlarmObserver* aObserver, CStifLogger* aLogger) 
-{  
-	iObserver = aObserver;
-    iLog = aLogger;
-    CActiveScheduler::Add(this);
-}
-
-CStsActiveObj* CStsActiveObj::NewL( MStsPlayAlarmObserver* aTestClass, CStifLogger* aLogger)
-{
-    CStsActiveObj* self = new ( ELeave ) CStsActiveObj();
-    CleanupStack::PushL( self );
-    self->ConstructL( aTestClass, aLogger);
-    CleanupStack::Pop( self );
-    return self;
-
-}
-
-CStsActiveObj::~ CStsActiveObj()
-{
-		if(IsActive())
-    {
-        Cancel();
-    }
-}
-
-
-void  CStsActiveObj::RunL()
-{
-	/*(if(IsActive())
-    {
-        Cancel();
-    }
-    
-    SetActive();*/
-}
-
-
-void  CStsActiveObj::DoCancel()
-{
-    if(IsActive())
-    {
-        Cancel();
-    }
-}
-
-
-TInt  CStsActiveObj::RunError( TInt aError )
-{
-    
-    iObserver->PlayAlarmComplete(aError);
-    return aError;
-}
-
--- a/mmmw_plat/system_tone_service_api/tsrc/src/systemtoneservicestif.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// INCLUDE FILES
-#include <StifTestInterface.h>
-#include <SettingServerClient.h>
-#include "systemtoneservicestif.h"
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSystemToneServiceStif::CSystemToneServiceStif
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSystemToneServiceStif::CSystemToneServiceStif( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CSystemToneServiceStif::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSystemToneServiceStif::ConstructL()
-    {
-    //Read logger settings to check whether test case name is to be
-    //appended to log file name.
-    RSettingServer settingServer;
-    TInt ret = settingServer.Connect();
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        }
-    // Struct to StifLogger settigs.
-    TLoggerSettings loggerSettings; 
-    // Parse StifLogger defaults from STIF initialization file.
-    ret = settingServer.GetLoggerSettings(loggerSettings);
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        } 
-    // Close Setting server session
-    settingServer.Close();
-
-    TFileName logFileName;
-    
-    if(loggerSettings.iAddTestCaseTitle)
-        {
-        TName title;
-        TestModuleIf().GetTestCaseTitleL(title);
-        logFileName.Format(KsystemtoneservicestifLogFileWithTitle, &title);
-        }
-    else
-        {
-        logFileName.Copy(KsystemtoneservicestifLogFile);
-        }
-
-    iLog = CStifLogger::NewL( KsystemtoneservicestifLogPath, 
-                          logFileName,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-    iCallbackController = (CStsActiveObj*)(this);	
-    SendTestClassVersion();
-    }
-
-// -----------------------------------------------------------------------------
-// CSystemToneServiceStif::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSystemToneServiceStif* CSystemToneServiceStif::NewL( 
-    CTestModuleIf& aTestModuleIf )
-    {
-    CSystemToneServiceStif* self = new (ELeave) CSystemToneServiceStif( aTestModuleIf );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-
-    }
-
-// Destructor
-CSystemToneServiceStif::~CSystemToneServiceStif()
-    { 
-
-    // Delete resources allocated from test methods
-    Delete();
-
-    // Delete logger
-    delete iLog; 
-    delete iCallbackController;
-
-    }
-
-//-----------------------------------------------------------------------------
-// CSystemToneServiceStif::SendTestClassVersion
-// Method used to send version of test class
-//-----------------------------------------------------------------------------
-//
-void CSystemToneServiceStif::SendTestClassVersion()
-	{
-	TVersion moduleVersion;
-	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
-	moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
-	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
-	
-	TFileName moduleName;
-	moduleName = _L("systemtoneservicestif.dll");
-
-	TBool newVersionOfMethod = ETrue;
-	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
-	}
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-
-    return ( CScriptBase* ) CSystemToneServiceStif::NewL( aTestModuleIf );
-
-    }
-
-
-//  End of File
--- a/mmmw_plat/system_tone_service_api/tsrc/src/systemtoneservicestifblocks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include <StifTestEventInterface.h>
-#include "systemtoneservicestif.h"
-
-
-
-TInt CSystemToneServiceStif::RunMethodL(CStifItemParser& aItem )
-    {
-
-    static TStifFunctionInfo const KFunctions[] =
-        {
-        // Copy this line for every implemented function.
-        // First string is the function name used in TestScripter script file.
-        // Second is the actual implementation member function.
-        ENTRY( "Create", CSystemToneServiceStif::CreateSystemToneService ),
-        ENTRY( "Delete", CSystemToneServiceStif::DeleteSystemToneService ),
-        ENTRY( "PlayTone", CSystemToneServiceStif::PlayTone ),
-        ENTRY( "PlayAlarm", CSystemToneServiceStif::PlayAlarm ),
-        ENTRY( "StopAlarm", CSystemToneServiceStif::StopAlarm ),
-        ENTRY( "PlayToneWithStop", CSystemToneServiceStif::PlayToneWithStop ),	
-        
-
-
-        };
-
-    const TInt count = sizeof( KFunctions ) /
-                        sizeof( TStifFunctionInfo );
-
-    return RunInternalL( KFunctions, count, aItem );
-
-    }
-
-
-
-
-
-void CSystemToneServiceStif::Delete()
-    {
-				iSts = NULL;
-				iCallbackController = NULL;
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CSystemToneServiceStif::ExampleL
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CSystemToneServiceStif::ExampleL( CStifItemParser& aItem )
-    {
-
-    // Print to UI
-    _LIT( Ksystemtoneservicestif, "systemtoneservicestif" );
-    _LIT( KExample, "In Example" );
-    TestModuleIf().Printf( 0, Ksystemtoneservicestif, KExample );
-    // Print to log file
-    iLog->Log( KExample );
-
-    TInt i = 0;
-    TPtrC string;
-    _LIT( KParam, "Param[%i]: %S" );
-    while ( aItem.GetNextString ( string ) == KErrNone )
-        {
-        TestModuleIf().Printf( i, Ksystemtoneservicestif, 
-                                KParam, i, &string );
-        i++;
-        }
-
-    return KErrNone;
-
-    }
-
-TInt CSystemToneServiceStif::CreateSystemToneService(  )
-    {
-    // Print to UI
-        _LIT( Ksystemtoneservicestif, "systemtoneservicestif" );
-        _LIT( KPrint, "In CreateSystemToneService" );
-        TestModuleIf().Printf( 0, Ksystemtoneservicestif, KPrint );
-        // Print to log file
-        iLog->Log( KPrint );
-        
-        iSts = CSystemToneService::Create();    
-        
-        iLog->Log(_L("CreateSystemToneService complete"));
-        return KErrNone;
-    }
-
-TInt CSystemToneServiceStif::DeleteSystemToneService( )
-    {
-    // Print to UI
-        _LIT( Ksystemtoneservicestif, "systemtoneservicestif" );
-        _LIT( KPrint, "In DeleteSystemToneService" );
-        TestModuleIf().Printf( 0, Ksystemtoneservicestif, KPrint );
-        // Print to log file
-        iLog->Log( KPrint );
-        
-        CSystemToneService::Delete(iSts);  
-        return KErrNone;
-    }
-    
-    
-TInt CSystemToneServiceStif::PlayTone( CStifItemParser& aItem )
-    {
-        // Print to UI
-            _LIT( Ksystemtoneservicestif, "systemtoneservicestif" );
-            _LIT( KPrint, "In PlaySystemToneService" );
-            TestModuleIf().Printf( 0, Ksystemtoneservicestif, KPrint );
-            // Print to log file
-            iLog->Log( KPrint );
-            
-               TInt lRetVal = KErrNone;
-               TInt toneType = 0;
-
-               lRetVal = aItem.GetNextInt(toneType);
-              
-        if ( lRetVal != KErrNone )
-        {
-            iLog->Log(_L("Csystemtoneservicestif::PlaySystemToneService tone type missing in config file "));
-            iLog->Log(_L("Playing Default Tone"));
-            iSts->PlayTone(CSystemToneService::EDefaultBeep);
-            lRetVal = KErrNone;
-        }
-				else
-        {
-            iSts->PlayTone(CSystemToneService::TToneType(toneType));
-            iLog->Log(_L("CSystemToneService::TToneType(toneType) %d"),CSystemToneService::TToneType(toneType) );
-        }
-        
-        return lRetVal;
-}
-
-
-TInt CSystemToneServiceStif::PlayAlarm( CStifItemParser& aItem )
-    {
-        // Print to UI
-            _LIT( Ksystemtoneservicestif, "systemtoneservicestif" );
-            _LIT( KPrint, "In PlaySystemToneServiceWithContext" );
-            TestModuleIf().Printf( 0, Ksystemtoneservicestif, KPrint );
-            // Print to log file
-            iLog->Log( KPrint );
-            
-               TInt lRetVal = KErrNone;
-               TInt alarmType = 0;
-
-               lRetVal = aItem.GetNextInt(alarmType);
-
-               if ( lRetVal != KErrNone )
-                {
-                   iLog->Log(_L("CSystemToneServiceStif::PlaySystemToneService tone type missing in config file "));
-                   iLog->Log(_L("Playing Default Tone"));
-                   
-            iSts->PlayAlarm(CSystemToneService::EClockAlarm, iCurrentContext, *this);
-        }
-			  else
-        {
-            //iSts->PlayTone(CSystemToneService::EClockAlarm, iCurrentContext);
-            iSts->PlayAlarm(CSystemToneService::TAlarmType(alarmType), iCurrentContext, *this);
-            iLog->Log(_L("CSystemToneService::TAlarmType(alarmType) %d"),CSystemToneService::TAlarmType(alarmType) );
-        }
-        
-        return lRetVal;       
-            
-        }
-
-
-TInt  CSystemToneServiceStif::StopAlarm(CStifItemParser& aItem  )
-    {
-    // Print to UI
-          _LIT( Ksystemtoneservicestif, "systemtoneservicestif" );
-          _LIT( KPrint, "In StopSystemToneService" );
-          TestModuleIf().Printf( 0, Ksystemtoneservicestif, KPrint );
-          // Print to log file
-          iLog->Log( KPrint );
-          
-    TPtrC StopType;
-		TInt error = KErrNone;
-		
-    error = aItem.GetNextString(StopType);
-    
-    
-    if (StopType == KTrue)
-    {
-				iLog->Log(_L("Stop Tone with recognized context number"));
-          
-        iSts->StopAlarm(iCurrentContext);
-		}
-		else
-		{
-		    iLog->Log(_L("Stop Tone with unrecognized context number"));
-          
-        iSts->StopAlarm(iCurrentContext+1);
-    }
-    
-    return error;
-}
-
-
-TInt CSystemToneServiceStif::PlayToneWithStop( CStifItemParser& aItem )
-    {
-        // Print to UI
-            _LIT( Ksystemtoneservicestif, "systemtoneservicestif" );
-            _LIT( KPrint, "In PlaySystemToneServiceWithContext" );
-            TestModuleIf().Printf( 0, Ksystemtoneservicestif, KPrint );
-            // Print to log file
-            iLog->Log( KPrint );
-            
-               TInt lRetVal = KErrNone;
-               TInt alarmType = 0;
-
-               lRetVal = aItem.GetNextInt(alarmType);
-
-               if ( lRetVal != KErrNone )
-                {
-                   iLog->Log(_L("CSystemToneServiceStif::PlaySystemToneService tone type missing in config file "));
-                   iLog->Log(_L("Playing Default Tone"));
-                   
-            iSts->PlayAlarm(CSystemToneService::EClockAlarm, iCurrentContext, *this);
-        }
-			  else
-        {
-            //iSts->PlayTone(CSystemToneService::EClockAlarm, iCurrentContext);
-            iSts->PlayAlarm(CSystemToneService::TToneType(alarmType), iCurrentContext, *this);
-            iLog->Log(_L("CSystemToneService::TAlarmType(alarmType) %d"),CSystemToneService::TAlarmType(alarmType) );
-        }
-        
-        return lRetVal;       
-            
-        }
-
-
-
-void CSystemToneServiceStif::HandleEvent()
-	{
-		TEventIf event( TEventIf::ESetEvent, _L("Event_PlayAlarmComplete") );
-    TestModuleIf().Event( event );
-	}
-
-	
-    
-void CSystemToneServiceStif::PlayAlarmComplete(unsigned int aAlarmContext)
-    {
-    if (aAlarmContext == iCurrentContext)
-        {
-        	
-          _LIT( Ksystemtoneservicestif, "STS" );
-          _LIT( KPrint, "PlayAlarmComplete" );
-          TestModuleIf().Printf( 0, Ksystemtoneservicestif, KPrint );
-                 	
-        	iPlayState = EStopped;
-        	iCallbackController->Cancel();
-        	//HandleEvent();
-        }
-    }  
-
--- a/mmmw_plat/telephony_multimedia_service_api/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -30,8 +30,6 @@
 ../inc/tmsclientsinkobsrvr.h    MW_LAYER_PLATFORM_EXPORT_PATH(tmsclientsinkobsrvr.h)
 ../inc/tmsclientsource.h        MW_LAYER_PLATFORM_EXPORT_PATH(tmsclientsource.h)
 ../inc/tmsclientsourceobsrvr.h  MW_LAYER_PLATFORM_EXPORT_PATH(tmsclientsourceobsrvr.h)
-../inc/tmsdtmf.h                MW_LAYER_PLATFORM_EXPORT_PATH(tmsdtmf.h)
-../inc/tmsdtmfobsrvr.h          MW_LAYER_PLATFORM_EXPORT_PATH(tmsdtmfobsrvr.h)
 ../inc/tmseffect.h              MW_LAYER_PLATFORM_EXPORT_PATH(tmseffect.h)
 ../inc/tmseffectobsrvr.h        MW_LAYER_PLATFORM_EXPORT_PATH(tmseffectobsrvr.h)
 ../inc/tmsfactory.h             MW_LAYER_PLATFORM_EXPORT_PATH(tmsfactory.h)
@@ -45,8 +43,6 @@
 ../inc/tmsglobalvoleffect.h     MW_LAYER_PLATFORM_EXPORT_PATH(tmsglobalvoleffect.h)
 ../inc/tmsilbcformat.h          MW_LAYER_PLATFORM_EXPORT_PATH(tmsilbcformat.h)
 ../inc/tmspcmformat.h           MW_LAYER_PLATFORM_EXPORT_PATH(tmspcmformat.h)
-../inc/tmsringtone.h            MW_LAYER_PLATFORM_EXPORT_PATH(tmsringtone.h)
-../inc/tmsringtoneobsrvr.h      MW_LAYER_PLATFORM_EXPORT_PATH(tmsringtoneobsrvr.h)
 ../inc/tmssink.h                MW_LAYER_PLATFORM_EXPORT_PATH(tmssink.h)
 ../inc/tmssource.h              MW_LAYER_PLATFORM_EXPORT_PATH(tmssource.h)
 ../inc/tmsstream.h              MW_LAYER_PLATFORM_EXPORT_PATH(tmsstream.h)
@@ -56,6 +52,4 @@
 ../inc/tmsmodemsink.h           MW_LAYER_PLATFORM_EXPORT_PATH(tmsmodemsink.h)
 ../inc/tmsmodemsource.h         MW_LAYER_PLATFORM_EXPORT_PATH(tmsmodemsource.h)
 ../inc/tmsspeakersink.h         MW_LAYER_PLATFORM_EXPORT_PATH(tmsspeakersink.h)
-../inc/tmsinbandtone.h          MW_LAYER_PLATFORM_EXPORT_PATH(tmsinbandtone.h)
-../inc/tmsinbandtoneobsrvr.h    MW_LAYER_PLATFORM_EXPORT_PATH(tmsinbandtoneobsrvr.h)
 
--- a/mmmw_plat/telephony_multimedia_service_api/inc/tms.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/inc/tms.h	Wed Sep 01 12:23:00 2010 +0100
@@ -70,22 +70,14 @@
 
 // Event codes
 #define TMS_EVENT_STREAM_STATE_CHANGED          ((gint)0x00000000)
-#define TMS_EVENT_STREAM_STATE_CHANGE_ERROR     ((gint)0x00000001)
-#define TMS_EVENT_SOURCE_FILL_BUFFER            ((gint)0x00000002)
-#define TMS_EVENT_SOURCE_PROCESSED_BUFFER       ((gint)0x00000003)
-#define TMS_EVENT_SINK_PROCESS_BUFFER           ((gint)0x00000004)
-#define TMS_EVENT_EFFECT_VOL_CHANGED            ((gint)0x00000005)
-#define TMS_EVENT_EFFECT_GAIN_CHANGED           ((gint)0x00000006)
-#define TMS_EVENT_ROUTING_AVAIL_OUTPUTS_CHANGED ((gint)0x00000007)
-#define TMS_EVENT_ROUTING_OUTPUT_CHANGED        ((gint)0x00000008)
-#define TMS_EVENT_ROUTING_SET_OUTPUT_COMPLETE   ((gint)0x00000009)
-#define TMS_EVENT_RINGTONE_OPEN_COMPLETE        ((gint)0x0000000A)
-#define TMS_EVENT_RINGTONE_PLAY_COMPLETE        ((gint)0x0000000B)
-#define TMS_EVENT_RINGTONE_DEINIT_COMPLETE      ((gint)0x0000000C)
-#define TMS_EVENT_DTMF_TONE_STARTED             ((gint)0x0000000D)
-#define TMS_EVENT_DTMF_TONE_STOPPED             ((gint)0x0000000E)
-#define TMS_EVENT_INBAND_TONE_STARTED           ((gint)0x0000000F)
-#define TMS_EVENT_INBAND_TONE_STOPPED           ((gint)0x00000010)
+#define TMS_EVENT_SOURCE_FILL_BUFFER            ((gint)0x00000001)
+#define TMS_EVENT_SOURCE_PROCESSED_BUFFER       ((gint)0x00000002)
+#define TMS_EVENT_SINK_PROCESS_BUFFER           ((gint)0x00000003)
+#define TMS_EVENT_EFFECT_VOL_CHANGED            ((gint)0x00000004)
+#define TMS_EVENT_EFFECT_GAIN_CHANGED           ((gint)0x00000005)
+#define TMS_EVENT_ROUTING_AVAIL_OUTPUTS_CHANGED ((gint)0x00000006)
+#define TMS_EVENT_ROUTING_OUTPUT_CHANGED        ((gint)0x00000007)
+#define TMS_EVENT_ROUTING_SET_OUTPUT_COMPLETE   ((gint)0x00000008)
 
 // Stream states
 typedef gint TMSStreamState;
@@ -127,14 +119,6 @@
 #define TMS_FORMAT_G729                         ((gint)16)
 #define TMS_FORMAT_ILBC                         ((gint)17)
 
-typedef gint TMSRingToneType;
-#define TMS_RINGTONE_DEFAULT                    ((gint)0)
-#define TMS_RINGTONE_FILE                       ((gint)1)
-#define TMS_RINGTONE_SEQUENCE                   ((gint)2)
-#define TMS_RINGTONE_BEEP_ONCE                  ((gint)3)
-#define TMS_RINGTONE_SILENT                     ((gint)4)
-#define TMS_RINGTONE_UNSECURE_VOIP              ((gint)5)
-
 typedef gint TMSRTPSessionType;
 #define TMS_SESSION_RTP_PULL                    ((gint)0)
 #define TMS_SESSION_RTP_PUSH                    ((gint)1)
@@ -172,18 +156,6 @@
 #define TMS_AUDIO_OUTPUT_ETTY                   ((gint)7)
 #define TMS_AUDIO_OUTPUT_NOT_ACTIVE             ((gint)8)
 
-typedef gint TMSInbandToneType;
-#define TMS_INBAND_USER_BUSY                    ((gint)0)
-#define TMS_INBAND_RADIO_PATH_NOT_AVAIL         ((gint)1)
-#define TMS_INBAND_CONGESTION                   ((gint)2)
-#define TMS_INBAND_SPECIAL_INFO                 ((gint)3)
-#define TMS_INBAND_REORDER                      ((gint)4)
-#define TMS_INBAND_REMOTE_ALEARTING             ((gint)5)
-#define TMS_INBAND_CALL_WAITING                 ((gint)6)
-#define TMS_INBAND_DATA_CALL                    ((gint)7)
-#define TMS_INBAND_NO_SEQUENCE                  ((gint)8)
-#define TMS_INBAND_BEEP_SEQUENCE                ((gint)9)
-
 // Structure signalling callback notifications
 struct TMSSignalEvent
     {
--- a/mmmw_plat/telephony_multimedia_service_api/inc/tmsdtmf.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMS_DTMF_H
-#define TMS_DTMF_H
-
-#include <glib.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSDTMFBody;
-class TMSDTMFObserver;
-
-/**
- * TMSDTMFclass
-*
-* This class provides DTMF playback capability to the TMS clients. Each
-* DTMF player session is associated either with an uplink or downlink stream.
-*
-* @lib tmsapi.lib
-*
-*/
-class TMSDTMF
-    {
-public:
-    /**
-     * Destructor
-     */
-    IMPORT_C virtual ~TMSDTMF();
-
-    /**
-     * Add client as an observer to TMSDTMF events.
-     *
-     * @param  obsrvr
-     *      Observer object to TMSDTMF events.
-     *
-     * @param  user_data
-     *      Any user data passed to the function.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *      TMS_RESULT_ALREADY_EXIST if the obsrvr is already in the list.
-     *
-     */
-    IMPORT_C gint AddObserver(TMSDTMFObserver& obsrvr, gpointer user_data);
-
-    /**
-     * Remove client as an observer to TMSDTMF events.
-     *
-     * @param  obsrvr
-     *      Observer object to TMSDTMF events.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the obsrvr is removed successfully from list.
-     *      TMS_RESULT_DOES_NOT_EXIST if obsrvr is not already in the list.
-     *
-     */
-    IMPORT_C gint RemoveObserver(TMSDTMFObserver& obsrvr);
-
-    /**
-     * Starts DTMF playback. In the case of downlink, the tone will be played
-     * locally. In case of uplink, the network will play tones.
-     *
-     * Common for CS and VOIP (uplink and downlink)
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint Start();
-
-    /**
-     * Stops DTMF playback.
-     * Common for CS and VOIP (Uplink and Downlink).
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint Stop();
-
-    /**
-     * Supply DTMF player with a string of tones to be played on local
-     * playback device or sent via the uplink.
-     *
-     * @param  string
-     *      String containing one or more DTMF digits.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint SetTone(GString* string);
-
-    /**
-     *  Allows a client to continue or cancel the sending of a DTMF string
-     *  when it was stopped by the use of ‘w’ char in the string.
-     *  The client will set sending param to true if it wishes to continue
-     *  the DTMF string sending and will set sending param to false if it
-     *  wishes to discard the rest of the DTMF string.
-     *  Reference: Multimode ETel API Design Document
-     *
-     *  For CS calltype
-     *
-     *  @param  sending
-     *      Boolean to continue sending DTMF string.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint ContinueDTMFStringSending(gboolean sending);
-
-protected:
-
-    /**
-     * Constructor
-     */
-    IMPORT_C TMSDTMF();
-
-protected:
-    TMSDTMFBody* iBody;
-    };
-
-} //namespace TMS
-
-#endif //__TMS_DTMF_H__
-
-// End of file
--- a/mmmw_plat/telephony_multimedia_service_api/inc/tmsdtmfobsrvr.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: This class provides callback mechanism for TMSDTMF listeners.
- *
- */
-
-#ifndef TMS_DTMF_OBSRVR_H
-#define TMS_DTMF_OBSRVR_H
-
-// Include files
-#include <glib.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSDTMF;
-
-/**
- * TMSDTMFObserver class
- *
- * This class provides callback mechanism for TMSDTMF listeners.
- *
- * Client class that wants to receive events from TMS must inherit from
- * TMSDTMFObserver class and register itself with the TMSDTMF object.
- *
- * Functions declared in this class are called upon TMS events.
- *
- * The client must not do any blocking, or perform any CPU-intensive operations
- * in the callback methods. It is recommended that the client saves event data,
- * returns from this function immediately and if necessary, responds to
- * the event in asynchronous way.
- *
- * @lib tmsapi.lib
- *
- */
-class TMSDTMFObserver
-    {
-public:
-    /**
-     * Notified events:
-     *  TMS_EVENT_DTMF_TONE_STARTED
-     *  TMS_EVENT_DTMF_TONE_STOPPED
-
-     * @param  dtmf
-     *      Reference to the object that is being signaled.
-     *
-     * @param  event
-     *      Event descriptor.
-     */
-    virtual void DTMFEvent(const TMSDTMF& dtmf, TMSSignalEvent event) = 0;
-    };
-
-} //namespace TMS
-
-#endif // TMS_DTMF_OBSRVR_H
-
-// End of file
--- a/mmmw_plat/telephony_multimedia_service_api/inc/tmsfactory.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/inc/tmsfactory.h	Wed Sep 01 12:23:00 2010 +0100
@@ -18,7 +18,6 @@
 #ifndef TMS_FACTORY_H
 #define TMS_FACTORY_H
 
-#include <w32std.h>
 #include <tms.h>
 
 namespace TMS {
@@ -33,10 +32,6 @@
 class TMSFactoryImpl;
 class TMSVer;
 class TMSGlobalRouting;
-class TMSDTMF;
-class TMSRTPSession;
-class TMSRingTone;
-class TMSInbandTone;
 
 /**
  * TMSFactory class
@@ -356,145 +351,6 @@
      */
     IMPORT_C gint DeleteGlobalRouting(TMSGlobalRouting*& globrouting);
 
-    /**
-     * Create DTMF player object.
-     *
-     * @param  streamtype
-     *     Stream ID to be used to create the DTMF player.
-     *     TMS_STREAM_UPLINK
-     *     TMS_STREAM_DOWNLINK
-     *
-     * @param  dtmf
-     *      Created DTMF player.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *      TMS_RESULT_INSUFFICIENT_MEMORY if DTMF player creation failed due
-     *      to insufficient memory.
-     *      TMS_RESULT_FATAL_ERROR if an error occured.
-     *      TMS_REASON_EMERGENCY_CALL_ONGOING if emergency call is active.
-     *      TMS_REASON_PERMISSION_DENIED if permission is denied.
-     *
-     */
-    IMPORT_C gint CreateDTMF(TMSStreamType streamtype, TMSDTMF*& dtmf);
-
-    /**
-     * Delete DTMF player object.
-     *
-     * @param  dtmf
-     *      DTMF player to be deleted.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *      TMS_RESULT_INVALID_ARGUMENT if the DTMF player is not valid.
-     *
-     */
-    IMPORT_C gint DeleteDTMF(TMSDTMF*& dtmf);
-
-    /**
-     * FEATURE IS CURRENTLY NOT SUPPORTED
-     *
-     * Creates TMSRTPSession object.
-     *
-     * @param  rtpsession
-     *      RTP Session object to be created.
-     *
-     * @param  sdp
-     *      Session description protocol message.
-     *
-     * @param  mode
-     *      Buffer processing mode: either PULL or PUSH.
-     *
-     * @return
-     *      TMS_RESULT_FEATURE_NOT_SUPPORTED
-     */
-    IMPORT_C gint CreateRTPSession(TMSRTPSession*& rtpsession, guint8* sdp,
-            guint mode);
-
-    /**
-     * FEATURE IS CURRENTLY NOT SUPPORTED
-     *
-     * Deletes TMSRTPSession object.
-     *
-     * @param  rtpsession
-     *      RTP Session object to be deleted.
-     *
-     * @return
-     *      TMS_RESULT_FEATURE_NOT_SUPPORTED
-     */
-    IMPORT_C gint DeleteRTPSession(TMSRTPSession*& rtpsession);
-
-    /**
-     * Creates TMSRingTone player object for audio ring tone.
-     *
-     * @param  rt
-     *      RingTone player object to be created.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS when object is created successfully.
-     *      TMS_RESULT_INSUFFICIENT_MEMORY when object creation failed due to
-     *      insufficient memory.
-     */
-    IMPORT_C gint CreateRingTonePlayer(TMSRingTone*& rt);
-
-    /**
-     * Creates TMSRingTone player object for video ring tone.
-     *
-     * @param  rt
-     *      Video RingTone player object to be created.
-     *
-     * @param window
-     *      A handle to window to which video should be rendered.
-     *
-     * @param scrid
-     *      An ID of the screen to which video should be rendered.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS when object is created successfully.
-     *      TMS_RESULT_INSUFFICIENT_MEMORY when object creation failed due to
-     *      insufficient memory.
-     */
-    IMPORT_C gint CreateRingTonePlayer(TMSRingTone*& rt, RWindow& window,
-            gint scrid);
-
-    /**
-     * Deletes TMSRingTone object.
-     *
-     * @param  rt
-     *      RingTone player object to be deleted.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS when object is deleted successfully.
-     *      TMS_RESULT_INVALID_ARGUMENT if RingTone player object is invalid.
-     */
-    IMPORT_C gint DeleteRingTonePlayer(TMSRingTone*& rt);
-
-    /**
-     * Creates TMSInbandTone player object.
-     *
-     * @param  inbandtone
-     *      InbandTone player object to be created.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS when object is created successfully.
-     *      TMS_RESULT_INSUFFICIENT_MEMORY when object creation failed due to
-     *      insufficient memory.
-     */
-    IMPORT_C gint CreateInbandTonePlayer(TMSInbandTone*& inbandtone);
-
-    /**
-     * Deletes TMSInbandTone object.
-     *
-     * @param  inbandtone
-     *      InbandTone player object to be deleted.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS when object is deleted successfully.
-     *      TMS_RESULT_INVALID_ARGUMENT if InbandTone player object is invalid.
-     */
-    IMPORT_C gint DeleteInbandTonePlayer(TMSInbandTone*& inbandtone);
 
 private:
     /**
--- a/mmmw_plat/telephony_multimedia_service_api/inc/tmsinbandtone.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMS_INBAND_TONE_H
-#define TMS_INBAND_TONE_H
-
-#include <tms.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSInbandToneBody;
-class TMSInbandToneObserver;
-
-/**
- * TMSInbandTone class
-*
-* This class provides Inband tone playback capability to the TMS clients.
-*
-* @lib tmsapi.lib
-*
-*/
-class TMSInbandTone
-    {
-public:
-    /**
-     * Destructor
-     */
-    IMPORT_C virtual ~TMSInbandTone();
-
-    /**
-     * Add client as an observer to TMSInbandTone events.
-     *
-     * @param  obsrvr
-     *      Observer object to TMSInbandTone events.
-     *
-     * @param  user_data
-     *      Any user data passed to the function.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *      TMS_RESULT_ALREADY_EXIST if the obsrvr is already in the list.
-     *
-     */
-    IMPORT_C gint AddObserver(TMSInbandToneObserver& obsrvr, gpointer user_data);
-
-    /**
-     * Remove client as an observer to TMSInbandTone events.
-     *
-     * @param  obsrvr
-     *      Observer object to TMSInbandTone events.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the obsrvr is removed successfully from list.
-     *      TMS_RESULT_DOES_NOT_EXIST if obsrvr is not already in the list.
-     *
-     */
-    IMPORT_C gint RemoveObserver(TMSInbandToneObserver& obsrvr);
-
-    /**
-     * Starts the inband tone playback. The inband volume will correspond to
-     * the current downlink volume level.
-     *
-     * For CS calltype.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint Start(TMSInbandToneType inbandtonetype);
-
-    /**
-     * Stops the inband tone playback.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint Stop();
-
-
-protected:
-
-    /**
-     * Constructor
-     */
-    IMPORT_C TMSInbandTone();
-
-protected:
-    TMSInbandToneBody* iBody;
-    };
-
-} //namespace TMS
-
-#endif //__TMS_INBAND_TONE_H__
-
-// End of file
--- a/mmmw_plat/telephony_multimedia_service_api/inc/tmsinbandtoneobsrvr.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: This class provides callback mechanism for TMSInbandTone
- * listeners.
- *
- */
-
-#ifndef TMS_INBAND_OBSRVR_H
-#define TMS_INBAND_OBSRVR_H
-
-// Include files
-#include <tms.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSInbandTone;
-
-/**
- * TMSInbandToneObserver class
- *
- * This class provides callback mechanism for TMSInbandTone listeners.
- *
- * Client class that wants to receive events from TMS must inherit from
- * TMSInbandToneObserver class and register itself with the TMSInbandTone object.
- *
- * Functions declared in this class are called upon TMS events.
- *
- * The client must not do any blocking, or perform any CPU-intensive operations
- * in the callback methods. It is recommended that the client saves event data,
- * returns from this function immediately and if necessary, responds to
- * the event in asynchronous way.
- *
- * @lib tmsapi.lib
- *
- */
-
-class TMSInbandToneObserver
-    {
-public:
-    /**
-     * Notified events:
-     *  TMS_EVENT_INBAND_TONE_STARTED
-     *  TMS_EVENT_INBAND_TONE_STOPPED
-
-     * @param  inbandtone
-     *      Reference to the object that is being signaled.
-     *
-     * @param  event
-     *      Event descriptor.
-     */
-    virtual void InbandToneEvent(const TMSInbandTone& inbandtone,
-            TMSSignalEvent event) = 0;
-    };
-
-} //namespace TMS
-
-#endif // TMS_INBAND_OBSRVR_H
-
-// End of file
--- a/mmmw_plat/telephony_multimedia_service_api/inc/tmsringtone.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMS_RINGTONE_H
-#define TMS_RINGTONE_H
-
-#include <tms.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSRingToneImpl;
-class TMSRingToneBody;
-class TMSRingToneObserver;
-
-/**
- * TMSRingTone class
- *
- * This class provides ring tone playback capability to the TMS clients.
- *
- * @lib tmsapi.lib
- *
- */
-class TMSRingTone
-    {
-public:
-    /**
-     * Destructor
-     */
-    IMPORT_C virtual ~TMSRingTone();
-
-    /**
-     * Add client as an observer to TMSRingTone events.
-     *
-     * @param  obsrvr
-     *      Observer object to TMSRingTone events.
-     *
-     * @param  user_data
-     *      Any user data passed to the function.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *      TMS_RESULT_ALREADY_EXIST if the obsrvr is already in the list.
-     *
-     */
-    IMPORT_C gint AddObserver(TMSRingToneObserver& obsrvr, gpointer user_data);
-
-    /**
-     * Remove client as an observer to TMSRingTone events.
-     *
-     * @param  obsrvr
-     *      Observer object to TMSRingTone events.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the obsrvr is removed successfully from list.
-     *      TMS_RESULT_DOES_NOT_EXIST if obsrvr is not already in the list.
-     *
-     */
-    IMPORT_C gint RemoveObserver(TMSRingToneObserver& obsrvr);
-
-    /**
-     * Init ring tone player to play supplied content based on its type.
-     *
-     * @param  type
-     *      Type of the content descriptor. Allowed types:
-     *          - TMS_RINGTONE_DEFAULT - use RT from current Profile
-     *          - TMS_RINGTONE_FILE  - A/V File
-     *          - TMS_RINGTONE_SEQUENCE - RNG sequence in the descriptor format
-     *          - TMS_RINGTONE_BEEP_ONCE - play a beep
-     *          - TMS_RINGTONE_SILENT - play silent tone
-     *          - TMS_RINGTONE_UNSECURE_VOIP - play tone for uncecure VoIP call
-     *
-     * @param  str
-     *      Content descriptor to play. String containing one of the following:
-     *          - File with folder name
-     *          - Nokia ring tone sequence in a descriptor format
-     *          - NULL - Will use current Profile.
-     *
-     * @param  tts
-     *      Text to be played. When added it will be played along with the
-     *      tone. TTS can only be played with TMS_RINGTONE_DEFAULT and
-     *      TMS_RINGTONE_FILE. Parameter will be ignored for all other types.
-     *          - NULL - Will use current Profile TTS setting - caller's name
-     *            will be played from the phone book (if available).
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint Init(const TMSRingToneType type = TMS_RINGTONE_DEFAULT,
-            GString* str = NULL, GString* tts = NULL);
-
-    /**
-     * Deinit ring tone player.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint Deinit();
-
-    /**
-     * Start ring tone playback.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint Play();
-
-    /**
-     * Stop ring tone playback.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint Stop();
-
-    /**
-     * Pause video ring tone playback.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint Pause();
-
-    /**
-     * Mute ring tone playback.
-     *
-     * @return
-     *      TMS_RESULT_SUCCESS if the operation was successful otherwise
-     *      system error.
-     *
-     */
-    IMPORT_C gint Mute();
-
-protected:
-    /**
-     * Constructor
-     */
-    IMPORT_C TMSRingTone();
-
-protected:
-    TMSRingToneBody *iBody;
-    };
-
-} //namespace TMS
-
-#endif //TMS_RINGTONE_H
-
-// End of file
-
--- a/mmmw_plat/telephony_multimedia_service_api/inc/tmsringtoneobsrvr.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: This class provides callback mechanism for TMSRingTone
- * listeners.
- *
- */
-
-#ifndef TMS_RINGTONE_OBSRVR_H
-#define TMS_RINGTONE_OBSRVR_H
-
-// Include files
-#include <tms.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSRingTone;
-
-/**
- * TMSRingToneObserver class
- *
- * This class provides callback mechanism for TMSRingTone listeners.
- *
- * @lib tmsapi.lib
- *
- */
-class TMSRingToneObserver
-    {
-public:
-    /**
-     * This method is called when TMSRingTone event occurs.
-     *
-     * Notified events:
-     *  TMS_EVENT_RINGTONE_OPEN_COMPLETE
-     *  TMS_EVENT_RINGTONE_PLAY_COMPLETE
-     *
-     * @param  rt
-     *      Reference to the object that is being signaled.
-     *
-     * @param  event
-     *      Event descriptor.
-     *
-     */
-    virtual void RingtoneEvent(const TMSRingTone& rt,
-            TMSSignalEvent event) = 0;
-    };
-
-} //namespace TMS
-
-#endif //TMS_RINGTONE_OBSRVR_H
-
-// End of file
--- a/mmmw_plat/telephony_multimedia_service_api/inc/tmsstream.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/inc/tmsstream.h	Wed Sep 01 12:23:00 2010 +0100
@@ -429,15 +429,6 @@
      *      IP call: UPL: mic source, codec format and client sink
      *      IP call: DNL: client source, codec format and speaker sink
      *
-     * @param  retrytime
-     *      Indicates (in seconds) for how long TMS should retry stream
-     *      initialization in case of an error. When stream initialization
-     *      fails within specified retry time, TMS will return
-     *      TMS_EVENT_STREAM_STATE_CHANGE_ERROR. If set to 0, TMS will return
-     *      TMS_EVENT_STREAM_STATE_CHANGE_ERROR immediately without retrying.
-     *      If set to -1, TMS will keep retrying until user cancels by calling
-     *      either Stop() or Deinit().
-     *
      * @return
      *      Common return codes:
      *      TMS_RESULT_SUCCESS if stream transitioned to the initialized state.
@@ -449,7 +440,7 @@
      *      element attached to it.
      *
      */
-    IMPORT_C gint Init(gint retrytime = 0);
+    IMPORT_C gint Init();
 
     /**
      * Trigger stream to transition to the paused state.
@@ -491,15 +482,6 @@
      * Upon stream's successful transition to the started state, the stream will
      * be in the TMS_STREAM_STARTED state.
      *
-     * @param  retrytime
-     *      Indicates (in seconds) for how long TMS should attempt to start
-     *      a stream in case of an error. When stream starting fails within
-     *      specified retry time, TMS will return
-     *      TMS_EVENT_STREAM_STATE_CHANGE_ERROR. If set to 0, TMS will return
-     *      TMS_EVENT_STREAM_STATE_CHANGE_ERROR immediately without retrying.
-     *      If set to -1, TMS will keep retrying until user cancels by calling
-     *      either Stop() or Deinit().
-     *
      * @return
      *      Common return codes:
      *      TMS_RESULT_SUCCESS if stream successfully transitioned to the
@@ -508,7 +490,7 @@
      *      TMS_STREAM_INITIALIZED or TMS_STREAM_STARTED state.
      *
      */
-    IMPORT_C gint Start(gint retrytime = 0);
+    IMPORT_C gint Start();
 
     /**
      * Trigger stream to transition to the initialized state.
--- a/mmmw_plat/telephony_multimedia_service_api/tsrc/Conf/TMSAudioServicesTestClass.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/tsrc/Conf/TMSAudioServicesTestClass.cfg	Wed Sep 01 12:23:00 2010 +0100
@@ -1702,407 +1702,3 @@
 delete Tms
 [Endtest]
 
-[Test]
-title  10. TMSRingTone - 01. CreateRingTonePlayer
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateRingTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  10. TMSRingTone - 02. InitRingTonePlayer - Default
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateRingTonePlayer
-Tms InitRingTonePlayer RTDefault
-waittestclass Tms
-Tms CloseRingTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  10. TMSRingTone - 03. InitRingTonePlayer - File
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateRingTonePlayer
-Tms InitRingTonePlayer RTFile
-waittestclass Tms
-Tms CloseRingTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  10. TMSRingTone - 04. PlayRingTone - Default
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateRingTonePlayer
-Tms InitRingTonePlayer RTDefault
-waittestclass Tms
-Tms PlayRingTone
-waittestclass Tms
-Tms StopRingTone
-Tms CloseRingTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  10. TMSRingTone - 05. PlayRingTone - File
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateRingTonePlayer
-Tms InitRingTonePlayer RTFile
-waittestclass Tms
-Tms PlayRingTone
-waittestclass Tms
-Tms MuteRingTone
-Tms CloseRingTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  10. TMSRingTone - 06. PlayRingTone - BeepOnce
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateRingTonePlayer
-Tms InitRingTonePlayer RTBeepOnce
-waittestclass Tms
-Tms PlayRingTone
-waittestclass Tms
-Tms CloseRingTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  10. TMSRingTone - 07. PlayRingTone - Silent
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateRingTonePlayer
-Tms InitRingTonePlayer RTSilent
-waittestclass Tms
-Tms PlayRingTone
-waittestclass Tms
-Tms StopRingTone
-Tms CloseRingTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  10. TMSRingTone - 08. PlayRingTone - UnsecureVoIP
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateRingTonePlayer
-Tms InitRingTonePlayer RTUnsecureVoIP
-waittestclass Tms
-Tms PlayRingTone
-waittestclass Tms
-Tms MuteRingTone
-Tms CloseRingTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  10. TMSRingTone - 09. PlayRingTone - Sequence
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateRingTonePlayer
-Tms InitRingTonePlayer RTSequence
-waittestclass Tms
-Tms PlayRingTone
-waittestclass Tms
-Tms CloseRingTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  10. TMSRingTone - 10. PlayRingTone - TTS
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateRingTonePlayer
-Tms InitRingTonePlayer RTTts
-waittestclass Tms
-Tms PlayRingTone
-waittestclass Tms
-Tms CloseRingTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  10. TMSRingTone - 11. PlayRingTone - Play BKP tone
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateRingTonePlayer
-Tms InitRingTonePlayer RTSequence
-waittestclass Tms
-Tms PlayRingToneNoEvent
-Tms PauseRingTone   //will cancel sequence RT
-Tms PlayRingTone    //will play default RT
-waittestclass Tms
-Tms CloseRingTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  11. TMSInbandTone - 01. CreateInbandTonePlayer
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateInbandTonePlayer
-Tms CloseInbandTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  11. TMSInbandTone - 02. StartInbandTone - UserBusy
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateInbandTonePlayer
-Tms StartInbandTone UserBusy
-waittestclass Tms
-Tms StopInbandTone
-Tms CloseInbandTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  11. TMSInbandTone - 03. StartInbandTone - RadioPathNotFound
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateInbandTonePlayer
-Tms StartInbandTone RadioPathNotFound
-waittestclass Tms
-Tms StopInbandTone
-Tms CloseInbandTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  11. TMSInbandTone - 04. StartInbandTone - Congestion
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateInbandTonePlayer
-Tms StartInbandTone Congestion
-waittestclass Tms
-Tms StopInbandTone
-Tms CloseInbandTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  11. TMSInbandTone - 05. StartInbandTone - SpecialInfo
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateInbandTonePlayer
-Tms StartInbandTone SpecialInfo
-waittestclass Tms
-Tms StopInbandTone
-Tms CloseInbandTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  11. TMSInbandTone - 06. StartInbandTone - Reorder
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateInbandTonePlayer
-Tms StartInbandTone Reorder
-waittestclass Tms
-Tms StopInbandTone
-Tms CloseInbandTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  11. TMSInbandTone - 07. StartInbandTone - Alerting
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateInbandTonePlayer
-Tms StartInbandTone Alerting
-waittestclass Tms
-Tms StopInbandTone
-Tms CloseInbandTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  11. TMSInbandTone - 08. StartInbandTone - Waiting
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateInbandTonePlayer
-Tms StartInbandTone Waiting
-waittestclass Tms
-Tms StopInbandTone
-Tms CloseInbandTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  11. TMSInbandTone - 09. StartInbandTone - DataCall
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateInbandTonePlayer
-Tms StartInbandTone DataCall
-waittestclass Tms
-Tms StopInbandTone
-Tms CloseInbandTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  11. TMSInbandTone - 10. StartInbandTone - NoSequence
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateInbandTonePlayer
-Tms StartInbandTone NoSequence
-waittestclass Tms
-Tms StopInbandTone
-Tms CloseInbandTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  11. TMSInbandTone - 11. StartInbandTone - BeepSequence
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateInbandTonePlayer
-Tms StartInbandTone BeepSequence
-waittestclass Tms
-Tms StopInbandTone
-Tms CloseInbandTonePlayer
-delete Tms
-[Endtest]
-
-[Test]
-title  12. TMSDTMFTone - 01. CreateDTMFTonePlayer Dnlink
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateDTMFTonePlayer Dnlink
-Tms CloseDTMFPlayer Dnlink
-delete Tms
-[Endtest]
-
-[Test]
-title  12. TMSDTMFTone - 02. CreateDTMFTonePlayer Uplink
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateDTMFTonePlayer Uplink
-Tms CloseDTMFPlayer Uplink
-delete Tms
-[Endtest]
-
-[Test]
-title  12. TMSDTMFTone - 03. DTMFTonePlay - Dnlink IP
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateCall 2
-Tms CreateDownlinkStream
-Tms CreateFormat PCM16 Dnlink
-Tms SetDownlinkFormat
-Tms CreateSource 3  //CLIENT
-Tms AddSourceObserver
-Tms AddClientSrcToDnlStream
-Tms CreateSink 8    //SPKR
-Tms AddSinkObserver
-Tms AddSpkrSinkToDnlStream
-Tms OpenDownlink
-waittestclass Tms
-Tms CreateDTMFTonePlayer Dnlink
-Tms DTMFTonePlay Dnlink
-waittestclass Tms
-Tms StopDTMFTonePlayer Dnlink
-Tms CloseDTMFPlayer Dnlink
-Tms RemoveSinkObserver
-Tms RemoveSourceObserver
-//Client must call DeInit() otherwise return TMS_RESULT_INVALID_STATE
-allownextresult TMS_RESULT_INVALID_STATE
-Tms RemoveClientSrcFromDnlStream
-//Client must call DeInit() otherwise return TMS_RESULT_INVALID_STATE
-allownextresult TMS_RESULT_INVALID_STATE
-Tms RemoveSpkrSinkFromDnlStream
-Tms Close Dnlink
-delete Tms
-[Endtest]
-
-[Test]
-title  12. TMSDTMFTone - 04. DTMFTonePlay - Uplink IP
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateCall 2
-Tms CreateUplinkStream
-Tms CreateFormat PCM16
-Tms SetUplinkFormat
-Tms CreateSource 5  //MIC
-Tms AddMicSrcToUplStream
-Tms CreateSink 6    //CLIENT
-Tms AddClientSinkToUplStream
-Tms OpenUplink
-waittestclass Tms
-Tms CreateDTMFTonePlayer Uplink
-allownextresult TMS_RESULT_FEATURE_NOT_SUPPORTED
-Tms ContinueDTMFStringSending Uplink
-Tms DTMFTonePlay Uplink
-waittestclass Tms
-Tms StopDTMFTonePlayer Uplink
-Tms CloseDTMFPlayer Uplink
-//Client must call DeInit() otherwise return TMS_RESULT_INVALID_STATE
-allownextresult TMS_RESULT_INVALID_STATE
-Tms RemoveMicSrcFromUplStream
-//Client must call DeInit() otherwise return TMS_RESULT_INVALID_STATE
-allownextresult TMS_RESULT_INVALID_STATE
-Tms RemoveClientSinkFromUplStream
-Tms Close Uplink
-delete Tms
-[Endtest]
-
-[Test]
-title  12. TMSDTMFTone - 05. DTMFTonePlay - Dnlink CS
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateCall 0    //CS
-Tms CreateDownlinkStream
-Tms CreateSource 4  //MODEM
-Tms AddModemSrcToDnlStream
-Tms CreateSink 8    //SPKR
-Tms AddSpkrSinkToDnlStream
-Tms OpenDownlink
-waittestclass Tms
-Tms CreateDTMFTonePlayer Dnlink
-Tms DTMFTonePlay Dnlink
-waittestclass Tms
-Tms StopDTMFTonePlayer Dnlink
-Tms CloseDTMFPlayer Dnlink
-//Client must call DeInit() otherwise return TMS_RESULT_INVALID_STATE
-allownextresult TMS_RESULT_INVALID_STATE
-Tms RemoveModemSrcFromDnlStream
-//Client must call DeInit() otherwise return TMS_RESULT_INVALID_STATE
-allownextresult TMS_RESULT_INVALID_STATE
-Tms RemoveSpkrSinkFromDnlStream
-Tms Close Dnlink
-delete Tms
-[Endtest]
-
-[Test]
-title  12. TMSDTMFTone - 06. DTMFTonePlay - Uplink CS
-create TmsAudioServicesTestClass Tms
-Tms CreateFactory
-Tms CreateCall 0    //CS
-Tms CreateUplinkStream
-Tms CreateSource 5  //MIC
-Tms AddMicSrcToUplStream
-Tms CreateSink 7    //MODEM
-Tms AddModemSinkToUplStream
-Tms OpenUplink
-waittestclass Tms
-Tms CreateDTMFTonePlayer Uplink
-Tms DTMFTonePlay Uplink
-waittestclass Tms
-Tms StopDTMFTonePlayer Uplink
-Tms CloseDTMFPlayer Uplink
-//Client must call DeInit() otherwise return TMS_RESULT_INVALID_STATE
-allownextresult TMS_RESULT_INVALID_STATE
-Tms RemoveMicSrcFromUplStream
-//Client must call DeInit() otherwise return TMS_RESULT_INVALID_STATE
-allownextresult TMS_RESULT_INVALID_STATE
-Tms RemoveModemSinkFromUplStream
-Tms Close Uplink
-delete Tms
-[Endtest]
--- a/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/group/TmsAudioServicesTestClass.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/group/TmsAudioServicesTestClass.pkg	Wed Sep 01 12:23:00 2010 +0100
@@ -32,7 +32,7 @@
 "/epoc32/release/armv5/urel/TmsAudioServicesTestClass.dll" - "c:/Sys/Bin/TmsAudioServicesTestClass.dll"
 ; If installation process fails, exclude testframework.ini from the sis file and
 ; copy manually.
-;"../../init/TestFramework.ini"-"c:/Testframework/TestFramework.ini"
+"../../init/TestFramework.ini"-"c:/Testframework/TestFramework.ini"
 "../../init/TmsAudioServicesTestClass.ini"-"c:/Testframework/TmsAudioServicesTestClass.ini"
 "../../Conf/TMSAudioServicesTestClass.cfg"-"c:/Testframework/TMSAudioServicesTestClass.cfg"
 
--- a/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/inc/TMSAudioServicesTestClass.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/inc/TMSAudioServicesTestClass.h	Wed Sep 01 12:23:00 2010 +0100
@@ -49,12 +49,6 @@
 #include <tmsilbcformat.h>
 #include <tmspcmformat.h>
 #include <tmsamrformat.h>
-#include <tmsdtmf.h>
-#include <tmsdtmfobsrvr.h>
-#include <tmsringtone.h>
-#include <tmsringtoneobsrvr.h>
-#include <tmsinbandtone.h>
-#include <tmsinbandtoneobsrvr.h>
 
 #include "TimeoutController.h"
 
@@ -67,7 +61,6 @@
 const TInt KErrUnexpectedValue = -2002; // Unexpected value at setting
 const TInt KErrTimeoutController = -2007; // Unexpected notification
 
-const TInt KMicroTimeout = 1000;
 const TInt KShortTimeout = 2000;
 const TInt KMediumTimeout = 10000;
 const TInt KLongTimeout = 100000;
@@ -110,43 +103,19 @@
 _LIT( KTagPublic, "Public");
 _LIT( KTagPrivate, "Private");
 
-_LIT( KTagRTDefault, "RTDefault");
-_LIT( KTagRTFile, "RTFile");
-_LIT( KTagRTBeepOnce, "RTBeepOnce");
-_LIT( KTagRTSilent, "RTSilent");
-_LIT( KTagRTUnsecureVoIP, "RTUnsecureVoIP");
-_LIT( KTagRTSequence, "RTSequence");
-_LIT( KTagRTTts, "RTTts");
-
-_LIT( KTagUserBusy, "UserBusy" );
-_LIT( KTagRadioPathNotFound, "RadioPathNotFound" );
-_LIT( KTagCongestion, "Congestion" );
-_LIT( KTagSpecialInfo, "SpecialInfo" );
-_LIT( KTagReorder, "Reorder" );
-_LIT( KTagAlerting, "Alerting" );
-_LIT( KTagWaiting, "Waiting" );
-_LIT( KTagDataCall, "DataCall" );
-_LIT( KTagNoSequence, "NoSequence" );
-_LIT( KTagBeepSequence, "BeepSequence" );
-
 // MACROS
 
 #ifdef __WINSCW__
 _LIT( KTmsAudioServicesTestClassLogPath, "\\logs\\testframework\\" );
 _LIT16(KTestFile1, "\\testing\\data\\alarm 1.aac");
 _LIT16(KTestFile2, "\\testing\\data\\alarm.aac");
-//_LIT16(KTestFile3, "\\testing\\data\\test_8khz.wav");
-_LIT16(KTestFile3, "c:\\data\\sounds\\digital\\test_8khz.wav");
+_LIT16(KTestFile3, "\\testing\\data\\test_8khz.wav");
 #else
 _LIT( KTmsAudioServicesTestClassLogPath, "c:\\testing\\Log\\" );
 _LIT16(KTestFile1, "c:\\testing\\data\\alarm 1.aac");
 _LIT16(KTestFile2, "c:\\testing\\data\\alarm.aac");
-//_LIT16(KTestFile3, "c:\\testing\\data\\test_8khz.wav");
-_LIT16(KTestFile3, "c:\\data\\sounds\\digital\\test_8khz.wav");
+_LIT16(KTestFile3, "c:\\testing\\data\\test_8khz.wav");
 #endif
-_LIT8(KRTBeepSequence, "\x00\x11\x0A\x0A\x08\x73\x0A\x40\x28\x0A\xF7\
-\x05\xFC\x40\x64\x0A\x08\x40\x32\x0A\xF7\x06\x0B");
-_LIT16(KTextToSpeak, "THE PHONE IS RINGING");
 
 // Log file
 _LIT( KTmsAudioServicesTestClassLogFile, "CTmsAudioServicesTestClass.txt" );
@@ -178,10 +147,7 @@
     public TMSClientSourceObserver,
     public TMSClientSinkObserver,
     public TMSEffectObserver,
-    public TMSGlobalRoutingObserver,
-    public TMSRingToneObserver,
-    public TMSDTMFObserver,
-    public TMSInbandToneObserver
+    public TMSGlobalRoutingObserver
     {
     enum StreamState
         {
@@ -219,13 +185,6 @@
         EFillBuffer,
         EOutputChanged,
         ESetOutputComplete,
-        ERTInitComplete,
-        ERTPlayComplete,
-        ERTDeinitComplete,
-        EInbToneStarted,
-        EInbToneStopped,
-        EDTMFToneStarted,
-        EDTMFToneStopped
         };
 
 public:
@@ -265,15 +224,6 @@
     void GlobalRoutingEvent(const TMSGlobalRouting& /*routing*/,
             TMSSignalEvent event, TMSAudioOutput output);
 
-    // from TMSRingToneObserver
-    void RingtoneEvent(const TMSRingTone& rt, TMSSignalEvent event);
-
-    // from TMSDTMFObserver
-    void DTMFEvent(const TMSDTMF& dtmf, TMSSignalEvent event);
-
-    // from TMSInbandToneObserver
-    void InbandToneEvent(const TMSInbandTone& inbandtone, TMSSignalEvent event);
-
 private:
 
     /**
@@ -397,25 +347,6 @@
     TInt Gain(CStifItemParser& aItem);
     TInt Volume(CStifItemParser& aItem);
 
-    TInt CreateDTMFTonePlayer(CStifItemParser& aItem);
-    TInt DTMFTonePlay(CStifItemParser& aItem);
-    TInt StopDTMFTonePlayer(CStifItemParser& aItem);
-    TInt ContinueDTMFStringSending(CStifItemParser& aItem);
-    TInt CloseDTMFPlayer(CStifItemParser& aItem);
-
-    TInt CreateRingTonePlayer(CStifItemParser& aItem);
-    TInt InitRingTonePlayer(CStifItemParser& aItem);
-    TInt PlayRingTone(CStifItemParser& aItem);
-    TInt PlayRingToneNoEvent(CStifItemParser& aItem);
-    TInt PauseRingTone(CStifItemParser& aItem); //IP video call only (10.2)
-    TInt StopRingTone(CStifItemParser& aItem);
-    TInt MuteRingTone(CStifItemParser& aItem);
-    TInt CloseRingTonePlayer(CStifItemParser& aItem);
-
-    TInt CreateInbandTonePlayer(CStifItemParser& aItem);
-    TInt StartInbandTone(CStifItemParser& aItem);
-    TInt StopInbandTone(CStifItemParser& aItem);
-    TInt CloseInbandTonePlayer(CStifItemParser& aItem);
 
     //  TInt GetSupportedBitrates( CStifItemParser& aItem );
 
@@ -489,10 +420,6 @@
     TMSStream* iTmsDnlink;
     TMSCall* iTmsCall;
     TMSStream* iTmsUplink;
-    TMSDTMF* iDTMFTonePlayerDn;
-    TMSDTMF* iDTMFTonePlayerUp;
-    TMSRingTone* iRingTonePlayer;
-    TMSInbandTone* iInbandTonePlayer;
     TMSAudioOutput iDevice;
 
     // Codec format APIs
@@ -539,10 +466,6 @@
     TBool iPlayBufReady;
     TBool iRecBufReady;
 
-    // For ring tone playback
-    GString* iRTStr;
-    GString* iTTSStr;
-
     // Active object with a timer to timeout the test case
     CSimpleTimeout * iTimeoutController;
 
@@ -556,6 +479,7 @@
     RArray<TTmsExpectedEvent> iOcurredEvents;
 
     CActiveSchedulerWait* iActive;
+
     };
 
 #endif //__TMSAUDIOSERVICESTESTCLASS_H
Binary file mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/sis/TmsAudioServicesTestClass.sis has changed
Binary file mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/sis/TmsAudioServicesTestClass.sisx has changed
--- a/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/src/TmsAudioServicesTestClassBlocks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/src/TmsAudioServicesTestClassBlocks.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -116,11 +116,6 @@
     iLog->Log(_L(""));
     iLog->Log(_L(""));
 
-    delete iRingTonePlayer;
-    delete iDTMFTonePlayerDn;
-    delete iDTMFTonePlayerUp;
-    delete iInbandTonePlayer;
-
     // delete iPlayBuf;
 
     if (iTmsDnlink)
@@ -197,23 +192,6 @@
         ENTRY( "GetBitRateList", CTmsAudioServicesTestClass::GetBitRateList ),
         ENTRY( "SetBitrates", CTmsAudioServicesTestClass::SetBitrates ),
         ENTRY( "GetBitrates", CTmsAudioServicesTestClass::GetBitrates ),
-        ENTRY( "CreateDTMFTonePlayer", CTmsAudioServicesTestClass::CreateDTMFTonePlayer ),
-        ENTRY( "DTMFTonePlay", CTmsAudioServicesTestClass::DTMFTonePlay ),
-        ENTRY( "StopDTMFTonePlayer", CTmsAudioServicesTestClass::StopDTMFTonePlayer ),
-        ENTRY( "ContinueDTMFStringSending", CTmsAudioServicesTestClass::ContinueDTMFStringSending ),
-        ENTRY( "CloseDTMFPlayer", CTmsAudioServicesTestClass::CloseDTMFPlayer ),
-        ENTRY( "CreateRingTonePlayer", CTmsAudioServicesTestClass::CreateRingTonePlayer ),
-        ENTRY( "InitRingTonePlayer", CTmsAudioServicesTestClass::InitRingTonePlayer ),
-        ENTRY( "PlayRingTone", CTmsAudioServicesTestClass::PlayRingTone ),
-        ENTRY( "PlayRingToneNoEvent", CTmsAudioServicesTestClass::PlayRingToneNoEvent ),
-        ENTRY( "PauseRingTone", CTmsAudioServicesTestClass::PauseRingTone ),
-        ENTRY( "MuteRingTone", CTmsAudioServicesTestClass::MuteRingTone ),
-        ENTRY( "StopRingTone", CTmsAudioServicesTestClass::StopRingTone ),
-        ENTRY( "CloseRingTonePlayer", CTmsAudioServicesTestClass::CloseRingTonePlayer ),
-        ENTRY( "CreateInbandTonePlayer", CTmsAudioServicesTestClass::CreateInbandTonePlayer ),
-        ENTRY( "StartInbandTone", CTmsAudioServicesTestClass::StartInbandTone ),
-        ENTRY( "StopInbandTone", CTmsAudioServicesTestClass::StopInbandTone ),
-        ENTRY( "CloseInbandTonePlayer", CTmsAudioServicesTestClass::CloseInbandTonePlayer ),
         ENTRY( "GetDownlinkVersion", CTmsAudioServicesTestClass::GetDownlinkVersion ),
         ENTRY( "GetUplinkVersion", CTmsAudioServicesTestClass::GetUplinkVersion ),
         ENTRY( "GetType", CTmsAudioServicesTestClass::GetType ),
@@ -280,13 +258,6 @@
         (TText*)L"EFillBuffer",
         (TText*)L"EOutputChanged",
         (TText*)L"ESetOutputComplete",
-        (TText*)L"ERTInitComplete",
-        (TText*)L"ERTPlayComplete",
-        (TText*)L"ERTDeinitComplete",
-        (TText*)L"EInbToneStarted",
-        (TText*)L"EInbToneStopped",
-        (TText*)L"EDTMFToneStarted",
-        (TText*)L"EDTMFToneStopped",
         };
 
     if( (TUint)aKey >= (sizeof( keywords )/sizeof(TText*)) )
@@ -1272,7 +1243,7 @@
             {
             iLog->Log(_L("CTmsAudioServicesTestClass::OpenDownlink - init Downlink"));
             iTmsDnlink->AddObserver(*this, NULL);
-            error = iTmsDnlink->Init(4);
+            error = iTmsDnlink->Init();
             }
 
         if (error != KErrNone)
@@ -1358,7 +1329,7 @@
             {
             iLog->Log(_L("CTmsAudioServicesTestClass::OpenDownlink - init Uplink"));
             iTmsUplink->AddObserver(*this, NULL);
-            error = iTmsUplink->Init(4);
+            error = iTmsUplink->Init();
             }
 
         if (error != KErrNone)
@@ -1460,7 +1431,7 @@
             {
             if ((iUpLinkStatus == INITIALIZED) || (iUpLinkStatus == PAUSED))
                 {
-                iTmsUplink->Start(2);
+                iTmsUplink->Start();
 
                 if (iUpLinkStatus == INITIALIZED)
                     {
@@ -1483,7 +1454,7 @@
             {
             if ((iDnLinkStatus == INITIALIZED) || (iDnLinkStatus == PAUSED))
                 {
-                iTmsDnlink->Start(2);
+                iTmsDnlink->Start();
                 if (iDnLinkStatus == INITIALIZED)
                     {
                     AddExpectedEvent(EFillBuffer, KMediumTimeout);
@@ -2929,509 +2900,6 @@
     return error;
     }
 
-TInt CTmsAudioServicesTestClass::CreateDTMFTonePlayer(CStifItemParser& aItem)
-    {
-    iLog->Log(_L("CTmsAudioServicesTestClass::CreateDTMFTonePlayer"));
-    TInt error = TMS_RESULT_SUCCESS;
-    TPtrC StreamType;
-    error = aItem.GetNextString(StreamType);
-
-    if (error == TMS_RESULT_SUCCESS)
-        {
-        if (StreamType == KTagDnlink)
-            {
-            if (iFactory && !iDTMFTonePlayerDn)
-                {
-                error = iFactory->CreateDTMF(TMS_STREAM_DOWNLINK,
-                        iDTMFTonePlayerDn);
-                error |= iDTMFTonePlayerDn->AddObserver(*this, NULL);
-                }
-            FTRACE(FPrint(_L("CreateDTMF-DNL Error [%d]"), error));
-            }
-        else if (StreamType == KTagUplink)
-            {
-            if (iFactory && !iDTMFTonePlayerUp)
-                {
-                error = iFactory->CreateDTMF(TMS_STREAM_UPLINK,
-                        iDTMFTonePlayerUp);
-                error |= iDTMFTonePlayerUp->AddObserver(*this, NULL);
-                }
-            FTRACE(FPrint(_L("CreateDTMF-UPL Error [%d]"), error));
-            }
-        else
-            {
-            iLog->Log(KMsgBadTestParameters);
-            error = KErrBadTestParameter;
-            }
-        }
-    iLog->Log(_L("CTmsAudioServicesTestClass::CreateDTMFTonePlayer Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::DTMFTonePlay(CStifItemParser& aItem)
-    {
-    FTRACE (FPrint(_L("CTmsAudioServicesTestClass::DTMFTonePlay")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::DTMFTonePlay"));
-    GString* dtmfstring;
-    TInt error = TMS_RESULT_SUCCESS;
-    TPtrC StreamType;
-    error = aItem.GetNextString(StreamType);
-
-    if (error == TMS_RESULT_SUCCESS)
-        {
-        if (StreamType == KTagDnlink)
-            {
-            if (iDTMFTonePlayerDn)
-                {
-                // NOTE: UpLink Status must be READY or STREAMING
-                dtmfstring = g_string_new("4723");
-                dtmfstring = g_string_append_c(dtmfstring, '4');
-                error = iDTMFTonePlayerDn->SetTone(dtmfstring);
-                if (error == TMS_RESULT_SUCCESS)
-                    {
-                    error = iDTMFTonePlayerDn->Start();
-                    }
-                g_string_free(dtmfstring, TRUE);
-                }
-            }
-        else if (StreamType == KTagUplink)
-            {
-            if (iDTMFTonePlayerUp)
-                {
-                // NOTE: UpLink Status must be READY or STREAMING
-                dtmfstring = g_string_new("987");
-                dtmfstring = g_string_append_c(dtmfstring, '4');
-                error = iDTMFTonePlayerUp->SetTone(dtmfstring);
-                if (error == TMS_RESULT_SUCCESS)
-                    {
-                    error = iDTMFTonePlayerUp->Start();
-                    }
-                g_string_free(dtmfstring, TRUE);
-                }
-            }
-        else
-            {
-            iLog->Log(KMsgBadTestParameters);
-            error = KErrBadTestParameter;
-            }
-        }
-
-    if (error == TMS_RESULT_SUCCESS)
-        {
-        AddExpectedEvent(EDTMFToneStopped, KMediumTimeout);
-        }
-
-    iLog->Log(_L("CTmsAudioServicesTestClass::DTMFTonePlay Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::StopDTMFTonePlayer(CStifItemParser& aItem)
-    {
-    FTRACE(FPrint(_L("CTmsAudioServicesTestClass::StopDTMFTonePlayer")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::StopDTMFTonePlay"));
-    TInt error = TMS_RESULT_SUCCESS;
-    TPtrC StreamType;
-    error = aItem.GetNextString(StreamType);
-
-    if (error == TMS_RESULT_SUCCESS)
-        {
-        if (StreamType == KTagDnlink)
-            {
-            if (iFactory && iDTMFTonePlayerDn)
-                {
-                iDTMFTonePlayerDn->Stop();
-                RemoveExpectedEvent(EDTMFToneStopped);
-                }
-            }
-        else if (StreamType == KTagUplink)
-            {
-            if (iFactory && iDTMFTonePlayerUp)
-                {
-                iDTMFTonePlayerUp->Stop();
-                RemoveExpectedEvent(EDTMFToneStopped);
-                }
-            }
-        else
-            {
-            iLog->Log(KMsgBadTestParameters);
-            error = KErrBadTestParameter;
-            }
-        }
-
-    iLog->Log(_L("CTmsAudioServicesTestClass::StopDTMFTonePlayer Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::ContinueDTMFStringSending(
-        CStifItemParser& aItem)
-    {
-    FTRACE(FPrint(_L("CTmsAudioServicesTestClass::ContinueDTMFStringSending")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::ContinueDTMFStringSending"));
-    TInt error = TMS_RESULT_SUCCESS;
-    TPtrC StreamType;
-    error = aItem.GetNextString(StreamType);
-
-    if (error == TMS_RESULT_SUCCESS)
-        {
-        if (StreamType == KTagDnlink)
-            {
-            if (iFactory && iDTMFTonePlayerDn)
-                {
-                //case not supported for DNL, should return valid error
-                error = iDTMFTonePlayerDn->ContinueDTMFStringSending(TRUE);
-                }
-            }
-        else if (StreamType == KTagUplink)
-            {
-            if (iFactory && iDTMFTonePlayerUp)
-                {
-                error = iDTMFTonePlayerUp->ContinueDTMFStringSending(TRUE);
-                }
-            }
-        else
-            {
-            iLog->Log(KMsgBadTestParameters);
-            error = KErrBadTestParameter;
-            }
-        }
-    iLog->Log(_L("CTmsAudioServicesTestClass::ContinueDTMFStringSending Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::CloseDTMFPlayer(CStifItemParser& aItem)
-    {
-    FTRACE(FPrint(_L("CTmsAudioServicesTestClass::CloseDTMFPlayer")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::CloseDTMFPlayer"));
-    TInt error = TMS_RESULT_SUCCESS;
-    TPtrC StreamType;
-    error = aItem.GetNextString(StreamType);
-
-    if (error == TMS_RESULT_SUCCESS)
-        {
-        if (StreamType == KTagDnlink)
-            {
-            if (iFactory && iDTMFTonePlayerDn)
-                {
-                iDTMFTonePlayerDn->RemoveObserver(*this);
-                iFactory->DeleteDTMF(iDTMFTonePlayerDn);
-                }
-            }
-        else if (StreamType == KTagUplink)
-            {
-            if (iFactory && iDTMFTonePlayerUp)
-                {
-                iDTMFTonePlayerUp->RemoveObserver(*this);
-                iFactory->DeleteDTMF(iDTMFTonePlayerUp);
-                }
-            }
-        else
-            {
-            iLog->Log(KMsgBadTestParameters);
-            error = KErrBadTestParameter;
-            }
-        }
-    iLog->Log(_L("CTmsAudioServicesTestClass::StopDTMFTonePlayer Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::CreateRingTonePlayer(
-        CStifItemParser& /*aItem */)
-    {
-    FTRACE(FPrint(_L("CTmsAudioServicesTestClass::CreateRingTonePlayer")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::CreateRingTonePlayer"));
-    TInt error = TMS_RESULT_SUCCESS;
-    if (iFactory)
-        {
-        error = iFactory->CreateRingTonePlayer(iRingTonePlayer);
-        if (error == TMS_RESULT_SUCCESS)
-            {
-            iRingTonePlayer->AddObserver(*this, NULL);
-            }
-        }
-    iLog->Log(_L("CTmsAudioServicesTestClass::CreateRingTonePlayer Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::InitRingTonePlayer(CStifItemParser& aItem)
-    {
-    FTRACE(FPrint(_L("CTmsAudioServicesTestClass::InitRingTonePlayer")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::InitRingTonePlayer"));
-
-    TInt error = TMS_RESULT_SUCCESS;
-    TPtrC StreamType;
-    error = aItem.GetNextString(StreamType);
-
-    if (error == TMS_RESULT_SUCCESS && iRingTonePlayer)
-        {
-        if (StreamType == KTagRTDefault)
-            {
-            error = iRingTonePlayer->Init(TMS_RINGTONE_DEFAULT);
-            }
-        else if (StreamType == KTagRTFile)
-            {
-            TBuf<sizeof(KTestFile3)> buf(KTestFile3);
-            iRTStr = g_string_new_len((gchar*) buf.Ptr(), buf.Length() * 2);
-            error = iRingTonePlayer->Init(TMS_RINGTONE_FILE, iRTStr);
-            g_string_free(iRTStr, TRUE);
-            iRTStr = NULL;
-            }
-        else if (StreamType == KTagRTBeepOnce)
-            {
-            error = iRingTonePlayer->Init(TMS_RINGTONE_BEEP_ONCE);
-            }
-        else if (StreamType == KTagRTSilent)
-            {
-            error = iRingTonePlayer->Init(TMS_RINGTONE_SILENT);
-            }
-        else if (StreamType == KTagRTUnsecureVoIP)
-            {
-            error = iRingTonePlayer->Init(TMS_RINGTONE_UNSECURE_VOIP);
-            }
-        else if (StreamType == KTagRTSequence)
-            {
-            TBuf8<sizeof(KRTBeepSequence)> buf(KRTBeepSequence);
-            iRTStr = g_string_new_len((gchar*) buf.Ptr(), buf.Length());
-            error = iRingTonePlayer->Init(TMS_RINGTONE_SEQUENCE, iRTStr);
-            g_string_free(iRTStr, TRUE);
-            }
-        else if (StreamType == KTagRTTts)
-            {
-            TBuf<sizeof(KTextToSpeak)> buf(KTextToSpeak);
-            iTTSStr = g_string_new_len((gchar*) buf.Ptr(), buf.Length() * 2);
-            error = iRingTonePlayer->Init(TMS_RINGTONE_DEFAULT, NULL,
-                    iTTSStr);
-            g_string_free(iTTSStr, TRUE);
-            iTTSStr = NULL;
-            }
-        else
-            {
-            iLog->Log(KMsgBadTestParameters);
-            error = KErrBadTestParameter;
-            }
-
-        if (error == TMS_RESULT_SUCCESS)
-            {
-            AddExpectedEvent(ERTInitComplete, KMediumTimeout);
-            }
-        }
-    iLog->Log(_L("CTmsAudioServicesTestClass::InitRingTonePlayer Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::PlayRingTone(CStifItemParser& /*aItem*/)
-    {
-    FTRACE (FPrint(_L("CTmsAudioServicesTestClass::PlayRingTone")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::PlayRingTone"));
-    TInt error = KErrNone;
-
-    if (iRingTonePlayer)
-        {
-        iRingTonePlayer->Play();
-        AddExpectedEvent(ERTPlayComplete, KMediumTimeout);
-        }
-    else
-        {
-        error = KErrNotFound;
-        }
-
-    iLog->Log(_L("CTmsAudioServicesTestClass::PlayRingTone Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::PlayRingToneNoEvent(CStifItemParser& /*aItem*/)
-    {
-    FTRACE (FPrint(_L("CTmsAudioServicesTestClass::PlayRingToneNoEvent")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::PlayRingToneNoEvent"));
-    TInt error = KErrNone;
-
-    if (iRingTonePlayer)
-        {
-        iRingTonePlayer->Play();
-        // Not expecting any event - will allow to cancel
-        }
-    else
-        {
-        error = KErrNotFound;
-        }
-
-    iLog->Log(_L("CTmsAudioServicesTestClass::PlayRingToneNoEvent Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::PauseRingTone(CStifItemParser& /*aItem*/)
-    {
-    FTRACE (FPrint(_L("CTmsAudioServicesTestClass::PauseRingTone")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::PauseRingTone"));
-    TInt error = KErrNone;
-
-    if (iRingTonePlayer)
-        {
-        iRingTonePlayer->Pause();
-        RemoveExpectedEvent(ERTPlayComplete);
-        }
-    else
-        {
-        error = KErrNotFound;
-        }
-
-    iLog->Log(_L("CTmsAudioServicesTestClass::PauseRingTone Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::StopRingTone(CStifItemParser& /*aItem*/)
-    {
-    FTRACE (FPrint(_L("CTmsAudioServicesTestClass::StopRingTone")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::StopRingTone"));
-    TInt error = KErrNotFound;
-    if (iRingTonePlayer)
-        {
-        error = iRingTonePlayer->Stop();
-        RemoveExpectedEvent(ERTPlayComplete);
-        }
-    iLog->Log(_L("CTmsAudioServicesTestClass::StopRingTone Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::MuteRingTone(CStifItemParser& /*aItem*/)
-    {
-    FTRACE (FPrint(_L("CTmsAudioServicesTestClass::MuteRingTone")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::MuteRingTone"));
-    TInt error = KErrNotFound;
-    if (iRingTonePlayer)
-        {
-        error = iRingTonePlayer->Mute();
-        }
-    iLog->Log(_L("CTmsAudioServicesTestClass::MuteRingTone Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::CloseRingTonePlayer(CStifItemParser& /*aItem*/)
-    {
-    FTRACE (FPrint(_L("CTmsAudioServicesTestClass::CloseRingTonePlayer")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::CloseRingTonePlayer"));
-    TInt error = KErrNotFound;
-    if (iFactory && iRingTonePlayer)
-        {
-        error = iRingTonePlayer->Deinit();
-        error |= iRingTonePlayer->RemoveObserver(*this);
-        error |= iFactory->DeleteRingTonePlayer(iRingTonePlayer);
-        }
-    iLog->Log(_L("CTmsAudioServicesTestClass::CloseRingTonePlayer Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::CreateInbandTonePlayer(CStifItemParser& /*aItem*/)
-    {
-    FTRACE (FPrint(_L("CTmsAudioServicesTestClass::CreateInbandTonePlayer")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::CreateInbandTonePlayer"));
-    TInt error = KErrNotFound;
-
-    if (iFactory && !iInbandTonePlayer)
-        {
-        error = iFactory->CreateInbandTonePlayer(iInbandTonePlayer);
-        if (iInbandTonePlayer)
-            {
-            iInbandTonePlayer->AddObserver(*this, NULL);
-            }
-        }
-    iLog->Log(_L("CTmsAudioServicesTestClass::CreateInbandTonePlayer Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::StartInbandTone(CStifItemParser& aItem)
-    {
-    FTRACE (FPrint(_L("CTmsAudioServicesTestClass::StartInbandTone")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::StartInbandTone"));
-    TInt error = TMS_RESULT_SUCCESS;
-    TPtrC StreamType;
-    error = aItem.GetNextString(StreamType);
-
-    if (error == TMS_RESULT_SUCCESS && iInbandTonePlayer)
-        {
-        if (StreamType == KTagUserBusy)
-            {
-            error = iInbandTonePlayer->Start(TMS_INBAND_USER_BUSY);
-            }
-        else if (StreamType == KTagRadioPathNotFound)
-            {
-            error = iInbandTonePlayer->Start(TMS_INBAND_RADIO_PATH_NOT_AVAIL);
-            }
-        else if (StreamType == KTagCongestion)
-            {
-            error = iInbandTonePlayer->Start(TMS_INBAND_CONGESTION);
-            }
-        else if (StreamType == KTagSpecialInfo)
-            {
-            error = iInbandTonePlayer->Start(TMS_INBAND_SPECIAL_INFO);
-            }
-        else if (StreamType == KTagReorder)
-            {
-            error = iInbandTonePlayer->Start(TMS_INBAND_REORDER);
-            }
-        else if (StreamType == KTagAlerting)
-            {
-            error = iInbandTonePlayer->Start(TMS_INBAND_REMOTE_ALEARTING);
-            }
-        else if (StreamType == KTagWaiting)
-            {
-            error = iInbandTonePlayer->Start(TMS_INBAND_CALL_WAITING);
-            }
-        else if (StreamType == KTagDataCall)
-            {
-            error = iInbandTonePlayer->Start(TMS_INBAND_DATA_CALL);
-            }
-        else if (StreamType == KTagNoSequence)
-            {
-            error = iInbandTonePlayer->Start(TMS_INBAND_NO_SEQUENCE);
-            }
-        else if (StreamType == KTagBeepSequence)
-            {
-            error = iInbandTonePlayer->Start(TMS_INBAND_BEEP_SEQUENCE);
-            }
-        else
-            {
-            iLog->Log(KMsgBadTestParameters);
-            error = KErrBadTestParameter;
-            }
-        }
-
-    if (error == TMS_RESULT_SUCCESS)
-        {
-        AddExpectedEvent(EInbToneStarted, KShortTimeout);
-        }
-
-    iLog->Log(_L("CTmsAudioServicesTestClass::StartInbandTone Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::StopInbandTone(CStifItemParser& /*aItem*/)
-    {
-    FTRACE (FPrint(_L("CTmsAudioServicesTestClass::StopInbandTone")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::StopInbandTone"));
-    TInt error = KErrNotFound;
-    if (iFactory && iInbandTonePlayer)
-        {
-        error = iInbandTonePlayer->Stop();
-        RemoveExpectedEvent(EInbToneStarted);
-        }
-    iLog->Log(_L("CTmsAudioServicesTestClass::StopInbandTone Error [%d]"), error);
-    return error;
-    }
-
-TInt CTmsAudioServicesTestClass::CloseInbandTonePlayer(CStifItemParser& /*aItem*/)
-    {
-    FTRACE (FPrint(_L("CTmsAudioServicesTestClass::CloseInbandTonePlayer")));
-    iLog->Log(_L("CTmsAudioServicesTestClass::CloseInbandTonePlayer"));
-    TInt error = KErrNotFound;
-    if (iFactory && iInbandTonePlayer)
-        {
-        error = iInbandTonePlayer->RemoveObserver(*this);
-        error |= iFactory->DeleteInbandTonePlayer(iInbandTonePlayer);
-        }
-    iLog->Log(_L("CTmsAudioServicesTestClass::CloseInbandTonePlayer Error [%d]"), error);
-    return error;
-    }
-
 // ----------------------------------------------------------------------------
 // CTmsTestEngine::DoLoopback
 //
--- a/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/src/TmsAudioServicesTestClassBlocksCallbacks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmmw_plat/telephony_multimedia_service_api/tsrc/TmsAudioServicesTestClass/src/TmsAudioServicesTestClassBlocksCallbacks.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -180,71 +180,3 @@
             break;
         }
     }
-
-// From TMSRingToneObserver
-void CTmsAudioServicesTestClass::RingtoneEvent(const TMSRingTone& /*rt*/,
-        TMSSignalEvent event)
-    {
-    iLog->Log(_L("[tms cb]CTmsAudioServicesTestClass::RingtoneEvent"));
-    gint reason = event.reason;
-    switch (event.type)
-        {
-        case TMS_EVENT_RINGTONE_OPEN_COMPLETE:
-            iLog->Log(_L("[tms cb]RingtoneEvent ERTInitComplete"));
-            ProcessEvent(ERTInitComplete, KErrNone);
-            break;
-        case TMS_EVENT_RINGTONE_PLAY_COMPLETE:
-            iLog->Log(_L("[tms cb]RingtoneEvent ERTPlayComplete"));
-            ProcessEvent(ERTPlayComplete, KErrNone);
-            break;
-        case TMS_EVENT_RINGTONE_DEINIT_COMPLETE:
-            iLog->Log(_L("[tms cb]RingtoneEvent ERTDeinitComplete"));
-            ProcessEvent(ERTDeinitComplete, KErrNone);
-            break;
-        default:
-            break;
-        }
-    }
-
-// From TMSDTMFObserver
-void CTmsAudioServicesTestClass::DTMFEvent(const TMSDTMF& /*dtmf*/,
-        TMSSignalEvent event)
-    {
-    iLog->Log(_L("[tms cb]CTmsAudioServicesTestClass::DTMFEvent"));
-    gint reason = event.reason;
-    switch (event.type)
-        {
-        case TMS_EVENT_DTMF_TONE_STARTED:
-            //ProcessEvent(EDTMFToneStarted, KErrNone);
-            iLog->Log(_L("DTMF Tone Started"));
-            break;
-        case TMS_EVENT_DTMF_TONE_STOPPED:
-            ProcessEvent(EDTMFToneStopped, KErrNone);
-            iLog->Log(_L("DTMF Tone Stopped"));
-            break;
-        default:
-            break;
-        }
-    }
-
-// From TMSInbandToneObserver
-void CTmsAudioServicesTestClass::InbandToneEvent(
-        const TMSInbandTone& /*inbandtone*/, TMSSignalEvent event)
-    {
-    iLog->Log(_L("[tms cb]CTmsAudioServicesTestClass::InbandToneEvent"));
-    gint reason = event.reason;
-    switch (event.type)
-        {
-        case TMS_EVENT_INBAND_TONE_STARTED:
-            //ProcessEvent(EInbToneStarted, KErrNone);
-            iLog->Log(_L("Inband Tone Started"));
-            break;
-        case TMS_EVENT_INBAND_TONE_STOPPED:
-            //ProcessEvent(EInbToneStopped, KErrNone);
-            iLog->Log(_L("Inband Tone Stopped"));
-            break;
-        default:
-            break;
-        }
-    }
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/voip_audio_services_api/tsrc/VoIPAudioServicesTestClass/group/VoIPAudioServicesTestClass.pkg	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,37 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "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:
+;
+; Description: VoIP Audio Service - STIF Test
+;
+
+;languages
+&EN
+
+;Header
+#{"VoIPAudioServicesTestClass"},(0x10005942),1,0,0
+
+;Localised Vendor name
+%{"VoIPAudioServicesTestClass"}
+
+;Unique Vendor name
+:"Nokia"
+
+;Files to install
+
+"/epoc32/release/armv5/urel/VoIPAudioServicesTestClass.dll"-"c:/Sys/Bin/VoIPAudioServicesTestClass.dll"
+;"../../init/TestFramework.ini"-"c:/Testframework/TestFramework.ini"
+"../../conf/VoIPAudioServicesTestClass.cfg"-"c:/Testframework/VoIPAudioServicesTestClass.cfg"
+
+;"../../data/mmc/alarm 1.aac"-"e:/testing/data/alarm 1.aac"
+;"../../data/mmc/alarm.aac"-"e:/testing/data/alarm.aac"
+"../../data/mmc/test_8khz.wav"-"c:/testing/data/test_8khz.wav"
\ No newline at end of file
--- a/mmmw_plat/voip_audio_services_api/tsrc/VoIPAudioServicesTestClass/sis/VoIPAudioServicesTestClass.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "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:
-;
-; Description: VoIP Audio Service - STIF Test
-;
-
-;languages
-&EN
-
-;Header
-#{"VoIPAudioServicesTestClass"},(0x10005942),1,0,0
-
-;Localised Vendor name
-%{"VoIPAudioServicesTestClass"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Files to install
-
-"/epoc32/release/armv5/urel/VoIPAudioServicesTestClass.dll"-"c:/Sys/Bin/VoIPAudioServicesTestClass.dll"
-;"../../init/TestFramework.ini"-"c:/Testframework/TestFramework.ini"
-"../../conf/VoIPAudioServicesTestClass.cfg"-"c:/Testframework/VoIPAudioServicesTestClass.cfg"
-
-;"../../data/mmc/alarm 1.aac"-"e:/testing/data/alarm 1.aac"
-;"../../data/mmc/alarm.aac"-"e:/testing/data/alarm.aac"
-"../../data/mmc/test_8khz.wav"-"c:/testing/data/test_8khz.wav"
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/voip_audio_services_api/tsrc/VoIPAudioServicesTestClass/sis/create_sis.bat	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,22 @@
+cls
+@echo off
+echo.
+
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of the "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+echo Description:  VAS Stif test package creation utility
+rem
+
+del VoIPAudioServicesTestClass.sis*
+makesis VoIPAudioServicesTestClass.pkg VoIPAudioServicesTestClass.sis
+signsis VoIPAudioServicesTestClass.sis VoIPAudioServicesTestClass.sisx rd.crt rd.key
Binary file mmmw_plat/voip_audio_services_api/tsrc/data/mmc/alarm 1.aac has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/bwinscw/EqualizerU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,5 @@
+EXPORTS
+	?ExecuteLD@CEqualizerPresetsDialog@@QAEHXZ @ 1 NONAME ; int CEqualizerPresetsDialog::ExecuteLD(void)
+	?NewL@CEqualizerPresetsDialog@@SAPAV1@PAVCAudioEqualizerUtility@@HAAVMEqualizerPresetActivationObserver@@@Z @ 2 NONAME ; class CEqualizerPresetsDialog * CEqualizerPresetsDialog::NewL(class CAudioEqualizerUtility *, int, class MEqualizerPresetActivationObserver &)
+	?SetAudioEqualizerL@CEqualizerPresetsDialog@@QAEXPAVCAudioEqualizerUtility@@@Z @ 3 NONAME ; void CEqualizerPresetsDialog::SetAudioEqualizerL(class CAudioEqualizerUtility *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/data/Equalizer.rss	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,446 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    RSS for Equalizer
+*
+*/
+
+
+
+//  RESOURCE IDENTIFIER
+NAME    EQUI // 4 letter ID
+
+//  INCLUDES
+#include <eikon.rh>
+#include <avkon.rh>
+#include <avkon.loc>
+#include <avkon.rsg>
+#include <avkon.mbg>
+
+#include "Equalizer.rh"
+#include "Equalizer.hrh"
+#include <equalizer.loc>
+
+
+//  CONSTANTS  
+// EqualizerEngine has a limit of 32 characters for the preset name
+#define KMaxPresetNameLength 32 
+//  MACROS  
+
+//  RESOURCE DEFINITIONS 
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF { buf=""; }
+
+RESOURCE CBA r_equalizer_softkeys_options_back__select
+    {
+    buttons = 
+        {
+        CBA_BUTTON {id=EAknSoftkeyOptions; txt = text_softkey_option;},
+        CBA_BUTTON {id=EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON {id=EAknSoftkeySelect;  txt=qtn_msk_eq_activate;}
+        };
+    }
+    
+RESOURCE CBA r_equalizer_softkeys_options_back__contextoptions
+    {
+    buttons =
+        {
+        CBA_BUTTON {id=EAknSoftkeyOptions; txt = text_softkey_option;},
+        CBA_BUTTON {id=EAknSoftkeyBack; txt = text_softkey_back; },
+        CBA_BUTTON {id=EAknSoftkeyContextOptions; txt = text_softkey_option;}
+        };
+    }
+
+RESOURCE EIK_APP_INFO
+    {
+    cba=R_AVKON_SOFTKEYS_BACK;
+    }
+
+//----------------------------------------------------
+//   
+//    r_equalizer_container_menubar
+//    This resource is used to create the Equalizer 
+//    listbox view  menubar
+//
+//----------------------------------------------------
+//
+RESOURCE MENU_BAR r_equalizer_container_menubar
+    {
+    titles= 
+        {
+        MENU_TITLE { menu_pane=r_equalizer_container_menu; txt=""; }
+        };
+    }
+
+//----------------------------------------------------
+//   
+//    r_equalizer_container_menu
+//    This resource is used to create the equalizer 
+//    menu items
+//
+//----------------------------------------------------
+//
+RESOURCE MENU_PANE r_equalizer_container_menu
+    {
+    items=
+        {
+        MENU_ITEM { command=EEqualizerCmdActivate;  
+        txt=qtn_eq_options_activate;
+#ifdef SINGLE_CLICK_INCLUDED
+        flags = EEikMenuItemAction;
+#endif
+        },
+        MENU_ITEM { command=EEqualizerCmdEdit;  txt=qtn_eq_options_edit;
+#ifdef SINGLE_CLICK_INCLUDED
+        flags = EEikMenuItemSpecific;
+#endif
+        },
+        MENU_ITEM { command=EEqualizerCmdCreateNew; 
+        txt=qtn_eq_options_create_new;},
+        MENU_ITEM { command=EEqualizerCmdDelete;  txt=qtn_eq_options_delete;},
+        MENU_ITEM { command=EEqualizerCmdRename;  txt=qtn_eq_options_rename;},
+        MENU_ITEM {command = EEqualizerCmdHelp; txt=qtn_options_help;},
+        MENU_ITEM { command = EAknCmdExit ;  txt=qtn_options_exit;}
+        };
+    }
+
+//----------------------------------------------------
+//   
+//    r_equalizer_settings_menubar
+//    This resource is used to create the Equalizer
+//    frequency bands view menubar
+//
+//----------------------------------------------------
+//
+RESOURCE MENU_BAR r_equalizer_settings_menubar
+    {
+    titles=
+        {
+        MENU_TITLE { menu_pane=r_equalizer_settings_menu; txt=""; }
+        };
+    }
+
+//----------------------------------------------------
+//   
+//    r_equalizer_settings_menu
+//    This resource is used to create the equalizer
+//    frequency bands view menu items
+//
+//----------------------------------------------------
+//
+RESOURCE MENU_PANE r_equalizer_settings_menu
+    {
+    items=
+        {
+        MENU_ITEM { command=EEqualizerCmdReset;  txt=qtn_eq_options_reset;},
+        MENU_ITEM {command = EEqualizerCmdHelp; txt=qtn_options_help;},
+        MENU_ITEM { command = EAknCmdExit ;  txt=qtn_options_exit;}
+        };
+    }
+
+// ---------------------------------------------------------
+//   
+//   r_equalizer_editing_dialog
+//   Dialog used for the equalizer editing view
+//
+// ---------------------------------------------------------
+//
+RESOURCE DIALOG r_equalizer_editing_dialog
+    {
+    flags = EEikDialogFlagNoDrag | EEikDialogFlagCbaButtons |
+             EEikDialogFlagWait| EEikDialogFlagFillAppClientRect; 
+     
+    buttons = r_equalizer_softkeys_options_back__contextoptions;  
+
+    items =
+        {
+        DLG_LINE
+            {
+            id = EEqualizerCustomCtrlDlgCIdCustomControl;
+            type = EEqualizerCustomCtrlDlgCtCustomControl; 
+            control=EQUALIZER_CONTROL
+                {
+                };
+            }            
+        };
+    }
+
+// ---------------------------------------------------------
+//   
+//   r_equalizer_dialog
+//   Dialog used for the equalizer preset view
+//
+// ---------------------------------------------------------
+//
+RESOURCE DIALOG r_equalizer_dialog
+    {
+    flags = EEikDialogFlagNoDrag | EEikDialogFlagCbaButtons |
+              EEikDialogFlagWait| EEikDialogFlagFillAppClientRect | EEikDialogFlagNotifyEsc; 
+    title = qtn_eq_title_equalizer;
+    buttons = R_AVKON_SOFTKEYS_BACK; 
+
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtSingleGraphicListBox;
+            id = ESelectionListControl; 
+            control = LISTBOX
+                {
+                flags = EAknListBoxSelectionList;
+                };
+            }
+        };
+    }
+ 
+// ---------------------------------------------------------
+//   
+//   r_dialog_text_rename_item_name
+//   Dialog for the name of a to be renamed item
+//
+// ---------------------------------------------------------
+//
+RESOURCE DIALOG r_dialog_text_rename_item_name
+    {
+    flags = EGeneralQueryFlags;
+    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtQuery;
+            id = EGeneralQuery;
+            control = AVKON_DATA_QUERY
+                {
+                layout = EDataLayout;
+                label = qtn_fldr_item_name_prmpt;
+                control = EDWIN
+                    {
+          flags = EEikEdwinNoLineOrParaBreaks; 
+                    maxlength = KMaxPresetNameLength;
+                    };
+                };
+            }
+        };
+    }
+
+// ---------------------------------------------------------
+//   
+//   r_dialog_text_new_item_name
+//   Dialog for the name of a new item
+//
+// ---------------------------------------------------------
+//
+RESOURCE DIALOG r_dialog_text_new_item_name
+    {
+    flags = EGeneralQueryFlags;
+    buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtQuery;
+            id = EGeneralQuery;
+            control = AVKON_DATA_QUERY
+                {
+                layout = EDataLayout;
+                label = qtn_eq_title_preset_name;
+                control = EDWIN
+                    {
+                    flags = EEikEdwinNoLineOrParaBreaks; 
+                    maxlength = KMaxPresetNameLength;
+                    };
+                };
+            }
+        };
+    }
+
+// ---------------------------------------------------------
+//   
+//   r_equalizer_confirmation_query
+//   For delete confirmation
+//
+// ---------------------------------------------------------
+//
+RESOURCE DIALOG r_equalizer_confirmation_query
+    {
+    flags = EGeneralQueryFlags;
+    buttons = R_AVKON_SOFTKEYS_YES_NO;
+    items =
+        {
+        DLG_LINE
+            {
+            type = EAknCtQuery;
+            id = EGeneralQuery;
+            control = AVKON_CONFIRMATION_QUERY 
+                { 
+                layout = EConfirmationLayout;
+                };
+            }
+        };
+    }
+
+// ---------------------------------------------------
+//
+//    r_qtn_equalizer_title_text
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_equalizer_title_text
+    {
+    buf = qtn_eq_title_equalizer;
+    }
+
+// ---------------------------------------------------
+//
+//    r_qtn_eq_preset_default_name
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_eq_preset_default_name
+    {
+    buf = qtn_eq_preset_default_name;
+    }
+
+// ---------------------------------------------------
+//
+//    r_eq_note_info_preset_activated
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_eq_note_info_preset_activated
+    {
+    buf = qtn_eq_note_info_preset_activated;
+    }
+
+// ---------------------------------------------------
+//
+//    r_qtn_eq_note_err_preset_in_use_no_rename
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_eq_note_err_preset_in_use_no_rename
+    {
+    buf = qtn_eq_note_err_preset_in_use_no_rename;
+    }
+
+// ---------------------------------------------------
+//
+//    r_eq_note_err_preset_in_use
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_eq_note_err_preset_in_use
+    {
+    buf = qtn_eq_note_err_preset_in_use;
+    }
+
+// ---------------------------------------------------
+//
+//    r_qtn_query_common_conf_delete
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_query_common_conf_delete
+    {
+    buf = qtn_query_common_conf_delete;
+    }
+
+// ---------------------------------------------------
+//
+//    r_qtn_fldr_illegal_characters
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_fldr_illegal_characters
+    {
+    buf = qtn_fldr_illegal_characters;
+    }
+
+// ---------------------------------------------------
+//
+//    r_qtn_fldr_name_already_used
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_fldr_name_already_used
+    {
+    buf = qtn_fldr_name_already_used;
+    }  
+    
+// ---------------------------------------------------
+//
+//    r_qtn_equalizer_preset_none
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_equalizer_preset_none
+    {
+    buf = qtn_eq_preset_none;
+    }
+
+// ---------------------------------------------------
+//
+//    r_qtn_memlo_not_enough_memory
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_memlo_not_enough_memory
+    {
+    buf = qtn_memlo_not_enough_memory;
+    }
+
+// ---------------------------------------------------
+//
+//    r_qtn_eq_preset_frequency_hz
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_eq_preset_frequency_hz	
+	{ 
+		buf= qtn_eq_preset_frequency_hz; 
+	}
+		
+// ---------------------------------------------------
+//
+//    r_qtn_eq_preset_frequency_khz
+//
+// ---------------------------------------------------
+//
+RESOURCE TBUF r_qtn_eq_preset_frequency_khz	
+	{ 
+		buf= qtn_eq_preset_frequency_khz; 
+	}
+    
+// ---------------------------------------------------------
+//   
+//   r_equalizer_predefined_presets
+//   Predefined preset names with localised names
+//
+// ---------------------------------------------------------
+//
+RESOURCE ARRAY r_equalizer_predefined_presets		
+	{
+	items=
+		{
+		LBUF { txt = "Rock""\t"qtn_eq_preset_rock; },
+		LBUF { txt = "Pop""\t"qtn_eq_preset_pop; },
+		LBUF { txt = "Jazz""\t"qtn_eq_preset_jazz; },
+		LBUF { txt = "Classic""\t"qtn_eq_preset_classic; },
+		LBUF { txt = "Bass Booster""\t"qtn_eq_preset_bassboost; }
+		};
+	}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/eabi/EqualizerU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,7 @@
+EXPORTS
+	_ZN23CEqualizerPresetsDialog18SetAudioEqualizerLEP22CAudioEqualizerUtility @ 1 NONAME
+	_ZN23CEqualizerPresetsDialog4NewLEP22CAudioEqualizerUtilityiR34MEqualizerPresetActivationObserver @ 2 NONAME
+	_ZN23CEqualizerPresetsDialog9ExecuteLDEv @ 3 NONAME
+	_ZTI23CEqualizerPresetsDialog @ 4 NONAME ; #<TI>#
+	_ZTV23CEqualizerPresetsDialog @ 5 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/group/Equalizer.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Project file for Equalizer DLL
+*
+*/
+
+
+
+    
+#include <bldvariant.hrh>
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+#include "../../inc/audioeffectsuibldvariant.hrh"
+
+TARGET Equalizer.dll
+TARGETTYPE dll
+UID 0x1000008d 0x101FD659
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+
+#ifdef IAD_INCLUDE_SINGLE_CLICK 
+MACRO SINGLE_CLICK_INCLUDED
+#endif
+
+SOURCEPATH      ../src
+SOURCE EqualizerMain.cpp
+SOURCE EqualizerPresetsDialog.cpp
+SOURCE EqualizerFreqBandContainer.cpp
+SOURCE EqualizerPresetListArray.cpp
+SOURCE EqualizerFreqBand.cpp
+SOURCE EqualizerEditingDialog.cpp
+
+USERINCLUDE     ../inc
+USERINCLUDE 	../../../inc
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/mmf/server
+SYSTEMINCLUDE   /epoc32/include/mmf/common
+SYSTEMINCLUDE   /epoc32/include/app	// temporary fix build break on header relocation change
+ 
+SOURCEPATH ../data
+START RESOURCE Equalizer.rss
+HEADER
+TARGETPATH APP_RESOURCE_DIR
+LANGUAGE_IDS
+END // RESOURCE
+
+LIBRARY euser.lib
+LIBRARY apparc.lib
+LIBRARY cone.lib 
+LIBRARY eikcore.lib 
+LIBRARY eikcoctl.lib 
+LIBRARY avkon.lib
+LIBRARY estor.lib 
+LIBRARY bafl.lib 
+LIBRARY commonengine.lib
+LIBRARY eikctl.lib
+LIBRARY eikcdlg.lib
+LIBRARY eikdlg.lib
+LIBRARY fbscli.lib
+LIBRARY ws32.lib
+LIBRARY efsrv.lib
+LIBRARY audioequalizerutility.lib
+LIBRARY audioequalizereffect.lib
+LIBRARY CdlEngine.lib
+LIBRARY AknSkins.lib
+LIBRARY egul.lib
+LIBRARY AknLayout2Scalable.lib
+LIBRARY AknIcon.lib
+LIBRARY hlplch.lib // for "Help" options menu
+LIBRARY featmgr.lib
+LIBRARY aknnotify.lib
+LIBRARY SysUtil.lib
+LIBRARY aknlayout2.lib
+LIBRARY centralrepository.lib
+#if defined(RD_TACTILE_FEEDBACK)
+LIBRARY touchfeedback.lib
+#endif
+
+#if defined(ARMCC)
+deffile ../eabi/ 
+#elif defined(WINSCW)
+deffile ../bwinscw/ 
+#elif defined(WINS)
+deffile ../bwins/ 
+#else
+deffile ../bmarm/ 
+#endif
+
+//LANG SC
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/group/EqualizerIcons.txt	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,4 @@
+/c8,8 empty13x13
+/c8,8 qgn_prop_psln_active
+/c8,8 qgn_indi_mup_eq_bg
+/c8,8 qgn_indi_mup_eq_slider
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/group/EqualizerIcons2.txt	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,4 @@
+/c8,8 empty13x13
+/c8,8 qgn_prop_psln_active
+/c8,8 qgn_indi_mup2_eq_bg
+/c8,8 qgn_indi_mup_eq_slider
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    This file provides the information required for building the 
+*                implementation collection.
+*
+*/
+
+
+
+
+#include <platform_paths.hrh>
+
+#include "../help/group/bld.inf"
+
+PRJ_PLATFORMS
+// specify the platforms your component needs to be built for here
+
+PRJ_EXPORTS
+// iby file
+../rom/Equalizer.iby           CORE_MW_LAYER_IBY_EXPORT_PATH(Equalizer.iby)
+../rom/EqualizerResources.iby  LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(EqualizerResources.iby)
+
+// loc file
+../loc/equalizer.loc  MW_LAYER_LOC_EXPORT_PATH(equalizer.loc)
+
+PRJ_EXTENSIONS
+START EXTENSION s60/mifconv
+OPTION TARGETFILE equalizer.mif
+OPTION HEADERFILE equalizer.mbg
+OPTION SOURCES -c8,8 empty13x13 -c8,8 qgn_prop_psln_active \
+               -c8,8 qgn_indi_mup2_eq_bg -c8,8 qgn_indi_mup_eq_slider
+END
+
+PRJ_MMPFILES
+// Specify the .mmp files required for building the important component
+// releasables. Note that you should specify any .mmp files for test
+// programs further down the file.
+
+
+Equalizer.mmp
+
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/group/icons.mk	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,69 @@
+#
+# Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "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:
+#
+# Description:    This file is used to invoke "mifconv" tool to 
+#                  generate mbm and mif files
+#
+
+ifeq (WINS,$(findstring WINS, $(PLATFORM)))
+ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
+else
+ZDIR=\epoc32\data\z
+endif
+
+TARGETDIR=$(ZDIR)\resource\apps
+ICONTARGETFILENAME=$(TARGETDIR)\equalizer.mif
+
+HEADERDIR=\epoc32\include
+HEADERFILENAME=$(HEADERDIR)\equalizer.mbg
+
+ICONLISTFILE=..\Group\EqualizerIcons2.txt
+
+do_nothing :
+	@rem do_nothing
+
+MAKMAKE : do_nothing
+
+BLD : do_nothing
+
+CLEAN : do_nothing
+
+LIB : do_nothing
+
+CLEANLIB : do_nothing
+
+# ----------------------------------------------------------------------------
+# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
+# MifConv if the mask detph is defined.
+#
+# NOTE 2: Usually, source paths should not be included in the bitmap
+# definitions. MifConv searches for the icons in all icon directories in a
+# predefined order, which is currently \s60\icons, \s60\bitmaps2.
+# The directory \s60\icons is included in the search only if the feature flag
+# __SCALABLE_ICONS is defined.
+# ----------------------------------------------------------------------------
+
+RESOURCE : 
+	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) /f$(ICONLISTFILE)
+
+FREEZE : do_nothing
+
+SAVESPACE : do_nothing
+
+RELEASABLES :
+	@echo $(HEADERFILENAME)&& \
+	@echo $(ICONTARGETFILENAME)
+
+FINAL : do_nothing
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/group/icons_dc.mk	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,69 @@
+#
+# Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "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:
+#
+# Description:    This file is used to invoke "mifconv" tool to 
+#                  generate mbm and mif files
+#
+
+ifeq (WINS,$(findstring WINS, $(PLATFORM)))
+ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
+else
+ZDIR=\epoc32\data\z
+endif
+
+TARGETDIR=$(ZDIR)\resource\apps
+ICONTARGETFILENAME=$(TARGETDIR)\equalizer.mif
+
+HEADERDIR=\epoc32\include
+HEADERFILENAME=$(HEADERDIR)\equalizer.mbg
+
+ICONLISTFILE=..\Group\EqualizerIcons.txt
+	
+do_nothing :
+	@rem do_nothing
+
+MAKMAKE : do_nothing
+
+BLD : do_nothing
+
+CLEAN : do_nothing
+
+LIB : do_nothing
+
+CLEANLIB : do_nothing
+
+# ----------------------------------------------------------------------------
+# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
+# MifConv if the mask detph is defined.
+#
+# NOTE 2: Usually, source paths should not be included in the bitmap
+# definitions. MifConv searches for the icons in all icon directories in a
+# predefined order, which is currently \s60\icons, \s60\bitmaps2.
+# The directory \s60\icons is included in the search only if the feature flag
+# __SCALABLE_ICONS is defined.
+# ----------------------------------------------------------------------------
+
+RESOURCE : 
+	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) /f$(ICONLISTFILE)
+
+FREEZE : do_nothing
+
+SAVESPACE : do_nothing
+
+RELEASABLES :
+	@echo $(HEADERFILENAME)&& \
+	@echo $(ICONTARGETFILENAME)
+
+FINAL : do_nothing
+
+
Binary file mmserv/audioeffectsui/equalizer/help/data/xhtml.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/help/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+* 
+* 
+* Description:
+* Export help related files.
+*
+*/
+
+#include <platform_paths.hrh>				
+PRJ_EXPORTS
+:zip ../data/xhtml.zip   /epoc32/data/z/resource/ overwrite
+:zip ../data/xhtml.zip   /epoc32/winscw/c/resource/ overwrite
+
+../inc/eq.hlp.hrh	MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/eq.hlp.hrh)
+../rom/equalizerhelps_variant.iby		CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(equalizerhelps_variant.iby)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/help/inc/eq.hlp.hrh	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+* 
+* Description:
+*
+*/
+	
+//
+// eq.hlp.hrh generated by CSXHelp Utilities.
+//           
+
+#ifndef __EQ_HLP_HRH__
+#define __EQ_HLP_HRH__
+
+_LIT(KEQ_HLP_EDITING_VIEW, "EQ_HLP_EDITING_VIEW"); // 
+_LIT(KEQ_HLP_LIST_VIEW, "EQ_HLP_LIST_VIEW"); // 
+
+#endif 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/help/rom/equalizerhelps_variant.iby	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description: Help IBY file
+*
+*/
+
+
+#ifndef __EQUALIZERHELPS_VARIANT_IBY__
+#define __EQUALIZERHELPS_VARIANT_IBY__
+
+#if defined(FF_S60_HELPS_IN_USE) 
+    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101FD659\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x101FD659\contents.zip)
+    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101FD659\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101FD659\index.xml)
+    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101FD659\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101FD659\keywords.xml)
+    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101FD659\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101FD659\meta.xml)
+#endif
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/inc/Equalizer.hrh	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    This file contains declarations for constants of Equalizer
+*
+*/
+
+
+
+#ifndef EQUALIZER_HRH
+#define EQUALIZER_HRH
+
+// DATA TYPES
+
+// Used as Command ids for menubar
+enum TEqualizerCommandIds
+    {
+    EEqualizerCmdActivate = 1,
+    EEqualizerCmdEdit,
+    EEqualizerCmdCreateNew,
+    EEqualizerCmdDelete,
+    EEqualizerCmdRename,
+    EEqualizerCmdHelp,
+    EEqualizerCmdReset
+    };
+
+// Used for custom Control Id and type   
+enum TEqualizerCustomControlIds
+    {    
+    EEqualizerCustomCtrlDlgCIdCustomControl = 1000,
+    EEqualizerCustomCtrlDlgCtCustomControl
+    };
+
+//Used for the equalizer varieties   
+enum TEqualizerVarieties
+    {
+    EEqualizerVarietyNotUsed = -1,
+    EEqualizerVarietyOne = 0,
+    EEqualizerVarietyTwo
+    };    
+
+//Used for retriving the rect from the layout information
+enum TEqualizerComponents
+    {
+    EEqualizerFreqBand1 = 0,
+    EEqualizerFreqBand2,
+    EEqualizerFreqBand3,
+    EEqualizerFreqBand4,
+    EEqualizerFreqBand5,
+    EEqualizerFreqBand6,
+    EEqualizerFreqBand7,
+    EEqualizerFreqBand8,
+    EEqualizerMainPane,
+    EEqualizerScale,
+    EEqualizerBackground,
+    EEqualizerSlider
+    };    
+    
+#endif     //EQUALIZER_HRH
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/inc/Equalizer.rh	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    RH for storing Custom Control parameters struct
+*
+*/
+
+
+
+
+#ifndef EQUALIZER_RH
+#define EQUALIZER_RH
+
+STRUCT EQUALIZER_CONTROL
+    {
+    }
+
+#endif //EQUALIZER_RH
+
+// End of File 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/inc/EqualizerEditingDialog.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Declares classes related to Equalizer Settings
+*
+*/
+
+
+
+
+#ifndef EQUALIZEREDITINGDIALOG_H
+#define EQUALIZEREDITINGDIALOG_H
+
+//  INCLUDES
+#include <AknDialog.h> 
+#include "EqualizerPrivateConstants.h"
+
+#include "EqualizerPresetsDialog.h"
+// FORWARD DECLARATIONS
+class CAudioEqualizerUtility;
+class CEqualizerFreqBandContainer;
+
+// CLASS DECLARATIONS
+NONSHARABLE_CLASS(CEqualizerEditingDialog) : public CAknDialog
+    {
+    public:      // Constructors and destructor
+    
+        /**
+        * This function is called to create an object of 
+        * type CEqualizerPresetsDialog - Two phase Construction
+        * @since 3.0
+        * @param aAudEqUtility a pointer to CAudioEqualizerUtility 
+        * @param aPresetIndex the index into the preset array retrieved
+        * with the method CAudioEqualizerUtility::Presets()
+        * @param aRect a reference to the view rectangle
+        * returned by CAudioEqualizerUtility::Presets()         
+        * @param aIsPresetActive whether the preset is active or not? 
+        */
+        static CEqualizerEditingDialog* NewL(
+        CAudioEqualizerUtility* aAudEqUtility,const TInt aPresetIndex, 
+        TRect& aRect, const TBool aIsPresetActive,
+        MEqualizerPresetActivationObserver& aObs,
+        TInt aPresetKey);
+        /**
+        * Destructor
+        * @since 3.0
+        */
+       virtual ~CEqualizerEditingDialog(); 
+    
+    public:      // New functions  
+        /**
+        * This function is used to execute the Dialog.
+        * @since 3.0
+        * @returns return value of CAknDialog::ExecuteLD()   
+        */
+        TInt ExecuteLD();
+        /**
+        * This function is used to read the positions of the mover for the 
+        * frequency bands from the engine.
+        * @since 3.0
+        * @param aReset Whether the preset is being reset
+        */
+        void SetMoverPositionsL(TBool aReset);   
+        
+        /**
+        * This function is used to set new values for CAudioEqualizerUtility* 
+        * @since 3.0
+        * @param aAudEqUtility New pointer to CAudioEqualizerUtility
+        */
+        void SetAudioEqualizerL(CAudioEqualizerUtility* aAudEqUtility);    
+
+        /**
+        * This function is used to return current mover position for each frequence band
+        * @since 3.0
+        * @param aBandIndex Frequence band index for which mover position is required
+        * @returns current mover position
+        */
+        TInt GetMoverPosition(TInt aBandIndex);   
+ 
+    private:
+        /**
+        * First Phase Constructor
+        * @since 3.0
+        * @param aAudEqUtility a pointer to CAudioEqualizerUtility 
+        * @param aPresetIndex the index into the preset array retrieved
+        * with the method CAudioEqualizerUtility::Presets()
+        * @param aRect a reference to the view rectangle
+        * returned by CAudioEqualizerUtility::Presets()         
+        * @param aIsPresetActive whether the preset is active or not? 
+        */
+        CEqualizerEditingDialog(CAudioEqualizerUtility* aAudEqUtility,
+        const TInt aPresetIndex, TRect& aRect, 
+        const TBool aIsPresetActive,
+        MEqualizerPresetActivationObserver& aObs,
+        TInt aPresetKey);
+         
+        /**
+        * Second Phase Constructor
+        * @since 3.0
+        */
+        void ConstructL();
+       
+    private: // Functions from base classes  
+        /**
+        * From CAknDialog Called when a key event happens.
+        */
+        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, 
+            TEventCode aType ); 
+        /**
+        * From CAknDialog Called just before the menu pane is displayed
+        */
+        void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
+        /**
+        * From CAknDialog Called just before the menu pane is displayed
+        */
+        void ProcessCommandL(TInt  aCommandId); 
+        /**
+        * From CAknDialog Called when OK key is pressed
+        */
+        TBool OkToExitL(TInt aButtonId);
+        /**
+        * From CAknDialog Called when a custom control is to be created
+        */
+        SEikControlInfo CreateCustomControlL  (  TInt  aControlType   );
+
+        /**
+        * From CAknDialog
+        * This function will respond to any change in the controls size.
+        */
+        void SizeChanged();
+        /**
+        * Get help context for the control.
+        * @param aContext The context that is filled in.
+        * @return None.
+        */
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+		/**
+		* This function is called to retrieve the rectangle
+		* of the freq band control, scale and slider from the layout
+		*/
+      	void GetLayoutRect();
+
+    private:
+        // Used to store a pointer to CAudioEqualizerUtility 
+        CAudioEqualizerUtility* iAudEqUtility;
+        // Used to store a pointer to CEqualizerFreqBandContainer 
+        CEqualizerFreqBandContainer* iFreqBandContainer;
+        // Used to store the preset name
+        TPresetName iPresetName;
+        // The index of the preset in the array returned by
+        // CAudioEqualizerUtility::Presets()
+        const TInt iPresetIndex;
+        // The rectangle in which the Dialog is displayed
+        TRect& iRect;
+        // Whether the preset displayed is an active preset?
+        const TBool iIsActivePreset;
+        // Used to store the offset of the resource file
+        TInt iResourceFileOffset;
+        // Stores the positions of the movers in the various bands.
+        CArrayFix<TInt>* iMover;
+        // Number of Frequency bands 
+        TUint iNumberOfFreqBands;   
+        // Ignore Key events between track changes
+        TBool iIgnoreKeyEvents;   
+		// Array to store the rects of the freq band
+        RArray<TRect> iFreqBandRect;
+        // Array to store the rects of the freq band scale
+        RArray<TRect> iScaleRect;
+        // Array to store the rects of the background
+        RArray<TRect> iBackgroundRect;
+        // Array to store the rects of the slider
+        RArray<TRect> iSliderRect;
+		// Used to determine if context sensitive menu is ON or not when pressing MSK
+        TBool iContextSensitiveMenu;
+       
+        // Observer for changing presets
+        MEqualizerPresetActivationObserver& iObserver;
+        TInt iPresetKey;
+  };
+
+#endif     //EQUALIZEREDITINGDIALOG_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/inc/EqualizerFreqBand.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,216 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Declares classes related to Equalizer Settings
+*
+*/
+
+
+
+
+#ifndef EQUALIZERFREQBAND_H
+#define EQUALIZERFREQBAND_H
+
+//  INCLUDES
+#include <AknDialog.h> 
+#include "EqualizerPrivateConstants.h"
+
+// FORWARD DECLARATIONS
+class CAudioEqualizerUtility;
+class CAudioEqualizer;
+
+// CLASS DECLARATIONS
+
+NONSHARABLE_CLASS(CEqualizerFreqBand)  : public CCoeControl
+    {
+    public:      // Constructors and destructor
+        /**
+        * This function is called to create an object of 
+        * type CEqualizerFreqBand - Two phase Construction
+        * @since 3.0
+        * @param aaEqEditingDialog a reference to CEqualizerEditingDialog
+        * @param aAudEqUtility a reference to CAudioEqualizerUtility 
+        * @param aPresetIndex the index of the Preset being edited
+        * @param aIsActivePreset whether the preset is active or not?
+        * @param aBandIndex the index of the Frequncy band
+        * @param aContainerRect the CEqualizerFreqBandContainer rectangle
+        */
+        static CEqualizerFreqBand* NewL(CEqualizerEditingDialog* aEqEditingDialog,
+         CAudioEqualizerUtility*& aAudEqUtility, 
+         const TInt aPresetIndex, const TBool aIsActivePreset, const TInt aBandIndex, 
+         TRect& aContainerRect);
+        /**
+        * This function is called to create an object of 
+        * type CEqualizerFreqBand - Two phase Construction
+        * @since 3.0
+        * @param aaEqEditingDialog a reference to CEqualizerEditingDialog
+        * @param aAudEqUtility a reference to CAudioEqualizerUtility 
+        * @param aPresetIndex the index of the Preset being edited
+        * @param aIsActivePreset whether the preset is active or not?
+        * @param aBandIndex the index of the Frequncy band
+        * @param aContainerRect the CEqualizerFreqBandContainer rectangle
+        */
+        static CEqualizerFreqBand* NewLC(CEqualizerEditingDialog* aEqEditingDialog,
+         CAudioEqualizerUtility*& aAudEqUtility, 
+         const TInt aPresetIndex, const TBool aIsActivePreset, const TInt aBandIndex, 
+         TRect& aContainerRect);
+        /**
+        * Destructor
+        * @since 3.0
+        */
+        virtual ~CEqualizerFreqBand();
+
+    public:     // Functions from base classes 
+        /**
+        * From CCoeControl Called when user presses a key
+        */
+        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
+           TEventCode aType);
+    
+    public:
+    
+		/**
+		* Function to return the Rect of the controls from the 
+		* layout [read from the CDL file].
+		* TRect aRect :  parent controls rect
+		* TInt aVariety : equalizer variety based on the number 
+		* of frequnecy bands
+		* TInt aComponentNumber : Controls which are enumerated for
+		* which the rectangle is required from the layout
+		*/
+        static TRect ComponentRect(const TRect& aRect, TInt aVariety, 
+                                                TInt aComponentNumber);
+    
+    private://Constructors
+        /**
+        * This function is called to create an object of 
+        * type CEqualizerFreqBand - First phase Constructor
+        * @since 3.0
+        * @param aaEqEditingDialog a reference to CEqualizerEditingDialog
+        * @param aAudEqUtility a reference to CAudioEqualizerUtility 
+        * @param aPresetIndex the index of the Preset being edited
+        * @param aIsActivePreset whether the preset is active or not?
+        * @param aBandIndex the index of the Frequncy band
+        * @param aContainerRect the CEqualizerFreqBandContainer rectangle
+        */
+        CEqualizerFreqBand(CEqualizerEditingDialog* aEqEditingDialog,CAudioEqualizerUtility*& aAudEqUtility, 
+         const TInt aPresetIndex, const TBool aIsActivePreset, 
+         const TInt aBandIndex,
+         TRect& aContainerRect); 
+
+        /*
+        * Second Phase Constructor
+        */
+        void ConstructL();    
+        
+    private: // New functions 
+        /**
+        *This function is called to load the bitmaps from the icons file
+        */
+        void LoadBitmapsL();
+        
+        /**
+        * This member is called by the Equalizer UI to update the new band
+        * level in the engine 
+        * a new preset. 
+        * @ since Series 60 3.0
+        * lastIncFlag : Flag which indicates that the slider has reached the
+        * the limits
+        */
+        void UpdateBandLevelInEngineL(TBool lastIncFlag);
+    public: // New functions 
+       /**
+        * This function is used to set new values for CAudioEqualizerUtility* 
+        * @since 3.0
+        * @param aAudEqUtility New pointer to CAudioEqualizerUtility
+        */
+        void SetAudioEqualizerL(CAudioEqualizerUtility* aAudEqUtility);
+
+#ifdef RD_SCALABLE_UI_V2
+       /**
+        * This function is used by the frequency band container to send 
+        * pointer events to individual bands 
+        * @since 3.2
+        * @param aPointerEvent pointer event 
+        */
+        void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+#endif //RD_SCALABLE_UI_V2
+
+    private: // Functions from base classes      
+        /**
+        * From CCoeControl Called to draw a control
+        */
+        void Draw(const TRect& aRect) const;
+        /**
+        * From CCoeControl Called when the control's size is changed
+        */
+        void SizeChanged();   
+        /**
+        * From CCoeControl Called when a control's focus is changed
+        */
+        void FocusChanged(TDrawNow aDrawNow);
+            
+        /**
+        * From CCoeControl
+        * This function is called when there is a skin change or
+        * change in the layout
+        */
+        void HandleResourceChange(TInt aType);      
+    
+    private:   //Data
+        //Pointers to hold the equalizer backgroung bitmap and mask
+        CFbsBitmap * iBgBitmap;
+        CFbsBitmap * iBgBitmapMask;
+
+        //Pointers to hold the equalizer scale bitmap and mask
+        CFbsBitmap * iSliderBitmap;
+        CFbsBitmap * iSliderBitmapMask;
+        
+        // Stores the zero position of mover
+        TInt iZeroPos;
+        // Minimum frequency band decibel level 
+        TInt32 iMinBandLevel;
+        // Maximum frequency band decibel level 
+        TInt32 iMaxBandLevel;        
+        // Used to store a pointer to CEqualizerEditingDialog 
+        CEqualizerEditingDialog* iEqEditingDialog;
+        // Used to store a pointer to CAudioEqualizerUtility 
+        CAudioEqualizerUtility* iAudEqUtility;
+        // Used to store a pointer to CAudioEqualizer 
+        CAudioEqualizer* iAudioEqualizer;
+        // The index of the preset in the array returned by
+        // CAudioEqualizerUtility::Presets()
+        const TInt iPresetIndex;
+        // Used to store the name of the preset
+        TPresetName iPresetName;
+        // Whether the preset displayed is an active preset?
+        const TBool iIsActivePreset;
+        // Index of the Frequency Band as passed to Engine
+        const TInt iBandIndex;
+        // Position of the mover
+        TInt iMoverPos;
+        //Stores the container's rect value
+        TRect& iContainerRect;  
+        //Stores the freq band Scale's rectangle
+        TRect iScaleRect;
+        //Stores the slider's rectangle
+        TRect iSliderRect;
+        //Stores the background rectangle
+        TRect iBackgroundRect;
+		//Stores the step count of the slider
+        TInt32 iStepCount;
+        };
+
+
+#endif //EQUALIZERFREQBAND_H
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/inc/EqualizerFreqBandContainer.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,185 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Declares class for frequency band container
+*
+*/
+
+
+
+
+#ifndef EQUALIZERFREQBANDCONTAINER_H
+#define EQUALIZERFREQBANDCONTAINER_H
+
+//  INCLUDES
+#include <AknDialog.h> 
+#include "EqualizerFreqBand.h"
+#include "EqualizerPrivateConstants.h"
+
+// FORWARD DECLARATIONS
+class CAudioEqualizerUtility;
+class CAudioEqualizer;
+class CAknsBasicBackgroundControlContext;
+
+// CLASS DECLARATIONS
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// -----> CEqualizerFreqBandContainer(definition)
+//
+//////////////////////////////////////////////////////////////////////////////
+NONSHARABLE_CLASS(CEqualizerFreqBandContainer)  : public CCoeControl
+    {
+    public:
+        /**
+          * This function is called to create an object of 
+          * type CEqualizerFreqBandContainer - First phase Constructor
+          * @since 3.0
+          * @param aaEqEditingDialog a reference to CEqualizerEditingDialog
+          * @param aAudEqUtility a pointer to CAudioEqualizerUtility 
+          * @param aPresetIndex the index of the Preset being edited
+          * @param aIsActivePreset whether the preset is active or not?
+          * @param aRect the CEqualizerFreqBandContainer rectangle
+          */
+        CEqualizerFreqBandContainer(
+        CEqualizerEditingDialog* aEqEditingDialog, 
+        CAudioEqualizerUtility* aAudEqUtility, 
+        const TInt aPresetIndex, const TBool aIsActivePreset, TRect& aRect,
+        MEqualizerPresetActivationObserver& aObserver, TInt aPresetKey,
+        TPresetName& aPresetName ); 
+        /**
+         * Destructor
+         * @since 3.0
+         */
+        virtual ~CEqualizerFreqBandContainer();
+  
+    public:     
+        /**
+         * Handles key events 
+         * @param aKeyEvent key event.
+         * @param aType key code
+         * @return TKeyResponse
+         */
+        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); 
+  
+ 
+   private:  //New Functions
+        void ConstructL(TRect& aRect);
+        /**
+         * This function is used to swap the focus from one control to other
+         * @since 3.0
+         * @param aPrevControl Previous control
+         * @param aNewControl New Control
+         */
+        void SwapFocus(CCoeControl* aPrevControl, CCoeControl* aNewControl) ;
+
+        /**
+         * This function is used to construct the frequency value labels
+         * @since 3.2
+         */
+        void ConstructLabelsL();
+   
+   public: // New functions     
+       /**
+        * This function is used to set new values for CAudioEqualizerUtility* 
+        * @since 3.0
+        * @param aAudEqUtility New pointer to CAudioEqualizerUtility
+        */
+        void SetAudioEqualizerL(CAudioEqualizerUtility* aAudEqUtility);
+        
+    private:  //Functions from base classes    
+        /**
+         * This function is called by the framework whenever a custom control
+         * is constructed inside the Dialog
+         */
+        void ConstructFromResourceL(TResourceReader& aReader);
+        /**
+         * Virtual, defined by CCoeControl; replaces the default implementation
+         * provided by CCoeControl.
+         */        
+        void         Draw(const TRect& /*aRect*/) const;
+
+        /**
+         * Virtual, defined by CCoeControl; replaces the default implementation
+         * provided by CCoeControl. 
+         */
+        TInt         CountComponentControls() const;
+
+        /** Virtual, defined by CCoeControl; replaces the default implementation
+         * provided by CCoeControl.
+         */
+        CCoeControl* ComponentControl(TInt aIndex) const;
+        /**
+         *Virtual, defined by CCoeControl; empty implementation provided by
+         * CCoeControl; full implementation provided by this class
+         */
+        void         SizeChanged();
+        /*
+         * From CCoeControl Called when a control's focus is changed
+         */
+        void FocusChanged(TDrawNow aDrawNow);
+
+        /*
+		* From CCoeControl
+		* @see CCoeControl
+		*/
+		TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
+		
+#ifdef RD_SCALABLE_UI_V2
+        /*
+		* From CCoeControl
+		* @see CCoeControl
+		*/
+		void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+#endif //RD_SCALABLE_UI_V2
+
+    private:
+        // Data members defined and used by this class.
+        //Array of frequency band pointers  
+        CArrayPtr<CEqualizerFreqBand>* iFreqBand;
+        // Stores the currently focussed frequency band
+        CCoeControl*    iFocussedFreqBand;
+        // Stores the Index of the currently focussed frequency band
+        TUint           iIndexOfFocussedFreqBand;
+        // Used to store a pointer to CEqualizerEditingDialog 
+        CEqualizerEditingDialog* iEqEditingDialog;
+        // Used to store a pointer to CAudioEqualizerUtility 
+        CAudioEqualizerUtility* iAudEqUtility;
+        // Used to store the preset index
+        const TInt iPresetIndex;
+        // Whether the preset displayed is an active preset?
+        const TBool iIsActivePreset;  
+        // Rectangle in which to display the control 
+        TRect& iRect;
+        // Number of Frequency bands 
+        TUint iNumberOfFreqBands;
+        // For skin in the background
+        CAknsBasicBackgroundControlContext* iBackGround;
+        //Array of frequence band labels
+        CArrayPtr<CEikLabel>* iFreqLabels;
+        
+        // Observer for changing equalizer presets
+        MEqualizerPresetActivationObserver& iObserver;
+        TInt iPresetKey;
+
+        // Used to indicate a band is selected in touch
+        TBool iBandSelected;
+
+        // Used to store the preset name
+        TPresetName iPresetName;
+    
+    };
+
+#endif     //EQUALIZERFREQBANDCONTAINER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/inc/EqualizerPresetListArray.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,168 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Item text array for Equalizer listbox.
+*
+*/
+
+
+
+
+
+#ifndef CEQUALIZERPRESETLISTARRAY_H
+#define CEQUALIZERPRESETLISTARRAY_H
+
+//  INCLUDES
+#include "EqualizerPrivateConstants.h"
+#include <AudioEqualizerUtility.h>
+
+// FORWARD DECLARATIONS
+
+
+// CLASS DECLARATION
+
+/**
+*  Item text array for playlist listbox. 
+*   Creates item text descriptors according to playlist data stored to playlist
+*   model.
+*
+*  @lib Equalizer.dll
+*  @since 3.0
+*/
+NONSHARABLE_CLASS(CEqualizerPresetListArray) : public CBase,
+                              public MDesCArray
+    {
+    public:  // Constructors and destructor
+
+        /**
+         * Two-phased constructor.
+         * @since 3.0
+         * @param aAudEqUtility a pointer to CAudioEqualizerUtility 
+         * @param aActivePreset Currently active preset
+         */
+        static CEqualizerPresetListArray* NewL(
+                   CAudioEqualizerUtility*  aAudioEqUtil,
+                   TInt aActivePresetKey);
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CEqualizerPresetListArray();
+    
+    public: //New Functions
+        /**
+         * Used to set the currently active preset
+         * @since 3.0
+         * @param aActivePreset Currently active preset
+         */
+        void SetCurrentActivePreset(const TPtrC& aActivePreset);
+        
+		/** 
+         * Returns the currently actibe preset
+         */        
+		void CEqualizerPresetListArray::GetCurrentActivePreset(TPresetName&
+                                       aActivePreset);
+		/** 
+         * Updates the sorted array with the changed user-defined presets
+         */
+        void UpdateSortedArrayL();
+        
+        /**
+        * Returns the PresetNameKey given the localised name for the preset
+        */
+		void GetPresetKeyFromLocalisedName(TInt& aPresetNameKey, 
+											const TPresetName& aPresetName);
+        /**
+        * Returns the localised name for the preset given the PresetNameKey
+        */
+		void GetLocalisedPresetNameFromKey(TInt aPresetNameKey, 
+											 TPresetName& aPresetName);
+											 
+       /**
+        * This function is used to set new values for currently active preset 
+        * @since 3.0
+        * @param aActivePreset Active preset
+        */
+        void SetCurrentActivePreset(const TDesC& aActivePreset);
+       
+       /**
+        * This function is used to set new values for CAudioEqualizerUtility* 
+        * @since 3.0
+        * @param aAudEqUtility New pointer to CAudioEqualizerUtility
+        */
+        void SetAudioEqualizer(CAudioEqualizerUtility* aAudEqUtility);    
+        
+        /**
+        * This function is used to get the length of prefix (eg "0\t")
+        * before the preset name. 
+        * @since 3.0
+        * @returns Length of the prefix
+        */
+        TInt CEqualizerPresetListArray::GetPrefixLength();
+        
+    public: // Functions from base classes
+
+        /**
+        * From MDesCArray, returns the number of descriptor elements
+        * in a descriptor
+        */
+        TInt MdcaCount() const;
+        
+        /**
+        * From MDesCArray, indexes into a descriptor array.
+        */
+        TPtrC MdcaPoint(TInt aIndex) const;
+        
+   
+    private: // Constructors
+
+        /**
+         * First-phase constructor.
+         * @since 3.0
+         * @param aAudioEqUtil a pointer to CAudioEqualizerUtility 
+         */
+        CEqualizerPresetListArray(CAudioEqualizerUtility*  aAudioEqUtil);
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL(TInt aActivePresetKey);
+        
+        /** 
+        * Creates the ListBox text including the icon information. 
+        * e.g "0\tNone"
+        */
+        void CreateListBoxIconText(const TPtrC& aPresetName) const;
+
+        /**
+        * Searches for a localised name for a preset found in the CenRep
+        */
+        HBufC* SearchForPredefinedPresetL(const CDesCArray& 
+            aPresetArray, const TPresetName& aCenrepPreset);
+    private:    // Data
+        HBufC* iItem;
+        // Pointer to CAudioEqualizerUtility
+        CAudioEqualizerUtility* iAudEqUtility;
+        // This preset array contains alphabetically sorted user-defined
+        // presets
+        CDesCArray* iSortedPresetArray;
+        // This preset array contains localised predefined presets
+        CDesCArray* iPreDefinedPresetArray;    
+        //Preset "None"
+        HBufC* iPresetNoneText;
+        //Current active preset
+        TPresetName iActivePreset;
+    };
+
+#endif      // CEQUALIZERPRESETLISTARRAY_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/inc/EqualizerPrivateConstants.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    This file contains declarations for private constants for 
+*                Equalizer
+*
+*/
+
+
+
+#ifndef EQUALIZERPRIVATECONSTANTS_H
+#define EQUALIZERPRIVATECONSTANTS_H
+
+//  INCLUDES
+
+#include <e32std.h>
+#include <bldvariant.hrh>
+#include "EqualizerConstants.h"
+
+// CONSTANTS
+
+// Used as the maximum length of a Preset name
+const TInt KMaxPresetNameLength = 32;
+// Uid of Equalizer
+const TUid KUidEqualizer = { 0x101FD659 };
+// Used to set the array granularity for dynamic arrays
+const TUint KEqualizerArrayGranularity = 4;
+// Equalizer rsc file name
+_LIT( KEqualizerResourceFileName, "Z:Equalizer.rsc" );
+// Equalizer mif file name
+_LIT(KIconsFilename, "Z:Equalizer.mbm");
+// Used if the number of bands returned from engine is 8
+const TInt KEqualizerEightBands = 8;
+// Used if the number of bands returned from engine is 5
+const TInt KEqualizerFiveBands = 5;
+// Number of slider movements
+const TInt KNumberOfSteps = 20;
+
+// for old s60 musicplayer
+//const TUid KCRUidMusicPlayerSettings = {0x101F880C};
+//const TUint32 KMPlayerEqPresetId       = 0x00000009;
+const TUid KCRUidMusicPlayerSettings = {0x101FFCDC};
+const TUint32 KMPlayerEqPresetId = 0x00000001;
+
+// MACROS
+//Used in model text
+_LIT(KEqrTab, "\t");
+
+// DATA TYPES
+
+#endif      // EQUALIZERPRIVATECONSTANTS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/inc/eq.hlp.hrh	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    RH for storing Custom Control parameters struct
+*
+*/
+
+
+
+
+
+#ifndef __EQ_HLP_HRH__
+#define __EQ_HLP_HRH__
+
+
+_LIT(KEQ_HLP_LIST_VIEW,"EQ_HLP_LIST_VIEW"); //Selecting equalizer presets vuew
+_LIT(KEQ_HLP_EDITING_VIEW,"EQ_HLP_EDITING_VIEW"); //Editing frequency presets view
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/loc/equalizer.loc	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,175 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Localisation file for Equalizer dll
+*
+*/
+
+
+
+
+// LOCALISATION STRINGS
+
+//d: Displayed if the maximum number of presets is reached
+//l: popup_note_window
+//w:
+//r:3.0
+//
+#define qtn_eq_note_err_max_preset_number_reached "Maximum number of presets reached. Delete some preset and try again"
+
+//d: Command resets the values of presets to default values 
+//l: list_single_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_options_reset "Reset values"
+
+//d: Displayed if the user tries to rename a preset which is currently active
+//l: popup_note_window
+//w:
+//r:3.0
+//
+#define qtn_eq_note_err_preset_in_use_no_rename "Preset in use. Cannot be renamed."
+
+//d: Displayed if the user tries to delete a preset which is currently active
+//l: popup_note_window
+//w:
+//r:3.0
+//
+#define qtn_eq_note_err_preset_in_use "Preset in use. Unable to delete."
+
+//d: Displayed as the default name for a preset
+//l: popup_query_data_window
+//w:
+//r:3.0
+//
+#define qtn_eq_preset_default_name "Preset"
+
+//d: Displayed when the user tries to name a new preset
+//l: popup_query_data_window
+//w:
+//r:3.0
+//
+#define qtn_eq_title_preset_name "Preset name:"
+
+//d: Displayed when the user activates a preset
+//l: popup_note_window
+//w:
+//r:3.0
+//
+#define qtn_eq_note_info_preset_activated "Activated preset: %U"
+
+//d: This command isused to rename a preset 
+//l: list_single_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_options_rename "Rename"
+
+//d: This command is used to delete a preset 
+//l: list_single_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_options_delete "Delete"
+
+//d: This command is used to create a new preset 
+//l: list_single_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_options_create_new "Create new"
+
+//d: This command is used to edit preset values 
+//l: list_single_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_options_edit "Edit"
+
+//d: This command is used to activate a preset
+//l: list_single_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_options_activate "Activate"
+
+//d: A pre-defined preset.
+//l: list_single_graphic_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_preset_rock "Rock"
+
+//d: A pre-defined preset.
+//l: list_single_graphic_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_preset_pop "Pop"
+
+//d: A pre-defined preset.
+//l: list_single_graphic_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_preset_jazz "Jazz"
+
+//d: A pre-defined preset.
+//l: list_single_graphic_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_preset_classic "Classic"
+
+//d: A pre-defined preset.
+//l: list_single_graphic_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_preset_bassboost "Bass Booster"
+
+//d: Title of the Equalizer UI
+//l: title_pane_t2/opt9
+//w:
+//r:3.0
+//
+#define qtn_eq_title_equalizer "Equalizer"
+
+//d: A pre-defined preset.
+//l: list_single_graphic_pane_t1_cp2
+//w:
+//r:3.0
+//
+#define qtn_eq_preset_none "None"
+
+//d: Frequency band label for Hz.
+//l: main_mup_eq_pane_t9/opt2
+//w:
+//r:3.2
+//
+#define qtn_eq_preset_frequency_hz "Hz"
+
+//d: Frequency band label for KHz.
+//l: main_mup_eq_pane_t10/opt2
+//w:
+//r:3.2
+//
+#define qtn_eq_preset_frequency_khz "KHz"
+
+//d:Text in middle soft key (for Equalizer CBA)
+//l:control_pane_t3/opt7
+//w:
+//r:3.2
+#define qtn_msk_eq_activate  "Activate"
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/rom/Equalizer.iby	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    IBY file for Equalizer
+*
+*/
+
+
+
+#ifndef EQUALIZER_IBY
+#define EQUALIZER_IBY
+
+S60_APP_BITMAP(Equalizer)
+file=ABI_DIR\BUILD_DIR\Equalizer.dll          SHARED_LIB_DIR\Equalizer.dll
+
+#endif
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/rom/EqualizerResources.iby	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    IBY file for Equalizer Resources
+*
+*/
+
+
+
+#ifndef EQUALIZERRESOURCES_IBY__
+#define EQUALIZERRESOURCES_IBY__
+
+REM Equalizer
+
+data=DATAZ_\APP_RESOURCE_DIR\Equalizer.rsc       APP_RESOURCE_DIR\Equalizer.rsc
+
+#endif // EQUALIZERRESOURCES_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/src/EqualizerEditingDialog.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,554 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Defines functionality related to Equalizer Settings Dialog
+*
+*/
+
+
+
+// INCLUDE FILES
+ 
+#include <bautils.h>
+#include <aknenv.h>      
+#include <avkon.hrh>
+#include <e32cmn.h>
+#include <data_caging_path_literals.hrh>
+//LAF and Skin changes 
+#include <aknlayout.cdl.h>
+#include <aknlayoutscalable_apps.cdl.h>
+#include <AknLayout2ScalableDef.h>
+#include <AknLayout2Def.h>
+#include <AknUtils.h>
+#include <bldvariant.hrh>
+#include <featmgr.h>
+#include <AudioEqualizerUtility.h>
+#include <hlplch.h>
+#include <StringLoader.h>
+#include <akntitle.h> 
+#include <aknnotewrappers.h>
+
+#include <Equalizer.rsg>
+#include "EqualizerPrivateConstants.h"
+#include <csxhelp/eq.hlp.hrh>
+#include "EqualizerEditingDialog.h"
+#include "EqualizerFreqBandContainer.h"       
+#include "Equalizer.hrh"
+
+// ============================ MEMBER FUNCTIONS =============================
+
+// -------------------------------------------------------------------
+// CEqualizerEditingDialog* CEqualizerEditingDialog::NewL(
+// CAudioEqualizerUtility& aAudEqUtility, 
+// const TInt aPresetIndex, TRect& aRect, const TBool aIsActivePreset)
+// Create instance of concrete ECOM interface implementation
+// -------------------------------------------------------------------
+// 
+CEqualizerEditingDialog* CEqualizerEditingDialog::NewL(
+CAudioEqualizerUtility* aAudEqUtility, const TInt aPresetIndex,
+ TRect& aRect, const TBool aIsActivePreset,
+ MEqualizerPresetActivationObserver& aObserver,
+ TInt aPresetKey)
+    {
+    CEqualizerEditingDialog* self = new (ELeave) CEqualizerEditingDialog(
+        aAudEqUtility, aPresetIndex, aRect, aIsActivePreset, aObserver,
+        aPresetKey);
+    CleanupStack::PushL(self); 
+    self->ConstructL();
+    CleanupStack::Pop(self); 
+    return self;
+    }
+
+// -------------------------------------------------------------------
+// CEqualizerEditingDialog::ConstructL()
+// Second Phase Constructor
+// -------------------------------------------------------------------
+// 
+void CEqualizerEditingDialog::ConstructL()
+    {
+    //Initially set these variable to EFalse
+    iIgnoreKeyEvents = EFalse;
+    iContextSensitiveMenu = EFalse;
+
+    iPresetName = iAudEqUtility->GetPresetL(iPresetIndex);
+    CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+    iNumberOfFreqBands = audioEqualizer.NumberOfBands();
+    iMover=new(ELeave)CArrayFixSeg<TInt>(KEqualizerArrayGranularity);
+
+    iFreqBandRect = RArray<TRect>(iNumberOfFreqBands);
+    iScaleRect = RArray<TRect>(iNumberOfFreqBands);
+    iBackgroundRect = RArray<TRect>(iNumberOfFreqBands);
+    iSliderRect = RArray<TRect>(iNumberOfFreqBands);
+    GetLayoutRect();
+
+    // Find which drive this DLL is installed.
+    TFileName fileName;
+
+    // Get the full resource file
+    TParse fp;
+
+    // Add the resource dir
+    fp.Set( KEqualizerResourceFileName, &KDC_APP_RESOURCE_DIR, NULL);
+    // Get the filename with full path
+    fileName = fp.FullName();
+    //for localisation of resource file
+    BaflUtils::NearestLanguageFile( iEikonEnv->FsSession(), fileName );
+    iResourceFileOffset = iEikonEnv->AddResourceFileL( fileName );
+    CAknDialog::ConstructL(R_EQUALIZER_SETTINGS_MENUBAR);
+    }
+
+// ---------------------------------------------------------------------
+// CEqualizerEditingDialog::CEqualizerEditingDialog
+// (CAudioEqualizerUtility* aAudEqUtility, TInt aPresetIndex, 
+// TRect& aRect, const TBool aIsActivePreset)
+// First phase constructor
+// ---------------------------------------------------------------------
+// 
+CEqualizerEditingDialog::CEqualizerEditingDialog(CAudioEqualizerUtility*
+aAudEqUtility, const TInt aPresetIndex, TRect& aRect, 
+const TBool aIsActivePreset, MEqualizerPresetActivationObserver& aObserver,
+TInt aPresetKey ): 
+iAudEqUtility(aAudEqUtility), 
+iPresetIndex(aPresetIndex), iRect(aRect), 
+iIsActivePreset(aIsActivePreset),
+iObserver( aObserver ), iPresetKey( aPresetKey )
+    {
+    }
+
+// --------------------------------------------------------------------
+// CEqualizerEditingDialog::~CEqualizerEditingDialog()
+// Destructor
+// --------------------------------------------------------------------
+// 
+CEqualizerEditingDialog::~CEqualizerEditingDialog()
+    {
+    if (iResourceFileOffset)
+        {
+        iEikonEnv->DeleteResourceFile(iResourceFileOffset);      
+        }
+    
+    if (iMover)
+        {
+        iMover->Reset();
+        delete iMover;
+        }
+     
+    iFreqBandRect.Close();
+    iScaleRect.Close();
+    iBackgroundRect.Close();
+    iSliderRect.Close();
+    }
+
+// --------------------------------------------------------------------
+// SEikControlInfo CEqualizerEditingDialog::
+// CreateCustomControlL  (  TInt  aControlType   )
+// This function is called by the framework to create a custom control
+// inside the dialog
+// --------------------------------------------------------------------
+// 
+SEikControlInfo CEqualizerEditingDialog::CreateCustomControlL  (  TInt 
+ aControlType   ) 
+    {
+    SEikControlInfo controlInfo;
+    controlInfo.iControl = NULL;
+    controlInfo.iTrailerTextId = 0;
+    controlInfo.iFlags = 0;
+
+    SetMoverPositionsL(EFalse);      
+   
+    switch ( aControlType)
+        {
+        case EEqualizerCustomCtrlDlgCtCustomControl:
+            controlInfo.iControl = new(ELeave) CEqualizerFreqBandContainer
+            (this, iAudEqUtility, iPresetIndex, iIsActivePreset, 
+             iRect, iObserver, iPresetKey, iPresetName); 
+             
+            iFreqBandContainer = (CEqualizerFreqBandContainer*)
+                                        controlInfo.iControl; 
+            break;
+        default:
+            break;
+        }
+    
+    return controlInfo;
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerEditingDialog::SizeChanged()
+//
+// This function is called by the framework whenever the control size 
+// is changed
+// --------------------------------------------------------------------
+//
+void CEqualizerEditingDialog::SizeChanged()
+    {
+    CAknDialog::SizeChanged();    
+    iRect = Rect();
+	GetLayoutRect();
+    CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+    iAudEqUtility->ModifyPresetL(iPresetIndex, iPresetName, audioEqualizer); 
+	iMover->Reset();
+	SetMoverPositionsL(EFalse);
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerEditingDialog::GetLayoutRect()
+//
+// This function is called to retrive the freqband rect, scale rect
+// slider rect from the layout
+// --------------------------------------------------------------------
+//
+void CEqualizerEditingDialog::GetLayoutRect()
+	{
+	iFreqBandRect.Reset();
+	iScaleRect.Reset();
+	iBackgroundRect.Reset();
+	iSliderRect.Reset();
+	
+	TInt variety = EEqualizerVarietyOne;
+        
+	if(iNumberOfFreqBands == KEqualizerFiveBands)
+		variety = EEqualizerVarietyTwo;
+	
+	for(TInt count = 0; count < iNumberOfFreqBands; count++)
+		{
+		iFreqBandRect.Append(CEqualizerFreqBand::ComponentRect(
+			iRect,variety+2,count));
+		iScaleRect.Append(CEqualizerFreqBand::ComponentRect(
+			iFreqBandRect[count],variety,EEqualizerScale));
+		iBackgroundRect.Append(CEqualizerFreqBand::ComponentRect(
+			iScaleRect[count],EEqualizerVarietyNotUsed,EEqualizerBackground));
+		iSliderRect.Append(CEqualizerFreqBand::ComponentRect(
+			iScaleRect[count],EEqualizerVarietyNotUsed,EEqualizerSlider));
+		}
+	}
+
+// --------------------------------------------------------------------
+// void CEqualizerEditingDialog::SetMoverPositionsL(TBool aReset)
+// This function is used to read the positions of the mover for the 
+// various bands from the engine.
+// --------------------------------------------------------------------
+// 
+void CEqualizerEditingDialog::SetMoverPositionsL(TBool aReset)
+    {
+    //Calulate change in db level
+    TInt32 minBandLevel;
+    TInt32 maxBandLevel;
+    iAudEqUtility->GetPresetL(iPresetIndex);
+    CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+
+    audioEqualizer.DbLevelLimits(minBandLevel, maxBandLevel);
+
+    //The minimum band level should always be negative and the
+    // maximum band level should always be positive.
+    if (( minBandLevel > 0 ) || (maxBandLevel < 0))
+        {
+        User::Leave(KErrNotSupported);
+        }
+
+    for (TInt i =0; i<iNumberOfFreqBands; i++)
+        {
+	    TInt scaleHeight = iBackgroundRect[i].Height();
+	    TInt scaleZeroPos = (iBackgroundRect[i].iTl.iY) + (scaleHeight / 2);
+
+		TInt halfSliderSize = iSliderRect[i].Height() / 2;
+		TInt sliderInc = iBackgroundRect[i].Height() / KNumberOfSteps;
+		TInt diffUIBandLevel = KNumberOfSteps / 2;
+
+        TInt curBandlevel = audioEqualizer.BandLevel(i+1);
+        
+        
+        __ASSERT_DEBUG((curBandlevel >= minBandLevel) ||
+                         (curBandlevel <= maxBandLevel), User::Invariant());
+        if ((curBandlevel < minBandLevel) || (curBandlevel > maxBandLevel))
+            {
+            curBandlevel = 0; //Band level is invalid, use zero instead.
+            }
+        
+        if (curBandlevel > 0)
+            {
+            TReal frac = (TReal)curBandlevel / maxBandLevel;
+            TInt moverPos = (TInt) (scaleZeroPos - (frac * 
+            								diffUIBandLevel * sliderInc));
+            if((moverPos < (iBackgroundRect[i].iTl.iY + halfSliderSize)) ||
+            			((scaleZeroPos - moverPos) >= (diffUIBandLevel * sliderInc)))
+            	{
+            	moverPos = iBackgroundRect[i].iTl.iY + halfSliderSize;
+            	}
+
+            if (aReset)
+                {
+                (*iMover)[i] = moverPos;    
+                }
+            else
+                {
+                iMover->AppendL(moverPos);    
+                }
+            }
+        else if (curBandlevel < 0)
+            {
+            TReal frac = (TReal)curBandlevel / minBandLevel;
+            TInt moverPos = (TInt) (scaleZeroPos + (frac * 
+            								diffUIBandLevel * sliderInc));
+            if((moverPos > ((iBackgroundRect[i].iBr.iY ) - halfSliderSize)) ||
+            		((moverPos - scaleZeroPos) >= (diffUIBandLevel * sliderInc)))
+            	{
+            	moverPos = (iBackgroundRect[i].iBr.iY ) - halfSliderSize;
+            	}
+
+            if (aReset)
+                {
+                (*iMover)[i] = moverPos;    
+                }
+            else
+                {
+                iMover->AppendL(moverPos);    
+                }
+            }
+        else
+            {
+            if (aReset)
+                {
+                (*iMover)[i] = scaleZeroPos;    
+                }
+            else
+                {
+                iMover->AppendL(scaleZeroPos);    
+                }
+            }   
+        }
+    }
+
+// ---------------------------------------------------------
+// CEqualizerEditingDialog::OfferKeyEventL(
+//     const TKeyEvent& aKeyEvent,TEventCode aType)
+// This function is used to handle key events
+// ---------------------------------------------------------
+//
+TKeyResponse CEqualizerEditingDialog::OfferKeyEventL(
+    const TKeyEvent& aKeyEvent,
+    TEventCode aType )
+    { 
+    if (iIgnoreKeyEvents)
+        {
+        return EKeyWasNotConsumed;
+        }
+    else
+        {
+        return CAknDialog::OfferKeyEventL( aKeyEvent, aType );        
+        }
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerEditingDialog::ProcessCommandL(TInt aCommandId)
+// This function is called by the framework to handle the user's
+// menubar command options
+// --------------------------------------------------------------------
+// 
+void CEqualizerEditingDialog::ProcessCommandL(TInt aCommandId)
+    {
+    // Need to do this in all cases or menu does not disappear after
+    // a selection is made
+    CAknDialog::ProcessCommandL(aCommandId);
+    
+    switch(aCommandId)
+        {
+        case EAknCmdExit :
+        case EEikCmdExit :
+            {
+            CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+			iAudEqUtility->ModifyPresetL(iPresetIndex, iPresetName, audioEqualizer);
+            iAvkonAppUi->HandleCommandL( aCommandId );
+            break;
+            }
+
+        case EEqualizerCmdHelp: 
+            {
+            HlpLauncher::LaunchHelpApplicationL
+                ( iEikonEnv->WsSession(),
+                 CEikonEnv::Static()->AppUi()->AppHelpContextL() );
+            break;
+            }
+
+        case EEqualizerCmdReset:
+            {
+            iAudEqUtility->GetPresetL(iPresetIndex);
+            CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+ 
+            if (iPresetIndex < iAudEqUtility->NumberOfPreDefinedPresets())
+                 {
+                 //Predefined preset
+                 iAudEqUtility->ResetPresetL(iPresetIndex);     
+                 SetMoverPositionsL(ETrue);
+                 }
+             else
+                 {
+                 //User defined preset, Reset manually
+                 for (TInt i =0; i<iNumberOfFreqBands; i++)
+                     {
+					 TInt scaleHeight = iBackgroundRect[i].Height();
+				     TInt scaleZeroPos = (iBackgroundRect[i].iTl.iY) 
+				     									+ (scaleHeight / 2);
+				     (*iMover)[i] = scaleZeroPos;
+                     audioEqualizer.SetBandLevelL(i+1, 0);
+                     }
+                 iAudEqUtility->ModifyPresetL(iPresetIndex, iPresetName, 
+                   audioEqualizer);    
+                 }
+
+             if (iIsActivePreset)
+                 {
+                 TRAP_IGNORE(iAudEqUtility->ApplyPresetL(iPresetIndex));
+                 }
+             
+             // In MPX, we need to callback to observer when a preset is changed
+             if( iIsActivePreset )
+                 {
+                 iObserver.HandlePresetActivation( iPresetKey );
+                 }
+    		 iFreqBandContainer->SetRect(iRect);
+             DrawNow();
+             break;
+             }
+              
+        default:
+            {
+            break;
+            }
+        }
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerEditingDialog::GetHelpContext( 
+//            TCoeHelpContext& aContext ) const
+// Get help context for the control
+// --------------------------------------------------------------------
+//         
+void CEqualizerEditingDialog::GetHelpContext( 
+            TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KUidEqualizer;
+    aContext.iContext = KEQ_HLP_EDITING_VIEW;
+    }
+
+// ---------------------------------------------------------------------------
+// CEqualizerEditingDialog::DynInitMenuPaneL(
+//                              TInt aResourceId,CEikMenuPane* aMenuPane)
+//  This function is called by the EIKON framework just before it displays
+//  a menu pane. Its default implementation is empty, and by overriding it,
+//  the application can set the state of menu items dynamically according
+//  to the state of application data.
+// ---------------------------------------------------------------------------
+//
+void CEqualizerEditingDialog::DynInitMenuPaneL(
+                        TInt aResourceId, CEikMenuPane* aMenuPane)
+    {
+    if ( aResourceId == R_EQUALIZER_SETTINGS_MENU)
+        {
+        iMenuBar->SetMenuType(CEikMenuBar::EMenuOptions);
+        // Help should be displayed only if the feature is supported
+        // according to Feature Manager
+        if (!FeatureManager::FeatureSupported(KFeatureIdHelp))
+            {
+            aMenuPane->SetItemDimmed(EEqualizerCmdHelp, ETrue);
+            }
+            
+        if(iContextSensitiveMenu)
+        	{
+        	iMenuBar->SetMenuType(CEikMenuBar::EMenuContext);
+          	aMenuPane->SetItemDimmed(EAknCmdExit, ETrue);
+          	aMenuPane->SetItemDimmed(EEqualizerCmdHelp, ETrue);
+			iContextSensitiveMenu = EFalse;
+        	}
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// CEqualizerEditingDialog::SetAudioEqualizerL(CAudioEqualizerUtility* 
+// aAudEqUtility)
+// This function is used to set a new CAudioEqualizerUtility* 
+// ----------------------------------------------------------------------------
+//    
+void CEqualizerEditingDialog::SetAudioEqualizerL(
+CAudioEqualizerUtility* aAudEqUtility)
+	{
+	iAudEqUtility=aAudEqUtility;
+	if (iAudEqUtility)
+	    {
+	    iIgnoreKeyEvents = EFalse;
+	    iFreqBandContainer->SetAudioEqualizerL(aAudEqUtility);
+	    }
+	else
+	    {
+	    iIgnoreKeyEvents = ETrue; 
+	    }
+	}
+	
+// -------------------------------------------------------------------
+// TInt CEqualizerEditingDialog::ExecuteLD()
+// This function is called to execute and delete the dialog
+// --------------------------------------------------------------------
+// 
+TInt CEqualizerEditingDialog::ExecuteLD()
+    {
+    return CAknDialog::ExecuteLD(R_EQUALIZER_EDITING_DIALOG);
+    }                    
+
+// -------------------------------------------------------------------
+// TBool CEqualizerEditingDialog::OkToExitL(TInt aButtonId)
+// This function is called when the OK key is pressed
+// --------------------------------------------------------------------
+// 
+TBool CEqualizerEditingDialog::OkToExitL(TInt aButtonId)
+    {
+    TBool ret = EFalse;
+    if (aButtonId == EEikBidOk)
+        {
+        ret = EFalse;
+        }
+    else if (aButtonId == EAknSoftkeyBack) 
+        {
+        CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+        iAudEqUtility->ModifyPresetL(iPresetIndex, iPresetName, audioEqualizer);
+        
+        HBufC* iTitleText = StringLoader::LoadLC(R_QTN_EQUALIZER_TITLE_TEXT);
+        CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
+        CAknTitlePane* tp=(CAknTitlePane*)sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
+        tp->SetTextL(*iTitleText);
+        CleanupStack::PopAndDestroy(iTitleText);
+    
+    	ret = CAknDialog::OkToExitL( aButtonId ); 
+        }        
+    else if(aButtonId == EAknSoftkeyContextOptions)
+        {
+        iContextSensitiveMenu = ETrue;
+    	 DisplayMenuL();
+        }
+    else 
+        {
+        ret = CAknDialog::OkToExitL( aButtonId );        
+        }   
+    return ret;
+    } 
+    
+// -------------------------------------------------------------------
+// TInt CEqualizerEditingDialog::GetMoverPosition(TInt aBandIndex)
+// This function returns the current mover position for each frequency band
+// --------------------------------------------------------------------
+// 
+TInt CEqualizerEditingDialog::GetMoverPosition(TInt aBandIndex)
+{
+	return (*iMover)[aBandIndex];
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/src/EqualizerFreqBand.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,741 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Defines functionality related to Equalizer Frequency band
+*
+*/
+
+
+
+// INCLUDE FILES
+
+#include <eikdef.h>
+#include <e32math.h>
+#include <AknUtils.h>
+#include <AknsDrawUtils.h>
+#include <bautils.h>
+#include <data_caging_path_literals.hrh> 
+//LAF and Skin changes
+#include <AknIconUtils.h>
+#include <AknsUtils.h>
+#include <AknsConstants.h>
+#include <AknsDrawUtils.h>
+#include <aknlayout.cdl.h>
+#include <aknlayoutscalable_apps.cdl.h>
+#include <AknLayout2ScalableDef.h>
+#include <AknLayout2Def.h>
+#include <AudioEqualizerUtility.h>
+#if defined(RD_TACTILE_FEEDBACK)
+#include <touchfeedback.h>
+#endif
+
+#include <equalizer.mbg>
+#include "EqualizerPrivateConstants.h"
+#include "EqualizerEditingDialog.h"
+#include "EqualizerFreqBand.h"
+#include "Equalizer.hrh"
+
+// ============================ MEMBER FUNCTIONS =============================
+
+//============================================================================
+// -----> CEqualizerFreqBand (implementation)
+//============================================================================
+
+// ----------------------------------------------------------------------------
+// CEqualizerFreqBand* CEqualizerFreqBand::NewL(CEqualizerEditingDialog* aEqEditingDialog,
+//    CAudioEqualizerUtility*& aAudEqUtility, CAudioEqualizer& aAudEqualizer,
+//     const TInt aPresetIndex, const TBool aIsActivePreset,
+//    const TInt aBandIndex, TInt& aMoverPos, TRect& aRect)
+//
+// Two Phase construction
+// ----------------------------------------------------------------------------
+//
+CEqualizerFreqBand* CEqualizerFreqBand::NewL(CEqualizerEditingDialog* aEqEditingDialog,
+    CAudioEqualizerUtility*& aAudEqUtility, const TInt aPresetIndex,
+    const TBool aIsActivePreset, const TInt aBandIndex, 
+    TRect& aRect)
+    {
+    CEqualizerFreqBand* self = CEqualizerFreqBand::NewLC(aEqEditingDialog, aAudEqUtility,
+     aPresetIndex, aIsActivePreset, aBandIndex, 
+     aRect);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+// ----------------------------------------------------------------------------
+// CEqualizerFreqBand* CEqualizerFreqBand::NewLC(CEqualizerEditingDialog* aEqEditingDialog,
+// CAudioEqualizerUtility*& aAudEqUtility, const TInt aPresetIndex,
+// const TBool aIsActivePreset,   const TInt aBandIndex, TInt& aMoverPos, 
+// TRect& aRect)
+// Two Phase construction
+// ----------------------------------------------------------------------------
+//
+CEqualizerFreqBand* CEqualizerFreqBand::NewLC(CEqualizerEditingDialog* aEqEditingDialog,
+    CAudioEqualizerUtility*& aAudEqUtility, const TInt aPresetIndex,
+    const TBool aIsActivePreset, const TInt aBandIndex, 
+    TRect& aRect)
+    {
+    CEqualizerFreqBand* self = new (ELeave) CEqualizerFreqBand(aEqEditingDialog, aAudEqUtility,
+    aPresetIndex, aIsActivePreset, aBandIndex, 
+    aRect);
+    CleanupStack::PushL(self); 
+    self->ConstructL();
+    return self;
+    }    
+// ----------------------------------------------------------------------------
+//CEqualizerFreqBand::CEqualizerFreqBand(CEqualizerEditingDialog* aEqEditingDialog,
+//    CAudioEqualizerUtility*& aAudEqUtility, 
+//     const TPresetName& aPresetName, const TBool aIsActivePreset,
+//    const TInt aBandIndex, TInt& aMoverPos, TRect& aRect) 
+//
+// First phase constructor
+// ----------------------------------------------------------------------------
+CEqualizerFreqBand::CEqualizerFreqBand(CEqualizerEditingDialog* aEqEditingDialog, 
+    CAudioEqualizerUtility*& aAudEqUtility, const TInt aPresetIndex, 
+    const TBool aIsActivePreset,
+    const TInt aBandIndex,  TRect& aContainerRect) 
+    : iEqEditingDialog(aEqEditingDialog), iAudEqUtility(aAudEqUtility), iPresetIndex(aPresetIndex), 
+    iIsActivePreset(aIsActivePreset), iBandIndex(aBandIndex), 
+    iContainerRect(aContainerRect)
+    {
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerFreqBand::ConstructL() 
+//
+// Second phase constructor
+// --------------------------------------------------------------------
+//
+void CEqualizerFreqBand::ConstructL() 
+    {
+    LoadBitmapsL();
+    iPresetName = iAudEqUtility->GetPresetL(iPresetIndex);
+    iAudioEqualizer = &iAudEqUtility->Equalizer();
+    iAudioEqualizer->DbLevelLimits(iMinBandLevel, iMaxBandLevel);
+    }
+
+// -------------------------------------------------------------------
+// CEqualizerFreqBand::~CEqualizerFreqBand()
+//
+// Destructor
+// --------------------------------------------------------------------
+//    
+CEqualizerFreqBand::~CEqualizerFreqBand()
+    { 
+    delete iBgBitmap;
+    delete iBgBitmapMask;
+    delete iSliderBitmap;
+    delete iSliderBitmapMask;
+
+#if defined(RD_TACTILE_FEEDBACK)
+   MTouchFeedback* feedback = MTouchFeedback::Instance();
+   if (feedback)
+       {
+   	   feedback->RemoveFeedbackForControl(this);
+       }
+#endif
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerFreqBand::Draw(const TRect& aRect) const
+//
+// Function to draw the control
+// --------------------------------------------------------------------
+//
+void CEqualizerFreqBand::Draw(const TRect& /*aRect*/) const
+    {
+    CWindowGc& gc=SystemGc();
+    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
+    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
+    AknsDrawUtils::Background( skinInstance, cc, this, gc, iBackgroundRect );
+    TRect innerRect = iBackgroundRect;
+    innerRect.Shrink( TSize( 5, 5) );
+	if (IsFocused())
+		{
+   			
+   		AknsDrawUtils::DrawFrame( skinInstance, gc, iBackgroundRect, 
+   						innerRect,KAknsIIDQsnFrGrid, KAknsIIDQsnFrGridCenter);		
+		}
+    					
+	gc.BitBltMasked(iBackgroundRect.iTl,iBgBitmap, TRect(TPoint(), 
+					iBackgroundRect.Size()), iBgBitmapMask, ETrue);
+	
+	TInt halfSliderSize = iSliderRect.Height() / 2;
+	TInt sliderRectYCoord = iSliderRect.iTl.iY;
+	TInt yCoordOffset = ((iMoverPos - sliderRectYCoord) - halfSliderSize);
+	TRect tempSliderRect = iSliderRect;
+	tempSliderRect.Move(0,yCoordOffset);
+	
+    gc.BitBltMasked(tempSliderRect.iTl,iSliderBitmap,TRect(TPoint(), 
+    						tempSliderRect.Size()),iSliderBitmapMask,ETrue);
+	}
+// -------------------------------------------------------------------
+// void CEqualizerFreqBand::SizeChanged()
+//
+// This function is called by the framework whenever the control size 
+// is changed
+// --------------------------------------------------------------------
+void CEqualizerFreqBand::SizeChanged()
+    {
+	TInt variety = EEqualizerVarietyOne;
+
+    CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+    TUint numberOfFreqBands = audioEqualizer.NumberOfBands();
+        
+	if(numberOfFreqBands == KEqualizerFiveBands)
+	    {
+	    variety = EEqualizerVarietyTwo;
+	    }
+   
+	iScaleRect = ComponentRect(Rect(),
+									variety,EEqualizerScale);
+	iBackgroundRect = ComponentRect(iScaleRect,
+								EEqualizerVarietyNotUsed,EEqualizerBackground);
+ 	iSliderRect = ComponentRect(iScaleRect,
+ 									EEqualizerVarietyNotUsed,EEqualizerSlider);
+
+#if defined(RD_TACTILE_FEEDBACK)
+	MTouchFeedback* feedback = MTouchFeedback::Instance();
+	if (feedback)
+		{
+		feedback->SetFeedbackArea(this, 0, iBackgroundRect,
+			ETouchFeedbackBasic, ETouchEventStylusDown);
+		}
+#endif
+
+	AknIconUtils::SetSize(iBgBitmap,iBackgroundRect.Size(), EAspectRatioNotPreserved);
+	AknIconUtils::SetSize(iBgBitmapMask,iBackgroundRect.Size(), EAspectRatioNotPreserved);
+	
+	AknIconUtils::SetSize(iSliderBitmap,iSliderRect.Size(), EAspectRatioNotPreserved);
+    AknIconUtils::SetSize(iSliderBitmapMask,iSliderRect.Size(), EAspectRatioNotPreserved);
+    
+    TInt scaleHeight = iBackgroundRect.Height();
+    TInt zeroCoord = iBackgroundRect.iTl.iY + (scaleHeight / 2);
+    iZeroPos = zeroCoord;  
+    iMoverPos = iEqEditingDialog->GetMoverPosition(iBandIndex);
+    
+    TInt sliderInc = iBackgroundRect.Height() / KNumberOfSteps;
+    TReal res,frac;
+    frac = (TReal)(iMoverPos - iZeroPos) / sliderInc;
+    Math::Round(res,frac,0);
+    Math::Int(iStepCount,res);
+    iStepCount += KNumberOfSteps / 2;
+    if(iStepCount > KNumberOfSteps)
+    	{
+    	iStepCount = KNumberOfSteps;
+    	}
+    if(iStepCount < 0)
+    	{
+    	iStepCount = 0;
+    	}
+
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerFreqBand::FocusChanged(TDrawNow aDrawNow)
+//
+// This function is called by the framework whenever the control's 
+// focus is changed
+// --------------------------------------------------------------------
+//
+void CEqualizerFreqBand::FocusChanged(TDrawNow aDrawNow)
+    {
+    if (aDrawNow)
+        {
+        DrawNow();        
+        }
+    }
+    
+// -------------------------------------------------------------------
+// void CEqualizerFreqBand::HandleResourceChange(TInt aType)
+//
+// This function is called by the framework whenever there is a 
+// change in skin
+// -------------------------------------------------------------------
+void CEqualizerFreqBand::HandleResourceChange(TInt aType)
+    {
+    if (aType == KAknsMessageSkinChange)
+        {
+        TInt tempMoverPos = iMoverPos;
+        LoadBitmapsL();
+        SizeChanged();
+        iMoverPos = tempMoverPos;
+        DrawNow();
+        }
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerFreqBand::LoadBitmapsL()
+// This function is called to load the bitmaps from the icons file
+// --------------------------------------------------------------------
+//     
+void CEqualizerFreqBand::LoadBitmapsL()
+    {
+    // Find which drive this DLL is installed.
+    TFileName fileName;
+    // Get the full resource file
+    TParse fp;
+    // Add the resource dir
+    fp.Set( KIconsFilename, &KDC_APP_BITMAP_DIR, NULL);
+    // Get the filename with full path
+    fileName = fp.FullName(); 
+
+    MAknsSkinInstance * skinInstance;
+    skinInstance = AknsUtils::SkinInstance();
+    
+    //Destroying previously created background icons
+    if (iBgBitmap)
+    	{
+    	delete iBgBitmap;
+    	iBgBitmap = NULL;
+    	}
+    	
+    if (iBgBitmapMask)
+    	{
+    	delete iBgBitmapMask;
+    	iBgBitmapMask = NULL;
+    	}
+    
+    //Destroying previously created slider icons
+    if (iSliderBitmap)
+    	{
+    	delete iSliderBitmap;
+    	iSliderBitmap = NULL;
+    	}
+    
+    if (iSliderBitmapMask)
+    	{
+    	delete iSliderBitmapMask;
+    	iSliderBitmapMask = NULL;
+    	}
+    
+    //Creating the background icon
+    AknsUtils::CreateIconL(skinInstance,KAknsIIDQgnIndiMupEqBg,
+                           iBgBitmap,iBgBitmapMask,fileName,
+                           EMbmEqualizerQgn_indi_mup2_eq_bg,
+                           EMbmEqualizerQgn_indi_mup2_eq_bg_mask);
+    
+    //Creating the slider icon
+    AknsUtils::CreateIconL(skinInstance,KAknsIIDQgnIndiMupEqSlider,
+                           iSliderBitmap,iSliderBitmapMask,fileName,
+                           EMbmEqualizerQgn_indi_mup_eq_slider,
+                           EMbmEqualizerQgn_indi_mup_eq_slider_mask);
+    }       
+
+// -------------------------------------------------------------------
+// void CEqualizerFreqBand::UpdateBandLevelInEngineL()
+// This function is called to update the engine with the new band level
+// --------------------------------------------------------------------
+// 
+void CEqualizerFreqBand::UpdateBandLevelInEngineL(TBool lastIncFlag)
+    {
+    //Update engine
+	TInt sliderInc = iBackgroundRect.Height() / KNumberOfSteps;
+    TInt diffUIBandLevel = KNumberOfSteps / 2;
+    TInt bandLevel;
+    TReal frac;
+    TInt sliderNoOfPix;
+    TInt actualNoOfPix;
+    TInt pixDiff;
+    TReal fracDiff;
+        
+    if (iMoverPos > iZeroPos)
+        {
+        frac = (TReal)(iMoverPos - iZeroPos) / ((TReal)diffUIBandLevel * sliderInc);
+		if(lastIncFlag)
+			{
+			sliderNoOfPix = diffUIBandLevel * sliderInc;
+			actualNoOfPix = iMoverPos - iZeroPos;
+			if(sliderNoOfPix > actualNoOfPix)
+				{
+				pixDiff = sliderNoOfPix - actualNoOfPix;
+				fracDiff = (TReal)pixDiff / ((TReal)diffUIBandLevel * sliderInc);
+				frac += fracDiff;				
+				}
+			else
+				{
+				pixDiff = actualNoOfPix - sliderNoOfPix;
+				fracDiff = (TReal)pixDiff / ((TReal)diffUIBandLevel * sliderInc);
+				frac -= fracDiff;				
+				}
+			}
+		if (frac > 1)
+			{
+			frac = 1;
+			}
+		else
+		if (frac < -1)
+			{
+			frac = -1;
+			}
+        bandLevel=(TInt)(frac * iMinBandLevel);        
+        }
+    else if (iMoverPos < iZeroPos)
+        {
+        frac = (TReal)(iZeroPos - iMoverPos) / ((TReal)diffUIBandLevel * sliderInc);
+        if(lastIncFlag)						
+			{
+			sliderNoOfPix = diffUIBandLevel * sliderInc;
+			actualNoOfPix = iZeroPos - iMoverPos;
+			if(sliderNoOfPix > actualNoOfPix)
+				{
+				pixDiff = sliderNoOfPix - actualNoOfPix;
+				fracDiff = (TReal)pixDiff / ((TReal)diffUIBandLevel * sliderInc);
+				frac += fracDiff;				
+				}
+			else
+				{
+				pixDiff = actualNoOfPix - sliderNoOfPix;
+				fracDiff = (TReal)pixDiff / ((TReal)diffUIBandLevel * sliderInc);
+				frac -= fracDiff;				
+				}
+			}
+		if (frac > 1)
+			{
+			frac = 1;
+			}
+		else
+		if (frac < -1)
+			{
+			frac = -1;
+			}
+        bandLevel=(TInt)(frac * iMaxBandLevel);   
+        }
+    else
+        {
+        bandLevel = 0;
+        }   
+       
+//RDebug::Printf("Todd1 ==> bnad index=%d, Level set = %d", iBandIndex+1, bandLevel);
+    iAudioEqualizer->SetBandLevelL(iBandIndex+1, bandLevel);     
+
+    if (iIsActivePreset) 
+        {
+        TInt err;
+        TRAP(err, iAudioEqualizer->EnableL());	
+        }
+   }
+
+// -------------------------------------------------------------------
+// TKeyResponse CEqualizerFreqBand::OfferKeyEventL
+// (const TKeyEvent& aKeyEvent,TEventCode aType)
+// This function is called to handle key events
+// --------------------------------------------------------------------
+//
+TKeyResponse CEqualizerFreqBand::OfferKeyEventL(const TKeyEvent& aKeyEvent,
+TEventCode aType)
+    {
+    TKeyResponse ret = EKeyWasNotConsumed;
+    
+    TInt halfSliderSize = iSliderRect.Height() / 2;
+    TInt sliderInc = iBackgroundRect.Height() / KNumberOfSteps;
+	TInt nextInc;
+	TBool lastIncFlag = 0;
+	
+    if (aType==EEventKey && (aKeyEvent.iScanCode==EStdKeyDownArrow ))
+        {
+        if (iMoverPos < (iBackgroundRect.iBr.iY - halfSliderSize))
+         	{
+            nextInc = sliderInc;
+            iStepCount += 1;
+            if(((iMoverPos + nextInc) <= 
+            				(iBackgroundRect.iBr.iY - halfSliderSize))
+            				&& (iStepCount != KNumberOfSteps))
+            	{
+            	TInt offset = Abs(iMoverPos - iZeroPos) % sliderInc;
+            	if(offset==0)
+            		iMoverPos += nextInc ;
+            	else
+            		{
+            		//iStepCount--;
+            		if(iMoverPos>iZeroPos)	
+            	   		iMoverPos+= sliderInc - offset;
+            	
+            		if(iMoverPos<iZeroPos)
+            	    	iMoverPos+= sliderInc + offset;
+            		}
+            	}
+		    else
+		    	{
+		    	nextInc = (iBackgroundRect.iBr.iY - halfSliderSize)
+		    								 - iMoverPos;
+		    	iMoverPos += nextInc;
+		    	
+		    	if(iStepCount > KNumberOfSteps )
+		    	    iStepCount = KNumberOfSteps;
+		    	}
+            if(((iMoverPos) == (iBackgroundRect.iBr.iY - halfSliderSize)) ||
+            			(iStepCount == KNumberOfSteps))
+            	{
+            	lastIncFlag = 1;
+            	}
+            //Update engine
+            UpdateBandLevelInEngineL(lastIncFlag);
+            }
+        DrawNow();
+        ret = EKeyWasConsumed;
+        }
+    else if (aType==EEventKey && (aKeyEvent.iScanCode==EStdKeyUpArrow))
+        {
+        if (iMoverPos > (iBackgroundRect.iTl.iY+halfSliderSize))
+            {
+            nextInc = sliderInc;
+            iStepCount -= 1;
+            if(((iMoverPos - nextInc) >= (iBackgroundRect.iTl.iY + halfSliderSize))
+            			&& (iStepCount != 0))
+            	{
+            	TInt offset = Abs(iMoverPos - iZeroPos) % sliderInc;
+            	if(offset==0)
+               		iMoverPos -= nextInc;
+            	else
+            		{
+            		//iStepCount++; 
+            		if(iMoverPos>iZeroPos)	
+            	   		iMoverPos-= nextInc + offset;
+            	
+            		if(iMoverPos<iZeroPos)
+            	   		iMoverPos-= sliderInc - offset;
+            		}
+            	}
+            else
+            	{
+            	nextInc = iMoverPos - (iBackgroundRect.iTl.iY + halfSliderSize);
+            	iMoverPos -= nextInc;
+            	
+            	if(iStepCount < 0 )
+		    	    iStepCount = 0;
+            	}
+            if(((iMoverPos) == (iBackgroundRect.iTl.iY + halfSliderSize)) ||
+            			(iStepCount == 0))
+            	{
+            	lastIncFlag = 1;
+            	}
+            //Update engine
+            UpdateBandLevelInEngineL(lastIncFlag);
+            }
+        DrawNow();
+        ret = EKeyWasConsumed;
+        }
+    else
+        {
+        ret = EKeyWasNotConsumed;
+        }
+    return ret;
+    }
+
+// ----------------------------------------------------------------------------
+// TRect CEqualizerFreqBand::ComponentRect(const TRect& aRect, TInt aVariety, 
+//                                                    TInt aComponentNumber)
+// This function is called to return the rect of a control after reading the 
+// layout information from the CDL file. It returns the rect for the control 
+// based on the Enumerated member sent as a parameter
+// ----------------------------------------------------------------------------
+//
+TRect CEqualizerFreqBand::ComponentRect(const TRect& aRect, TInt aVariety, 
+                                                    TInt aComponentNumber)
+    {
+    TAknWindowComponentLayout lLayout;
+    
+    switch(aComponentNumber)
+        {
+        case EEqualizerFreqBand1:    lLayout = AknLayoutScalable_Apps::
+                                            mup_equalizer_pane(aVariety);
+                                    break;
+                                    
+        case EEqualizerFreqBand2:    lLayout = AknLayoutScalable_Apps::
+                                            mup_equalizer_pane_cp1(aVariety);
+                                    break;
+                                    
+        case EEqualizerFreqBand3:    lLayout = AknLayoutScalable_Apps::
+                                            mup_equalizer_pane_cp2(aVariety);
+                                    break;
+                                    
+        case EEqualizerFreqBand4:    lLayout = AknLayoutScalable_Apps::
+                                            mup_equalizer_pane_cp3(aVariety);
+                                    break;
+                                    
+        case EEqualizerFreqBand5:    lLayout = AknLayoutScalable_Apps::
+                                            mup_equalizer_pane_cp4(aVariety);
+                                    break;
+
+        case EEqualizerFreqBand6:    lLayout = AknLayoutScalable_Apps::
+                                            mup_equalizer_pane_cp5(1);
+                                    break;
+
+        case EEqualizerFreqBand7:    lLayout = AknLayoutScalable_Apps::
+                                            mup_equalizer_pane_cp6(1);
+                                    break;
+
+        case EEqualizerFreqBand8:    lLayout = AknLayoutScalable_Apps::
+                                            mup_equalizer_pane_cp7(1);
+                                    break;
+                                    
+        case EEqualizerMainPane:    lLayout = AknLayoutScalable_Apps::
+                                            main_mup_eq_pane();
+                                    break;
+
+        case EEqualizerScale:         lLayout = AknLayoutScalable_Apps::
+                                            mup_scale_pane(aVariety);
+                                    break;
+
+        case EEqualizerBackground:    lLayout = AknLayoutScalable_Apps::
+                                            mup_scale_pane_g1();
+                                    break;
+
+        case EEqualizerSlider:        lLayout = AknLayoutScalable_Apps::
+                                            mup_scale_pane_g2();
+                                    break;
+
+        default:                    break;
+        }
+    
+    TAknLayoutRect lLayoutRect;
+    lLayoutRect.LayoutRect(aRect,lLayout.LayoutLine());
+    
+    TRect rect = lLayoutRect.Rect();
+    return (rect);
+    }
+
+// ----------------------------------------------------------------------------
+// CEqualizerFreqBand::SetAudioEqualizerL(CAudioEqualizerUtility* 
+// aAudEqUtility)
+// This function is used to set a new CAudioEqualizerUtility* 
+// ----------------------------------------------------------------------------
+//    
+void CEqualizerFreqBand::SetAudioEqualizerL(
+CAudioEqualizerUtility* aAudEqUtility)
+	{
+	
+	// Save the user's settings
+	iAudEqUtility->ModifyPresetL(iPresetIndex, iPresetName, *iAudioEqualizer);
+	
+	// Set new value for CAudioEqualizerUtility
+	__ASSERT_DEBUG((iAudEqUtility != NULL), User::Invariant());
+	iAudEqUtility = aAudEqUtility;
+	iPresetName = iAudEqUtility->GetPresetL(iPresetIndex);
+    iAudioEqualizer = &iAudEqUtility->Equalizer();
+	}
+
+#ifdef RD_SCALABLE_UI_V2
+// ----------------------------------------------------------------------------
+// CEqualizerFreqBand::HandlePointerEventL(const TPointerEvent&  
+// aPointerEvent)
+// This function is used handle pen input events 
+// ----------------------------------------------------------------------------
+//    
+void CEqualizerFreqBand::HandlePointerEventL(const TPointerEvent& aPointerEvent)
+	{
+    TInt pos;
+	TInt halfSliderSize = iSliderRect.Height() / 2;
+    TInt sliderInc = iBackgroundRect.Height() / KNumberOfSteps;
+    TInt offset;
+	TBool lastIncFlag = 0;
+#if defined(RD_TACTILE_FEEDBACK)
+	MTouchFeedback* feedback = NULL;
+#endif
+
+	if ( aPointerEvent.iPosition.iY < iBackgroundRect.iTl.iY )
+		{
+		pos = iBackgroundRect.iTl.iY;
+		}
+	else if ( aPointerEvent.iPosition.iY > iBackgroundRect.iBr.iY )
+		{
+		pos = iBackgroundRect.iBr.iY;
+		}
+	else
+		{
+		pos = aPointerEvent.iPosition.iY;
+		}
+
+	if (AknLayoutUtils::PenEnabled())
+		{
+		switch (aPointerEvent.iType)
+            {
+            case TPointerEvent::EButton1Down:
+                break;
+
+            case TPointerEvent::EButton1Up:
+            	offset = Abs(pos- iZeroPos) % sliderInc;
+
+            	if(pos<= iZeroPos)
+	            	{
+	               	if(offset!=0)
+            			{
+	            		if(offset <= (sliderInc/2))
+	            	   		pos+= offset;
+	            		else
+	            	    	pos+= offset - sliderInc;
+	            		}
+	            	}
+	            else
+	            	{
+	            	if(offset!=0)
+		            	{
+		            	if(offset <= (sliderInc/2))
+	            	   		pos-= offset;
+	            	    else
+	            	   		pos+= sliderInc - offset;
+		            	}
+	            	}
+
+	            iStepCount = (pos - iBackgroundRect.iTl.iY)/sliderInc;
+
+	            if(iStepCount == 0)
+		            {
+		            lastIncFlag = 1;
+		            pos = iBackgroundRect.iTl.iY + halfSliderSize;
+		            }
+
+	            if(iStepCount >= KNumberOfSteps)
+		            {
+		            lastIncFlag = 1;
+		            pos = iBackgroundRect.iBr.iY - halfSliderSize;
+		            }
+
+                iMoverPos = pos;
+	            UpdateBandLevelInEngineL(lastIncFlag);
+	            DrawNow();
+                break;
+
+            case TPointerEvent::EDrag:
+#if defined(RD_TACTILE_FEEDBACK)
+            	feedback = MTouchFeedback::Instance();
+				if (feedback)
+				    {
+					feedback->InstantFeedback(ETouchFeedbackSensitive);
+	                }
+#endif
+                if(pos< (iBackgroundRect.iTl.iY + halfSliderSize))
+                    {
+                	pos = iBackgroundRect.iTl.iY + halfSliderSize;
+                	lastIncFlag = 1;
+                    }
+
+                if(pos> (iBackgroundRect.iBr.iY - halfSliderSize))
+                    {
+                	pos=iBackgroundRect.iBr.iY - halfSliderSize;
+                	lastIncFlag = 1;
+                    }
+
+                iMoverPos = pos;
+	            UpdateBandLevelInEngineL(lastIncFlag);
+	            DrawNow();
+                break;
+            default:
+//RDebug::Printf("Todd2 %d=", aPointerEvent.iType);
+                break;
+            }
+		}
+	}
+#endif //RD_SCALABLE_UI_V2
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/src/EqualizerFreqBandContainer.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,709 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Defines functionality related to Equalizer Frequency Band 
+*                Container
+*
+*/
+
+
+
+// INCLUDE FILES
+
+#include <AknUtils.h>
+#include <AknsDrawUtils.h>
+#include <bautils.h>
+#include <AknsBasicBackgroundControlContext.h> 
+#include <data_caging_path_literals.hrh>
+
+//LAF and Skin changes
+#include <AknIconUtils.h>
+#include <AknsUtils.h>
+#include <AknsConstants.h>
+#include <aknlayout.cdl.h>
+#include <aknlayoutscalable_apps.cdl.h>
+#include <AknLayout2ScalableDef.h>
+#include <AknLayout2Def.h>
+#include <AudioEqualizerUtility.h>
+#include <eiklabel.h>
+#include <StringLoader.h>
+#include <Equalizer.rsg>
+#include <layoutmetadata.cdl.h>
+#include <e32math.h>
+
+#include "EqualizerPrivateConstants.h"
+#include "EqualizerEditingDialog.h"
+#include "EqualizerFreqBand.h"
+#include "EqualizerFreqBandContainer.h"
+#include "Equalizer.hrh"
+
+_LIT(KLabelFormatInt,"%d");
+_LIT(KLabelFormatFloat,"%.1f");
+
+// ============================ MEMBER FUNCTIONS =============================
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// -----> CEqualizerFreqBandContainer (implementation)
+//
+//////////////////////////////////////////////////////////////////////////////
+
+// -------------------------------------------------------------------
+// CEqualizerFreqBandContainer::CEqualizerFreqBandContainer
+//(CAudioEqualizerUtility* aAudEqUtility,  TInt aPresetIndex,
+// TRect& aRect)
+//
+// First phase constructor
+// --------------------------------------------------------------------
+// 
+CEqualizerFreqBandContainer::CEqualizerFreqBandContainer(
+	CEqualizerEditingDialog* aEqEditingDialog,
+    CAudioEqualizerUtility* aAudEqUtility, TInt aPresetIndex, 
+    const TBool aIsActivePreset, TRect& aRect,
+    MEqualizerPresetActivationObserver& aObserver,
+    TInt aPresetKey, TPresetName& aPresetName )
+     :iEqEditingDialog(aEqEditingDialog), iAudEqUtility(aAudEqUtility), iPresetIndex(aPresetIndex), 
+     iIsActivePreset(aIsActivePreset), iRect(aRect), iObserver( aObserver ), iPresetKey( aPresetKey ),
+     iBandSelected(EFalse), iPresetName( aPresetName )
+    {
+    }
+
+// -------------------------------------------------------------------
+// CEqualizerFreqBandContainer::~CEqualizerFreqBandContainer()
+//
+// Destructor
+// --------------------------------------------------------------------
+//     
+CEqualizerFreqBandContainer::~CEqualizerFreqBandContainer()
+    {
+    delete iBackGround; 
+    if (iFreqBand)
+        {
+        iFreqBand->ResetAndDestroy(); //delete items
+        delete (iFreqBand);
+        }
+    if (iFreqLabels)
+        {
+        iFreqLabels->ResetAndDestroy(); //delete items
+        delete (iFreqLabels);
+        }
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerFreqBandContainer::ConstructL(TRect& aRect)
+//
+// Because CEqualizerFreqBandContainer is a compound control, it needs a
+// ConstructL() for when it's created outside a dialog, and a
+// ConstructFromResourceL() for when it's created inside a dialog.
+// --------------------------------------------------------------------
+//     
+void CEqualizerFreqBandContainer::ConstructL(TRect& aRect)
+    {
+    iBackGround = CAknsBasicBackgroundControlContext::NewL
+    	( KAknsIIDQsnBgAreaMain, Rect(), EFalse );
+    iAudEqUtility->GetPresetL(iPresetIndex);
+    CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+    iNumberOfFreqBands = audioEqualizer.NumberOfBands();
+    iFreqBand = new(ELeave) CArrayPtrFlat<CEqualizerFreqBand>
+                 (KEqualizerArrayGranularity);
+    iFreqLabels = new(ELeave) CArrayPtrFlat<CEikLabel>
+                 (KEqualizerArrayGranularity);
+    
+    for (int i=0; i<iNumberOfFreqBands; i++)
+        {
+        // Create the CEqualizerFreqBands. Their size and position is 
+        // set in CEqualizerFreqBandContainer::SizeChangedL().
+        
+        CEqualizerFreqBand* band = CEqualizerFreqBand::NewL(iEqEditingDialog, iAudEqUtility, 
+         iPresetIndex, iIsActivePreset, i, aRect);
+         
+        CleanupStack::PushL(band);
+        iFreqBand->AppendL(band);
+        CleanupStack::Pop(band);
+        (*iFreqBand)[i]->SetContainerWindowL(*this);
+        }
+
+    (*iFreqBand)[0]->SetFocus(ETrue);
+    iIndexOfFocussedFreqBand = 0;
+        
+#ifdef RD_SCALABLE_UI_V2
+    EnableDragEvents();
+#endif //RD_SCALABLE_UI_V2
+    ConstructLabelsL();
+    // Set the bounding rectangle of this control (this will result in 
+    // a call to SizeChangedL(). The component controls must be 
+    // created before calling this, because SizeChangedL() sets their
+    // sizes.
+    SetRect(aRect);
+    ActivateL();
+    }
+
+// ----------------------------------------------------------------------
+// void CEqualizerFreqBandContainer::ConstructFromResourceL
+// (TResourceReader& /*aReader*/)
+//
+// This function is used when the CEqualizerFreqBandContainer is created
+// inside a dialog.
+// ----------------------------------------------------------------------
+// 
+void CEqualizerFreqBandContainer::ConstructFromResourceL(TResourceReader& 
+/*aReader*/)
+    {
+    ConstructL(iRect);
+    }
+
+// -------------------------------------------------------------------
+// TInt CEqualizerFreqBandContainer::CountComponentControls() const
+//
+// Returns the number of controls in a compound control.
+// -------------------------------------------------------------------
+// 
+TInt CEqualizerFreqBandContainer::CountComponentControls() const
+    {
+    return iNumberOfFreqBands + iFreqLabels->Count();
+    }
+
+// -------------------------------------------------------------------
+// CCoeControl* CEqualizerFreqBandContainer::ComponentControl
+// (TInt aIndex) const
+//
+// Returns the control given by the index in a compind control.
+// -------------------------------------------------------------------
+//
+CCoeControl* CEqualizerFreqBandContainer::ComponentControl(TInt aIndex) const
+    {
+    if(aIndex<iNumberOfFreqBands)
+    return (*iFreqBand)[aIndex];
+    else 
+    return (*iFreqLabels)[aIndex - iNumberOfFreqBands];
+    }
+
+// ---------------------------------------------------------------------
+// void CEqualizerFreqBandContainer::SizeChanged()
+//
+// This function gets called whenever one of the size-setting functions 
+// is called. As this is a compound control, this function calculates 
+// and sets the size and position for its components, based on its own 
+// size.
+// ---------------------------------------------------------------------
+//
+void CEqualizerFreqBandContainer::SizeChanged()
+    {
+    TInt equalizerVariety = EEqualizerVarietyOne; //By defualt use variety one
+    
+    TRect myRect = Rect();
+    TRect rect = CEqualizerFreqBand::ComponentRect(iRect,
+                                EEqualizerVarietyNotUsed,EEqualizerMainPane);
+    iRect = rect;
+    /**
+     *Equalizer variety based on the number of bands
+     * Number of bands = 8 ==> Variety = 0
+     * Number of bands = 5 ==> Variety = 1
+     */
+    if(iNumberOfFreqBands == KEqualizerEightBands)
+        {
+        equalizerVariety = EEqualizerVarietyOne;
+        }
+        
+    if(iNumberOfFreqBands == KEqualizerFiveBands)
+        {
+        equalizerVariety = EEqualizerVarietyTwo;
+        }
+        
+    //Setting the position and size for the frequency bands from the layout 
+    //obtained
+    for(TInt count = 0;count < iNumberOfFreqBands; count++)
+        {
+        TRect freqBandRect = CEqualizerFreqBand::ComponentRect(iRect,
+                                                     equalizerVariety+2,count);
+        (*iFreqBand)[count]->SetRect(freqBandRect);
+        }
+        
+    TInt variety=0;
+    if(Layout_Meta_Data::IsLandscapeOrientation())
+    	variety=4;
+    TRect temp;
+    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EApplicationWindow, temp );
+    TAknLayoutRect mainPaneLayout;
+    mainPaneLayout.LayoutRect( temp,AknLayoutScalable_Apps::main_pane(variety).LayoutLine() );
+    myRect = mainPaneLayout.Rect();
+    myRect.iBr.iY = myRect.iBr.iY - myRect.iTl.iY;
+    myRect.iTl.iY = 0;
+    
+    TAknTextLineLayout tLayout;
+    
+    tLayout = AknLayoutScalable_Apps::main_mup_eq_pane_t9(equalizerVariety);
+   	AknLayoutUtils::LayoutLabel((*iFreqLabels)[0], myRect, tLayout);
+	
+	tLayout = AknLayoutScalable_Apps::main_mup_eq_pane_t10(equalizerVariety);
+	AknLayoutUtils::LayoutLabel((*iFreqLabels)[1], myRect, tLayout);
+	
+	tLayout = AknLayoutScalable_Apps::main_mup_eq_pane_t1(equalizerVariety);
+	AknLayoutUtils::LayoutLabel((*iFreqLabels)[2], iRect, tLayout);
+	
+	tLayout = AknLayoutScalable_Apps::main_mup_eq_pane_t2(equalizerVariety);
+	AknLayoutUtils::LayoutLabel((*iFreqLabels)[3], iRect, tLayout);
+	
+	tLayout = AknLayoutScalable_Apps::main_mup_eq_pane_t3(equalizerVariety);
+	AknLayoutUtils::LayoutLabel((*iFreqLabels)[4], iRect, tLayout);
+	
+	tLayout = AknLayoutScalable_Apps::main_mup_eq_pane_t4(equalizerVariety);
+	AknLayoutUtils::LayoutLabel((*iFreqLabels)[5], iRect, tLayout);
+	
+	tLayout = AknLayoutScalable_Apps::main_mup_eq_pane_t5(equalizerVariety);
+	AknLayoutUtils::LayoutLabel((*iFreqLabels)[6], iRect, tLayout);
+	
+	if(equalizerVariety == 0)
+		{
+		tLayout = AknLayoutScalable_Apps::main_mup_eq_pane_t6(equalizerVariety);
+		AknLayoutUtils::LayoutLabel((*iFreqLabels)[7], iRect, tLayout);
+		
+		tLayout = AknLayoutScalable_Apps::main_mup_eq_pane_t7(equalizerVariety);
+		AknLayoutUtils::LayoutLabel((*iFreqLabels)[8], iRect, tLayout);
+		
+		tLayout = AknLayoutScalable_Apps::main_mup_eq_pane_t8(equalizerVariety);
+		AknLayoutUtils::LayoutLabel((*iFreqLabels)[9], iRect, tLayout);
+		}
+	
+	if (iBackGround)
+	    {
+	    iBackGround->SetRect(iRect);
+	    }
+    TRgb color;
+    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+        
+    for(TInt i=0; i<iFreqLabels->Count(); i++)
+        {
+        CCoeControl* label( ComponentControl( i+iNumberOfFreqBands ));
+        TInt error = AknsUtils::GetCachedColor( skin, color,
+                                                KAknsIIDQsnTextColors,
+                                                EAknsCIQsnTextColorsCG6 );
+        if ( !error )
+           	AknLayoutUtils::OverrideControlColorL( *label,
+                                                  EColorLabelText,
+                                                  color);
+        }
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerFreqBandContainer::Draw(const TRect& aRect) const
+//
+// This function gets called to draw a control
+// -------------------------------------------------------------------
+//         
+void CEqualizerFreqBandContainer::Draw(const TRect& aRect) const
+    {
+    CWindowGc& gc=SystemGc();
+    gc.Clear(iRect);
+    // Drawing skin
+    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+    if (iBackGround)
+        {
+        AknsDrawUtils::Background(skin, iBackGround, this, gc, iRect);
+        }
+    
+    for(TInt i=0; i<iFreqLabels->Count(); i++)
+    	{
+    	if( (*iFreqLabels)[i] )
+    		{
+    		(*iFreqLabels)[i]->Draw(aRect);
+    		}
+        }
+    }
+
+// ---------------------------------------------------------------------
+// void CEqualizerFreqBandContainer::FocusChanged(TDrawNow aDrawNow)
+//
+// This function gets called whenever the application calls SetFocus().
+// It redraws the CEqualizerFreqBandContainer, so that they are updated
+// to show which one now has focus.
+// ---------------------------------------------------------------------
+//
+void CEqualizerFreqBandContainer::FocusChanged(TDrawNow aDrawNow)
+    {
+    if (IsFocused())
+        {
+        (*iFreqBand)[0]->SetFocus(ETrue, EDrawNow);
+        iFocussedFreqBand = (*iFreqBand)[0];
+        iIndexOfFocussedFreqBand = 0;
+        }
+    else
+        {
+        if (iFocussedFreqBand && iFocussedFreqBand->IsFocused())
+            {
+            iFocussedFreqBand->SetFocus(EFalse, EDrawNow);             
+            }
+        }
+    if (aDrawNow)
+        {
+        DrawNow();        
+        } 
+    }
+
+// ----------------------------------------------------------------------
+// void CEqualizerFreqBandContainer::SwapFocus(CCoeControl* aPrevControl,
+//  CCoeControl* aNewControl)
+//
+// This function is called from OfferKeyEventL() whenever the user 
+// presses left/right arrow keys to change to the previous/next band
+// ----------------------------------------------------------------------
+//
+void CEqualizerFreqBandContainer::SwapFocus(CCoeControl* aPrevControl, 
+CCoeControl* aNewControl)
+    {
+    aPrevControl->SetFocus(EFalse, EDrawNow);
+    aNewControl->SetFocus(ETrue, EDrawNow);
+    iFocussedFreqBand =  aNewControl;
+    }
+
+// -------------------------------------------------------------------------
+// CEqualizerFreqBandContainer::OfferKeyEventL 
+// Function for handling key events.
+// -------------------------------------------------------------------------
+//
+TKeyResponse CEqualizerFreqBandContainer::OfferKeyEventL(const TKeyEvent& 
+aKeyEvent,TEventCode aType)
+    {
+    TKeyResponse ret = EKeyWasNotConsumed;
+    TInt indexOfLastFocussedBand = -1;
+    if( aType == EEventKey )
+        {
+          // Use the arrow keys to move focus between the two CEqualizerFreqBands.
+        switch (aKeyEvent.iCode)
+            {
+            case EKeyUpArrow:
+            case EKeyDownArrow:
+                {
+                ret = (*iFreqBand)[iIndexOfFocussedFreqBand]->OfferKeyEventL(
+                aKeyEvent, aType);
+                
+                // In MPX the band dialog presets need to be saved 
+                // and called back to the observer
+                //
+                if( iIsActivePreset )
+                    {
+                    CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+                    iAudEqUtility->ModifyPresetL(iPresetIndex, iPresetName, audioEqualizer);
+                    
+                    iObserver.HandlePresetActivation( iPresetKey );
+                    }
+                }
+                break;
+            
+            case EKeyRightArrow:
+                if (AknLayoutUtils::LayoutMirrored())
+                    {
+                    // For Series60 Arabic Hebrew LAF                
+                    // Bugfix for Id: TCON-6HKGAB            
+                    indexOfLastFocussedBand = iIndexOfFocussedFreqBand;
+                    iIndexOfFocussedFreqBand = 
+                    (indexOfLastFocussedBand+iNumberOfFreqBands-1)
+                                    %iNumberOfFreqBands;
+                    SwapFocus((*iFreqBand)[indexOfLastFocussedBand], 
+                    (*iFreqBand)[iIndexOfFocussedFreqBand]);
+                    ret = EKeyWasConsumed;                     
+                    }
+                else
+                    {
+                    indexOfLastFocussedBand = iIndexOfFocussedFreqBand;
+                    iIndexOfFocussedFreqBand = 
+                    (indexOfLastFocussedBand+1)%iNumberOfFreqBands;
+                    SwapFocus((*iFreqBand)[indexOfLastFocussedBand], 
+                    (*iFreqBand)[iIndexOfFocussedFreqBand]);
+                    ret = EKeyWasConsumed;                   
+                    }
+                break;
+            case EKeyLeftArrow:
+                if (AknLayoutUtils::LayoutMirrored())
+                    {
+                    // For Series60 Arabic Hebrew LAF                
+                    // Bugfix for Id: TCON-6HKGAB
+                    indexOfLastFocussedBand = iIndexOfFocussedFreqBand;
+                    iIndexOfFocussedFreqBand = (indexOfLastFocussedBand + 1)% 
+                                                iNumberOfFreqBands;
+                    SwapFocus((*iFreqBand)[indexOfLastFocussedBand], 
+                    (*iFreqBand)[iIndexOfFocussedFreqBand]);
+                    ret = EKeyWasConsumed;                     
+                    }
+                else
+                    {
+                    indexOfLastFocussedBand = iIndexOfFocussedFreqBand;
+                    iIndexOfFocussedFreqBand = (indexOfLastFocussedBand + 
+                    iNumberOfFreqBands -1)% iNumberOfFreqBands;
+                    SwapFocus((*iFreqBand)[indexOfLastFocussedBand], 
+                    (*iFreqBand)[iIndexOfFocussedFreqBand]);
+                    ret = EKeyWasConsumed;                   
+                    }
+                break;
+
+            default:
+                break;
+            }         
+        }
+
+    // If the CEqualizerFreqBandContainer didn't use the key event, it
+    // must return EKeyWasNotConsumed,
+    // so that the key event is passed to other controls on the stack.
+    return ret;
+    }
+
+// ----------------------------------------------------------------------------
+// CEqualizerFreqBandContainer::SetAudioEqualizerL(CAudioEqualizerUtility* 
+// aAudEqUtility)
+// This function is used to set a new CAudioEqualizerUtility* 
+// ----------------------------------------------------------------------------
+//    
+void CEqualizerFreqBandContainer::SetAudioEqualizerL(
+CAudioEqualizerUtility* aAudEqUtility)
+	{
+	iAudEqUtility=aAudEqUtility;
+	for (int i=0; i<iNumberOfFreqBands; i++)
+	    {
+	    (*iFreqBand)[i]->SetAudioEqualizerL(aAudEqUtility);
+	    }
+	}
+
+// ---------------------------------------------------------
+// CEqualizerFreqBandContainer::MopSupplyObject
+// Pass skin information if need.
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TTypeUid::Ptr CEqualizerFreqBandContainer::MopSupplyObject(TTypeUid aId)
+	{
+	if ( aId.iUid == MAknsControlContext::ETypeId )
+		{
+		// Return the control context for the childs
+		return MAknsControlContext::SupplyMopObject( aId, iBackGround );
+		}
+	return CCoeControl::MopSupplyObject( aId );
+	}
+	
+// ---------------------------------------------------------
+// CEqualizerFreqBandContainer::ConstructLabelsL
+// Contruct the frequency value labels.
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CEqualizerFreqBandContainer::ConstructLabelsL()
+	{
+	
+	CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+	CEikLabel* tempLabel;
+	TBuf<15> tempStr;
+	TReal x,y;
+	
+	tempLabel = new (ELeave) CEikLabel;
+	tempLabel->SetContainerWindowL( *this );
+  HBufC* hzText = StringLoader::LoadLC(R_QTN_EQ_PRESET_FREQUENCY_HZ);
+	tempLabel->SetTextL(hzText->Des());
+	tempLabel->SetBrushStyle(CGraphicsContext::ENullBrush);
+	CleanupStack::PushL(tempLabel);
+	iFreqLabels->AppendL(tempLabel); 
+	CleanupStack::Pop(tempLabel);
+	CleanupStack::PopAndDestroy(); // hzText
+	
+	tempLabel = new (ELeave) CEikLabel;
+	tempLabel->SetContainerWindowL( *this );
+  HBufC* mhzText = StringLoader::LoadLC(R_QTN_EQ_PRESET_FREQUENCY_KHZ);
+	tempLabel->SetTextL(mhzText->Des());
+	tempLabel->SetBrushStyle(CGraphicsContext::ENullBrush);
+	CleanupStack::PushL(tempLabel);
+	iFreqLabels->AppendL(tempLabel); 
+	CleanupStack::Pop(tempLabel);
+	CleanupStack::PopAndDestroy(); // MhzText
+
+	tempLabel = new (ELeave) CEikLabel;
+	tempLabel->SetContainerWindowL( *this );
+	tempStr.Format(KLabelFormatInt,audioEqualizer.CenterFrequency(1));
+	AknTextUtils::LanguageSpecificNumberConversion( tempStr );
+	tempLabel->SetTextL(tempStr);
+	tempLabel->SetBrushStyle(CGraphicsContext::ENullBrush);
+	CleanupStack::PushL(tempLabel);
+	iFreqLabels->AppendL(tempLabel); 
+	CleanupStack::Pop(tempLabel);
+	
+	tempLabel = new (ELeave) CEikLabel;
+	tempLabel->SetContainerWindowL( *this );
+    tempStr.Format(KLabelFormatInt, audioEqualizer.CenterFrequency(2));
+    AknTextUtils::LanguageSpecificNumberConversion( tempStr );
+	tempLabel->SetTextL(tempStr);
+	tempLabel->SetBrushStyle(CGraphicsContext::ENullBrush);
+	CleanupStack::PushL(tempLabel);
+	iFreqLabels->AppendL(tempLabel); 
+	CleanupStack::Pop(tempLabel);
+	
+	tempLabel = new (ELeave) CEikLabel;
+	tempLabel->SetContainerWindowL( *this );
+    tempStr.Format(KLabelFormatInt, audioEqualizer.CenterFrequency(3));
+    AknTextUtils::LanguageSpecificNumberConversion( tempStr );
+	tempLabel->SetTextL(tempStr);
+	tempLabel->SetBrushStyle(CGraphicsContext::ENullBrush);
+	CleanupStack::PushL(tempLabel);
+	iFreqLabels->AppendL(tempLabel); 
+	CleanupStack::Pop(tempLabel);
+	
+	Math::Round(y,(TReal)audioEqualizer.CenterFrequency(4)/1000,1);
+	tempLabel = new (ELeave) CEikLabel;
+	tempLabel->SetContainerWindowL( *this );
+	Math::Mod(x,y*10,10);
+	if(x==0)
+	    tempStr.Format(KLabelFormatInt,(TInt)y);
+	else
+	    tempStr.Format(KLabelFormatFloat,y);
+	AknTextUtils::LanguageSpecificNumberConversion( tempStr );
+	tempLabel->SetTextL(tempStr);
+	tempLabel->SetBrushStyle(CGraphicsContext::ENullBrush);
+	CleanupStack::PushL(tempLabel);
+	iFreqLabels->AppendL(tempLabel); 
+	CleanupStack::Pop(tempLabel);
+	
+	Math::Round(y,(TReal)audioEqualizer.CenterFrequency(5)/1000,1);
+	tempLabel = new (ELeave) CEikLabel;
+	tempLabel->SetContainerWindowL( *this );
+	Math::Mod(x,y*10,10);
+	if(x==0)
+	    tempStr.Format(KLabelFormatInt,(TInt)y);
+	else
+	    tempStr.Format(KLabelFormatFloat,y);
+	AknTextUtils::LanguageSpecificNumberConversion( tempStr );
+	tempLabel->SetTextL(tempStr);
+	tempLabel->SetBrushStyle(CGraphicsContext::ENullBrush);
+	CleanupStack::PushL(tempLabel);
+	iFreqLabels->AppendL(tempLabel); 
+	CleanupStack::Pop(tempLabel);
+	
+	if(iNumberOfFreqBands ==KEqualizerEightBands)
+		{
+		Math::Round(y,(TReal)audioEqualizer.CenterFrequency(6)/1000,1);
+		tempLabel = new (ELeave) CEikLabel;
+		tempLabel->SetContainerWindowL( *this );
+		Math::Mod(x,y*10,10);
+		if(x==0)
+	        tempStr.Format(KLabelFormatInt,(TInt)y);
+	    else
+	        tempStr.Format(KLabelFormatFloat,y);
+	    AknTextUtils::LanguageSpecificNumberConversion( tempStr );
+		tempLabel->SetTextL(tempStr);
+		tempLabel->SetBrushStyle(CGraphicsContext::ENullBrush);
+		CleanupStack::PushL(tempLabel);
+		iFreqLabels->AppendL(tempLabel); 
+		CleanupStack::Pop(tempLabel);
+		
+		Math::Round(y,(TReal)audioEqualizer.CenterFrequency(7)/1000,1);
+		tempLabel = new (ELeave) CEikLabel;
+		tempLabel->SetContainerWindowL( *this );
+		Math::Mod(x,y*10,10);
+		if(x==0)
+	        tempStr.Format(KLabelFormatInt,(TInt)y);
+	    else
+	        tempStr.Format(KLabelFormatFloat,y);
+	    AknTextUtils::LanguageSpecificNumberConversion(tempStr);
+		tempLabel->SetTextL(tempStr);
+		tempLabel->SetBrushStyle(CGraphicsContext::ENullBrush);
+		CleanupStack::PushL(tempLabel);
+		iFreqLabels->AppendL(tempLabel); 
+		CleanupStack::Pop(tempLabel);
+		
+		Math::Round(y,(TReal)audioEqualizer.CenterFrequency(8)/1000,1);
+		tempLabel = new (ELeave) CEikLabel;
+		tempLabel->SetContainerWindowL( *this );
+		Math::Mod(x,y*10,10);
+		if(x==0)
+	        tempStr.Format(KLabelFormatInt,(TInt)y);
+    	else
+	        tempStr.Format(KLabelFormatFloat,y);
+    	AknTextUtils::LanguageSpecificNumberConversion(tempStr);
+		tempLabel->SetTextL(tempStr);
+		tempLabel->SetBrushStyle(CGraphicsContext::ENullBrush);
+		CleanupStack::PushL(tempLabel);
+		iFreqLabels->AppendL(tempLabel); 
+		CleanupStack::Pop(tempLabel);
+		}
+		
+	TRgb color;
+  MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+    
+  for(TInt i=0; i<iFreqLabels->Count(); i++)
+   	{
+   	CCoeControl* label( ComponentControl( i+iNumberOfFreqBands ));
+   	TInt error = AknsUtils::GetCachedColor( skin, color,
+                                            KAknsIIDQsnTextColors,
+                                            EAknsCIQsnTextColorsCG6 );
+   	if ( !error )
+       	AknLayoutUtils::OverrideControlColorL( *label,
+                                              EColorLabelText,
+                                              color);
+   	}
+	
+	}
+	
+#ifdef RD_SCALABLE_UI_V2
+// ---------------------------------------------------------
+// CEqualizerFreqBandContainer::HandlePointerEventL
+// This function is used to handle pen input events.
+// ---------------------------------------------------------
+//
+void CEqualizerFreqBandContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent)
+    {
+    if (AknLayoutUtils::PenEnabled())
+        {
+        if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
+            {
+	        for ( TInt i = 0; i < iNumberOfFreqBands; i++ )
+	            {
+	            TRect x = (*iFreqBand)[i]->Rect();
+	            if (x.Contains(aPointerEvent.iPosition))
+	                {
+	                if ( iIndexOfFocussedFreqBand != i )
+	                    {
+	                    TInt indexOfLastFocussedBand = iIndexOfFocussedFreqBand;
+	                    iIndexOfFocussedFreqBand = i;
+	                    SwapFocus((*iFreqBand)[indexOfLastFocussedBand],
+	                        (*iFreqBand)[iIndexOfFocussedFreqBand]);
+	                    }
+	                iBandSelected = ETrue;
+	                break;
+	                }
+				}
+			}
+
+		if ( iBandSelected )
+		    {
+			(*iFreqBand)[iIndexOfFocussedFreqBand]->HandlePointerEventL(aPointerEvent);
+		    }
+
+		// In MPX the band dialog presets need to be saved
+		// and called back to the observer
+		//
+		if ( iBandSelected &&
+            ( (aPointerEvent.iType == TPointerEvent::EButton1Up) ||
+		      (aPointerEvent.iType == TPointerEvent::EDrag) ) )
+			{
+			if ( iIsActivePreset )
+                {
+				CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+				iAudEqUtility->ModifyPresetL(iPresetIndex, iPresetName, audioEqualizer);
+				iObserver.HandlePresetActivation( iPresetKey );
+				}
+			if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
+                {
+                iBandSelected = EFalse;
+			    }
+			}
+	    }
+    }
+#endif //RD_SCALABLE_UI_V2
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/src/EqualizerMain.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Standard entry point for a DLL
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <e32base.h> 
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/src/EqualizerPresetListArray.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,405 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Item text array for Equalizer Preset Listbox.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include    <coemain.h>
+#include    <aknconsts.h>
+#include    <AknsUtils.h>
+#include    <AknsConstants.h>
+#include    <eikenv.h>
+#include    <data_caging_path_literals.hrh>
+#include    <StringLoader.h>
+#include    <barsread.h>
+
+#include    <Equalizer.rsg>  // Contains the resource definition
+#include    "EqualizerPrivateConstants.h"
+#include    "EqualizerPresetListArray.h"
+
+// CONSTANTS
+
+const TInt KEqrActiveIcon = 1;
+const TInt KEqrNonActiveIcon = 0;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CEqualizerPresetListArray::CEqualizerPresetListArray
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CEqualizerPresetListArray::CEqualizerPresetListArray (
+ CAudioEqualizerUtility*  aAudioEqUtil): 
+                               iAudEqUtility(aAudioEqUtil)
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CEqualizerPresetListArray::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CEqualizerPresetListArray::ConstructL(TInt aActivePresetKey)
+    {
+    //Read text for preset "None" from rss file
+    iPresetNoneText = StringLoader::LoadL(R_QTN_EQUALIZER_PRESET_NONE);
+
+    // iItem length cannot be defined dynamically as MdcaPoint is const function
+    iItem = HBufC::NewL(KListBoxEntryMaxLength);
+    iSortedPresetArray =  new (ELeave) CDesCArrayFlat
+                                    (KEqualizerArrayGranularity);  
+    UpdateSortedArrayL();
+    
+    HBufC* tempText = NULL;
+    iPreDefinedPresetArray =  new (ELeave) CDesCArrayFlat
+                                    (KEqualizerArrayGranularity);
+    if (iAudEqUtility) 
+        {
+        // construct the array of available languages
+        TResourceReader reader;
+        CEikonEnv::Static()->CreateResourceReaderLC( reader, 
+                                    R_EQUALIZER_PREDEFINED_PRESETS );
+        CDesCArray* presetStringArray; 
+        presetStringArray = reader.ReadDesCArrayL();
+        CleanupStack::PopAndDestroy(); // resource reader
+        CleanupStack::PushL( presetStringArray );
+        
+        TArray<TEfAudioEqualizerUtilityPreset> presets =
+                                                iAudEqUtility->Presets();
+        TInt numPreDefinedPresets =iAudEqUtility->NumberOfPreDefinedPresets();                                        
+        for (TInt presetIndex = 0; 
+             presetIndex < numPreDefinedPresets; presetIndex++) 
+            {
+            TArray<TEfAudioEqualizerUtilityPreset> presets =
+                                                    iAudEqUtility->Presets();
+            TInt numPreDefinedPresets = 
+                                iAudEqUtility->NumberOfPreDefinedPresets();                                        
+            for (TInt presetIndex = 0; 
+                 presetIndex < numPreDefinedPresets; presetIndex++) 
+                {
+                if ((tempText = SearchForPredefinedPresetL(*presetStringArray, 
+                            presets[presetIndex].iPresetName)) == NULL)
+                    {
+                    // If control reaches here then there is a predefined preset in 
+                    // the cenrep whose name is not localised
+                    // In case no match is found display the English text
+                    tempText = presets[presetIndex].iPresetName.AllocL();
+                    }
+                CleanupStack::PushL(tempText);
+                iPreDefinedPresetArray->AppendL(*tempText);
+                CleanupStack::PopAndDestroy(tempText);
+                }
+			GetLocalisedPresetNameFromKey(aActivePresetKey, iActivePreset);
+            }
+        CleanupStack::PopAndDestroy(presetStringArray);    
+        }
+    }
+    
+
+
+// -----------------------------------------------------------------------------
+// CEqualizerPresetListArray::NewL
+// Two-phased constructor.
+// ----------------------------------------------------------------------------
+//
+CEqualizerPresetListArray* CEqualizerPresetListArray::NewL(
+                               CAudioEqualizerUtility* aAudioEqUtil,
+                               TInt aActivePresetKey)
+    {
+    CEqualizerPresetListArray* self = new(ELeave) CEqualizerPresetListArray
+                                           (aAudioEqUtil);                                  
+    CleanupStack::PushL(self);
+    self->ConstructL(aActivePresetKey);
+    CleanupStack::Pop(self); 
+
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// CEqualizerPresetListArray::~CEqualizerPresetListArray
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CEqualizerPresetListArray::~CEqualizerPresetListArray()
+    {
+    delete iPresetNoneText;
+    delete iItem;
+    if (iSortedPresetArray)
+        {
+        iSortedPresetArray->Reset();
+        delete iSortedPresetArray;       
+        }
+    if (iPreDefinedPresetArray)
+        {
+        iPreDefinedPresetArray->Reset();
+        delete iPreDefinedPresetArray;         
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CEqualizerPresetListArray::MdcaCount() const
+// Returns the number of descriptor elements in a descriptor array.
+// ---------------------------------------------------------------------------
+//
+TInt CEqualizerPresetListArray::MdcaCount() const
+    {
+    TInt ret = 0;
+    // Check if iAudEqUtility is NULL, if it is NULL then the ListBox
+    // is empty.
+    if (iAudEqUtility) 
+        {
+        TArray<TEfAudioEqualizerUtilityPreset> presets =
+                                                iAudEqUtility->Presets();
+        ret = presets.Count() + 1; //Add the preset "None"
+        }
+    
+    return ret;
+    }
+    
+// -----------------------------------------------------------------------------
+// CEqualizerPresetListArray::MdcaPoint
+// Indexes into a descriptor array.
+// -----------------------------------------------------------------------------
+//
+TPtrC CEqualizerPresetListArray::MdcaPoint(TInt aIndex) const
+    {
+    TPtrC item;
+    TArray<TEfAudioEqualizerUtilityPreset> presets = iAudEqUtility->Presets();
+    
+    if (aIndex <= iAudEqUtility->NumberOfPreDefinedPresets())
+        { // The predefined presets do not need to be sorted
+        if (aIndex == 0)
+            {
+            CreateListBoxIconText(*iPresetNoneText);
+            }
+        else
+            {
+            CreateListBoxIconText((*iPreDefinedPresetArray)[aIndex-1]);
+            }
+        }
+    else
+        { // Sort the user defined presets
+        CreateListBoxIconText((*iSortedPresetArray)[aIndex -
+                         iAudEqUtility->NumberOfPreDefinedPresets()-1]);       
+        }
+    
+    item.Set(*iItem);
+    return item;
+    
+    }
+    
+// ---------------------------------------------------------------------------
+// CEqualizerPresetListArray::UpdateSortedArrayL() 
+// Updates the sorted array with the changed user-defined presets
+// ---------------------------------------------------------------------------
+//    
+void CEqualizerPresetListArray::UpdateSortedArrayL()
+    {
+    TInt presetIndex;
+    TInt numPreDefinedPresets = iAudEqUtility->NumberOfPreDefinedPresets();
+    TArray<TEfAudioEqualizerUtilityPreset> presets = iAudEqUtility->Presets();
+    iSortedPresetArray->Reset();
+    for (presetIndex = numPreDefinedPresets; presetIndex < presets.Count(); 
+                                                                presetIndex++) 
+        {
+        TPresetName preset = presets[presetIndex].iPresetName;
+        iSortedPresetArray->InsertIsqL(presets[presetIndex].iPresetName, 
+                                                                ECmpCollated);
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CEqualizerPresetListArray::GetLocalisedPresetNameFromKey() 
+// Returns the localised name for the preset given the PresetNameKey
+// ---------------------------------------------------------------------------
+//    
+void CEqualizerPresetListArray::GetLocalisedPresetNameFromKey(TInt aPresetNameKey, 
+											TPresetName& aPresetName)
+    {
+    TInt count;
+
+  	//If a junk aCurrentActivePreset is passed to us we activate preset "None"
+	aPresetName = *iPresetNoneText;
+
+	if (aPresetNameKey == KEqualizerPresetNone)
+		{
+		aPresetName = *iPresetNoneText;
+		}
+	else
+		{
+		TArray<TEfAudioEqualizerUtilityPreset> presets = iAudEqUtility->Presets();
+		TInt numPredefinedPresets = iAudEqUtility->NumberOfPreDefinedPresets();
+	    TInt numPresets = presets.Count();
+		for (count = 0; count < numPresets; count++)
+		    {
+			if (presets[count].iPresetNameKey == aPresetNameKey)
+				{
+				if (count < numPredefinedPresets)
+				    {
+					TPtrC selectedItem = MdcaPoint(count+1);
+                    TInt begin = selectedItem.FindC(KEqrTab);
+                    TPtrC localisedPreset = selectedItem.Right
+                       (selectedItem.Length() -begin-1);            
+                    aPresetName = localisedPreset;
+					}
+				else
+					{
+					aPresetName = presets[count].iPresetName;
+					}
+			    }
+			}
+		}	
+    } 
+
+// ---------------------------------------------------------------------------
+// CEqualizerPresetListArray::GetPresetKeyFromLocalisedName() 
+// Returns the PresetNameKey given the localised name for the preset
+// ---------------------------------------------------------------------------
+//    
+void CEqualizerPresetListArray::GetPresetKeyFromLocalisedName(TInt& 
+            aPresetNameKey, const TPresetName& aPresetName)
+    {
+    TInt count;
+
+	if (aPresetName == *iPresetNoneText)
+		{
+		aPresetNameKey = KEqualizerPresetNone;
+		}
+	else
+		{
+		TArray<TEfAudioEqualizerUtilityPreset> presets = iAudEqUtility->Presets();
+		TInt numPredefinedPresets = iAudEqUtility->NumberOfPreDefinedPresets();
+	    TInt numPresets = presets.Count();
+		for (count = 0; count < numPresets; count++)
+		    {
+		    TPtrC selectedItem = MdcaPoint(count+1);
+            TInt begin = selectedItem.FindC(KEqrTab);
+            TPtrC localisedPreset = selectedItem.Right(selectedItem.Length()
+                                        -begin-1);            
+
+			if (((count < numPredefinedPresets) && (localisedPreset == 
+			    aPresetName)) || (presets[count].iPresetName == aPresetName))
+				{
+				aPresetNameKey = presets[count].iPresetNameKey; 
+				break;
+				}
+			}
+		}	
+    } 
+
+// ---------------------------------------------------------------------------
+// HBufC* CEqualizerPresetListArray::SearchForPredefinedPresetL
+// (const CDesCArray& aPresetArray, const TPresetName& aCenrepPreset)
+// Searches for a localised name for a preset found in the CenRep
+// ---------------------------------------------------------------------------
+//    
+HBufC* CEqualizerPresetListArray::SearchForPredefinedPresetL(const CDesCArray& 
+    aPresetArray, const TPresetName& aCenrepPreset)
+    {
+    HBufC* retLocalisedPreset = NULL;
+    for (TInt index =0; index<aPresetArray.Count(); index++)
+        {
+        TPtrC resourceFileText(aPresetArray[index]);
+        TInt begin = resourceFileText.FindC(KEqrTab);
+        TPtrC preset(resourceFileText.Left(begin));
+        TPtrC localisedPreset(resourceFileText.Right(resourceFileText.Length()
+                                -begin-1));
+        if (aCenrepPreset == preset)   
+            {
+            retLocalisedPreset = localisedPreset.AllocL();
+            break;
+            }
+        }
+    return retLocalisedPreset;
+    }
+    
+// ---------------------------------------------------------------------------
+// CEqualizerPresetListArray::CreateListBoxIconText(const 
+//  TPresetName& aPresetName) const 
+// Creates the ListBox text including the icon information. e.g "0\tNone"
+// ---------------------------------------------------------------------------
+//    
+void CEqualizerPresetListArray::CreateListBoxIconText(const 
+  TPtrC& aPresetName) const
+    {
+    TPtr ptr = iItem->Des();
+    ptr.Zero();
+    if (aPresetName == iActivePreset) 
+        {
+        ptr.AppendNumUC(KEqrActiveIcon);
+        }
+    else
+        {
+        ptr.AppendNumUC(KEqrNonActiveIcon);
+        }
+    ptr.Append(KEqrTab); 
+    ptr.Append(aPresetName);
+    }
+    
+// -----------------------------------------------------------------------------
+// void CEqualizerPresetListArray::SetCurrentActivePreset(const TDesC&
+//                                       aActivePreset)
+// Used to set the currently active preset.
+// -----------------------------------------------------------------------------
+//
+void CEqualizerPresetListArray::SetCurrentActivePreset(const TDesC& 
+                                       aActivePreset)
+    {
+    iActivePreset = aActivePreset;
+    }
+
+// -----------------------------------------------------------------------------
+// TPtrC CEqualizerPresetListArray::GetCurrentActivePreset()
+// Used to set the currently active preset.
+// -----------------------------------------------------------------------------
+//
+void CEqualizerPresetListArray::GetCurrentActivePreset(TPresetName& aActivePreset)
+    {
+    aActivePreset = iActivePreset;
+    }    
+    
+// ----------------------------------------------------------------------------
+// CEqualizerPresetListArray::SetAudioEqualizer(CAudioEqualizerUtility* 
+// aAudEqUtility)
+// This function is used to set a new CAudioEqualizerUtility* 
+// ----------------------------------------------------------------------------
+//    
+void CEqualizerPresetListArray::SetAudioEqualizer(
+CAudioEqualizerUtility* aAudEqUtility)
+	{
+	iAudEqUtility=aAudEqUtility;
+	}
+	
+// ----------------------------------------------------------------------------
+// CEqualizerPresetListArray::GetPrefixLength()
+// This function is used to get the length of prefix (eg "0\t")
+// before the preset name. 
+// ----------------------------------------------------------------------------
+//    
+TInt CEqualizerPresetListArray::GetPrefixLength()
+	{
+	TPtr ptr = iItem->Des();
+    ptr.Zero();
+    ptr.AppendNumUC(KEqrActiveIcon);
+    ptr.Append(KEqrTab); 
+    return ptr.Length();
+	}
+	    
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/equalizer/src/EqualizerPresetsDialog.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,1247 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:    Implementation of CEqualizerPresetsDialog class
+*
+*/
+
+
+
+
+// INCLUDE FILES   
+#include <StringLoader.h>
+#include <akntitle.h>  
+#include <eikenv.h>
+#include <bldvariant.hrh>
+#include <aknnotewrappers.h>
+#include <bautils.h>
+#include <aknenv.h> 
+#include <aknlists.h>
+#include <data_caging_path_literals.hrh>
+#include <eikclbd.h>
+#include <AknIconArray.h> 
+#include <avkon.hrh>
+//LAF and Skin changes
+#include <AknsUtils.h>
+#include <e32base.h>
+#include <AknsConstants.h>
+#include <aknlayout.cdl.h>
+#include <featmgr.h>
+#include <hlplch.h>
+#include <AudioEqualizerUtility.h>
+#include <sysutil.h>
+#include <AknGlobalNote.h>
+#include <aknclearer.h>
+#include <layoutmetadata.cdl.h>
+
+#include <csxhelp/eq.hlp.hrh>
+#include <Equalizer.rsg>  // Contains the resource definition
+#include <equalizer.mbg>
+#include "EqualizerPrivateConstants.h"
+#include "EqualizerPresetsDialog.h" 
+#include "EqualizerPresetListArray.h" 
+#include "EqualizerEditingDialog.h" 
+#include "Equalizer.hrh"
+
+// CONSTANTS
+//Used during building a new preset name   
+_LIT( KEqrFormat, "%d)" );
+_LIT( KEqrZero, "0" );
+_LIT( KEqrParenthesis, "(" );  
+
+// Used for checking if the new preset name contains illegal characters
+_LIT(KEqrLessThan, "<");
+_LIT(KEqrGreaterThan, ">");
+_LIT(KEqrQuote, "\"");
+_LIT(KEqrBackSlash, "\\");
+_LIT(KEqrForwardSlash, "/");
+_LIT(KEqrOrSymbol, "|");
+_LIT(KEqrColon, ":");
+_LIT(KEqrAsterisk, "*");
+_LIT(KEqrQuestionMark, "?");
+  
+// ================= MEMBER FUNCTIONS =======================
+ 
+// -------------------------------------------------------------------
+// CEqualizerPresetsDialog* CEqualizerPresetsDialog::NewL()
+// Create instance of concrete ECOM interface implementation
+// -------------------------------------------------------------------
+// 
+EXPORT_C CEqualizerPresetsDialog* CEqualizerPresetsDialog::NewL(
+       CAudioEqualizerUtility* aAudEqUtility,
+       TInt aCurrentActivePreset, 
+       MEqualizerPresetActivationObserver& aEqrPresetActObserver)
+    {
+    CEqualizerPresetsDialog* self = new (ELeave) CEqualizerPresetsDialog(
+        aAudEqUtility, aEqrPresetActObserver);
+    CleanupStack::PushL(self); 
+    self->ConstructL(aCurrentActivePreset);
+    CleanupStack::Pop(self); 
+    return self;
+    }
+
+// -------------------------------------------------------------------
+// CEqualizerPresetsDialog::CEqualizerPresetsDialog(
+//       CAudioEqualizerUtility*& aAudEqUtility,
+//       MEqualizerPresetActivationObserver& aEqrPresetActObserver)
+// First Phase Construction
+// -------------------------------------------------------------------
+// 
+CEqualizerPresetsDialog::CEqualizerPresetsDialog(
+       CAudioEqualizerUtility* aAudEqUtility,
+       MEqualizerPresetActivationObserver& aEqrPresetActObserver):
+       
+       iAudEqUtility(aAudEqUtility),
+       iEqrPresetActObserver(aEqrPresetActObserver)
+    {
+    }
+
+// -------------------------------------------------------------------
+// CEqualizerPresetsDialog::ConstructL()
+// Second Phase Constructor
+// -------------------------------------------------------------------
+// 
+void CEqualizerPresetsDialog::ConstructL(const TInt aCurrentActivePreset)
+    {
+    //Initially set these variable to EFalse
+    iContextSensitiveMenu = EFalse;
+    iIgnoreKeyEvents = EFalse;
+    
+    iRepository = CRepository::NewL(KCRUidMusicPlayerSettings);
+
+    //Add the resource file
+
+    // Find which drive this DLL is installed.
+    TFileName fileName;
+    // Get the full resource file
+    TParse fp;
+    // Add the resource dir
+    fp.Set( KEqualizerResourceFileName, &KDC_APP_RESOURCE_DIR, NULL);
+    // Get the filename with full path
+    fileName = fp.FullName(); 
+    //for localisation of resource file
+    BaflUtils::NearestLanguageFile( iEikonEnv->FsSession(), fileName ); 
+    iResourceFileOffset = iEikonEnv->AddResourceFileL( fileName );
+
+    //Read text for preset "None" from rss file
+    iPresetNoneText = StringLoader::LoadL(R_QTN_EQUALIZER_PRESET_NONE);
+    iTitleText = StringLoader::LoadL(R_QTN_EQUALIZER_TITLE_TEXT);
+
+    iItemArray = CEqualizerPresetListArray::NewL(iAudEqUtility, 
+                                     aCurrentActivePreset);
+
+    iItemArray->GetCurrentActivePreset(iActivePreset);
+
+    CAknDialog::ConstructL(R_EQUALIZER_CONTAINER_MENUBAR);
+    }
+
+// -------------------------------------------------------------------
+// CEqualizerPresetsDialog::~CEqualizerPresetsDialog()
+// Destructor
+// --------------------------------------------------------------------
+//  
+CEqualizerPresetsDialog::~CEqualizerPresetsDialog()
+    {
+    if (iResourceFileOffset)
+        {
+        iEikonEnv->DeleteResourceFile(iResourceFileOffset); 
+        }
+    delete iRepository;
+    if (iAppTitleText)
+        {
+        // restore musicplayer's title
+        CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
+        CAknTitlePane* tp=(CAknTitlePane*)sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle));   
+        tp->SetTextL(*iAppTitleText);        
+	    delete iAppTitleText;
+        }
+    delete iPresetNoneText;
+    delete iTitleText;
+    delete iItemArray;
+    }
+
+// --------------------------------------------------------------------------
+// void CEqualizerPresetsDialog::BuildPresetNameL( TDes& aName) const
+// Returns free folder name
+// --------------------------------------------------------------------------
+//
+void CEqualizerPresetsDialog::BuildPresetNameL( TDes& aName) const
+    {
+    //set name in the query box to "Preset"
+    HBufC* defaultText = StringLoader::LoadLC(
+        R_QTN_EQ_PRESET_DEFAULT_NAME);    
+
+    TInt n(0);
+
+    // Numbers start from 1
+    TBool found( EFalse );
+    TBuf<KMaxPresetNameLength> number;
+
+    // The loop is iterated until a free folder name is found.
+    FOREVER
+        {
+        found = EFalse;
+        // Constructs a candidate for the name
+        TBuf<KMaxPresetNameLength> newName;
+        newName.Copy( *defaultText );
+
+        if( n > 0 )
+            // First new is without number ( New folder, New folder(01), New folder(02), ...)
+            {
+            // Creates the current number.
+            number.Format( KEqrFormat, n );
+            AknTextUtils::LanguageSpecificNumberConversion ( number );
+
+            TInt leadingZeroLength( 0 );
+            if( n < 10 )
+                {
+                leadingZeroLength = KEqrZero().Length();
+                }
+
+            // checks the total length of the costructed string
+            if( ( number.Length() + newName.Length() + KEqrParenthesis().Length()
+                  + leadingZeroLength ) > KMaxPresetNameLength )
+                {
+                User::Leave( KErrOverflow );
+                }
+
+            // Appends the first parenthesis
+            newName.Append( KEqrParenthesis );
+            if( n < 10 )
+                {
+                // Appends the leading zero ( always two digits 08, 09, 10, 11,...)
+                 TBuf< 16 > zero(KEqrZero);
+        		AknTextUtils::DisplayTextLanguageSpecificNumberConversion( zero );
+                newName.Append( KEqrZero );
+                }
+            newName.Append( number );
+            }
+        found = SearchPresetL(newName);
+        
+        if( found == KErrNotFound )
+            {
+            aName = newName;
+            CleanupStack::PopAndDestroy( defaultText); 
+            return;
+            }
+        n++;
+        }   
+    }
+
+// -----------------------------------------------------------------------
+// CEqualizerPresetsDialog::GetNewName(TInt aResourceId, TDes& presetName)
+//
+// This function is called to display the dialog box to get a new name
+// during "Raname" or "Create new"
+// -----------------------------------------------------------------------
+// 
+TBool CEqualizerPresetsDialog::GetNewNameL(const TInt aResourceId, TDes& 
+aPresetName) const
+    {
+    CAknTextQueryDialog* dlg;
+    TBool ret = EFalse;
+    
+    while (1)
+        {
+        dlg = CAknTextQueryDialog::NewL(aPresetName); 
+        if (dlg->ExecuteLD(aResourceId))
+            {
+            // Illegal characters in a preset name are < > \" \\ / | : * ?"
+
+            if ( (aPresetName.FindC( KEqrLessThan ) != KErrNotFound ) ||
+                 (aPresetName.FindC( KEqrGreaterThan ) != KErrNotFound ) ||
+                 (aPresetName.FindC( KEqrQuote ) != KErrNotFound ) ||
+                 (aPresetName.FindC( KEqrBackSlash ) != KErrNotFound ) ||                 
+                 (aPresetName.FindC( KEqrForwardSlash ) != KErrNotFound ) ||
+                 (aPresetName.FindC( KEqrOrSymbol ) != KErrNotFound ) ||
+                 (aPresetName.FindC( KEqrColon ) != KErrNotFound ) ||                 
+                 (aPresetName.FindC( KEqrAsterisk ) != KErrNotFound ) ||
+                 (aPresetName.FindC( KEqrQuestionMark ) != KErrNotFound )             
+               )
+                {
+                HBufC* text = StringLoader::LoadLC(
+                    R_QTN_FLDR_ILLEGAL_CHARACTERS);
+                CAknInformationNote* note = new( ELeave ) CAknInformationNote(ETrue);
+                note->ExecuteLD( *text );
+                CleanupStack::PopAndDestroy(text);
+                continue;
+                }
+            
+            TInt error = SearchPresetL(aPresetName);    
+            if (error != KErrNotFound)
+                {
+                // display error
+                HBufC* label = StringLoader::LoadLC(
+                    R_QTN_FLDR_NAME_ALREADY_USED, aPresetName );
+                CAknInformationNote* note = new( ELeave )
+                                         CAknInformationNote( ETrue );
+                note->ExecuteLD( *label );
+                CleanupStack::PopAndDestroy(label);
+                continue;
+                }
+            // New name entered
+            ret = ETrue;
+            }
+        // Break, in case user Cancels the data query or 
+        // enters a valid name 
+        break;
+        }    
+    return ret;
+    }
+ 
+// ---------------------------------------------------------------------------
+// TPresetName CEqualizerPresetsDialog::GetHighlightedPresetInListBox() const
+// This function returns the highlighted Preset in ListBox
+// ---------------------------------------------------------------------------
+//  
+TPresetName CEqualizerPresetsDialog::GetHighlightedPresetInListBox() const
+    {
+    TInt selectedIndex = iListBox->CurrentItemIndex();
+    CTextListBoxModel* model = iListBox->Model();
+    TPresetName selectedItem(model->ItemText(selectedIndex));
+    TPresetName highlightedPreset = 
+             selectedItem.Right(selectedItem.Length()- iItemArray->GetPrefixLength());
+    return highlightedPreset;  
+    }
+
+// ---------------------------------------------------------------------------
+//void CEqualizerPresetsDialog::ActivateEqrPresetL(const TInt  aIndex, 
+//const TDesC& aPreset)  const
+//
+//This function is used for the activation of a preset
+// ---------------------------------------------------------------------------
+//
+void CEqualizerPresetsDialog::ActivateEqrPresetL(const TInt aIndex, 
+const TDesC& aPreset) 
+    {
+    TInt err;
+    // Store activated preset in central repository    
+    SetCurrentPreset(aPreset);
+    
+    // Set the active preset in the equalizer item array
+    iItemArray->SetCurrentActivePreset(aPreset);
+    
+    // Display Confirmation note        
+    // As per 9.2 Spec, No activation note should be shown
+               
+    /*HBufC* activateNoteText = StringLoader::LoadLC(
+    R_QTN_EQ_NOTE_INFO_PRESET_ACTIVATED, aPreset);
+    CAknConfirmationNote* dialog = new(ELeave)CAknConfirmationNote();
+    dialog->ExecuteLD(*activateNoteText);
+    CleanupStack::PopAndDestroy(activateNoteText); */
+    
+    // Inform the engine
+    if (aPreset.Compare(*iPresetNoneText) == 0)            
+        {
+        TRAP(err, iAudEqUtility->DisableEqualizerL());                
+        }
+    else
+        {
+        TRAP(err, iAudEqUtility->ApplyPresetL(GetEngineIndexL(aPreset)));
+        }  
+   
+   if(!err)
+	   {
+	   iListBox->HandleItemAdditionL();
+	   iListBox->SetCurrentItemIndexAndDraw(aIndex);
+	   // To prevent two tickmarks from appearing sometimes
+	   iListBox->DrawNow(); 
+	   }
+   else
+       {
+	   #ifdef _DEBUG
+       	RDebug::Print(_L("CEqualizerPresetsDialog::ActivateEqrPresetL err = %d "), err);
+	   #endif
+        // To prevent multiple tickmarks from appearing 
+        iListBox->DrawNow(); 
+       }
+   }
+
+// ---------------------------------------------------------------------------
+//void CEqualizerPresetsDialog::RenameEqrPresetL(const TInt  aIndex, 
+//const TDesC& aPreset)  const
+//
+//This function is used for the renaming of a preset
+// ---------------------------------------------------------------------------
+//
+void CEqualizerPresetsDialog::RenameEqrPresetL(const TInt /*aIndex*/, 
+const TDesC& aPreset) 
+    {
+    //Check if this is an active preset
+    TPresetName activePresetName = CurrentPreset();
+    if (aPreset.Compare(activePresetName) == 0)            
+       {
+        //Display Confirmation note                 
+        HBufC* renameText = StringLoader::LoadLC(
+        R_QTN_EQ_NOTE_ERR_PRESET_IN_USE_NO_RENAME);               
+        CAknErrorNote* dialog = new(ELeave)CAknErrorNote();         
+        dialog->ExecuteLD(*renameText);
+        CleanupStack::PopAndDestroy(renameText);
+        } 
+    else
+        {
+        TPresetName presetName;
+        presetName =  aPreset;
+        TBool nameEnteredIsFine = 
+        GetNewNameL(R_DIALOG_TEXT_RENAME_ITEM_NAME, presetName); 
+          
+        if (nameEnteredIsFine)
+            {
+            TInt engineIndex = GetEngineIndexL(aPreset);
+            //Update Engine
+            iAudEqUtility->GetPresetL(engineIndex);
+            CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+                                           
+            iAudEqUtility->ModifyPresetL(engineIndex,presetName,
+             audioEqualizer);
+              
+            //Update listbox
+            // Sort the array of user-defined presets
+            iItemArray->UpdateSortedArrayL(); 
+            iListBox->SetCurrentItemIndex(SearchPresetL(presetName));
+            iListBox->DrawNow();
+            }
+        }
+   }
+
+// ---------------------------------------------------------------------------
+// void CEqualizerPresetsDialog::EditEqrPresetL(const TInt  aIndex, 
+// const TDesC& aPreset)  const
+//
+// This function is used for the editing of a preset
+// ---------------------------------------------------------------------------
+//
+void CEqualizerPresetsDialog::EditEqrPresetL(const TInt  /*aIndex*/, 
+const TDesC& aPreset) 
+    {
+    //Set application name in the title pane to preset name.
+    CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
+    CAknTitlePane* tp=(CAknTitlePane*)sp->ControlL(TUid::Uid(
+    EEikStatusPaneUidTitle));
+    tp->SetTextL(aPreset);
+    TInt engineIndex = GetEngineIndexL(aPreset);
+    //Update Engine
+    TBool isActivePreset = (aPreset==CurrentPreset());
+    
+    DisplaySettingsL(iAudEqUtility, engineIndex, isActivePreset);
+    }
+
+// ---------------------------------------------------------------------------
+// void CEqualizerPresetsDialog::CreateNewEqrPresetL(TInt&  aIndex, 
+// TPresetName& aPreset) const
+//
+// This function is used for the creation of a new preset.
+// @param aIndex The index of the preset in the ListBox. This is set
+// to a the index in the ListBox if preset creation is successful. 
+// If the creation is unscuccessful, then the parameter is not changed.
+// @param aPreset The name of the preset created
+// ---------------------------------------------------------------------------
+//
+void CEqualizerPresetsDialog::CreateNewEqrPresetL(TInt&  aIndex, 
+TPresetName& aPreset) const
+    {
+    RFs fs; 
+    User::LeaveIfError( fs.Connect() );
+    CleanupClosePushL<RFs>( fs );
+       
+    if (SysUtil::FFSSpaceBelowCriticalLevelL(&fs,0))
+        {
+        ShowDiskFullNoteL(); // Phone memory full, show note
+        }
+    else
+        {
+        TPresetName presetName;
+        BuildPresetNameL(presetName);
+ 
+        TBool nameEnteredIsFine = GetNewNameL(R_DIALOG_TEXT_NEW_ITEM_NAME,
+         presetName);
+
+        if (nameEnteredIsFine)
+            {
+            //Update Engine
+            CAudioEqualizer& audioEqualizer = iAudEqUtility->Equalizer();
+            iAudEqUtility->CreatePresetL(presetName, audioEqualizer);
+        
+            //Set the level of all bands to 0.
+            TInt numFreqBand = audioEqualizer.NumberOfBands();
+            for (TInt i = 0; i < numFreqBand; i++)
+                {
+                audioEqualizer.SetBandLevelL(i+1, 0);
+                }
+
+            iItemArray->UpdateSortedArrayL();            
+            //Update AudioEqualizerUtility object, setting the level of all
+            // bands to 0 
+            iAudEqUtility->ModifyPresetL(GetEngineIndexL(presetName),
+                                 presetName, audioEqualizer);
+        
+            //Set the focus to the new preset 
+            iListBox->HandleItemAdditionL();
+            iListBox->SetCurrentItemIndex(SearchPresetL(presetName));                 
+            iListBox->DrawNow();
+    
+            aPreset = presetName;
+            aIndex = iItemArray->MdcaCount()-1;  
+	          }
+        }
+        CleanupStack::PopAndDestroy();
+    }
+    
+// ---------------------------------------------------------------------------
+//void CEqualizerPresetsDialog::DeleteEqrPresetL(const TInt  aIndex, 
+//const TDesC& aPreset)  const
+//
+//This function is used for the deletion of a preset
+// ---------------------------------------------------------------------------
+//
+void CEqualizerPresetsDialog::DeleteEqrPresetL(const TInt aIndex,
+const TDesC& aPreset)
+    {
+    //Check if this is an active preset
+    TPresetName activePresetName = CurrentPreset();
+    if (aPreset.Compare(activePresetName) == 0)     
+        {
+        //Display error note                   
+        HBufC* renameText =
+         StringLoader::LoadLC(R_QTN_EQ_NOTE_ERR_PRESET_IN_USE);
+        CAknErrorNote* dialog = new(ELeave)CAknErrorNote();
+        dialog->ExecuteLD(*renameText);
+        CleanupStack::PopAndDestroy(renameText);
+        } 
+    else
+        {
+        //Delete?\n%U" §qtn.query.common.conf.delete?
+        HBufC* text = 
+        StringLoader::LoadLC( R_QTN_QUERY_COMMON_CONF_DELETE, 
+        aPreset);
+
+        // Show confirmation note
+        CAknQueryDialog* dlg = CAknQueryDialog::NewL();
+        TInt result( 
+        dlg->ExecuteLD( R_EQUALIZER_CONFIRMATION_QUERY, *text ) );
+        CleanupStack::PopAndDestroy(text); // text
+
+        if ( result )
+            {
+            //Update Engine
+            iAudEqUtility->DeletePresetL(GetEngineIndexL(aPreset));
+            //Remove from listbox
+            iItemArray->UpdateSortedArrayL();
+            iListBox->HandleItemRemovalL();
+            // This is to avoid the gap observed when the last entry present
+            // in the Preset List is deleted
+            iListBox->SetCurrentItemIndexAndDraw(0);
+            //If we are at the last preset set focus to the next preset
+            // else the previous preset
+            if (aIndex == iItemArray->MdcaCount())
+                {
+                iListBox->SetCurrentItemIndexAndDraw(aIndex - 1);
+                }
+            else
+                {
+                iListBox->SetCurrentItemIndexAndDraw(aIndex);
+                }
+            iListBox->DrawNow();
+            }
+        }
+    }
+
+// -------------------------------------------------------------------
+// TInt CEqualizerPresetsDialog::GetEngineIndexL
+// (const TPresetName& aPresetName)
+//
+// This function is called to find the index of a preset in the list of
+// presets returned by CAudioEqualizerUtility::Presets()
+// --------------------------------------------------------------------
+// 
+TInt CEqualizerPresetsDialog::GetEngineIndexL(const TPresetName& aPresetName) const  
+    {
+    TInt engineIndex = KErrNotFound;
+    TInt count;
+        
+    TArray<TEfAudioEqualizerUtilityPreset> presets = iAudEqUtility->Presets();
+    TInt numPredefinedPresets = iAudEqUtility->NumberOfPreDefinedPresets();
+    TInt numPresets = presets.Count();
+    for (count = 0; count < numPresets; count++)
+        {
+        TPresetName selectedItem = iItemArray->MdcaPoint(count+1);
+        TPresetName presetName = selectedItem.Right(
+                            selectedItem.Length() - iItemArray->GetPrefixLength());
+
+        
+        if (((count < numPredefinedPresets) && (presetName == aPresetName))
+            || (presets[count].iPresetName == aPresetName))
+            {
+            engineIndex = count;
+            }
+        }
+   if (engineIndex == KErrNotFound)
+        {
+        // Leave if this function is called for preset "None" or a preset
+        // which is there in the ListBox but not in the Engine.
+        User::Leave(KErrArgument);
+        }
+        
+    return engineIndex;
+    }
+    
+// -----------------------------------------------------------------------
+// CEqualizerPresetsDialog::DisplaySettingsL
+// (CAudioEqualizerUtility *aAudEqUtility, TInt aIndex,
+// const TBool aIsActivePreset)) const
+//
+// This function is used to display the current equalizer settings
+// by creating a new dialog. The dialog can also be used for editing, etc.
+// of the settings.
+// ------------------------------------------------------------------------
+//  
+void CEqualizerPresetsDialog::DisplaySettingsL(CAudioEqualizerUtility*
+ aAudEqUtility, const TInt aIndex, const TBool aIsActivePreset)
+    {
+    TRect rect = Rect();
+    
+    TInt item;
+    TPresetName preset = GetHighlightedPresetInListBox(); 
+    iItemArray->GetPresetKeyFromLocalisedName(item, preset);
+    iEditingDialog = CEqualizerEditingDialog::NewL(aAudEqUtility, 
+      aIndex, rect, aIsActivePreset,iEqrPresetActObserver, item);
+    iEditingDialog->ExecuteLD(); 
+    iEditingDialog = NULL;    
+    }  
+
+// --------------------------------------------------------------
+// CEqualizerPresetsDialog::CurrentPreset()
+// This function is used to read the currently active preset from
+// the central repository
+// --------------------------------------------------------------
+//    
+TPresetName CEqualizerPresetsDialog::CurrentPreset() const
+    {
+    TInt res = 0;
+    TPresetName preset;
+    User::LeaveIfError(iRepository->Get(KMPlayerEqPresetId, res));
+    iItemArray->GetLocalisedPresetNameFromKey(res,preset );
+    return preset;   
+    }
+
+// ----------------------------------------------------------------
+// CEqualizerPresetsDialog::SetCurrentPreset(const TPtrC& aPreset)
+// This function is used to store the currently active preset into
+// the central repository
+// ----------------------------------------------------------------
+//     
+void CEqualizerPresetsDialog::SetCurrentPreset(const TPresetName& aPreset)
+    {
+    TInt activePresetKey;
+    iActivePreset = aPreset;
+    iItemArray->GetPresetKeyFromLocalisedName(activePresetKey, aPreset);
+    iEqrPresetActObserver.HandlePresetActivation(activePresetKey);
+    }
+
+// ----------------------------------------------------------------------------
+// CEqualizerPresetsDialog::SearchPresetL(const TPresetName& aPreset) const
+// This function is used to search for a preset name in the ListBox.
+// It return the index of the preset, if found and KErrNotFound if not found.
+// ----------------------------------------------------------------------------
+//       
+TInt CEqualizerPresetsDialog::SearchPresetL(const TPresetName& aPreset) const
+    {
+    TInt ret = KErrNotFound;
+    iItemArray->UpdateSortedArrayL();
+
+    for (TInt i=0; i<iItemArray->MdcaCount(); i++)
+        {
+        TPresetName selectedItem = iItemArray->MdcaPoint(i);
+        TPresetName presetName = selectedItem.Right(selectedItem.Length() - iItemArray->GetPrefixLength());
+
+        if (aPreset == presetName)      
+            {
+            ret = i;
+            break;
+            }
+        }
+    return ret;
+    }
+
+// ----------------------------------------------------------------------------
+// CEqualizerPresetsDialog::SetAudioEqualizerL(CAudioEqualizerUtility* 
+// aAudEqUtility)
+// This function is used to set a new CAudioEqualizerUtility* 
+// ----------------------------------------------------------------------------
+//    
+EXPORT_C void CEqualizerPresetsDialog::SetAudioEqualizerL(
+CAudioEqualizerUtility* aAudEqUtility)
+    {
+    iAudEqUtility=aAudEqUtility;
+    if (iItemArray)
+        {
+        iItemArray->SetAudioEqualizer(iAudEqUtility);
+        }	
+
+    if (iEditingDialog)
+        {
+        iEditingDialog->SetAudioEqualizerL(iAudEqUtility);
+        }
+
+        
+    if (iAudEqUtility)
+        {
+        iIgnoreKeyEvents = EFalse;
+        }
+    else
+        {
+        iIgnoreKeyEvents = ETrue; 
+        }
+    }
+    
+// ----------------------------------------------------------------------
+// CEqualizerPresets::GetListBoxIconsL()
+// This function is used to load the lisitbox icons into an array
+// ----------------------------------------------------------------------
+//
+CArrayPtr<CGulIcon>* CEqualizerPresetsDialog::GetListBoxIconsL() const
+    {
+    // Get the icon array and deleted if already exists. Memory leak error.
+    CArrayPtr<CGulIcon>* previcons = iListBox->ItemDrawer()->ColumnData()->IconArray();
+    if( previcons )
+    	{
+    	previcons->ResetAndDestroy();
+    	delete previcons;
+    	previcons = NULL;
+    	}
+    
+    // CGulIcon class packages two bitmaps: icon image and its mask
+    // CAknIconArray inherits from CArrayPtrFlat
+    CArrayPtr<CGulIcon>* iconList = new (ELeave) 
+                                 CAknIconArray(KEqualizerArrayGranularity);
+    CleanupStack::PushL(iconList);
+    
+    // Find which drive this DLL is installed.
+    TFileName fileName;
+    // Get the full resource file
+    TParse fp;
+    // Add the resource dir
+    fp.Set( KIconsFilename, &KDC_APP_BITMAP_DIR, NULL);
+
+    // Get the filename with full path
+    fileName = fp.FullName(); 
+     
+    MAknsSkinInstance* skinInstance;
+    CFbsBitmap* newIconBmp = NULL;
+    CFbsBitmap* newIconBmpMask = NULL;
+    CGulIcon* newIcon = NULL;
+    
+    skinInstance = AknsUtils::SkinInstance();
+    
+    //creating blank icon
+    AknsUtils::CreateIconLC(skinInstance,KAknsIIDQgnPropEmpty,
+                           newIconBmp,newIconBmpMask,fileName,
+                           EMbmEqualizerEmpty13x13,
+                           EMbmEqualizerEmpty13x13_mask);
+    
+    newIcon = CGulIcon::NewL(newIconBmp,newIconBmpMask);
+    
+    CleanupStack::Pop(2);
+    CleanupStack::PushL(newIcon);
+    iconList->AppendL(newIcon);
+    
+    CleanupStack::Pop();
+    
+    //creating TICK mark icon
+    AknsUtils::CreateIconLC(skinInstance,KAknsIIDQgnPropPslnActive,
+                           newIconBmp,newIconBmpMask,fileName,
+                           EMbmEqualizerQgn_prop_psln_active,
+                           EMbmEqualizerQgn_prop_psln_active_mask);
+
+
+    newIcon = CGulIcon::NewL(newIconBmp,newIconBmpMask);
+    
+    CleanupStack::Pop(2);
+    CleanupStack::PushL(newIcon);
+    iconList->AppendL(newIcon);
+
+    CleanupStack::Pop();
+    
+    CleanupStack::Pop(iconList);
+
+    newIconBmp = NULL;
+    newIconBmpMask = NULL;
+    newIcon = NULL;
+
+    return iconList;
+    }    
+    
+// -------------------------------------------------------------------
+// CEqualizerPresetsDialog::ExecuteLD() 
+//
+// This function is called to create a dialog
+// to display the preset list view of the equalizer
+// --------------------------------------------------------------------
+//  
+EXPORT_C TInt CEqualizerPresetsDialog::ExecuteLD()
+    {
+    TInt ret = CAknDialog::ExecuteLD(R_EQUALIZER_DIALOG);
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// void CEqualizerPresetsDialog::PreLayoutDynInitL(void)
+// This function is called just before the dialog is displayed
+// ---------------------------------------------------------------------------
+// 
+void CEqualizerPresetsDialog::PreLayoutDynInitL(void)
+    {
+     
+    CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
+    CAknTitlePane* tp=(CAknTitlePane*)sp->ControlL(TUid::Uid(
+    EEikStatusPaneUidTitle));
+    // Store the Application's title text
+    iAppTitleText =  tp->Text()->AllocL(); 
+       
+    // Set preset name in the title pane
+    tp->SetTextL(*iTitleText);
+
+    iPreviousStatusPaneLayout = sp->CurrentLayoutResId();
+    
+    if ( sp )
+        {
+        if ( R_AVKON_STATUS_PANE_LAYOUT_USUAL != iPreviousStatusPaneLayout )
+            {
+            sp->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL );
+            }
+        }
+    iListBox= (CAknSingleGraphicStyleListBox*)Control(ESelectionListControl);
+    iListBox->ItemDrawer()->ColumnData()->SetIconArray(GetListBoxIconsL());
+    
+    // Set item array to listbox model
+    iListBox->Model()->SetItemTextArray(iItemArray);
+    // Item array is not owned by ListBox so it has to be freed. 
+    iListBox->Model()->SetOwnershipType(ELbmDoesNotOwnItemArray);        
+    
+    //
+    // Create a scrollbar that will be displayed automatically
+    // if all the items cannot be displayed on screen
+    //
+    iListBox->CreateScrollBarFrameL(ETrue);
+    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
+    CEikScrollBarFrame::EOff,CEikScrollBarFrame::EAuto);
+    // Set focus to the currently active preset
+    
+#ifdef RD_SCALABLE_UI_V2
+    iListBox->SetListBoxObserver(this);
+#endif //RD_SCALABLE_UI_V2
+    TPresetName currentPreset = CurrentPreset();
+    
+    TInt cur = SearchPresetL(currentPreset);
+    if (cur == KErrNotFound) //Some preset should always be active
+        {
+        User::Leave(KErrNotSupported);
+        }  
+    iListBox->SetCurrentItemIndexAndDraw(cur);     
+    
+    }
+
+// -------------------------------------------------------------------
+// CEqualizerPresetsDialog::OkToExitL(TInt aButtonId)
+//
+// This function is called when the user presses the selection key
+// for displaying context sesitive menu
+// --------------------------------------------------------------------
+// 
+TBool CEqualizerPresetsDialog::OkToExitL(TInt aButtonId)
+    {
+    TBool ret = EFalse;
+    if (aButtonId == EEikBidOk)
+        {
+        iContextSensitiveMenu = ETrue;
+        DisplayMenuL();
+        }
+    else if (aButtonId == EAknSoftkeyBack) 
+        {
+        CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
+        CAknTitlePane* tp=(CAknTitlePane*)sp->ControlL(TUid::Uid(
+          EEikStatusPaneUidTitle));
+    
+        if (iAppTitleText)
+            {
+             //set application name in the title pane
+            tp->SetTextL(*iAppTitleText);        
+            }
+        ret = CAknDialog::OkToExitL( aButtonId ); 
+        }
+     else if (aButtonId == EAknSoftkeySelect) 
+        {
+        const TInt index = iListBox->CurrentItemIndex();
+        TPresetName preset = GetHighlightedPresetInListBox();
+        ActivateEqrPresetL(index, preset);
+        }
+    else  
+        {
+        ret = CAknDialog::OkToExitL( aButtonId );        
+        } 
+
+    if ( ret )
+        {
+        // Restore landscape layout
+        CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
+        if( Layout_Meta_Data::IsLandscapeOrientation() )
+            {
+            if ( sp && KErrNone != iPreviousStatusPaneLayout )
+                {
+                if ( sp->CurrentLayoutResId() != R_AVKON_STATUS_PANE_LAYOUT_USUAL )
+                    {
+                    sp->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL );
+                    }
+                }
+            }
+        else
+            {
+            CAknLocalScreenClearer* clearer = CAknLocalScreenClearer::NewLC( ETrue );
+            sp->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT );
+            CleanupStack::PopAndDestroy( clearer );
+            }
+        }
+    return ret;
+    } 
+
+// -------------------------------------------------------------------
+// void CEqualizerPresetsDialog::SizeChanged()
+//
+// This function is called by the framework whenever there is a change
+// in the size of the control
+// -------------------------------------------------------------------
+//
+void CEqualizerPresetsDialog::SizeChanged()
+    {
+    TRect rect = Rect();
+    //Getting the layout for the list box
+    AknLayoutUtils::LayoutControl(iListBox, rect, AknLayout::list_gen_pane(1));
+    CAknDialog::SizeChanged();
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerPresetsDialog::HandleForegroundEventL( TBool aForeground)
+//
+// Handles changes to the application 
+// when it switches to or from the foreground.
+// -------------------------------------------------------------------
+//     
+void CEqualizerPresetsDialog::HandleForegroundEventL( TBool aForeground)
+    {
+    if (aForeground)
+        {
+        CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
+        CAknTitlePane* tp=(CAknTitlePane*)sp->ControlL(TUid::Uid(
+        EEikStatusPaneUidTitle));
+        tp->SetTextL(*iTitleText);
+        } 
+    }
+    
+// -------------------------------------------------------------------
+// void CEqualizerPresetsDialog::FocusChanged(TDrawNow aDrawNow)
+//
+// Responds to a change in focus.
+// This is called whenever the control gains or loses focus
+// -------------------------------------------------------------------
+//   
+void CEqualizerPresetsDialog::FocusChanged(TDrawNow /*aDrawNow*/)
+	{
+	iItemArray->UpdateSortedArrayL(); 
+	TPresetName currentPreset = CurrentPreset();
+    iItemArray->SetCurrentActivePreset(currentPreset);
+
+    if(iListBox)
+    {
+        iListBox->HandleItemAdditionL();
+	}
+	}
+	
+// -------------------------------------------------------------------
+// void CEqualizerFreqBand::HandleResourceChangeL(TInt aType)
+//
+// This function is called by the framework whenever there is a 
+// change in skin or layout
+// -------------------------------------------------------------------
+//
+void CEqualizerPresetsDialog::HandleResourceChangeL(TInt aType)
+    {
+    if (aType == KAknsMessageSkinChange)
+        {
+        //Creating the icons for the new Skin
+        iListBox->ItemDrawer()->ColumnData()->SetIconArray(GetListBoxIconsL());
+        iListBox->HandleResourceChange(aType);    
+        }
+
+     else if (aType == KEikDynamicLayoutVariantSwitch)
+        {                
+	    TRect rect;
+	    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, rect);  	    
+	    SetRect(rect);
+        }            
+       
+    }
+
+void CEqualizerPresetsDialog::HandleResourceChange(TInt aType)
+	{
+	CAknDialog::HandleResourceChange( aType );
+	HandleResourceChangeL(aType);
+	}
+
+// ---------------------------------------------------------
+// CEqualizerPresetsDialog::OfferKeyEventL(
+//     const TKeyEvent& aKeyEvent,TEventCode aType)
+// This function is used to handle key events
+// ---------------------------------------------------------
+//
+TKeyResponse CEqualizerPresetsDialog::OfferKeyEventL(
+    const TKeyEvent& aKeyEvent,
+    TEventCode aType )
+    { 
+    if (iIgnoreKeyEvents)
+        {
+        return EKeyWasNotConsumed;
+        }
+    if (aType == EEventKey)
+        {
+        if (aKeyEvent.iCode == EKeyBackspace)
+            {
+            // Find the preset highlighted
+            const TInt listBoxIndex = iListBox->CurrentItemIndex();
+              
+            // pre-defined presets cannot be deleted.
+            // preset "None" is not stored in engine.
+            if (listBoxIndex > (TInt) 
+               (iAudEqUtility->NumberOfPreDefinedPresets()))
+                {
+                TPresetName preset = GetHighlightedPresetInListBox(); 
+                DeleteEqrPresetL(listBoxIndex, preset);
+                }
+            return EKeyWasConsumed;
+            }
+        else if ( aKeyEvent.iCode == EKeyEnter )
+            {
+            const TInt index = iListBox->CurrentItemIndex();
+            TPresetName preset = GetHighlightedPresetInListBox();
+            ActivateEqrPresetL(index, preset);
+            return EKeyWasConsumed;
+            }
+        }
+    return CAknDialog::OfferKeyEventL( aKeyEvent, aType ); 
+    }
+    
+// ---------------------------------------------------------------------------
+// CEqualizerPresetsDialog::DynInitMenuPaneL(
+//                              TInt aResourceId,CEikMenuPane* aMenuPane)
+//  This function is called by the EIKON framework just before it displays
+//  a menu pane. Its default implementation is empty, and by overriding it,
+//  the application can set the state of menu items dynamically according
+//  to the state of application data.
+// ---------------------------------------------------------------------------
+//
+void CEqualizerPresetsDialog::DynInitMenuPaneL(
+                        TInt aResourceId, CEikMenuPane* aMenuPane)
+    {
+    TPresetName selectedItem = GetHighlightedPresetInListBox(); 
+     
+    TInt selectedIndex = iListBox->CurrentItemIndex();     
+    TInt numberOfPreDefinedPresets = 
+    iAudEqUtility->NumberOfPreDefinedPresets();      
+    
+    if ( aResourceId == R_EQUALIZER_CONTAINER_MENU)
+        {
+        //Is the menubar invoked from Options menu or selection key?
+        if (iContextSensitiveMenu == EFalse)
+            {
+            // The menubar is invoked from Options menu
+	        iMenuBar->SetMenuType(CEikMenuBar::EMenuOptions);
+            // The selected preset is "None"
+            if (selectedItem.Compare(*iPresetNoneText) == 0)
+                {
+                aMenuPane->SetItemDimmed(EEqualizerCmdRename, ETrue);
+                aMenuPane->SetItemDimmed(EEqualizerCmdDelete, ETrue);
+                aMenuPane->SetItemDimmed(EEqualizerCmdEdit, ETrue);
+                }
+            // The selected preset is a pre defined preset other than "None"
+            if (selectedIndex <= numberOfPreDefinedPresets)
+                {
+                aMenuPane->SetItemDimmed(EEqualizerCmdRename, ETrue);
+                aMenuPane->SetItemDimmed(EEqualizerCmdDelete, ETrue);
+                }
+            // Help should be displayed only if the feature is supported
+            // according to Feature Manager
+            if (!FeatureManager::FeatureSupported(KFeatureIdHelp))
+                {
+                aMenuPane->SetItemDimmed(EEqualizerCmdHelp, ETrue);
+                }
+            }
+        else
+            {
+            // The menubar is invoked from selection key
+	        iMenuBar->SetMenuType(CEikMenuBar::EMenuContext);
+            // These Options are always hidden
+            aMenuPane->SetItemDimmed(EEqualizerCmdDelete, ETrue);
+            aMenuPane->SetItemDimmed(EEqualizerCmdRename, ETrue);
+            aMenuPane->SetItemDimmed(EEqualizerCmdCreateNew, ETrue);
+            aMenuPane->SetItemDimmed(EEqualizerCmdHelp, ETrue);
+            aMenuPane->SetItemDimmed(EAknCmdExit, ETrue);
+            
+            // The selected preset is "None"
+            if (selectedItem.Compare(*iPresetNoneText) == 0)            
+                {
+                aMenuPane->SetItemDimmed(EEqualizerCmdEdit, ETrue);
+                }
+            iContextSensitiveMenu = EFalse; 
+            }
+        aMenuPane->SetItemDimmed(EEqualizerCmdCreateNew, ETrue );
+        aMenuPane->SetItemDimmed(EEqualizerCmdEdit, ETrue);
+        }
+   }
+
+// -------------------------------------------------------------------
+// CEqualizerPresetsDialog::ProcessCommandL(TInt  aCommandId ) 
+//
+// This function is called to process the menubar command in a dialog
+// --------------------------------------------------------------------
+// 
+void CEqualizerPresetsDialog::ProcessCommandL(TInt  aCommandId )
+    {
+    // Need to do this in all cases or menu does not disappear after
+    // a selection is made
+    CAknDialog::ProcessCommandL(aCommandId);
+    
+    // Find the preset highlighted
+    const TInt index = iListBox->CurrentItemIndex();
+    TPresetName preset = GetHighlightedPresetInListBox(); 
+       
+    switch(aCommandId)
+        {
+        case EAknCmdExit :
+        case EEikCmdExit :
+            {
+            iAvkonAppUi->HandleCommandL( aCommandId );
+            break;
+            }    
+        case EEqualizerCmdEdit:
+            {
+            EditEqrPresetL(index, preset);
+            break;
+            }
+        case EEqualizerCmdActivate:
+            {
+            ActivateEqrPresetL(index, preset);
+            break;
+            }
+        case EEqualizerCmdCreateNew:
+            {
+            TInt presetIndex = -1;
+            TPresetName presetName; 
+
+            CreateNewEqrPresetL(presetIndex, presetName);
+         
+            if (presetIndex != -1)
+                {
+                // A valid preset name has been entered
+                EditEqrPresetL(presetIndex, presetName);
+                }   
+            break;   
+            }
+ 
+        case EEqualizerCmdDelete:
+            { 
+            DeleteEqrPresetL(index, preset); 
+            break;
+            }
+
+        case EEqualizerCmdRename:
+            { 
+            RenameEqrPresetL(index, preset);
+            break;
+            }
+
+        case EEqualizerCmdHelp:
+            {
+            HlpLauncher::LaunchHelpApplicationL
+                ( iEikonEnv->WsSession(),
+                 CEikonEnv::Static()->AppUi()->AppHelpContextL() );
+            break;
+            }
+
+        default:
+            {
+            break;
+            }
+        }
+    }
+     
+// -------------------------------------------------------------------
+// void CEqualizerPresetsDialog::GetHelpContext( 
+//            TCoeHelpContext& aContext ) const
+// Get help context for the control
+// --------------------------------------------------------------------
+//         
+void CEqualizerPresetsDialog::GetHelpContext( 
+            TCoeHelpContext& aContext ) const
+    {
+    aContext.iMajor = KUidEqualizer;
+    aContext.iContext = KEQ_HLP_LIST_VIEW;
+    }
+
+// -------------------------------------------------------------------
+// void CEqualizerPresetsDialog::ShowDiskFullNoteL() 
+// This function is used to display a note to the user if           
+// memory is below critical level when creating a new preset.
+// --------------------------------------------------------------------
+//  
+void CEqualizerPresetsDialog::ShowDiskFullNoteL() const
+    {
+    HBufC* message = NULL;
+    message = StringLoader::LoadLC(R_QTN_MEMLO_NOT_ENOUGH_MEMORY);
+       
+    CAknGlobalNote* note = CAknGlobalNote::NewLC();
+    note->SetSoftkeys(R_AVKON_SOFTKEYS_OK_EMPTY);
+    note->ShowNoteL(/*status,*/ EAknGlobalErrorNote, *message);
+    
+    CleanupStack::PopAndDestroy(note); // note, message
+    CleanupStack::PopAndDestroy(message); // note, message
+    }
+
+#ifdef RD_SCALABLE_UI_V2
+// -------------------------------------------------------------------
+// void CEqualizerPresetsDialog::HandleListBoxEventL 
+// This function callback from MEikListBoxObserver when a listbox item           
+// is double clicked using a pen input .
+// --------------------------------------------------------------------
+//  
+void CEqualizerPresetsDialog::HandleListBoxEventL(
+    CEikListBox* /*aListBox*/,
+    TListBoxEvent aEventType )
+    {
+    switch ( aEventType )
+        {
+#ifdef SINGLE_CLICK_INCLUDED
+        case EEventItemSingleClicked:
+#endif
+        case EEventItemDoubleClicked:
+            {
+            const TInt index = iListBox->CurrentItemIndex();
+            TPresetName preset = GetHighlightedPresetInListBox();
+            ActivateEqrPresetL(index, preset);
+            break;
+            }
+        default:
+            break;
+        }
+    }
+#endif //RD_SCALABLE_UI_V2
+// End of File 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Build information file for equalizer  
+*
+*/
+
+
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+#include "../equalizer/group/bld.inf"
+
+
+//  End of File  
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/audioeffectsui/inc/audioeffectsuibldvariant.hrh	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  bldvariant headers for project audioeffectsui
+*
+*/
+
+
+
+#ifndef AUDIOEFFECTSUIBLDVARIANT_HRH
+#define AUDIOEFFECTSUIBLDVARIANT_HRH
+
+
+#define IAD_INCLUDE_SINGLE_CLICK
+
+
+#endif  // AUDIOEFFECTSUIBLDVARIANT_HRH
+
+// End of File
\ No newline at end of file
--- a/mmserv/callaudiocontrol/group/CallAudioControl.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/callaudiocontrol/group/CallAudioControl.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -46,7 +46,7 @@
 //SYSTEMINCLUDE	/epoc32/include/CallAudioControl
 
 LIBRARY         euser.lib
-LIBRARY		TelephonyAudioRouting.lib
+LIBRARY		telephonyaudiorouting.lib
 LIBRARY		centralrepository.lib
 
 #ifdef __SERIES60_31__
--- a/mmserv/callaudiocontrol/inc/CallAudioControlImpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/callaudiocontrol/inc/CallAudioControlImpl.h	Wed Sep 01 12:23:00 2010 +0100
@@ -33,7 +33,7 @@
 #include <PhCltExt.h>       // link against PhoneClientExt.lib
 #include <MediatorCommandInitiator.h>
 #else
-#include <cphcltcommandhandler.h> // wasn't introduced until 3.2
+#include <CPhCltCommandHandler.h> // wasn't introduced until 3.2
 #endif
 
 #include "CallAudioControlUtility.h"
--- a/mmserv/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -23,10 +23,10 @@
 
 PRJ_MMPFILES
 
+#include "../audioeffectsui/group/bld.inf"
 #include "../callaudiocontrol/group/bld.inf"
 #include "../metadatautility/Group/bld.inf"
 #include "../radioutility/group/bld.inf"
-#include "../sts/group/bld.inf"
 #include "../thumbnailengine/Group/bld.inf"
 #include "../tms/group/bld.inf"
 #include "../voipaudioservices/group/bld.inf"
Binary file mmserv/metadatautility/3GPExtParserLib/armv5/LIB/3GPExtParser.dso has changed
Binary file mmserv/metadatautility/3GPExtParserLib/armv5/LIB/3GPExtParser.lib has changed
Binary file mmserv/metadatautility/3GPExtParserLib/armv5/LIB/3GPExtParser{000a0000}.dso has changed
Binary file mmserv/metadatautility/3GPExtParserLib/armv5/LIB/3GPExtParser{000a0000}.lib has changed
Binary file mmserv/metadatautility/3GPExtParserLib/armv5/udeb/3GPExtParser.dll has changed
Binary file mmserv/metadatautility/3GPExtParserLib/armv5/urel/3GPExtParser.dll has changed
--- a/mmserv/metadatautility/3GPExtParserLib/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Project build file for 3GPExtParser lib
-*
-*/
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-#ifdef  __3GP_EXTENTION
-
-// Exporting 3GPExtParser Binaries
-../armv5/LIB/3GPExtParser.lib                   /epoc32/release/armv5/LIB/3GPExtParser.lib
-../armv5/LIB/3GPExtParser.dso                   /epoc32/release/armv5/LIB/3GPExtParser.dso
-../armv5/LIB/3GPExtParser{000a0000}.lib         /epoc32/release/armv5/LIB/3GPExtParser{000a0000}.lib
-../armv5/LIB/3GPExtParser{000a0000}.dso         /epoc32/release/armv5/LIB/3GPExtParser{000a0000}.dso
-
-../armv5/udeb/3GPExtParser.dll 			/epoc32/release/armv5/udeb/3GPExtParser.dll
-../armv5/urel/3GPExtParser.dll 			/epoc32/release/armv5/urel/3GPExtParser.dll
-
-../winscw/udeb/3GPExtParser.lib 		/epoc32/release/winscw/udeb/3GPExtParser.lib
-../winscw/udeb/3GPExtParser.dll 		/epoc32/release/winscw/udeb/3GPExtParser.dll
-../winscw/urel/3GPExtParser.dll 		/epoc32/release/winscw/urel/3GPExtParser.dll
-
-#endif
-
-PRJ_MMPFILES
-
-
-//  End of File  
Binary file mmserv/metadatautility/3GPExtParserLib/winscw/udeb/3GPExtParser.dll has changed
Binary file mmserv/metadatautility/3GPExtParserLib/winscw/udeb/3GPExtParser.lib has changed
Binary file mmserv/metadatautility/3GPExtParserLib/winscw/urel/3GPExtParser.dll has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/metadatautility/3GPExtParserLib_stub/BWINS/3GPExtParserU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,7 @@
+EXPORTS
+	??1C3GPExtParser@@UAE@XZ @ 1 NONAME ; C3GPExtParser::~C3GPExtParser(void)
+	?GetilstBoxesL@C3GPExtParser@@QAEXW4TMetaDataFieldId@@PAPAVHBufC8@@@Z @ 2 NONAME ; void C3GPExtParser::GetilstBoxesL(enum TMetaDataFieldId, class HBufC8 * *)
+	?Is3GPExtMetadataL@C3GPExtParser@@QAEHXZ @ 3 NONAME ; int C3GPExtParser::Is3GPExtMetadataL(void)
+	?NewL@C3GPExtParser@@SAPAV1@AAPAJ@Z @ 4 NONAME ; class C3GPExtParser * C3GPExtParser::NewL(long * &)
+	?GetilstBoxesL@C3GPExtParser@@QAEXW4TMetaDataFieldId@@PAPAVHBufC16@@@Z @ 5 NONAME ; void C3GPExtParser::GetilstBoxesL(enum TMetaDataFieldId, class HBufC16 * *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/metadatautility/3GPExtParserLib_stub/EABI/3GPExtParserU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,8 @@
+EXPORTS
+	_ZN13C3GPExtParser13GetilstBoxesLE16TMetaDataFieldIdPP6HBufC8 @ 1 NONAME
+	_ZN13C3GPExtParser17Is3GPExtMetadataLEv @ 2 NONAME
+	_ZN13C3GPExtParser4NewLERPl @ 3 NONAME
+	_ZTI13C3GPExtParser @ 4 NONAME ; #<TI>#
+	_ZTV13C3GPExtParser @ 5 NONAME ; #<VT>#
+	_ZN13C3GPExtParser13GetilstBoxesLE16TMetaDataFieldIdPP7HBufC16 @ 6 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/metadatautility/3GPExtParserLib_stub/group/3GPExtParserLib_stub.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project file for 3GPExtParser
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+
+TARGET      3GPExtParser.dll
+TARGETTYPE  DLL
+UID         0x1000008D 0x10207B25
+VENDORID    VID_DEFAULT
+
+#if (defined EKA2)
+CAPABILITY ALL -Tcb
+#endif
+
+VERSION 10.0
+
+SOURCEPATH		../Src 
+SOURCE			3GPExtParserLib_stub.cpp
+
+//Need to add a path to  "3GPExtParser.h"
+USERINCLUDE     	../../Src
+
+MW_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE		/epoc32/include/libc
+
+LIBRARY         euser.lib
+
+SMPSAFE
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/metadatautility/3GPExtParserLib_stub/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project build file for 3GPExtParser
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_MMPFILES
+3GPExtParserLib_stub.mmp
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/metadatautility/3GPExtParserLib_stub/src/3GPExtParserLib_stub.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  This class implements an 3GPExt metadata parser
+*
+*/
+
+// INCLUDE FILES
+#include "3GPExtParser.h"
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// C3GPExtParser::C3GPExtParser
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+C3GPExtParser::C3GPExtParser(MP4Handle& aMP4Handle): iMP4Handle(aMP4Handle), ilst(NULL, 0)
+	{
+    }
+
+// -----------------------------------------------------------------------------
+// C3GPExtParser::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void C3GPExtParser::ConstructL()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// C3GPExtParser::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C C3GPExtParser* C3GPExtParser::NewL(MP4Handle& aMP4Handle)
+    {
+	C3GPExtParser* self = new( ELeave ) C3GPExtParser (aMP4Handle);
+    return self;
+    }
+
+// Destructor
+C3GPExtParser::~C3GPExtParser()
+	{
+	}
+
+// -----------------------------------------------------------------------------
+// 3GPExtParser::GetilstBoxesL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void C3GPExtParser::GetilstBoxesL(TMetaDataFieldId /*aFieldId*/, HBufC** /*aBuf*/)
+{
+    User::Leave(KErrNotSupported);    
+}
+// -----------------------------------------------------------------------------
+// 3GPExtParser::GetilstBoxesL for 8-bit descriptor fields 
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void C3GPExtParser::GetilstBoxesL(TMetaDataFieldId /*aFieldId*/, HBufC8** /*aBuf*/)
+{
+    User::Leave(KErrNotSupported);   
+}
+
+// -----------------------------------------------------------------------------
+// C3GPExtParser::Is3GPExtMetadataL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool C3GPExtParser::Is3GPExtMetadataL()
+{
+    User::Leave(KErrNotSupported); 
+    return EFalse;   
+}
+
+// -----------------------------------------------------------------------------
+// 3GPExtParser::MapID3v1GenreToString()
+// -----------------------------------------------------------------------------
+//
+void C3GPExtParser::ParseIlstBoxesL()
+{
+}
+
+// -----------------------------------------------------------------------------
+// 3GPExtParser::MapID3v1GenreToString()
+// -----------------------------------------------------------------------------
+//
+void C3GPExtParser::MapID3GenreToString(TInt /*aNum*/, TDes& /*aGenrePtr*/)
+{
+}
+		
+			
+// -----------------------------------------------------------------------------
+// 3GPExtParser::TranslateMP4Err
+// -----------------------------------------------------------------------------
+//
+TInt C3GPExtParser::TranslateMP4Err(MP4Err /*aError*/)
+{
+	return KErrNotSupported;
+}
+	
+
+	
+//  End of File
Binary file mmserv/metadatautility/Conf/metadatautility.confml has changed
--- a/mmserv/metadatautility/Group/MetaDataUtility.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Group/MetaDataUtility.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -85,12 +85,12 @@
 LIBRARY                 euser.lib
 LIBRARY                 efsrv.lib	// File handling
 LIBRARY                 charconv.lib
-LIBRARY                 3gpmp4lib.lib
+LIBRARY                 3GPMP4Lib.lib
 LIBRARY                 caf.lib
 LIBRARY                 estlib.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 bafl.lib 
-LIBRARY                 syslangutil.lib 
+LIBRARY                 SysLangUtil.lib 
 LIBRARY                 DrmRightsInfo.lib
 
 LIBRARY			        3GPExtParser.lib
--- a/mmserv/metadatautility/Group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -39,7 +39,9 @@
 
 #ifdef  __3GP_EXTENTION
 #include "../3GPExtParserLib/group/bld.inf"
-#endif 
+#else
+#include "../3GPExtParserLib_stub/group/bld.inf"
+#endif
 
 MetaDataUtility.mmp
 
--- a/mmserv/metadatautility/Src/3GPExtParser.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Src/3GPExtParser.h	Wed Sep 01 12:23:00 2010 +0100
@@ -27,19 +27,6 @@
 #include "MetaDataFieldContainer.h"
 #include "MetaDataField.hrh"
 
-// CONSTANTS
-
-_LIT8 (K3GPExtMetaTitleFormat, "%cnam"); 
-_LIT8 (K3GPExtMetaArtistFormat, "%cART"); 
-_LIT8 (K3GPExtMetaComposerFormat, "%cwrt"); 
-_LIT8 (K3GPExtMetaAlbumFormat, "%calb"); 
-_LIT8 (K3GPExtMetaCommentFormat, "%ccmt"); 
-_LIT8 (K3GPExtMetaCustomGenreFormat, "%cgen");  // mapped to rating
-_LIT8 (K3GPExtMetaYearFormat, "%cday"); 
-_LIT8 (K3GPExtMetaGenre, "gnre");
-_LIT8 (K3GPExtMetaTrack, "trkn"); 
-_LIT8 (K3GPExtMetaJpeg, "covr"); 
-
 
 // CLASS DECLARATION
 
@@ -67,20 +54,18 @@
         /**
 		* Extract meta data boxes from ilst
 		* @since 3.0
-		* @param aBox wanted metadata box
         * @param aFieldId metadata field in 3GPExtParser
 		* @return void
 		*/
-		IMPORT_C void GetilstBoxesL(const TDesC8& aBox, TMetaDataFieldId aFieldId, HBufC** aBuf);
+		IMPORT_C void GetilstBoxesL(TMetaDataFieldId aFieldId, HBufC** aBuf);
 		/**
 		* Extract meta data boxes from ilst
 		* 8-bit version to support international languages in string metadata
 		* @since 3.1
-		* @param aBox wanted metadata box
         * @param aFieldId metadata field in 3GPExtParser
 		* @return void
 		*/
-		IMPORT_C void GetilstBoxesL(const TDesC8& aBox, TMetaDataFieldId aFieldId, HBufC8** aBuf);
+		IMPORT_C void GetilstBoxesL(TMetaDataFieldId aFieldId, HBufC8** aBuf);
 				
 		/** 
 		* Checks if file has 3GPExt metadata
@@ -158,9 +143,7 @@
  		TUint32 iTrackNumberSize;
  		TUint32 iCoverOffset;
  		TUint32 iCoverSize;
-        TUint32 iAlbumArtistOffset;  
-        TUint32 iAlbumArtistSize;
-        
+ 		
  	public:
  				// constants
 		TBuf8<4> K3GPExtMetaTitle;
--- a/mmserv/metadatautility/Src/MetaDataParser3GPExt.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParser3GPExt.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -111,55 +111,55 @@
 	
 	if ( aWantedFields.Count() == 0 )
         {
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTitleFormat, EMetaDataSongTitle, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataSongTitle, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataSongTitle);
             }
 
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaArtistFormat, EMetaDataArtist, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataArtist, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataArtist);
             }
 		
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaComposerFormat, EMetaDataComposer, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComposer, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataComposer);
             }
 
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaAlbumFormat, EMetaDataAlbum, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbum, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataAlbum);
             }
             
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCommentFormat, EMetaDataComment, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComment, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataComment);
             }
 
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaGenre, EMetaDataGenre, &buf));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataGenre, &buf));
         if (KErrNone == err)
             {
             AppendL(&buf, EMetaDataGenre);
             }
 		
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaYearFormat, EMetaDataYear, &buf));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataYear, &buf));
         if (KErrNone == err)
             {
             AppendL(&buf, EMetaDataYear);
             }
 
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCustomGenreFormat, EMetaDataRating, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataRating, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataGenre);
             }
 			
-		TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTrack, EMetaDataAlbumTrack, &buf));
+		TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbumTrack, &buf));
         if (KErrNone == err)
             {
             AppendL(&buf, EMetaDataAlbumTrack);
@@ -167,13 +167,7 @@
 
         TRAP(err, GetDurationL(EMetaDataDuration));
 		
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaArtistFormat, EMetaDataAlbumArtist, &buf8));
-        if (KErrNone == err)
-            {
-            ConvertAndAppendL(&buf8, EMetaDataAlbumArtist);
-            }
-        
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaJpeg, EMetaDataJpeg, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataJpeg, &buf8));
         if (KErrNone == err)
             {
             AppendL(&buf8, EMetaDataJpeg);
@@ -189,7 +183,7 @@
             switch ( aWantedFields[ i ] )
                 {
                 case EMetaDataSongTitle:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTitleFormat, EMetaDataSongTitle, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataSongTitle, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataSongTitle);
@@ -197,7 +191,7 @@
                     break;
 					
                 case EMetaDataComment:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCommentFormat, EMetaDataComment, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComment, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataComment);
@@ -205,7 +199,7 @@
                     break;
 					
                 case EMetaDataAlbumTrack:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTrack, EMetaDataAlbumTrack, &buf));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbumTrack, &buf));
                     if (KErrNone == err)
                         {
                         AppendL(&buf, EMetaDataAlbumTrack);
@@ -213,7 +207,7 @@
                     break;
 					
                 case EMetaDataArtist:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaArtistFormat, EMetaDataArtist, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataArtist, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataArtist);
@@ -221,7 +215,7 @@
                     break;
 					
                 case EMetaDataComposer:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaComposerFormat, EMetaDataComposer, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComposer, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataComposer);
@@ -229,7 +223,7 @@
                     break;
 					
                 case EMetaDataAlbum:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaAlbumFormat, EMetaDataAlbum, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbum, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataAlbum);
@@ -237,7 +231,7 @@
                     break;
 					
                 case EMetaDataGenre:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaGenre, EMetaDataGenre, &buf));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataGenre, &buf));
                     if (KErrNone == err)
                         {
                         AppendL(&buf, EMetaDataGenre);
@@ -249,7 +243,7 @@
                     break;
 					
                 case EMetaDataYear:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaYearFormat, EMetaDataYear, &buf));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataYear, &buf));
                     if (KErrNone == err)
                         {
                         AppendL(&buf, EMetaDataYear);
@@ -257,23 +251,15 @@
                     break;
 					
                 case EMetaDataRating:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCustomGenreFormat, EMetaDataRating, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataRating, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataGenre);
                         }					
                     break;
 					
-                case EMetaDataAlbumArtist:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaArtistFormat, EMetaDataAlbumArtist, &buf8));
-                    if (KErrNone == err)
-                        {
-                        ConvertAndAppendL(&buf8, EMetaDataAlbumArtist);
-                        }                   
-                    break;
-                    
                 case EMetaDataJpeg:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaJpeg, EMetaDataJpeg, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataJpeg, &buf8));
                     if (KErrNone == err)
                         {
                         AppendL(&buf8, EMetaDataJpeg);
--- a/mmserv/metadatautility/Src/MetaDataParserID3v2.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParserID3v2.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -232,7 +232,6 @@
 				case EMetaDataComposer:
 				case EMetaDataCopyright:
 				case EMetaDataOriginalArtist:
-                case EMetaDataAlbumArtist:
 					TRAP(err, GetTextInfoL( fieldId, frameSize ));
 					break;
 
@@ -340,7 +339,6 @@
 						case EMetaDataComposer:
 						case EMetaDataCopyright:
 						case EMetaDataOriginalArtist:
-		                case EMetaDataAlbumArtist:
 							TRAP(err, GetTextInfoL( fieldId, frameSize ));
 							break;
 
--- a/mmserv/metadatautility/Src/MetaDataParserID3v22.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParserID3v22.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -47,7 +47,6 @@
 _LIT8( KID3v2FrameIdDuration, 		"TLE" );
 _LIT8( KID3v2FrameIdDate, 			"TDA" );
 _LIT8( KID3v2FrameIdRating, 		"POP" );
-_LIT8( KID3v2FrameIdAlbumArtist,    "TP2" );
 
 _LIT8( KID3v2ImageFormatPng, 		"PNG" );
 _LIT8( KID3v2ImageFormatJpeg, 		"JPG" );
@@ -254,10 +253,6 @@
 		{
 		aFieldId = EMetaDataRating;
 		}
-    else if ( frameId.Compare( KID3v2FrameIdAlbumArtist ) == 0 )
-        {
-        aFieldId = EMetaDataAlbumArtist;
-        }
 	else
 		{
 		aFieldId = EUnknownMetaDataField;
--- a/mmserv/metadatautility/Src/MetaDataParserID3v23.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParserID3v23.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -46,7 +46,6 @@
 _LIT8( KID3v2FrameIdDuration, 		"TLEN" );
 _LIT8( KID3v2FrameIdDate, 			"TDAT" );
 _LIT8( KID3v2FrameIdRating, 		"POPM" );
-_LIT8( KID3v2FrameIdAlbumArtist,    "TPE2" );
 
 _LIT8( KID3v2ImageFormatPngMime, 	"image/png" );
 _LIT8( KID3v2ImageFormatPng, 		"png" );
@@ -282,10 +281,6 @@
 		{
 		aFieldId = EMetaDataRating;
 		}
-    else if ( frameId.Compare( KID3v2FrameIdAlbumArtist ) == 0 )
-        {
-        aFieldId = EMetaDataAlbumArtist;
-        }
 	else
 		{
 		aFieldId = EUnknownMetaDataField;
--- a/mmserv/metadatautility/Src/MetaDataParserID3v24.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParserID3v24.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -47,7 +47,6 @@
 _LIT8( KID3v2FrameIdDuration, 		"TLEN" );
 _LIT8( KID3v2FrameIdDate, 			"TDRC" ); // same as year
 _LIT8( KID3v2FrameIdRating,			"POPM" );
-_LIT8( KID3v2FrameIdAlbumArtist,    "TPE2" );
 
 _LIT8( KID3v2ImageFormatPngMime, 	"image/png" );
 _LIT8( KID3v2ImageFormatPng, 		"png" );
@@ -286,10 +285,6 @@
 		{
 		aFieldId = EMetaDataRating;
 		}
-    else if ( frameId.Compare( KID3v2FrameIdAlbumArtist ) == 0 )
-        {
-        aFieldId = EMetaDataAlbumArtist;
-        }
 	else
 		{
 		aFieldId = EUnknownMetaDataField;
--- a/mmserv/metadatautility/Src/MetaDataParserMP4.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParserMP4.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -64,8 +64,8 @@
 	RDebug::Print(_L("CMetaDataParserMP4::InitializeFileL - MP4ParseOpen err = %d"), err);
 #endif
 	User::LeaveIfError(TranslateMP4Err(err));
-	MP4Err mp4Err = MP4SetCustomFileBufferSizes( iMP4Handle, 0, 0, KCustomFileBufferSize);
-	if ( (mp4Err == MP4_OK) && ValidateL() )
+	MP4SetCustomFileBufferSizes( iMP4Handle, 0, 0, KCustomFileBufferSize);
+	if ( ValidateL() )
 		{
 		User::LeaveIfError(iFs.Connect());
 		// Get list of charconv supported character sets
--- a/mmserv/metadatautility/Src/MetaDataParserRA.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParserRA.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -371,4 +371,3 @@
 	}	
 
 //  End of File
-
--- a/mmserv/metadatautility/Src/MetaDataParserWMA.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParserWMA.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -69,8 +69,6 @@
 _LIT(KWMAudioFileURL,	"WM/AudioFileURL\0");
 _LIT(KWMSharedUserRating, "WM/SharedUserRating\0");
 _LIT(KWMDate, "WM/OriginalReleaseTime\0");
-_LIT(KWMAlbumArtist, "WM/AlbumArtist\0");
-
 #ifdef __WINDOWS_MEDIA
 _LIT(KWMProvider, "WM/Provider\0");
 #endif
@@ -183,7 +181,6 @@
 		TRAP(err, GetExtContDesEntryL(EMetaDataAlbumTrack, iTrackNumberOffset));
 		TRAP(err, GetExtContDesEntryL(EMetaDataUniqueFileIdentifier, iUniqueFileIdentifierOffset));
 		TRAP(err, GetExtContDesEntryL(EMetaDataUrl, iAudioFileURLOffset));
-        TRAP(err, GetExtContDesEntryL(EMetaDataAlbumArtist, iAlbumArtistOffset));
 		TRAP(err, GetDurationL());
 		TRAP(err, GetExtContDesEntryL(EMetaDataDate, iDateOffset));
 	#ifdef __WINDOWS_MEDIA
@@ -248,9 +245,6 @@
 				case EMetaDataDate:
 					TRAP(err, GetExtContDesEntryL(EMetaDataDate, iDateOffset));
 					break;
-                case EMetaDataAlbumArtist:
-                    TRAP(err, GetExtContDesEntryL(EMetaDataAlbumArtist, iAlbumArtistOffset));
-					break;
 			#ifdef __WINDOWS_MEDIA
 				case EMetaDataVendor:
 					TRAP(err, GetExtContDesEntryL(EMetaDataVendor, iProviderOffset));
@@ -892,10 +886,6 @@
 				{
 				iDateOffset = offset; 
 				}
-            else if(!name16.Compare(KWMAlbumArtist))
-                {
-                iAlbumArtistOffset = offset; 
-                }
 		#ifdef __WINDOWS_MEDIA
 			else if(!name16.Compare(KWMProvider))
 				{
--- a/mmserv/metadatautility/Src/MetaDataParserWMA.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParserWMA.h	Wed Sep 01 12:23:00 2010 +0100
@@ -236,7 +236,6 @@
 		TInt iSharedUserRatingOffset;
 		TInt iDateOffset;
 		TInt iLyricsOffset;
-        TInt iAlbumArtistOffset;
 	#ifdef __WINDOWS_MEDIA
 		TInt iProviderOffset;
 	#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/BWINS/FmPresetUtilityU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,23 @@
+EXPORTS
+	??1CRadioFmPresetUtility@@UAE@XZ @ 1 NONAME ; CRadioFmPresetUtility::~CRadioFmPresetUtility(void)
+	?DeletePresetL@CRadioFmPresetUtility@@UAEXH@Z @ 2 NONAME ; void CRadioFmPresetUtility::DeletePresetL(int)
+	?GetFirstPresetL@CRadioFmPresetUtility@@UBEXAAH@Z @ 3 NONAME ; void CRadioFmPresetUtility::GetFirstPresetL(int &) const
+	?GetMaxNumberOfPresets@CRadioFmPresetUtility@@UBEHAAH@Z @ 4 NONAME ; int CRadioFmPresetUtility::GetMaxNumberOfPresets(int &) const
+	?GetNextPresetL@CRadioFmPresetUtility@@UBEXHAAH@Z @ 5 NONAME ; void CRadioFmPresetUtility::GetNextPresetL(int, int &) const
+	?GetNumberOfPresets@CRadioFmPresetUtility@@UBEHAAH@Z @ 6 NONAME ; int CRadioFmPresetUtility::GetNumberOfPresets(int &) const
+	?GetPresetL@CRadioFmPresetUtility@@UAEXHAAV?$TBuf@$0CA@@@AAH@Z @ 7 NONAME ; void CRadioFmPresetUtility::GetPresetL(int, class TBuf<32> &, int &)
+	?NewL@CRadioFmPresetUtility@@SAPAV1@AAVMRadioPresetObserver@@@Z @ 8 NONAME ; class CRadioFmPresetUtility * CRadioFmPresetUtility::NewL(class MRadioPresetObserver &)
+	?SetPresetL@CRadioFmPresetUtility@@UAEXHABV?$TBuf@$0CA@@@H@Z @ 9 NONAME ; void CRadioFmPresetUtility::SetPresetL(int, class TBuf<32> const &, int)
+	?GetPresetFrequencyL@CRadioFmPresetUtility@@UAEXHAAH@Z @ 10 NONAME ; void CRadioFmPresetUtility::GetPresetFrequencyL(int, int &)
+	?GetPresetNameL@CRadioFmPresetUtility@@UAEXHAAV?$TBuf@$0CA@@@@Z @ 11 NONAME ; void CRadioFmPresetUtility::GetPresetNameL(int, class TBuf<32> &)
+	?SetPresetFavouriteInfoL@CRadioFmPresetUtility@@QAEXHH@Z @ 12 NONAME ; void CRadioFmPresetUtility::SetPresetFavouriteInfoL(int, int)
+	?SetPresetUserRenameInfoL@CRadioFmPresetUtility@@QAEXHH@Z @ 13 NONAME ; void CRadioFmPresetUtility::SetPresetUserRenameInfoL(int, int)
+	?SetPresetPICodeL@CRadioFmPresetUtility@@QAEXHI@Z @ 14 NONAME ; void CRadioFmPresetUtility::SetPresetPICodeL(int, unsigned int)
+	?GetPresetUserRenameInfoL@CRadioFmPresetUtility@@QAEXHAAH@Z @ 15 NONAME ; void CRadioFmPresetUtility::GetPresetUserRenameInfoL(int, int &)
+	?GetPresetPtyL@CRadioFmPresetUtility@@QAEXHAAI@Z @ 16 NONAME ; void CRadioFmPresetUtility::GetPresetPtyL(int, unsigned int &)
+	?SetPresetPtyL@CRadioFmPresetUtility@@QAEXHI@Z @ 17 NONAME ; void CRadioFmPresetUtility::SetPresetPtyL(int, unsigned int)
+	?GetPresetPICodeL@CRadioFmPresetUtility@@QAEXHAAI@Z @ 18 NONAME ; void CRadioFmPresetUtility::GetPresetPICodeL(int, unsigned int &)
+	?SetPresetUrlL@CRadioFmPresetUtility@@QAEXHABV?$TBuf@$0EA@@@@Z @ 19 NONAME ; void CRadioFmPresetUtility::SetPresetUrlL(int, class TBuf<64> const &)
+	?GetPresetFavouriteInfoL@CRadioFmPresetUtility@@QAEXHAAH@Z @ 20 NONAME ; void CRadioFmPresetUtility::GetPresetFavouriteInfoL(int, int &)
+	?GetPresetUrlL@CRadioFmPresetUtility@@QAEXHAAV?$TBuf@$0EA@@@@Z @ 21 NONAME ; void CRadioFmPresetUtility::GetPresetUrlL(int, class TBuf<64> &)
+
Binary file mmserv/radioutility/fmpresetutility/Conf/fmpresetutility.confml has changed
Binary file mmserv/radioutility/fmpresetutility/Conf/fmpresetutility_10207B87.crml has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/EABI/FmPresetUtilityU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,40 @@
+EXPORTS
+	_ZN21CRadioFmPresetUtility10GetPresetLEiR4TBufILi32EERi @ 1 NONAME
+	_ZN21CRadioFmPresetUtility10SetPresetLEiRK4TBufILi32EEi @ 2 NONAME
+	_ZN21CRadioFmPresetUtility13DeletePresetLEi @ 3 NONAME
+	_ZN21CRadioFmPresetUtility4NewLER20MRadioPresetObserver @ 4 NONAME
+	_ZN21CRadioFmPresetUtilityD0Ev @ 5 NONAME
+	_ZN21CRadioFmPresetUtilityD1Ev @ 6 NONAME
+	_ZN21CRadioFmPresetUtilityD2Ev @ 7 NONAME
+	_ZNK21CRadioFmPresetUtility14GetNextPresetLEiRi @ 8 NONAME
+	_ZNK21CRadioFmPresetUtility15GetFirstPresetLERi @ 9 NONAME
+	_ZNK21CRadioFmPresetUtility18GetNumberOfPresetsERi @ 10 NONAME
+	_ZNK21CRadioFmPresetUtility21GetMaxNumberOfPresetsERi @ 11 NONAME
+	_ZTI21CRadioFmPresetUtility @ 12 NONAME ; #<TI>#
+	_ZTI25CCentralRepositoryHandler @ 13 NONAME ; #<TI>#
+	_ZTIN21CRadioFmPresetUtility5CBodyE @ 14 NONAME ; #<TI>#
+	_ZTV21CRadioFmPresetUtility @ 15 NONAME ; #<VT>#
+	_ZTV25CCentralRepositoryHandler @ 16 NONAME ; #<VT>#
+	_ZTVN21CRadioFmPresetUtility5CBodyE @ 17 NONAME ; #<VT>#
+	_ZThn4_N21CRadioFmPresetUtility13DeletePresetLEi @ 18 NONAME ; #<thunk>#
+	_ZThn4_NK21CRadioFmPresetUtility14GetNextPresetLEiRi @ 19 NONAME ; #<thunk>#
+	_ZThn4_NK21CRadioFmPresetUtility15GetFirstPresetLERi @ 20 NONAME ; #<thunk>#
+	_ZThn4_NK21CRadioFmPresetUtility18GetNumberOfPresetsERi @ 21 NONAME ; #<thunk>#
+	_ZThn4_NK21CRadioFmPresetUtility21GetMaxNumberOfPresetsERi @ 22 NONAME ; #<thunk>#
+	_ZThn8_N21CRadioFmPresetUtility10GetPresetLEiR4TBufILi32EERi @ 23 NONAME ; #<thunk>#
+	_ZThn8_N21CRadioFmPresetUtility10SetPresetLEiRK4TBufILi32EEi @ 24 NONAME ; #<thunk>#
+	_ZN21CRadioFmPresetUtility14GetPresetNameLEiR4TBufILi32EE @ 25 NONAME
+	_ZN21CRadioFmPresetUtility19GetPresetFrequencyLEiRi @ 26 NONAME
+	_ZThn8_N21CRadioFmPresetUtility14GetPresetNameLEiR4TBufILi32EE @ 27 NONAME ; #<thunk>#
+	_ZThn8_N21CRadioFmPresetUtility19GetPresetFrequencyLEiRi @ 28 NONAME ; #<thunk>#
+	_ZN21CRadioFmPresetUtility13GetPresetPtyLEiRj @ 29 NONAME
+	_ZN21CRadioFmPresetUtility13GetPresetUrlLEiR4TBufILi64EE @ 30 NONAME
+	_ZN21CRadioFmPresetUtility13SetPresetPtyLEij @ 31 NONAME
+	_ZN21CRadioFmPresetUtility13SetPresetUrlLEiRK4TBufILi64EE @ 32 NONAME
+	_ZN21CRadioFmPresetUtility16GetPresetPICodeLEiRj @ 33 NONAME
+	_ZN21CRadioFmPresetUtility16SetPresetPICodeLEij @ 34 NONAME
+	_ZN21CRadioFmPresetUtility23GetPresetFavouriteInfoLEiRi @ 35 NONAME
+	_ZN21CRadioFmPresetUtility23SetPresetFavouriteInfoLEii @ 36 NONAME
+	_ZN21CRadioFmPresetUtility24GetPresetUserRenameInfoLEiRi @ 37 NONAME
+	_ZN21CRadioFmPresetUtility24SetPresetUserRenameInfoLEii @ 38 NONAME
+
Binary file mmserv/radioutility/fmpresetutility/cenrep/keys_fmpresetutility.xls has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/group/FmPresetUtility.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project file for 
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+TARGET        FmPresetUtility.dll
+TARGETTYPE    DLL
+CAPABILITY    CAP_GENERAL_DLL ReadUserData
+VENDORID      VID_DEFAULT
+UID           0x1000008D 0x10207B87 
+VERSION 10.1
+
+SOURCEPATH    ../src
+SOURCE	    RadioFmPresetUtility.cpp
+SOURCE	    RadioFmPresetUtilityBody.cpp
+SOURCE	    RadioFmPresetCentralRepositoryHandler.cpp
+SOURCE	    RadioFmPresetRadioSettings.cpp  
+SOURCE	    RadioFmPresetChannel.cpp
+
+
+USERINCLUDE   ../cenrep
+USERINCLUDE   ../src
+USERINCLUDE   ../inc
+USERINCLUDE   ../../inc
+
+MW_LAYER_SYSTEMINCLUDE
+
+ 
+LIBRARY CenRepNotifHandler.lib 
+LIBRARY centralrepository.lib 
+LIBRARY euser.lib 
+LIBRARY Flogger.lib 
+LIBRARY estor.lib 
+LIBRARY dsclient.lib
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/group/backup_registration.xml	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,6 @@
+<?xml version="1.0" standalone="yes"?>
+<backup_registration version="1.0">
+    <proxy_data_manager sid = "0x10202BE9" />
+    <restore requires_reboot = "no"/>
+</backup_registration>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Project build file for FMPresetUtility
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+// Platforms the component needs to be built on
+//
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+backup_registration.xml  z:/private/10207B87/backup_registration.xml
+
+// iby file
+../rom/FmPresetUtility.iby			CORE_MW_LAYER_IBY_EXPORT_PATH(FmPresetUtility.iby)
+
+// Generic configuration interface for component cenrep settings  
+// fmpresetutility_10207B87 implementation specifics for cenrep data
+../Conf/fmpresetutility.confml                  MW_LAYER_CONFML(fmpresetutility.confml)
+../Conf/fmpresetutility_10207B87.crml 	        MW_LAYER_CRML(fmpresetutility_10207B87.crml)
+
+PRJ_MMPFILES
+FmPresetUtility.mmp
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/rom/FmPresetUtility.iby	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  IBY file for the FmPresetUtility
+*
+*/
+
+
+#ifndef FMPRESETUTILITY_IBY
+#define FMPRESETUTILITY_IBY
+
+#ifdef __FM_RADIO
+
+file=ABI_DIR\BUILD_DIR\fmPresetUtility.dll SHARED_LIB_DIR\fmPresetUtility.dll
+
+// Backup
+data=ZPRIVATE\10207B87\backup_registration.xml		PRIVATE\10207B87\backup_registration.xml
+
+#endif //__FM_RADIO
+#endif // FMPRESETUTILITY_IBY
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/src/RadioFmPresetCRKeys.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Definition of central repository keys for Fm Preset Utility.
+*
+*/
+
+
+#ifndef RADIOFMPRESETCRKEYS_H
+#define RADIOFMPRESETCRKEYS_H
+
+// FM Preset Utility UID
+const TUid KCRUidFmPresetUtility = {0x10207B87}; 
+
+// The first preset channel's location in central repository
+const TUint32 KFmRadioBookKeepingLocation = 0x00000001;
+const TUint32 KFmRadioPresetChannel1 = 0x00001000;
+const TUint32 KNbrOfParametersPerChannelSequence = 0x10;
+const TUint32 KChannelNameOffset = 0x0;
+const TUint32 KFrequencyOffset = 0x1;
+const TUint32 KUrlOffset = 0x2;
+const TUint32 KRestOfParametersOffset = 0xF;
+
+#endif      // RADIOFMPRESETCRKEYS_H
+
+// End of file
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/src/RadioFmPresetCentralRepositoryHandler.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,826 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Contains implementation of the CCentralRepositoryHandler class. 
+*
+*/
+
+
+//  INCLUDE FILES
+#include "RadioFmPresetCentralRepositoryHandler.h"
+#include "RadioFmPresetRadioSettings.h" 
+#include <centralrepository.h>
+#include "RadioFmPresetCRKeys.h"
+#include "RadioFmPresetUtilityBody.h"		
+#include "debug.h"
+#include <s32mem.h>
+
+
+// ============= STATIC FUNCTIONS ==============
+
+static TInt ChannelIndexL( const TInt aChannelIndex )
+    {
+    if ( ( KMaxNumberOfPresetStations <= aChannelIndex ) ||
+            ( 0 >  aChannelIndex ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    return KFmRadioPresetChannel1 +
+        ( KNbrOfParametersPerChannelSequence * (aChannelIndex) );
+    }
+
+// ----------------------------------------------------
+// CalculateNameIndexL
+// Calculates key index for channel's name parameter for.
+// Returns: key index of channel name parameter
+// ----------------------------------------------------
+// 
+static TInt CalculateNameIndexL( TInt aChannelIndex )
+    {
+    return (ChannelIndexL( aChannelIndex ) + KChannelNameOffset);
+    }
+
+// ----------------------------------------------------
+// CalculateFrequencyIndexL
+// Calculates key index for channel's frequency parameter.
+// Returns: key index of channel frequency parameter
+// ----------------------------------------------------
+// 
+static TInt CalculateFrequencyIndexL( TInt aChannelIndex )
+    {
+    return (ChannelIndexL( aChannelIndex ) + KFrequencyOffset);
+    }
+
+// ----------------------------------------------------
+// CalculateUrlIndexL
+// Calculates key index for channel's URL parameter.
+// Returns: key index of channel URL parameter
+// ----------------------------------------------------
+// 
+static TInt CalculateUrlIndexL( TInt aChannelIndex )
+    {
+    return (ChannelIndexL( aChannelIndex ) + KUrlOffset);
+    }
+
+// ----------------------------------------------------
+// CalculateRestOfParametersIndexL
+// Calculates key index for channel's other parameters.
+// Returns: key index of channel other parameters
+// ----------------------------------------------------
+// 
+static TInt CalculateRestOfParametersIndexL( TInt aChannelIndex )
+    {
+    return (ChannelIndexL( aChannelIndex ) + KRestOfParametersOffset);
+    }
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::CCentralRepositoryHandler
+// Default class constructor.
+// ----------------------------------------------------
+//
+CCentralRepositoryHandler::CCentralRepositoryHandler(
+    TRadioSettings& aRadioSettings)  // a reference to aRadioSettings
+    :iRadioSettings(&aRadioSettings)
+    {
+    FTRACE(FPrint(_L("calling CCentralRepositoryHandler::NewL()")));
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::ConstructL
+// Second phase class constructor.
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::ConstructL()
+    {
+    RDebug::Print(_L("entering CCentralRepositoryHandler::ConstructL()"));
+    TRAPD (err, iCentralRepository = CRepository::NewL(KCRUidFmPresetUtility));
+    RDebug::Print(_L("err[%d]"), err);
+    RDebug::Print(_L("calling CCentralRepositoryHandler::RetrieveInitialSettings()"));
+    RetrieveInitialSettings();
+    RDebug::Print(_L("exiting CCentralRepositoryHandler::ConstructL()"));
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::NewL
+// Two-phased class constructor.
+// ----------------------------------------------------
+//
+CCentralRepositoryHandler* CCentralRepositoryHandler::NewL(
+    TRadioSettings& aRadioSettings)  // a reference to aRadioSettings
+    {
+    RDebug::Print(_L("entering CCentralRepositoryHandler::NewL()"));    	
+    CCentralRepositoryHandler *self = new(ELeave) CCentralRepositoryHandler(aRadioSettings);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::~CCentralRepositoryHandler
+// Destructor of CCentralRepositoryHandler class.
+// ----------------------------------------------------
+//
+CCentralRepositoryHandler::~CCentralRepositoryHandler()
+    {
+    iRadioSettings = NULL;
+	  if(iCentralRepository)
+	     {
+	     delete iCentralRepository;
+	     }
+    }
+
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::RetrieveInitialSettings
+// Retrieves persistent settings from shared data.
+// Returns: None
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::RetrieveInitialSettings()
+    {
+    
+    
+
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::RetrievePresetFrequency
+// Retrieve the preset frequency from shared data
+// Returns: None
+// ----------------------------------------------------
+//
+TInt CCentralRepositoryHandler::RetrievePresetFrequencyL(
+    TInt aIndex) const  // the preset index
+    {
+    TInt tempFrequency( KErrNotFound );
+    // Read frequency from its own key in the key sequence
+    iCentralRepository->Get( CalculateFrequencyIndexL( aIndex ), tempFrequency );
+    return tempFrequency;
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::RetrievePresetName
+// Retrieve the preset name from shared data
+// Returns: None
+// ----------------------------------------------------
+//
+TFmPresetName CCentralRepositoryHandler::RetrievePresetNameL(
+    TInt aIndex) const  // the preset channel index
+    {
+    // Read name from its own key in the key sequence
+    TInt nameIndex( CalculateNameIndexL( aIndex ) );
+    TFmPresetName tempChannelName;
+    iCentralRepository->Get(nameIndex, tempChannelName );
+    return tempChannelName;
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::RetrievePresetUrl
+// Retrieve the preset Url from shared data
+// Returns: None
+// ----------------------------------------------------
+//
+TFmPresetUrl CCentralRepositoryHandler::RetrievePresetUrlL(
+    TInt aIndex) const  // the preset channel index
+    {    
+    // Read url from its own key in the key sequence
+    TInt urlIndex( CalculateUrlIndexL( aIndex ) );
+    TFmPresetUrl tempUrlName;
+    iCentralRepository->Get(urlIndex, tempUrlName );   
+    return tempUrlName;     //ownership moves to the caller
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::RetrievePresetPTYL
+// Retrieve the preset PTY from shared data
+// Returns: tempPTY: the channel PTY
+// ----------------------------------------------------
+//
+TUint CCentralRepositoryHandler::RetrievePresetPTYL(
+    TInt aIndex) const  // the preset index
+    {
+    TUint tempPTY = KDefaultRadioPTY;
+    HBufC8* buf = HBufC8::NewLC( sizeof(TPresetChannel) );
+    TPtr8 bufPtr = buf->Des();
+    TInt tempChannelIndex( CalculateRestOfParametersIndexL( aIndex ) );
+    TInt errCode = iCentralRepository->Get( tempChannelIndex, bufPtr );
+    if(KErrNone == errCode)
+        {
+        if (bufPtr.Length() != 0)
+            {
+            tempPTY = ConvertStringToChannelPTYL(bufPtr);
+            }
+        } 
+    CleanupStack::PopAndDestroy(buf);
+    return tempPTY;
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::RetrievePresetPIL
+// Retrieve the preset PI from shared data
+// Returns: tempPI: the channel PI
+// ----------------------------------------------------
+//
+TUint CCentralRepositoryHandler::RetrievePresetPIL(
+    TInt aIndex) const  // the preset index
+    {
+    TUint tempPI = KDefaultRadioPI;
+    HBufC8* buf = HBufC8::NewLC( sizeof(TPresetChannel) );
+    TPtr8 bufPtr = buf->Des();
+    TInt tempChannelIndex( CalculateRestOfParametersIndexL( aIndex ) );
+    TInt errCode = iCentralRepository->Get( tempChannelIndex, bufPtr );
+    if(KErrNone == errCode)
+        {
+        if (bufPtr.Length() != 0)
+            {
+            tempPI = ConvertStringToChannelPIL(bufPtr);
+            }
+        } 
+    CleanupStack::PopAndDestroy(buf);
+    return tempPI;
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::RetrievePresetFavouriteL
+// Retrieve the preset favourite information from shared data
+// Returns: tempFav: the channel local station flag
+// ----------------------------------------------------
+//
+TBool CCentralRepositoryHandler::RetrievePresetFavouriteL(
+    TInt aIndex) const  // the preset index
+    {
+    TBool tempFav = EFalse;
+    HBufC8* buf = HBufC8::NewLC(sizeof(TPresetChannel));
+    TPtr8 bufPtr = buf->Des();
+    TInt tempChannelIndex( CalculateRestOfParametersIndexL( aIndex ) );
+    TInt errCode = iCentralRepository->Get(tempChannelIndex, bufPtr);
+    if(KErrNone == errCode)
+    {
+    if (bufPtr.Length() != 0)
+        {
+        tempFav = ConvertStringToChannelFavouriteL(bufPtr);
+        }
+    } 
+    CleanupStack::PopAndDestroy(buf);
+    return tempFav;
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::RetrievePresetUserRenameL
+// Retrieve the preset user rename information from shared data
+// Returns: tempRen: the channel user rename flag
+// ----------------------------------------------------
+//
+TBool CCentralRepositoryHandler::RetrievePresetUserRenameL(
+    TInt aIndex) const  // the preset index
+    {
+    TBool tempRen = EFalse;
+    HBufC8* buf = HBufC8::NewLC(sizeof(TPresetChannel));
+    TPtr8 bufPtr = buf->Des();
+    TInt tempChannelIndex( CalculateRestOfParametersIndexL( aIndex ) );
+    TInt errCode = iCentralRepository->Get(tempChannelIndex, bufPtr);
+    if(KErrNone == errCode)
+        {
+        if (bufPtr.Length() != 0)
+            {
+            tempRen = ConvertStringToChannelUserRenameL(bufPtr);
+            }
+        } 
+    CleanupStack::PopAndDestroy(buf);
+    return tempRen;
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::SavePresetFrequency
+// Save channel preset info back to shared data
+// Returns: None
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::SavePresetFrequencyL(
+    TInt aIndex,   // preset channel index
+    TInt aFrequency)  //new frequency
+    {    
+    TInt frequencyIndex( CalculateFrequencyIndexL( aIndex ) );
+    User::LeaveIfError( iCentralRepository->Set(frequencyIndex, aFrequency ) );
+    if ( 0 >= aFrequency )
+        {
+        // aFrequency values 0, -1(Or <=0) means that it is better to destroy
+        // rest of parameters and also URL
+        iCentralRepository->Delete( CalculateRestOfParametersIndexL( aIndex ) );
+        iCentralRepository->Delete( CalculateUrlIndexL( aIndex ) );
+        }
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::SavePresetName
+// Save channel preset name back to shared data
+// Returns: None
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::SavePresetNameL(
+    TInt aIndex,  //the preset channel index
+    const TFmPresetName& aStationName )  //preset channel name
+    {
+    TInt nameIndex( CalculateNameIndexL(aIndex) );
+    TPtrC namePtr( aStationName );
+    User::LeaveIfError( iCentralRepository->Set( nameIndex, namePtr) );
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::SavePresetUrlL
+// Save channel preset url back to shared data
+// Returns: None
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::SavePresetUrlL(
+    TInt aIndex,  //the preset channel index
+    const TFmPresetUrl& aStationUrl )  //preset Url
+    {
+    TInt urlIndex( CalculateUrlIndexL(aIndex) );
+    TPtrC urlPtr( aStationUrl );
+    User::LeaveIfError( iCentralRepository->Set( urlIndex, urlPtr ) );
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::SavePresetPIL
+// Save channel PI code back to shared data
+// Returns: None
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::SavePresetPIL(
+    TInt aIndex,   // preset channel index
+    TUint aPI)     // new programme identification code
+    {    
+    TPresetChannel presetChannel;
+    TInt restOfParametersIndex( CalculateRestOfParametersIndexL( aIndex ) );
+    HBufC8* buf = HBufC8::NewLC(sizeof(TPresetChannel));
+    TPtr8 bufPtr = buf->Des();
+    UpdateChannelObjectWithPIL(aIndex, presetChannel, aPI); 
+    ExternalizeToStreamL(presetChannel, bufPtr); 
+    User::LeaveIfError( iCentralRepository->Set(restOfParametersIndex, bufPtr ) );
+    CleanupStack::PopAndDestroy(buf);
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::SavePresetPTYL
+// Save channel PTY code back to shared data
+// Returns: None
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::SavePresetPTYL(
+    TInt aIndex,   // preset channel index
+    TUint aPTY)    // new programme identification code
+    {
+    TPresetChannel presetChannel;
+    TInt restOfParametersIndex( CalculateRestOfParametersIndexL( aIndex ) );
+    HBufC8* buf = HBufC8::NewLC(sizeof(TPresetChannel));
+    TPtr8 bufPtr = buf->Des();
+    UpdateChannelObjectWithPTYL(aIndex, presetChannel, aPTY); 
+    ExternalizeToStreamL(presetChannel, bufPtr); 
+    User::LeaveIfError( iCentralRepository->Set(restOfParametersIndex, bufPtr ) );
+    CleanupStack::PopAndDestroy(buf);
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::SavePresetFavouriteInfoL
+// Save channel favourite station info back to shared data
+// Returns: None
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::SavePresetFavouriteInfoL(
+    TInt aIndex,   // preset channel index
+    TBool aFav)    // new programme favourite status
+    {
+    TPresetChannel presetChannel ;
+    TInt restOfParametersIndex( CalculateRestOfParametersIndexL( aIndex ) );
+    HBufC8* buf = HBufC8::NewLC(sizeof(TPresetChannel));
+    TPtr8 bufPtr = buf->Des();
+    UpdateChannelObjectWithFavouriteInfoL(aIndex, presetChannel, aFav); 
+    ExternalizeToStreamL(presetChannel, bufPtr); 
+    User::LeaveIfError( iCentralRepository->Set(restOfParametersIndex, bufPtr ) );
+    CleanupStack::PopAndDestroy(buf);
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::SavePresetUserRenameInfoL
+// Save channel favourite station info back to shared data
+// Returns: None
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::SavePresetUserRenameInfoL(
+    TInt aIndex,   // preset channel index
+    TBool aUR)     // new programme user rename status
+    {
+    TPresetChannel presetChannel;
+    TInt restOfParametersIndex( CalculateRestOfParametersIndexL( aIndex ) );
+    HBufC8* buf = HBufC8::NewLC(sizeof(TPresetChannel));
+    TPtr8 bufPtr = buf->Des();
+    UpdateChannelObjectWithUserRenameInfoL(aIndex, presetChannel, aUR); 
+    ExternalizeToStreamL(presetChannel, bufPtr); 
+    User::LeaveIfError( iCentralRepository->Set(restOfParametersIndex, bufPtr ) );
+    CleanupStack::PopAndDestroy(buf);
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::SaveFmPresetSettings
+// Save all FmPreset related persistent info back to shared data
+// Returns: None
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::SaveFmPresetSettings()
+    {
+ /* DEPRECATED. Not used anymore    
+    iCentralRepository->Set( KFmRadioFrequency, iRadioSettings->Frequency() );
+    iCentralRepository->Set( KFmRadioChannel, iRadioSettings->CurrentPreset() );
+    */
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::ConvertStringToChannelPTYL
+// Get the channel programme type code from the externalized stream
+// Returns: tempPTY: the channel PTY
+//          ?value_n: ?description
+//                    ?description
+// ----------------------------------------------------
+//
+TUint CCentralRepositoryHandler::ConvertStringToChannelPTYL(
+    const TDesC8& aString) const  // a reference to the raw string
+    {
+RDebug::Print (_L ("Entering CCentralRepositoryHandler::ConvertStringToChannelPTYL"));        
+    TUint tempPTY = KDefaultRadioPTY;
+    TPresetChannel tempPresetChannel;
+    RDesReadStream inStream;
+    inStream.Open(aString);
+    CleanupClosePushL(inStream);
+    tempPresetChannel.InternalizeL(inStream);
+    CleanupStack::PopAndDestroy(&inStream);
+    tempPTY = tempPresetChannel.ChannelPty();
+RDebug::Print (_L ("Exiting CCentralRepositoryHandler::ConvertStringToChannelPTYL"));             
+    return tempPTY;
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::ConvertStringToChannelPIL
+// Get the channel programme identification code from the externalized stream
+// Returns: tempPI: the channel PI
+//          ?value_n: ?description
+//                    ?description
+// ----------------------------------------------------
+//
+TUint CCentralRepositoryHandler::ConvertStringToChannelPIL(
+    const TDesC8& aString) const  // a reference to the raw string
+    {
+RDebug::Print (_L ("Entering CCentralRepositoryHandler::ConvertStringToChannelPIL"));        
+    TUint tempPI = KDefaultRadioPI;
+    TPresetChannel tempPresetChannel;
+    RDesReadStream inStream;
+    inStream.Open(aString);
+    CleanupClosePushL(inStream);
+    tempPresetChannel.InternalizeL(inStream);
+    CleanupStack::PopAndDestroy(&inStream);
+    tempPI = tempPresetChannel.ChannelPI();
+RDebug::Print (_L ("Exiting CCentralRepositoryHandler::ConvertStringToChannelPIL"));             
+    return tempPI;
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::ConvertStringToChannelFavouriteL
+// Get the channel favourite flag from the externalized stream
+// Returns: tempFav: the channel favourite flag
+//          ?value_n: ?description
+//                    ?description
+// ----------------------------------------------------
+//
+TBool CCentralRepositoryHandler::ConvertStringToChannelFavouriteL(
+    const TDesC8& aString) const  // a reference to the raw string
+    {
+RDebug::Print (_L ("Entering CCentralRepositoryHandler::ConvertStringToChannelFavouriteL"));        
+    TBool tempFav = EFalse;
+    TPresetChannel tempPresetChannel;
+    RDesReadStream inStream;
+    inStream.Open(aString);
+    CleanupClosePushL(inStream);
+    tempPresetChannel.InternalizeL(inStream);
+    CleanupStack::PopAndDestroy(&inStream);
+    tempFav = tempPresetChannel.ChannelFavouriteInfo();
+RDebug::Print (_L ("Exiting CCentralRepositoryHandler::ConvertStringToChannelFavouriteL"));             
+    return tempFav;
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::ConvertStringToChannelUserRenameL
+// Get the channel user rename flag from the externalized stream
+// Returns: tempRen: the channel favourite flag
+//          ?value_n: ?description
+//                    ?description
+// ----------------------------------------------------
+//
+TBool CCentralRepositoryHandler::ConvertStringToChannelUserRenameL(
+    const TDesC8& aString) const  // a reference to the raw string
+    {
+RDebug::Print (_L ("Entering CCentralRepositoryHandler::ConvertStringToChannelUserRenameL"));        
+    TBool tempRen = EFalse;
+    TPresetChannel tempPresetChannel;
+    RDesReadStream inStream;
+    inStream.Open(aString);
+    CleanupClosePushL(inStream);
+    tempPresetChannel.InternalizeL(inStream);
+    CleanupStack::PopAndDestroy(&inStream);
+    tempRen = tempPresetChannel.ChannelUserRenameInfo();
+RDebug::Print (_L ("Exiting CCentralRepositoryHandler::ConvertStringToChannelUserRenameL"));             
+    return tempRen;
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::UpdateChannelObjectWithPIL
+// Update the current preset channel's PI code 
+// Returns: none
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::UpdateChannelObjectWithPIL (
+    TInt aIndex,   //the channel index
+    TPresetChannel& aPresetChannel, // reference to channel object
+    TUint aPI) // new frequency
+    {
+    //Initialize the channel object with correct information.
+    GetPresetL( aIndex, aPresetChannel );    
+    aPresetChannel.SetChannelPI(aPI);
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::UpdateChannelObjectWithPTYL
+// Update the current preset channel's PTY code 
+// Returns: none
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::UpdateChannelObjectWithPTYL (
+    TInt aIndex,   //the channel index
+    TPresetChannel& aPresetChannel, // reference to channel object
+    TUint aPTY) // new PTY
+    {
+    //Initialize the channel object with correct information.
+    GetPresetL( aIndex, aPresetChannel );    
+    aPresetChannel.SetChannelPty(aPTY);
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::UpdateChannelObjectWithFavouriteInfoL
+// Update the current preset channel's favourite status 
+// Returns: none
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::UpdateChannelObjectWithFavouriteInfoL (
+    TInt aIndex,   //the channel index
+    TPresetChannel& aPresetChannel, // reference to channel object
+    TBool aFav) // new favourite info
+    {
+    GetPresetL(aIndex, aPresetChannel);
+    aPresetChannel.SetChannelFavouriteInfo(aFav);
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::UpdateChannelObjectWithUserRenameInfoL
+// Update the current preset channel's user rename status 
+// Returns: none
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::UpdateChannelObjectWithUserRenameInfoL (
+    TInt aIndex,   //the channel index
+    TPresetChannel& aPresetChannel, // reference to channel object
+    TBool aUR) // new user rename info
+    {
+    //Initialize the channel object with correct information.
+    GetPresetL( aIndex, aPresetChannel );    
+    aPresetChannel.SetChannelUserRenameInfo(aUR);
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::DeletePresetL
+// Delete the current preset
+// Returns: none
+// ----------------------------------------------------
+//   
+void CCentralRepositoryHandler::DeletePresetL(TInt aIndex)
+	{
+    
+    if ( 0 > aIndex )
+    	{ //Delete all presets
+    	for(TInt i = 0;i<KMaxNumberOfPresetStations;i++)
+    		{
+            iCentralRepository->Delete( CalculateNameIndexL( i ) );    
+            iCentralRepository->Delete( CalculateFrequencyIndexL( i ) );   
+            iCentralRepository->Delete( CalculateUrlIndexL( i ) );
+            iCentralRepository->Delete( CalculateRestOfParametersIndexL( i ) );
+    		}
+    	}
+    else
+    	{
+        iCentralRepository->Delete( CalculateNameIndexL( aIndex ) );    
+        iCentralRepository->Delete( CalculateFrequencyIndexL( aIndex ) );   
+        iCentralRepository->Delete( CalculateUrlIndexL( aIndex ) );
+        iCentralRepository->Delete( CalculateRestOfParametersIndexL( aIndex ) );
+    	}		
+	}
+    
+// ----------------------------------------------------
+// CCentralRepositoryHandler::GetNumberOfPresets
+// Get the current number of presets
+// Returns: number of valid presets in cenrep  
+// ----------------------------------------------------
+//  
+void CCentralRepositoryHandler::GetNumberOfPresetsL(TInt& aNum)
+	{
+    TInt count = 0;
+    const TInt KMinAcceptableRadioFrequency = 76000000;
+    const TInt KMaxAcceptableRadioFrequency = 108000000;
+    TInt err( KErrNone );
+    TInt frequencyIndex( 0 );
+    TInt frequency( 0 );
+    
+    for(TInt index = 0;index < KMaxNumberOfPresetStations;index++)
+    	{
+        frequencyIndex = CalculateFrequencyIndexL( index );
+        err = iCentralRepository->Get( frequencyIndex, frequency );
+    	if(KErrNone == err )
+        	{
+            //Check validity of preset entries
+            if ( ( KMinAcceptableRadioFrequency <= frequency ) && ( KMaxAcceptableRadioFrequency > frequency ) )
+                {
+                count++;
+                if(count == 1)
+                    {
+                    iFirstPreset = index;
+                    }
+                }
+        	} 
+    	}
+    aNum = count;
+	}
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::GetFirstPreset
+// Gets the first preset
+// Returns: none
+// ----------------------------------------------------
+// 
+void CCentralRepositoryHandler::GetFirstPresetL(TInt& aNum)
+    {
+    TInt count   = 0;
+    iFirstPreset = 0;
+
+    GetNumberOfPresetsL(count);     //this updates iFirstPreset
+
+	if(count)
+		{
+		aNum = iFirstPreset;
+		}
+	}
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::GetNextPreset
+// Get the next preset index that has been set, 
+// given the current index
+// Returns: none
+// ----------------------------------------------------
+// 
+void CCentralRepositoryHandler::GetNextPresetL(TInt aIndex,TInt& aNextIndex)
+    {
+    TInt next = 0;
+    TInt err( KErrNone );
+    TInt frequencyIndex( 0 );
+    TInt frequency( 0 );
+    //start search on next one
+    aIndex = aIndex + 1;
+    for(TInt index = aIndex ;index < KMaxNumberOfPresetStations;index++)
+    	{
+        frequencyIndex = CalculateFrequencyIndexL( index );
+        err = iCentralRepository->Get( frequencyIndex, frequency );
+    	if( KErrNone == err && frequency != KErrNotFound )
+        	{
+            next = index;
+            break;
+        	} 
+    	}
+    aNextIndex = next;	
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::ExternalizeToStream
+// Externalize the string in the aBuffer
+// Returns: none
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::ExternalizeToStreamL(
+    const TPresetChannel& aPresetChannel, // reference to channel object
+    TDes8& aBuffer)  // buffer for externalize stream
+    {
+    RDesWriteStream outStream(aBuffer);
+    CleanupClosePushL(outStream);
+    aPresetChannel.ExternalizeL(outStream);
+    outStream.CommitL();
+    CleanupStack::PopAndDestroy(&outStream);    
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::InternalizeFromStream
+// Internalize a preset from string
+// Returns: none
+// ----------------------------------------------------
+//
+void CCentralRepositoryHandler::InternalizeFromStreamL(
+    TPresetChannel& aPresetChannel, // reference to channel object
+    TDes8& aBuffer)  // buffer for externalize stream
+    {
+    RDesReadStream inStream(aBuffer);
+    CleanupClosePushL(inStream);
+    aPresetChannel.InternalizeL(inStream);
+    CleanupStack::PopAndDestroy(&inStream);    
+    }
+
+// ----------------------------------------------------
+// CCentralRepositoryHandler::GetPreset
+// Returns: KErrNone if no errors, otherwise system errors.
+// ----------------------------------------------------
+//
+TInt CCentralRepositoryHandler::GetPresetL(TInt aIndex, TPresetChannel& aPreset)
+    {
+    TInt ret = KErrNotFound;
+    // Read name from its own key in the key sequence
+    TInt nameIndex( CalculateNameIndexL( aIndex ) );
+    TFmPresetName tempChannelName;
+    HBufC* nameBuf = HBufC::NewLC( tempChannelName.MaxSize() );
+    TPtr nameBufPtr = nameBuf->Des();
+    ret = iCentralRepository->Get(nameIndex, nameBufPtr );
+    if( KErrNone == ret )
+        {
+        if (nameBufPtr.Length() != 0)
+            {
+            tempChannelName.Copy( nameBufPtr );
+            }
+        aPreset.SetChannelName( tempChannelName );
+        }
+    else
+        {
+        User::Leave( ret );
+        }
+    CleanupStack::PopAndDestroy(nameBuf);                       
+
+    // Read frequency from its own key in the key sequence
+    TInt frequency( 0 );
+    User::LeaveIfError( iCentralRepository->Get( CalculateFrequencyIndexL( aIndex ), frequency ) );
+    aPreset.SaveChannelFrequency( frequency );
+
+    // Read url from its own key in the key sequence
+    TInt urlIndex( CalculateUrlIndexL( aIndex ) );
+    TFmPresetUrl tempUrlName;
+    HBufC* urlBuf = HBufC::NewLC( tempUrlName.MaxSize() );
+    TPtr urlBufPtr = urlBuf->Des();
+    ret = iCentralRepository->Get(urlIndex, urlBufPtr );
+    if ( KErrNone == ret )
+        {        
+        if (urlBufPtr.Length() != 0)
+            {
+            tempUrlName.Copy( urlBufPtr );
+            }
+        aPreset.SetChannelUrl( tempUrlName );
+        }
+    else if ( KErrNotFound == ret )
+        {
+        // This is an optional parameter.
+        }
+    else
+        {
+        User::Leave( ret );
+        }
+    CleanupStack::PopAndDestroy(urlBuf);
+                      
+
+    HBufC8* buf = HBufC8::NewLC( sizeof(TPresetChannel) );
+    TPtr8 bufPtr = buf->Des();
+    TInt restOfParametersIndex( CalculateRestOfParametersIndexL( aIndex ) );
+    if(KErrNone == iCentralRepository->Get(restOfParametersIndex, bufPtr ))
+        {
+        if (bufPtr.Length() != 0)
+            {
+            TRAPD(err, InternalizeFromStreamL( aPreset, bufPtr );)
+            ret = err;
+            }
+        }
+    CleanupStack::PopAndDestroy(buf);                       
+    return ret;
+    }
+    
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/src/RadioFmPresetCentralRepositoryHandler.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,315 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Defines APIs to communicate with Central Repository
+*
+*/
+
+
+#ifndef RADIOFMPRESETCENTRALREPOSITORYHANDLER_H
+#define RADIOFMPRESETCENTRALREPOSITORYHANDLER_H
+
+//  INCLUDES
+#include <RadioFmPresetUtility.h>
+#include <RadioPresetUtility.h>
+#include "RadioFmPresetChannel.h"
+
+// CONSTANTS
+const TInt KBufferLength = 20;
+const TInt KStreamBufferSize = 100;
+
+// Forward declare implementation class
+class TRadioSettings;
+class CRepository;
+
+// CLASS DECLARATION
+
+/**
+*  it is a wrapper of Central Repository, responsible for the operations that need to access 
+*  the central respositorhy.
+*
+*  @lib FmPresetUtility.lib
+*  @since Series 60 3.0_version
+*/
+class CCentralRepositoryHandler : public CBase
+    {
+    public:
+      	/**
+      	* Two-phased class constructor.
+      	* @param aRadioSettings  pointer to the CRadioSettings class
+      	*/
+        static CCentralRepositoryHandler* NewL(TRadioSettings& aRadioSettings);
+      	/**
+      	* Destructor of CCentralRepositoryHandler class.
+      	*/
+        virtual ~CCentralRepositoryHandler();
+    public:
+      	/**
+      	* Retrieve the preset frequency from Central Repository
+        * @since Series 60 3.0
+      	* @param aIndex  the index of which preset to retrieve
+      	* @return the frequency stored in Central Repository
+      	*/
+        TInt RetrievePresetFrequencyL(TInt aIndex) const;
+
+        /**
+      	* Save channel preset info back to Central Repository
+        * @since Series 60 3.0
+      	* @param aIndex  the index of which preset to save
+      	* @param aFrequency  the frequency to be saved
+      	*/
+        void SavePresetFrequencyL(TInt aIndex, TInt aFrequency);
+
+        /**
+      	* Retrieve the preset name from Central Repository
+        * @since Series 60 3.0
+      	* @param aIndex  the index of which preset to retrieve
+      	* @return the name of the preset stored in Central Repository
+      	*/
+        TFmPresetName RetrievePresetNameL(TInt aIndex) const;
+
+        /**
+        * Retrieve the preset URL from Central Repository
+        * @since Series 60 5.2
+        * @param aIndex  the index of which preset to retrieve
+        * @return the URL of the preset stored in Central Repository
+        */
+        TFmPresetUrl RetrievePresetUrlL(TInt aIndex) const;
+
+        /**
+        * Retrieve the preset PTY (programme type) from Central Repository
+        * @since Series 60 5.2
+        * @param aIndex  the index of which preset to retrieve
+        * @return the PTY of the preset stored in Central Repository
+        */
+        TUint RetrievePresetPTYL(TInt aIndex) const;
+
+        /**
+        * Retrieve the preset PI code (programme identification) from Central Repository
+        * @since Series 60 5.2
+        * @param aIndex  the index of which preset to retrieve
+        * @return the PI code of the preset stored in Central Repository
+        */        
+        TUint RetrievePresetPIL(TInt aIndex) const;
+
+        /**
+        * Retrieve the preset favourite information from Central Repository
+        * @since Series 60 5.2
+        * @param aIndex  the index of which preset to retrieve
+        * @return the favourite info of the preset stored in Central Repository
+        */
+        TBool RetrievePresetFavouriteL(TInt aIndex) const;
+        
+        /**
+        * Retrieve the preset user rename information from Central Repository
+        * @since Series 60 5.2
+        * @param aIndex  the index of which preset to retrieve
+        * @return the user rename info of the preset stored in Central Repository
+        */        
+        TBool RetrievePresetUserRenameL(TInt aIndex) const;
+        
+        /**
+      	* Save channel preset name back to Central Repository
+        * @since Series 60 3.0
+      	* @param aIndex the index of which preset to save
+      	* @param aStationName the preset name to be saved
+      	* @return none
+      	*/
+        void SavePresetNameL(TInt aIndex, const TFmPresetName& aStationName );
+
+        /**
+        * Save channel URL name back to Central Repository
+        * @since Series 60 5.2
+        * @param aIndex the index of which preset to save
+        * @param aStationUrl the preset URL to be saved
+        * @return none
+        */
+        void SavePresetUrlL(TInt aIndex, const TFmPresetUrl& aStationUrl);
+        
+        /**
+        * Save channel PI code back to Central Repository
+        * @since Series 60 5.2
+        * @param aIndex the index of which preset to save
+        * @param aPI the preset programme identification to be saved
+        * @return none
+        */
+        void SavePresetPIL(TInt aIndex, TUint aPI);
+
+        /**
+        * Save channel PTY (genre) back to Central Repository
+        * @since Series 60 5.2
+        * @param aIndex the index of which preset to save
+        * @param aPTY the preset programme type to be saved
+        * @return none
+        */
+        void SavePresetPTYL(TInt aIndex, TUint aPTY);
+
+        /**
+        * Save channel favourite info back to Central Repository
+        * @since Series 60 5.2
+        * @param aIndex the index of which preset to save
+        * @param aFav the preset favourite info to be saved
+        * @return none
+        */
+        void SavePresetFavouriteInfoL(TInt aIndex, TBool aFav);
+
+        /**
+        * Save channel user rename info back to Central Repository
+        * @since Series 60 5.2
+        * @param aIndex the index of which preset to save
+        * @param aUR the preset user rename info to be saved
+        * @return none
+        */
+        void SavePresetUserRenameInfoL(TInt aIndex, TBool aUR);
+        
+        /**
+      	* Save all FmPreset related persistent info back to Central Repository
+        * @since Series 60 3.0
+      	* @param aIndex - the index of which preset to save
+      	* @return none
+      	*/
+        void SaveFmPresetSettings();
+
+        /**
+        * Delete the specified preset.
+        * Specifying aIndex == 0, will delete all presets.
+        * Has no effect if specified index contains no preset.
+        */
+        void DeletePresetL(TInt aIndex);
+        
+        /**
+        * Get the current number of presets.
+      	* @param aNum - the number of presets.
+      	* @return none
+        */
+        void GetNumberOfPresetsL(TInt& aNum);
+        
+        /**
+        * Get the index of first preset.
+      	* @param aIndex - the first preset index.
+      	* @return none
+        */        
+        void GetFirstPresetL(TInt& aIndex);
+
+        /**
+        * Get the index of the next preset.
+      	* @param aIndex -  the first preset index.
+      	* @param aNextIndex - the next preset index.
+      	* @return none
+        */           
+        void GetNextPresetL(TInt aIndex,TInt& aNextIndex);
+        
+              
+    private:
+      	/**
+      	* Default class constructor.
+      	* @param aFmPreset - pointer to the CRadioFmPresetUtility instance (used for callbacks)
+      	* @param aRadioSettings - pointer to the CRadioSettings class
+      	*/
+        CCentralRepositoryHandler(TRadioSettings& aRadioSettings);
+       	/**
+     	* Second phase class constructor.
+     	*/
+        void ConstructL();
+     	/**
+     	* Retrieves persistent settings from Central Repository.
+     	*/
+        void RetrieveInitialSettings();
+
+        /**
+        * Get the channel PTY from the externalized stream.
+        * @param aString - the raw data received from Central Repository
+        */        
+        TUint ConvertStringToChannelPTYL(const TDesC8& aString) const;
+        
+        /**
+        * Get the channel PI code from the externalized stream.
+        * @param aString - the raw data received from Central Repository
+        */
+        TUint ConvertStringToChannelPIL(const TDesC8& aString) const;
+
+        /**
+        * Get the channel favourite info from the externalized stream.
+        * @param aString - the raw data received from Central Repository
+        */
+        TBool ConvertStringToChannelFavouriteL(const TDesC8& aString) const;
+        
+        /**
+        * Get the channel user rename info from the externalized stream.
+        * @param aString - the raw data received from Central Repository
+        */
+        TBool ConvertStringToChannelUserRenameL(const TDesC8& aString) const;
+        
+        /**
+        * Update the current preset channel's PI code (programme identification).
+        * @param aIndex - the index of which preset's channel name to be updated
+        * @param aPresetChannel - reference to the CRadioSettings class
+        * @param aPI - the new channel PI code to be updated to the preset channel
+        */ 
+        void UpdateChannelObjectWithPIL (TInt aIndex, TPresetChannel& aPresetChannel, TUint aPI);
+        
+        /**
+        * Update the current preset channel's PTY (programme type).
+        * @param aIndex - the index of which preset's channel name to be updated
+        * @param aPresetChannel - reference to the CRadioSettings class
+        * @param aPTY - the new channel PTY (genre) to be updated to the preset channel
+        */ 
+        void UpdateChannelObjectWithPTYL (TInt aIndex, TPresetChannel& aPresetChannel, TUint aPTY);
+        
+        /**
+        * Update the current preset channel's favourite information.
+        * @param aIndex - the index of which preset's channel name to be updated
+        * @param aPresetChannel - reference to the CRadioSettings class
+        * @param aFav - the new channel favourite info to be updated to the preset channel
+        */
+        void UpdateChannelObjectWithFavouriteInfoL (TInt aIndex, TPresetChannel& aPresetChannel, TBool aFav);
+
+        /**
+        * Update the current preset channel's user rename information.
+        * @param aIndex - the index of which preset's channel name to be updated
+        * @param aPresetChannel - reference to the CRadioSettings class
+        * @param aUR - the new channel user rename info to be updated to the preset channel
+        */
+        void UpdateChannelObjectWithUserRenameInfoL (TInt aIndex, TPresetChannel& aPresetChannel, TBool aUR);
+        /**
+       	* Externalize the string in the aBuffer.
+       	* @param aPresetChannel - reference to the RadioSettings class
+       	* @param aBuffer - the buffer to be externalized
+       	*/     
+       	void ExternalizeToStreamL(const TPresetChannel& aPresetChannel, TDes8& aBuffer);
+        /**
+        * Internalize TPresetChannel from the aBuffer.
+        * @param aPresetChannel - reference to the RadioSettings class
+        * @param aBuffer - the buffer where to internalize from
+        */            	
+       	void InternalizeFromStreamL(TPresetChannel& aPresetChannel, TDes8& aBuffer);       	
+
+       	/**
+       	 * Gets stored information of given index and internalizes the stream to aPreset
+       	 * @param aIndex the index of the stored preset to be read
+       	 * @param aPreset a reference to TPresetChannel where to internalize from
+       	 * @return KErrNone if no errors
+       	 */
+       	TInt GetPresetL(TInt aIndex, TPresetChannel& aPreset);
+       	
+        // Handle to Central Repository server
+        CRepository* iCentralRepository; 
+        // Reference to RadioSetting object     
+        TRadioSettings* iRadioSettings;
+        
+        TInt iFirstPreset;
+    };
+
+#endif  // RADIOFMPRESETCENTRALREPOSITORYHANDLER_H
+
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/src/RadioFmPresetChannel.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,240 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:   Contains implementation of the TPresetChannel class, which holds 
+*                       the FmRadioUtility settings.
+*
+*/
+
+
+//  INCLUDES
+#include <s32mem.h>
+#include <RadioFmPresetUtility.h>
+#include "RadioFmPresetUtilityBody.h"
+#include <RadioPresetUtility.h>
+#include "RadioFmPresetChannel.h"
+#include "debug.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// ----------------------------------------------------
+// TPresetChannel::TPresetChannel
+// Default class constructor.
+// Returns: None
+// ----------------------------------------------------
+//
+TPresetChannel::TPresetChannel():
+	iPresetChannelFrequency( KDefaultRadioFrequency ),
+	iPresetChannelPTY(0),
+	iPresetChannelPI(0)
+    {
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::GetChannelFrequency
+// retrieve current frequency
+// Returns: iPresetChannelFrequency: the preset channel frequency
+// ----------------------------------------------------
+//
+TInt TPresetChannel::GetChannelFrequency() const
+    {
+    return iPresetChannelFrequency;
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::GetChannelName
+// set the current preset
+// Returns: iPresetChannelName: preset channel name
+// ----------------------------------------------------
+//
+TFmPresetName TPresetChannel::GetChannelName() const
+    {
+    return iPresetChannelName;
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::SetChannelName
+// set the current preset
+// Returns: None
+// ----------------------------------------------------
+//
+void TPresetChannel::SetChannelName(
+    const TFmPresetName& aStationName )  //new channel name to be set
+    {
+    iPresetChannelName = aStationName;
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::SetChannelName
+// set the current preset
+// Returns: None
+// ----------------------------------------------------
+//
+void TPresetChannel::SetChannelUrl(
+    const TFmPresetUrl& aStationUrl )  //new channel name to be set
+    {
+    iPresetChannelUrl = aStationUrl;
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::GetChannelUrl
+// Get the current preset's Url
+// Returns: iPresetChannelUrl: preset channel Url
+// ----------------------------------------------------
+//
+TFmPresetUrl TPresetChannel::ChannelUrl() const
+    {
+    return iPresetChannelUrl;
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::SetChannelPty
+// Set the current preset's PTY
+// Returns: none
+// ----------------------------------------------------
+//
+void TPresetChannel::SetChannelPty(const TUint aPTY)
+    {
+    iPresetChannelPTY = aPTY;
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::GetChannelPty
+// Get the current preset's PTY
+// Returns: iPresetChannelPTY: preset channel PTY
+// ----------------------------------------------------
+//
+TUint TPresetChannel::ChannelPty() const
+    {
+    return iPresetChannelPTY;
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::SetChannelPI
+// Set the current preset's PI-code
+// Returns: none
+// ----------------------------------------------------
+//
+void TPresetChannel::SetChannelPI(const TUint aPI)
+    {
+    iPresetChannelPI = aPI;
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::GetChannelPI
+// Get the current preset's PI-code
+// Returns: iPresetChannelPI: preset channel PI
+// ----------------------------------------------------
+//
+TUint TPresetChannel::ChannelPI() const
+    {
+    return iPresetChannelPI;
+    }
+
+// ----------------------------------------------------
+// ----------------------------------------------------
+// TPresetChannel::SetChannelFavouriteInfo
+// Set the current preset's favourite status bit
+// Returns: none
+// ----------------------------------------------------
+//
+void TPresetChannel::SetChannelFavouriteInfo(const TBool aFavourite)
+    {
+    iPresetChannelMisc.Assign( MiscInfo::Favourite, aFavourite );
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::GetChannelFavouriteInfo
+// Get the current preset's favourite status bit
+// Returns: iPresetChannelMisc: favourite status bit
+// ----------------------------------------------------
+//
+TBool TPresetChannel::ChannelFavouriteInfo() const
+    {
+    TBool ret = EFalse;
+    if (iPresetChannelMisc[ MiscInfo::Favourite ])
+        {
+        ret = ETrue;
+        }
+    return ret;
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::SetChannelUserRenameInfo
+// Set the current preset's user rename status bit
+// Returns: none
+// ----------------------------------------------------
+//
+void TPresetChannel::SetChannelUserRenameInfo(const TBool aUserRename)
+    {
+    iPresetChannelMisc.Assign( MiscInfo::UserRename, aUserRename );
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::GetChannelUserRenameInfo
+// Get the current preset's user rename status bit
+// Returns: iPresetChannelMisc: user rename status bit
+// ----------------------------------------------------
+//
+TBool TPresetChannel::ChannelUserRenameInfo() const
+    {
+    TBool ret = EFalse;
+    if (iPresetChannelMisc[ MiscInfo::UserRename ])
+        {
+        ret = ETrue;
+        }
+    return ret;
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::SaveChannelFrequency
+// Set the current preset frequency
+// Returns: None
+// ----------------------------------------------------
+//
+void TPresetChannel::SaveChannelFrequency(
+    const TInt aFrequency )  //new preset channel frequency
+    {
+    iPresetChannelFrequency = aFrequency;
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::ExternalizeL
+// Externalize data from buffer to stream
+// Returns: None
+// ----------------------------------------------------
+//
+void TPresetChannel::ExternalizeL(
+    RWriteStream & aStream ) const  // a reference to a RDesWriteStream
+    {
+	aStream.WriteUint32L(iPresetChannelPTY);
+	aStream.WriteUint32L(iPresetChannelPI);
+	aStream.WriteUint32L(iPresetChannelMisc.Value());
+    }
+
+// ----------------------------------------------------
+// TPresetChannel::InternalizeL
+// Returns: None
+// Interalize the stream
+// ----------------------------------------------------
+//
+void TPresetChannel::InternalizeL(
+    RReadStream & aStream )  // a reference to a RDesReadStream
+    {
+    iPresetChannelPTY = aStream.ReadInt32L();
+    iPresetChannelPI = aStream.ReadInt32L();
+    iPresetChannelMisc = aStream.ReadInt32L();    
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/src/RadioFmPresetChannel.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,176 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Defines radio channel's structure.
+*
+*/
+
+#ifndef RADIOFMPRESETCHANNEL_H
+#define RADIOFMPRESETCHANNEL_H
+
+#include <babitflags.h>
+
+// Forward declare implementation class.
+class CRadioFmPresetUtility;
+class RWriteStream;
+class RReadStream;
+
+namespace MiscInfo
+{
+    enum DataIds
+    {
+        Local = 0,
+        Favourite = 1,
+        UserRename = 2
+    };
+}
+
+// CLASS DECLARATION
+/**
+*  define preset channel structure.
+*
+*  @lib FmPresetUtility.lib
+*  @since Series 60 3.0
+*/
+class TPresetChannel
+    {
+    public:
+        /**
+        * default constructor.
+        */	
+        TPresetChannel();
+        /**
+        * Get channel Name.
+        * @since Series 60 3.0
+        * @return channel name
+        */
+       TFmPresetName GetChannelName() const;
+        /**
+        * Get channel frequency.
+        * @since Series 60 3.0
+        * @return channel frequency
+        */
+        TInt GetChannelFrequency() const;
+        /**
+        * set channel name.
+        * @since Series 60 3.0
+        * @param aStationName new channel name
+        * @return none
+        */    
+        void SetChannelName(const TFmPresetName& aStationName );
+        /**
+        * Set channel url.
+        * @since Series 60 5.2
+        * @param aStationUrl new channel Url
+        * @return none
+        */
+        void SetChannelUrl(const TFmPresetUrl& aStationUrl );
+        /**
+        * Get channel url.
+        * @since Series 60 5.2
+        * @return channel url
+        */        
+        TFmPresetUrl ChannelUrl() const;
+        /**
+        * Set channel programme type.
+        * @since Series 60 5.2
+        * @param aPTY new channel PTY
+        * @return none
+        */        
+        void SetChannelPty(const TUint aPTY);
+        /**
+        * Get channel programme type.
+        * @since Series 60 5.2
+        * @return channel PTY
+        */      
+		TUint ChannelPty() const;
+        /**
+        * Set channel programme identification code.
+        * @since Series 60 5.2
+        * @param aPI - the new channel PI-code
+        * @return none
+        */
+        void SetChannelPI(const TUint aPI);
+        /**
+        * Get channel programme identification code.
+        * @since Series 60 5.2
+        * @return channel PI-code
+        */      
+        TUint ChannelPI() const;        
+        /**
+        * Set or clear channel favourite info.
+        * @since Series 60 5.2
+        * @param aFavourite - the new channel favourite info
+        * @return none
+        */
+        void SetChannelFavouriteInfo(const TBool aFavourite);
+        /**
+        * Get channel favourite info.
+        * @since Series 60 5.2
+        * @return channel favourite info
+        */      
+        TBool ChannelFavouriteInfo() const;        
+        
+        /**
+        * Set or clear channel user rename info.
+        * @since Series 60 5.2
+        * @param aUserRename - the new channel favourite info
+        * @return none
+        */
+        void SetChannelUserRenameInfo(const TBool aUserRename);
+        /**
+        * Get channel user rename info.
+        * @since Series 60 5.2
+        * @return channel user rename
+        */      
+        TBool ChannelUserRenameInfo() const;
+        /**
+        * Save channel frequency.
+        * @since Series 60 3.0
+        * @param aFrequency - the new channel frequency
+        * @return none
+        */
+        void SaveChannelFrequency(const TInt aFrequency );	
+        /**
+        * Serialize the data to stream.
+        * @since Series 60 3.0
+        * @param aStream - used for write stream
+        * @return none
+        */
+        void ExternalizeL(RWriteStream & aStream ) const;
+        /**
+        * Deserialize the data out of stream.
+        * @since Series 60 3.0
+    	* @param aStream  used for read stream	
+        * @return none
+        */
+        void InternalizeL(RReadStream & aStream );
+      
+    private:
+        //the preset channel name
+		TFmPresetName iPresetChannelName;
+		//the preset channel url
+		TFmPresetUrl iPresetChannelUrl;
+		//the preset channel frequency
+		TInt iPresetChannelFrequency;
+		//the preset channel Program Type
+		TUint iPresetChannelPTY;
+		//the preset channel Programme Identification code
+		TUint iPresetChannelPI;
+        //the preset channel local, favourite and user renamed info
+		TBitFlags32 iPresetChannelMisc;
+    };
+
+#endif  // RADIOFMPRESETCHANNEL_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/src/RadioFmPresetRadioSettings.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Contains implementation of the TRadioSettings class, which holds 
+*                       the RadioFmPresetUtility settings.
+*
+*/
+
+
+//  INCLUDES
+#include <RadioFmPresetUtility.h>
+#include <RadioPresetUtility.h>
+#include "RadioFmPresetUtilityBody.h"
+#include "RadioFmPresetRadioSettings.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// ----------------------------------------------------
+// TRadioSettings::TRadioSettings
+// Default class constructor.
+// ----------------------------------------------------
+//
+TRadioSettings::TRadioSettings():
+                    iCurrentPreset(0),
+                    iFrequency(KDefaultRadioFrequency),
+                    iRadioOn(EFalse)
+    {
+    }
+
+// ----------------------------------------------------
+// TRadioSettings::CurrentPreset
+// retrieve currently selected channel
+// Returns: iCurrentPreset: current preset index number
+// ----------------------------------------------------
+//
+TInt TRadioSettings::CurrentPreset() const
+    {
+    return iCurrentPreset;
+    }
+
+// ----------------------------------------------------
+// TRadioSettings::Frequency
+// retrieve current frequency
+// Returns: iFrequency: current frequency
+// ----------------------------------------------------
+//
+TInt TRadioSettings::Frequency() const
+    {
+    return iFrequency;
+    }
+
+// ----------------------------------------------------
+// TRadioSettings::IsRadioOn
+// retrieve current radio on state (on/off)
+// Returns: iRadioOn: a flag indicating radio on/off
+// ----------------------------------------------------
+//
+TBool TRadioSettings::IsRadioOn() const
+    {
+    return iRadioOn;
+    }
+
+// ----------------------------------------------------
+// TRadioSettings::SetCurrentPreset
+// set the current preset
+// Returns: none
+// ----------------------------------------------------
+//
+void TRadioSettings::SetCurrentPreset(
+    const TInt aChannel) //new channel to be set
+    {
+    iCurrentPreset = aChannel;
+    }
+
+// ----------------------------------------------------
+// TRadioSettings::SetFrequency
+// set the current frequency
+// Returns: none
+// ----------------------------------------------------
+//
+void TRadioSettings::SetFrequency(
+    const TInt aFrequency) // new frequency
+    {
+    iFrequency = aFrequency;
+    }
+
+// ----------------------------------------------------
+// TRadioSettings::SetRadioOn
+// set radio state to "on"
+// Returns: none
+// ----------------------------------------------------
+//
+void TRadioSettings::SetRadioOn()
+    {
+    iRadioOn = ETrue;
+    }
+
+// ----------------------------------------------------
+// TRadioSettings::SetRadioOff
+// set radio state to "off"
+// Returns: none
+// ----------------------------------------------------
+//
+void TRadioSettings::SetRadioOff()
+    {
+    iRadioOn = EFalse;
+    }
+
+
+
+// end of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/src/RadioFmPresetRadioSettings.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Contains implementation of the TRadioSettings class, which holds 
+*                       the RadioFmPresetUtility settings.
+*
+*/
+
+
+#ifndef RADIOFMPRESETRADIOSETTINGS_H
+#define RADIOFMPRESETRADIOSETTINGS_H
+
+
+// CLASS DECLARATION
+class CRadioFmPresetUtility;
+
+
+/**
+*  TRadioSettings class.
+*  Maintain the radio setting data.
+* 
+*/
+class TRadioSettings
+    {
+    public:
+        /**  
+        * default constructor.
+        */
+       TRadioSettings();
+   
+        /**
+        * return current preset number.
+        * @since Series 60 2.7
+        * @return current preset number
+        */
+       TInt CurrentPreset() const; 
+        /**
+        * return current frequency.
+        * @since Series 60 2.7
+        * @return current frequency
+        */
+       TInt Frequency() const; 
+        /**
+        * check if radio is on.
+        * @since Series 60 2.7
+        * @return true/false
+        */
+       TBool IsRadioOn() const;
+        /**
+        * Set current preset number.
+        * @since Series 60 2.7
+        * @return current preset number
+        */
+       void SetCurrentPreset(const TInt aChannel);
+        /**
+        * set current frequency .
+        * @since Series 60 2.7
+        * @param aFrequency the frequency to be set
+        * @return none
+        */
+       void SetFrequency(const TInt aFrequency);
+        /**
+        * set radio on.
+        * @since Series 60 2.7
+        * @return none
+        */
+       void SetRadioOn();
+        /**
+        * set radio off.
+        * @since Series 60 2.7
+        * @return none
+        */
+       void SetRadioOff();
+ 
+    private: 
+        TInt iCurrentPreset; 
+        /// current frequency
+        TInt iFrequency; 
+        //  radio on/off flag
+        TBool iRadioOn;
+    };
+
+#endif  // FMPRESETRADIOSETTINGS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/src/RadioFmPresetUtility.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,251 @@
+/*
+* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Contains implementation of the CRadioFmPresetUtility class,
+*             	which controlls the presets for an FM tuner.
+*
+*/
+
+ 
+#include <RadioPresetUtility.h>
+#include <RadioFmPresetUtility.h>
+#include "RadioFmPresetUtilityBody.h"
+
+EXPORT_C CRadioFmPresetUtility* CRadioFmPresetUtility::NewL( MRadioPresetObserver& aObserver )
+	{
+	CRadioFmPresetUtility* self = new(ELeave) CRadioFmPresetUtility(aObserver);
+	CleanupStack::PushL(self);
+	self->iBody = CRadioFmPresetUtility::CBody::NewL( aObserver );
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+// Destructor
+EXPORT_C CRadioFmPresetUtility::~CRadioFmPresetUtility()
+	{
+		delete iBody;
+	}
+
+CRadioFmPresetUtility::CRadioFmPresetUtility(MRadioPresetObserver& /*aObserver*/)
+	{
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::SetPresetL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CRadioFmPresetUtility::SetPresetL( TInt aIndex, const TFmPresetName& aName, TInt aFrequency )
+	{	
+	iBody->SetPresetL(aIndex,aName,aFrequency);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::SetPresetUrlL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CRadioFmPresetUtility::SetPresetUrlL( TInt aIndex, const TFmPresetUrl& aUrl )
+    {
+    iBody->SetPresetUrlL(aIndex, aUrl);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::SetPresetPtyL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CRadioFmPresetUtility::SetPresetPtyL( TInt aIndex, TUint aPty )
+    {
+    iBody->SetPresetPtyL(aIndex, aPty);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::SetPresetPICodeL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CRadioFmPresetUtility::SetPresetPICodeL( TInt aIndex, TUint aPICode )
+    {
+    iBody->SetPresetPICodeL(aIndex, aPICode);
+    }
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::SetPresetFavouriteInfoL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CRadioFmPresetUtility::SetPresetFavouriteInfoL( TInt aIndex, TBool aFavourite )
+    {
+    iBody->SetPresetFavouriteInfoL(aIndex, aFavourite);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::SetPresetUserRenameInfoL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CRadioFmPresetUtility::SetPresetUserRenameInfoL( TInt aIndex, TBool aRename )
+    {
+    iBody->SetPresetUserRenameInfoL(aIndex, aRename);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetPresetL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+EXPORT_C void CRadioFmPresetUtility::GetPresetL( TInt aIndex, TFmPresetName& aName, TInt& aFrequency )
+	{
+    iBody->GetPresetL(aIndex,aName,aFrequency);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetPresetNameL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+EXPORT_C void CRadioFmPresetUtility::GetPresetNameL( TInt aIndex, TFmPresetName& aName)
+	{
+    iBody->GetPresetNameL(aIndex,aName);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetPresetUrlL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+EXPORT_C void CRadioFmPresetUtility::GetPresetUrlL( TInt aIndex, TFmPresetUrl& aUrl)
+	{
+    iBody->GetPresetUrlL(aIndex,aUrl);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetPresetPtyL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//  
+EXPORT_C void CRadioFmPresetUtility::GetPresetPtyL( TInt aIndex, TUint& aPty)
+    {
+    iBody->GetPresetPtyL(aIndex,aPty);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetPresetPICodeL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//  
+EXPORT_C void CRadioFmPresetUtility::GetPresetPICodeL( TInt aIndex, TUint& aPICode)
+    {
+    iBody->GetPresetPICodeL(aIndex,aPICode);
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetPresetFavouriteInfoL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//  
+EXPORT_C void CRadioFmPresetUtility::GetPresetFavouriteInfoL( TInt aIndex, TBool& aFavourite)
+    {
+    iBody->GetPresetFavouriteInfoL(aIndex,aFavourite);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetPresetUserRenameInfoL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//  
+EXPORT_C void CRadioFmPresetUtility::GetPresetUserRenameInfoL( TInt aIndex, TBool& aRename)
+    {
+    iBody->GetPresetUserRenameInfoL(aIndex,aRename);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetPresetFrequencyL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+EXPORT_C void CRadioFmPresetUtility::GetPresetFrequencyL( TInt aIndex, TInt& aFrequency)
+	{
+    iBody->GetPresetFrequencyL(aIndex,aFrequency);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetMaxNumberOfPresets
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CRadioFmPresetUtility::GetMaxNumberOfPresets( TInt& aMaxNumOfPresets ) const
+	{
+	return iBody->GetMaxNumberOfPresets(aMaxNumOfPresets);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetNumberOfPresets
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+EXPORT_C TInt CRadioFmPresetUtility::GetNumberOfPresets( TInt& aNumOfPresets ) const
+	{
+	return iBody->GetNumberOfPresets(aNumOfPresets);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetFirstPresetL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CRadioFmPresetUtility::GetFirstPresetL( TInt& aIndex) const
+	{
+    iBody->GetFirstPresetL(aIndex);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::GetNextPresetL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CRadioFmPresetUtility::GetNextPresetL( TInt aIndex, TInt& aNextIndex ) const
+	{
+    iBody->GetNextPresetL(aIndex,aNextIndex);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::DeletePresetL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+EXPORT_C void CRadioFmPresetUtility::DeletePresetL( TInt aIndex )
+	{
+    iBody->DeletePresetL(aIndex);
+	}
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/src/RadioFmPresetUtilityBody.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,300 @@
+/*
+* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Contains implementation of the CRadioFmPresetUtility::CBody
+*             	class, which controlls the presets for an FM tuner. 
+*
+*/
+
+
+
+#include "RadioFmPresetUtilityBody.h"
+#include "debug.h"
+#include "RadioFmPresetRadioSettings.h"
+#include "RadioFmPresetCentralRepositoryHandler.h"
+#include "RadioFmPresetCRKeys.h"
+#include <e32property.h>
+
+
+
+CRadioFmPresetUtility::CBody* CRadioFmPresetUtility::CBody::NewL( MRadioPresetObserver& aObserver )
+	{
+	CRadioFmPresetUtility::CBody* s = new(ELeave) CRadioFmPresetUtility::CBody();
+	s->iRadioPresetClient = &aObserver;
+	CleanupStack::PushL(s);
+	s->ConstructL();
+	CleanupStack::Pop(s);
+	return s;
+	}
+
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::CBody
+// -----------------------------------------------------------------------------
+//
+CRadioFmPresetUtility::CBody::CBody()
+    {
+    }	
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::~CBody
+// -----------------------------------------------------------------------------
+//
+CRadioFmPresetUtility::CBody::~CBody()
+    {
+    delete iRadioSettings;
+    delete iCentralRepositoryHandler;
+    }
+	
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::ConstructL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+void CRadioFmPresetUtility::CBody::ConstructL()
+	{  
+    iRadioSettings = new(ELeave) TRadioSettings;
+    iCentralRepositoryHandler = CCentralRepositoryHandler::NewL(*iRadioSettings);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::SetPresetL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CRadioFmPresetUtility::CBody::SetPresetL( TInt aIndex, const TFmPresetName& aName, TInt aFrequency )
+	{
+	iCentralRepositoryHandler->SavePresetFrequencyL(aIndex,aFrequency);
+	iCentralRepositoryHandler->SavePresetNameL(aIndex,aName);	
+	iRadioPresetClient->MrpeoPresetChanged(MRadioPresetObserver::EPresetAdded,aIndex);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::SetPresetUrlL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CRadioFmPresetUtility::CBody::SetPresetUrlL( TInt aIndex, const TFmPresetUrl& aUrl )
+	{
+	iCentralRepositoryHandler->SavePresetUrlL(aIndex, aUrl);
+	iRadioPresetClient->MrpeoPresetChanged(MRadioPresetObserver::EPresetUpdated,aIndex);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::SetPresetPtyL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CRadioFmPresetUtility::CBody::SetPresetPtyL( TInt aIndex, TUint aPty )
+    {
+    iCentralRepositoryHandler->SavePresetPTYL(aIndex, aPty);
+    iRadioPresetClient->MrpeoPresetChanged(MRadioPresetObserver::EPresetUpdated,aIndex);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::SetPresetPICodeL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CRadioFmPresetUtility::CBody::SetPresetPICodeL( TInt aIndex, TUint aPICode )
+    {
+    iCentralRepositoryHandler->SavePresetPIL(aIndex, aPICode);
+    iRadioPresetClient->MrpeoPresetChanged(MRadioPresetObserver::EPresetUpdated,aIndex);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::SetPresetFavouriteInfoL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CRadioFmPresetUtility::CBody::SetPresetFavouriteInfoL( TInt aIndex, TBool aFavourite )
+    {
+    iCentralRepositoryHandler->SavePresetFavouriteInfoL(aIndex, aFavourite);
+    iRadioPresetClient->MrpeoPresetChanged(MRadioPresetObserver::EPresetUpdated,aIndex);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::SetPresetUserRenameInfoL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CRadioFmPresetUtility::CBody::SetPresetUserRenameInfoL( TInt aIndex, TBool aRename )
+    {
+    iCentralRepositoryHandler->SavePresetUserRenameInfoL(aIndex, aRename);
+    iRadioPresetClient->MrpeoPresetChanged(MRadioPresetObserver::EPresetUpdated,aIndex);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::GetPresetL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+void CRadioFmPresetUtility::CBody::GetPresetL( TInt aIndex, TFmPresetName& aName, TInt& aFrequency )
+    {	
+    aFrequency = iCentralRepositoryHandler->RetrievePresetFrequencyL(aIndex);
+    aName      = iCentralRepositoryHandler->RetrievePresetNameL(aIndex);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::GetPresetNameL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+void CRadioFmPresetUtility::CBody::GetPresetNameL( TInt aIndex, TFmPresetName& aName )
+	{
+   	aName = iCentralRepositoryHandler->RetrievePresetNameL(aIndex);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::GetPresetUrlL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CRadioFmPresetUtility::CBody::GetPresetUrlL( TInt aIndex, TFmPresetUrl& aUrl )
+    {
+    aUrl = iCentralRepositoryHandler->RetrievePresetUrlL(aIndex);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::GetPresetPtyL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//  
+void CRadioFmPresetUtility::CBody::GetPresetPtyL( TInt aIndex, TUint& aPty )
+    {
+    aPty = iCentralRepositoryHandler->RetrievePresetPTYL(aIndex);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::GetPresetPICodeL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//  
+void CRadioFmPresetUtility::CBody::GetPresetPICodeL( TInt aIndex, TUint& aPICode )
+    {
+    aPICode = iCentralRepositoryHandler->RetrievePresetPIL(aIndex);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::RetrievePresetFavouriteL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//  
+void CRadioFmPresetUtility::CBody::GetPresetFavouriteInfoL( TInt aIndex, TBool& aFavourite )
+    {
+    aFavourite = iCentralRepositoryHandler->RetrievePresetFavouriteL(aIndex);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::GetPresetUserRenameInfoL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//  
+void CRadioFmPresetUtility::CBody::GetPresetUserRenameInfoL( TInt aIndex, TBool& aRename )
+    {
+    aRename = iCentralRepositoryHandler->RetrievePresetUserRenameL(aIndex);
+    }
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::GetPresetFrequencyL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+void CRadioFmPresetUtility::CBody::GetPresetFrequencyL( TInt aIndex, TInt& aFrequency )
+	{
+    aFrequency = iCentralRepositoryHandler->RetrievePresetFrequencyL(aIndex);
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::GetMaxNumberOfPresets
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CRadioFmPresetUtility::CBody::GetMaxNumberOfPresets( TInt& aMaxNumOfPresets ) const
+	{
+	aMaxNumOfPresets = KMaxNumberOfPresetStations;
+	return KErrNone;
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::GetNumberOfPresets
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+TInt CRadioFmPresetUtility::CBody::GetNumberOfPresets( TInt& aNumOfPresets ) const
+	{	 
+	TInt count = 0;
+	TInt error = KErrNone;
+	
+	TRAP_IGNORE(iCentralRepositoryHandler->GetNumberOfPresetsL(count);)
+    
+    aNumOfPresets = count;
+	return error;
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::GetFirstPresetL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CRadioFmPresetUtility::CBody::GetFirstPresetL( TInt& aIndex ) const
+	{
+    TInt firstPresetsIndex = 0;
+    iCentralRepositoryHandler->GetFirstPresetL(firstPresetsIndex);
+    aIndex = firstPresetsIndex;    
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::GetNextPresetL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CRadioFmPresetUtility::CBody::GetNextPresetL( TInt aIndex, TInt& aNextIndex ) const
+	{
+     
+    iCentralRepositoryHandler->GetNextPresetL(aIndex,aNextIndex); 
+    
+	}
+
+// -----------------------------------------------------------------------------
+// CRadioFmPresetUtility::CBody::DeletePresetL
+// 
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//	
+void CRadioFmPresetUtility::CBody::DeletePresetL( TInt aIndex )
+	{
+    iCentralRepositoryHandler->DeletePresetL(aIndex);
+    
+    iRadioPresetClient->MrpeoPresetChanged(MRadioPresetObserver::EPresetDeleted,aIndex);
+    
+	}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/src/RadioFmPresetUtilityBody.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,306 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  This class provides an interface for controlling the presets
+*                for an FM tuner.
+*
+*
+*/
+
+ 
+
+#ifndef C_RADIOFMPRESETUTILITYBODY_H
+#define C_RADIOFMPRESETUTILITYBODY_H
+
+#include <RadioPresetUtility.h>
+#include <RadioFmPresetUtility.h>
+#include "RadioFmPresetRadioSettings.h"
+#include "RadioFmPresetCentralRepositoryHandler.h"
+#include <e32base.h> 
+
+const TInt KDefaultRadioFrequency = 87500000;
+const TInt KMaxNumberOfPresetStations = 100;
+const TUint KDefaultRadioPTY = 0;
+const TUint KDefaultRadioPI = 0;
+
+/**
+ *  This class provides an interface for controlling the preset for an FM tuner.
+ *  The maximum number of presets supported by this utility is pre-defined and the
+ *  client must first query it.
+ *
+ *  @lib RadioPresetUtility.lib
+ *  @since S60 3.2
+ */
+class CRadioFmPresetUtility::CBody : public CBase,
+                              public MRadioPreset,
+                              public MRadioFmPreset
+    {
+public:
+
+    /**
+     * Factory function to create a new instance of the FM tuner.
+     *
+     * @since S60 3.2
+     * @param aObserver The observer object
+     * @return A new FM tuner utility object.
+     */
+    static CBody* NewL( MRadioPresetObserver& aObserver );
+
+    ~CBody();
+    
+	// from base class MRadioFmPreset
+
+     /**
+      * From MRadioFmPresetUtility
+      * Set the preset with specified frequency and name. Previous content in the specified index
+      * will be overwritten with the new information.
+      *
+      * The maximum length for the preset name is 32 characters. Names longer than 32 characters
+      * will be truncated.
+      *
+      * @since S60 3.2
+      * @param aIndex A preset index.
+      * @param aName Preset name.
+      * @param aFrequency Frequency in Hz.
+      */
+     void SetPresetL( TInt aIndex, const TFmPresetName& aName, TInt aFrequency );
+
+     /**
+      * From MRadioFmPresetUtility
+      * Set the preset with specified URL. Previous content in the specified index
+      * will be overwritten with the new information.
+      *
+      * The maximum length for the preset URL is 64 characters. URLs longer than 32 characters
+      * will be truncated.
+      *
+      * @since S60 5.2
+      * @param aIndex A preset index.
+      * @param aUrl Preset URL.
+      */     
+     void SetPresetUrlL( TInt aIndex, const TFmPresetUrl& aUrl );
+ 
+     /**
+      * From MRadioFmPresetUtility
+      * Set the preset with specified PTY. Previous content in the specified index
+      * will be overwritten with the new information.
+      *
+      * @since S60 5.2
+      * @param aIndex A preset index.
+      * @param aPty Preset PTY (programme type).
+      */
+     void SetPresetPtyL( TInt aIndex, TUint aPty );
+
+     /**
+      * From MRadioFmPresetUtility
+      * Set the preset with specified PI code. Previous content in the specified index
+      * will be overwritten with the new information.
+      *
+      * @since S60 5.2
+      * @param aIndex A preset index.
+      * @param aPICode Preset PI (programme identification).
+      */
+     void SetPresetPICodeL( TInt aIndex, TUint aPICode );
+
+     /**
+      * From MRadioFmPresetUtility
+      * Set the preset with specified favourite information. Previous content in the specified index
+      * will be overwritten with the new information.
+      *
+      * @since S60 5.2
+      * @param aIndex A preset index.
+      * @param aFavourite Preset favourite info.
+      */     
+     void SetPresetFavouriteInfoL( TInt aIndex, TBool aFavourite );
+
+     /**
+      * From MRadioFmPresetUtility
+      * Set the preset with specified user rename information. Previous content in the specified index
+      * will be overwritten with the new information.
+      *
+      * @since S60 5.2
+      * @param aIndex A preset index.
+      * @param aRename Preset user rename info.
+      */     
+     void SetPresetUserRenameInfoL( TInt aIndex, TBool aRename );
+
+     /**
+      * From MRadioFmPreset
+      * Get the preset name and frequency at the specified index.
+      * Leaves with KErrNotFound if invalid index is specified.
+      *
+      * Preset name is maximum of 32 characters. Client must allocate buffer big
+      * enough to hold the 32 characters. If not, characters will be truncated to fit the
+      * buffer.
+      *
+      * @since S60 3.2
+      * @param aIndex A preset index.
+      * @param aFrequency On return, contains the preset name.
+      * @param Frequency On return, contains frequency in Hz.
+      */
+     void GetPresetL( TInt aIndex, TFmPresetName& aName, TInt& aFrequency );
+
+     /**
+      * From MRadioFmPreset      
+      * Get the preset name at the specified index.
+      * Leaves with KErrNotFound if invalid index is specified.
+      *
+      * Preset name is maximum of 32 characters. Client must allocate buffer big
+      * enough to hold the 32 characters. If not, characters will be truncated to fit the
+      * buffer.
+      *
+      * @since S60 5.1
+      * @param aIndex A preset index.
+      * @param aName On return, contains the preset name.
+      */
+     void GetPresetNameL( TInt aIndex, TFmPresetName& aName );
+
+     /**
+      * From MRadioFmPresetUtility      
+      * Get the preset URL at the specified index.
+      * Leaves with KErrNotFound if invalid index is specified.
+      *
+      * Preset URL is maximum of 64 characters. Client must allocate buffer big
+      * enough to hold the 64 characters. If not, characters will be truncated to fit the
+      * buffer.
+      *
+      * @since S60 5.2
+      * @param aIndex A preset index.
+      * @param aUrl On return, contains the preset name.
+      */
+     void GetPresetUrlL( TInt aIndex, TFmPresetUrl& aUrl );
+
+     /**
+      * From MRadioFmPresetUtility
+      * Get the preset PTY (programme type) at the specified index.
+      * Leaves with KErrNotFound if invalid index is specified.
+      *
+      * @since S60 5.2
+      * @param aIndex A preset index.
+      * @param aPty On return, contains the preset PTY.
+      */
+     void GetPresetPtyL( TInt aIndex, TUint& aPty );
+     
+     /**
+      * From MRadioFmPresetUtility
+      * Get the preset PI code (programme identification) at the specified index.
+      * Leaves with KErrNotFound if invalid index is specified.
+      *
+      * @since S60 5.2
+      * @param aIndex A preset index.
+      * @param aPICode On return, contains the preset programme identification.
+      */
+     void GetPresetPICodeL( TInt aIndex, TUint& aPICode );
+     
+     /**
+      * From MRadioFmPresetUtility
+      * Get the preset favourite info at the specified index.
+      * Leaves with KErrNotFound if invalid index is specified.
+      *
+      * @since S60 5.2
+      * @param aIndex A preset index.
+      * @param aFavourite On return, contains the preset favourite info.
+      */
+     void GetPresetFavouriteInfoL( TInt aIndex, TBool& aFavourite );
+
+     /**
+      * From MRadioFmPresetUtility
+      * Get the preset user rename info at the specified index.
+      * Leaves with KErrNotFound if invalid index is specified.
+      *
+      * @since S60 5.2
+      * @param aIndex A preset index.
+      * @param aRename On return, contains the preset rename info.
+      */     
+     void GetPresetUserRenameInfoL( TInt aIndex, TBool& aRename );
+      
+     /**
+      * Get the preset frequency at the specified index.
+      * Leaves with KErrNotFound if invalid index is specified.
+      *
+      * @since S60 5.1
+      * @param aIndex A preset index.
+      * @param aFrequency On return, contains the preset name.
+      */
+     void GetPresetFrequencyL( TInt aIndex, TInt& aFrequency );
+	       
+// from base class MRadioPreset
+
+    /**
+     * From MRadioPreset
+     * Get the maximum number of presets supported by this utility.
+     * The numbering of presets starts from 1 and the largest preset number equals the value
+     * returned from this function.
+     *
+     * @since S60 3.2
+     * @param aMaxNumOfPresets On return contains the maximum number of presets.
+     * @return A standard system error code.
+     */
+     TInt GetMaxNumberOfPresets( TInt& aMaxNumOfPresets ) const;
+
+    /**
+     * From MRadioPreset
+     * Get the number of presets already set by the client (i.e. contains data).
+     *
+     * @since S60 3.2
+     * @param aNumOfPresets On return contains the current number of presets.
+     * @return A standard system error code.
+     */
+     TInt GetNumberOfPresets( TInt& aNumOfPresets ) const;
+
+    /**
+     * From MRadioPreset
+     * Get the first preset index that has been set.
+     * Leaves with KErrNone if no preset exists.
+     *
+     * @since S60 3.2
+     * @param aIndex On return contains the index of the first preset.
+     */
+     void GetFirstPresetL( TInt& aIndex ) const;
+
+    /**
+     * From MRadioPreset
+     * Get the next preset index that has been set, given the current index.
+     * Leaves with KErrNone if no other preset exists.
+     *
+     * @since S60 3.2
+     * @param aIndex Current preset index.
+     * @param aNextIndex On return contains the index of next preset.
+     */
+     void GetNextPresetL( TInt aIndex, TInt& aNextIndex ) const;
+
+    /**
+     * From MRadioPreset
+     * Reset the specified preset.
+     * Has not effect if specified index contains no preset.
+     *
+     * NOTE: Specifying aIndex == 0, will reset all presets.
+     *
+     * @since S60 3.2
+     * @param aIndex A preset index.
+     */
+     void DeletePresetL( TInt aIndex );
+
+private:
+    CBody();
+    void ConstructL();
+    
+    
+private:
+
+	MRadioPresetObserver* 	iRadioPresetClient;
+	TRadioSettings*         iRadioSettings;
+	CCentralRepositoryHandler* iCentralRepositoryHandler;
+
+    };
+
+#endif // C_RADIOFMPRESETUTILITY_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmserv/radioutility/fmpresetutility/src/debug.h	Wed Sep 01 12:23:00 2010 +0100
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  Central place for nice debug-type macros & functions
+*
+*/
+
+
+#ifndef DEBUG_H
+#define DEBUG_H
+
+//INCLUDES
+#include <f32file.h>
+#define FTRACE(a) {a;}
+    /**
+    * Declare the FPrint function
+    * @since Series 60 2.7
+    * @return none
+    */
+inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
+   {
+   VA_LIST list;
+   VA_START(list,aFmt);
+   TInt tmpInt = VA_ARG(list, TInt);
+   TInt tmpInt2 = VA_ARG(list, TInt);
+   TInt tmpInt3 = VA_ARG(list, TInt);
+   VA_END(list);
+   #ifdef _DEBUG
+   RDebug::Print(aFmt, tmpInt, tmpInt2, tmpInt3);
+   #endif
+   }
+
+#endif // DEBUG_H
+
+// End of File
--- a/mmserv/radioutility/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -26,7 +26,7 @@
 PRJ_MMPFILES
 #include "../radioserver/Group/bld.inf"
 #include "../radio_utility/group/bld.inf"
-#include "../presetutility/group/bld.inf"
+#include "../fmpresetutility/group/bld.inf"
 
 //  End of File  
 
--- a/mmserv/radioutility/inc/RadioSession.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/inc/RadioSession.h	Wed Sep 01 12:23:00 2010 +0100
@@ -360,8 +360,6 @@
 class RRadioSession : public RSessionBase,
 					  public MCustomCommand
     {
-public: // New functions
-    IMPORT_C static RRadioSession* NewL();
 public:  // Constructors and destructor
 
 	/**
--- a/mmserv/radioutility/presetutility/bwins/FmPresetUtilityu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
-	??1CRadioFmPresetUtility@@UAE@XZ @ 1 NONAME ; CRadioFmPresetUtility::~CRadioFmPresetUtility(void)
-	?DeletePresetL@CRadioFmPresetUtility@@UAEXH@Z @ 2 NONAME ; void CRadioFmPresetUtility::DeletePresetL(int)
-	?GetFirstPresetL@CRadioFmPresetUtility@@UBEXAAH@Z @ 3 NONAME ; void CRadioFmPresetUtility::GetFirstPresetL(int &) const
-	?GetMaxNumberOfPresets@CRadioFmPresetUtility@@UBEHAAH@Z @ 4 NONAME ; int CRadioFmPresetUtility::GetMaxNumberOfPresets(int &) const
-	?GetNextPresetL@CRadioFmPresetUtility@@UBEXHAAH@Z @ 5 NONAME ; void CRadioFmPresetUtility::GetNextPresetL(int, int &) const
-	?GetNumberOfPresets@CRadioFmPresetUtility@@UBEHAAH@Z @ 6 NONAME ; int CRadioFmPresetUtility::GetNumberOfPresets(int &) const
-	?GetPresetL@CRadioFmPresetUtility@@UAEXHAAV?$TBuf@$0CA@@@AAH@Z @ 7 NONAME ; void CRadioFmPresetUtility::GetPresetL(int, class TBuf<32> &, int &)
-	?NewL@CRadioFmPresetUtility@@SAPAV1@AAVMRadioPresetObserver@@@Z @ 8 NONAME ; class CRadioFmPresetUtility * CRadioFmPresetUtility::NewL(class MRadioPresetObserver &)
-	?SetPresetL@CRadioFmPresetUtility@@UAEXHABV?$TBuf@$0CA@@@H@Z @ 9 NONAME ; void CRadioFmPresetUtility::SetPresetL(int, class TBuf<32> const &, int)
-	?GetPresetFrequencyL@CRadioFmPresetUtility@@UAEXHAAH@Z @ 10 NONAME ; void CRadioFmPresetUtility::GetPresetFrequencyL(int, int &)
-	?GetPresetNameL@CRadioFmPresetUtility@@UAEXHAAV?$TBuf@$0CA@@@@Z @ 11 NONAME ; void CRadioFmPresetUtility::GetPresetNameL(int, class TBuf<32> &)
-	?SetPresetFavouriteInfoL@CRadioFmPresetUtility@@QAEXHH@Z @ 12 NONAME ; void CRadioFmPresetUtility::SetPresetFavouriteInfoL(int, int)
-	?SetPresetUserRenameInfoL@CRadioFmPresetUtility@@QAEXHH@Z @ 13 NONAME ; void CRadioFmPresetUtility::SetPresetUserRenameInfoL(int, int)
-	?SetPresetPICodeL@CRadioFmPresetUtility@@QAEXHI@Z @ 14 NONAME ; void CRadioFmPresetUtility::SetPresetPICodeL(int, unsigned int)
-	?GetPresetUserRenameInfoL@CRadioFmPresetUtility@@QAEXHAAH@Z @ 15 NONAME ; void CRadioFmPresetUtility::GetPresetUserRenameInfoL(int, int &)
-	?GetPresetPtyL@CRadioFmPresetUtility@@QAEXHAAI@Z @ 16 NONAME ; void CRadioFmPresetUtility::GetPresetPtyL(int, unsigned int &)
-	?SetPresetPtyL@CRadioFmPresetUtility@@QAEXHI@Z @ 17 NONAME ; void CRadioFmPresetUtility::SetPresetPtyL(int, unsigned int)
-	?GetPresetPICodeL@CRadioFmPresetUtility@@QAEXHAAI@Z @ 18 NONAME ; void CRadioFmPresetUtility::GetPresetPICodeL(int, unsigned int &)
-	?SetPresetUrlL@CRadioFmPresetUtility@@QAEXHABV?$TBuf@$0EA@@@@Z @ 19 NONAME ; void CRadioFmPresetUtility::SetPresetUrlL(int, class TBuf<64> const &)
-	?GetPresetFavouriteInfoL@CRadioFmPresetUtility@@QAEXHAAH@Z @ 20 NONAME ; void CRadioFmPresetUtility::GetPresetFavouriteInfoL(int, int &)
-	?GetPresetUrlL@CRadioFmPresetUtility@@QAEXHAAV?$TBuf@$0EA@@@@Z @ 21 NONAME ; void CRadioFmPresetUtility::GetPresetUrlL(int, class TBuf<64> &)
-
--- a/mmserv/radioutility/presetutility/bwins/presetutilityu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-EXPORTS
-	?SetRenamedByUser@TPreset@@QAEXH@Z @ 1 NONAME ; void TPreset::SetRenamedByUser(int)
-	?Name@TPreset@@QBE?AVTPtrC16@@XZ @ 2 NONAME ; class TPtrC16 TPreset::Name(void) const
-	??1CPresetUtility@@UAE@XZ @ 3 NONAME ; CPresetUtility::~CPresetUtility(void)
-	?SetFavorite@TPreset@@QAEXH@Z @ 4 NONAME ; void TPreset::SetFavorite(int)
-	?SetFrequency@TPreset@@QAEXI@Z @ 5 NONAME ; void TPreset::SetFrequency(unsigned int)
-	?PiCode@TPreset@@QBEHXZ @ 6 NONAME ; int TPreset::PiCode(void) const
-	?MyExternalizedDataSize@TPreset@@UBEIXZ @ 7 NONAME ; unsigned int TPreset::MyExternalizedDataSize(void) const
-	?LocalStation@TPreset@@QBEHXZ @ 8 NONAME ; int TPreset::LocalStation(void) const
-	?ExternalizeL@TPreset@@UBEXAAVRWriteStream@@@Z @ 9 NONAME ; void TPreset::ExternalizeL(class RWriteStream &) const
-	?SetGenre@TPreset@@QAEXH@Z @ 10 NONAME ; void TPreset::SetGenre(int)
-	?Genre@TPreset@@QBEHXZ @ 11 NONAME ; int TPreset::Genre(void) const
-	?Favorite@TPreset@@QBEHXZ @ 12 NONAME ; int TPreset::Favorite(void) const
-	?SetName@TPreset@@QAEXABV?$TBuf@$0CA@@@@Z @ 13 NONAME ; void TPreset::SetName(class TBuf<32> const &)
-	?Frequency@TPreset@@QBEIXZ @ 14 NONAME ; unsigned int TPreset::Frequency(void) const
-	?NewL@CPresetUtilityBody@@SAPAV1@XZ @ 15 NONAME ; class CPresetUtilityBody * CPresetUtilityBody::NewL(void)
-	?SetPiCode@TPreset@@QAEXH@Z @ 16 NONAME ; void TPreset::SetPiCode(int)
-	?SetLocalStation@TPreset@@QAEXH@Z @ 17 NONAME ; void TPreset::SetLocalStation(int)
-	??1CPresetUtilityBody@@UAE@XZ @ 18 NONAME ; CPresetUtilityBody::~CPresetUtilityBody(void)
-	?RenamedByUser@TPreset@@QBEHXZ @ 19 NONAME ; int TPreset::RenamedByUser(void) const
-	??0TPreset@@QAE@XZ @ 20 NONAME ; TPreset::TPreset(void)
-	?Url@TPreset@@QBE?AVTPtrC16@@XZ @ 21 NONAME ; class TPtrC16 TPreset::Url(void) const
-	?InternalizeL@TPreset@@UAEXAAVRReadStream@@@Z @ 22 NONAME ; void TPreset::InternalizeL(class RReadStream &)
-	?NewL@CPresetUtility@@SAPAV1@XZ @ 23 NONAME ; class CPresetUtility * CPresetUtility::NewL(void)
-	?SetUrl@TPreset@@QAEXABV?$TBuf@$0DC@@@@Z @ 24 NONAME ; void TPreset::SetUrl(class TBuf<50> const &)
-
Binary file mmserv/radioutility/presetutility/cenrep/10207b87.txt has changed
Binary file mmserv/radioutility/presetutility/conf/presetutility.confml has changed
Binary file mmserv/radioutility/presetutility/conf/presetutility_10207B87.crml has changed
--- a/mmserv/radioutility/presetutility/eabi/FmPresetUtilityu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-EXPORTS
-	_ZN21CRadioFmPresetUtility10GetPresetLEiR4TBufILi32EERi @ 1 NONAME
-	_ZN21CRadioFmPresetUtility10SetPresetLEiRK4TBufILi32EEi @ 2 NONAME
-	_ZN21CRadioFmPresetUtility13DeletePresetLEi @ 3 NONAME
-	_ZN21CRadioFmPresetUtility4NewLER20MRadioPresetObserver @ 4 NONAME
-	_ZN21CRadioFmPresetUtilityD0Ev @ 5 NONAME
-	_ZN21CRadioFmPresetUtilityD1Ev @ 6 NONAME
-	_ZN21CRadioFmPresetUtilityD2Ev @ 7 NONAME
-	_ZNK21CRadioFmPresetUtility14GetNextPresetLEiRi @ 8 NONAME
-	_ZNK21CRadioFmPresetUtility15GetFirstPresetLERi @ 9 NONAME
-	_ZNK21CRadioFmPresetUtility18GetNumberOfPresetsERi @ 10 NONAME
-	_ZNK21CRadioFmPresetUtility21GetMaxNumberOfPresetsERi @ 11 NONAME
-	_ZTI21CRadioFmPresetUtility @ 12 NONAME ; #<TI>#
-	_ZTI25CCentralRepositoryHandler @ 13 NONAME ; #<TI>#
-	_ZTIN21CRadioFmPresetUtility5CBodyE @ 14 NONAME ; #<TI>#
-	_ZTV21CRadioFmPresetUtility @ 15 NONAME ; #<VT>#
-	_ZTV25CCentralRepositoryHandler @ 16 NONAME ; #<VT>#
-	_ZTVN21CRadioFmPresetUtility5CBodyE @ 17 NONAME ; #<VT>#
-	_ZThn4_N21CRadioFmPresetUtility13DeletePresetLEi @ 18 NONAME ; #<thunk>#
-	_ZThn4_NK21CRadioFmPresetUtility14GetNextPresetLEiRi @ 19 NONAME ; #<thunk>#
-	_ZThn4_NK21CRadioFmPresetUtility15GetFirstPresetLERi @ 20 NONAME ; #<thunk>#
-	_ZThn4_NK21CRadioFmPresetUtility18GetNumberOfPresetsERi @ 21 NONAME ; #<thunk>#
-	_ZThn4_NK21CRadioFmPresetUtility21GetMaxNumberOfPresetsERi @ 22 NONAME ; #<thunk>#
-	_ZThn8_N21CRadioFmPresetUtility10GetPresetLEiR4TBufILi32EERi @ 23 NONAME ; #<thunk>#
-	_ZThn8_N21CRadioFmPresetUtility10SetPresetLEiRK4TBufILi32EEi @ 24 NONAME ; #<thunk>#
-	_ZN21CRadioFmPresetUtility14GetPresetNameLEiR4TBufILi32EE @ 25 NONAME
-	_ZN21CRadioFmPresetUtility19GetPresetFrequencyLEiRi @ 26 NONAME
-	_ZThn8_N21CRadioFmPresetUtility14GetPresetNameLEiR4TBufILi32EE @ 27 NONAME ; #<thunk>#
-	_ZThn8_N21CRadioFmPresetUtility19GetPresetFrequencyLEiRi @ 28 NONAME ; #<thunk>#
-	_ZN21CRadioFmPresetUtility13GetPresetPtyLEiRj @ 29 NONAME
-	_ZN21CRadioFmPresetUtility13GetPresetUrlLEiR4TBufILi64EE @ 30 NONAME
-	_ZN21CRadioFmPresetUtility13SetPresetPtyLEij @ 31 NONAME
-	_ZN21CRadioFmPresetUtility13SetPresetUrlLEiRK4TBufILi64EE @ 32 NONAME
-	_ZN21CRadioFmPresetUtility16GetPresetPICodeLEiRj @ 33 NONAME
-	_ZN21CRadioFmPresetUtility16SetPresetPICodeLEij @ 34 NONAME
-	_ZN21CRadioFmPresetUtility23GetPresetFavouriteInfoLEiRi @ 35 NONAME
-	_ZN21CRadioFmPresetUtility23SetPresetFavouriteInfoLEii @ 36 NONAME
-	_ZN21CRadioFmPresetUtility24GetPresetUserRenameInfoLEiRi @ 37 NONAME
-	_ZN21CRadioFmPresetUtility24SetPresetUserRenameInfoLEii @ 38 NONAME
-
--- a/mmserv/radioutility/presetutility/eabi/presetutilityu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-EXPORTS
-	_ZN14CPresetUtility4NewLEv @ 1 NONAME
-	_ZN14CPresetUtilityD0Ev @ 2 NONAME
-	_ZN14CPresetUtilityD1Ev @ 3 NONAME
-	_ZN14CPresetUtilityD2Ev @ 4 NONAME
-	_ZN18CPresetUtilityBody4NewLEv @ 5 NONAME
-	_ZN18CPresetUtilityBodyD0Ev @ 6 NONAME
-	_ZN18CPresetUtilityBodyD1Ev @ 7 NONAME
-	_ZN18CPresetUtilityBodyD2Ev @ 8 NONAME
-	_ZN7TPreset11SetFavoriteEi @ 9 NONAME
-	_ZN7TPreset12InternalizeLER11RReadStream @ 10 NONAME
-	_ZN7TPreset12SetFrequencyEj @ 11 NONAME
-	_ZN7TPreset15SetLocalStationEi @ 12 NONAME
-	_ZN7TPreset16SetRenamedByUserEi @ 13 NONAME
-	_ZN7TPreset6SetUrlERK4TBufILi50EE @ 14 NONAME
-	_ZN7TPreset7SetNameERK4TBufILi32EE @ 15 NONAME
-	_ZN7TPreset8SetGenreEi @ 16 NONAME
-	_ZN7TPreset9SetPiCodeEi @ 17 NONAME
-	_ZN7TPresetC1Ev @ 18 NONAME
-	_ZN7TPresetC2Ev @ 19 NONAME
-	_ZNK7TPreset12ExternalizeLER12RWriteStream @ 20 NONAME
-	_ZNK7TPreset12LocalStationEv @ 21 NONAME
-	_ZNK7TPreset13RenamedByUserEv @ 22 NONAME
-	_ZNK7TPreset22MyExternalizedDataSizeEv @ 23 NONAME
-	_ZNK7TPreset3UrlEv @ 24 NONAME
-	_ZNK7TPreset4NameEv @ 25 NONAME
-	_ZNK7TPreset5GenreEv @ 26 NONAME
-	_ZNK7TPreset6PiCodeEv @ 27 NONAME
-	_ZNK7TPreset8FavoriteEv @ 28 NONAME
-	_ZNK7TPreset9FrequencyEv @ 29 NONAME
-	_ZTI14CCenrepHandler @ 30 NONAME
-	_ZTI7TPreset @ 31 NONAME
-	_ZTV14CCenrepHandler @ 32 NONAME
-	_ZTV7TPreset @ 33 NONAME
-
--- a/mmserv/radioutility/presetutility/group/backup_registration.xml	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration version="1.0">
-    <proxy_data_manager sid = "0x10202BE9" />
-    <restore requires_reboot = "no"/>
-</backup_registration>
-
--- a/mmserv/radioutility/presetutility/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Project build file for RadioPresetUtility
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// Generic configuration interface for component cenrep settings
-// presetutility_10207B87 implementation specifics for cenrep data
-../conf/presetutility.confml                  MW_LAYER_CONFML(presetutility.confml)
-../conf/presetutility_10207B87.crml           MW_LAYER_CRML(presetutility_10207B87.crml)
-
-
-backup_registration.xml z:/private/10207B87/backup_registration.xml
-
-
-// iby files
-../rom/fmpresetutility.iby			CORE_MW_LAYER_IBY_EXPORT_PATH(fmpresetutility.iby)
-../rom/presetutility.iby			  CORE_MW_LAYER_IBY_EXPORT_PATH(presetutility.iby)
-
-
-PRJ_MMPFILES
-presetutility.mmp
-fmpresetutility.mmp
--- a/mmserv/radioutility/presetutility/group/fmpresetutility.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-* Project definition file for FmPresetUtility.
-*
-*/
-
-
-//#include <data_caging_paths.hrh>
-//#include <domain/osextensions/platform_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET          FmPresetUtility.dll
-TARGETTYPE      DLL
-CAPABILITY      CAP_GENERAL_DLL ReadUserData
-VENDORID        VID_DEFAULT
-UID             0x1000008D 0x10207B87
-VERSION 10.3
-
-SOURCEPATH      ../src/old_api
-SOURCE          radiofmpresetutility.cpp    // Compatibility api
-SOURCE          radiofmpresetcentralrepositoryhandler.cpp
-
-USERINCLUDE     ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY			presetutility.lib
-LIBRARY         cenrepnotifhandler.lib
-LIBRARY         centralrepository.lib
-LIBRARY         euser.lib
-LIBRARY         estor.lib
-//LIBRARY         dsclient.lib
-
-
--- a/mmserv/radioutility/presetutility/group/presetutility.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-* Project definition file for RadioPresetUtility.
-*
-*/
-
-
-//#include <data_caging_paths.hrh>
-//#include <domain/osextensions/platform_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET          presetutility.dll // Temporarily renamed to not clash with the existing utility
-TARGETTYPE      DLL
-CAPABILITY      CAP_GENERAL_DLL ReadUserData
-VENDORID        VID_DEFAULT
-UID             0x1000008D 0x2002C307
-VERSION 10.3
-
-SOURCEPATH      ../src
-SOURCE          presetutility.cpp
-SOURCE          presetutilitybody.cpp
-SOURCE          preset.cpp
-SOURCE          cenrephandler.cpp
-SOURCE			cenrepbookkeeping.cpp
-USERINCLUDE     ../cenrep
-USERINCLUDE     ../src
-USERINCLUDE     ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY         cenrepnotifhandler.lib
-LIBRARY         centralrepository.lib
-LIBRARY         euser.lib
-LIBRARY         estor.lib
-//LIBRARY         dsclient.lib
-
-
--- a/mmserv/radioutility/presetutility/inc/cenrepbookkeeping.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  This is a class, responsible of keeping track of existing presets
-*               and their indexes.
-*
-*
-*/
-
-#ifndef CCENREPBOOKKEEPING_H_
-#define CCENREPBOOKKEEPING_H_
-
-#include <e32base.h>
-
-class RWriteStream;
-class RReadStream;
-
-const TInt KMaxNumberOfPresetStations = 100;  // One temporarily used for internal book keeping
-
-#define  LENGTHOFUSEDINDEXLWORDSARRAY ((KMaxNumberOfPresetStations/32) + 1)
-/**
- *  it is a class, responsible of keeping track of existing presets and their indexes.
- */
-NONSHARABLE_CLASS( CCenrepBookKeeping ) : public CBase
-{
-public:
-
-    /**
-    * Default class constructor.
-    */
-    CCenrepBookKeeping();
-
-    /**
-    * Destructor of CCenrepBookKeeping class.
-    */
-    ~CCenrepBookKeeping();
-
-    /**
-    * Get the current number of presets.
-    * @return The number of presets.
-    */
-    TInt PresetCount() const;
-
-    /**
-    * Get the index of first preset.
-    * @return The first preset index.
-    */        
-    TInt FirstIndex() const;
-
-    /**
-    * Get the index of the next preset.
-    * @param aFromIndex -  Start from index after this.
-    * @return the next preset index.
-    */           
-    TInt NextIndex( TInt aFromIndex = 0 );
-
-    /**
-    * Find an unused preset index.
-    * @return Allocated index.
-    */           
-    TInt FindUnusedIndex() const;
-    
-    /**
-    * Check if given index is used.
-    * @return ETrue if used, otherwise EFalse 
-    */           
-    TBool IsIndexUsed( const TInt aIndex );
-
-    /**
-    * Add a preset.
-    * @param aIndex -  Proposed index.
-    * @return Used/Allocated index.
-    */           
-    void AddIndex( const TInt aIndex );
-
-    /**
-    * Remove a preset.
-    * @param aIndex -  Index of the preset to be removed.
-    * @return Used/Allocated index.
-    */           
-    void RemoveIndex( const TInt aIndex );
-
-    /**
-    * Clear all data.
-    * @return The first preset index.
-    */
-    void Clear();
-    
-    /**
-    * Gives descriptor pointer to bookkeeping's data.
-    * @return TPtr8 Descriptor that contains bookkeeping data.
-    */
-    TPtr8 BookKeepingData();
-
-private:
-
-    // This data is copied to Central Repository Key (buffer) as such without
-    // actual serialization.
-    // Therefore in order to keep backward incombatibility don't
-    // change the order of fields. Only the last array field can be allowed to grow.
-    // If a new field is added to the end, the preceding array field cannot grow anymore.
-    // Additionally the size of this structure should never shrink.
-    class TBookKeepingData 
-    {
-    public:
-        TInt iCount;    
-        TUint32 iUsedIndexLWords[ LENGTHOFUSEDINDEXLWORDSARRAY ];
-    } iBookKeepingData;
-
-};
-
-#endif // CCENREPBOOKKEEPING_H_
--- a/mmserv/radioutility/presetutility/inc/cenrephandler.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  This is a wrapper class of Central Repository, responsible
-*               for the operations that need to access the central respository.
-*
-*
-*/
-
-#ifndef CCENREPHANDLER_H
-#define CCENREPHANDLER_H
-
-// System includes
-#include <e32base.h>
-
-// Constants
-const TInt KBufferLength = 20;
-const TInt KStreamBufferSize = 100;
-
-// Forward declarations
-class CRepository;
-class TPreset;
-class CCenrepBookKeeping;
-
-// Class declaration
-
-/**
- *  it is a wrapper of Central Repository, responsible for the operations that need to access
- *  the central respository.
- */
-class CCenrepHandler : public CBase
-    {
-public:
-
-    /**
-    * Two-phased class constructor.
-    */
-    static CCenrepHandler* NewL();
-    
-    /**
-    * Destructor of CCenrepHandler class.
-    */
-    virtual ~CCenrepHandler();
-
-    /**
-    * Get the maximum number of presets.
-    * @return The maximum number of presets.
-    */
-    TInt MaxPresetCount() const;
-
-    /**
-    * Get the current number of presets.
-    * @return The number of presets.
-    */
-    TInt PresetCount() const;
-
-    /**
-    * Get the index of first preset.
-    * @return The first preset index.
-    */        
-    TInt FirstPreset() const;
-
-    /**
-    * Get the index of the next preset.
-    * @param aFromIndex -  Start from index after this.
-    * @return the next preset index.
-    */           
-    TInt NextPreset( TInt aFromIndex ) const;
-    
-    /**
-    * Delete the specified preset.
-    * Specifying aIndex < 0, will delete all presets.
-    * Has no effect if specified index contains no preset.
-    */
-    TInt DeletePreset( TInt aIndex );
-    
-    /**
-    * Save the preset.
-    * @param aPreset Preset object.
-    * @param aIndex -  Preset index.
-    * @return given/allocated(in case given value was -1) index.
-    */           
-    TInt SavePresetL( const TPreset& aPreset, TInt aIndex = -1 );
-    
-    
-    /**
-    * Read a preset.
-    * @param aIndex -  Preset index.
-    * @param aPreset Preset object to where to update the data.
-    * @return none
-    */           
-    void ReadPresetL( TInt aIndex, TPreset& aPreset );
-
-private:
-
-    /**
-    * Default class constructor.
-    */
-    CCenrepHandler();
-
-    /**
-    * Second phase class constructor.
-    */
-    void ConstructL();
-
-    /**
-    * Read bookkeeping information from the permanent storage.
-    */
-    void ReadBookKeepingL();
-
-    /**
-    * Save bookkeeping information to the permanent storage.
-    */
-    void SaveBookKeeping();
-        
-    /**
-    * Read preconfigured presets from the permanent storage.
-    */
-    void ReadPreDefinedPresetsL();
-
-private: // data
-
-    // Central Repository
-    CRepository*        iCentralRepository;
-
-    // Bookkeeping of existing presets
-    CCenrepBookKeeping* iBookKeeping;
-
-    };
-
-#endif  // CCENREPHANDLER_H
--- a/mmserv/radioutility/presetutility/inc/presetcrkeys.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Preset Utility's Central Repository key index definitions.
-*
-*
-*/
-
-
-#ifndef RADIOPRESETCRKEYS_H
-#define RADIOPRESETCRKEYS_H
-
-// Preset Utility UID
-const TUid KCRUidPresetUtility = {0x10207B87};
-
-// The first preset channel's location in central repository
-const TUint32 KRadioBookKeepingLocation = 0x00000001;
-const TUint32 KRadioPresetChannel1 = 0x00001000;
-const TUint32 KNbrOfParametersPerChannelSequence = 0x10;
-const TUint32 KChannelNameOffset = 0x0;
-const TUint32 KFrequencyOffset = 0x1;
-const TUint32 KUrlOffset = 0x2;
-const TUint32 KRestOfParametersOffset = 0xF;
-
-#endif // RADIOPRESETCRKEYS_H
--- a/mmserv/radioutility/presetutility/inc/presetutilitybody.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Preset Utility Body class.
-*
-*
-*/
-
-#ifndef C_PRESETUTILITYBODY_H
-#define C_PRESETUTILITYBODY_H
-
-#include <presetutility.h>
-
-class MPresetUtilityObserver;
-class CCenrepHandler;
-
-NONSHARABLE_CLASS( CPresetUtilityBody ) : public CPresetUtility
-    {
-public:
-
-    /**
-    * Two-phased class constructor.
-    */
-    IMPORT_C static CPresetUtilityBody* NewL();
-
-    /**
-    * Destructor of CPresetUtilityBody class.
-    */
-    IMPORT_C ~CPresetUtilityBody();
-
-// from base class CFmRadioPresetUtility
-
-    void SetObserver( MPresetUtilityObserver* aObserver );
-    TInt MaxNumberOfPresets() const;
-    TInt PresetCount() const;
-    TInt FirstPreset() const;
-    TInt NextPreset( TInt aFromIndex ) const;
-    TInt DeletePreset( TInt aIndex );
-    TInt SavePresetL( const TPreset& aPreset, TInt aIndex );
-    void ReadPresetL( TInt aIndex, TPreset& aPreset );
-
-private:
-
-    /**
-    * Default class constructor.
-    */
-    CPresetUtilityBody();
-
-    /**
-    * Second phase class constructor.
-    */
-    void ConstructL();
-
-private:
-
-    // Observer object
-    MPresetUtilityObserver*   iObserver;
-
-    // Central Repository interface
-    CCenrepHandler*         iCenrepHandler;
-
-    };
-
-#endif // C_PRESETUTILITYBODY_H
--- a/mmserv/radioutility/presetutility/inc/trace.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,596 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-* Trace macro definitions.
-*
-*/
-
-#ifndef TRACE_H
-#define TRACE_H
-
-#include <e32base.h> // TCleanupItem
-#include "traceconfiguration.hrh"
-
-#ifdef TRACE_INTO_FILE
-#include <flogger.h> // RFileLogger
-#else
-#include <e32debug.h> // RDebug
-#endif
-
-//-----------------------------------------------------------------------------
-// Constants
-//-----------------------------------------------------------------------------
-//
-
-// NOTE!
-// Replace all COMPONENT_NAME occurnaces with your own component / module name.
-
-/**
-* Prefix trace macro to complete tracing with component name.
-* Returns TDesC which can be used directly with RDebug or RFileLogger.
-*/
-#define _PREFIX_TRACE( aMsg ) TPtrC( (const TText*)L"[PresetUtility]: " L##aMsg )
-
-/**
-* Prefix error trace
-*/
-#define _PREFIX_ERROR( aMsg ) _PREFIX_TRACE( "[ERROR: %d]: " L##aMsg )
-
-/**
-* Prefix info trace.
-*/
-#define _PREFIX_INFO( aMsg ) _PREFIX_TRACE( "[INFO]: " L##aMsg )
-
-/**
-* Prefix macro for strings
-*/
-#define _PREFIX_CHAR( aMsg ) (const char*)"[PresetUtility]: " ##aMsg
-
-/**
-* Define needed directories if TRACE_INTO_FILE macro in use
-*/
-#ifdef TRACE_INTO_FILE
-
-    _LIT( KDir, "PresetUtility" );
-    _LIT( KFile, "PresetUtility_log.txt" );
-    _LIT( KFullPath, "c:\\logs\\PresetUtility\\" );
-
-#endif
-
-//-----------------------------------------------------------------------------
-// Error trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef ERROR_TRACE
-
-    /**
-    * Error trace definitions.
-    */
-    #ifdef TRACE_INTO_FILE
-
-        #define ERROR( aErr, aMsg )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr );\
-                }\
-            }
-        #define ERROR_1( aErr, aMsg, aP1 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1 );\
-                }\
-            }
-        #define ERROR_2( aErr, aMsg, aP1, aP2 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2 );\
-                }\
-            }
-        #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3 );\
-                }\
-            }
-        #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4 );\
-                }\
-            }
-        #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\
-                }\
-            }
-        #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\
-                }\
-            }
-            
-    #else//TRACE_INTO_FILE not defined
-    
-        #define ERROR( aErr, aMsg )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr );\
-                }\
-            }
-        #define ERROR_1( aErr, aMsg, aP1 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1 );\
-                }\
-            }
-        #define ERROR_2( aErr, aMsg, aP1, aP2 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2 );\
-                }\
-            }
-        #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3 );\
-                }\
-            }
-        #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4 );\
-                }\
-            }
-        #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\
-                }\
-            }
-        #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5, aP6 );\
-                }\
-            }
-    
-    #endif//TRACE_INTO_FILE
-
-    #define ERROR_GEN( aMsg ) ERROR( KErrGeneral, aMsg )
-    #define ERROR_GEN_1( aMsg, aP1 ) ERROR_1( KErrGeneral, aMsg, aP1 )
-    #define ERROR_GEN_2( aMsg, aP1, aP2 ) ERROR_2( KErrGeneral, aMsg, aP1, aP2 )
-    #define ERROR_GEN_3( aMsg, aP1, aP2, aP3 ) ERROR_3( KErrGeneral, aMsg, aP1, aP3 )
-    #define ERROR_GEN_4( aMsg, aP1, aP2, aP3, aP4 ) ERROR_4( KErrGeneral, aMsg, aP1, aP3, aP4 )
-    #define ERROR_GEN_5( aMsg, aP1, aP2, aP3, aP4, aP5 ) ERROR_5( KErrGeneral, aMsg, aP1, aP3, aP4, aP5 )
-    #define ERROR_GEN_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 ) ERROR_6( KErrGeneral, aMsg, aP1, aP3, aP4, aP5, aP6 )
-
-#else//ERROR_TRACE not defined
-
-    #define ERROR( aErr, aMsg )
-    #define ERROR_1( aErr, aMsg, aP1 )
-    #define ERROR_2( aErr, aMsg, aP1, aP2 )
-    #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 )
-    #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 )
-    #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 )
-    #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )
-
-    #define ERROR_GEN( aMsg )
-    #define ERROR_GEN_1( aMsg, aP1 )
-    #define ERROR_GEN_2( aMsg, aP1, aP2 )
-    #define ERROR_GEN_3( aMsg, aP1, aP2, aP3 )
-    #define ERROR_GEN_4( aMsg, aP1, aP2, aP3, aP4 )
-    #define ERROR_GEN_5( aMsg, aP1, aP2, aP3, aP4, aP5 )
-    #define ERROR_GEN_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )
-
-#endif//ERROR_TRACE
-
-//-----------------------------------------------------------------------------
-// TRAP and trace with error macro
-//-----------------------------------------------------------------------------
-//
-#define TRAP_ERROR( aErr, aFunction )\
-    {\
-    TRAP( aErr, aFunction );\
-    TPtrC8 file( ( TText8* )__FILE__ );\
-    ERROR_2( aErr, "Trapped leave in '%S' line %d", &file, __LINE__);\
-    }
-
-//-----------------------------------------------------------------------------
-// Info trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef INFO_TRACE
-
-    /**
-    * Info log message definitions.
-    */
-    #ifdef TRACE_INTO_FILE
-    
-        #define INFO( aMsg )\
-            {\
-            RFileLogger::Write( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ) );\
-            }
-        #define INFO_1( aMsg, aP1 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1 );\
-            }
-        #define INFO_2( aMsg, aP1, aP2 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2 );\
-            }
-        #define INFO_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3 );\
-            }
-        #define INFO_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4 );\
-            }
-        #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5 );\
-            }
-        #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5, aP6 );\
-            }
-
-    #else//TRACE_INTO_FILE not defined
-
-        #define INFO( aMsg )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ) );\
-            }
-        #define INFO_1( aMsg, aP1 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1 );\
-            }
-        #define INFO_2( aMsg, aP1, aP2 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2 );\
-            }
-        #define INFO_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3 );\
-            }
-        #define INFO_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4 );\
-            }
-        #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5 );\
-            }
-        #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5, aP6 );\
-            }
-
-    #endif//TRACE_INTO_FILE
-        
-#else//INFO_TRACE not defined
-
-    #define INFO( aMsg )
-    #define INFO_1( aMsg, aP1 )
-    #define INFO_2( aMsg, aP1, aP2 )
-    #define INFO_3( aMsg, aP1, aP2, aP3 )
-    #define INFO_4( aMsg, aP1, aP2, aP3, aP4 )
-    #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 )
-    #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )
-
-#endif//INFO_TRACE
-
-//-----------------------------------------------------------------------------
-// Trace current client thread name and process id
-//-----------------------------------------------------------------------------
-//
-#ifdef CLIENT_TRACE
-
-    #define CLIENT_PROCESS\
-        {\
-        CLIENT_PROCESS_PREFIX( "" );\
-        }        
-
-    #define CLIENT_PROCESS_PREFIX( aPrefix )\
-        {\
-        RProcess process;\
-        TPtrC name( process.Name() );\
-        TSecureId sid( process.SecureId() );\
-        TPtrC prefix( _S( aPrefix ) );\
-        if( prefix.Length() )\
-            {\
-            INFO_3( "%S: CLIENT - Name: [%S], Sid: [0x%x]", &prefix, &name, sid.iId );\
-            }\
-        else\
-            {\
-            INFO_2( "CLIENT - Name: [%S], Sid: [0x%x]", &name, sid.iId );\
-            }\
-        process.Close();\
-        }        
-
-    #define CLIENT_MESSAGE( aMsg )\
-        {\
-        CLIENT_MESSAGE_PREFIX( "", aMsg );\
-        }
-
-    #define CLIENT_MESSAGE_PREFIX( aPrefix, aMsg )\
-        {\
-        RThread thread;\
-        TInt err = aMsg.Client( thread );\
-        if( err == KErrNone )\
-            {\
-            RProcess process;\
-            err = thread.Process( process );\
-            if( err == KErrNone )\
-                {\
-                TPtrC threadName( thread.Name() );\
-                TUid processUid( process.SecureId() );\
-                TPtrC prefix( _S( aPrefix ) );\
-                if( prefix.Length() )\
-                    {\
-                    INFO_4( "%S: MSG - Name: [%S], Sid: [0x%x], Message ID: [%d]",\
-                        &prefix,\
-                        &threadName,\
-                        processUid,\
-                        aMsg.Function() );\
-                    }\
-                else\
-                    {\
-                    INFO_3( "MSG - Name: [%S], Sid: [0x%x], Message ID: [%d]",\
-                        &threadName,\
-                        processUid,\
-                        aMsg.Function() );\
-                    }\
-                }\
-            process.Close();\
-            }\
-        thread.Close();\
-        }
-
-#else
-
-    #define CLIENT_PROCESS
-    #define CLIENT_PROCESS_PREFIX( aPrefix )
-    #define CLIENT_MESSAGE( aMsg )
-    #define CLIENT_MESSAGE_PREFIX( aPrefix, aMsg )
-
-#endif
-
-//-----------------------------------------------------------------------------
-// Function trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef FUNC_TRACE
-
-    /**
-    * Function logging definitions.
-    */
-    #ifdef TRACE_INTO_FILE
-    
-        #define FUNC( aMsg, aP1 )\
-            {\
-            TPtrC8 trace( _S8( aMsg ) );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, trace, aP1 );\
-            }\
-    
-    #else//TRACE_INTO_FILE not defined
-    
-        #define FUNC( aMsg, aP1 )\
-            {\
-            RDebug::Printf( aMsg, aP1 );\
-            }\
-    
-    #endif//TRACE_INTO_FILE
-        
-    /**
-    * Function trace helper class.
-    * 
-    * NOTE:
-    * LC -methods cannot be trapped. Therefore if LC -method leaves
-    * END trace is used instead of LEAVE trace.
-    * If you have an idea how to round this problem please tell.
-    */
-    _LIT8( KFuncNameTerminator, "(" );
-    _LIT8( KFuncLeavePatternL, "L" );
-    class TFuncLog
-        {
-        public:
-            static void Cleanup( TAny* aPtr )
-                {
-                TFuncLog* self = static_cast< TFuncLog* >( aPtr );
-                self->iLeft = ETrue;
-                FUNC( _PREFIX_CHAR("%S-LEAVE"), &self->iFunc ); // Leave detected
-                }
-            inline TFuncLog( const char* aFunc ) :
-                    iFunc( aFunc ? _S8( aFunc ) : _S8("") ),
-                    iLeft( EFalse ),
-                    iCleanupItem( Cleanup, this ),
-                    iCanLeave( EFalse )
-                {
-                TInt pos( iFunc.Find( KFuncNameTerminator ) );
-                if( pos != KErrNotFound )
-                    {
-                    iFunc.Set( iFunc.Left( pos ) );
-                    iCanLeave = !iFunc.Right( KFuncLeavePatternL().Length() ).Compare( KFuncLeavePatternL );
-                    if ( iCanLeave )
-                        {
-                        CleanupStack::PushL( iCleanupItem ); // Ignore warnings
-                        }
-                    }
-                FUNC( _PREFIX_CHAR("%S-START"), &iFunc );
-                }
-
-            inline ~TFuncLog()
-                {
-                if ( !iLeft )
-                    {
-                    if ( iCanLeave )
-                        {
-                        CleanupStack::Pop( this ); // Pop the cleanup item
-                        }
-                    FUNC( _PREFIX_CHAR("%S-END"), &iFunc ); // Normally finished
-                    }
-                }
-
-        private: // Data
-            TPtrC8 iFunc;
-            TBool iLeft;
-            TCleanupItem iCleanupItem;
-            TBool iCanLeave;
-        };
-    #define FUNC_LOG TFuncLog _fl( __PRETTY_FUNCTION__ );
-    
-#else//FUNC_TRACE not defined
-
-    #define FUNC_LOG
-
-#endif//FUNC_TRACE
-
-//-----------------------------------------------------------------------------
-// Timestamp trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef TIMESTAMP_TRACE
-
-    #ifdef TRACE_INTO_FILE
-    
-        #define TIMESTAMP( aCaption )\
-            {\
-            TTime t;\
-            t.HomeTime();\
-            TDateTime dt = t.DateTime();\
-            _LIT( KCaption, aCaption );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend,\
-                _PREFIX_TRACE("[TIMESTAMP] %S %d:%02d:%02d.%d us"),\
-                    &KCaption, dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond() );\
-            }
-
-    #else//TRACE_INTO_FILE not defined
-    
-        #define TIMESTAMP( aCaption )\
-            {\
-            TTime t;\
-            t.HomeTime();\
-            TDateTime dt = t.DateTime();\
-            _LIT( KCaption, aCaption );\
-            RDebug::Print( _PREFIX_TRACE("[TIMESTAMP] %S %d:%02d:%02d.%d us"),\
-                &KCaption, dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond() );\
-            }
-
-    #endif//TRACE_INTO_FILE
-
-#else//TIMESTAMP_TRACE not defined
-
-    #define TIMESTAMP( aCaption )
-
-#endif//TIMESTAMP_TRACE
-
-#ifdef HEAP_TRACE
-
-    #ifdef TRACE_INTO_FILE
-
-        #define HEAP( aMsg )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace );\
-            }
-        #define HEAP_1( aMsg, aP1 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1 );\
-            }
-        #define HEAP_2( aMsg, aP1, aP2 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2 );\
-            }
-        #define HEAP_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3 );\
-            }
-        #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3, aP4 );\
-            }
-
-    #else//TRACE_INTO_FILE not defined
-
-        #define HEAP( aMsg )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace );\
-            }
-        #define HEAP_1( aMsg, aP1 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1 );\
-            }
-        #define HEAP_2( aMsg, aP1, aP2 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2 );\
-            }
-        #define HEAP_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3 );\
-            }
-        #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3, aP4 );\
-            }
-
-    #endif//TRACE_INTO_FILE
-
-#else//HEAP_TRACE not defined
-
-    #define HEAP( aMsg )
-    #define HEAP_1( aMsg, aP1 )
-    #define HEAP_2( aMsg, aP1, aP2 )
-    #define HEAP_3( aMsg, aP1, aP2, aP3 )
-    #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 )
-
-#endif//HEAP_TRACE
-
-#endif
-
--- a/mmserv/radioutility/presetutility/inc/traceconfiguration.hrh	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-* Trace Macro Configurations.
-*
-*/
-
-#ifndef TRACECONFIGURATION_HRH
-#define TRACECONFIGURATION_HRH
-
-//-----------------------------------------------------------------------------
-// Trace definitions
-//-----------------------------------------------------------------------------
-//
-
-/**
-* Error trace enabled
-*/
-#ifdef _DEBUG
-    #define ERROR_TRACE
-#else
-    #undef ERROR_TRACE
-#endif
-
-/**
-* Info trace enabled
-*/
-#ifdef _DEBUG
-    #define INFO_TRACE
-#else
-    #undef INFO_TRACE
-#endif
-
-/**
-* Timestamp tracing on
-*/
-#ifdef _DEBUG
-    #define TIMESTAMP_TRACE
-#else
-    #undef TIMESTAMP_TRACE
-#endif
-
-/**
-* Tracing current client process and thread
-*/
-#ifdef _DEBUG
-    #define CLIENT_TRACE
-#else
-    #undef CLIENT_TRACE
-#endif
-
-/**
-* Function trace enabled
-*/
-#ifdef _DEBUG
-    #define FUNC_TRACE
-#else
-    #undef FUNC_TRACE
-#endif
-
-/**
-* Tracing into file enabled, default RDebug
-*/
-#undef TRACE_INTO_FILE
-
-#endif
-
--- a/mmserv/radioutility/presetutility/rom/fmpresetutility.iby	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  IBY file for the FmPresetUtility
-*
-*/
-
-
-#ifndef FMPRESETUTILITY_IBY
-#define FMPRESETUTILITY_IBY
-
-file=ABI_DIR\BUILD_DIR\fmPresetUtility.dll SHARED_LIB_DIR\fmPresetUtility.dll
-
-// Backup
-//data=ZPRIVATE\10207B87\backup_registration.xml        PRIVATE\10207B87\backup_registration.xml
-
-#endif // FMPRESETUTILITY_IBY
-
-//  End of File
--- a/mmserv/radioutility/presetutility/rom/presetutility.iby	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  IBY file for the presetutility
-*
-*/
-
-
-#ifndef PRESETUTILITY_IBY
-#define PRESETUTILITY_IBY
-
-file=ABI_DIR\BUILD_DIR\presetutility.dll SHARED_LIB_DIR\presetutility.dll
-
-// Backup
-data=ZPRIVATE\10207B87\backup_registration.xml        PRIVATE\10207B87\backup_registration.xml
-
-#endif // PRESETUTILITY_IBY
-
-//  End of File
--- a/mmserv/radioutility/presetutility/src/cenrepbookkeeping.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-*
-*
-*/
-
-#include <s32mem.h> // RWriteStream, RReadStream
-
-#include "cenrepbookkeeping.h"
-#include "trace.h"
-
-
-const TUint8 KNbrOfBitsPerByte = 8;
-
-
-#define BITSPERLWORD ( sizeof(iBookKeepingData.iUsedIndexLWords[0]) * KNbrOfBitsPerByte)
-
-
-// ============= MEMBER FUNCTIONS ==============
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CCenrepBookKeeping::CCenrepBookKeeping()
-    {
-    FUNC_LOG;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CCenrepBookKeeping::~CCenrepBookKeeping()
-    {
-    FUNC_LOG;
-    Clear();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CCenrepBookKeeping::PresetCount() const
-    {
-    FUNC_LOG;
-    return iBookKeepingData.iCount;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CCenrepBookKeeping::FirstIndex() const
-    {
-    FUNC_LOG;
-    TInt retIndex( KErrGeneral );
-    TUint32 bitMask( 0 );
-    for ( TInt lwordOffset = 0; ; ++lwordOffset)
-        {
-        if ( 0 !=iBookKeepingData.iUsedIndexLWords[lwordOffset] )
-            {
-            bitMask = 1;
-            for ( TUint8 bitOffset( 0 ); BITSPERLWORD > bitOffset; ++bitOffset )
-                {
-                if ( KMaxNumberOfPresetStations <= ( ( BITSPERLWORD * lwordOffset ) + bitOffset ) )
-                    {
-                    retIndex = KErrNotFound;
-                    break;
-                    }
-                if ( 0 != ( iBookKeepingData.iUsedIndexLWords[lwordOffset] & bitMask) )
-                    {
-                    retIndex = ( BITSPERLWORD * lwordOffset ) + bitOffset;
-                    break;
-                    }
-                bitMask = bitMask << 1;                
-                }
-            }
-        else if ( KMaxNumberOfPresetStations < ( BITSPERLWORD * (lwordOffset + 1) ) )
-            {
-            retIndex = KErrNotFound;
-            break;            
-            }
-        if ( KErrGeneral != retIndex )
-            {
-            break;
-            }
-        }
-    INFO_1( "retIndex: %i", retIndex );
-    return retIndex;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CCenrepBookKeeping::NextIndex( TInt aFromIndex )
-    {
-    FUNC_LOG;
-    TInt retIndex( KErrGeneral );
-    TInt startIndex( aFromIndex + 1 );
-    TUint32 bitMask( 0 );
-    TUint8 bitOffset( 0 );
-    for ( TInt lwordOffset(startIndex/BITSPERLWORD); ; ++lwordOffset)
-        {
-        if ( lwordOffset == (startIndex/BITSPERLWORD) )
-            {
-            bitMask = 1 << (startIndex%BITSPERLWORD);
-            bitOffset = (startIndex%BITSPERLWORD);
-            }
-        else
-            {
-            bitMask = 1;
-            bitOffset = 0;
-            }
-        if ( 0 !=iBookKeepingData.iUsedIndexLWords[lwordOffset] )
-            {            
-            for ( ; BITSPERLWORD > bitOffset; ++bitOffset )
-                {
-                if ( KMaxNumberOfPresetStations <=  ( ( BITSPERLWORD * lwordOffset ) + bitOffset ) )
-                    {
-                    retIndex = KErrNotFound;
-                    break;
-                    }
-                if ( 0 != ( iBookKeepingData.iUsedIndexLWords[lwordOffset] & bitMask) )
-                    {
-                    retIndex = ( BITSPERLWORD * lwordOffset ) + bitOffset;
-                    break;
-                    }
-                bitMask = bitMask << 1;                
-                }
-            }
-        else if ( KMaxNumberOfPresetStations < ( BITSPERLWORD * (lwordOffset + 1) ) )
-            {
-            retIndex = KErrNotFound;
-            break;            
-            }
-        if ( KErrGeneral != retIndex )
-            {
-            break;
-            }
-        }
-    INFO_1( "retIndex: %i", retIndex );
-    return retIndex;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CCenrepBookKeeping::AddIndex( const TInt aIndex )
-    {
-    FUNC_LOG;
-    if  (
-        ( KMaxNumberOfPresetStations >iBookKeepingData.iCount ) &&
-        ( !IsIndexUsed( aIndex ) )
-    )
-        {
-        TInt lwordOffset(aIndex/BITSPERLWORD);
-        TUint bitOffset( (aIndex%BITSPERLWORD) );
-        TUint32 bitMask( 1 );
-        bitMask  = bitMask << bitOffset;
-       iBookKeepingData.iUsedIndexLWords[lwordOffset] |= bitMask;    
-        ++iBookKeepingData.iCount;       
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CCenrepBookKeeping::RemoveIndex( const TInt aIndex )
-    {
-    FUNC_LOG;
-    if  ( 
-        ( 0 <iBookKeepingData.iCount ) &&
-        ( IsIndexUsed( aIndex ) )
-    ) 
-        {
-        TInt lwordOffset(aIndex/BITSPERLWORD);
-        TUint bitOffset( (aIndex%BITSPERLWORD) );
-        TUint32 bitMask( 1 );
-        bitMask = bitMask << bitOffset;
-        bitMask = ~bitMask;
-       iBookKeepingData.iUsedIndexLWords[lwordOffset] &= bitMask;    
-        --iBookKeepingData.iCount;       
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CCenrepBookKeeping::Clear()
-    {
-    FUNC_LOG;
-    for ( TInt lwordOffset(0); LENGTHOFUSEDINDEXLWORDSARRAY > lwordOffset; ++lwordOffset)
-        {
-       iBookKeepingData.iUsedIndexLWords[lwordOffset] = 0;
-        }
-   iBookKeepingData.iCount = 0;    
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CCenrepBookKeeping::FindUnusedIndex() const
-    {
-    FUNC_LOG;
-    TInt retIndex( KErrGeneral );
-    TUint32 bitMask( 0 );
-    for ( TInt lwordOffset = 0; ; ++lwordOffset)
-        {
-        if ( 0xFFFFFFFF !=iBookKeepingData.iUsedIndexLWords[lwordOffset] )
-            {
-            bitMask = 1;
-            for ( TUint8 bitOffset = 0; BITSPERLWORD > bitOffset; ++bitOffset )
-                {
-                if ( KMaxNumberOfPresetStations <=  ( ( BITSPERLWORD * lwordOffset ) + bitOffset ) )
-                    {
-                    retIndex = KErrNotFound;
-                    break;
-                    }
-                if ( 0 == ( iBookKeepingData.iUsedIndexLWords[lwordOffset] & bitMask) )
-                    {
-                    retIndex = ( BITSPERLWORD * lwordOffset ) + bitOffset;
-                    break;
-                    }
-                bitMask = bitMask << 1;                
-                }
-            }
-        else if ( KMaxNumberOfPresetStations < ( BITSPERLWORD * (lwordOffset + 1) ) )
-            {
-            retIndex = KErrNotFound;
-            break;            
-            }
-        if ( KErrGeneral != retIndex )
-            {
-            break;
-            }
-        }
-    INFO_1( "retIndex: %i", retIndex );
-    return retIndex;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CCenrepBookKeeping::IsIndexUsed( const TInt aIndex )
-    {
-    FUNC_LOG;
-    TInt lwordOffset(aIndex/BITSPERLWORD);
-    TUint bitOffset( (aIndex%BITSPERLWORD) );
-    TUint32 bitMask( 1 );
-    bitMask = bitMask << bitOffset;
-    return ( iBookKeepingData.iUsedIndexLWords[lwordOffset] & bitMask);    
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TPtr8 CCenrepBookKeeping::BookKeepingData()
-    {
-    TPtr8 bookKeepingData( (TUint8*)&iBookKeepingData, sizeof( iBookKeepingData ), sizeof( iBookKeepingData ) );
-    return bookKeepingData;
-    }
--- a/mmserv/radioutility/presetutility/src/cenrephandler.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,390 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-*
-*
-*/
-
-
-// System includes
-#include <centralrepository.h>
-#include <s32mem.h>
-
-// User includes
-#include "cenrephandler.h"
-#include "presetcrkeys.h"
-#include <preset.h>
-#include "cenrepbookkeeping.h"
-#include "trace.h"
-
-
-class TChannelIndexList
-    {
-public:
-    TInt iChannelIndex;
-    TInt iNameIndex;
-    TInt iFrequencyIndex;
-    TInt iUrlIndex;
-    TInt iRestOfParametersIndex;
-    };
-
-// ============= STATIC FUNCTIONS ==============
-
-static TInt CalculateChannelIndexes( const TInt aChannelIndex,  TChannelIndexList& aChannelIndexList)
-    {
-    FUNC_LOG;
-    TInt err( KErrNone );
-    if ( ( KMaxNumberOfPresetStations <= aChannelIndex ) ||
-            ( 0 >  aChannelIndex ) )
-        {
-        err = KErrArgument;
-        }
-    else
-        {
-        aChannelIndexList.iChannelIndex = 
-         KRadioPresetChannel1 + ( KNbrOfParametersPerChannelSequence * aChannelIndex );
-        aChannelIndexList.iNameIndex =
-            aChannelIndexList.iChannelIndex + KChannelNameOffset;        
-        aChannelIndexList.iFrequencyIndex =
-            aChannelIndexList.iChannelIndex + KFrequencyOffset;        
-        aChannelIndexList.iUrlIndex =
-            aChannelIndexList.iChannelIndex + KUrlOffset;        
-        aChannelIndexList.iRestOfParametersIndex =
-            aChannelIndexList.iChannelIndex + KRestOfParametersOffset;
-        }
-    return err;
-    }
-
-// ============= MEMBER FUNCTIONS ==============
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CCenrepHandler::CCenrepHandler()
-    {
-    FUNC_LOG;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CCenrepHandler::ConstructL()
-    {
-    FUNC_LOG;
-    iCentralRepository = CRepository::NewL( KCRUidPresetUtility );
-    iBookKeeping = new (ELeave) CCenrepBookKeeping;
-    ReadBookKeepingL();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CCenrepHandler* CCenrepHandler::NewL()
-    {
-    FUNC_LOG;
-    CCenrepHandler* self = new (ELeave) CCenrepHandler();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CCenrepHandler::~CCenrepHandler()
-    {
-    FUNC_LOG;
-    delete iCentralRepository;
-    delete iBookKeeping;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CCenrepHandler::MaxPresetCount() const
-    {
-    FUNC_LOG;
-    return KMaxNumberOfPresetStations;
-    }
-
-// -----------------------------------------------------------------------------
-// Get the current number of presets
-// -----------------------------------------------------------------------------
-//
-TInt CCenrepHandler::PresetCount() const
-    {
-    FUNC_LOG;
-    return iBookKeeping->PresetCount();
-    }
-
-// -----------------------------------------------------------------------------
-// Gets the first preset
-// -----------------------------------------------------------------------------
-//
-TInt CCenrepHandler::FirstPreset() const
-    {
-    FUNC_LOG;
-    return iBookKeeping->FirstIndex();
-    }
-
-// -----------------------------------------------------------------------------
-// Get the next preset index that has been set, given the current index
-// -----------------------------------------------------------------------------
-//
-TInt CCenrepHandler::NextPreset( TInt aFromIndex ) const
-    {
-    FUNC_LOG;
-    return iBookKeeping->NextIndex( aFromIndex );
-    }
-
-// -----------------------------------------------------------------------------
-// Delete the current preset
-// -----------------------------------------------------------------------------
-//
-TInt CCenrepHandler::DeletePreset( TInt aIndex )
-    {
-    FUNC_LOG;
-    TInt err( KErrNone );
-    if ( -1 == aIndex )
-        {
-        // Delete all
-        TChannelIndexList channelIndexList;
-        for (  TInt j( FirstPreset() ); 0 <= j;  j = FirstPreset() )
-            {
-            INFO_1("Deleting index: %i", j );
-            if ( KErrNone == CalculateChannelIndexes( j, channelIndexList ) )
-                {                
-                iCentralRepository->Delete( channelIndexList.iNameIndex );    
-                iCentralRepository->Delete( channelIndexList.iFrequencyIndex );   
-                iCentralRepository->Delete( channelIndexList.iUrlIndex );
-                iCentralRepository->Delete( channelIndexList.iRestOfParametersIndex );
-                iBookKeeping->RemoveIndex( j );        
-                }
-            }
-        }
-    else
-        {
-        TChannelIndexList channelIndexList;
-        err = CalculateChannelIndexes( aIndex, channelIndexList );
-        if ( KErrNone == err )
-            {
-            iCentralRepository->Delete( channelIndexList.iNameIndex );    
-            iCentralRepository->Delete( channelIndexList.iFrequencyIndex );   
-            iCentralRepository->Delete( channelIndexList.iUrlIndex );
-            iCentralRepository->Delete( channelIndexList.iRestOfParametersIndex );
-            iBookKeeping->RemoveIndex( aIndex );        
-            }
-        }
-    if ( KErrNone == err )
-        {
-        SaveBookKeeping();
-        }
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CCenrepHandler::SavePresetL( const TPreset& aPreset, TInt aIndex )
-    {
-    FUNC_LOG;
-    if ( 0 > aIndex )
-        {
-        aIndex = iBookKeeping->FindUnusedIndex();
-        }
-    if ( 0 > aIndex )
-        {
-        User::Leave( KErrDiskFull ); // Not really a good code for this
-        }
-    TChannelIndexList channelIndexList;
-    User::LeaveIfError( CalculateChannelIndexes( aIndex, channelIndexList) );
-
-    // First save name to its own key in the key sequence.
-    User::LeaveIfError( iCentralRepository->Set( channelIndexList.iNameIndex, aPreset.Name() ) );
-
-    // Frequency  to its own key in the key sequence.
-    User::LeaveIfError( iCentralRepository->Set( channelIndexList.iFrequencyIndex, (TInt)aPreset.Frequency() ) );
-
-    // Url to its own key in the key sequence.
-    User::LeaveIfError( iCentralRepository->Set( channelIndexList.iUrlIndex, aPreset.Url() ) );
-
-    // Then externalize the rest of the data to a common key.
-    TInt err( KErrNone );
-    TInt length( aPreset.MyExternalizedDataSize() );
-    TUint i ( 1 );
-    INFO_1( "aPreset.MyExternalizedDataSize()=%i", length );
-    for ( TBool cont = ( 0 < length ) ? ETrue : EFalse; (cont); cont = ( KErrOverflow == err ) ?  ETrue : EFalse ) 
-        {
-        HBufC8* buf = HBufC8::NewLC( i * length  );
-        TPtr8 bufPtr = buf->Des();
-        RDesWriteStream outStream( bufPtr );
-        CleanupClosePushL( outStream );
-        TRAP( err, aPreset.ExternalizeL( outStream ) );
-        if ( KErrNone == err )
-            {
-            outStream.CommitL();
-            User::LeaveIfError( iCentralRepository->Set( channelIndexList.iRestOfParametersIndex, *buf ) );
-            }
-        else
-            {
-            INFO_2( "SavePresetL bigger buffer (%i) needed than required by aPreset.MyExternalizedDataSize()=%i", i*length, aPreset.MyExternalizedDataSize() );
-            ++i;
-            }
-        CleanupStack::PopAndDestroy( &outStream );
-        CleanupStack::PopAndDestroy( buf );
-        }
-    User::LeaveIfError( err );
-
-    iBookKeeping->AddIndex( aIndex );
-    SaveBookKeeping();
-    return aIndex;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CCenrepHandler::ReadPresetL( TInt aIndex, TPreset& aPreset )
-    {
-    FUNC_LOG;
-
-    // Read name from its own key in the key sequence
-    TChannelIndexList channelIndexList;
-    User::LeaveIfError( CalculateChannelIndexes( aIndex, channelIndexList) );
-    TPresetName tempChannelName;
-    User::LeaveIfError( iCentralRepository->Get(channelIndexList.iNameIndex, tempChannelName ) );
-    aPreset.SetName( tempChannelName );
-
-    // Read frequency from its own key in the key sequence
-    TInt frequency( 0 );
-    User::LeaveIfError( iCentralRepository->Get( channelIndexList.iFrequencyIndex, frequency ) );
-    aPreset.SetFrequency( frequency );
-
-    // Read url from its own key in the key sequence
-    TRadioUrl tempUrlName;
-    TInt err = iCentralRepository->Get( channelIndexList.iUrlIndex, tempUrlName );
-    if ( KErrNone == err )
-        {        
-        aPreset.SetUrl( tempUrlName );
-        }
-    else if ( KErrNotFound == err )
-        {
-        // This is an optional parameter.
-        }
-    else
-        {
-        User::Leave( err );
-        }
-                      
-
-    // Then use the below code to internalize rest of parameters from the common key
-    TInt actualLength( aPreset.MyExternalizedDataSize() );
-    INFO_1( "ReadPresetL aPreset.MyExternalizedDataSize()=%i", actualLength );
-    for ( TBool cont = ( 0 < actualLength ) ? ETrue : EFalse; (cont); cont = ( KErrOverflow == err ) ?  ETrue : EFalse ) 
-        {
-        HBufC8* buf = HBufC8::NewLC( actualLength );
-        TPtr8 bufPtr = buf->Des();
-        err = iCentralRepository->Get( channelIndexList.iRestOfParametersIndex, bufPtr, actualLength );
-        if ( ( KErrNone == err ) && ( 0 < buf->Length() ) )
-            {
-            RDesReadStream inStream;
-            inStream.Open( *buf );
-            CleanupClosePushL( inStream );       
-            aPreset.InternalizeL( inStream );        
-            CleanupStack::PopAndDestroy( &inStream );
-            }
-        else if ( KErrNotFound == err )
-            {
-            // This is not filled by CT tool even though name, frequency and URL might be 
-            // filled for the current channel. Don't leave.
-            INFO_1( "ReadPresetL KErrNotFound, key=%i", channelIndexList.iRestOfParametersIndex );
-            }
-        else if ( KErrOverflow == err )
-            {
-            INFO_2( "ReadPresetL KErrOverflow, buf->Length()=%i actualLength=%i", buf->Length(), actualLength );
-            // Trying again with actual with buffer that can store the whole key
-            }
-        else
-            {
-            User::Leave( err );
-            }
-        CleanupStack::PopAndDestroy(buf);
-        } // for (;;) 
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CCenrepHandler::ReadBookKeepingL()
-    {
-    FUNC_LOG;
-    TPtr8 bufPtr = iBookKeeping->BookKeepingData();
-
-    TInt err( iCentralRepository->Get( KRadioBookKeepingLocation, bufPtr ) );
-    if ( KErrNotFound == err )
-        {
-        // Bookkeeping does not exist. Search possible preconfigured channels.
-        ReadPreDefinedPresetsL();
-        err = KErrNone;
-        }
-    User::LeaveIfError( err );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CCenrepHandler::SaveBookKeeping()
-    {
-    FUNC_LOG;
-    TInt err( iCentralRepository->Set( KRadioBookKeepingLocation, iBookKeeping->BookKeepingData() ) );
-    if ( KErrNone !=  err )
-        {
-        INFO_1("Saving of BookKeeping failed with error: %i ", err)
-        // It is better to destroy data that is out of sync
-        iCentralRepository->Delete( KRadioBookKeepingLocation );
-        // Go on with local bookkeeping data
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CCenrepHandler::ReadPreDefinedPresetsL()
-    {
-    FUNC_LOG;
-    TInt frequency ( 0 );
-    TInt err( KErrNone );
-    TChannelIndexList channelIndexList;
-    iBookKeeping->Clear();
-    for(TInt index = 0; index < KMaxNumberOfPresetStations; index++)
-        {
-        User::LeaveIfError( CalculateChannelIndexes( index, channelIndexList) );
-        err = iCentralRepository->Get( channelIndexList.iFrequencyIndex, frequency );
-        if ( KErrNone ==  err )
-            {
-            iBookKeeping->AddIndex( index );
-            }
-        } 
-    SaveBookKeeping();
-    }
--- a/mmserv/radioutility/presetutility/src/old_api/radiofmpresetcentralrepositoryhandler.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Contains a dummy implementation of the CCentralRepositoryHandler class. 
-*
-*/
-
-
-//  INCLUDE FILES
-#include "radiofmpresetcentralrepositoryhandler.h"
-#include "trace.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ----------------------------------------------------
-// CCentralRepositoryHandler::CCentralRepositoryHandler
-// Default class constructor.
-// ----------------------------------------------------
-//
-CCentralRepositoryHandler::CCentralRepositoryHandler()
-    {
-    FUNC_LOG;
-    }
-
-
-// ----------------------------------------------------
-// CCentralRepositoryHandler::NewL
-// Two-phased class constructor.
-// ----------------------------------------------------
-//
-CCentralRepositoryHandler* CCentralRepositoryHandler::NewL()
-    {
-    FUNC_LOG;
-    CCentralRepositoryHandler *self = new(ELeave) CCentralRepositoryHandler();
-    return self;
-    }
-
-// ----------------------------------------------------
-// CCentralRepositoryHandler::~CCentralRepositoryHandler
-// Destructor of CCentralRepositoryHandler class.
-// ----------------------------------------------------
-//
-CCentralRepositoryHandler::~CCentralRepositoryHandler()
-    {
-    FUNC_LOG;
-    }
-
-// end of file
--- a/mmserv/radioutility/presetutility/src/old_api/radiofmpresetcentralrepositoryhandler.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Defines APIs to communicate with Central Repository
-*
-*/
-
-
-#ifndef RADIOFMPRESETCENTRALREPOSITORYHANDLER_H
-#define RADIOFMPRESETCENTRALREPOSITORYHANDLER_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CLASS DECLARATION
-
-/**
-*  it is a wrapper of Central Repository, responsible for the operations that need to access 
-*  the central respositorhy.
-*
-*  @lib FmPresetUtility.lib
-*  @since Series 60 3.0_version
-*/
-class CCentralRepositoryHandler : public CBase
-    {
-    public:
-      	/**
-      	* Two-phased class constructor.
-      	*/
-        static CCentralRepositoryHandler* NewL();
-      	/**
-      	* Destructor of CCentralRepositoryHandler class.
-      	*/
-        virtual ~CCentralRepositoryHandler();
-              
-    private:
-      	/**
-      	* Default class constructor.
-      	*/
-        CCentralRepositoryHandler();
-    };
-
-#endif  // RADIOFMPRESETCENTRALREPOSITORYHANDLER_H
-
-// end of file
--- a/mmserv/radioutility/presetutility/src/old_api/radiofmpresetutility.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,354 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Contains implementation of the CRadioFmPresetUtility class,
-*                 which controlls the presets for an FM tuner.
-*/
-
-
-#include <RadioPresetUtility.h>
-#include <RadioFmPresetUtility.h>
-#include "presetutilitybody.h"
-#include <preset.h>
-#include "trace.h"
-
-// #############################################################################
-// This file has been deprecated! It is kept only for BC compatibility purposes
-// Please use the new API instead of this one
-// #############################################################################
-
-// Dummy body
-class CRadioFmPresetUtility::CBody : public CBase,
-                                     public MRadioPreset,
-                                     public MRadioFmPreset
-    {
-public:
-    ~CBody();
-    CBody();
-    };
-CRadioFmPresetUtility::CBody::CBody() {}
-CRadioFmPresetUtility::CBody::~CBody() {}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CRadioFmPresetUtility* CRadioFmPresetUtility::NewL( MRadioPresetObserver& aObserver )
-    {
-    FUNC_LOG;
-    CRadioFmPresetUtility* self = new (ELeave) CRadioFmPresetUtility( aObserver );
-    CleanupStack::PushL(self);
-    self->iBody = CPresetUtilityBody::NewL();
-    self->iBody->SetObserver( self );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CRadioFmPresetUtility::~CRadioFmPresetUtility()
-    {
-    FUNC_LOG;
-    delete iBody;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CRadioFmPresetUtility::CRadioFmPresetUtility( MRadioPresetObserver& aObserver ):
-    iObserver( aObserver )
-    {
-    FUNC_LOG;
-    }
-
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::SetPresetL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::SetPresetL( TInt aIndex, const TFmPresetName& aName, TInt aFrequency )
-    {
-    FUNC_LOG;
-    TPreset radioPreset;
-    TInt err( KErrNone );
-    TRAP(err, iBody->ReadPresetL( aIndex, radioPreset ) );
-    if (KErrNotFound == err)
-        {
-        // Preset doesn't need to exist yet.
-        // Handling of err only to get rid of compile warning.
-        err = KErrNone;
-        }
-    User::LeaveIfError(err);
-    radioPreset.SetName( aName );
-    radioPreset.SetFrequency( aFrequency );
-    if ( 0 >= aFrequency )
-        {
-        // aFrequency values 0, -1(Or <=0) means that it is better to destroy
-        // rest of parameters and also URL
-        TFmPresetUrl url;
-        radioPreset.SetUrl( url );
-        radioPreset.SetGenre( 0 );
-        radioPreset.SetPiCode( 0 );
-        radioPreset.SetLocalStation( 0 );
-        radioPreset.SetFavorite( EFalse );
-        radioPreset.SetRenamedByUser( EFalse );             
-        }
-    User::LeaveIfError( iBody->SavePresetL( radioPreset, aIndex ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::SetPresetUrlL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::SetPresetUrlL( TInt aIndex, const TFmPresetUrl& aUrl )
-    {
-    FUNC_LOG;
-    TPreset radioPreset;
-    iBody->ReadPresetL( aIndex, radioPreset );
-    radioPreset.SetUrl( aUrl );
-    User::LeaveIfError( iBody->SavePresetL( radioPreset, aIndex ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::SetPresetPtyL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::SetPresetPtyL( TInt aIndex, TUint aPty )
-    {
-    FUNC_LOG;
-    TPreset radioPreset;
-    iBody->ReadPresetL( aIndex, radioPreset );
-    radioPreset.SetGenre( aPty );
-    User::LeaveIfError( iBody->SavePresetL( radioPreset, aIndex ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::SetPresetPICodeL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::SetPresetPICodeL( TInt aIndex, TUint aPICode )
-    {
-    FUNC_LOG;
-    TPreset radioPreset;
-    iBody->ReadPresetL( aIndex, radioPreset );
-    radioPreset.SetPiCode( aPICode );
-    User::LeaveIfError( iBody->SavePresetL( radioPreset, aIndex ) );
-    }
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::SetPresetFavouriteInfoL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::SetPresetFavouriteInfoL( TInt aIndex, TBool aFavourite )
-    {
-    FUNC_LOG;
-    TPreset radioPreset;
-    iBody->ReadPresetL( aIndex, radioPreset );
-    radioPreset.SetFavorite( aFavourite );
-    User::LeaveIfError( iBody->SavePresetL( radioPreset, aIndex ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::SetPresetUserRenameInfoL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::SetPresetUserRenameInfoL( TInt aIndex, TBool aRename )
-    {
-    FUNC_LOG;
-    TPreset radioPreset;
-    iBody->ReadPresetL( aIndex, radioPreset );
-    radioPreset.SetRenamedByUser( aRename );
-    User::LeaveIfError( iBody->SavePresetL( radioPreset, aIndex ) );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::GetPresetL( TInt aIndex, TFmPresetName& aName, TInt& aFrequency )
-    {
-    FUNC_LOG;
-    TPreset preset;
-    iBody->ReadPresetL( aIndex, preset );
-    aName.Copy( preset.Name() );
-    aFrequency = preset.Frequency();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::GetPresetNameL( TInt aIndex, TFmPresetName& aName)
-    {
-    FUNC_LOG;
-    TInt unused;
-    GetPresetL( aIndex, aName, unused );
-    }
-
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::GetPresetUrlL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-EXPORT_C void CRadioFmPresetUtility::GetPresetUrlL( TInt aIndex, TFmPresetUrl& aUrl)
-    {
-    FUNC_LOG;
-    TPreset radioPreset;
-    iBody->ReadPresetL( aIndex, radioPreset);
-    aUrl.Copy( radioPreset.Url() );
-    }
-
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::GetPresetPtyL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-EXPORT_C void CRadioFmPresetUtility::GetPresetPtyL( TInt aIndex, TUint& aPty)
-    {
-    FUNC_LOG;
-    TPreset radioPreset;
-    iBody->ReadPresetL( aIndex, radioPreset);
-    aPty = radioPreset.Genre();
-    }
-
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::GetPresetPICodeL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-EXPORT_C void CRadioFmPresetUtility::GetPresetPICodeL( TInt aIndex, TUint& aPICode)
-    {
-    FUNC_LOG;
-    TPreset radioPreset;
-    iBody->ReadPresetL( aIndex, radioPreset);
-    aPICode = radioPreset.PiCode();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::GetPresetFavouriteInfoL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-EXPORT_C void CRadioFmPresetUtility::GetPresetFavouriteInfoL( TInt aIndex, TBool& aFavourite)
-    {
-    FUNC_LOG;
-    TPreset radioPreset;
-    iBody->ReadPresetL( aIndex, radioPreset);
-    aFavourite = radioPreset.Favorite();
-    }
-
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::GetPresetUserRenameInfoL
-// 
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-EXPORT_C void CRadioFmPresetUtility::GetPresetUserRenameInfoL( TInt aIndex, TBool& aRename)
-    {
-    FUNC_LOG;
-    TPreset preset;
-    iBody->ReadPresetL( aIndex, preset);
-    aRename = preset.RenamedByUser();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::GetPresetFrequencyL( TInt aIndex, TInt& aFrequency)
-    {
-    FUNC_LOG;
-    TPreset preset;
-    iBody->ReadPresetL( aIndex, preset );
-    aFrequency = preset.Frequency();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRadioFmPresetUtility::GetMaxNumberOfPresets( TInt& aMaxNumOfPresets ) const
-    {
-    FUNC_LOG;
-    aMaxNumOfPresets = iBody->MaxNumberOfPresets();
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CRadioFmPresetUtility::GetNumberOfPresets( TInt& aNumOfPresets ) const
-    {
-    FUNC_LOG;
-    aNumOfPresets = iBody->PresetCount();
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::GetFirstPresetL( TInt& aIndex) const
-    {
-    FUNC_LOG;
-    aIndex = iBody->FirstPreset();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::GetNextPresetL( TInt aIndex, TInt& aNextIndex ) const
-    {
-    FUNC_LOG;
-    aNextIndex = iBody->NextPreset( aIndex );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CRadioFmPresetUtility::DeletePresetL( TInt aIndex )
-    {
-    FUNC_LOG;
-    User::LeaveIfError( iBody->DeletePreset( aIndex ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CRadioFmPresetUtility::PresetChanged()
-// Returns: None
-// -----------------------------------------------------------------------------
-void CRadioFmPresetUtility::PresetChanged( TPresetChangeEvent aChange, TInt aIndex )
-    {
-    FUNC_LOG;
-    iObserver.MrpeoPresetChanged( (MRadioPresetObserver::TPresetChangeEvent)aChange, aIndex );
-    }
--- a/mmserv/radioutility/presetutility/src/preset.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-*
-*
-*/
-
-
-//  INCLUDES
-#include <s32mem.h> // RWriteStream, RReadStream
-
-#include <preset.h>
-#include "trace.h"
-
-/**
- * On/Off type flags
- *
- * Bit shifting in the value initialization is used to easily create
- * progressing bit patterns like so:
- *  1 << 0 equals 0001 equals 0x1
- *  1 << 1 equals 0010 equals 0x2
- *  1 << 2 equals 0100 equals 0x4
- *  1 << 3 equals 1000 equals 0x8
- */
-enum TFlagValues
-    {
-     EFavorite       = 1 << 0
-    ,ELocalStation   = 1 << 1
-    ,ERenamedByUser  = 1 << 2
-    };
-
-// ============== LOCAL FUNCTIONS ===============
-
-/**
- * Normalize return value from TBitFlags to ETrue or EFalse values
- * Two negations: 16 => 0 => 1
- */
-static TBool NormalizeBool( TBool aBool )
-    {
-    return !( !aBool );
-    }
-
-const TUint8 KNbrOfMyExternalizedUint32Items = 3;
-
-// ============= MEMBER FUNCTIONS ==============
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPreset::TPreset()
-    : iPresetFrequency( 0 )
-    {
-    FUNC_LOG;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the channel frequency
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint TPreset::Frequency() const
-    {
-    FUNC_LOG;
-    return iPresetFrequency;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the channel name
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPtrC TPreset::Name() const
-    {
-    FUNC_LOG;
-    return TPtrC( iPresetName );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPtrC TPreset::Url() const
-    {
-    FUNC_LOG;
-    return TPtrC( iUrl );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Sets the channel name
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TPreset::SetName( const TPresetName& aStationName )
-    {
-    FUNC_LOG;
-    iPresetName = aStationName;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the channel frequency
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TPreset::SetFrequency( const TUint aFrequency )
-    {
-    FUNC_LOG;
-    iPresetFrequency = aFrequency;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TPreset::SetUrl( const TRadioUrl& aUrl )
-    {
-    FUNC_LOG;
-    iUrl = aUrl;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TPreset::SetFavorite( TBool aFavorite )
-    {
-    FUNC_LOG;
-    iFlags.Assign( EFavorite, aFavorite );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool TPreset::Favorite() const
-    {
-    FUNC_LOG;
-    // Normalize return value from TBitFlags to 1 or 0 just in case
-    // Two negations: 16 => 0 => 1
-    return NormalizeBool( iFlags.IsSet( EFavorite ) );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TPreset::SetLocalStation( TBool aLocalStation )
-    {
-    FUNC_LOG;
-    iFlags.Assign( ELocalStation, aLocalStation );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool TPreset::LocalStation() const
-    {
-    FUNC_LOG;
-    // Normalize return value from TBitFlags to 1 or 0 just in case
-    // Two negations: 16 => 0 => 1
-    return NormalizeBool( iFlags.IsSet( ELocalStation ) );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TPreset::SetRenamedByUser( TBool aRenamed )
-    {
-    FUNC_LOG;
-    iFlags.Assign( ERenamedByUser, aRenamed );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool TPreset::RenamedByUser() const
-    {
-    FUNC_LOG;
-    // Normalize return value from TBitFlags to 1 or 0 just in case
-    // Two negations: 16 => 0 => 1
-    return NormalizeBool( iFlags.IsSet( ERenamedByUser ) );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TPreset::SetGenre( TInt aGenre )
-    {
-    FUNC_LOG;
-    iGenre = aGenre;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt TPreset::Genre() const
-    {
-    FUNC_LOG;
-    return iGenre;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TPreset::SetPiCode( TInt aPiCode )
-    {
-    FUNC_LOG;
-    iPiCode = aPiCode;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt TPreset::PiCode() const
-    {
-    FUNC_LOG;
-    return iPiCode;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint TPreset::MyExternalizedDataSize() const
-    {
-    FUNC_LOG;
-    return ( KNbrOfMyExternalizedUint32Items * sizeof(TUint32) );
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TPreset::ExternalizeL( RWriteStream& aStream ) const
-    {
-    FUNC_LOG;
-    aStream.WriteUint32L( iGenre );
-    aStream.WriteUint32L( iPiCode );
-    aStream.WriteUint32L( iFlags.Value() );
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TPreset::InternalizeL( RReadStream& aStream )
-    {
-    FUNC_LOG;
-    iGenre = aStream.ReadUint32L();
-    iPiCode = aStream.ReadUint32L();
-    iFlags = TBitFlags( aStream.ReadUint32L() );
-
-    }
--- a/mmserv/radioutility/presetutility/src/presetutility.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-*
-*
-*/
-
-#include <presetutility.h>
-#include "presetutilitybody.h"
-#include "trace.h"
-
-// ============= MEMBER FUNCTIONS ==============
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPresetUtility* CPresetUtility::NewL()
-    {
-    FUNC_LOG;
-    return CPresetUtilityBody::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPresetUtility::~CPresetUtility()
-    {
-    FUNC_LOG;
-    }
--- a/mmserv/radioutility/presetutility/src/presetutilitybody.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-*
-*
-*/
-
-#include "presetutilitybody.h"
-#include "cenrephandler.h"
-#include "presetcrkeys.h"
-#include <presetutilityobserver.h>
-#include "trace.h"
-
-
-// ============= MEMBER FUNCTIONS ==============
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPresetUtilityBody* CPresetUtilityBody::NewL()
-    {
-    FUNC_LOG;
-    CPresetUtilityBody* self = new (ELeave) CPresetUtilityBody();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CPresetUtilityBody::CPresetUtilityBody()
-    {
-    FUNC_LOG;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPresetUtilityBody::~CPresetUtilityBody()
-    {
-    FUNC_LOG;
-    delete iCenrepHandler;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPresetUtilityBody::ConstructL()
-    {
-    FUNC_LOG;
-    iCenrepHandler = CCenrepHandler::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPresetUtilityBody::SetObserver( MPresetUtilityObserver* aObserver )
-    {
-    FUNC_LOG;
-    iObserver = aObserver;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CPresetUtilityBody::MaxNumberOfPresets() const
-    {
-    FUNC_LOG;
-    return iCenrepHandler->MaxPresetCount();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CPresetUtilityBody::PresetCount() const
-    {
-    FUNC_LOG;
-    return iCenrepHandler->PresetCount();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CPresetUtilityBody::FirstPreset() const
-    {
-    FUNC_LOG;
-    return iCenrepHandler->FirstPreset();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CPresetUtilityBody::NextPreset( TInt aFromIndex ) const
-    {
-    return iCenrepHandler->NextPreset( aFromIndex );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CPresetUtilityBody::DeletePreset( TInt aIndex )
-    {
-    FUNC_LOG;
-    TInt err( iCenrepHandler->DeletePreset( aIndex ) );
-    if ( iObserver )
-        {
-        iObserver->PresetChanged( MPresetUtilityObserver::EPresetDeleted, aIndex );
-        }
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CPresetUtilityBody::SavePresetL( const TPreset& aPreset, TInt aIndex )
-    {
-    FUNC_LOG;
-    TInt usedIndex = iCenrepHandler->SavePresetL( aPreset, aIndex );
-    if ( iObserver )
-        {
-        iObserver->PresetChanged( MPresetUtilityObserver::EPresetAdded, aIndex );
-        }
-    return usedIndex;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPresetUtilityBody::ReadPresetL( TInt aIndex, TPreset& aPreset )
-    {
-    FUNC_LOG;
-    iCenrepHandler->ReadPresetL( aIndex, aPreset );
-    }
--- a/mmserv/radioutility/presetutility/tsrc/Bmarm/PresetUtilityTestModuleU.DEF	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/mmserv/radioutility/presetutility/tsrc/Bwins/PresetUtilityTestModuleU.DEF	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/mmserv/radioutility/presetutility/tsrc/EABI/PresetUtilityTestModuleU.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
Binary file mmserv/radioutility/presetutility/tsrc/cenrep/10207B87.txt has changed
Binary file mmserv/radioutility/presetutility/tsrc/cenrep/presetutility.confml has changed
Binary file mmserv/radioutility/presetutility/tsrc/cenrep/presetutility_10207B87.crml has changed
Binary file mmserv/radioutility/presetutility/tsrc/conf/10207B87.txt has changed
--- a/mmserv/radioutility/presetutility/tsrc/conf/PresetUtilityTestModule.cfg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,698 +0,0 @@
-[Define]
-ChannelNameNull "EMPTYSTRING"
-ChannelFrequencyNull 0
-ChannelUrlNull "EMPTYSTRING"
-ChannelName0 "Radio Pop"
-ChannelFrequency0 104000000
-ChannelUrl0 "www.radiopop.fi"
-ChannelName1 "Radio Soul"
-ChannelFrequency1 97500000
-ChannelUrl1 "www.radiosoul.fi"
-ChannelName2 "Radio Rock"
-ChannelFrequency2 91300000
-ChannelUrl2 "www.radiorock.fi"
-ChannelName3 "Radio Humppa"
-ChannelFrequency3 11300000
-ChannelUrl3 "www.radiohumppa.fi"
-KErrNotFound				-1
-KErrGeneral                 -2
-KErrArgument				-6
-KErrDiskFull				-26
-KErrBadTestParameter		-1000
-KErrEventPending			-2000
-KErrCallbackErrorCode		-2001
-KErrUnexpectedValue			-2002
-KExpectedFrequencyChange	-2003
-KErrTimeoutController		-2007
-[Enddefine]
-
-[Test]
-title Example
-create PresetUtilityTestModule PresetUtility
-PresetUtility Example pa ra me ters
-delete PresetUtility
-[Endtest] 
-
-// Preset Utility API functions' tests
-
-[Test]
-title 1.1 Create PresetUtility
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.1a OOM for creation of PresetUtility
-create PresetUtilityTestModule PresetUtility
-oomignorefailure ON
-loop 9
-oomheapfailnext LOOP_COUNTER
-PresetUtility CreatePresetUtility Preset
-print LOOP_COUNTER
-endloop
-oomignorefailure OFF
-oomheaptonormal
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.2 Get current and max number of preset channels
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-PresetUtility PresetCount 2
-allownextresult 100
-PresetUtility MaxNumberOfPresets
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.3 Get preset channels 1 and 2
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-PresetUtility ReadPresetL 0 ChannelName0 ChannelFrequency0 ChannelUrl0
-PresetUtility ReadPresetL 1 ChannelName1 ChannelFrequency1 ChannelUrl1
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.4 Get first preset channels
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-PresetUtility FirstPreset 0
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.5 Get next preset channels
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-PresetUtility NextPreset 0 1
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.5a Set and delete preset channels x
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-allownextresult 2
-PresetUtility SavePresetL -1 ChannelName2 ChannelFrequency2 ChannelUrl2
-PresetUtility DeletePreset 2
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.5b Read unexisting preset channels x
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-allowerrorcodes KErrArgument
-PresetUtility ReadPresetL 101 ChannelName2 ChannelFrequency2 ChannelUrl2
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.6 Save, Get and Delete preset channels 2 and 3
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-allownextresult 2
-PresetUtility SavePresetL 2 ChannelName2 ChannelFrequency2 ChannelUrl2
-allownextresult 3
-PresetUtility SavePresetL 3 ChannelName3 ChannelFrequency3 ChannelUrl3
-PresetUtility ReadPresetL 2 ChannelName2 ChannelFrequency2 ChannelUrl2
-PresetUtility ReadPresetL 3 ChannelName3 ChannelFrequency3 ChannelUrl3
-PresetUtility DeletePreset 2
-PresetUtility DeletePreset 3
-PresetUtility ReadPresetL 0 ChannelName0 ChannelFrequency0 ChannelUrl0
-PresetUtility ReadPresetL 1 ChannelName1 ChannelFrequency1 ChannelUrl1
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-PresetUtility ReadPresetL 2 ChannelName2 ChannelFrequency2 ChannelUrl2
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-PresetUtility ReadPresetL 3 ChannelName3 ChannelFrequency3 ChannelUrl3
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.7 Save preset channels 3 and 4, delete all 
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-allownextresult 2
-PresetUtility SavePresetL 2 ChannelName2 ChannelFrequency2 ChannelUrl2
-allownextresult 3
-PresetUtility SavePresetL 3 ChannelName3 ChannelFrequency3 ChannelUrl3
-PresetUtility ReadPresetL 2 ChannelName2 ChannelFrequency2 ChannelUrl2
-PresetUtility ReadPresetL 3 ChannelName3 ChannelFrequency3 ChannelUrl3
-PresetUtility DeletePreset -1
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-PresetUtility ReadPresetL 0 ChannelName0 ChannelFrequency0 ChannelUrl0
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-PresetUtility ReadPresetL 1 ChannelName1 ChannelFrequency1 ChannelUrl1
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-PresetUtility ReadPresetL 2 ChannelName2 ChannelFrequency2 ChannelUrl2
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-PresetUtility ReadPresetL 3 ChannelName3 ChannelFrequency3 ChannelUrl3
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.7a Try to delete unexisting channel 
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-allowerrorcodes KErrArgument
-PresetUtility DeletePreset 3
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.8 Try to read from an unexisting and also from an illegal preset index.
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-allowerrorcodes KErrNotFound
-PresetUtility ReadPresetL 44 ChannelNameNull ChannelFrequencyNull ChannelUrlNull
-allowerrorcodes KErrArgument
-PresetUtility ReadPresetL 100 ChannelNameNull ChannelFrequencyNull ChannelUrlNull
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.9 OOM test for SavePresetL.
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-oomignorefailure ON
-loop 7
-oomheapfailnext LOOP_COUNTER
-PresetUtility SavePresetL 3 ChannelName3 ChannelFrequency3 ChannelUrl3
-print LOOP_COUNTER
-endloop
-oomignorefailure OFF
-oomheaptonormal
-PresetUtility DeletePreset 3
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.10 OOM test for ReadPresetL.
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-allownextresult 3
-PresetUtility SavePresetL 3 ChannelName3 ChannelFrequency3 ChannelUrl3
-oomignorefailure ON
-loop 6
-oomheapfailnext LOOP_COUNTER
-PresetUtility ReadPresetL 3 ChannelName3 ChannelFrequency3 ChannelUrl3
-print LOOP_COUNTER
-endloop
-oomignorefailure OFF
-oomheaptonormal
-PresetUtility DeletePreset 3
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.11 OOM test for DeletePreset.
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-allownextresult 3
-PresetUtility SavePresetL 3 ChannelName3 ChannelFrequency3 ChannelUrl3
-oomignorefailure ON
-loop 2
-oomheapfailnext LOOP_COUNTER
-PresetUtility DeletePreset -1
-print LOOP_COUNTER
-endloop
-oomignorefailure OFF
-oomheaptonormal
-PresetUtility DeletePreset -1
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-[Test]
-title 1.12 Add maximum number of presets
-create PresetUtilityTestModule PresetUtility
-PresetUtility CreatePresetUtility Preset
-PresetUtility DeletePreset -1
-loop 10
-print LOOP_COUNTER
-allownextresult 1 2 3 4 5 6 7 8 9 0 
-PresetUtility SavePresetL -1 ChannelName1 ChannelFrequency1
-endloop
-loop 10
-print LOOP_COUNTER
-allownextresult 11 12 13 14 15 16 17 18 19 10 
-PresetUtility SavePresetL -1 ChannelName1 ChannelFrequency1
-endloop
-loop 10
-print LOOP_COUNTER
-allownextresult 21 22 23 24 25 26 27 28 29 20 
-PresetUtility SavePresetL -1 ChannelName1 ChannelFrequency1
-endloop
-loop 10
-print LOOP_COUNTER
-allownextresult 31 32 33 34 35 36 37 38 39 30 
-PresetUtility SavePresetL -1 ChannelName1 ChannelFrequency1
-endloop
-loop 10
-print LOOP_COUNTER
-allownextresult 41 42 43 44 45 46 47 48 49 40
-PresetUtility SavePresetL -1 ChannelName1 ChannelFrequency1
-endloop
-loop 10
-print LOOP_COUNTER
-allownextresult 51 52 53 54 55 56 57 58 59 50 
-PresetUtility SavePresetL -1 ChannelName1 ChannelFrequency1
-endloop
-loop 10
-print LOOP_COUNTER
-allownextresult 61 62 63 64 65 66 67 68 69 60 
-PresetUtility SavePresetL -1 ChannelName1 ChannelFrequency1
-endloop
-loop 10
-print LOOP_COUNTER
-allownextresult 71 72 73 74 75 76 77 78 79 70 
-PresetUtility SavePresetL -1 ChannelName1 ChannelFrequency1
-endloop
-loop 10
-print LOOP_COUNTER
-allownextresult 81 82 83 84 85 86 87 88 89 80 
-PresetUtility SavePresetL -1 ChannelName1 ChannelFrequency1
-endloop
-loop 10
-print LOOP_COUNTER
-allownextresult 91 92 93 94 95 96 97 98 99 90
-PresetUtility SavePresetL -1 ChannelName1 ChannelFrequency1
-endloop
-allowerrorcodes KErrArgument KErrDiskFull
-PresetUtility SavePresetL 100 ChannelName2 ChannelFrequency2
-oomignorefailure ON
-loop 3
-oomheapfailnext LOOP_COUNTER
-allowerrorcodes KErrArgument KErrDiskFull
-PresetUtility SavePresetL -1 ChannelName1 ChannelFrequency1
-PresetUtility DeletePreset 50
-print LOOP_COUNTER
-endloop
-oomignorefailure OFF
-oomheaptonormal
-oomignorefailure ON
-loop 3
-oomheapfailnext LOOP_COUNTER
-PresetUtility DeletePreset -1
-print LOOP_COUNTER
-endloop
-oomignorefailure OFF
-oomheaptonormal
-PresetUtility DeletePreset -1
-PresetUtility DestroyPresetUtility
-delete PresetUtility
-[Endtest]
-
-
-// TRadioPreset class tests 2.1 -->
-
-[Test]
-title 2.1 TRadioPreset, Set and Get PI code
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateRadioPresetL
-FmPresetUtility SetPiCode 7
-FmPresetUtility PiCode 7
-FmPresetUtility SetPiCode 0
-FmPresetUtility PiCode 0
-FmPresetUtility DestroyRadioPreset
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 2.2 TRadioPreset, Set and Get PTY
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateRadioPresetL
-FmPresetUtility SetGenre 7
-FmPresetUtility Genre 7
-FmPresetUtility SetGenre 0
-FmPresetUtility Genre 0
-FmPresetUtility DestroyRadioPreset
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 2.3 TRadioPreset, Set and Get favourite status
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateRadioPresetL
-FmPresetUtility SetFavorite 1
-FmPresetUtility Favorite 1
-FmPresetUtility SetFavorite 0
-FmPresetUtility Favorite 0
-FmPresetUtility SetFavorite 1100
-FmPresetUtility Favorite 1
-FmPresetUtility DestroyRadioPreset
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 2.4 TRadioPreset, Set and Get the local station information.
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateRadioPresetL
-FmPresetUtility SetLocalStation 1
-FmPresetUtility LocalStation 1
-FmPresetUtility SetLocalStation 5612
-FmPresetUtility LocalStation 1
-FmPresetUtility SetLocalStation 0
-FmPresetUtility LocalStation 0
-FmPresetUtility DestroyRadioPreset
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 2.5 TRadioPreset, Set and Get the user rename information.
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateRadioPresetL
-FmPresetUtility SetRenamedByUser 1
-FmPresetUtility RenamedByUser 1
-FmPresetUtility SetRenamedByUser 1100
-FmPresetUtility RenamedByUser 1
-FmPresetUtility SetRenamedByUser 0
-FmPresetUtility RenamedByUser 0
-FmPresetUtility DestroyRadioPreset
-delete FmPresetUtility
-[Endtest]
-
-// Deprecating Fm Preset Utility API functions' tests
-
-[Test]
-title 3.1 Create FmPresetUtility
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility DeletePresetL -1
-FmPresetUtility GetNumberOfPresets 0
-FmPresetUtility SetPresetL 0 ChannelName0 ChannelFrequency0
-FmPresetUtility SetPresetL 1 ChannelName1 ChannelFrequency1
-FmPresetUtility SetPresetUrlL 0 ChannelUrl0
-FmPresetUtility SetPresetUrlL 1 ChannelUrl1
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.2 Get current and max number of presets
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility GetNumberOfPresets 2
-allownextresult 100
-FmPresetUtility GetMaxNumberOfPresets
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.3 Get presets 0 an 1
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility GetPresetL 0 ChannelName0 ChannelFrequency0
-FmPresetUtility GetPresetL 1 ChannelName1 ChannelFrequency1
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.4 Get first preset
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility GetFirstPresetL 0
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.5 Get next preset
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility GetNextPresetL 0 1
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.6 Set and delete preset x
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-allowerrorcodes KErrArgument
-FmPresetUtility SetPresetL -1 ChannelName2 ChannelFrequency2
-allowerrorcodes KErrArgument
-FmPresetUtility DeletePresetL 2
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.7 Read unexisting preset x
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-allowerrorcodes KErrArgument KErrNotFound
-FmPresetUtility GetPresetL 100 ChannelName2 ChannelFrequency2
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.8 Save, Get and Delete presets 2 and 3
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility SetPresetL 2 ChannelName2 ChannelFrequency2
-FmPresetUtility SetPresetL 3 ChannelName3 ChannelFrequency3
-FmPresetUtility GetPresetL 2 ChannelName2 ChannelFrequency2
-FmPresetUtility GetPresetL 3 ChannelName3 ChannelFrequency3
-FmPresetUtility DeletePresetL 2
-FmPresetUtility DeletePresetL 3
-FmPresetUtility GetPresetL 0 ChannelName0 ChannelFrequency0
-FmPresetUtility GetPresetL 1 ChannelName1 ChannelFrequency1
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-FmPresetUtility GetPresetL 2 ChannelName2 ChannelFrequency2
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-FmPresetUtility GetPresetL 3 ChannelName3 ChannelFrequency3
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.9 Save presets 2 and 3, delete all 
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility SetPresetL 2 ChannelName2 ChannelFrequency2
-FmPresetUtility SetPresetL 3 ChannelName3 ChannelFrequency3
-FmPresetUtility GetPresetL 2 ChannelName2 ChannelFrequency2
-FmPresetUtility GetPresetL 3 ChannelName3 ChannelFrequency3
-FmPresetUtility DeletePresetL -1
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-FmPresetUtility GetPresetL 0 ChannelName0 ChannelFrequency0
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-FmPresetUtility GetPresetL 1 ChannelName1 ChannelFrequency1
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-FmPresetUtility GetPresetL 2 ChannelName2 ChannelFrequency2
-allowerrorcodes KErrUnexpectedValue KErrNotFound
-FmPresetUtility GetPresetL 3 ChannelName3 ChannelFrequency3
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.10 Try to delete unexisting preset
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-allowerrorcodes KErrArgument
-FmPresetUtility DeletePresetL 3
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.11 Set and Get PI code
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility SetPresetL 2 ChannelName2 ChannelFrequency2
-FmPresetUtility SetPresetPICodeL 2 7
-FmPresetUtility GetPresetPICodeL 2 7
-FmPresetUtility SetPresetPICodeL 2 0
-FmPresetUtility GetPresetPICodeL 2 0
-FmPresetUtility DeletePresetL 2
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.12 Set and Get favourite status
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility SetPresetL 2 ChannelName2 ChannelFrequency2
-FmPresetUtility SetPresetFavouriteInfoL 2 1
-FmPresetUtility GetPresetFavouriteInfoL 2 1
-FmPresetUtility SetPresetFavouriteInfoL 2 0
-FmPresetUtility GetPresetFavouriteInfoL 2 0
-FmPresetUtility DeletePresetL 2
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.12a Set and Get favourite status. Setting with >1 value.
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility SetPresetL 2 ChannelName2 ChannelFrequency2
-FmPresetUtility SetPresetFavouriteInfoL 2 2
-FmPresetUtility GetPresetFavouriteInfoL 2 1
-FmPresetUtility SetPresetFavouriteInfoL 2 1100
-FmPresetUtility GetPresetFavouriteInfoL 2 1
-FmPresetUtility SetPresetFavouriteInfoL 2 0
-FmPresetUtility GetPresetFavouriteInfoL 2 0
-FmPresetUtility DeletePresetL 2
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.12b Try to set and get an unexisting preset with specified favourite.
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-allowerrorcodes KErrNotFound
-FmPresetUtility SetPresetFavouriteInfoL 10 1
-allowerrorcodes KErrNotFound
-FmPresetUtility GetPresetFavouriteInfoL 11 0
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.13 Set and Get the preset with specified user rename information.
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility SetPresetL 3 ChannelName3 ChannelFrequency3
-FmPresetUtility SetPresetUserRenameInfoL 3 1
-FmPresetUtility GetPresetUserRenameInfoL 3 1
-FmPresetUtility SetPresetUserRenameInfoL 3 0
-FmPresetUtility GetPresetUserRenameInfoL 3 0
-FmPresetUtility DeletePresetL 3
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.13a Set and Get the preset with specified user rename information. Setting with >1 value.
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility SetPresetL 3 ChannelName3 ChannelFrequency3
-FmPresetUtility SetPresetUserRenameInfoL 3 2
-FmPresetUtility GetPresetUserRenameInfoL 3 1
-FmPresetUtility SetPresetUserRenameInfoL 3 15
-FmPresetUtility GetPresetUserRenameInfoL 3 1
-FmPresetUtility SetPresetUserRenameInfoL 3 0
-FmPresetUtility GetPresetUserRenameInfoL 3 0
-FmPresetUtility DeletePresetL 3
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.13b Try to set and get an unexisting preset with specified user rename information.
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-allowerrorcodes KErrNotFound
-FmPresetUtility SetPresetUserRenameInfoL 10 1
-allowerrorcodes KErrNotFound
-FmPresetUtility GetPresetUserRenameInfoL 11 0
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.14 Set and Get the preset with specified channel PTY (genre).
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility SetPresetL 3 ChannelName3 ChannelFrequency3
-FmPresetUtility SetPresetPtyL 3 8
-FmPresetUtility GetPresetPtyL 3 8
-FmPresetUtility SetPresetPtyL 3 0
-FmPresetUtility GetPresetPtyL 3 0
-FmPresetUtility DeletePresetL 3
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.15 Set and Get preset with specified URL.
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility SetPresetL 3 ChannelName3 ChannelFrequency3
-FmPresetUtility SetPresetUrlL 3 ChannelUrl3
-FmPresetUtility GetPresetUrlL 3 ChannelUrl3
-FmPresetUtility SetPresetUrlL 3 ChannelUrl1
-allowerrorcodes KErrUnexpectedValue
-FmPresetUtility GetPresetUrlL 3 ChannelUrl2
-FmPresetUtility GetPresetUrlL 3 ChannelUrl1
-FmPresetUtility DeletePresetL 3
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.16 Set preset x, Set name to empty and frequency to 0, try to get URL, UserRenameInfo and FavouriteInfo.
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-FmPresetUtility SetPresetL 2 ChannelName2 ChannelFrequency2
-FmPresetUtility SetPresetUrlL 2 ChannelUrl2
-FmPresetUtility GetPresetNameL 2 ChannelName2
-FmPresetUtility GetPresetFrequencyL 2 ChannelFrequency2
-FmPresetUtility GetPresetUrlL 2 ChannelUrl2
-FmPresetUtility SetPresetL 1 ChannelName1 ChannelFrequency1
-FmPresetUtility GetPresetUrlL 2 ChannelUrl2
-FmPresetUtility SetPresetL 2 ChannelNameNull ChannelFrequencyNull
-FmPresetUtility GetPresetUrlL 2 ChannelUrlNull
-FmPresetUtility SetPresetUserRenameInfoL 2 0
-FmPresetUtility GetPresetFavouriteInfoL 2 0
-FmPresetUtility GetPresetNameL 2 ChannelNameNull
-FmPresetUtility GetPresetFrequencyL 2 ChannelFrequencyNull
-FmPresetUtility DeletePresetL 2
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.17 Try to get a frequency from an unexisting and also from an illegal preset index.
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-allowerrorcodes KErrNotFound
-FmPresetUtility GetPresetFrequencyL 44 ChannelFrequencyNull
-allowerrorcodes KErrArgument
-FmPresetUtility GetPresetFrequencyL 101 ChannelFrequencyNull
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
-[Test]
-title 3.18 OOM Set and delete preset
-create PresetUtilityTestModule FmPresetUtility
-FmPresetUtility CreateFmPresetUtility Preset
-oomignorefailure ON
-loop 3
-oomheapfailnext LOOP_COUNTER
-FmPresetUtility SetPresetL 2 ChannelName2 ChannelFrequency2
-print LOOP_COUNTER
-endloop
-oomignorefailure OFF
-oomheaptonormal
-FmPresetUtility DeletePresetL 2
-FmPresetUtility DestroyFmPresetUtility
-delete FmPresetUtility
-[Endtest]
-
Binary file mmserv/radioutility/presetutility/tsrc/conf/presetutility.confml has changed
Binary file mmserv/radioutility/presetutility/tsrc/conf/presetutility_10207B87.crml has changed
--- a/mmserv/radioutility/presetutility/tsrc/group/PresetUtilityTestModule.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*TYPE TESTCLASS*/
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: MMP file for STIF Test Framework's TestScripter 
-* testclass test module.
-*
-*/
-
-#include <platform_paths.hrh>
-
-TARGET          PresetUtilityTestModule.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID     0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH      ?target_path
-DEFFILE         PresetUtilityTestModule.def
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../src
-
-SOURCE          PresetUtilityTestModule.cpp
-SOURCE          PresetUtilityTestModuleBlocks.cpp
-
-//RESOURCE        resource_file
-//RESOURCE        resource_file2
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib
-LIBRARY			presetutility.lib
-LIBRARY			fmpresetutility.lib
-
-LANG            SC
-
-/*
-START WINS      
-?wins_specific_information
-END
-
-START MARM
-?marm_specific_information
-END
-*/
-// Other possible keywords:
- 
-// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-/*
-START BITMAP ?target
-TARGETPATH   ?emulated_path_on_target_machine
-HEADER
-SOURCE       ?color_depth ?source_bitmap
-END
-*/
-// DEFFILE ?filename
-// AIF ?filename
-
-// End of File
--- a/mmserv/radioutility/presetutility/tsrc/group/PresetUtilityTestModule.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "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:
-; 
-; Description:
-;
-; 	Installation file for STIF
-;
-
-; Languages
-&EN
-
-; Provide value for uid
-#{"STIF"},(0x00000000),1,1,0,TYPE=SA
-
-; Series60 product id for S60 3.0
-[0x101F7961], 0, 0, 0, {"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Logo
-; None
-
-; Package signature - Optional
-; None
-
-; Start of Package body
-
-; Condition blocks
-; None
-
-; Options list
-; None
-
-; Install files
-"\epoc32\release\armv5\udeb\PresetUtilityTestModule.dll"   -   "!:\Sys\Bin\PresetUtilityTestModule.dll"
-  
-; Embedded SIS 
-; None
-
-; End of Package body
-
-; PKG dependencies
-; None
-
-; PKG capabilities
-; None
--- a/mmserv/radioutility/presetutility/tsrc/group/PresetUtilityTestModule_DoxyFile.txt	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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:
-# 
-# Description:
-#
-#
-
-# Doxyfile 1.4.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME           = PresetUtilityTestModule
-PROJECT_NUMBER         = 
-OUTPUT_DIRECTORY       = C:\Symbian\Carbide\workspace\PresetUtilityTestModule\
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-USE_WINDOWS_ENCODING   = YES
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = NO
-INHERIT_DOCS           = YES
-DISTRIBUTE_GROUP_DOC   = NO
-TAB_SIZE               = 8
-ALIASES                = 
-OPTIMIZE_OUTPUT_FOR_C  = YES
-OPTIMIZE_OUTPUT_JAVA   = NO
-SUBGROUPING            = YES
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = YES
-EXTRACT_PRIVATE        = NO
-EXTRACT_STATIC         = NO
-EXTRACT_LOCAL_CLASSES  = NO
-EXTRACT_LOCAL_METHODS  = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = YES
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = NO
-GENERATE_TESTLIST      = NO
-GENERATE_BUGLIST       = NO
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
-MAX_INITIALIZER_LINES  = 30
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = YES
-FILE_VERSION_FILTER    = 
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = NO
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = YES
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = 
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = C:\Symbian\Carbide\workspace\PresetUtilityTestModule\
-FILE_PATTERNS          = *.h \
-                         *.rh \
-                         *.hrh
-RECURSIVE              = YES
-EXCLUDE                = 
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
-FILTER_SOURCE_FILES    = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = NO
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
-VERBATIM_HEADERS       = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = NO
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = NO
-HTML_OUTPUT            = html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
-HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = YES
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-BINARY_TOC             = YES
-TOC_EXPAND             = YES
-DISABLE_INDEX          = YES
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = YES
-TREEVIEW_WIDTH         = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = NO
-LATEX_OUTPUT           = latex
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = NO
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = 
-LATEX_HEADER           = 
-PDF_HYPERLINKS         = NO
-USE_PDFLATEX           = NO
-LATEX_BATCHMODE        = NO
-LATEX_HIDE_INDICES     = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = YES
-RTF_OUTPUT             = Doc
-COMPACT_RTF            = YES
-RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_LINKS              = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = YES
-EXPAND_ONLY_PREDEF     = NO
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = NONSHARABLE_CLASS
-EXPAND_AS_DEFINED      = 
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = YES
-HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = NO
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = YES
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = YES
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = YES
-DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-MAX_DOT_GRAPH_WIDTH    = 1024
-MAX_DOT_GRAPH_HEIGHT   = 1024
-MAX_DOT_GRAPH_DEPTH    = 0
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
--- a/mmserv/radioutility/presetutility/tsrc/group/PresetUtilityTestModule_nrm.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*TYPE TESTCLASS*/
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: MMP file for STIF Test Framework's TestScripter 
-* testclass test module.
-*
-*/
-
-#include <platform_paths.hrh>
-
-TARGET          PresetUtilityTestModule.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID     0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH      ?target_path
-DEFFILE         PresetUtilityTestModule.def
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../src
-
-SOURCE          PresetUtilityTestModule.cpp
-SOURCE          PresetUtilityTestModuleBlocks.cpp
-
-//RESOURCE        resource_file
-//RESOURCE        resource_file2
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib
-LIBRARY			presetutility.lib
-LIBRARY			fmpresetutility.lib
-
-LANG            SC
-
-/*
-START WINS      
-?wins_specific_information
-END
-
-START MARM
-?marm_specific_information
-END
-*/
-// Other possible keywords:
- 
-// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-/*
-START BITMAP ?target
-TARGETPATH   ?emulated_path_on_target_machine
-HEADER
-SOURCE       ?color_depth ?source_bitmap
-END
-*/
-// DEFFILE ?filename
-// AIF ?filename
-
-// End of File
--- a/mmserv/radioutility/presetutility/tsrc/group/RestoreOrigCenrep.cmd	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-@REM
-@REM Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-@REM All rights reserved.
-@REM This component and the accompanying materials are made available
-@REM under the terms of "Eclipse Public License v1.0"
-@REM which accompanies this distribution, and is available
-@REM at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@REM
-@REM Initial Contributors:
-@REM Nokia Corporation - initial contribution.
-@REM
-@REM Contributors:
-@REM
-@REM Description:  Wins Command file for Preset Utility
-@REM
-@REM
-@echo Original environment restoration by presetutilitytestmodule...
-del \epoc32\winscw\c\TestFramework\PresetUtilityTestModule.cfg
-del \epoc32\wins\c\TestFramework\TestFramework.ini
-del \epoc32\winscw\c\TestFramework\TestFramework.ini
-copy ..\cenrep\10207b87.txt  \epoc32\data\z\private\10202be9\10207b87.txt
-copy ..\cenrep\10207b87.txt  \epoc32\RELEASE\winscw\UDEB\Z\private\10202be9\10207b87.txt
-copy ..\cenrep\10207b87.txt  \epoc32\RELEASE\winscw\UREL\Z\private\10202be9\10207b87.txt
-del \epoc32\winscw\c\private\10202BE9\persists\10207b87.cre
-@echo Original environment restoration by presetutilitytestmodule... Finished.
\ No newline at end of file
--- a/mmserv/radioutility/presetutility/tsrc/group/TestEnvInit.cmd	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-@REM
-@REM Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-@REM All rights reserved.
-@REM This component and the accompanying materials are made available
-@REM under the terms of "Eclipse Public License v1.0"
-@REM which accompanies this distribution, and is available
-@REM at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@REM
-@REM Initial Contributors:
-@REM Nokia Corporation - initial contribution.
-@REM
-@REM Contributors:
-@REM
-@REM Description:  Wins Command file for Preset Utility
-@REM
-@REM
-@echo Initializing test environment for presetutilitytestmodule...
-copy ..\conf\PresetUtilityTestModule.cfg \epoc32\winscw\c\TestFramework\PresetUtilityTestModule.cfg
-copy ..\init\PresetUtilityTestModule.ini \epoc32\wins\c\TestFramework\TestFramework.ini
-copy ..\init\PresetUtilityTestModule.ini \epoc32\winscw\c\TestFramework\TestFramework.ini
-copy ..\conf\10207b87.txt  \epoc32\data\z\private\10202be9\10207b87.txt
-copy ..\conf\10207b87.txt  \epoc32\RELEASE\winscw\UDEB\Z\private\10202be9\10207b87.txt
-copy ..\conf\10207b87.txt  \epoc32\RELEASE\winscw\UREL\Z\private\10202be9\10207b87.txt
-del \epoc32\winscw\c\private\10202BE9\persists\10207b87.cre
-@echo Test environment initialization for presetutilitytestmodule... Finished.
\ No newline at end of file
--- a/mmserv/radioutility/presetutility/tsrc/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description:
-*
-*/
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-	
-	DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-
-PRJ_EXPORTS
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-// Example: 
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-PRJ_TESTMMPFILES
-
-	PresetUtilityTestModule.mmp
-
-PRJ_MMPFILES
-
-	PresetUtilityTestModule_nrm.mmp
-
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-
-//  End of File
--- a/mmserv/radioutility/presetutility/tsrc/inc/PresetUtilityTestModule.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,284 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: STIF testclass declaration
-*
-*/
-
-#ifndef PRESETUTILITYTESTMODULE_H
-#define PRESETUTILITYTESTMODULE_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include <TestclassAssert.h>
-//INTERNAL INCLUDES
-#include <presetutility.h>
-#include <presetutilityobserver.h>
-#include <RadioFmPresetUtility.h>
-#include <preset.h>
-#include "trace.h"
-
-
-// CONSTANTS
-const TInt KErrBadTestParameter= -1000;         // Error on configuration file
-
-const TInt KErrEventPending =-2000;             // Timeout and not callback 
-const TInt KErrCallbackErrorCode = -2001;       // Callback return error code
-const TInt KErrUnexpectedValue =-2002;          // Unexpected value at setting    
-const TInt KExpectedFrequencyChange = -2003;        // Is not finding more than one station
-const TInt KErrTimeoutController = -2007;       // Unexpected notification
-
-// MACROS
-//#define ?macro ?macro_def
-#define TEST_CLASS_VERSION_MAJOR 1
-#define TEST_CLASS_VERSION_MINOR 1
-#define TEST_CLASS_VERSION_BUILD 1
-
-// Logging path
-_LIT( KPresetUtilityTestModuleLogPath, "\\logs\\testframework\\PresetUtilityTestModule\\" ); 
-// Log file
-_LIT( KPresetUtilityTestModuleLogFile, "PresetUtilityTestModule.txt" ); 
-_LIT( KPresetUtilityTestModuleLogFileWithTitle, "PresetUtilityTestModule_[%S].txt" );
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-//class CPresetUtilityTestModule;
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// CLASS DECLARATION
-
-/**
-*  CPresetUtilityTestModule test class for STIF Test Framework TestScripter.
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-NONSHARABLE_CLASS(CPresetUtilityTestModule) : public CScriptBase, public MRadioPresetObserver, public MPresetUtilityObserver
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CPresetUtilityTestModule* NewL( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CPresetUtilityTestModule();
-
-    public: // New functions
-
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-    public: // Functions from base classes
-
-        /**
-        * From CScriptBase Runs a script line.
-        * @since ?Series60_version
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
-
-        /**
-        * From MPresetUtilityObserver
-        * Called when a preset changes.
-        *
-        * NOTE: EPresetDeleted with aIndex == 0, indicates that all presets have been deleted.
-        *
-        * @since S60 3.2
-        * @param aChange Change event type
-        * @param aIndex Index to the preset that has changed. Zero means all presets.
-        */
-        virtual void PresetChanged( MPresetUtilityObserver::TPresetChangeEvent aChange, TInt aIndex );
-
-        /**
-        * From MRadioPresetObserver
-        * Called when a preset changes.
-        *
-        * NOTE: EPresetDeleted with aIndex == 0, indicates that all presets have been deleted.
-        *
-        * @since S60 3.2
-        * @param aChange Change event type
-        * @param aIndex Index to the preset that has changed. Zero means all presets.
-        */
-        virtual void MrpeoPresetChanged( MRadioPresetObserver::TPresetChangeEvent aChange, TInt aIndex );
-
-    protected:  // New functions
-
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-        // Test case functions
-        TInt CreateRadioPresetL( CStifItemParser& aItem );
-        TInt CreatePresetUtilityL( CStifItemParser& aItem );
-        TInt CreateFmPresetUtilityL( CStifItemParser& aItem );
-        TInt DestroyRadioPresetL( CStifItemParser& aItem );
-        TInt DestroyPresetUtilityL( CStifItemParser& aItem );
-        TInt DestroyFmPresetUtilityL( CStifItemParser& aItem );
-        
-        TInt SavePresetL( CStifItemParser& aItem );
-        
-        TInt ReadPresetL( CStifItemParser& aItem );
-                
-        TInt MaxNumberOfPresets( CStifItemParser& aItem );
-        
-        TInt PresetCount( CStifItemParser& aItem );
-        
-        TInt FirstPreset( CStifItemParser& aItem );
-        
-        TInt NextPreset( CStifItemParser& aItem );
-        
-        TInt DeletePreset( CStifItemParser& aItem );
-        
-        // Old API
-        TInt SetPresetL( CStifItemParser& aItem );
-        TInt GetPresetL( CStifItemParser& aItem );
-        TInt GetPresetNameL( CStifItemParser& aItem );
-        TInt GetPresetFrequencyL( CStifItemParser& aItem );      
-        TInt GetMaxNumberOfPresets( CStifItemParser& aItem );
-        TInt GetNumberOfPresets( CStifItemParser& aItem );
-        TInt GetFirstPresetL( CStifItemParser& aItem );
-        TInt GetNextPresetL( CStifItemParser& aItem );
-        TInt DeletePresetL( CStifItemParser& aItem );
-
-        TInt SetPresetUrlL( CStifItemParser& aItem );
-        TInt SetPresetPtyL( CStifItemParser& aItem );
-        TInt SetPresetPICodeL( CStifItemParser& aItem );
-        TInt SetPresetFavouriteInfoL( CStifItemParser& aItem );
-        TInt SetPresetUserRenameInfoL( CStifItemParser& aItem );
-        TInt GetPresetUrlL( CStifItemParser& aItem );
-        TInt GetPresetPtyL( CStifItemParser& aItem );
-        TInt GetPresetPICodeL( CStifItemParser& aItem );
-        TInt GetPresetFavouriteInfoL( CStifItemParser& aItem );
-        TInt GetPresetUserRenameInfoL( CStifItemParser& aItem );
-
-        TInt SetFavorite( CStifItemParser& aItem );
-        TInt Favorite( CStifItemParser& aItem );
-        TInt SetLocalStation( CStifItemParser& aItem );
-        TInt LocalStation( CStifItemParser& aItem );
-        TInt SetRenamedByUser( CStifItemParser& aItem );
-        TInt RenamedByUser( CStifItemParser& aItem );
-        TInt SetGenre( CStifItemParser& aItem );
-        TInt Genre( CStifItemParser& aItem );
-        TInt SetPiCode( CStifItemParser& aItem );
-        TInt PiCode( CStifItemParser& aItem );
-
-    protected:  // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CPresetUtilityTestModule( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-        /**
-        * Frees all resources allocated from test methods.
-        * @since ?Series60_version
-        */
-        void Delete();
-
-        /**
-        * Test methods are listed below. 
-        */
-
-        /**
-        * Example test method.
-        * @since ?Series60_version
-        * @param aItem Script line containing parameters.
-        * @return Symbian OS error code.
-        */
-        virtual TInt ExampleL( CStifItemParser& aItem );
-        
-        /**
-         * Method used to log version of test class
-         */
-        void SendTestClassVersion();
-
-        //ADD NEW METHOD DEC HERE
-        //[TestMethods] - Do not remove
-
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-        // Reserved pointer for future extension
-        //TAny* iReserved;
-
-        /** FM Preset Utility */
-        CPresetUtility* iPresetUtility;
-
-        /** Old interface FM Preset Utility */
-        CRadioFmPresetUtility* iRadioFmPresetUtility;
-
-        /** Preset class instance */
-        TPreset* iPreset;
-        
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
-
-    };
-
-#endif      // PRESETUTILITYTESTMODULE_H
-
-// End of File
--- a/mmserv/radioutility/presetutility/tsrc/init/PresetUtilityTestModule.ini	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "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.
-#
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if 
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module. 
-# 	- Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation
-#		DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02
-#
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment', 'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= c:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-DisableMeasurement= stifmeasurementdisablenone	# Possible values are:
-						# 'stifmeasurementdisablenone', 'stifmeasurementdisableall'
-					  	# 'stifmeasurementplugin01', 'stifmeasurementplugin02',
-					  	# 'stifmeasurementplugin03', 'stifmeasurementplugin04',
-					  	# 'stifmeasurementplugin05' or 'stifbappeaprofiler'
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-[New_Module]
-ModuleName= TestScripter
-TestCaseFile= c:\testframework\PresetUtilityTestModule.cfg
-[End_Module]
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleXXX used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\LOGS\Module\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number 
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' 
-#NOTE: TestEngine and TestServer logging settings cannot change here 
-
-#CreateLogDirectories= YES		# Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML			# Possible values: TXT or HTML
-#EmulatorOutput= FILE			# Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML			# Possible values: TXT or HTML
-#HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE		# Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES			# Possible values: YES or NO
-#WithTimeStamp= YES			# Possible values: YES or NO
-#WithLineBreak= YES			# Possible values: YES or NO
-#WithEventRanking= YES			# Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- a/mmserv/radioutility/presetutility/tsrc/src/PresetUtilityTestModule.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include <SettingServerClient.h>
-#include "PresetUtilityTestModule.h"
-#include "trace.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::CPresetUtilityTestModule
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPresetUtilityTestModule::CPresetUtilityTestModule( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
-    {
-    FUNC_LOG;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPresetUtilityTestModule::ConstructL()
-    {
-    FUNC_LOG;
-    
-    //Read logger settings to check whether test case name is to be
-    //appended to log file name.
-    RSettingServer settingServer;
-    TInt ret = settingServer.Connect();
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        }
-    // Struct to StifLogger settigs.
-    TLoggerSettings loggerSettings; 
-    // Parse StifLogger defaults from STIF initialization file.
-    ret = settingServer.GetLoggerSettings(loggerSettings);
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        } 
-    // Close Setting server session
-    settingServer.Close();
-
-    TFileName logFileName;
-    
-    if(loggerSettings.iAddTestCaseTitle)
-        {
-        TName title;
-        TestModuleIf().GetTestCaseTitleL(title);
-        logFileName.Format(KPresetUtilityTestModuleLogFileWithTitle, &title);
-        }
-    else
-        {
-        logFileName.Copy(KPresetUtilityTestModuleLogFile);
-        }
-
-    iLog = CStifLogger::NewL( KPresetUtilityTestModuleLogPath, 
-                          logFileName,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-    
-    SendTestClassVersion();
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPresetUtilityTestModule* CPresetUtilityTestModule::NewL( 
-    CTestModuleIf& aTestModuleIf )
-    {
-    FUNC_LOG;
-    CPresetUtilityTestModule* self = new (ELeave) CPresetUtilityTestModule( aTestModuleIf );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-
-    }
-
-// Destructor
-CPresetUtilityTestModule::~CPresetUtilityTestModule()
-    { 
-    FUNC_LOG;
-
-    // Delete resources allocated from test methods
-    Delete();
-
-    // Delete logger
-    delete iLog; 
-
-    }
-
-//-----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SendTestClassVersion
-// Method used to send version of test class
-//-----------------------------------------------------------------------------
-//
-void CPresetUtilityTestModule::SendTestClassVersion()
-	{
-	FUNC_LOG;
-	TVersion moduleVersion;
-	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
-	moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
-	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
-	
-	TFileName moduleName;
-	moduleName = _L("PresetUtilityTestModule.dll");
-
-	TBool newVersionOfMethod = ETrue;
-	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
-	}
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-    FUNC_LOG;
-
-    return ( CScriptBase* ) CPresetUtilityTestModule::NewL( aTestModuleIf );
-
-    }
-
-
-//  End of File
--- a/mmserv/radioutility/presetutility/tsrc/src/PresetUtilityTestModuleBlocks.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1479 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-* 
-* Description: This file contains testclass implementation.
-*
-*/
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include "PresetUtilityTestModule.h"
-#include <RadioPresetUtility.h>
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-_LIT( KStifScriptEmptyString, "EMPTYSTRING" );
-_LIT( KEmptyString, "" );
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::Delete
-// Delete here all resources allocated and opened from test methods. 
-// Called from destructor. 
-// -----------------------------------------------------------------------------
-//
-void CPresetUtilityTestModule::Delete() 
-    {
-    FUNC_LOG;
-
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt CPresetUtilityTestModule::RunMethodL( 
-    CStifItemParser& aItem ) 
-    {
-    FUNC_LOG;
-
-    static TStifFunctionInfo const KFunctions[] =
-        {  
-        // Copy this line for every implemented function.
-        // First string is the function name used in TestScripter script file.
-        // Second is the actual implementation member function. 
-        ENTRY( "Example", CPresetUtilityTestModule::ExampleL ),
-        // [test cases entries] - Do not remove
-        ENTRY( "CreateRadioPresetL", CPresetUtilityTestModule::CreateRadioPresetL ),
-        ENTRY( "DestroyRadioPreset", CPresetUtilityTestModule::DestroyRadioPresetL ),
-        ENTRY( "CreatePresetUtility", CPresetUtilityTestModule::CreatePresetUtilityL ), 
-        ENTRY( "DestroyPresetUtility", CPresetUtilityTestModule::DestroyPresetUtilityL ),
-        ENTRY( "CreateFmPresetUtility", CPresetUtilityTestModule::CreateFmPresetUtilityL ),
-        ENTRY( "DestroyFmPresetUtility", CPresetUtilityTestModule::DestroyFmPresetUtilityL ),
-        ENTRY( "SavePresetL", CPresetUtilityTestModule::SavePresetL ),
-        ENTRY( "ReadPresetL", CPresetUtilityTestModule::ReadPresetL ),
-        ENTRY( "MaxNumberOfPresets", CPresetUtilityTestModule::MaxNumberOfPresets ),
-        ENTRY( "PresetCount", CPresetUtilityTestModule::PresetCount ),
-        ENTRY( "FirstPreset", CPresetUtilityTestModule::FirstPreset ),
-        ENTRY( "NextPreset", CPresetUtilityTestModule::NextPreset ),
-        ENTRY( "DeletePreset", CPresetUtilityTestModule::DeletePreset ),
-        ENTRY( "SetPresetL", CPresetUtilityTestModule::SetPresetL ),
-        ENTRY( "GetPresetL", CPresetUtilityTestModule::GetPresetL ),
-        ENTRY( "GetPresetNameL", CPresetUtilityTestModule::GetPresetNameL ),
-        ENTRY( "GetPresetFrequencyL", CPresetUtilityTestModule::GetPresetFrequencyL ),      
-        ENTRY( "GetMaxNumberOfPresets", CPresetUtilityTestModule::GetMaxNumberOfPresets ),
-        ENTRY( "GetNumberOfPresets", CPresetUtilityTestModule::GetNumberOfPresets ),
-        ENTRY( "GetFirstPresetL", CPresetUtilityTestModule::GetFirstPresetL ),
-        ENTRY( "GetNextPresetL", CPresetUtilityTestModule::GetNextPresetL ),
-        ENTRY( "DeletePresetL", CPresetUtilityTestModule::DeletePresetL ),
-
-        ENTRY( "SetPresetUrlL", CPresetUtilityTestModule::SetPresetUrlL ),
-        ENTRY( "SetPresetPtyL", CPresetUtilityTestModule::SetPresetPtyL ),
-        ENTRY( "SetPresetPICodeL", CPresetUtilityTestModule::SetPresetPICodeL ),
-        ENTRY( "SetPresetFavouriteInfoL", CPresetUtilityTestModule::SetPresetFavouriteInfoL ),
-        ENTRY( "SetPresetUserRenameInfoL", CPresetUtilityTestModule::SetPresetUserRenameInfoL ),
-        ENTRY( "GetPresetUrlL", CPresetUtilityTestModule::GetPresetUrlL ),
-        ENTRY( "GetPresetPtyL", CPresetUtilityTestModule::GetPresetPtyL ),
-        ENTRY( "GetPresetPICodeL", CPresetUtilityTestModule::GetPresetPICodeL ),
-        ENTRY( "GetPresetFavouriteInfoL", CPresetUtilityTestModule::GetPresetFavouriteInfoL ),
-        ENTRY( "GetPresetUserRenameInfoL", CPresetUtilityTestModule::GetPresetUserRenameInfoL ),
-
-        ENTRY( "SetFavorite", CPresetUtilityTestModule::SetFavorite ),
-        ENTRY( "Favorite", CPresetUtilityTestModule::Favorite ),
-        ENTRY( "SetLocalStation", CPresetUtilityTestModule::SetLocalStation ),
-        ENTRY( "LocalStation", CPresetUtilityTestModule::LocalStation ),
-        ENTRY( "SetRenamedByUser", CPresetUtilityTestModule::SetRenamedByUser ),
-        ENTRY( "RenamedByUser", CPresetUtilityTestModule::RenamedByUser ),
-        ENTRY( "SetGenre", CPresetUtilityTestModule::SetGenre ),
-        ENTRY( "Genre", CPresetUtilityTestModule::Genre ),
-        ENTRY( "SetPiCode", CPresetUtilityTestModule::SetPiCode ),
-        ENTRY( "PiCode", CPresetUtilityTestModule::PiCode )
-        //ADD NEW ENTRY HERE
-
-        };
-
-    const TInt count = sizeof( KFunctions ) / 
-                        sizeof( TStifFunctionInfo );
-
-    return RunInternalL( KFunctions, count, aItem );
-
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::ExampleL
-// Example test method function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPresetUtilityTestModule::ExampleL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;
-
-    // Print to UI
-    _LIT( KPresetUtilityTestModule, "PresetUtilityTestModule" );
-    _LIT( KExample, "In Example" );
-    TestModuleIf().Printf( 0, KPresetUtilityTestModule, KExample );
-    // Print to log file
-    iLog->Log( KExample );
-
-    TInt i = 0;
-    TPtrC string;
-    _LIT( KParam, "Param[%i]: %S" );
-    while ( aItem.GetNextString ( string ) == KErrNone )
-        {
-        TestModuleIf().Printf( i, KPresetUtilityTestModule, 
-                                KParam, i, &string );
-        i++;
-        }
-
-    return KErrNone;
-
-    }
-
-//-----------------------------------------------------------------------------
-// CPresetUtilityTest::CreateRadioPresetL
-//-----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::CreateRadioPresetL(
-    CStifItemParser& /*aItem*/ )
-    {
-    FUNC_LOG;
-    
-    TInt err = KErrNone;
-    if( !iPreset )
-        {        
-        iPreset = new( ELeave ) TPreset;
-        }
-    else
-        {
-        err = KErrArgument;
-        }
-
-    return err;
-    }
-
-//-----------------------------------------------------------------------------
-// CPresetUtilityTest::CreatePresetUtilityL
-//-----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::CreatePresetUtilityL(
-    CStifItemParser& /*aItem*/ )
-    {
-    FUNC_LOG;
-    
-    TInt err = KErrNone;
-    if( !iPresetUtility )
-        {        
-        iPresetUtility = CPresetUtility::NewL();
-        }
-    else
-        {
-        err = KErrArgument;
-        }
-
-    return err;
-    }
-
-//-----------------------------------------------------------------------------
-// CPresetUtilityTest::CreatePresetFmUtilityL
-//-----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::CreateFmPresetUtilityL(
-    CStifItemParser& /*aItem*/ )
-    {
-    FUNC_LOG;
-    
-    TInt err = KErrNone;
-    if( !iRadioFmPresetUtility )
-        {        
-        iRadioFmPresetUtility = CRadioFmPresetUtility::NewL(*this);
-        }
-    else
-        {
-        err = KErrArgument;
-        }
-
-    return err;
-    }
-
-//-----------------------------------------------------------------------------
-// CPresetUtilityTestModule::DestroyRadioPresetL
-//-----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::DestroyRadioPresetL(
-    CStifItemParser& /*aItem*/ )
-    {
-    FUNC_LOG;
-
-    delete iPreset;    
-    iPreset = NULL;
-    
-    return KErrNone;
-    }
-
-
-
-//-----------------------------------------------------------------------------
-// CPresetUtilityTestModule::DestroyPresetUtilityL
-//-----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::DestroyPresetUtilityL(
-    CStifItemParser& /*aItem*/ )
-    {
-    FUNC_LOG;
-
-    delete iPresetUtility;    
-    iPresetUtility = NULL;
-    
-    return KErrNone;
-    }
-
-//-----------------------------------------------------------------------------
-// CPresetUtilityTestModule::DestroyFmPresetUtilityL
-//-----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::DestroyFmPresetUtilityL(
-    CStifItemParser& /*aItem*/ )
-    {
-    FUNC_LOG;
-
-    delete iRadioFmPresetUtility;    
-    iRadioFmPresetUtility = NULL;
-    
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SavePresetL()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SavePresetL( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err=KErrNone;
-    TInt index;
-    TPtrC name;
-    TInt freq;
-    TPtrC url;
-    TInt usedIndex( -1 );
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Preset index." );
-    }
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    if ( aItem.GetNextString(name) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Preset name." );
-    }
-    aItem.SetParsingType( CStifItemParser::ENormalParsing );
-    if ( aItem.GetNextInt(freq) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Preset frequency." );
-    }
-    
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    if ( aItem.GetNextString(url) )
-    {
-        INFO( "Missing Parameter: url." );
-    }
-    aItem.SetParsingType( CStifItemParser::ENormalParsing );
-
-    TPreset preset;
-    preset.SetName( name );
-    preset.SetFrequency( freq );
-    preset.SetUrl( url );
-    
-    TRAP(err, usedIndex = iPresetUtility->SavePresetL(preset, index));
-    INFO_4( "SavePreset: Index=%d, Name=%S, Freq=%d, Url=%S", usedIndex, &name, freq, &url  );
-    if ( KErrNone != err )
-        {
-        INFO_1( "SavePresetL Failed error code=%i", err );
-        User::Leave( err );
-        }
-    return usedIndex;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::ReadPresetL()
-// Read preset channel.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::ReadPresetL( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err = KErrNone;
-    TInt index;
-    TPtrC expectedName;
-    TInt expectedFreq;
-    TPtrC expectedUrl;
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Preset index." );
-    }
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    if ( aItem.GetNextString(expectedName) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Expected preset name." );
-    }
-    INFO_1( "ExpectedName=%S.", &expectedName  );
-
-    aItem.SetParsingType( CStifItemParser::ENormalParsing );
-    if ( aItem.GetNextInt(expectedFreq) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Expected preset frequency." );
-    }
-    INFO_1( "ExpectedFreq=%d.", expectedFreq);
-    
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    if ( aItem.GetNextString(expectedUrl) )
-    {
-        INFO( "Missing Parameter: Expected Url." );
-    }
-    aItem.SetParsingType( CStifItemParser::ENormalParsing );
-
-    TPreset preset;
-    TRAP(err, iPresetUtility->ReadPresetL(index,preset));
-    TPtrC actualName( preset.Name() );
-    TPtrC actualUrl( preset.Url() );
-    INFO_4( "ReadPreset Index=%d, Name=%S, Freq=%d, Url=%S", index, &expectedName, preset.Frequency(), &expectedUrl  );
-    if ( !err )
-    {
-        // Verification
-        if ( preset.Name() != expectedName )
-        {
-            INFO_2( "Failed: name=%S, expectedName=%S.", &actualName, &expectedName  );
-            err = KErrUnexpectedValue;
-        }
-        else if ( preset.Frequency() != expectedFreq )
-        {
-            INFO_2( "Failed: freq=%d, expectedFreq=%d.", preset.Frequency(), expectedFreq);
-            err = KErrUnexpectedValue;
-        }
-        else if ( ( 0 < expectedUrl.Length() ) && ( preset.Url() != expectedUrl ) )
-        {
-            INFO_2( "Failed: Url=%S, expectedUrl=%S.", &actualUrl, &expectedUrl  );
-            err = KErrUnexpectedValue;            
-        }
-    }
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::MaxNumberOfPresets()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::MaxNumberOfPresets( CStifItemParser& /*aItem*/ )
-{
-    FUNC_LOG;
-    TInt maxPreset;
-    
-    maxPreset = iPresetUtility->MaxNumberOfPresets();
-    INFO_1( "MaxNumberOfPresets: maxPreset=%d", maxPreset);
-    return maxPreset;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::PresetCount()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::PresetCount( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err=KErrNone;
-    TInt numPresets;
-    TInt expectedNumPresets;
-    
-    // read parameters
-    if ( aItem.GetNextInt(expectedNumPresets) )
-    {
-        INFO( "Missing Parameter: Expected number of presets.");
-        err = KErrBadTestParameter;
-    }
-
-    numPresets =iPresetUtility->PresetCount();
-    INFO_1( "PresetCount: numPresets=%d", numPresets);
-   // Verification
-    if ( numPresets != expectedNumPresets )
-    {
-        INFO_2( "Failed: numPresets=%d, expectedNumPresets=%d.", numPresets, expectedNumPresets);
-        err = KErrUnexpectedValue;
-    }
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::FirstPreset()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::FirstPreset( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err = KErrNone;
-    TInt index;
-    TInt expectedIndex;
-    
-    // read parameters
-    if ( aItem.GetNextInt(expectedIndex) )
-    {
-        INFO( "Missing Parameter: Expected preset index.");
-        err = KErrBadTestParameter;
-    }
-
-    index = iPresetUtility->FirstPreset();
-    INFO_1( "FirstPreset: index=%d", index);
-    // Verification
-    if ( index != expectedIndex )
-    {
-        INFO_2( "Failed: index=%d, expectedIndex=%d.", index, expectedIndex);
-        err = KErrUnexpectedValue;
-    }
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::NextPreset()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::NextPreset( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err=KErrNone;
-    TInt index;
-    TInt nextIndex;
-    TInt expectedNextIndex;
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        INFO( "Missing Parameter: Current preset index.");
-        err = KErrBadTestParameter;
-    }
-    if ( aItem.GetNextInt(expectedNextIndex) )
-    {
-        INFO( "Missing Parameter: Expected next preset index.");
-        err = KErrBadTestParameter;
-    }
-
-    nextIndex = iPresetUtility->NextPreset(index);
-    INFO_1( "NextPreset: nextIndex=%d", nextIndex);
-    // Verification
-    if ( nextIndex != expectedNextIndex )
-    {
-        INFO_2( "Failed: nextIndex=%d, expectedNextIndex=%d.", nextIndex, expectedNextIndex);
-        err = KErrUnexpectedValue;
-    }
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::DeletePreset()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::DeletePreset( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err=KErrNone;
-    TInt index;
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        INFO( "Missing Parameter: Preset index to delete.");
-        err = KErrBadTestParameter;
-    }
-
-    err = iPresetUtility->DeletePreset(index);
-    INFO_1( "DeletePreset: index=%d", index);
-    return err;
-}
-
-// Old preset utility API functions
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SetPresetL()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SetPresetL( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err=KErrNone;
-    TInt index;
-    TPtrC name;
-    TInt freq;
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Preset index." );
-    }
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    if ( aItem.GetNextString(name) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Preset name." );
-    }
-    TPtrC stifScriptEmptyString( KStifScriptEmptyString );
-    if ( !stifScriptEmptyString.Compare( name ) )
-        {
-        TPtrC emptyString( KEmptyString );
-        name.Set(emptyString);
-        }
-    aItem.SetParsingType( CStifItemParser::ENormalParsing );
-    if ( aItem.GetNextInt(freq) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Preset frequency." );
-    }
-    
-    TPresetName presetName( name );   
-    TRAP(err, iRadioFmPresetUtility->SetPresetL(index, presetName, freq));
-    INFO_3("SetPresetL: Index=%d, Name=%S, Freq=%d", index, &name, freq );
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetPresetL()
-// Read preset channel.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetPresetL( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err = KErrNone;
-    TInt index;
-    TPtrC expectedName;
-    TInt expectedFreq;
-    TPtrC expectedUrl;
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Preset index." );
-    }
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    if ( aItem.GetNextString(expectedName) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Expected preset name." );
-    }
-    TPtrC stifScriptEmptyString( KStifScriptEmptyString );
-    if ( !stifScriptEmptyString.Compare( expectedName ) )
-        {
-        TPtrC emptyString( KEmptyString );
-        expectedName.Set(emptyString);
-        }
-    INFO_1( "ExpectedName=%S.", &expectedName  );
-
-    aItem.SetParsingType( CStifItemParser::ENormalParsing );
-    if ( aItem.GetNextInt(expectedFreq) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Expected preset frequency." );
-    }
-    INFO_1( "ExpectedFreq=%d.", expectedFreq);
-    
-    aItem.SetParsingType( CStifItemParser::ENormalParsing );
-
-    TPresetName presetName;
-    TInt actualFreq( 0 );
-    TRAP(err, iRadioFmPresetUtility->GetPresetL(index, presetName, actualFreq));
-    INFO_3( "GetPresetL Index=%d, Name=%S, Freq=%d", index, &presetName, actualFreq  );
-    if ( !err )
-    {
-        // Verification
-        if ( presetName != expectedName )
-        {
-            INFO_2( "Failed: name=%S, expectedName=%S.", &presetName, &expectedName  );
-            err = KErrUnexpectedValue;
-        }
-        else if ( actualFreq != expectedFreq )
-        {
-            INFO_2( "Failed: freq=%d, expectedFreq=%d.", actualFreq, expectedFreq);
-            err = KErrUnexpectedValue;
-        }
-    }
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetMaxNumberOfPresets()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetMaxNumberOfPresets( CStifItemParser& /*aItem*/ )
-{
-    FUNC_LOG;
-    TInt maxPreset;
-    
-    iRadioFmPresetUtility->GetMaxNumberOfPresets( maxPreset );
-    INFO_1( "GetMaxNumberOfPresets: maxPreset=%d", maxPreset);
-    return maxPreset;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetNumberOfPresets()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetNumberOfPresets( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err=KErrNone;
-    TInt numPresets;
-    TInt expectedNumPresets;
-    
-    // read parameters
-    if ( aItem.GetNextInt(expectedNumPresets) )
-    {
-        INFO( "Missing Parameter: Expected number of presets.");
-        err = KErrBadTestParameter;
-    }
-
-    err = iRadioFmPresetUtility->GetNumberOfPresets( numPresets );
-    INFO_1( "GetNumberOfPresets: numPresets=%d", numPresets);
-   // Verification
-    if ( numPresets != expectedNumPresets )
-    {
-        INFO_2( "Failed: numPresets=%d, expectedNumPresets=%d.", numPresets, expectedNumPresets);
-        err = KErrUnexpectedValue;
-    }
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetFirstPresetL()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetFirstPresetL( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err = KErrNone;
-    TInt index;
-    TInt expectedIndex;
-    
-    // read parameters
-    if ( aItem.GetNextInt(expectedIndex) )
-    {
-        INFO( "Missing Parameter: Expected preset index.");
-        err = KErrBadTestParameter;
-    }
-
-    iRadioFmPresetUtility->GetFirstPresetL( index );
-    INFO_1( "GetFirstPresetL: index=%d", index);
-    // Verification
-    if ( index != expectedIndex )
-    {
-        INFO_2( "Failed: index=%d, expectedIndex=%d.", index, expectedIndex);
-        err = KErrUnexpectedValue;
-    }
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetNextPresetL()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetNextPresetL( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err=KErrNone;
-    TInt index;
-    TInt nextIndex;
-    TInt expectedNextIndex;
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        INFO( "Missing Parameter: Current preset index.");
-        err = KErrBadTestParameter;
-    }
-    if ( aItem.GetNextInt(expectedNextIndex) )
-    {
-        INFO( "Missing Parameter: Expected next preset index.");
-        err = KErrBadTestParameter;
-    }
-
-    iRadioFmPresetUtility->GetNextPresetL( index, nextIndex );
-    INFO_1( "GetNextPresetL: nextIndex=%d", nextIndex);
-    // Verification
-    if ( nextIndex != expectedNextIndex )
-    {
-        INFO_2( "Failed: nextIndex=%d, expectedNextIndex=%d.", nextIndex, expectedNextIndex);
-        err = KErrUnexpectedValue;
-    }
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::DeletePresetL()
-// Get program status.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::DeletePresetL( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err=KErrNone;
-    TInt index;
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        INFO( "Missing Parameter: Preset index to delete.");
-        err = KErrBadTestParameter;
-    }
-
-    TRAP( err, iRadioFmPresetUtility->DeletePresetL(index) );
-    INFO_1( "DeletePresetL: index=%d", index);
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetPresetNameL()
-// Read preset channel.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetPresetNameL( CStifItemParser& aItem )
-{
-    FUNC_LOG;
-    TInt err = KErrNone;
-    TInt index;
-    TPtrC expectedName;
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Preset index." );
-    }
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    if ( aItem.GetNextString(expectedName) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Expected preset name." );
-    }
-    TPtrC stifScriptEmptyString( KStifScriptEmptyString );
-    if ( !stifScriptEmptyString.Compare( expectedName ) )
-        {
-        TPtrC emptyString( KEmptyString );
-        expectedName.Set(emptyString);
-        }
-    INFO_1( "ExpectedName=%S.", &expectedName  );
-
-
-    TFmPresetName presetName;
-    TRAP(err, iRadioFmPresetUtility->GetPresetNameL(index,presetName));
-    INFO_2( "GetPresetNameL Index=%d, Name=%S", index, &presetName  );
-    if ( !err )
-    {
-        // Verification
-        if ( presetName != expectedName )
-        {
-            INFO_2( "Failed: name=%S, expectedName=%S.", &presetName, &expectedName  );
-            err = KErrUnexpectedValue;
-        }
-    }
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetPresetFrequencyL()
-// Read preset channel's frequency value.
-// Returns: Errors.
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetPresetFrequencyL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;
-    TInt index;
-    TInt expectedFreq( 0 );
-    TInt freq( 0 );
-    TInt err( KErrNone );
-
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Preset index." );
-    }
-    if ( aItem.GetNextInt(expectedFreq) )
-    {
-        err = KErrBadTestParameter;
-        ERROR( err, "Missing Parameter: Expected preset frequency." );
-    }
-    iRadioFmPresetUtility->GetPresetFrequencyL( index, freq );  
-    INFO_1( "GetPresetrequency=%d.", freq );
-    if ( freq != expectedFreq )
-    {
-        INFO_2( "Failed: freq=%d, expectedFreq=%d.", freq, expectedFreq);
-        err = KErrUnexpectedValue;
-    }    
-    return err;
-}
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::PresetChanged()
-// Returns: None
-// -----------------------------------------------------------------------------
-void CPresetUtilityTestModule::PresetChanged
-    ( MPresetUtilityObserver::TPresetChangeEvent /*aChange*/, TInt /*aIndex*/ )
-    {
-    FUNC_LOG;   
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::MrpeoPresetChanged()
-// Returns: None
-// -----------------------------------------------------------------------------
-void CPresetUtilityTestModule::MrpeoPresetChanged
-    ( MRadioPresetObserver::TPresetChangeEvent /*aChange*/, TInt /*aIndex*/ )
-    {
-    FUNC_LOG;   
-    }
-
-// -----------------------------------------------------------------------------
-// CFmPresetUtilityTestModule::SetPresetUrlL()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SetPresetUrlL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt index;
-    TPtrC urlName;
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: Preset index." );
-    }
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    if ( aItem.GetNextString(urlName) )
-    {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: URL name." );
-    }
-    aItem.SetParsingType( CStifItemParser::ENormalParsing );
-    
-    TFmPresetUrl presetName( urlName );   
-    TRAP(ret, iRadioFmPresetUtility->SetPresetUrlL(index, urlName ));
-    INFO_2("SetPresetUrlL: Index=%d, urlName=%S", index, &urlName  );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SetPresetPtyL()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SetPresetPtyL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt index( 0 );
-    TInt PTYCode( 0 );
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: Preset index." );
-        }
-    if  ( !ret && aItem.GetNextInt(PTYCode) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: PTYCode." );
-        }
-    iRadioFmPresetUtility->SetPresetPtyL( index, PTYCode );  
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SetPresetPICodeL()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SetPresetPICodeL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt index( 0 );
-    TInt PICode( 0 );
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: Preset index." );
-        }
-    if  ( !ret && aItem.GetNextInt(PICode) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: PICode." );
-        }
-    iRadioFmPresetUtility->SetPresetPICodeL( index, PICode );  
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SetPresetFavouriteInfoL()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SetPresetFavouriteInfoL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt index( 0 );
-    TInt favouriteInt( 0 );
-    TBool favouriteStatus( EFalse );
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: Preset index." );
-        }
-    if  ( !ret && aItem.GetNextInt(favouriteInt) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: favouriteInt." );
-        }
-    if ( favouriteInt )
-        {
-        favouriteStatus = ETrue;
-        }
-    iRadioFmPresetUtility->SetPresetFavouriteInfoL( index, favouriteStatus );  
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SetPresetUserRenameInfoL()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SetPresetUserRenameInfoL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt index( 0 );
-    TInt renameInt( 0 );
-    TBool renameStatus( EFalse );
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: Preset index." );
-        }
-    if  ( !ret && aItem.GetNextInt(renameInt) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: renameInt." );
-        }
-    if ( renameInt )
-        {
-        renameStatus = ETrue;
-        }
-    iRadioFmPresetUtility->SetPresetUserRenameInfoL ( index, renameStatus );  
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetPresetUrlL()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetPresetUrlL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt index;
-    TPtrC expectedUrlName;
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-    {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: Preset index." );
-    }
-    aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing );
-    if ( aItem.GetNextString(expectedUrlName) )
-    {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: Expected preset name." );
-    }
-    TPtrC stifScriptEmptyString( KStifScriptEmptyString );
-    if ( !stifScriptEmptyString.Compare( expectedUrlName ) )
-        {
-        TPtrC emptyString( KEmptyString );
-        expectedUrlName.Set(emptyString);
-        }
-    INFO_1( "ExpectedUrlName=%S.", &expectedUrlName  );
-
-    TFmPresetUrl urlName;
-    TRAP(ret, iRadioFmPresetUtility->GetPresetUrlL(index,urlName));
-    INFO_2( "GetPresetUrlL Index=%d, urlName=%S", index, &urlName  );
-    if ( !ret )
-    {
-        // Verification
-        if ( urlName != expectedUrlName )
-        {
-            INFO_2( "Failed: urlName=%S, expectedUrlName=%S.", &urlName, &expectedUrlName  );
-            ret = KErrUnexpectedValue;
-        }
-    }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetPresetPtyL()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetPresetPtyL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt index( 0 );
-    TUint expectedPTYCode( 0 );
-    TUint PTYCode( 0 );
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: Preset index." );
-        }
-    if  ( !ret && aItem.GetNextInt(expectedPTYCode) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: expectedPTYCode." );
-        }
-    if ( !ret )
-        {
-        INFO_1( "GetPresetPTYCodeL=%d.", expectedPTYCode );
-        TRAP( ret, iRadioFmPresetUtility->GetPresetPtyL( index, PTYCode ) );
-        if ( PTYCode != expectedPTYCode )
-            {
-            INFO_2( "Failed: PTYCode=%d, expectedPTYCode=%d.", PTYCode, expectedPTYCode );
-            ret = KErrUnexpectedValue;
-            }
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetPresetPICodeL()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetPresetPICodeL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt index( 0 );
-    TUint expectedPICode( 0 );
-    TUint PICode( 0 );
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: Preset index." );
-        }
-    if  ( !ret && aItem.GetNextInt(expectedPICode) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: expectedPICode." );
-        }
-    if ( !ret )
-        {
-        INFO_1( "GetPresetPICodeL=%d.", expectedPICode );
-        TRAP( ret, iRadioFmPresetUtility->GetPresetPICodeL( index, PICode ) );
-        if ( PICode != expectedPICode )
-            {
-            INFO_2( "Failed: PICode=%d, expectedPICode=%d.", PICode, expectedPICode );
-            ret = KErrUnexpectedValue;
-            }
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetPresetFavouriteInfoL()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetPresetFavouriteInfoL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;
-    TInt ret( KErrNone );
-    TInt index( 0 );
-    TInt expectedFavourite( 0 );
-    TBool favouriteStatus( EFalse );
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: Preset index." );
-        }
-    if  ( !ret && aItem.GetNextInt(expectedFavourite) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: expectedFavourite." );
-        }
-    if ( !ret )
-        {
-        INFO_1( "GetPresetFavouriteInfoL=%d.", expectedFavourite );
-        TRAP( ret, iRadioFmPresetUtility->GetPresetFavouriteInfoL( index, favouriteStatus ) );
-        if ( !( ( favouriteStatus && expectedFavourite ) || 
-                ( !favouriteStatus && !expectedFavourite ) ) )
-            {
-            INFO_2( "Failed: favouriteStatus=%d, expectedFavourite=%d.", favouriteStatus, expectedFavourite );
-            ret = KErrUnexpectedValue;
-            }
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::GetPresetUserRenameInfoL()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::GetPresetUserRenameInfoL( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt index( 0 );
-    TInt expectedRename( 0 );
-    TBool renameStatus( EFalse );
-    
-    // read parameters
-    if ( aItem.GetNextInt(index) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: Preset index." );
-        }
-    if  ( !ret && aItem.GetNextInt(expectedRename) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: expectedRename." );
-        }
-    if ( !ret )
-        {
-        INFO_1( "GetPresetUserRenameInfoL=%d.", expectedRename );
-        TRAP( ret, iRadioFmPresetUtility->GetPresetUserRenameInfoL( index, renameStatus ) );
-        if ( !( ( renameStatus && expectedRename ) || 
-                ( !renameStatus && !expectedRename ) ) )
-            {
-            INFO_2( "Failed: renameStatus=%d, expectedRename=%d.", renameStatus, expectedRename );
-            ret = KErrUnexpectedValue;
-            }
-       }
-
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SetFavorite()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SetFavorite( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TBool favoriteStatus( EFalse );
-    if  ( !ret && aItem.GetNextInt(favoriteStatus) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: favoriteStatus." );
-        }
-    iPreset->SetFavorite( favoriteStatus );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::Favorite()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::Favorite( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt expectedFavorite( 0 );
-    TBool favoriteStatus( EFalse );
-    if  ( !ret && aItem.GetNextInt(expectedFavorite) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: expectedFavorite." );
-        }
-    favoriteStatus = iPreset->Favorite();
-    if ( !( ( favoriteStatus && expectedFavorite ) || 
-            ( !favoriteStatus && !expectedFavorite ) ) )
-        {
-        INFO_2( "Failed: favoriteStatus=%d, expectedFavorite=%d.", favoriteStatus, expectedFavorite );
-        ret = KErrUnexpectedValue;
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SetLocalStation()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SetLocalStation( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TBool localStationStatus( EFalse );
-    if  ( !ret && aItem.GetNextInt(localStationStatus) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: localStationStatus." );
-        }
-    iPreset->SetLocalStation( localStationStatus );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::LocalStation()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::LocalStation( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt expectedLocalStationStatus( 0 );
-    TBool localStationStatus( EFalse );
-    if  ( !ret && aItem.GetNextInt(expectedLocalStationStatus) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: expectedLocalStationStatus." );
-        }
-    localStationStatus = iPreset->LocalStation();
-    if ( !( ( localStationStatus && expectedLocalStationStatus ) || 
-            ( !localStationStatus && !expectedLocalStationStatus ) ) )
-        {
-        INFO_2( "Failed: localStationStatus=%d, expectedLocalStationStatus=%d.", localStationStatus, expectedLocalStationStatus );
-        ret = KErrUnexpectedValue;
-        }
-    return ret;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SetRenamedByUser()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SetRenamedByUser( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TBool renameStatus( EFalse );
-    if  ( !ret && aItem.GetNextInt(renameStatus) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: renameStatus." );
-        }
-    iPreset->SetRenamedByUser( renameStatus );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::RenamedByUser()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::RenamedByUser( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt expectedRename( 0 );
-    TBool renameStatus( EFalse );
-    if  ( !ret && aItem.GetNextInt(expectedRename) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: expectedRename." );
-        }
-    renameStatus = iPreset->RenamedByUser();
-    if ( !( ( renameStatus && expectedRename ) || 
-            ( !renameStatus && !expectedRename ) ) )
-        {
-        INFO_2( "Failed: renameStatus=%d, expectedRename=%d.", renameStatus, expectedRename );
-        ret = KErrUnexpectedValue;
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SetGenre()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SetGenre( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt genre( 0 );
-    if  ( !ret && aItem.GetNextInt(genre) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: genre." );
-        }
-    iPreset->SetGenre( genre );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::Genre()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::Genre( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt expectedGenre( 0 );
-    TInt genre( 0 );
-    if  ( !ret && aItem.GetNextInt(expectedGenre) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: expectedGenre." );
-        }
-    genre = iPreset->Genre();
-    if ( genre != expectedGenre )
-        {
-        INFO_2( "Failed: genre=%d, expectedGenre=%d.", genre, expectedGenre );
-        ret = KErrUnexpectedValue;
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::SetPiCode()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::SetPiCode( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt piCode( 0 );
-    if  ( !ret && aItem.GetNextInt(piCode) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: piCode." );
-        }
-    iPreset->SetPiCode( piCode );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModule::PiCode()
-// Returns: None
-// -----------------------------------------------------------------------------
-TInt CPresetUtilityTestModule::PiCode( CStifItemParser& aItem )
-    {
-    FUNC_LOG;   
-    TInt ret( KErrNone );
-    TInt expectedPiCode( 0 );
-    TInt piCode( 0 );
-    if  ( !ret && aItem.GetNextInt(expectedPiCode) )
-        {
-        ret = KErrBadTestParameter;
-        ERROR( ret, "Missing Parameter: expectedPiCode." );
-        }
-    piCode = iPreset->PiCode();
-    if ( piCode != expectedPiCode )
-        {
-        INFO_2( "Failed: piCode=%d, expectedPiCode=%d.", piCode, expectedPiCode );
-        ret = KErrUnexpectedValue;
-        }
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CPresetUtilityTestModuleModule::?member_function
-// ?implementation_description
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-/*
-TInt CPresetUtilityTestModule::?member_function(
-   CItemParser& aItem )
-   {
-   FUNC_LOG;
-
-   ?code
-
-   }
-*/
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
-//  [End of File] - Do not remove
--- a/mmserv/radioutility/radio_utility/group/Radio_Utility.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/group/Radio_Utility.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -46,4 +46,3 @@
 LIBRARY		euser.lib 
 LIBRARY		RadioSession.lib
 LIBRARY		CustomInterfaceUtility.lib 
-LIBRARY		flogger.lib 
--- a/mmserv/radioutility/radio_utility/inc/trace.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,596 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-* Trace macro definitions.
-*
-*/
-
-#ifndef TRACE_H
-#define TRACE_H
-
-#include <e32base.h> // TCleanupItem
-#include "traceconfiguration.hrh"
-
-#ifdef TRACE_INTO_FILE
-#include <flogger.h> // RFileLogger
-#else
-#include <e32debug.h> // RDebug
-#endif
-
-//-----------------------------------------------------------------------------
-// Constants
-//-----------------------------------------------------------------------------
-//
-
-// NOTE!
-// Replace all COMPONENT_NAME occurnaces with your own component / module name.
-
-/**
-* Prefix trace macro to complete tracing with component name.
-* Returns TDesC which can be used directly with RDebug or RFileLogger.
-*/
-#define _PREFIX_TRACE( aMsg ) TPtrC( (const TText*)L"[Radio_Utility]: " L##aMsg )
-
-/**
-* Prefix error trace
-*/
-#define _PREFIX_ERROR( aMsg ) _PREFIX_TRACE( "[ERROR: %d]: " L##aMsg )
-
-/**
-* Prefix info trace.
-*/
-#define _PREFIX_INFO( aMsg ) _PREFIX_TRACE( "[INFO]: " L##aMsg )
-
-/**
-* Prefix macro for strings
-*/
-#define _PREFIX_CHAR( aMsg ) (const char*)"[Radio_Utility]: " ##aMsg
-
-/**
-* Define needed directories if TRACE_INTO_FILE macro in use
-*/
-#ifdef TRACE_INTO_FILE
-
-    _LIT( KDir, "radio" );
-    _LIT( KFile, "radio.txt" );
-    _LIT( KFullPath, "c:\\logs\\radio\\" );
-
-#endif
-
-//-----------------------------------------------------------------------------
-// Error trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef ERROR_TRACE
-
-    /**
-    * Error trace definitions.
-    */
-    #ifdef TRACE_INTO_FILE
-
-        #define ERROR( aErr, aMsg )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr );\
-                }\
-            }
-        #define ERROR_1( aErr, aMsg, aP1 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1 );\
-                }\
-            }
-        #define ERROR_2( aErr, aMsg, aP1, aP2 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2 );\
-                }\
-            }
-        #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3 );\
-                }\
-            }
-        #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4 );\
-                }\
-            }
-        #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\
-                }\
-            }
-        #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\
-                }\
-            }
-            
-    #else//TRACE_INTO_FILE not defined
-    
-        #define ERROR( aErr, aMsg )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr );\
-                }\
-            }
-        #define ERROR_1( aErr, aMsg, aP1 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1 );\
-                }\
-            }
-        #define ERROR_2( aErr, aMsg, aP1, aP2 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2 );\
-                }\
-            }
-        #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3 );\
-                }\
-            }
-        #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4 );\
-                }\
-            }
-        #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\
-                }\
-            }
-        #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5, aP6 );\
-                }\
-            }
-    
-    #endif//TRACE_INTO_FILE
-
-    #define ERROR_GEN( aMsg ) ERROR( KErrGeneral, aMsg )
-    #define ERROR_GEN_1( aMsg, aP1 ) ERROR_1( KErrGeneral, aMsg, aP1 )
-    #define ERROR_GEN_2( aMsg, aP1, aP2 ) ERROR_2( KErrGeneral, aMsg, aP1, aP2 )
-    #define ERROR_GEN_3( aMsg, aP1, aP2, aP3 ) ERROR_3( KErrGeneral, aMsg, aP1, aP3 )
-    #define ERROR_GEN_4( aMsg, aP1, aP2, aP3, aP4 ) ERROR_4( KErrGeneral, aMsg, aP1, aP3, aP4 )
-    #define ERROR_GEN_5( aMsg, aP1, aP2, aP3, aP4, aP5 ) ERROR_5( KErrGeneral, aMsg, aP1, aP3, aP4, aP5 )
-    #define ERROR_GEN_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 ) ERROR_6( KErrGeneral, aMsg, aP1, aP3, aP4, aP5, aP6 )
-
-#else//ERROR_TRACE not defined
-
-    #define ERROR( aErr, aMsg )
-    #define ERROR_1( aErr, aMsg, aP1 )
-    #define ERROR_2( aErr, aMsg, aP1, aP2 )
-    #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 )
-    #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 )
-    #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 )
-    #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )
-
-    #define ERROR_GEN( aMsg )
-    #define ERROR_GEN_1( aMsg, aP1 )
-    #define ERROR_GEN_2( aMsg, aP1, aP2 )
-    #define ERROR_GEN_3( aMsg, aP1, aP2, aP3 )
-    #define ERROR_GEN_4( aMsg, aP1, aP2, aP3, aP4 )
-    #define ERROR_GEN_5( aMsg, aP1, aP2, aP3, aP4, aP5 )
-    #define ERROR_GEN_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )
-
-#endif//ERROR_TRACE
-
-//-----------------------------------------------------------------------------
-// TRAP and trace with error macro
-//-----------------------------------------------------------------------------
-//
-#define TRAP_ERROR( aErr, aFunction )\
-    {\
-    TRAP( aErr, aFunction );\
-    TPtrC8 file( ( TText8* )__FILE__ );\
-    ERROR_2( aErr, "Trapped leave in '%S' line %d", &file, __LINE__);\
-    }
-
-//-----------------------------------------------------------------------------
-// Info trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef INFO_TRACE
-
-    /**
-    * Info log message definitions.
-    */
-    #ifdef TRACE_INTO_FILE
-    
-        #define INFO( aMsg )\
-            {\
-            RFileLogger::Write( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ) );\
-            }
-        #define INFO_1( aMsg, aP1 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1 );\
-            }
-        #define INFO_2( aMsg, aP1, aP2 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2 );\
-            }
-        #define INFO_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3 );\
-            }
-        #define INFO_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4 );\
-            }
-        #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5 );\
-            }
-        #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5, aP6 );\
-            }
-
-    #else//TRACE_INTO_FILE not defined
-
-        #define INFO( aMsg )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ) );\
-            }
-        #define INFO_1( aMsg, aP1 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1 );\
-            }
-        #define INFO_2( aMsg, aP1, aP2 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2 );\
-            }
-        #define INFO_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3 );\
-            }
-        #define INFO_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4 );\
-            }
-        #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5 );\
-            }
-        #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5, aP6 );\
-            }
-
-    #endif//TRACE_INTO_FILE
-        
-#else//INFO_TRACE not defined
-
-    #define INFO( aMsg )
-    #define INFO_1( aMsg, aP1 )
-    #define INFO_2( aMsg, aP1, aP2 )
-    #define INFO_3( aMsg, aP1, aP2, aP3 )
-    #define INFO_4( aMsg, aP1, aP2, aP3, aP4 )
-    #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 )
-    #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )
-
-#endif//INFO_TRACE
-
-//-----------------------------------------------------------------------------
-// Trace current client thread name and process id
-//-----------------------------------------------------------------------------
-//
-#ifdef CLIENT_TRACE
-
-    #define CLIENT_PROCESS\
-        {\
-        CLIENT_PROCESS_PREFIX( "" );\
-        }        
-
-    #define CLIENT_PROCESS_PREFIX( aPrefix )\
-        {\
-        RProcess process;\
-        TPtrC name( process.Name() );\
-        TSecureId sid( process.SecureId() );\
-        TPtrC prefix( _S( aPrefix ) );\
-        if( prefix.Length() )\
-            {\
-            INFO_3( "%S: CLIENT - Name: [%S], Sid: [0x%x]", &prefix, &name, sid.iId );\
-            }\
-        else\
-            {\
-            INFO_2( "CLIENT - Name: [%S], Sid: [0x%x]", &name, sid.iId );\
-            }\
-        process.Close();\
-        }        
-
-    #define CLIENT_MESSAGE( aMsg )\
-        {\
-        CLIENT_MESSAGE_PREFIX( "", aMsg );\
-        }
-
-    #define CLIENT_MESSAGE_PREFIX( aPrefix, aMsg )\
-        {\
-        RThread thread;\
-        TInt err = aMsg.Client( thread );\
-        if( err == KErrNone )\
-            {\
-            RProcess process;\
-            err = thread.Process( process );\
-            if( err == KErrNone )\
-                {\
-                TPtrC threadName( thread.Name() );\
-                TUid processUid( process.SecureId() );\
-                TPtrC prefix( _S( aPrefix ) );\
-                if( prefix.Length() )\
-                    {\
-                    INFO_4( "%S: MSG - Name: [%S], Sid: [0x%x], Message ID: [%d]",\
-                        &prefix,\
-                        &threadName,\
-                        processUid,\
-                        aMsg.Function() );\
-                    }\
-                else\
-                    {\
-                    INFO_3( "MSG - Name: [%S], Sid: [0x%x], Message ID: [%d]",\
-                        &threadName,\
-                        processUid,\
-                        aMsg.Function() );\
-                    }\
-                }\
-            process.Close();\
-            }\
-        thread.Close();\
-        }
-
-#else
-
-    #define CLIENT_PROCESS
-    #define CLIENT_PROCESS_PREFIX( aPrefix )
-    #define CLIENT_MESSAGE( aMsg )
-    #define CLIENT_MESSAGE_PREFIX( aPrefix, aMsg )
-
-#endif
-
-//-----------------------------------------------------------------------------
-// Function trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef FUNC_TRACE
-
-    /**
-    * Function logging definitions.
-    */
-    #ifdef TRACE_INTO_FILE
-    
-        #define FUNC( aMsg, aP1 )\
-            {\
-            TPtrC8 trace( _S8( aMsg ) );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, trace, aP1 );\
-            }\
-    
-    #else//TRACE_INTO_FILE not defined
-    
-        #define FUNC( aMsg, aP1 )\
-            {\
-            RDebug::Printf( aMsg, aP1 );\
-            }\
-    
-    #endif//TRACE_INTO_FILE
-        
-    /**
-    * Function trace helper class.
-    * 
-    * NOTE:
-    * LC -methods cannot be trapped. Therefore if LC -method leaves
-    * END trace is used instead of LEAVE trace.
-    * If you have an idea how to round this problem please tell.
-    */
-    _LIT8( KFuncNameTerminator, "(" );
-    _LIT8( KFuncLeavePatternL, "L" );
-    class TFuncLog
-        {
-        public:
-            static void Cleanup( TAny* aPtr )
-                {
-                TFuncLog* self = static_cast< TFuncLog* >( aPtr );
-                self->iLeft = ETrue;
-                FUNC( _PREFIX_CHAR("%S-LEAVE"), &self->iFunc ); // Leave detected
-                }
-            inline TFuncLog( const char* aFunc ) :
-                    iFunc( aFunc ? _S8( aFunc ) : _S8("") ),
-                    iLeft( EFalse ),
-                    iCleanupItem( Cleanup, this ),
-                    iCanLeave( EFalse )
-                {
-                TInt pos( iFunc.Find( KFuncNameTerminator ) );
-                if( pos != KErrNotFound )
-                    {
-                    iFunc.Set( iFunc.Left( pos ) );
-                    iCanLeave = !iFunc.Right( KFuncLeavePatternL().Length() ).Compare( KFuncLeavePatternL );
-                    if ( iCanLeave )
-                        {
-                        CleanupStack::PushL( iCleanupItem ); // Ignore warnings
-                        }
-                    }
-                FUNC( _PREFIX_CHAR("%S-START"), &iFunc );
-                }
-
-            inline ~TFuncLog()
-                {
-                if ( !iLeft )
-                    {
-                    if ( iCanLeave )
-                        {
-                        CleanupStack::Pop( this ); // Pop the cleanup item
-                        }
-                    FUNC( _PREFIX_CHAR("%S-END"), &iFunc ); // Normally finished
-                    }
-                }
-
-        private: // Data
-            TPtrC8 iFunc;
-            TBool iLeft;
-            TCleanupItem iCleanupItem;
-            TBool iCanLeave;
-        };
-    #define FUNC_LOG TFuncLog _fl( __PRETTY_FUNCTION__ );
-    
-#else//FUNC_TRACE not defined
-
-    #define FUNC_LOG
-
-#endif//FUNC_TRACE
-
-//-----------------------------------------------------------------------------
-// Timestamp trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef TIMESTAMP_TRACE
-
-    #ifdef TRACE_INTO_FILE
-    
-        #define TIMESTAMP( aCaption )\
-            {\
-            TTime t;\
-            t.HomeTime();\
-            TDateTime dt = t.DateTime();\
-            _LIT( KCaption, aCaption );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend,\
-                _PREFIX_TRACE("[TIMESTAMP] %S %d:%02d:%02d.%d us"),\
-                    &KCaption, dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond() );\
-            }
-
-    #else//TRACE_INTO_FILE not defined
-    
-        #define TIMESTAMP( aCaption )\
-            {\
-            TTime t;\
-            t.HomeTime();\
-            TDateTime dt = t.DateTime();\
-            _LIT( KCaption, aCaption );\
-            RDebug::Print( _PREFIX_TRACE("[TIMESTAMP] %S %d:%02d:%02d.%d us"),\
-                &KCaption, dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond() );\
-            }
-
-    #endif//TRACE_INTO_FILE
-
-#else//TIMESTAMP_TRACE not defined
-
-    #define TIMESTAMP( aCaption )
-
-#endif//TIMESTAMP_TRACE
-
-#ifdef HEAP_TRACE
-
-    #ifdef TRACE_INTO_FILE
-
-        #define HEAP( aMsg )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace );\
-            }
-        #define HEAP_1( aMsg, aP1 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1 );\
-            }
-        #define HEAP_2( aMsg, aP1, aP2 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2 );\
-            }
-        #define HEAP_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3 );\
-            }
-        #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3, aP4 );\
-            }
-
-    #else//TRACE_INTO_FILE not defined
-
-        #define HEAP( aMsg )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace );\
-            }
-        #define HEAP_1( aMsg, aP1 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1 );\
-            }
-        #define HEAP_2( aMsg, aP1, aP2 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2 );\
-            }
-        #define HEAP_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3 );\
-            }
-        #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3, aP4 );\
-            }
-
-    #endif//TRACE_INTO_FILE
-
-#else//HEAP_TRACE not defined
-
-    #define HEAP( aMsg )
-    #define HEAP_1( aMsg, aP1 )
-    #define HEAP_2( aMsg, aP1, aP2 )
-    #define HEAP_3( aMsg, aP1, aP2, aP3 )
-    #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 )
-
-#endif//HEAP_TRACE
-
-#endif
-
--- a/mmserv/radioutility/radio_utility/inc/traceconfiguration.hrh	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-* Trace Macro Configurations.
-*
-*/
-
-#ifndef TRACECONFIGURATION_HRH
-#define TRACECONFIGURATION_HRH
-
-//-----------------------------------------------------------------------------
-// Trace definitions
-//-----------------------------------------------------------------------------
-//
-
-/**
-* Error trace enabled
-*/
-#ifdef _DEBUG
-    #define ERROR_TRACE
-#else
-    #undef ERROR_TRACE
-#endif
-
-/**
-* Info trace enabled
-*/
-#ifdef _DEBUG
-    #define INFO_TRACE
-#else
-    #undef INFO_TRACE
-#endif
-
-/**
-* Timestamp tracing on
-*/
-#ifdef _DEBUG
-    #define TIMESTAMP_TRACE
-#else
-    #undef TIMESTAMP_TRACE
-#endif
-
-/**
-* Tracing current client process and thread
-*/
-#ifdef _DEBUG
-    #define CLIENT_TRACE
-#else
-    #undef CLIENT_TRACE
-#endif
-
-/**
-* Function trace enabled
-*/
-#ifdef _DEBUG
-    #define FUNC_TRACE
-#else
-    #undef FUNC_TRACE
-#endif
-
-/**
-* Tracing into file enabled, default RDebug
-*/
-#undef TRACE_INTO_FILE
-
-#endif
-
--- a/mmserv/radioutility/radio_utility/src/RadioFmTunerUtility.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioFmTunerUtility.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -18,7 +18,6 @@
 
 #include <RadioFmTunerUtility.h>
 #include "RadioFmTunerUtilityBody.h"
-#include "trace.h"
 
 // -----------------------------------------------------------------------------
 // CRadioFmTunerUtility::NewL
@@ -29,7 +28,6 @@
     RRadioSession& aRadioSession,
     MRadioFmTunerObserver& aObserver)
     {
-    FUNC_LOG;
     CRadioFmTunerUtility* self = new(ELeave) CRadioFmTunerUtility;
     CleanupStack::PushL(self);
     self->iBody = CRadioFmTunerUtility::CBody::NewL(aRadioSession, aObserver);
@@ -44,7 +42,6 @@
 //
 EXPORT_C CRadioFmTunerUtility::~CRadioFmTunerUtility()
     {
-    FUNC_LOG;
     delete iBody;
     }
 
@@ -55,7 +52,6 @@
 //
 CRadioFmTunerUtility::CRadioFmTunerUtility()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -65,7 +61,6 @@
 //
 EXPORT_C void CRadioFmTunerUtility::RequestTunerControl()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->RequestTunerControl();
     }
@@ -77,7 +72,6 @@
 //
 EXPORT_C void CRadioFmTunerUtility::Close()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->Close();
     }
@@ -90,7 +84,6 @@
 EXPORT_C TInt CRadioFmTunerUtility::GetCapabilities(
     TFmTunerCapabilities& aCaps)
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetCapabilities(aCaps);
     }
@@ -104,7 +97,6 @@
     TBool aEnable )
 
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->EnableTunerInOfflineMode(aEnable);
     }
@@ -117,7 +109,6 @@
 EXPORT_C void CRadioFmTunerUtility::SetFrequency(
     TInt aFrequency )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->SetFrequency(aFrequency);
     }
@@ -129,7 +120,6 @@
 //
 EXPORT_C void CRadioFmTunerUtility::CancelSetFrequency()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->CancelSetFrequency();
     }
@@ -142,7 +132,6 @@
 EXPORT_C TInt CRadioFmTunerUtility::GetFrequency(
     TInt& aFrequency ) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetFrequency(aFrequency);
     }
@@ -155,7 +144,6 @@
 EXPORT_C void CRadioFmTunerUtility::SetFrequencyRange(
     TFmRadioFrequencyRange aRange )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->SetFrequencyRange(aRange);
     }
@@ -167,7 +155,6 @@
 //
 EXPORT_C void CRadioFmTunerUtility::CancelSetFrequencyRange()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->CancelSetFrequencyRange();
     }
@@ -182,7 +169,6 @@
     TInt& aMinFreq,
     TInt& aMaxFreq ) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetFrequencyRange(aRange, aMinFreq, aMaxFreq);
     }
@@ -195,7 +181,6 @@
 EXPORT_C void CRadioFmTunerUtility::StationSeek(
     TBool aUpwards )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->StationSeek(aUpwards);
     }
@@ -207,7 +192,6 @@
 //
 EXPORT_C void CRadioFmTunerUtility::CancelStationSeek()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->CancelStationSeek();
     }
@@ -220,7 +204,6 @@
 EXPORT_C TInt CRadioFmTunerUtility::GetSignalStrength(
     TInt& aSignalStrength ) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetSignalStrength(aSignalStrength);
     }
@@ -233,7 +216,6 @@
 EXPORT_C TInt CRadioFmTunerUtility::GetMaxSignalStrength(
     TInt& aMaxSignalStrength ) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetMaxSignalStrength(aMaxSignalStrength);
     }
@@ -246,7 +228,6 @@
 EXPORT_C TInt CRadioFmTunerUtility::GetStereoMode(
     TBool& aStereo ) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetStereoMode(aStereo);
     }
@@ -259,7 +240,6 @@
 EXPORT_C TInt CRadioFmTunerUtility::ForceMonoReception(
     TBool aForcedMono )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->ForceMonoReception(aForcedMono);
     }
@@ -272,7 +252,6 @@
 EXPORT_C TInt CRadioFmTunerUtility::GetForcedMonoReception(
     TBool& aForcedMono ) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetForcedMonoReception(aForcedMono);
     }
@@ -285,7 +264,6 @@
 EXPORT_C TInt CRadioFmTunerUtility::SetSquelch(
     TBool aSquelch )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->SetSquelch(aSquelch);
     }
@@ -298,7 +276,6 @@
 EXPORT_C TInt CRadioFmTunerUtility::GetSquelch(
     TBool& aSquelch ) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetSquelch(aSquelch);
     }
--- a/mmserv/radioutility/radio_utility/src/RadioFmTunerUtilityBody.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioFmTunerUtilityBody.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -18,7 +18,6 @@
 
 #include "RadioFmTunerUtilityBody.h"
 #include "RadioUtilityBody.h"
-#include "trace.h"
 
 // -----------------------------------------------------------------------------
 // CRadioFmTunerUtility::CBody::NewL
@@ -29,8 +28,9 @@
     RRadioSession& aRadioSession,
     MRadioFmTunerObserver& aObserver )
     {
-    FUNC_LOG;
-    CRadioFmTunerUtility::CBody* s = new(ELeave) CRadioFmTunerUtility::CBody( aRadioSession, aObserver );
+    CRadioFmTunerUtility::CBody* s = new(ELeave) CRadioFmTunerUtility::CBody();
+    s->iRadioFmTunerUtilityClient = &aObserver;
+    s->iRadioSession = &aRadioSession;
     CleanupStack::PushL(s);
     s->ConstructL();
     CleanupStack::Pop();
@@ -44,21 +44,14 @@
 //
 void CRadioFmTunerUtility::CBody::ConstructL()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
 // CRadioFmTunerUtility::CBody::CBody
 // -----------------------------------------------------------------------------
 //
-CRadioFmTunerUtility::CBody::CBody( 
-        RRadioSession& aRadioSession,
-        MRadioFmTunerObserver& aObserver )
-    : iRadioSession(aRadioSession),
-    iRadioFmTunerUtilityClient(aObserver)
-   
+CRadioFmTunerUtility::CBody::CBody()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -67,7 +60,6 @@
 //
 CRadioFmTunerUtility::CBody::~CBody()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -77,8 +69,7 @@
 //
 void CRadioFmTunerUtility::CBody::RequestTunerControl()
     {
-    FUNC_LOG;
-    iRadioSession.RequestTunerControl( ERsTunerFm );
+    iRadioSession->RequestTunerControl( ERsTunerFm );
     }
 
 // -----------------------------------------------------------------------------
@@ -88,7 +79,6 @@
 //
 void CRadioFmTunerUtility::CBody::Close()
     {
-    FUNC_LOG;
     // Consider releasing tuner control here.
     }
 
@@ -100,9 +90,8 @@
 TInt CRadioFmTunerUtility::CBody::GetCapabilities(
     TFmTunerCapabilities& aCaps ) const
     {
-    FUNC_LOG;
     TRsTunerCapabilities caps;
-    TInt error = iRadioSession.GetTunerCapabilities( caps );
+    TInt error = iRadioSession->GetTunerCapabilities( caps );
 
     if ( !error )
         {
@@ -123,8 +112,7 @@
 TInt CRadioFmTunerUtility::CBody::EnableTunerInOfflineMode(
     TBool aEnable )
     {
-    FUNC_LOG;
-    return iRadioSession.EnableTunerInOfflineMode( aEnable );
+    return iRadioSession->EnableTunerInOfflineMode( aEnable );
     }
 
 // -----------------------------------------------------------------------------
@@ -137,10 +125,9 @@
     TInt& aMinFreq,
     TInt& aMaxFreq ) const
     {
-    FUNC_LOG;
 
     TRsFrequencyRange range;
-    TInt error = iRadioSession.GetFrequencyRange( range, aMinFreq, aMaxFreq );
+    TInt error = iRadioSession->GetFrequencyRange( range, aMinFreq, aMaxFreq );
     if ( !error )
         {
     switch ( range )
@@ -155,7 +142,10 @@
             break;
             }
         }
-    INFO_3("aRange = %d, aMinFreq = %d, aMaxFreq = %d", aRange, aMinFreq, aMaxFreq);
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioFmTunerUtility::CBody::GetFrequencyRange, aRange = %d, aMinFreq = %d, aMaxFreq = %d"),
+        aRange, aMinFreq, aMaxFreq);
+#endif
     return error;
     }
 
@@ -168,8 +158,9 @@
 void CRadioFmTunerUtility::CBody::SetFrequencyRange(
     TFmRadioFrequencyRange aRange )
     {
-    FUNC_LOG;
-    INFO_1("aRange = %d", aRange);
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioFmTunerUtility::CBody::SetFrequencyRange, aRange = %d"), aRange);
+#endif
     TRsFrequencyRange range = ERsRangeFmEuroAmerica;    //default
     switch (aRange)
         {
@@ -182,7 +173,7 @@
         default:
             break;
         }
-    iRadioSession.SetFrequencyRange( range );
+    iRadioSession->SetFrequencyRange( range );
     }
 
 
@@ -193,8 +184,7 @@
 //
 void CRadioFmTunerUtility::CBody::CancelSetFrequencyRange()
     {
-    FUNC_LOG;
-    iRadioSession.CancelSetFrequencyRange();
+    iRadioSession->CancelSetFrequencyRange();
     }
 
 // -----------------------------------------------------------------------------
@@ -205,9 +195,10 @@
 void CRadioFmTunerUtility::CBody::SetFrequency(
     TInt aFrequency )
     {
-    FUNC_LOG;
-    INFO_1("aFrequency = %d", aFrequency);
-    iRadioSession.SetFrequency(aFrequency);
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioFmTunerUtility::CBody::SetFrequency, aFrequency = %d"), aFrequency);
+#endif
+    iRadioSession->SetFrequency(aFrequency);
     }
 
 // -----------------------------------------------------------------------------
@@ -218,8 +209,7 @@
 //
 void CRadioFmTunerUtility::CBody::CancelSetFrequency()
     {
-    FUNC_LOG;
-    iRadioSession.CancelSetFrequency();
+    iRadioSession->CancelSetFrequency();
     }
 
 // -----------------------------------------------------------------------------
@@ -230,8 +220,7 @@
 TInt CRadioFmTunerUtility::CBody::GetFrequency(
     TInt& aFrequency ) const
     {
-    FUNC_LOG;
-    return iRadioSession.GetFrequency(aFrequency);
+    return iRadioSession->GetFrequency(aFrequency);
     }
 
 // -----------------------------------------------------------------------------
@@ -242,9 +231,10 @@
 void CRadioFmTunerUtility::CBody::StationSeek(
     TBool aUpwards )
     {
-    FUNC_LOG;
-    INFO_1("aUpwards = %d", aUpwards);
-    iRadioSession.StationSeek(aUpwards);
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioFmTunerUtility::CBody::StationSeek, aUpwards = %d"), aUpwards);
+#endif
+    iRadioSession->StationSeek(aUpwards);
     }
 
 // -----------------------------------------------------------------------------
@@ -254,8 +244,7 @@
 //
 void CRadioFmTunerUtility::CBody::CancelStationSeek()
     {
-    FUNC_LOG;
-    iRadioSession.CancelStationSeek();
+    iRadioSession->CancelStationSeek();
     }
 
 // -----------------------------------------------------------------------------
@@ -266,8 +255,7 @@
 TInt CRadioFmTunerUtility::CBody::GetSignalStrength(
     TInt& aSignalStrength ) const
     {
-    FUNC_LOG;
-    return iRadioSession.GetSignalStrength(aSignalStrength);
+    return iRadioSession->GetSignalStrength(aSignalStrength);
     }
 
 // -----------------------------------------------------------------------------
@@ -278,8 +266,7 @@
 TInt CRadioFmTunerUtility::CBody::GetMaxSignalStrength(
     TInt& aMaxSignalStrength ) const
     {
-    FUNC_LOG;
-    return iRadioSession.GetMaxSignalStrength(aMaxSignalStrength);
+    return iRadioSession->GetMaxSignalStrength(aMaxSignalStrength);
     }
 
 // -----------------------------------------------------------------------------
@@ -290,8 +277,7 @@
 TInt CRadioFmTunerUtility::CBody::GetStereoMode(
     TBool& aStereo ) const
     {
-    FUNC_LOG;
-    return iRadioSession.GetStereoMode(aStereo);
+    return iRadioSession->GetStereoMode(aStereo);
     }
 
 // -----------------------------------------------------------------------------
@@ -302,8 +288,7 @@
 TInt CRadioFmTunerUtility::CBody::ForceMonoReception(
     TBool aForcedMono)
     {
-    FUNC_LOG;
-    return iRadioSession.ForceMonoReception(aForcedMono);
+    return iRadioSession->ForceMonoReception(aForcedMono);
     }
 
 // -----------------------------------------------------------------------------
@@ -314,8 +299,7 @@
 TInt CRadioFmTunerUtility::CBody::GetForcedMonoReception(
     TBool& aForcedMono ) const
     {
-    FUNC_LOG;
-    return iRadioSession.GetForceMonoReception(aForcedMono);
+    return iRadioSession->GetForceMonoReception(aForcedMono);
     }
 
 // -----------------------------------------------------------------------------
@@ -326,8 +310,7 @@
 TInt CRadioFmTunerUtility::CBody::SetSquelch(
     TBool aSquelch )
     {
-    FUNC_LOG;
-    return iRadioSession.SetSquelch(aSquelch);
+    return iRadioSession->SetSquelch(aSquelch);
     }
 
 // -----------------------------------------------------------------------------
@@ -338,8 +321,7 @@
 TInt CRadioFmTunerUtility::CBody::GetSquelch(
     TBool& aSquelch ) const
     {
-    FUNC_LOG;
-    return iRadioSession.GetSquelch(aSquelch);
+    return iRadioSession->GetSquelch(aSquelch);
     }
 
 // End of File
--- a/mmserv/radioutility/radio_utility/src/RadioFmTunerUtilityBody.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioFmTunerUtilityBody.h	Wed Sep 01 12:23:00 2010 +0100
@@ -233,14 +233,14 @@
 private:
 
     void ConstructL();
-    CBody( RRadioSession& aRadioSession, MRadioFmTunerObserver& aObserver );
+    CBody();
 
 private: // data
 
     // The radio server session
-    RRadioSession& iRadioSession;
+    RRadioSession* iRadioSession; // not own
     // Tuner utility observer
-    MRadioFmTunerObserver& iRadioFmTunerUtilityClient;
+    MRadioFmTunerObserver* iRadioFmTunerUtilityClient; // not own
     };
 
 #endif  // C_RADIOFMTUNERUTILITY_H
--- a/mmserv/radioutility/radio_utility/src/RadioMonitor.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioMonitor.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -17,7 +17,6 @@
 
 
 #include "RadioMonitorBody.h"
-#include "trace.h"
 
 
 // ======== MEMBER FUNCTIONS ========
@@ -30,7 +29,6 @@
 EXPORT_C CRadioMonitor* CRadioMonitor::NewL(
     MRadioMonitorObserver& aObserver )
     {
-    FUNC_LOG;
     CRadioMonitor* self = new(ELeave) CRadioMonitor( aObserver );
     CleanupStack::PushL(self);
     self->iBody = CRadioMonitor::CBody::NewL( aObserver );
@@ -44,7 +42,6 @@
 //
 EXPORT_C CRadioMonitor::~CRadioMonitor()
     {
-    FUNC_LOG;
     delete iBody;
     }
 
@@ -56,7 +53,6 @@
 CRadioMonitor::CRadioMonitor(
     MRadioMonitorObserver& /*aObserver*/ )
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -67,7 +63,6 @@
 //
 EXPORT_C TBool CRadioMonitor::IsRadioOn() const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->IsRadioOn();
     }
--- a/mmserv/radioutility/radio_utility/src/RadioMonitorBody.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioMonitorBody.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -19,13 +19,6 @@
 #include <RadioMonitor.h>
 #include "RadioMonitorBody.h"
 #include "RadioServerData.h"
-#include "trace.h"
-
-// This has to be the last include. 
-#ifdef STUB_CONSTELLATION
-#   include "RadioStubManager.h"
-#   define KRadioServerPropertyCategory KStub_KRadioServerPropertyCategory
-#endif //STUB_CONSTELLATION
 
 // ======== MEMBER FUNCTIONS ========
 
@@ -37,8 +30,8 @@
 CRadioMonitor::CBody* CRadioMonitor::CBody::NewL(
     MRadioMonitorObserver& aObserver )
     {
-    FUNC_LOG;
-    CRadioMonitor::CBody* s = new(ELeave) CRadioMonitor::CBody( aObserver );
+    CRadioMonitor::CBody* s = new(ELeave) CRadioMonitor::CBody();
+    s->iRadioMonitorClient = &aObserver;
     CleanupStack::PushL(s);
     s->ConstructL();
     CleanupStack::Pop();
@@ -51,7 +44,6 @@
 //
 CRadioMonitor::CBody::~CBody()
     {
-    FUNC_LOG;
     Cancel();
     iProperty.Close();
     }
@@ -61,11 +53,9 @@
 // Two-phased constructor.
 // -----------------------------------------------------------------------------
 //
-CRadioMonitor::CBody::CBody( MRadioMonitorObserver& aObserver ) :
-    CActive(EPriorityStandard),
-    iRadioMonitorClient(aObserver)
+CRadioMonitor::CBody::CBody() :
+    CActive(EPriorityStandard)
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -75,7 +65,6 @@
 //
 void CRadioMonitor::CBody::ConstructL()
     {
-    FUNC_LOG;
     CActiveScheduler::Add(this);
 
     // Attach property
@@ -93,7 +82,6 @@
 //
 TBool CRadioMonitor::CBody::IsRadioOn() const
     {
-    FUNC_LOG;
     TBool radioState = ERadioStateOff;
     RProperty::Get(KRadioServerPropertyCategory,
                    KRadioServPsMonitorState,
@@ -109,7 +97,6 @@
 //
 void CRadioMonitor::CBody::RunL()
     {
-    FUNC_LOG;
     TBool radioState = ERadioStateOff;
 
     // Resubscribe before processing new value to prevent missing updates
@@ -119,11 +106,11 @@
     TInt error = iProperty.Get(radioState);
     if ( error == KErrNone )
         {
-        iRadioMonitorClient.MrmEvent((TRadioMonitorEvent)radioState);
+        iRadioMonitorClient->MrmEvent((TRadioMonitorEvent)radioState);
         }
     else if ( error == KErrNotFound )
         {
-        iRadioMonitorClient.MrmEvent(ERadioStateOff);
+        iRadioMonitorClient->MrmEvent(ERadioStateOff);
         }
     else
         {
@@ -138,7 +125,6 @@
 //
 void CRadioMonitor::CBody::DoCancel()
     {
-    FUNC_LOG;
     iProperty.Cancel();
     }
 
--- a/mmserv/radioutility/radio_utility/src/RadioMonitorBody.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioMonitorBody.h	Wed Sep 01 12:23:00 2010 +0100
@@ -78,14 +78,14 @@
 private:
 
     void ConstructL();
-    CBody( MRadioMonitorObserver& aObserver  );
+    CBody();
 
 private:
 
     // The monitored P&S key
     RProperty iProperty;
     // Radio monitoring client
-    MRadioMonitorObserver& iRadioMonitorClient;
+    MRadioMonitorObserver* iRadioMonitorClient;
 
     };
 
--- a/mmserv/radioutility/radio_utility/src/RadioPlayerUtility.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioPlayerUtility.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -19,7 +19,6 @@
 #include <RadioPlayerUtility.h>
 #include "RadioPlayerUtilityBody.h"
 #include "RadioSession.h"
-#include "trace.h"
 
 // ======== MEMBER FUNCTIONS ========
 
@@ -32,7 +31,6 @@
      RRadioSession& aRadioSession,
      MRadioPlayerObserver& aObserver)
     {
-    FUNC_LOG;
     CRadioPlayerUtility* self = new(ELeave) CRadioPlayerUtility;
     CleanupStack::PushL(self);
     self->iBody = CRadioPlayerUtility::CBody::NewL(aRadioSession, aObserver);
@@ -47,7 +45,6 @@
 //
 EXPORT_C CRadioPlayerUtility::~CRadioPlayerUtility()
     {
-    FUNC_LOG;
     delete iBody;
     }
 
@@ -58,7 +55,6 @@
 //
 CRadioPlayerUtility::CRadioPlayerUtility()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -68,7 +64,6 @@
 //
 EXPORT_C TPlayerState CRadioPlayerUtility::PlayerState() const
     {
-    FUNC_LOG;
     TPlayerState playerState;
     ASSERT(iBody);
     iBody->PlayerState(playerState);
@@ -84,7 +79,6 @@
 //
 EXPORT_C void CRadioPlayerUtility::Close()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->Close();
     }
@@ -97,7 +91,6 @@
 //
 EXPORT_C void CRadioPlayerUtility::Play()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->Play();
     }
@@ -110,7 +103,6 @@
 //
 EXPORT_C void CRadioPlayerUtility::Stop()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->Stop();
     }
@@ -123,7 +115,6 @@
 //
 EXPORT_C TInt CRadioPlayerUtility::Mute(TBool aMute)
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->Mute(aMute);
     }
@@ -136,7 +127,6 @@
 //
 EXPORT_C TBool CRadioPlayerUtility::IsMute()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->IsMute();
     }
@@ -150,7 +140,6 @@
 //
 EXPORT_C TInt CRadioPlayerUtility::SetVolume(TInt aVolume)
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->SetVolume(aVolume);
     }
@@ -163,7 +152,6 @@
 //
 EXPORT_C TInt CRadioPlayerUtility::GetVolume(TInt& aVolume) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetVolume(aVolume);
     }
@@ -177,7 +165,6 @@
 EXPORT_C TInt CRadioPlayerUtility::SetVolumeRamp(
     const TTimeIntervalMicroSeconds& aRampInterval)
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->SetVolumeRamp(aRampInterval);
     }
@@ -191,7 +178,6 @@
 EXPORT_C TInt CRadioPlayerUtility::GetMaxVolume(
     TInt& aMaxVolume ) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetMaxVolume(aMaxVolume);
     }
@@ -206,7 +192,6 @@
     TInt aLeftPercentage,
     TInt aRightPercentage )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->SetBalance(aLeftPercentage, aRightPercentage);
     }
@@ -221,7 +206,6 @@
     TInt& aLeftPercentage,
     TInt& aRightPercentage ) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetBalance(aLeftPercentage, aRightPercentage);
     }
@@ -235,7 +219,6 @@
 EXPORT_C TAny* CRadioPlayerUtility::CustomInterface(
     TUid aInterfaceId )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->CustomInterface(aInterfaceId);
     }
--- a/mmserv/radioutility/radio_utility/src/RadioPlayerUtilityBody.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioPlayerUtilityBody.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -20,7 +20,6 @@
 #include "RadioServerData.h"
 #include "RadioPlayerUtilityBody.h"
 #include "RadioSession.h"
-#include "trace.h"
 
 // ======== MEMBER FUNCTIONS ========
 
@@ -34,8 +33,9 @@
     RRadioSession& aRadioSession,
     MRadioPlayerObserver& aObserver )
     {
-    FUNC_LOG;
-    CRadioPlayerUtility::CBody* s = new(ELeave) CRadioPlayerUtility::CBody( aRadioSession, aObserver );
+    CRadioPlayerUtility::CBody* s = new(ELeave) CRadioPlayerUtility::CBody();
+    s->iRadioPlayerUtilityClient = &aObserver;
+    s->iRadioSession = &aRadioSession;
     CleanupStack::PushL(s);
     s->ConstructL();
     CleanupStack::Pop();
@@ -49,20 +49,14 @@
 //
 void CRadioPlayerUtility::CBody::ConstructL()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
 // CRadioPlayerUtility::CBody::CBody
 // -----------------------------------------------------------------------------
 //
-CRadioPlayerUtility::CBody::CBody(
-        RRadioSession& aRadioSession,
-        MRadioPlayerObserver& aObserver )
-    :iRadioSession(aRadioSession),
-    iRadioPlayerUtilityClient(aObserver)
+CRadioPlayerUtility::CBody::CBody()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -71,7 +65,6 @@
 //
 CRadioPlayerUtility::CBody::~CBody()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -84,10 +77,9 @@
 void CRadioPlayerUtility::CBody::PlayerState(
     TPlayerState& aPlayerState ) const
     {
-    FUNC_LOG;
     TRsPlayerState playerState;
 
-    if ( !iRadioSession.PlayerState( playerState ) )
+    if ( !iRadioSession->PlayerState( playerState ) )
         {
         aPlayerState = (TPlayerState)playerState;
         }
@@ -106,8 +98,7 @@
 //
 void CRadioPlayerUtility::CBody::Close()
     {
-    FUNC_LOG;
-    iRadioSession.Stop( ETrue );
+    iRadioSession->Stop( ETrue );
     }
 
 // -----------------------------------------------------------------------------
@@ -117,8 +108,7 @@
 //
 void CRadioPlayerUtility::CBody::Play()
     {
-    FUNC_LOG;
-    iRadioSession.Play();
+    iRadioSession->Play();
     }
 
 // -----------------------------------------------------------------------------
@@ -128,8 +118,7 @@
 //
 void CRadioPlayerUtility::CBody::Stop()
     {
-    FUNC_LOG;
-    iRadioSession.Stop();
+    iRadioSession->Stop();
     }
 
 // -----------------------------------------------------------------------------
@@ -140,8 +129,7 @@
 TInt CRadioPlayerUtility::CBody::Mute(
     TBool aMute )
     {
-    FUNC_LOG;
-    return iRadioSession.Mute( aMute );
+    return iRadioSession->Mute( aMute );
     }
 
 // -----------------------------------------------------------------------------
@@ -151,9 +139,8 @@
 //
 TBool CRadioPlayerUtility::CBody::IsMute()
     {
-    FUNC_LOG;
     TBool Mute = EFalse;
-    iRadioSession.GetMuteStatus( Mute );
+    iRadioSession->GetMuteStatus( Mute );
     return Mute;
     }
 
@@ -165,8 +152,7 @@
 TInt CRadioPlayerUtility::CBody::SetVolume(
     TInt aVolume )
     {
-    FUNC_LOG;
-    return iRadioSession.SetVolume( aVolume );
+    return iRadioSession->SetVolume( aVolume );
     }
 
 // -----------------------------------------------------------------------------
@@ -177,8 +163,7 @@
 TInt CRadioPlayerUtility::CBody::GetVolume(
     TInt& aVolume ) const
     {
-    FUNC_LOG;
-    return iRadioSession.GetVolume( aVolume );
+    return iRadioSession->GetVolume( aVolume );
     }
 
 // -----------------------------------------------------------------------------
@@ -189,8 +174,10 @@
 TInt CRadioPlayerUtility::CBody::SetVolumeRamp(
     const TTimeIntervalMicroSeconds& aRampInterval )
     {
-    FUNC_LOG;
-    return iRadioSession.SetVolumeRamp( aRampInterval );
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioPlayerUtility::CBody::SetVolumeRamp"));
+#endif
+    return iRadioSession->SetVolumeRamp( aRampInterval );
     }
 
 // -----------------------------------------------------------------------------
@@ -201,8 +188,7 @@
 TInt CRadioPlayerUtility::CBody::GetMaxVolume(
     TInt& aMaxVolume ) const
     {
-    FUNC_LOG;
-    return iRadioSession.GetMaxVolume( aMaxVolume );
+    return iRadioSession->GetMaxVolume( aMaxVolume );
     }
 
 // -----------------------------------------------------------------------------
@@ -214,9 +200,11 @@
     TInt aLeftPercentage,
     TInt aRightPercentage )
     {
-    FUNC_LOG;
-    INFO_2("aLeftPercentage = %d, aRightPercentage = %d", aLeftPercentage, aRightPercentage);
-    return iRadioSession.SetBalance( aLeftPercentage, aRightPercentage );
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioPlayerUtility::CBody::SetBalance, aLeftPercentage = %d, aRightPercentage = %d"),
+        aLeftPercentage, aRightPercentage);
+#endif
+    return iRadioSession->SetBalance( aLeftPercentage, aRightPercentage );
     }
 
 // -----------------------------------------------------------------------------
@@ -228,8 +216,7 @@
     TInt& aLeftPercentage,
     TInt& aRightPercentage ) const
     {
-    FUNC_LOG;
-    return iRadioSession.GetBalance( aLeftPercentage, aRightPercentage );
+    return iRadioSession->GetBalance( aLeftPercentage, aRightPercentage );
     }
 
 // -----------------------------------------------------------------------------
@@ -241,12 +228,13 @@
 TAny* CRadioPlayerUtility::CBody::CustomInterface(
     TUid aInterfaceId )
     {
-    FUNC_LOG;
-    INFO_1("aInterfaceId = %d", aInterfaceId);
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioPlayerUtility::CBody::CustomInterface, aInterfaceId = %d"), aInterfaceId);
+#endif
     TAny* ci = NULL;
     CCustomInterfaceUtility* customInterfaceUtil = NULL;
 
-    TRAPD( error, customInterfaceUtil = CCustomInterfaceUtility::NewL( iRadioSession ) );
+    TRAPD( error, customInterfaceUtil = CCustomInterfaceUtility::NewL( *iRadioSession ) );
 
     if ( !error )
         {
--- a/mmserv/radioutility/radio_utility/src/RadioPlayerUtilityBody.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioPlayerUtilityBody.h	Wed Sep 01 12:23:00 2010 +0100
@@ -185,14 +185,14 @@
 private:
 
     void ConstructL();
-    CBody( RRadioSession& aRadioSession, MRadioPlayerObserver& aObserver );
+    CBody();
 
 private: // data
 
     // The radio server session
-    RRadioSession& iRadioSession;
+    RRadioSession* iRadioSession; // not own
     // Player utility observer
-    MRadioPlayerObserver& iRadioPlayerUtilityClient;
+    MRadioPlayerObserver* iRadioPlayerUtilityClient; // not own
     };
 
 #endif  // C_RADIOPLAYERUTILITY_H
--- a/mmserv/radioutility/radio_utility/src/RadioRdsUtility.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioRdsUtility.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -17,7 +17,6 @@
 
 
 #include "RadioRdsUtilityBody.h"
-#include "trace.h"
 
 // -----------------------------------------------------------------------------
 // CRadioRdsUtility::NewL
@@ -28,7 +27,6 @@
     RRadioSession& aRadioSession,
     MRadioRdsObserver& aObserver)
     {
-    FUNC_LOG;
     CRadioRdsUtility* self = new(ELeave) CRadioRdsUtility;
     CleanupStack::PushL(self);
     self->iBody = CRadioRdsUtility::CBody::NewL(aRadioSession, aObserver);
@@ -43,8 +41,7 @@
 //
 CRadioRdsUtility::~CRadioRdsUtility()
     {
-    FUNC_LOG;
-    delete iBody;
+        delete iBody;
     }
 
 // -----------------------------------------------------------------------------
@@ -54,7 +51,6 @@
 //
 CRadioRdsUtility::CRadioRdsUtility()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -63,7 +59,6 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void CRadioRdsUtility::Close()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->Close();
     }
@@ -75,7 +70,6 @@
 EXPORT_C TInt CRadioRdsUtility::GetCapabilities(
     TRdsCapabilities& aCaps ) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetCapabilities(aCaps);
     }
@@ -87,7 +81,6 @@
 EXPORT_C TInt CRadioRdsUtility::GetRdsSignalStatus(
     TBool& aRdsSignal ) const
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetRdsSignalStatus( aRdsSignal );
     }
@@ -99,7 +92,6 @@
 EXPORT_C TInt CRadioRdsUtility::NotifyRdsDataChange(
     TRdsData aRdsData )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->NotifyRdsDataChange( aRdsData );
     }
@@ -110,7 +102,6 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void CRadioRdsUtility::CancelNotifyRdsDataChange()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->CancelNotifyRdsDataChange();
     }
@@ -122,7 +113,6 @@
 EXPORT_C TInt CRadioRdsUtility::SetAutomaticSwitching(
     TBool aAuto )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->SetAutomaticSwitching(aAuto);
     }
@@ -134,7 +124,6 @@
 EXPORT_C TInt CRadioRdsUtility::GetAutomaticSwitching(
     TBool& aAuto )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetAutomaticSwitching(aAuto);
     }
@@ -145,7 +134,6 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void CRadioRdsUtility::CancelAFSearch()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->CancelAFSearch();
     }
@@ -157,7 +145,6 @@
 EXPORT_C TInt CRadioRdsUtility::SetAutomaticTrafficAnnouncement(
     TBool aAuto )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->SetAutomaticTrafficAnnouncement(aAuto);
     }
@@ -169,7 +156,6 @@
 EXPORT_C TInt CRadioRdsUtility::GetAutomaticTrafficAnnouncement(
     TBool& aAuto )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetAutomaticTrafficAnnouncement(aAuto);
     }
@@ -182,7 +168,6 @@
     TRdsProgrammeType aPty,
     TBool aUpwards )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->StationSeekByPTY(aPty, aUpwards);
     }
@@ -194,7 +179,6 @@
 EXPORT_C void CRadioRdsUtility::StationSeekByTA(
     TBool aSeekUp )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->StationSeekByTA(aSeekUp);
     }
@@ -206,7 +190,6 @@
 EXPORT_C void CRadioRdsUtility::StationSeekByTP(
     TBool aSeekUp )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->StationSeekByTP(aSeekUp);
     }
@@ -217,7 +200,6 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void CRadioRdsUtility::CancelRdsStationSeek()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->CancelRdsStationSeek();
     }
@@ -229,7 +211,6 @@
 EXPORT_C void CRadioRdsUtility::GetFreqByPTY(
     TRdsProgrammeType aPty )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->GetFreqByPTY( aPty );
     }
@@ -240,7 +221,6 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void CRadioRdsUtility::CancelGetFreqByPTY()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->CancelGetFreqByPTY();
     }
@@ -251,7 +231,6 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void CRadioRdsUtility::GetFreqByTA()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->GetFreqByTA();
     }
@@ -262,7 +241,6 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void CRadioRdsUtility::CancelGetFreqByTA()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->CancelGetFreqByTA();
     }
@@ -274,7 +252,6 @@
 EXPORT_C void CRadioRdsUtility::GetPSByPTY(
     TRdsProgrammeType aPty )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->GetPSByPTY( aPty );
     }
@@ -285,7 +262,6 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void CRadioRdsUtility::CancelGetPSByPTY()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->CancelGetPSByPTY();
     }
@@ -296,7 +272,6 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void CRadioRdsUtility::GetPSByTA()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->GetPSByTA();
     }
@@ -307,7 +282,6 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void CRadioRdsUtility::CancelGetPSByTA()
     {
-    FUNC_LOG;
     ASSERT(iBody);
     iBody->CancelGetPSByTA();
     }
@@ -319,7 +293,6 @@
 EXPORT_C TInt CRadioRdsUtility::GetProgrammeIdentification(
     TInt& aPi )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetProgrammeIdentification( aPi );
     }
@@ -331,7 +304,6 @@
 EXPORT_C TInt CRadioRdsUtility::GetProgrammeType(
     TRdsProgrammeType& aPty )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetProgrammeType( aPty );
     }
@@ -343,7 +315,6 @@
 EXPORT_C TInt CRadioRdsUtility::GetProgrammeService(
     TRdsPSName& aPs )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetProgrammeService( aPs );
     }
@@ -355,7 +326,6 @@
 EXPORT_C TInt CRadioRdsUtility::GetRadioText(
     TRdsRadioText& aRt )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetRadioText( aRt );
     }
@@ -368,7 +338,6 @@
     TRdsRTplusClass aRtPlusClass,
     TRdsRadioText& aRtPlusData )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetRadioTextPlus( aRtPlusClass,aRtPlusData );
     }
@@ -380,7 +349,6 @@
 EXPORT_C TInt CRadioRdsUtility::GetClockTime(
     TDateTime& aCt )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetClockTime( aCt );
     }
@@ -392,7 +360,6 @@
 EXPORT_C TInt CRadioRdsUtility::GetTrafficAnnouncementStatus(
     TBool& aTaStatus )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetTrafficAnnouncementStatus( aTaStatus );
     }
@@ -404,7 +371,6 @@
 EXPORT_C TInt CRadioRdsUtility::GetTrafficProgrammeStatus(
     TBool& aTpStatus )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->GetTrafficProgrammeStatus( aTpStatus );
     }
--- a/mmserv/radioutility/radio_utility/src/RadioRdsUtilityBody.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioRdsUtilityBody.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -19,7 +19,6 @@
 #include "RadioRdsUtilityBody.h"
 #include "RadioServerData.h"
 #include "RadioSession.h"
-#include "trace.h"
 
 // ======== MEMBER FUNCTIONS ========
 
@@ -32,8 +31,9 @@
     RRadioSession& aRadioSession,
     MRadioRdsObserver& aObserver )
     {
-    FUNC_LOG;
-    CRadioRdsUtility::CBody* s = new(ELeave) CRadioRdsUtility::CBody( aRadioSession, aObserver );
+    CRadioRdsUtility::CBody* s = new(ELeave) CRadioRdsUtility::CBody();
+    s->iRadioRdsUtilityClient = &aObserver;
+    s->iRadioSession = &aRadioSession;
     CleanupStack::PushL(s);
     s->ConstructL();
     CleanupStack::Pop();
@@ -47,20 +47,14 @@
 //
 void CRadioRdsUtility::CBody::ConstructL()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
 // CRadioRdsUtility::CBody::CBody
 // -----------------------------------------------------------------------------
 //
-CRadioRdsUtility::CBody::CBody(
-        RRadioSession& aRadioSession,
-        MRadioRdsObserver& aObserver )
-    :iRadioSession(aRadioSession),
-    iRadioRdsUtilityClient(aObserver)
+CRadioRdsUtility::CBody::CBody()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -69,7 +63,6 @@
 //
 CRadioRdsUtility::CBody::~CBody()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -80,11 +73,10 @@
 //
 void CRadioRdsUtility::CBody::Close()
     {
-    FUNC_LOG;
     if ( iRdsDataReq.iRdsFunctions || iRdsDataReq.iAdditionalFunctions1 ||
          iRdsDataReq.iAdditionalFunctions2 )
         {
-        iRadioSession.CancelNotifyRdsDataChange();
+        iRadioSession->CancelNotifyRdsDataChange();
         }
     }
 
@@ -96,9 +88,8 @@
 TInt CRadioRdsUtility::CBody::GetCapabilities(
     TRdsCapabilities& aCaps ) const
     {
-    FUNC_LOG;
     TRsRdsCapabilities Caps;
-    TInt error = iRadioSession.GetRdsCapabilities(Caps);
+    TInt error = iRadioSession->GetRdsCapabilities(Caps);
     if ( !error )
         {
         aCaps.iRdsFunctions = Caps.iRdsFunctions;
@@ -116,8 +107,7 @@
 TInt CRadioRdsUtility::CBody::GetRdsSignalStatus(
     TBool& aRdsSignal ) const
     {
-    FUNC_LOG;
-    return iRadioSession.GetRdsSignalStatus( aRdsSignal );
+    return iRadioSession->GetRdsSignalStatus( aRdsSignal );
     }
 
 // -----------------------------------------------------------------------------
@@ -128,11 +118,10 @@
 TInt CRadioRdsUtility::CBody::NotifyRdsDataChange(
     TRdsData aRdsData )
     {
-    FUNC_LOG;
     iRdsDataReq.iRdsFunctions = aRdsData.iRdsFunctions;
     iRdsDataReq.iAdditionalFunctions1 = aRdsData.iAdditionalFunctions1;
     iRdsDataReq.iAdditionalFunctions2 = aRdsData.iAdditionalFunctions2;
-    return iRadioSession.NotifyRdsDataChange( iRdsDataReq );
+    return iRadioSession->NotifyRdsDataChange( iRdsDataReq );
     }
 
 // -----------------------------------------------------------------------------
@@ -142,8 +131,7 @@
 //
 void CRadioRdsUtility::CBody::CancelNotifyRdsDataChange()
     {
-    FUNC_LOG;
-    iRadioSession.CancelNotifyRdsDataChange();
+    iRadioSession->CancelNotifyRdsDataChange();
     }
 
 // -----------------------------------------------------------------------------
@@ -154,8 +142,7 @@
 TInt CRadioRdsUtility::CBody::SetAutomaticSwitching(
     TBool aAuto )
     {
-    FUNC_LOG;
-    return iRadioSession.SetAutomaticSwitching( aAuto );
+    return iRadioSession->SetAutomaticSwitching( aAuto );
     }
 
 // -----------------------------------------------------------------------------
@@ -166,8 +153,7 @@
 TInt CRadioRdsUtility::CBody::GetAutomaticSwitching(
     TBool& aAuto )
     {
-    FUNC_LOG;
-    return iRadioSession.GetAutomaticSwitching( aAuto );
+    return iRadioSession->GetAutomaticSwitching( aAuto );
     }
 
 // -----------------------------------------------------------------------------
@@ -177,8 +163,7 @@
 //
 void CRadioRdsUtility::CBody::CancelAFSearch()
     {
-    FUNC_LOG;
-    iRadioSession.CancelAFSearch();
+    iRadioSession->CancelAFSearch();
     }
 
 // -----------------------------------------------------------------------------
@@ -189,8 +174,7 @@
 TInt CRadioRdsUtility::CBody::SetAutomaticTrafficAnnouncement(
     TBool aAuto )
     {
-    FUNC_LOG;
-    return iRadioSession.SetAutomaticTrafficAnnouncement( aAuto );
+    return iRadioSession->SetAutomaticTrafficAnnouncement( aAuto );
     }
 
 // -----------------------------------------------------------------------------
@@ -201,8 +185,7 @@
 TInt CRadioRdsUtility::CBody::GetAutomaticTrafficAnnouncement(
     TBool& aAuto )
     {
-    FUNC_LOG;
-    return iRadioSession.GetAutomaticTrafficAnnouncement( aAuto );
+    return iRadioSession->GetAutomaticTrafficAnnouncement( aAuto );
     }
 
 // -----------------------------------------------------------------------------
@@ -214,8 +197,7 @@
     TRdsProgrammeType aPty,
     TBool aUpwards )
     {
-    FUNC_LOG;
-    iRadioSession.StationSeekByPTY( aPty, aUpwards );
+    iRadioSession->StationSeekByPTY( aPty, aUpwards );
     }
 
 // -----------------------------------------------------------------------------
@@ -226,8 +208,7 @@
 void CRadioRdsUtility::CBody::StationSeekByTA(
     TBool aSeekUp )
     {
-    FUNC_LOG;
-    iRadioSession.StationSeekByTA( aSeekUp );
+    iRadioSession->StationSeekByTA( aSeekUp );
     }
 
 // -----------------------------------------------------------------------------
@@ -238,8 +219,7 @@
 void CRadioRdsUtility::CBody::StationSeekByTP(
     TBool aSeekUp )
     {
-    FUNC_LOG;
-    iRadioSession.StationSeekByTP( aSeekUp );
+    iRadioSession->StationSeekByTP( aSeekUp );
     }
 
 // -----------------------------------------------------------------------------
@@ -249,8 +229,7 @@
 //
 void CRadioRdsUtility::CBody::CancelRdsStationSeek()
     {
-    FUNC_LOG;
-    iRadioSession.CancelRdsStationSeek();
+    iRadioSession->CancelRdsStationSeek();
     }
 
 // -----------------------------------------------------------------------------
@@ -261,8 +240,7 @@
 void CRadioRdsUtility::CBody::GetFreqByPTY(
     TRdsProgrammeType aPty )
     {
-    FUNC_LOG;
-    iRadioSession.GetFreqByPTY( aPty );
+    iRadioSession->GetFreqByPTY( aPty );
     }
 
 // -----------------------------------------------------------------------------
@@ -272,8 +250,7 @@
 //
 void CRadioRdsUtility::CBody::CancelGetFreqByPTY()
     {
-    FUNC_LOG;
-    iRadioSession.CancelGetFreqByPTY();
+    iRadioSession->CancelGetFreqByPTY();
     }
 
 // -----------------------------------------------------------------------------
@@ -283,8 +260,7 @@
 //
 void CRadioRdsUtility::CBody::GetFreqByTA()
     {
-    FUNC_LOG;
-    iRadioSession.GetFreqByTA();
+    iRadioSession->GetFreqByTA();
     }
 
 // -----------------------------------------------------------------------------
@@ -294,8 +270,7 @@
 //
 void CRadioRdsUtility::CBody::CancelGetFreqByTA()
     {
-    FUNC_LOG;
-    iRadioSession.CancelGetFreqByTA();
+    iRadioSession->CancelGetFreqByTA();
     }
 
 // -----------------------------------------------------------------------------
@@ -306,8 +281,7 @@
 void CRadioRdsUtility::CBody::GetPSByPTY(
     TRdsProgrammeType aPty )
     {
-    FUNC_LOG;
-    iRadioSession.GetPSByPTY( aPty );
+    iRadioSession->GetPSByPTY( aPty );
     }
 
 // -----------------------------------------------------------------------------
@@ -317,8 +291,7 @@
 //
 void CRadioRdsUtility::CBody::CancelGetPSByPTY()
     {
-    FUNC_LOG;
-    iRadioSession.CancelGetPSByPTY();
+    iRadioSession->CancelGetPSByPTY();
     }
 
 // -----------------------------------------------------------------------------
@@ -328,8 +301,7 @@
 //
 void CRadioRdsUtility::CBody::GetPSByTA()
     {
-    FUNC_LOG;
-    iRadioSession.GetPSByTA();
+    iRadioSession->GetPSByTA();
     }
 
 // -----------------------------------------------------------------------------
@@ -339,8 +311,7 @@
 //
 void CRadioRdsUtility::CBody::CancelGetPSByTA()
     {
-    FUNC_LOG;
-    iRadioSession.CancelGetPSByTA();
+    iRadioSession->CancelGetPSByTA();
     }
 
 // -----------------------------------------------------------------------------
@@ -351,8 +322,7 @@
 TInt CRadioRdsUtility::CBody::GetProgrammeIdentification(
     TInt& aPi )
     {
-    FUNC_LOG;
-    return iRadioSession.GetProgrammeIdentification( aPi );
+    return iRadioSession->GetProgrammeIdentification( aPi );
     }
 
 // -----------------------------------------------------------------------------
@@ -363,8 +333,7 @@
 TInt CRadioRdsUtility::CBody::GetProgrammeType(
     TRdsProgrammeType& aPty )
     {
-    FUNC_LOG;
-    return iRadioSession.GetProgrammeType( aPty );
+    return iRadioSession->GetProgrammeType( aPty );
     }
 
 // -----------------------------------------------------------------------------
@@ -375,9 +344,8 @@
 TInt CRadioRdsUtility::CBody::GetProgrammeService(
     TRdsPSName& aPs )
     {
-    FUNC_LOG;
     TRsRdsPSName ps;
-    TInt error = iRadioSession.GetProgrammeService( ps );
+    TInt error = iRadioSession->GetProgrammeService( ps );
 
     if ( aPs.Length() )
         {
@@ -395,9 +363,8 @@
 TInt CRadioRdsUtility::CBody::GetRadioText(
     TRdsRadioText& aRt )
     {
-    FUNC_LOG;
     TRsRdsRadioText rt;
-    TInt error = iRadioSession.GetRadioText( rt );
+    TInt error = iRadioSession->GetRadioText( rt );
 
     if ( rt.Length() )
        {
@@ -416,11 +383,10 @@
     TRdsRTplusClass aRtPlusClass,
     TRdsRadioText& aRtPlusData )
     {
-    FUNC_LOG;
     aRtPlusClass = aRtPlusClass; // for compiler warning
     TRsRdsRadioText rt;
     TRsRdsRTplusClass rtPlusClass = ERsRTplusItemDummy;
-    TInt error = iRadioSession.GetRadioTextPlus( rtPlusClass, rt );
+    TInt error = iRadioSession->GetRadioTextPlus( rtPlusClass, rt );
 
     if ( rt.Length() )
         {
@@ -439,8 +405,7 @@
 TInt CRadioRdsUtility::CBody::GetClockTime(
     TDateTime& aCt )
     {
-    FUNC_LOG;
-    return iRadioSession.GetClockTime( aCt );
+    return iRadioSession->GetClockTime( aCt );
     }
 
 // -----------------------------------------------------------------------------
@@ -451,8 +416,7 @@
 TInt CRadioRdsUtility::CBody::GetTrafficAnnouncementStatus(
     TBool& aTaStatus )
     {
-    FUNC_LOG;
-    return iRadioSession.GetTrafficAnnouncementStatus( aTaStatus );
+    return iRadioSession->GetTrafficAnnouncementStatus( aTaStatus );
     }
 
 // -----------------------------------------------------------------------------
@@ -463,8 +427,7 @@
 TInt CRadioRdsUtility::CBody::GetTrafficProgrammeStatus(
     TBool& aTpStatus )
     {
-    FUNC_LOG;
-    return iRadioSession.GetTrafficProgrammeStatus( aTpStatus );
+    return iRadioSession->GetTrafficProgrammeStatus( aTpStatus );
     }
 
 
--- a/mmserv/radioutility/radio_utility/src/RadioRdsUtilityBody.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioRdsUtilityBody.h	Wed Sep 01 12:23:00 2010 +0100
@@ -415,14 +415,14 @@
 private:
 
     void ConstructL();
-    CBody( RRadioSession& aRadioSession, MRadioRdsObserver& aObserver );
+    CBody();
 
 private: // data
 
     // The radio server session
-    RRadioSession& iRadioSession;
+    RRadioSession* iRadioSession; // not own
     // RDS Utility Observer
-    MRadioRdsObserver& iRadioRdsUtilityClient;
+    MRadioRdsObserver* iRadioRdsUtilityClient; // not own
     // RDS notification reqs
     TRsRdsData iRdsDataReq;
     };
--- a/mmserv/radioutility/radio_utility/src/RadioUtility.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioUtility.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -17,7 +17,6 @@
 
 
 #include "RadioUtilityBody.h"
-#include "trace.h"
 
 
 // ======== MEMBER FUNCTIONS ========
@@ -30,11 +29,10 @@
 EXPORT_C CRadioUtility* CRadioUtility::NewL(
     TBool aPrimaryClient )
     {
-    FUNC_LOG;
     CRadioUtility* self = new(ELeave) CRadioUtility();
     CleanupStack::PushL(self);
     self->iBody = CRadioUtility::CBody::NewL(aPrimaryClient);
-    CleanupStack::Pop(self);
+    CleanupStack::Pop();
     return self;
     }
 
@@ -44,7 +42,6 @@
 //
 EXPORT_C CRadioUtility::~CRadioUtility()
     {
-    FUNC_LOG;
     delete iBody;
     }
 
@@ -55,7 +52,6 @@
 //
 CRadioUtility::CRadioUtility()
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -66,7 +62,6 @@
 EXPORT_C CRadioFmTunerUtility& CRadioUtility::RadioFmTunerUtilityL(
     MRadioFmTunerObserver& aObserver )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->RadioFmTunerUtilityL(aObserver);
     }
@@ -79,7 +74,6 @@
 EXPORT_C CRadioPlayerUtility& CRadioUtility::RadioPlayerUtilityL(
     MRadioPlayerObserver& aObserver )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->RadioPlayerUtilityL(aObserver);
     }
@@ -92,7 +86,6 @@
 EXPORT_C CRadioRdsUtility& CRadioUtility::RadioRdsUtilityL(
     MRadioRdsObserver& aObserver )
     {
-    FUNC_LOG;
     ASSERT(iBody);
     return iBody->RadioRdsUtilityL(aObserver);
     }
--- a/mmserv/radioutility/radio_utility/src/RadioUtilityBody.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radio_utility/src/RadioUtilityBody.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -21,7 +21,6 @@
 #include <RadioRdsUtility.h>
 #include "RadioUtilityBody.h"
 #include "RadioServerData.h"
-#include "trace.h"
 
 // ======== MEMBER FUNCTIONS ========
 
@@ -33,11 +32,10 @@
 CRadioUtility::CBody* CRadioUtility::CBody::NewL(
     TBool aPrimaryClient )
     {
-    FUNC_LOG;
     CRadioUtility::CBody* self = new (ELeave) CRadioUtility::CBody();
     CleanupStack::PushL(self);
     self->ConstructL(aPrimaryClient);
-    CleanupStack::Pop(self);
+    CleanupStack::Pop();
     return self;
     }
 
@@ -49,9 +47,7 @@
 void CRadioUtility::CBody::ConstructL(
     TBool aPrimaryClient )
     {
-    FUNC_LOG;
-    INFO_1("Size of RRadioSession: %i", sizeof(RRadioSession) );
-    iRadioSession = RRadioSession::NewL();
+    iRadioSession = new (ELeave) RRadioSession();
     User::LeaveIfError(iRadioSession->Connect(*this, aPrimaryClient));
     }
 
@@ -66,7 +62,6 @@
         iPlayerUtility(NULL),
         iRdsUtility(NULL)
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -75,7 +70,9 @@
 //
 CRadioUtility::CBody::~CBody()
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+   RDebug::Print(_L("CRadioUtility::CBody::~CBody"));
+#endif
     delete iFmTunerUtility;
     delete iPlayerUtility;
     delete iRdsUtility;
@@ -94,7 +91,9 @@
 CRadioFmTunerUtility& CRadioUtility::CBody::RadioFmTunerUtilityL(
     MRadioFmTunerObserver& aObserver)
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+   RDebug::Print(_L("CRadioUtility::CBody::RadioFmTunerUtilityL"));
+#endif
 
     if ( !iFmTunerUtility )
         {
@@ -117,7 +116,9 @@
 CRadioPlayerUtility& CRadioUtility::CBody::RadioPlayerUtilityL(
     MRadioPlayerObserver& aObserver)
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+   RDebug::Print(_L("CRadioUtility::CBody::RadioPlayerUtilityL"));
+#endif
 
     if ( !iPlayerUtility )
         {
@@ -140,7 +141,9 @@
 CRadioRdsUtility& CRadioUtility::CBody::RadioRdsUtilityL(
     MRadioRdsObserver& aObserver)
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+   RDebug::Print(_L("CRadioUtility::CBody::RadioRdsUtility"));
+#endif
 
     if ( !iRdsUtility )
         {
@@ -164,7 +167,9 @@
 void CRadioUtility::CBody::RequestTunerControlComplete(
     TRadioServerError aError )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RequestTunerControlComplete"));
+#endif
     if ( iTunerObserver )
         {
         iTunerObserver->MrftoRequestTunerControlComplete( aError );
@@ -179,7 +184,9 @@
 void CRadioUtility::CBody::SetFrequencyRangeComplete(
     TRadioServerError aError )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::SetFrequencyRangeComplete"));
+#endif
     if ( iTunerObserver )
         {
         iTunerObserver->MrftoSetFrequencyRangeComplete( aError );
@@ -194,7 +201,9 @@
 void CRadioUtility::CBody::SetFrequencyComplete(
     TRadioServerError aError )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::SetFrequencyComplete"));
+#endif
     if ( iTunerObserver )
         {
         iTunerObserver->MrftoSetFrequencyComplete( aError );
@@ -210,7 +219,9 @@
     TRadioServerError aError,
     TInt aFrequency )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::StationSeekComplete"));
+#endif
     if ( iTunerObserver )
         {
         iTunerObserver->MrftoStationSeekComplete( aError, aFrequency );
@@ -225,7 +236,9 @@
 void CRadioUtility::CBody::RadioEventTransmitterStatusChange(
     TBool aActive )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::TransmitterStatusChange"));
+#endif
     if ( iTunerObserver )
         {
         iTunerObserver->MrftoFmTransmitterStatusChange( aActive );
@@ -240,7 +253,9 @@
 void CRadioUtility::CBody::RadioEventAntennaStatusChange(
     TBool aAttached )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventAntennaStatusChange"));
+#endif
     if ( iTunerObserver )
         {
         iTunerObserver->MrftoAntennaStatusChange( aAttached );
@@ -255,7 +270,9 @@
 void CRadioUtility::CBody::RadioEventOfflineModeChange(
     TBool aOfflineMode )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventOfflineModeChange Start offline mode = %d"), aOfflineMode);
+#endif
     if ( iTunerObserver )
         {
         iTunerObserver->MrftoOfflineModeStatusChange( aOfflineMode );
@@ -270,7 +287,9 @@
 void CRadioUtility::CBody::RadioEventFrequencyRangeChanged(
     TRsFrequencyRange aNewRange )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventFrequencyRangeChanged"));
+#endif
 
     if ( iTunerObserver )
         {
@@ -299,7 +318,9 @@
 void CRadioUtility::CBody::RadioEventFrequencyChange(
     TInt aNewFrequency )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventFrequencyChange"));
+#endif
     if ( iTunerObserver )
         {
         iTunerObserver->MrftoFrequencyChange( aNewFrequency );
@@ -314,7 +335,9 @@
 void CRadioUtility::CBody::RadioEventForcedMonoChanged(
     TBool aForceMono )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventForcedMonoChanged"));
+#endif
     if ( iTunerObserver )
         {
         iTunerObserver->MrftoForcedMonoChange( aForceMono );
@@ -329,7 +352,9 @@
 void CRadioUtility::CBody::RadioEventSquelchChanged(
     TBool aSquelch )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventSquelchChanged"));
+#endif
     if ( iTunerObserver )
         {
         iTunerObserver->MrftoSquelchChange( aSquelch );
@@ -345,7 +370,9 @@
     TBool aRadioOn,
     TRadioServerError aError )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventStateChange"));
+#endif
     if ( iPlayerObserver )
         {
         TPlayerState state = ERadioPlayerIdle;
@@ -366,7 +393,9 @@
 void CRadioUtility::CBody::RadioEventVolumeChange(
     TInt aVolume )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventVolumeChange"));
+#endif
     if ( iPlayerObserver )
         {
         iPlayerObserver->MrpoVolumeChange( aVolume );
@@ -381,7 +410,9 @@
 void CRadioUtility::CBody::RadioEventMuteChange(
     TBool aMute )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventMuteChange"));
+#endif
     if ( iPlayerObserver )
         {
         iPlayerObserver->MrpoMuteChange( aMute );
@@ -397,7 +428,9 @@
     TInt aLeftPercentage,
     TInt aRightPercentage )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventBalanceChange"));
+#endif
     if ( iPlayerObserver )
         {
         iPlayerObserver->MrpoBalanceChange( aLeftPercentage, aRightPercentage );
@@ -413,7 +446,9 @@
     TInt aError,
     TInt aFrequency )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::StationSeekByPTYComplete"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroStationSeekByPTYComplete(aError, aFrequency );
@@ -430,7 +465,9 @@
     TInt aError,
     TInt aFrequency )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::StationSeekByTAComplete"));
+#endif
 
     if ( iRdsObserver )
         {
@@ -447,7 +484,9 @@
     TInt aError,
     TInt aFrequency )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::StationSeekByTPComplete"));
+#endif
 
     if ( iRdsObserver )
         {
@@ -464,7 +503,9 @@
     TInt aError,
     RArray<TInt>& aFreqList )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::GetFreqByPTYComplete"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroGetFreqByPTYComplete( aError, aFreqList );
@@ -480,7 +521,9 @@
     TInt aError,
     RArray<TInt>& aFreqList )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::GetFreqByTAComplete"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroGetFreqByTAComplete( aError, aFreqList );
@@ -496,7 +539,9 @@
     TInt aError,
     RArray<TRsRdsPSName>& aPsList )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::GetPSByPTYComplete"));
+#endif
     if ( iRdsObserver )
         {
         RArray<TRdsPSName> psList;
@@ -524,7 +569,9 @@
     TInt aError,
     RArray<TRsRdsPSName>& aPsList )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::GetPSByTAComplete"));
+#endif
     if ( iRdsObserver )
         {
         RArray<TRdsPSName> psList;
@@ -551,7 +598,9 @@
 void CRadioUtility::CBody::RadioEventRdsDataPI(
     TInt aPi )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsDataPI"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroRdsDataPI( aPi );
@@ -566,7 +615,9 @@
 void CRadioUtility::CBody::RadioEventRdsDataPTY(
     TRsRdsProgrammeType aPty )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsDataPTY"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroRdsDataPTY( aPty );
@@ -581,7 +632,9 @@
 void CRadioUtility::CBody::RadioEventRdsDataPS(
     TRsRdsPSName& aPs )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsDataPS"));
+#endif
     if ( iRdsObserver )
         {
         TRdsPSName ps;
@@ -602,7 +655,9 @@
 void CRadioUtility::CBody::RadioEventRdsDataRT(
     TRsRdsRadioText& aRt )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsDataRT"));
+#endif
     if ( iRdsObserver )
         {
         TRdsRadioText rt;
@@ -625,7 +680,9 @@
     TRsRdsRTplusClass aRtPlusClass,
     TRsRdsRadioText& aRtPlusData )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsDataRTplus"));
+#endif
     if ( iRdsObserver )
         {
         TRdsRTplusClass rtPlusClass;
@@ -649,7 +706,9 @@
 void CRadioUtility::CBody::RadioEventRdsDataCT(
     TDateTime& aCt )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsDataCT"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroRdsDataCT( aCt );
@@ -664,7 +723,9 @@
 void CRadioUtility::CBody::RadioEventRdsDataTA(
     TBool aTaOn )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsDataTA"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroRdsDataTA( aTaOn );
@@ -678,7 +739,9 @@
 //
 void CRadioUtility::CBody::RadioEventRdsSearchBeginAF()
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsSearchBeginAF"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroRdsSearchBeginAF();
@@ -695,7 +758,9 @@
     TInt aError,
     TInt aFrequency )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsSearchEndAF"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroRdsSearchEndAF( aError, aFrequency );
@@ -710,7 +775,9 @@
 void CRadioUtility::CBody::RadioEventRdsStationChangeTA(
     TInt aFrequency )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsStationChangeTA"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroRdsStationChangeTA( aFrequency );
@@ -725,7 +792,9 @@
 void CRadioUtility::CBody::RadioEventRdsAutomaticSwitchingChange(
     TBool aAuto )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsAutomaticSwitchingChange"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroRdsEventAutomaticSwitchingChange( aAuto );
@@ -740,7 +809,9 @@
 void CRadioUtility::CBody::RadioEventRdsAutomaticTrafficAnnouncement(
     TBool aAuto )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsAutomaticTrafficAnnouncement"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroRdsEventAutomaticTrafficAnnouncement( aAuto );
@@ -755,7 +826,9 @@
 void CRadioUtility::CBody::RadioEventRdsSignalChange(
     TBool aSignal )
     {
-    FUNC_LOG;
+#ifdef _DEBUG
+    RDebug::Print(_L("CRadioUtility::CBody::RadioEventRdsSignalChange"));
+#endif
     if ( iRdsObserver )
         {
         iRdsObserver->MrroRdsEventSignalChange( aSignal );
--- a/mmserv/radioutility/radio_utility/stub/bwins/Radio_Utility_Stubu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-EXPORTS
-	?GetAutomaticTrafficAnnouncement@CRadioRdsUtility@@QAEHAAH@Z @ 1 NONAME ; int CRadioRdsUtility::GetAutomaticTrafficAnnouncement(int &)
-	?Close@CRadioRdsUtility@@QAEXXZ @ 2 NONAME ; void CRadioRdsUtility::Close(void)
-	?PlayerState@CRadioPlayerUtility@@QBE?AW4TPlayerState@@XZ @ 3 NONAME ; enum TPlayerState CRadioPlayerUtility::PlayerState(void) const
-	?GetBalance@CRadioPlayerUtility@@QBEHAAH0@Z @ 4 NONAME ; int CRadioPlayerUtility::GetBalance(int &, int &) const
-	?RadioRdsUtilityL@CRadioUtility@@QAEAAVCRadioRdsUtility@@AAVMRadioRdsObserver@@@Z @ 5 NONAME ; class CRadioRdsUtility & CRadioUtility::RadioRdsUtilityL(class MRadioRdsObserver &)
-	?StationSeek@CRadioFmTunerUtility@@QAEXH@Z @ 6 NONAME ; void CRadioFmTunerUtility::StationSeek(int)
-	?CancelStationSeek@CRadioFmTunerUtility@@QAEXXZ @ 7 NONAME ; void CRadioFmTunerUtility::CancelStationSeek(void)
-	?StationSeekByTP@CRadioRdsUtility@@QAEXH@Z @ 8 NONAME ; void CRadioRdsUtility::StationSeekByTP(int)
-	?SetSquelch@CRadioFmTunerUtility@@QAEHH@Z @ 9 NONAME ; int CRadioFmTunerUtility::SetSquelch(int)
-	?GetAutomaticTrafficAnnouncement@CBody@CRadioRdsUtility@@QAEHAAH@Z @ 10 NONAME ; int CRadioRdsUtility::CBody::GetAutomaticTrafficAnnouncement(int &)
-	?GetTrafficProgrammeStatus@CRadioRdsUtility@@QAEHAAH@Z @ 11 NONAME ; int CRadioRdsUtility::GetTrafficProgrammeStatus(int &)
-	?GetMaxSignalStrength@CRadioFmTunerUtility@@QBEHAAH@Z @ 12 NONAME ; int CRadioFmTunerUtility::GetMaxSignalStrength(int &) const
-	?GetProgrammeService@CRadioRdsUtility@@QAEHAAV?$TBuf16@$07@@@Z @ 13 NONAME ; int CRadioRdsUtility::GetProgrammeService(class TBuf16<8> &)
-	?RadioPlayerUtilityL@CRadioUtility@@QAEAAVCRadioPlayerUtility@@AAVMRadioPlayerObserver@@@Z @ 14 NONAME ; class CRadioPlayerUtility & CRadioUtility::RadioPlayerUtilityL(class MRadioPlayerObserver &)
-	?GetStereoMode@CRadioFmTunerUtility@@QBEHAAH@Z @ 15 NONAME ; int CRadioFmTunerUtility::GetStereoMode(int &) const
-	?GetRdsSignalStatus@CRadioRdsUtility@@QBEHAAH@Z @ 16 NONAME ; int CRadioRdsUtility::GetRdsSignalStatus(int &) const
-	?GetRadioTextPlus@CRadioRdsUtility@@QAEHW4TRdsRTplusClass@@AAV?$TBuf16@$0EA@@@@Z @ 17 NONAME ; int CRadioRdsUtility::GetRadioTextPlus(enum TRdsRTplusClass, class TBuf16<64> &)
-	??1CRadioFmTunerUtility@@EAE@XZ @ 18 NONAME ; CRadioFmTunerUtility::~CRadioFmTunerUtility(void)
-	?GetRadioText@CRadioRdsUtility@@QAEHAAV?$TBuf16@$0EA@@@@Z @ 19 NONAME ; int CRadioRdsUtility::GetRadioText(class TBuf16<64> &)
-	?CancelGetPSByTA@CRadioRdsUtility@@QAEXXZ @ 20 NONAME ; void CRadioRdsUtility::CancelGetPSByTA(void)
-	?RequestTunerControl@CRadioFmTunerUtility@@QAEXXZ @ 21 NONAME ; void CRadioFmTunerUtility::RequestTunerControl(void)
-	?GetProgrammeIdentification@CRadioRdsUtility@@QAEHAAH@Z @ 22 NONAME ; int CRadioRdsUtility::GetProgrammeIdentification(int &)
-	?SetBalance@CRadioPlayerUtility@@QAEHHH@Z @ 23 NONAME ; int CRadioPlayerUtility::SetBalance(int, int)
-	?SetFrequency@CRadioFmTunerUtility@@QAEXH@Z @ 24 NONAME ; void CRadioFmTunerUtility::SetFrequency(int)
-	?NotifyRdsDataChange@CRadioRdsUtility@@QAEHVTRdsData@@@Z @ 25 NONAME ; int CRadioRdsUtility::NotifyRdsDataChange(class TRdsData)
-	?CancelSetFrequencyRange@CRadioFmTunerUtility@@QAEXXZ @ 26 NONAME ; void CRadioFmTunerUtility::CancelSetFrequencyRange(void)
-	?GetFreqByPTY@CRadioRdsUtility@@QAEXH@Z @ 27 NONAME ; void CRadioRdsUtility::GetFreqByPTY(int)
-	?GetVolume@CRadioPlayerUtility@@QBEHAAH@Z @ 28 NONAME ; int CRadioPlayerUtility::GetVolume(int &) const
-	?SetVolume@CRadioPlayerUtility@@QAEHH@Z @ 29 NONAME ; int CRadioPlayerUtility::SetVolume(int)
-	?StationSeekByPTY@CRadioRdsUtility@@QAEXHH@Z @ 30 NONAME ; void CRadioRdsUtility::StationSeekByPTY(int, int)
-	?GetCapabilities@CRadioRdsUtility@@QBEHAAVTRdsCapabilities@@@Z @ 31 NONAME ; int CRadioRdsUtility::GetCapabilities(class TRdsCapabilities &) const
-	?CancelRdsStationSeek@CRadioRdsUtility@@QAEXXZ @ 32 NONAME ; void CRadioRdsUtility::CancelRdsStationSeek(void)
-	?CancelGetFreqByTA@CRadioRdsUtility@@QAEXXZ @ 33 NONAME ; void CRadioRdsUtility::CancelGetFreqByTA(void)
-	?SetVolumeRamp@CRadioPlayerUtility@@QAEHABVTTimeIntervalMicroSeconds@@@Z @ 34 NONAME ; int CRadioPlayerUtility::SetVolumeRamp(class TTimeIntervalMicroSeconds const &)
-	?StationSeekByPTY@CBody@CRadioRdsUtility@@QAEXHH@Z @ 35 NONAME ; void CRadioRdsUtility::CBody::StationSeekByPTY(int, int)
-	?CancelGetFreqByPTY@CRadioRdsUtility@@QAEXXZ @ 36 NONAME ; void CRadioRdsUtility::CancelGetFreqByPTY(void)
-	?GetAutomaticSwitching@CRadioRdsUtility@@QAEHAAH@Z @ 37 NONAME ; int CRadioRdsUtility::GetAutomaticSwitching(int &)
-	?GetTrafficAnnouncementStatus@CRadioRdsUtility@@QAEHAAH@Z @ 38 NONAME ; int CRadioRdsUtility::GetTrafficAnnouncementStatus(int &)
-	?CancelSetFrequency@CRadioFmTunerUtility@@QAEXXZ @ 39 NONAME ; void CRadioFmTunerUtility::CancelSetFrequency(void)
-	?GetClockTime@CRadioRdsUtility@@QAEHAAVTDateTime@@@Z @ 40 NONAME ; int CRadioRdsUtility::GetClockTime(class TDateTime &)
-	?CancelAFSearch@CRadioRdsUtility@@QAEXXZ @ 41 NONAME ; void CRadioRdsUtility::CancelAFSearch(void)
-	?ForceMonoReception@CRadioFmTunerUtility@@QAEHH@Z @ 42 NONAME ; int CRadioFmTunerUtility::ForceMonoReception(int)
-	?GetProgrammeType@CRadioRdsUtility@@QAEHAAH@Z @ 43 NONAME ; int CRadioRdsUtility::GetProgrammeType(int &)
-	?GetForcedMonoReception@CRadioFmTunerUtility@@QBEHAAH@Z @ 44 NONAME ; int CRadioFmTunerUtility::GetForcedMonoReception(int &) const
-	?GetFreqByTA@CRadioRdsUtility@@QAEXXZ @ 45 NONAME ; void CRadioRdsUtility::GetFreqByTA(void)
-	?CancelGetPSByPTY@CRadioRdsUtility@@QAEXXZ @ 46 NONAME ; void CRadioRdsUtility::CancelGetPSByPTY(void)
-	?GetFrequencyRange@CRadioFmTunerUtility@@QBEHAAW4TFmRadioFrequencyRange@@AAH1@Z @ 47 NONAME ; int CRadioFmTunerUtility::GetFrequencyRange(enum TFmRadioFrequencyRange &, int &, int &) const
-	?Stop@CRadioPlayerUtility@@QAEXXZ @ 48 NONAME ; void CRadioPlayerUtility::Stop(void)
-	?SetFrequencyRange@CRadioFmTunerUtility@@QAEXW4TFmRadioFrequencyRange@@@Z @ 49 NONAME ; void CRadioFmTunerUtility::SetFrequencyRange(enum TFmRadioFrequencyRange)
-	??1CRadioPlayerUtility@@EAE@XZ @ 50 NONAME ; CRadioPlayerUtility::~CRadioPlayerUtility(void)
-	?GetFrequency@CRadioFmTunerUtility@@QBEHAAH@Z @ 51 NONAME ; int CRadioFmTunerUtility::GetFrequency(int &) const
-	?StationSeekByTA@CRadioRdsUtility@@QAEXH@Z @ 52 NONAME ; void CRadioRdsUtility::StationSeekByTA(int)
-	?Play@CRadioPlayerUtility@@QAEXXZ @ 53 NONAME ; void CRadioPlayerUtility::Play(void)
-	?CustomInterface@CRadioPlayerUtility@@UAEPAXVTUid@@@Z @ 54 NONAME ; void * CRadioPlayerUtility::CustomInterface(class TUid)
-	?GetCapabilities@CRadioFmTunerUtility@@QAEHAAVTFmTunerCapabilities@@@Z @ 55 NONAME ; int CRadioFmTunerUtility::GetCapabilities(class TFmTunerCapabilities &)
-	?IsMute@CRadioPlayerUtility@@QAEHXZ @ 56 NONAME ; int CRadioPlayerUtility::IsMute(void)
-	?SetAutomaticSwitching@CRadioRdsUtility@@QAEHH@Z @ 57 NONAME ; int CRadioRdsUtility::SetAutomaticSwitching(int)
-	?SetAutomaticTrafficAnnouncement@CRadioRdsUtility@@QAEHH@Z @ 58 NONAME ; int CRadioRdsUtility::SetAutomaticTrafficAnnouncement(int)
-	?RadioFmTunerUtilityL@CRadioUtility@@QAEAAVCRadioFmTunerUtility@@AAVMRadioFmTunerObserver@@@Z @ 59 NONAME ; class CRadioFmTunerUtility & CRadioUtility::RadioFmTunerUtilityL(class MRadioFmTunerObserver &)
-	?GetPSByPTY@CRadioRdsUtility@@QAEXH@Z @ 60 NONAME ; void CRadioRdsUtility::GetPSByPTY(int)
-	?CancelNotifyRdsDataChange@CRadioRdsUtility@@QAEXXZ @ 61 NONAME ; void CRadioRdsUtility::CancelNotifyRdsDataChange(void)
-	?EnableTunerInOfflineMode@CRadioFmTunerUtility@@QAEHH@Z @ 62 NONAME ; int CRadioFmTunerUtility::EnableTunerInOfflineMode(int)
-	?Mute@CRadioPlayerUtility@@QAEHH@Z @ 63 NONAME ; int CRadioPlayerUtility::Mute(int)
-	?NewL@CRadioUtility@@SAPAV1@H@Z @ 64 NONAME ; class CRadioUtility * CRadioUtility::NewL(int)
-	?Close@CRadioPlayerUtility@@QAEXXZ @ 65 NONAME ; void CRadioPlayerUtility::Close(void)
-	?GetPSByTA@CRadioRdsUtility@@QAEXXZ @ 66 NONAME ; void CRadioRdsUtility::GetPSByTA(void)
-	??1CRadioUtility@@UAE@XZ @ 67 NONAME ; CRadioUtility::~CRadioUtility(void)
-	?GetSignalStrength@CRadioFmTunerUtility@@QBEHAAH@Z @ 68 NONAME ; int CRadioFmTunerUtility::GetSignalStrength(int &) const
-	?Close@CRadioFmTunerUtility@@QAEXXZ @ 69 NONAME ; void CRadioFmTunerUtility::Close(void)
-	?GetSquelch@CRadioFmTunerUtility@@QBEHAAH@Z @ 70 NONAME ; int CRadioFmTunerUtility::GetSquelch(int &) const
-	?GetMaxVolume@CRadioPlayerUtility@@QBEHAAH@Z @ 71 NONAME ; int CRadioPlayerUtility::GetMaxVolume(int &) const
-
--- a/mmserv/radioutility/radio_utility/stub/eabi/Radio_Utility_Stubu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-EXPORTS
-	_ZN13CRadioUtility16RadioRdsUtilityLER17MRadioRdsObserver @ 1 NONAME
-	_ZN13CRadioUtility19RadioPlayerUtilityLER20MRadioPlayerObserver @ 2 NONAME
-	_ZN13CRadioUtility20RadioFmTunerUtilityLER21MRadioFmTunerObserver @ 3 NONAME
-	_ZN13CRadioUtility4NewLEi @ 4 NONAME
-	_ZN13CRadioUtilityD0Ev @ 5 NONAME
-	_ZN13CRadioUtilityD1Ev @ 6 NONAME
-	_ZN13CRadioUtilityD2Ev @ 7 NONAME
-	_ZN16CRadioRdsUtility10GetPSByPTYEi @ 8 NONAME
-	_ZN16CRadioRdsUtility11GetFreqByTAEv @ 9 NONAME
-	_ZN16CRadioRdsUtility12GetClockTimeER9TDateTime @ 10 NONAME
-	_ZN16CRadioRdsUtility12GetFreqByPTYEi @ 11 NONAME
-	_ZN16CRadioRdsUtility12GetRadioTextER6TBuf16ILi64EE @ 12 NONAME
-	_ZN16CRadioRdsUtility14CancelAFSearchEv @ 13 NONAME
-	_ZN16CRadioRdsUtility15CancelGetPSByTAEv @ 14 NONAME
-	_ZN16CRadioRdsUtility15StationSeekByTAEi @ 15 NONAME
-	_ZN16CRadioRdsUtility15StationSeekByTPEi @ 16 NONAME
-	_ZN16CRadioRdsUtility16CancelGetPSByPTYEv @ 17 NONAME
-	_ZN16CRadioRdsUtility16GetProgrammeTypeERi @ 18 NONAME
-	_ZN16CRadioRdsUtility16GetRadioTextPlusE15TRdsRTplusClassR6TBuf16ILi64EE @ 19 NONAME
-	_ZN16CRadioRdsUtility16StationSeekByPTYEii @ 20 NONAME
-	_ZN16CRadioRdsUtility17CancelGetFreqByTAEv @ 21 NONAME
-	_ZN16CRadioRdsUtility18CancelGetFreqByPTYEv @ 22 NONAME
-	_ZN16CRadioRdsUtility19GetProgrammeServiceER6TBuf16ILi8EE @ 23 NONAME
-	_ZN16CRadioRdsUtility19NotifyRdsDataChangeE8TRdsData @ 24 NONAME
-	_ZN16CRadioRdsUtility20CancelRdsStationSeekEv @ 25 NONAME
-	_ZN16CRadioRdsUtility21GetAutomaticSwitchingERi @ 26 NONAME
-	_ZN16CRadioRdsUtility21SetAutomaticSwitchingEi @ 27 NONAME
-	_ZN16CRadioRdsUtility25CancelNotifyRdsDataChangeEv @ 28 NONAME
-	_ZN16CRadioRdsUtility25GetTrafficProgrammeStatusERi @ 29 NONAME
-	_ZN16CRadioRdsUtility26GetProgrammeIdentificationERi @ 30 NONAME
-	_ZN16CRadioRdsUtility28GetTrafficAnnouncementStatusERi @ 31 NONAME
-	_ZN16CRadioRdsUtility31GetAutomaticTrafficAnnouncementERi @ 32 NONAME
-	_ZN16CRadioRdsUtility31SetAutomaticTrafficAnnouncementEi @ 33 NONAME
-	_ZN16CRadioRdsUtility5CloseEv @ 34 NONAME
-	_ZN16CRadioRdsUtility9GetPSByTAEv @ 35 NONAME
-	_ZN19CRadioPlayerUtility10SetBalanceEii @ 36 NONAME
-	_ZN19CRadioPlayerUtility13SetVolumeRampERK25TTimeIntervalMicroSeconds @ 37 NONAME
-	_ZN19CRadioPlayerUtility15CustomInterfaceE4TUid @ 38 NONAME
-	_ZN19CRadioPlayerUtility4MuteEi @ 39 NONAME
-	_ZN19CRadioPlayerUtility4PlayEv @ 40 NONAME
-	_ZN19CRadioPlayerUtility4StopEv @ 41 NONAME
-	_ZN19CRadioPlayerUtility5CloseEv @ 42 NONAME
-	_ZN19CRadioPlayerUtility6IsMuteEv @ 43 NONAME
-	_ZN19CRadioPlayerUtility9SetVolumeEi @ 44 NONAME
-	_ZN19CRadioPlayerUtilityD0Ev @ 45 NONAME
-	_ZN19CRadioPlayerUtilityD1Ev @ 46 NONAME
-	_ZN19CRadioPlayerUtilityD2Ev @ 47 NONAME
-	_ZN20CRadioFmTunerUtility10SetSquelchEi @ 48 NONAME
-	_ZN20CRadioFmTunerUtility11StationSeekEi @ 49 NONAME
-	_ZN20CRadioFmTunerUtility12SetFrequencyEi @ 50 NONAME
-	_ZN20CRadioFmTunerUtility15GetCapabilitiesER20TFmTunerCapabilities @ 51 NONAME
-	_ZN20CRadioFmTunerUtility17CancelStationSeekEv @ 52 NONAME
-	_ZN20CRadioFmTunerUtility17SetFrequencyRangeE22TFmRadioFrequencyRange @ 53 NONAME
-	_ZN20CRadioFmTunerUtility18CancelSetFrequencyEv @ 54 NONAME
-	_ZN20CRadioFmTunerUtility18ForceMonoReceptionEi @ 55 NONAME
-	_ZN20CRadioFmTunerUtility19RequestTunerControlEv @ 56 NONAME
-	_ZN20CRadioFmTunerUtility23CancelSetFrequencyRangeEv @ 57 NONAME
-	_ZN20CRadioFmTunerUtility24EnableTunerInOfflineModeEi @ 58 NONAME
-	_ZN20CRadioFmTunerUtility5CloseEv @ 59 NONAME
-	_ZN20CRadioFmTunerUtilityD0Ev @ 60 NONAME
-	_ZN20CRadioFmTunerUtilityD1Ev @ 61 NONAME
-	_ZN20CRadioFmTunerUtilityD2Ev @ 62 NONAME
-	_ZNK16CRadioRdsUtility15GetCapabilitiesER16TRdsCapabilities @ 63 NONAME
-	_ZNK16CRadioRdsUtility18GetRdsSignalStatusERi @ 64 NONAME
-	_ZNK19CRadioPlayerUtility10GetBalanceERiS0_ @ 65 NONAME
-	_ZNK19CRadioPlayerUtility11PlayerStateEv @ 66 NONAME
-	_ZNK19CRadioPlayerUtility12GetMaxVolumeERi @ 67 NONAME
-	_ZNK19CRadioPlayerUtility9GetVolumeERi @ 68 NONAME
-	_ZNK20CRadioFmTunerUtility10GetSquelchERi @ 69 NONAME
-	_ZNK20CRadioFmTunerUtility12GetFrequencyERi @ 70 NONAME
-	_ZNK20CRadioFmTunerUtility13GetStereoModeERi @ 71 NONAME
-	_ZNK20CRadioFmTunerUtility17GetFrequencyRangeER22TFmRadioFrequencyRangeRiS2_ @ 72 NONAME
-	_ZNK20CRadioFmTunerUtility17GetSignalStrengthERi @ 73 NONAME
-	_ZNK20CRadioFmTunerUtility20GetMaxSignalStrengthERi @ 74 NONAME
-	_ZNK20CRadioFmTunerUtility22GetForcedMonoReceptionERi @ 75 NONAME
-	_ZTI13CRadioUtility @ 76 NONAME
-	_ZTI16CRadioRdsUtility @ 77 NONAME
-	_ZTI19CRadioPlayerUtility @ 78 NONAME
-	_ZTI20CRadioFmTunerUtility @ 79 NONAME
-	_ZTIN13CRadioMonitor5CBodyE @ 80 NONAME
-	_ZTIN13CRadioUtility5CBodyE @ 81 NONAME
-	_ZTIN16CRadioRdsUtility5CBodyE @ 82 NONAME
-	_ZTIN19CRadioPlayerUtility5CBodyE @ 83 NONAME
-	_ZTIN20CRadioFmTunerUtility5CBodyE @ 84 NONAME
-	_ZTV13CRadioUtility @ 85 NONAME
-	_ZTV16CRadioRdsUtility @ 86 NONAME
-	_ZTV19CRadioPlayerUtility @ 87 NONAME
-	_ZTV20CRadioFmTunerUtility @ 88 NONAME
-	_ZTVN13CRadioMonitor5CBodyE @ 89 NONAME
-	_ZTVN13CRadioUtility5CBodyE @ 90 NONAME
-	_ZTVN16CRadioRdsUtility5CBodyE @ 91 NONAME
-	_ZTVN19CRadioPlayerUtility5CBodyE @ 92 NONAME
-	_ZTVN20CRadioFmTunerUtility5CBodyE @ 93 NONAME
-	_ZThn4_N19CRadioPlayerUtility15CustomInterfaceE4TUid @ 94 NONAME
-
--- a/mmserv/radioutility/radio_utility/stub/group/Radio_Utility_Stub.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Project definition file for project RadioUtilityStub
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET        	Radio_Utility_Stub.dll
-TARGETTYPE    	DLL
-CAPABILITY    	CAP_GENERAL_DLL
-VENDORID      	VID_DEFAULT
-UID           	0x1000008D 0x01000001
-VERSION 10.1
-
-SOURCEPATH	../../src
-SOURCE		RadioUtility.cpp
-SOURCE		RadioUtilityBody.cpp
-SOURCE		RadioPlayerUtility.cpp
-SOURCE		RadioFmTunerUtility.cpp
-SOURCE		RadioRdsUtility.cpp
-SOURCE		RadioMonitorBody.cpp
-SOURCE      RadioPlayerUtilityBody.cpp
-SOURCE      RadioFmTunerUtilityBody.cpp
-SOURCE      RadioRdsUtilityBody.cpp
-
-SOURCEPATH	../src
-
-USERINCLUDE	../src
-USERINCLUDE	../../src
-USERINCLUDE	../../inc
-USERINCLUDE	../../../inc
-USERINCLUDE	../../../../../inc
-USERINCLUDE /sf/app/radio/radioengine/utils/inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-//LIBRARY		edllstub.lib
-LIBRARY		euser.lib
-LIBRARY		RadioSession_Stub.lib
-LIBRARY		CustomInterfaceUtility.lib 
-LIBRARY     flogger.lib 
- 
-MACRO STUB_CONSTELLATION
-
--- a/mmserv/radioutility/radio_utility/stub/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Project build file for Radio_Utility_Stub
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-// Platforms the component needs to be built on
-//
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// iby file
-../rom/Radio_Utility_Stub.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(Radio_Utility_Stub.iby)
-
-PRJ_MMPFILES
-Radio_Utility_Stub.mmp
-
-// End of file
--- a/mmserv/radioutility/radio_utility/stub/rom/Radio_Utility_Stub.iby	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  IBY file for the Radio Utility
-*
-*/
-
-
-#ifndef RADIO_UTILITY_IBY
-#define RADIO_UTILITY_IBY
-
-#ifdef __FM_RADIO
-
-file=ABI_DIR\BUILD_DIR\Radio_Utility_Stub.dll	SHARED_LIB_DIR\Radio_Utility_Stub.dll
-
-// Stub sis
-data = ZSYSTEM\install\Radio_Utility_Stub.sis	system\install\Radio_Utility_Stub.sis
-
-#endif //__FM_RADIO
-#endif // RADIO_UTILITY_IBY
-
-//  End of File  
--- a/mmserv/radioutility/radioserver/Server/Src/RadioServer.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radioserver/Server/Src/RadioServer.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -2099,8 +2099,7 @@
                 }
             }
         }
-    process.Close();
-    client.Close();
+
 #endif // RD_TSP_CLIENT_MAPPER
 
     if ( --iSessionCountPrimary == 0 )
@@ -3349,8 +3348,6 @@
         {
         iProcessId = process.Id();
         }
-    process.Close();
-    client.Close();
 #endif // RD_TSP_CLIENT_MAPPER
     }
 //  End of File
--- a/mmserv/radioutility/radioserver/Session/Bwins/RadioSessionU.DEF	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radioserver/Session/Bwins/RadioSessionU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -67,5 +67,4 @@
 	?StationSeekByTP@RRadioSession@@QAEXH@Z @ 66 NONAME ; void RRadioSession::StationSeekByTP(int)
 	?Stop@RRadioSession@@QAEXH@Z @ 67 NONAME ; void RRadioSession::Stop(int)
 	?Version@RRadioSession@@QBE?AVTVersion@@XZ @ 68 NONAME ; class TVersion RRadioSession::Version(void) const
-	?NewL@RRadioSession@@SAPAV1@XZ @ 69 NONAME ; class RRadioSession * RRadioSession::NewL(void)
 
--- a/mmserv/radioutility/radioserver/Session/EABI/RadioSessionU.DEF	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radioserver/Session/EABI/RadioSessionU.DEF	Wed Sep 01 12:23:00 2010 +0100
@@ -74,5 +74,4 @@
 	_ZTV13CRadioRequest @ 73 NONAME ; #<VT>#
 	_ZTV13RRadioSession @ 74 NONAME ; #<VT>#
 	_ZTV18CRadioEventHandler @ 75 NONAME ; #<VT>#
-	_ZN13RRadioSession4NewLEv @ 76 NONAME
 
--- a/mmserv/radioutility/radioserver/Session/Group/RadioSession.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radioserver/Session/Group/RadioSession.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -35,8 +35,6 @@
 USERINCLUDE	../../../inc
 
 MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/internal
 
 LIBRARY		euser.lib
 LIBRARY		MmfControllerFramework.lib
-LIBRARY     flogger.lib
--- a/mmserv/radioutility/radioserver/Session/Src/RadioEventHandler.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radioserver/Session/Src/RadioEventHandler.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -22,13 +22,6 @@
 #include    "RadioEventHandler.h"
 #include    "RadioClientServer.h"
 #include    "RadioDebug.h"
-#include    "trace.h"
-
-// This has to be the last include. 
-#ifdef STUB_CONSTELLATION
-#   include "RadioStubManager.h"
-#   define KRadioServerPropertyCategory KStub_KRadioServerPropertyCategory
-#endif //STUB_CONSTELLATION
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -47,7 +40,6 @@
 		iKey(aKey),
 		iObserver(aObserver)
     {
-    FUNC_LOG;
     if ( iKey == ERadioServPsAfSearchEnd )
     	{
 		// This is necessary to make sure AfSearchEnd comes in before FrequencyChanged event.
@@ -64,7 +56,7 @@
 //
 void CRadioEventHandler::ConstructL()
     {
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] CRadioEventHandler::ConstructL()"));
 	CActiveScheduler::Add(this);
 	User::LeaveIfError( iProperty.Attach(KRadioServerPropertyCategory, iKey) );
 	iProperty.Subscribe(iStatus);
@@ -81,7 +73,6 @@
 	RRadioSession& aSession,
 	TUint aKey )
     {
-    FUNC_LOG;
     CRadioEventHandler* self = new( ELeave ) CRadioEventHandler(aObserver,aSession, aKey);
     CleanupStack::PushL( self );
     self->ConstructL();
@@ -91,7 +82,6 @@
 // Destructor
 CRadioEventHandler::~CRadioEventHandler()
     {
-    FUNC_LOG;
 	if ( IsActive() )
 		{
 		Cancel();
@@ -105,7 +95,6 @@
 //
 void CRadioEventHandler::DoCancel()
     {
-    FUNC_LOG;
 	iProperty.Cancel();
     }
 
@@ -115,7 +104,6 @@
 //
 void CRadioEventHandler::RunL()
     {
-    FUNC_LOG;
     // Subscribe immediately before analyzing the notification to ensure that we
     // don't miss further updates.
 	iProperty.Subscribe(iStatus);
@@ -292,7 +280,7 @@
 			break;
 		default:
 			{
-			INFO("ERROR case default !!!");
+			RADIO_RDEBUG(_L("[RADIO-SESS] CRadioEventHandler::RunL(): ERROR case default !!!"));
 			User::Panic(_L("RadioServer"), KErrGeneral );
 			}
 			break;
--- a/mmserv/radioutility/radioserver/Session/Src/RadioRequest.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radioserver/Session/Src/RadioRequest.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -21,7 +21,6 @@
 // INCLUDE FILES
 #include    "RadioRequest.h"
 #include    "RadioDebug.h"
-#include    "trace.h"
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -44,7 +43,6 @@
 		iInt(0),
 		iIntPckg(iInt)
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -54,7 +52,7 @@
 //
 void CRadioRequest::ConstructL()
     {
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] CRadioRequest::ConstructL()"));
 	CActiveScheduler::Add(this);
     }
 
@@ -68,7 +66,6 @@
 	MRadioObserver& aObserver,
 	TRadioServerRequest aRequest )
     {
-    FUNC_LOG;
     CRadioRequest* self = new( ELeave ) CRadioRequest(aSession, aObserver, aRequest);
     CleanupStack::PushL( self );
     self->ConstructL();
@@ -78,8 +75,6 @@
 // Destructor
 CRadioRequest::~CRadioRequest()
     {
-    FUNC_LOG;
-    INFO_1("My pointer: 0x%x", this );
 	if ( IsActive() )
 		{
 		Cancel();
@@ -96,7 +91,6 @@
 	TRadioServerRequest aRequest,
 	TInt aError )
     {
-    FUNC_LOG;
 	iRequest = aRequest;
 
 	TRequestStatus* stat = &iStatus;
@@ -110,7 +104,6 @@
 //
 void CRadioRequest::DoCancel()
     {
-    FUNC_LOG;
 	iSession.CancelRequest(iRequest);
     }
 
@@ -120,12 +113,11 @@
 //
 void CRadioRequest::RunL()
     {
-    FUNC_LOG;
 	TInt err = iStatus.Int();
 	if ( err == KErrCancel )
 		{
 		// Ignore the cancelled request
-		INFO_1("cancelled iRequest [%d]", iRequest);
+		RADIO_RDEBUG_INT(_L("[RADIO-SESS] CRadioRequest::RunL():cancelled [%d]"), iRequest);
 		return;
 		}
 
@@ -135,31 +127,31 @@
 		case ERadioServStationSeek:
 			{
 			iInt = iIntPckg();
-			INFO_1("ERadioServStationSeek [%d]", iInt);
+			RADIO_RDEBUG_INT(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServStationSeek [%d]"), iInt);
 			iObserver.StationSeekComplete(err, iInt);
 			}
 			break;
 		case ERadioServSetFrequency:
 			{
-			INFO("ERadioServSetFrequency");
+			RADIO_RDEBUG(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServSetFrequency"));
 			iObserver.SetFrequencyComplete(err);
 			}
 			break;
 		case ERadioServRequestTunerControl:
 			{
-			INFO("ERadioServRequestTunerControl");
+			RADIO_RDEBUG(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServRequestTunerControl"));
 			iObserver.RequestTunerControlComplete(err);
 			}
 			break;
 		case ERadioServSetFrequencyRange:
 			{
-			INFO("ERadioServSetFrequencyRange");
+			RADIO_RDEBUG(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServSetFrequencyRange"));
 			iObserver.SetFrequencyRangeComplete(err);
 			}
 			break;
 		case ERadioServPlay:
 			{
-			INFO("INFOERadioServPlay");
+			RADIO_RDEBUG(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServPlay"));
 			if ( err != KErrNone )
 				{
 				iObserver.RadioEventStateChange(EFalse, err);
@@ -169,21 +161,21 @@
 		case ERadioServStationSeekByPTY:
 			{
 			iInt = iIntPckg();
-			INFO_1("ERadioServStationSeekByPTY [%d]", iInt);
+			RADIO_RDEBUG_INT(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServStationSeekByPTY [%d]"), iInt);
 			iObserver.StationSeekByPTYComplete(err, iInt);
 			}
 			break;
 		case ERadioServStationSeekByTA:
 			{
 			iInt = iIntPckg();
-			INFO_1("ERadioServStationSeekByTA [%d]", iInt);
+			RADIO_RDEBUG_INT(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServStationSeekByTA [%d]"), iInt);
 			iObserver.StationSeekByTAComplete(err, iInt);
 			}
 			break;
 		case ERadioServStationSeekByTP:
 			{
 			iInt = iIntPckg();
-			INFO_1("ERadioServStationSeekByTP [%d]", iInt);
+			RADIO_RDEBUG_INT(_L("[RADIO-SESS] CRadioRequest::RunL(): ERadioServStationSeekByTP [%d]"), iInt);
 			iObserver.StationSeekByTPComplete(err, iInt);
 			}
 			break;
@@ -213,7 +205,7 @@
 			break;
 		default:
 			{
-			INFO("ERROR case default !!!");
+			RADIO_RDEBUG(_L("[RADIO-SESS] CRadioRequest::RunL(): ERROR case default !!!"));
 			User::Panic(_L("RadioServer"), KErrGeneral );
 			break;
 			}
--- a/mmserv/radioutility/radioserver/Session/Src/RadioSession.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/radioutility/radioserver/Session/Src/RadioSession.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -25,7 +25,6 @@
 #include	"RadioRequest.h"
 #include	"RadioEventHandler.h"
 #include    "RadioDebug.h"
-#include    "trace.h"
 
 // CONSTANTS
 // Index to list of asynchronous requests that generates response to MRadioObserver.
@@ -55,7 +54,7 @@
 //
 static TInt StartServer()
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] StartServer()"));
 
     const TUidType serverUid(KNullUid, KNullUid, KRadioServerUid3);
 
@@ -67,7 +66,7 @@
 
     if ( r != KErrNone )
 	    {
-		INFO_1("server.Create() failed [%d]", r);
+		RADIO_RDEBUG_INT(_L("[RADIO-SESS] server.Create() failed [%d]"), r);
         return r;
 	    }
 	TRequestStatus stat;
@@ -92,18 +91,6 @@
 // ============================ MEMBER FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
-// RRadioSession::NewL
-// Two-phased constructor except no need for ConstrucL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RRadioSession* RRadioSession::NewL()
-    {
-    FUNC_LOG;
-    RRadioSession* self = new (ELeave) RRadioSession();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
 // RRadioSession::RRadioSession
 // C++ default constructor can NOT contain any code, that
 // might leave.
@@ -116,7 +103,6 @@
 		iPrimaryClient(EFalse),
 		iRdsNotify(EFalse)
     {
-    FUNC_LOG;
     }
 
 // -----------------------------------------------------------------------------
@@ -128,11 +114,11 @@
 	MRadioObserver& aObserver,
 	TBool aPrimaryClient )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] Connect() entry"));
 	// check if already connected
 	if ( iConnected )
 		{
-		INFO("already connected");
+		RADIO_RDEBUG(_L("[RADIO-SESS] Connect(): already connected"));
 		return KErrAlreadyExists;
 		}
 
@@ -161,7 +147,7 @@
 
 	if ( err != KErrNone )
 		{
-		INFO_1("Unable to start server [%d]", err);
+		RADIO_RDEBUG_INT(_L("[RADIO-SESS] Connect(): Unable to start server [%d]"), err);
 		return err;
 		}
 
@@ -191,7 +177,8 @@
 		{
 		iRequests.ResetAndDestroy();
 		}
-	INFO_1("exit err=[%d]", err);
+
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] Connect() exit err=[%d]"), err);
 	return err;
 	}
 
@@ -201,7 +188,6 @@
 //
 EXPORT_C TVersion RRadioSession::Version() const
 	{
-    FUNC_LOG;
 	return(TVersion(KRadioServerVersionMajor, KRadioServerVersionMinor, KRadioServerVersionBuild));
 	}
 
@@ -211,7 +197,7 @@
 //
 EXPORT_C void RRadioSession::Close()
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] Close() entry"));
 	iRequests.ResetAndDestroy();
 	iRequests.Close();
 
@@ -230,6 +216,7 @@
 			}
 		RSessionBase::Close();
 		}
+	RADIO_RDEBUG(_L("[RADIO-SESS] Close() exit"));
 	}
 
 //********** TunerUtility control begins
@@ -241,6 +228,7 @@
 EXPORT_C void RRadioSession::RequestTunerControl(
 	TRsTuner aTuner )
 	{
+	RADIO_RDEBUG(_L("[RADIO-SESS] RequestTunerControl()"));
 	if ( iConnected )
 		{
 		if ( iRequests[KReqRequestTunerControl]->IsActive() )
@@ -265,6 +253,7 @@
 EXPORT_C TInt RRadioSession::GetTunerCapabilities(
 	TRsTunerCapabilities& aCaps ) const
 	{
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetTunerCapabilities()"));
 	if ( iConnected )
 		{
 		TPckg<TRsTunerCapabilities> caps(aCaps);
@@ -284,7 +273,7 @@
 EXPORT_C TInt RRadioSession::EnableTunerInOfflineMode(
 	TBool aEnable )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] EnableTunerInOfflineMode() [%d]"), aEnable);
 	if ( iConnected )
 		{
 		return SendReceive(ERadioServEnableTunerInOfflineMode,
@@ -303,7 +292,7 @@
 EXPORT_C void RRadioSession::SetFrequencyRange(
 	TRsFrequencyRange aRange )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] SetFrequencyRange() [%d]"), aRange);
 	if ( iConnected )
 		{
 		if ( iRequests[KReqSetFrequencyRange]->IsActive() )
@@ -327,7 +316,7 @@
 //
 EXPORT_C void RRadioSession::CancelSetFrequencyRange()
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] CancelSetFrequencyRange()"));
 	if ( iConnected && iRequests[KReqSetFrequencyRange]->IsActive() )
 		{
 		iRequests[KReqSetFrequencyRange]->Cancel();
@@ -343,7 +332,7 @@
 	TInt& aMinFreq,
 	TInt& aMaxFreq) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetFrequencyRange()"));
 	if ( iConnected )
 		{
 		TPckg<TRsFrequencyRange> range(aRange);
@@ -365,7 +354,7 @@
 EXPORT_C void RRadioSession::SetFrequency(
 	TInt aFrequency )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] SetFrequency() [%d]"), aFrequency);
 	if ( iConnected )
 		{
 		if ( iRequests[KReqSetFrequency]->IsActive() )
@@ -389,7 +378,7 @@
 //
 EXPORT_C void RRadioSession::CancelSetFrequency()
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] CancelSetFrequency()"));
 	if ( iConnected && iRequests[KReqSetFrequency]->IsActive() )
 		{
 		iRequests[KReqSetFrequency]->Cancel();
@@ -403,7 +392,7 @@
 EXPORT_C TInt RRadioSession::GetFrequency(
 	TInt& aFrequency ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetFrequency()"));
 	if ( iConnected )
 		{
 		TPckg<TInt> frequency(aFrequency);
@@ -422,7 +411,7 @@
 EXPORT_C void RRadioSession::StationSeek(
 	TBool aUpwards )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] StationSeek() [%d]"), aUpwards);
 	if ( iConnected )
 		{
 		if ( iRequests[KReqStationSeek]->IsActive() )
@@ -445,7 +434,7 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void RRadioSession::CancelStationSeek()
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] CancelStationSeek()"));
 	if ( iConnected && iRequests[KReqStationSeek]->IsActive() )
 		{
 		iRequests[KReqStationSeek]->Cancel();
@@ -458,7 +447,7 @@
 EXPORT_C TInt RRadioSession::GetSignalStrength(
 	TInt& aSignalStrength ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetSignalStrength()"));
 	if ( iConnected )
 		{
 		TPckg<TInt> strength(aSignalStrength);
@@ -477,7 +466,7 @@
 EXPORT_C TInt RRadioSession::GetMaxSignalStrength(
 	TInt& aMaxSignalStrength ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetMaxSignalStrength()"));
 	if ( iConnected )
 		{
 		TPckg<TInt> maxStrength(aMaxSignalStrength);
@@ -496,7 +485,7 @@
 EXPORT_C TInt RRadioSession::GetStereoMode(
 	TBool& aStereo ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetStereoMode()"));
 	if ( iConnected )
 		{
 		TPckg<TBool> stereo(aStereo);
@@ -515,7 +504,7 @@
 EXPORT_C TInt RRadioSession::ForceMonoReception(
 	TBool aForcedMono )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] ForceMonoReception() [%d]"), aForcedMono);
 	if ( iConnected )
 		{
 		return SendReceive(ERadioServForceMonoReception,
@@ -533,7 +522,7 @@
 EXPORT_C TInt RRadioSession::GetForceMonoReception(
 	TBool& aForcedMono ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetForceMonoReception()"));
 	if ( iConnected )
 		{
 		TPckg<TBool> mono(aForcedMono);
@@ -552,7 +541,7 @@
 EXPORT_C TInt RRadioSession::SetSquelch(
 	TBool aEnabled )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] SetSquelch() [%d]"), aEnabled);
 	if ( iConnected )
 		{
 		return SendReceive(ERadioServSetSquelch,
@@ -570,7 +559,7 @@
 EXPORT_C TInt RRadioSession::GetSquelch(
 	TBool& aSquelch ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetSquelch()"));
 	if ( iConnected )
 		{
 		TPckg<TBool> squelch(aSquelch);
@@ -591,7 +580,7 @@
 EXPORT_C TInt RRadioSession::PlayerState(
 	TRsPlayerState& aState ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetPlayerState()"));
 	if ( iConnected )
 		{
 		TPckg<TRsPlayerState> state(aState);
@@ -609,7 +598,7 @@
 // -----------------------------------------------------------------------------
 EXPORT_C void RRadioSession::Play()
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] Play()"));
 	if ( iConnected )
 		{
 		if ( iRequests[KReqPlay]->IsActive() )
@@ -630,14 +619,14 @@
 EXPORT_C void RRadioSession::Stop(
 	TBool aIfOnlyPrimaryClient )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] Stop() [%d]"), aIfOnlyPrimaryClient);
 	if ( iConnected )
 		{
 		TInt err = Send(ERadioServStop,
 						TIpcArgs(&iDestinationPckg, aIfOnlyPrimaryClient));
 		if (err != KErrNone)
 			{
-			INFO_1("err[%d]", err);
+			RADIO_RDEBUG_INT(_L("[RADIO-SESS] Stop() - err[%d]"), err);
 			}
 		}
 	}
@@ -648,7 +637,7 @@
 EXPORT_C TInt RRadioSession::GetMaxVolume(
     TInt& aMaxVolume ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetMaxVolume()"));
 	if ( iConnected )
 		{
 		TPckg<TInt> maxVolume(aMaxVolume);
@@ -667,7 +656,7 @@
 EXPORT_C TInt RRadioSession::SetVolume(
 	TInt aVolume )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] SetVolume() [%d]"), aVolume);
 	if ( iConnected )
 		{
 		return SendReceive(ERadioServSetVolume,
@@ -685,7 +674,7 @@
 EXPORT_C TInt RRadioSession::GetVolume(
 	TInt& aVolume ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetVolume()"));
 	if ( iConnected )
 		{
 		TPckg<TInt> volume(aVolume);
@@ -704,7 +693,7 @@
 EXPORT_C TInt RRadioSession::SetVolumeRamp(
 	const TTimeIntervalMicroSeconds& aRampInterval )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] SetVolumeRamp()"));
 	if ( iConnected )
 		{
 		TPckgBuf<TTimeIntervalMicroSeconds> interval(aRampInterval);
@@ -723,7 +712,7 @@
 EXPORT_C TInt RRadioSession::Mute(
 	TBool aMute )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] Mute() [%d]"), aMute);
 	if ( iConnected )
 		{
 		return SendReceive(ERadioServSetMute,
@@ -741,7 +730,7 @@
 EXPORT_C TInt RRadioSession::GetMuteStatus(
 	TBool& aMute ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] Mute()"));
 	if ( iConnected )
 		{
 		TPckg<TBool> mute(aMute);
@@ -761,7 +750,7 @@
 	TInt aLeftPercentage,
 	TInt aRightPercentage )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT2(_L("[RADIO-SESS] SetBalance() left=[%d] right=[%d]"), aLeftPercentage, aRightPercentage);
 	if ( iConnected )
 		{
 		return SendReceive(ERadioServSetBalance,
@@ -781,7 +770,7 @@
 	TInt& aLeftPercentage,
 	TInt& aRightPercentage ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetBalance()"));
 	if ( iConnected )
 		{
 		TPckg<TInt> left(aLeftPercentage);
@@ -804,7 +793,7 @@
 EXPORT_C TInt RRadioSession::GetRdsCapabilities(
 	TRsRdsCapabilities& aCaps ) const
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetRdsCapabilities()"));
 	if ( iConnected )
 		{
 		TPckg<TRsRdsCapabilities> caps(aCaps);
@@ -824,7 +813,7 @@
 EXPORT_C TInt RRadioSession::GetRdsSignalStatus(
 	TBool& aRdsSignal ) const
     {
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] GetRdsSignalStatus()"));
 	if ( iConnected )
 		{
 		TPckg<TBool> signal(aRdsSignal);
@@ -844,7 +833,7 @@
 EXPORT_C TInt RRadioSession::NotifyRdsDataChange(
 	TRsRdsData aRdsData )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] NotifyRdsDataChange() [%d]"), aRdsData.iRdsFunctions);
 	if ( !iConnected )
 		{
 		return KErrDisconnected;
@@ -858,7 +847,7 @@
 	TRAPD(err, StartRdsEventHandlersL(aRdsData.iRdsFunctions));
 	if ( err != KErrNone )
 		{
-		INFO_1("err=[%d]", err);
+		RADIO_RDEBUG_INT(_L("[RADIO-SESS] NotifyRdsDataChange() err=[%d]"), err);
 		return err;
 		}
 	err = SendReceive(ERadioServNotifyRdsDataChange,
@@ -876,7 +865,7 @@
 //
 EXPORT_C void RRadioSession::CancelNotifyRdsDataChange()
     {
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] CancelNotifyRdsDataChange()"));
 	if ( iConnected && iRdsNotify )
 		{
 		iRdsEventHandlers.ResetAndDestroy();
@@ -892,7 +881,7 @@
 EXPORT_C TInt RRadioSession::NotifyRadioTextPlusChange(
 	RArray<TInt>& /*aRtPlusClasses*/ )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] NotifyRadioTextPlusChange()"));
 	return KErrNotSupported;
 	}
 
@@ -902,7 +891,7 @@
 //
 EXPORT_C void RRadioSession::CancelNotifyRadioTextPlusChange()
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] CancelNotifyRadioTextPlusChange()"));
 	// NotifyRadioTextPlusChange is not supported
 	}
 
@@ -913,7 +902,7 @@
 EXPORT_C TInt RRadioSession::SetAutomaticSwitching(
 	TBool aAuto )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] SetAutomaticSwitching() [%d]"), aAuto);
 	if ( iConnected )
 		{
 		return SendReceive(ERadioServSetAutomaticSwitching,
@@ -932,7 +921,7 @@
 EXPORT_C TInt RRadioSession::GetAutomaticSwitching(
 	TBool& aAuto )
 	{
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] GetAutomaticSwitching()"));
 	if ( iConnected )
 		{
 		TPckg<TBool> autoSwitching(aAuto);
@@ -951,7 +940,7 @@
 //
 EXPORT_C void RRadioSession::CancelAFSearch()
 	{
-    FUNC_LOG;
+   	RADIO_RDEBUG(_L("[RADIO-SESS] CancelAFSearch()"));
 	if ( iConnected )
 		{
 		SendReceive(ERadioServCancelAFSearch, TIpcArgs(&iDestinationPckg));
@@ -965,7 +954,7 @@
 EXPORT_C TInt RRadioSession::SetAutomaticTrafficAnnouncement(
 	TBool /*aAuto*/ )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] SetAutomaticTrafficAnnouncement()"));
 	return KErrNotSupported;
 	}
 
@@ -976,7 +965,7 @@
 EXPORT_C TInt RRadioSession::GetAutomaticTrafficAnnouncement(
 	TBool& /*aAuto*/ )
 	{
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] GetAutomaticTrafficAnnouncement()"));
 	return KErrNotSupported;
    	}
 
@@ -988,7 +977,7 @@
 	TRsRdsProgrammeType aPty,
 	TBool aSeekUp )
    	{
-    FUNC_LOG;
+   	RADIO_RDEBUG_INT(_L("[RADIO-SESS] StationSeekByPTY() pty=[%d]"), aPty);
 	if ( iConnected )
 		{
 		if ( iRequests[KReqStationSeekByPTY]->IsActive() )
@@ -1013,7 +1002,7 @@
 EXPORT_C void RRadioSession::StationSeekByTA(
 	TBool aSeekUp )
    	{
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] StationSeekByTA()"));
 	if ( iConnected )
 		{
 		if ( iRequests[KReqStationSeekByTA]->IsActive() )
@@ -1038,7 +1027,7 @@
 EXPORT_C void RRadioSession::StationSeekByTP(
 	TBool aSeekUp )
    	{
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] StationSeekByTP()"));
 	if ( iConnected )
 		{
 		if ( iRequests[KReqStationSeekByTP]->IsActive() )
@@ -1062,7 +1051,7 @@
 //
 EXPORT_C void RRadioSession::CancelRdsStationSeek()
   	{
-    FUNC_LOG;
+   	RADIO_RDEBUG(_L("[RADIO-SESS] CancelRdsStationSeek()"));
 	if ( iConnected )
 		{
 		if ( iRequests[KReqStationSeekByPTY]->IsActive() )
@@ -1087,7 +1076,7 @@
 EXPORT_C void RRadioSession::GetFreqByPTY(
 	TRsRdsProgrammeType /*aPty*/ )
 	{
-    FUNC_LOG;
+  	RADIO_RDEBUG(_L("[RADIO-SESS] GetFreqByPTY()"));
 	iRequests[KReqInternal]->CompleteRequest(ERadioServGetFreqByPTY, KErrNotSupported);
   	}
 
@@ -1097,7 +1086,7 @@
 //
 EXPORT_C void RRadioSession::CancelGetFreqByPTY()
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] CancelGetFreqByPTY()"));
 	// GetFreqByPTY is not supported
 	}
 
@@ -1107,7 +1096,7 @@
 //
 EXPORT_C void RRadioSession::GetFreqByTA()
 	{
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] GetFreqByTA()"));
 	iRequests[KReqInternal]->CompleteRequest(ERadioServGetFreqByTA, KErrNotSupported);
     }
 
@@ -1117,7 +1106,7 @@
 //
 EXPORT_C void RRadioSession::CancelGetFreqByTA()
     {
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] CancelGetFreqByTA()"));
     // GetFreqByTA is not supported
 	}
 
@@ -1128,7 +1117,7 @@
 EXPORT_C void RRadioSession::GetPSByPTY(
 	TRsRdsProgrammeType /*aPty*/ )
     {
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] GetPSByPTY()"));
 	iRequests[KReqInternal]->CompleteRequest(ERadioServGetPSByPTY, KErrNotSupported);
     }
 
@@ -1138,7 +1127,7 @@
 //
 EXPORT_C void RRadioSession::CancelGetPSByPTY()
     {
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] CancelGetPSByPTY()"));
     // GetPSByPTY is not supported
 	}
 
@@ -1148,7 +1137,7 @@
 //
 EXPORT_C void RRadioSession::GetPSByTA()
     {
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] GetPSByTA()"));
 	iRequests[KReqInternal]->CompleteRequest(ERadioServGetPSByTA, KErrNotSupported);
     }
 
@@ -1158,7 +1147,7 @@
 //
 EXPORT_C void RRadioSession::CancelGetPSByTA()
     {
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] CancelGetPSByTA()"));
     // GetPSByTA is not supported
 	}
 
@@ -1169,7 +1158,7 @@
 EXPORT_C TInt RRadioSession::GetProgrammeIdentification(
 	TInt& aPi )
     {
-    FUNC_LOG;
+ 	RADIO_RDEBUG(_L("[RADIO-SESS] GetProgrammeIdentification()"));
 	if ( iConnected )
 		{
 		TPckg<TInt> pi(aPi);
@@ -1189,7 +1178,7 @@
 EXPORT_C TInt RRadioSession::GetProgrammeType(
 	TRsRdsProgrammeType& aPty )
     {
-    FUNC_LOG;
+  	RADIO_RDEBUG(_L("[RADIO-SESS] GetProgrammeType()"));
 	if ( iConnected )
 		{
 		TPckg<TRsRdsProgrammeType> pty(aPty);
@@ -1209,7 +1198,7 @@
 EXPORT_C TInt RRadioSession::GetProgrammeService(
 	TRsRdsPSName& aPs )
     {
-    FUNC_LOG;
+ 	RADIO_RDEBUG(_L("[RADIO-SESS] GetProgrammeService()"));
 	if ( iConnected )
 		{
 		TPckg<TRsRdsPSName> ps(aPs);
@@ -1229,7 +1218,7 @@
 EXPORT_C TInt RRadioSession::GetRadioText(
 	TRsRdsRadioText& aRt )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetRadioText()"));
 	if ( iConnected )
 		{
 		TPckg<TRsRdsRadioText> rt(aRt);
@@ -1250,7 +1239,7 @@
 	TRsRdsRTplusClass /*aRtPlusClass*/,
 	TRsRdsRadioText& /*aRtPlusData*/ )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetRadioText()"));
 	return KErrNotSupported;
 	}
 
@@ -1261,7 +1250,7 @@
 EXPORT_C TInt RRadioSession::GetClockTime(
 	TDateTime& aCt )
 	{
-    FUNC_LOG;
+    RADIO_RDEBUG(_L("[RADIO-SESS] GetClockTime()"));
 	if ( iConnected )
 		{
 		TPckg<TDateTime> ct(aCt);
@@ -1281,7 +1270,7 @@
 EXPORT_C TInt RRadioSession::GetTrafficAnnouncementStatus(
 	TBool& aTaStatus )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetTrafficAnnouncementStatus()"));
 	if ( iConnected )
 		{
 		TPckg<TBool> taStatus(aTaStatus);
@@ -1301,7 +1290,7 @@
 EXPORT_C TInt RRadioSession::GetTrafficProgrammeStatus(
 	TBool& aTpStatus )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] GetTrafficProgrammeStatus()"));
 	if ( iConnected )
 		{
 		TPckg<TBool> tpStatus(aTpStatus);
@@ -1323,7 +1312,7 @@
 	const TDesC8& aDataTo1,
 	const TDesC8& aDataTo2 )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] CustomCommandSync NoReturn()"));
 	if ( iConnected )
 		{
 		return SendReceive(aFunction, TIpcArgs(&aDestination, &aDataTo1, &aDataTo2));
@@ -1344,7 +1333,7 @@
 	const TDesC8& aDataTo2,
 	TDes8& aDataFrom )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] CustomCommandSync Return()"));
 	if ( iConnected )
 		{
 		return SendReceive(aFunction, TIpcArgs(&aDestination, &aDataTo1, &aDataTo2, &aDataFrom));
@@ -1365,7 +1354,7 @@
 	const TDesC8& aDataTo2,
 	TRequestStatus& aStatus )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] CustomCommandAsync NoReturn()"));
 	if ( iConnected )
 		{
 		SendReceive(aFunction, TIpcArgs(&aDestination, &aDataTo1, &aDataTo2), aStatus);
@@ -1388,7 +1377,7 @@
 	TDes8& aDataFrom,
 	TRequestStatus& aStatus )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] CustomCommandAsync Return()"));
 	if ( iConnected )
 		{
 		SendReceive(aFunction, TIpcArgs(&aDestination, &aDataTo1, &aDataTo2, &aDataFrom), aStatus);
@@ -1407,8 +1396,7 @@
 void RRadioSession::CancelRequest(
 	TInt aRequest )
 	{
-    FUNC_LOG;
-	INFO_1("aRequest: [%d]", aRequest);
+	RADIO_RDEBUG_INT(_L("[RADIO-SESS] CancelRequest(): [%d]"), aRequest);
 	if ( iConnected )
 		{
 		SendReceive(ERadioServCancel, TIpcArgs(&iDestinationPckg, aRequest));
@@ -1425,7 +1413,8 @@
 void RRadioSession::StartRequestHandlersL(
 	MRadioObserver& aObserver )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] StartRequestHandlersL()"));
+
 	CRadioRequest* req = NULL;
 
 	req = CRadioRequest::NewLC(*this, aObserver, ERadioServNone);
@@ -1472,7 +1461,7 @@
 void RRadioSession::StartEventHandlersL(
 	MRadioObserver& aEventObserver )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] StartEventHandlersL()"));
 
 	CRadioEventHandler* handler = NULL;
 
@@ -1528,7 +1517,7 @@
 void RRadioSession::StartRdsEventHandlersL(
 	TUint32 aRdsFunction )
 	{
-    FUNC_LOG;
+	RADIO_RDEBUG(_L("[RADIO-SESS] StartRdsEventHandlersL()"));
 
 	iRdsEventHandlers.ResetAndDestroy();
 	CRadioEventHandler* handler = NULL;
--- a/mmserv/radioutility/radioserver/Session/Src/trace.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,596 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-* Trace macro definitions.
-*
-*/
-
-#ifndef TRACE_H
-#define TRACE_H
-
-#include <e32base.h> // TCleanupItem
-#include "traceconfiguration.hrh"
-
-#ifdef TRACE_INTO_FILE
-#include <flogger.h> // RFileLogger
-#else
-#include <e32debug.h> // RDebug
-#endif
-
-//-----------------------------------------------------------------------------
-// Constants
-//-----------------------------------------------------------------------------
-//
-
-// NOTE!
-// Replace all COMPONENT_NAME occurnaces with your own component / module name.
-
-/**
-* Prefix trace macro to complete tracing with component name.
-* Returns TDesC which can be used directly with RDebug or RFileLogger.
-*/
-#define _PREFIX_TRACE( aMsg ) TPtrC( (const TText*)L"[Radio_Client_Session]: " L##aMsg )
-
-/**
-* Prefix error trace
-*/
-#define _PREFIX_ERROR( aMsg ) _PREFIX_TRACE( "[ERROR: %d]: " L##aMsg )
-
-/**
-* Prefix info trace.
-*/
-#define _PREFIX_INFO( aMsg ) _PREFIX_TRACE( "[INFO]: " L##aMsg )
-
-/**
-* Prefix macro for strings
-*/
-#define _PREFIX_CHAR( aMsg ) (const char*)"[Radio_Client_Session]: " ##aMsg
-
-/**
-* Define needed directories if TRACE_INTO_FILE macro in use
-*/
-#ifdef TRACE_INTO_FILE
-
-    _LIT( KDir, "radio" );
-    _LIT( KFile, "radio.txt" );
-    _LIT( KFullPath, "c:\\logs\\radio\\" );
-
-#endif
-
-//-----------------------------------------------------------------------------
-// Error trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef ERROR_TRACE
-
-    /**
-    * Error trace definitions.
-    */
-    #ifdef TRACE_INTO_FILE
-
-        #define ERROR( aErr, aMsg )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr );\
-                }\
-            }
-        #define ERROR_1( aErr, aMsg, aP1 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1 );\
-                }\
-            }
-        #define ERROR_2( aErr, aMsg, aP1, aP2 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2 );\
-                }\
-            }
-        #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3 );\
-                }\
-            }
-        #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4 );\
-                }\
-            }
-        #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\
-                }\
-            }
-        #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\
-                }\
-            }
-            
-    #else//TRACE_INTO_FILE not defined
-    
-        #define ERROR( aErr, aMsg )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr );\
-                }\
-            }
-        #define ERROR_1( aErr, aMsg, aP1 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1 );\
-                }\
-            }
-        #define ERROR_2( aErr, aMsg, aP1, aP2 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2 );\
-                }\
-            }
-        #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3 );\
-                }\
-            }
-        #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4 );\
-                }\
-            }
-        #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5 );\
-                }\
-            }
-        #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            if( aErr < KErrNone )\
-                {\
-                RDebug::Print( _PREFIX_ERROR( aMsg ), aErr, aP1, aP2, aP3, aP4, aP5, aP6 );\
-                }\
-            }
-    
-    #endif//TRACE_INTO_FILE
-
-    #define ERROR_GEN( aMsg ) ERROR( KErrGeneral, aMsg )
-    #define ERROR_GEN_1( aMsg, aP1 ) ERROR_1( KErrGeneral, aMsg, aP1 )
-    #define ERROR_GEN_2( aMsg, aP1, aP2 ) ERROR_2( KErrGeneral, aMsg, aP1, aP2 )
-    #define ERROR_GEN_3( aMsg, aP1, aP2, aP3 ) ERROR_3( KErrGeneral, aMsg, aP1, aP3 )
-    #define ERROR_GEN_4( aMsg, aP1, aP2, aP3, aP4 ) ERROR_4( KErrGeneral, aMsg, aP1, aP3, aP4 )
-    #define ERROR_GEN_5( aMsg, aP1, aP2, aP3, aP4, aP5 ) ERROR_5( KErrGeneral, aMsg, aP1, aP3, aP4, aP5 )
-    #define ERROR_GEN_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 ) ERROR_6( KErrGeneral, aMsg, aP1, aP3, aP4, aP5, aP6 )
-
-#else//ERROR_TRACE not defined
-
-    #define ERROR( aErr, aMsg )
-    #define ERROR_1( aErr, aMsg, aP1 )
-    #define ERROR_2( aErr, aMsg, aP1, aP2 )
-    #define ERROR_3( aErr, aMsg, aP1, aP2, aP3 )
-    #define ERROR_4( aErr, aMsg, aP1, aP2, aP3, aP4 )
-    #define ERROR_5( aErr, aMsg, aP1, aP2, aP3, aP4, aP5 )
-    #define ERROR_6( aErr, aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )
-
-    #define ERROR_GEN( aMsg )
-    #define ERROR_GEN_1( aMsg, aP1 )
-    #define ERROR_GEN_2( aMsg, aP1, aP2 )
-    #define ERROR_GEN_3( aMsg, aP1, aP2, aP3 )
-    #define ERROR_GEN_4( aMsg, aP1, aP2, aP3, aP4 )
-    #define ERROR_GEN_5( aMsg, aP1, aP2, aP3, aP4, aP5 )
-    #define ERROR_GEN_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )
-
-#endif//ERROR_TRACE
-
-//-----------------------------------------------------------------------------
-// TRAP and trace with error macro
-//-----------------------------------------------------------------------------
-//
-#define TRAP_ERROR( aErr, aFunction )\
-    {\
-    TRAP( aErr, aFunction );\
-    TPtrC8 file( ( TText8* )__FILE__ );\
-    ERROR_2( aErr, "Trapped leave in '%S' line %d", &file, __LINE__);\
-    }
-
-//-----------------------------------------------------------------------------
-// Info trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef INFO_TRACE
-
-    /**
-    * Info log message definitions.
-    */
-    #ifdef TRACE_INTO_FILE
-    
-        #define INFO( aMsg )\
-            {\
-            RFileLogger::Write( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ) );\
-            }
-        #define INFO_1( aMsg, aP1 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1 );\
-            }
-        #define INFO_2( aMsg, aP1, aP2 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2 );\
-            }
-        #define INFO_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3 );\
-            }
-        #define INFO_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4 );\
-            }
-        #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5 );\
-            }
-        #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5, aP6 );\
-            }
-
-    #else//TRACE_INTO_FILE not defined
-
-        #define INFO( aMsg )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ) );\
-            }
-        #define INFO_1( aMsg, aP1 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1 );\
-            }
-        #define INFO_2( aMsg, aP1, aP2 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2 );\
-            }
-        #define INFO_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3 );\
-            }
-        #define INFO_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4 );\
-            }
-        #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5 );\
-            }
-        #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )\
-            {\
-            RDebug::Print( _PREFIX_INFO( aMsg ), aP1, aP2, aP3, aP4, aP5, aP6 );\
-            }
-
-    #endif//TRACE_INTO_FILE
-        
-#else//INFO_TRACE not defined
-
-    #define INFO( aMsg )
-    #define INFO_1( aMsg, aP1 )
-    #define INFO_2( aMsg, aP1, aP2 )
-    #define INFO_3( aMsg, aP1, aP2, aP3 )
-    #define INFO_4( aMsg, aP1, aP2, aP3, aP4 )
-    #define INFO_5( aMsg, aP1, aP2, aP3, aP4, aP5 )
-    #define INFO_6( aMsg, aP1, aP2, aP3, aP4, aP5, aP6 )
-
-#endif//INFO_TRACE
-
-//-----------------------------------------------------------------------------
-// Trace current client thread name and process id
-//-----------------------------------------------------------------------------
-//
-#ifdef CLIENT_TRACE
-
-    #define CLIENT_PROCESS\
-        {\
-        CLIENT_PROCESS_PREFIX( "" );\
-        }        
-
-    #define CLIENT_PROCESS_PREFIX( aPrefix )\
-        {\
-        RProcess process;\
-        TPtrC name( process.Name() );\
-        TSecureId sid( process.SecureId() );\
-        TPtrC prefix( _S( aPrefix ) );\
-        if( prefix.Length() )\
-            {\
-            INFO_3( "%S: CLIENT - Name: [%S], Sid: [0x%x]", &prefix, &name, sid.iId );\
-            }\
-        else\
-            {\
-            INFO_2( "CLIENT - Name: [%S], Sid: [0x%x]", &name, sid.iId );\
-            }\
-        process.Close();\
-        }        
-
-    #define CLIENT_MESSAGE( aMsg )\
-        {\
-        CLIENT_MESSAGE_PREFIX( "", aMsg );\
-        }
-
-    #define CLIENT_MESSAGE_PREFIX( aPrefix, aMsg )\
-        {\
-        RThread thread;\
-        TInt err = aMsg.Client( thread );\
-        if( err == KErrNone )\
-            {\
-            RProcess process;\
-            err = thread.Process( process );\
-            if( err == KErrNone )\
-                {\
-                TPtrC threadName( thread.Name() );\
-                TUid processUid( process.SecureId() );\
-                TPtrC prefix( _S( aPrefix ) );\
-                if( prefix.Length() )\
-                    {\
-                    INFO_4( "%S: MSG - Name: [%S], Sid: [0x%x], Message ID: [%d]",\
-                        &prefix,\
-                        &threadName,\
-                        processUid,\
-                        aMsg.Function() );\
-                    }\
-                else\
-                    {\
-                    INFO_3( "MSG - Name: [%S], Sid: [0x%x], Message ID: [%d]",\
-                        &threadName,\
-                        processUid,\
-                        aMsg.Function() );\
-                    }\
-                }\
-            process.Close();\
-            }\
-        thread.Close();\
-        }
-
-#else
-
-    #define CLIENT_PROCESS
-    #define CLIENT_PROCESS_PREFIX( aPrefix )
-    #define CLIENT_MESSAGE( aMsg )
-    #define CLIENT_MESSAGE_PREFIX( aPrefix, aMsg )
-
-#endif
-
-//-----------------------------------------------------------------------------
-// Function trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef FUNC_TRACE
-
-    /**
-    * Function logging definitions.
-    */
-    #ifdef TRACE_INTO_FILE
-    
-        #define FUNC( aMsg, aP1 )\
-            {\
-            TPtrC8 trace( _S8( aMsg ) );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, trace, aP1 );\
-            }\
-    
-    #else//TRACE_INTO_FILE not defined
-    
-        #define FUNC( aMsg, aP1 )\
-            {\
-            RDebug::Printf( aMsg, aP1 );\
-            }\
-    
-    #endif//TRACE_INTO_FILE
-        
-    /**
-    * Function trace helper class.
-    * 
-    * NOTE:
-    * LC -methods cannot be trapped. Therefore if LC -method leaves
-    * END trace is used instead of LEAVE trace.
-    * If you have an idea how to round this problem please tell.
-    */
-    _LIT8( KFuncNameTerminator, "(" );
-    _LIT8( KFuncLeavePatternL, "L" );
-    class TFuncLog
-        {
-        public:
-            static void Cleanup( TAny* aPtr )
-                {
-                TFuncLog* self = static_cast< TFuncLog* >( aPtr );
-                self->iLeft = ETrue;
-                FUNC( _PREFIX_CHAR("%S-LEAVE"), &self->iFunc ); // Leave detected
-                }
-            inline TFuncLog( const char* aFunc ) :
-                    iFunc( aFunc ? _S8( aFunc ) : _S8("") ),
-                    iLeft( EFalse ),
-                    iCleanupItem( Cleanup, this ),
-                    iCanLeave( EFalse )
-                {
-                TInt pos( iFunc.Find( KFuncNameTerminator ) );
-                if( pos != KErrNotFound )
-                    {
-                    iFunc.Set( iFunc.Left( pos ) );
-                    iCanLeave = !iFunc.Right( KFuncLeavePatternL().Length() ).Compare( KFuncLeavePatternL );
-                    if ( iCanLeave )
-                        {
-                        CleanupStack::PushL( iCleanupItem ); // Ignore warnings
-                        }
-                    }
-                FUNC( _PREFIX_CHAR("%S-START"), &iFunc );
-                }
-
-            inline ~TFuncLog()
-                {
-                if ( !iLeft )
-                    {
-                    if ( iCanLeave )
-                        {
-                        CleanupStack::Pop( this ); // Pop the cleanup item
-                        }
-                    FUNC( _PREFIX_CHAR("%S-END"), &iFunc ); // Normally finished
-                    }
-                }
-
-        private: // Data
-            TPtrC8 iFunc;
-            TBool iLeft;
-            TCleanupItem iCleanupItem;
-            TBool iCanLeave;
-        };
-    #define FUNC_LOG TFuncLog _fl( __PRETTY_FUNCTION__ );
-    
-#else//FUNC_TRACE not defined
-
-    #define FUNC_LOG
-
-#endif//FUNC_TRACE
-
-//-----------------------------------------------------------------------------
-// Timestamp trace macros
-//-----------------------------------------------------------------------------
-//
-#ifdef TIMESTAMP_TRACE
-
-    #ifdef TRACE_INTO_FILE
-    
-        #define TIMESTAMP( aCaption )\
-            {\
-            TTime t;\
-            t.HomeTime();\
-            TDateTime dt = t.DateTime();\
-            _LIT( KCaption, aCaption );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend,\
-                _PREFIX_TRACE("[TIMESTAMP] %S %d:%02d:%02d.%d us"),\
-                    &KCaption, dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond() );\
-            }
-
-    #else//TRACE_INTO_FILE not defined
-    
-        #define TIMESTAMP( aCaption )\
-            {\
-            TTime t;\
-            t.HomeTime();\
-            TDateTime dt = t.DateTime();\
-            _LIT( KCaption, aCaption );\
-            RDebug::Print( _PREFIX_TRACE("[TIMESTAMP] %S %d:%02d:%02d.%d us"),\
-                &KCaption, dt.Hour(), dt.Minute(), dt.Second(), dt.MicroSecond() );\
-            }
-
-    #endif//TRACE_INTO_FILE
-
-#else//TIMESTAMP_TRACE not defined
-
-    #define TIMESTAMP( aCaption )
-
-#endif//TIMESTAMP_TRACE
-
-#ifdef HEAP_TRACE
-
-    #ifdef TRACE_INTO_FILE
-
-        #define HEAP( aMsg )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace );\
-            }
-        #define HEAP_1( aMsg, aP1 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1 );\
-            }
-        #define HEAP_2( aMsg, aP1, aP2 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2 );\
-            }
-        #define HEAP_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3 );\
-            }
-        #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RFileLogger::WriteFormat( KDir, KFile, EFileLoggingModeAppend, _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3, aP4 );\
-            }
-
-    #else//TRACE_INTO_FILE not defined
-
-        #define HEAP( aMsg )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace );\
-            }
-        #define HEAP_1( aMsg, aP1 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1 );\
-            }
-        #define HEAP_2( aMsg, aP1, aP2 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2 );\
-            }
-        #define HEAP_3( aMsg, aP1, aP2, aP3 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3 );\
-            }
-        #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 )\
-            {\
-            TInt totalAllocSpace = 0;\
-            User::AllocSize( totalAllocSpace );\
-            RDebug::Print( _PREFIX_HEAP( aMsg ), totalAllocSpace, aP1, aP2, aP3, aP4 );\
-            }
-
-    #endif//TRACE_INTO_FILE
-
-#else//HEAP_TRACE not defined
-
-    #define HEAP( aMsg )
-    #define HEAP_1( aMsg, aP1 )
-    #define HEAP_2( aMsg, aP1, aP2 )
-    #define HEAP_3( aMsg, aP1, aP2, aP3 )
-    #define HEAP_4( aMsg, aP1, aP2, aP3, aP4 )
-
-#endif//HEAP_TRACE
-
-#endif
-
--- a/mmserv/radioutility/radioserver/Session/Src/traceconfiguration.hrh	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-* Trace Macro Configurations.
-*
-*/
-
-#ifndef TRACECONFIGURATION_HRH
-#define TRACECONFIGURATION_HRH
-
-//-----------------------------------------------------------------------------
-// Trace definitions
-//-----------------------------------------------------------------------------
-//
-
-/**
-* Error trace enabled
-*/
-#ifdef _DEBUG
-    #define ERROR_TRACE
-#else
-    #undef ERROR_TRACE
-#endif
-
-/**
-* Info trace enabled
-*/
-#ifdef _DEBUG
-    #define INFO_TRACE
-#else
-    #undef INFO_TRACE
-#endif
-
-/**
-* Timestamp tracing on
-*/
-#ifdef _DEBUG
-    #define TIMESTAMP_TRACE
-#else
-    #undef TIMESTAMP_TRACE
-#endif
-
-/**
-* Tracing current client process and thread
-*/
-#ifdef _DEBUG
-    #define CLIENT_TRACE
-#else
-    #undef CLIENT_TRACE
-#endif
-
-/**
-* Function trace enabled
-*/
-#ifdef _DEBUG
-    #define FUNC_TRACE
-#else
-    #undef FUNC_TRACE
-#endif
-
-/**
-* Tracing into file enabled, default RDebug
-*/
-#undef TRACE_INTO_FILE
-
-#endif
-
--- a/mmserv/radioutility/radioserver/Session/stub/bwins/RadioSession_Stubu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-EXPORTS
-	?CustomCommandAsync@RRadioSession@@UAEXABV?$TPckgBuf@VTMMFMessageDestination@@@@HABVTDesC8@@1AAVTRequestStatus@@@Z @ 1 NONAME ; void RRadioSession::CustomCommandAsync(class TPckgBuf<class TMMFMessageDestination> const &, int, class TDesC8 const &, class TDesC8 const &, class TRequestStatus &)
-	?StationSeekByTP@RRadioSession@@QAEXH@Z @ 2 NONAME ; void RRadioSession::StationSeekByTP(int)
-	?SetSquelch@RRadioSession@@QAEHH@Z @ 3 NONAME ; int RRadioSession::SetSquelch(int)
-	?CustomCommandAsync@RRadioSession@@UAEXABV?$TPckgBuf@VTMMFMessageDestination@@@@HABVTDesC8@@1AAVTDes8@@AAVTRequestStatus@@@Z @ 4 NONAME ; void RRadioSession::CustomCommandAsync(class TPckgBuf<class TMMFMessageDestination> const &, int, class TDesC8 const &, class TDesC8 const &, class TDes8 &, class TRequestStatus &)
-	?NotifyRadioTextPlusChange@RRadioSession@@QAEHAAV?$RArray@H@@@Z @ 5 NONAME ; int RRadioSession::NotifyRadioTextPlusChange(class RArray<int> &)
-	?CancelGetPSByTA@RRadioSession@@QAEXXZ @ 6 NONAME ; void RRadioSession::CancelGetPSByTA(void)
-	?NotifyRdsDataChange@RRadioSession@@QAEHVTRsRdsData@@@Z @ 7 NONAME ; int RRadioSession::NotifyRdsDataChange(class TRsRdsData)
-	?CancelGetFreqByTA@RRadioSession@@QAEXXZ @ 8 NONAME ; void RRadioSession::CancelGetFreqByTA(void)
-	?Connect@RRadioSession@@QAEHAAVMRadioObserver@@H@Z @ 9 NONAME ; int RRadioSession::Connect(class MRadioObserver &, int)
-	?GetTrafficAnnouncementStatus@RRadioSession@@QAEHAAH@Z @ 10 NONAME ; int RRadioSession::GetTrafficAnnouncementStatus(int &)
-	?GetAutomaticSwitching@RRadioSession@@QAEHAAH@Z @ 11 NONAME ; int RRadioSession::GetAutomaticSwitching(int &)
-	?CancelGetFreqByPTY@RRadioSession@@QAEXXZ @ 12 NONAME ; void RRadioSession::CancelGetFreqByPTY(void)
-	?GetMuteStatus@RRadioSession@@QBEHAAH@Z @ 13 NONAME ; int RRadioSession::GetMuteStatus(int &) const
-	?StationSeekByTA@RRadioSession@@QAEXH@Z @ 14 NONAME ; void RRadioSession::StationSeekByTA(int)
-	?SetVolume@RRadioSession@@QAEHH@Z @ 15 NONAME ; int RRadioSession::SetVolume(int)
-	?GetMaxSignalStrength@RRadioSession@@QBEHAAH@Z @ 16 NONAME ; int RRadioSession::GetMaxSignalStrength(int &) const
-	?GetForceMonoReception@RRadioSession@@QBEHAAH@Z @ 17 NONAME ; int RRadioSession::GetForceMonoReception(int &) const
-	?GetProgrammeType@RRadioSession@@QAEHAAH@Z @ 18 NONAME ; int RRadioSession::GetProgrammeType(int &)
-	?GetTrafficProgrammeStatus@RRadioSession@@QAEHAAH@Z @ 19 NONAME ; int RRadioSession::GetTrafficProgrammeStatus(int &)
-	?GetFrequencyRange@RRadioSession@@QBEHAAW4TRsFrequencyRange@@AAH1@Z @ 20 NONAME ; int RRadioSession::GetFrequencyRange(enum TRsFrequencyRange &, int &, int &) const
-	?SetAutomaticSwitching@RRadioSession@@QAEHH@Z @ 21 NONAME ; int RRadioSession::SetAutomaticSwitching(int)
-	?GetAutomaticTrafficAnnouncement@RRadioSession@@QAEHAAH@Z @ 22 NONAME ; int RRadioSession::GetAutomaticTrafficAnnouncement(int &)
-	?GetStereoMode@RRadioSession@@QBEHAAH@Z @ 23 NONAME ; int RRadioSession::GetStereoMode(int &) const
-	?CancelRdsStationSeek@RRadioSession@@QAEXXZ @ 24 NONAME ; void RRadioSession::CancelRdsStationSeek(void)
-	?ForceMonoReception@RRadioSession@@QAEHH@Z @ 25 NONAME ; int RRadioSession::ForceMonoReception(int)
-	?CustomCommandSync@RRadioSession@@UAEHABV?$TPckgBuf@VTMMFMessageDestination@@@@HABVTDesC8@@1@Z @ 26 NONAME ; int RRadioSession::CustomCommandSync(class TPckgBuf<class TMMFMessageDestination> const &, int, class TDesC8 const &, class TDesC8 const &)
-	?GetRdsSignalStatus@RRadioSession@@QBEHAAH@Z @ 27 NONAME ; int RRadioSession::GetRdsSignalStatus(int &) const
-	?GetFrequency@RRadioSession@@QBEHAAH@Z @ 28 NONAME ; int RRadioSession::GetFrequency(int &) const
-	?RequestTunerControl@RRadioSession@@QAEXW4TRsTuner@@@Z @ 29 NONAME ; void RRadioSession::RequestTunerControl(enum TRsTuner)
-	?GetPSByTA@RRadioSession@@QAEXXZ @ 30 NONAME ; void RRadioSession::GetPSByTA(void)
-	?GetRadioTextPlus@RRadioSession@@QAEHW4TRsRdsRTplusClass@@AAV?$TBuf16@$0EA@@@@Z @ 31 NONAME ; int RRadioSession::GetRadioTextPlus(enum TRsRdsRTplusClass, class TBuf16<64> &)
-	?StationSeekByPTY@RRadioSession@@QAEXHH@Z @ 32 NONAME ; void RRadioSession::StationSeekByPTY(int, int)
-	?CancelSetFrequencyRange@RRadioSession@@QAEXXZ @ 33 NONAME ; void RRadioSession::CancelSetFrequencyRange(void)
-	?GetSquelch@RRadioSession@@QBEHAAH@Z @ 34 NONAME ; int RRadioSession::GetSquelch(int &) const
-	?Play@RRadioSession@@QAEXXZ @ 35 NONAME ; void RRadioSession::Play(void)
-	?StationSeek@RRadioSession@@QAEXH@Z @ 36 NONAME ; void RRadioSession::StationSeek(int)
-	?GetVolume@RRadioSession@@QBEHAAH@Z @ 37 NONAME ; int RRadioSession::GetVolume(int &) const
-	?PlayerState@RRadioSession@@QBEHAAW4TRsPlayerState@@@Z @ 38 NONAME ; int RRadioSession::PlayerState(enum TRsPlayerState &) const
-	?CancelNotifyRdsDataChange@RRadioSession@@QAEXXZ @ 39 NONAME ; void RRadioSession::CancelNotifyRdsDataChange(void)
-	?SetBalance@RRadioSession@@QAEHHH@Z @ 40 NONAME ; int RRadioSession::SetBalance(int, int)
-	?SetVolumeRamp@RRadioSession@@QAEHABVTTimeIntervalMicroSeconds@@@Z @ 41 NONAME ; int RRadioSession::SetVolumeRamp(class TTimeIntervalMicroSeconds const &)
-	?GetRdsCapabilities@RRadioSession@@QBEHAAVTRsRdsCapabilities@@@Z @ 42 NONAME ; int RRadioSession::GetRdsCapabilities(class TRsRdsCapabilities &) const
-	?GetProgrammeService@RRadioSession@@QAEHAAV?$TBuf16@$07@@@Z @ 43 NONAME ; int RRadioSession::GetProgrammeService(class TBuf16<8> &)
-	?GetSignalStrength@RRadioSession@@QBEHAAH@Z @ 44 NONAME ; int RRadioSession::GetSignalStrength(int &) const
-	?GetFreqByPTY@RRadioSession@@QAEXH@Z @ 45 NONAME ; void RRadioSession::GetFreqByPTY(int)
-	?CancelAFSearch@RRadioSession@@QAEXXZ @ 46 NONAME ; void RRadioSession::CancelAFSearch(void)
-	?GetBalance@RRadioSession@@QBEHAAH0@Z @ 47 NONAME ; int RRadioSession::GetBalance(int &, int &) const
-	?GetRadioText@RRadioSession@@QAEHAAV?$TBuf16@$0EA@@@@Z @ 48 NONAME ; int RRadioSession::GetRadioText(class TBuf16<64> &)
-	?Stop@RRadioSession@@QAEXH@Z @ 49 NONAME ; void RRadioSession::Stop(int)
-	?Close@RRadioSession@@QAEXXZ @ 50 NONAME ; void RRadioSession::Close(void)
-	?CancelStationSeek@RRadioSession@@QAEXXZ @ 51 NONAME ; void RRadioSession::CancelStationSeek(void)
-	?EnableTunerInOfflineMode@RRadioSession@@QAEHH@Z @ 52 NONAME ; int RRadioSession::EnableTunerInOfflineMode(int)
-	?CancelSetFrequency@RRadioSession@@QAEXXZ @ 53 NONAME ; void RRadioSession::CancelSetFrequency(void)
-	?GetPSByPTY@RRadioSession@@QAEXH@Z @ 54 NONAME ; void RRadioSession::GetPSByPTY(int)
-	?GetProgrammeIdentification@RRadioSession@@QAEHAAH@Z @ 55 NONAME ; int RRadioSession::GetProgrammeIdentification(int &)
-	?CustomCommandSync@RRadioSession@@UAEHABV?$TPckgBuf@VTMMFMessageDestination@@@@HABVTDesC8@@1AAVTDes8@@@Z @ 56 NONAME ; int RRadioSession::CustomCommandSync(class TPckgBuf<class TMMFMessageDestination> const &, int, class TDesC8 const &, class TDesC8 const &, class TDes8 &)
-	?CancelGetPSByPTY@RRadioSession@@QAEXXZ @ 57 NONAME ; void RRadioSession::CancelGetPSByPTY(void)
-	?Mute@RRadioSession@@QAEHH@Z @ 58 NONAME ; int RRadioSession::Mute(int)
-	?GetMaxVolume@RRadioSession@@QBEHAAH@Z @ 59 NONAME ; int RRadioSession::GetMaxVolume(int &) const
-	?CancelNotifyRadioTextPlusChange@RRadioSession@@QAEXXZ @ 60 NONAME ; void RRadioSession::CancelNotifyRadioTextPlusChange(void)
-	?GetFreqByTA@RRadioSession@@QAEXXZ @ 61 NONAME ; void RRadioSession::GetFreqByTA(void)
-	?Version@RRadioSession@@QBE?AVTVersion@@XZ @ 62 NONAME ; class TVersion RRadioSession::Version(void) const
-	??0RRadioSession@@QAE@XZ @ 63 NONAME ; RRadioSession::RRadioSession(void)
-	?SetFrequency@RRadioSession@@QAEXH@Z @ 64 NONAME ; void RRadioSession::SetFrequency(int)
-	?SetAutomaticTrafficAnnouncement@RRadioSession@@QAEHH@Z @ 65 NONAME ; int RRadioSession::SetAutomaticTrafficAnnouncement(int)
-	?GetTunerCapabilities@RRadioSession@@QBEHAAVTRsTunerCapabilities@@@Z @ 66 NONAME ; int RRadioSession::GetTunerCapabilities(class TRsTunerCapabilities &) const
-	?SetFrequencyRange@RRadioSession@@QAEXW4TRsFrequencyRange@@@Z @ 67 NONAME ; void RRadioSession::SetFrequencyRange(enum TRsFrequencyRange)
-	?GetClockTime@RRadioSession@@QAEHAAVTDateTime@@@Z @ 68 NONAME ; int RRadioSession::GetClockTime(class TDateTime &)
-	?NewL@RRadioSession@@SAPAV1@XZ @ 69 NONAME ; class RRadioSession * RRadioSession::NewL(void)
-
--- a/mmserv/radioutility/radioserver/Session/stub/eabi/RadioSession_Stubu.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-EXPORTS
-	_ZN13RRadioSession10GetPSByPTYEi @ 1 NONAME
-	_ZN13RRadioSession10SetBalanceEii @ 2 NONAME
-	_ZN13RRadioSession10SetSquelchEi @ 3 NONAME
-	_ZN13RRadioSession11GetFreqByTAEv @ 4 NONAME
-	_ZN13RRadioSession11StationSeekEi @ 5 NONAME
-	_ZN13RRadioSession12GetClockTimeER9TDateTime @ 6 NONAME
-	_ZN13RRadioSession12GetFreqByPTYEi @ 7 NONAME
-	_ZN13RRadioSession12GetRadioTextER6TBuf16ILi64EE @ 8 NONAME
-	_ZN13RRadioSession12SetFrequencyEi @ 9 NONAME
-	_ZN13RRadioSession13SetVolumeRampERK25TTimeIntervalMicroSeconds @ 10 NONAME
-	_ZN13RRadioSession14CancelAFSearchEv @ 11 NONAME
-	_ZN13RRadioSession15CancelGetPSByTAEv @ 12 NONAME
-	_ZN13RRadioSession15StationSeekByTAEi @ 13 NONAME
-	_ZN13RRadioSession15StationSeekByTPEi @ 14 NONAME
-	_ZN13RRadioSession16CancelGetPSByPTYEv @ 15 NONAME
-	_ZN13RRadioSession16GetProgrammeTypeERi @ 16 NONAME
-	_ZN13RRadioSession16GetRadioTextPlusE17TRsRdsRTplusClassR6TBuf16ILi64EE @ 17 NONAME
-	_ZN13RRadioSession16StationSeekByPTYEii @ 18 NONAME
-	_ZN13RRadioSession17CancelGetFreqByTAEv @ 19 NONAME
-	_ZN13RRadioSession17CancelStationSeekEv @ 20 NONAME
-	_ZN13RRadioSession17CustomCommandSyncERK8TPckgBufI22TMMFMessageDestinationEiRK6TDesC8S7_ @ 21 NONAME
-	_ZN13RRadioSession17CustomCommandSyncERK8TPckgBufI22TMMFMessageDestinationEiRK6TDesC8S7_R5TDes8 @ 22 NONAME
-	_ZN13RRadioSession17SetFrequencyRangeE17TRsFrequencyRange @ 23 NONAME
-	_ZN13RRadioSession18CancelGetFreqByPTYEv @ 24 NONAME
-	_ZN13RRadioSession18CancelSetFrequencyEv @ 25 NONAME
-	_ZN13RRadioSession18CustomCommandAsyncERK8TPckgBufI22TMMFMessageDestinationEiRK6TDesC8S7_R14TRequestStatus @ 26 NONAME
-	_ZN13RRadioSession18CustomCommandAsyncERK8TPckgBufI22TMMFMessageDestinationEiRK6TDesC8S7_R5TDes8R14TRequestStatus @ 27 NONAME
-	_ZN13RRadioSession18ForceMonoReceptionEi @ 28 NONAME
-	_ZN13RRadioSession19GetProgrammeServiceER6TBuf16ILi8EE @ 29 NONAME
-	_ZN13RRadioSession19NotifyRdsDataChangeE10TRsRdsData @ 30 NONAME
-	_ZN13RRadioSession19RequestTunerControlE8TRsTuner @ 31 NONAME
-	_ZN13RRadioSession20CancelRdsStationSeekEv @ 32 NONAME
-	_ZN13RRadioSession21GetAutomaticSwitchingERi @ 33 NONAME
-	_ZN13RRadioSession21SetAutomaticSwitchingEi @ 34 NONAME
-	_ZN13RRadioSession23CancelSetFrequencyRangeEv @ 35 NONAME
-	_ZN13RRadioSession24EnableTunerInOfflineModeEi @ 36 NONAME
-	_ZN13RRadioSession25CancelNotifyRdsDataChangeEv @ 37 NONAME
-	_ZN13RRadioSession25GetTrafficProgrammeStatusERi @ 38 NONAME
-	_ZN13RRadioSession25NotifyRadioTextPlusChangeER6RArrayIiE @ 39 NONAME
-	_ZN13RRadioSession26GetProgrammeIdentificationERi @ 40 NONAME
-	_ZN13RRadioSession28GetTrafficAnnouncementStatusERi @ 41 NONAME
-	_ZN13RRadioSession31CancelNotifyRadioTextPlusChangeEv @ 42 NONAME
-	_ZN13RRadioSession31GetAutomaticTrafficAnnouncementERi @ 43 NONAME
-	_ZN13RRadioSession31SetAutomaticTrafficAnnouncementEi @ 44 NONAME
-	_ZN13RRadioSession4MuteEi @ 45 NONAME
-	_ZN13RRadioSession4PlayEv @ 46 NONAME
-	_ZN13RRadioSession4StopEi @ 47 NONAME
-	_ZN13RRadioSession5CloseEv @ 48 NONAME
-	_ZN13RRadioSession7ConnectER14MRadioObserveri @ 49 NONAME
-	_ZN13RRadioSession9GetPSByTAEv @ 50 NONAME
-	_ZN13RRadioSession9SetVolumeEi @ 51 NONAME
-	_ZN13RRadioSessionC1Ev @ 52 NONAME
-	_ZN13RRadioSessionC2Ev @ 53 NONAME
-	_ZNK13RRadioSession10GetBalanceERiS0_ @ 54 NONAME
-	_ZNK13RRadioSession10GetSquelchERi @ 55 NONAME
-	_ZNK13RRadioSession11PlayerStateER14TRsPlayerState @ 56 NONAME
-	_ZNK13RRadioSession12GetFrequencyERi @ 57 NONAME
-	_ZNK13RRadioSession12GetMaxVolumeERi @ 58 NONAME
-	_ZNK13RRadioSession13GetMuteStatusERi @ 59 NONAME
-	_ZNK13RRadioSession13GetStereoModeERi @ 60 NONAME
-	_ZNK13RRadioSession17GetFrequencyRangeER17TRsFrequencyRangeRiS2_ @ 61 NONAME
-	_ZNK13RRadioSession17GetSignalStrengthERi @ 62 NONAME
-	_ZNK13RRadioSession18GetRdsCapabilitiesER18TRsRdsCapabilities @ 63 NONAME
-	_ZNK13RRadioSession18GetRdsSignalStatusERi @ 64 NONAME
-	_ZNK13RRadioSession20GetMaxSignalStrengthERi @ 65 NONAME
-	_ZNK13RRadioSession20GetTunerCapabilitiesER20TRsTunerCapabilities @ 66 NONAME
-	_ZNK13RRadioSession21GetForceMonoReceptionERi @ 67 NONAME
-	_ZNK13RRadioSession7VersionEv @ 68 NONAME
-	_ZNK13RRadioSession9GetVolumeERi @ 69 NONAME
-	_ZTI13CRadioRequest @ 70 NONAME
-	_ZTI13RRadioSession @ 71 NONAME
-	_ZTI18CRadioEventHandler @ 72 NONAME
-	_ZTV13CRadioRequest @ 73 NONAME
-	_ZTV13RRadioSession @ 74 NONAME
-	_ZTV18CRadioEventHandler @ 75 NONAME
-	_ZN13RRadioSession4NewLEv @ 76 NONAME
-
--- a/mmserv/radioutility/radioserver/Session/stub/group/RadioSession_Stub.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Project file for RadioSession Stub for Radio unit tests
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET		RadioSession_Stub.dll
-CAPABILITY	CAP_CLIENT_DLL
-TARGETTYPE	DLL
-UID		0x1000008d 0x01000031
-VENDORID	VID_DEFAULT
-VERSION 10.1
-
-SOURCEPATH	../../Src
-SOURCE		RadioRequest.cpp
-SOURCE		RadioEventHandler.cpp
-
-SOURCEPATH ../src
-SOURCE StubRadioSession.cpp
-
-USERINCLUDE ../Src
-USERINCLUDE	../../Src
-USERINCLUDE	../../../Inc
-USERINCLUDE	../../../../inc
-USERINCLUDE /sf/mw/mmmw/mmserv/radioutility/radio_utility/stub/src
-USERINCLUDE             /sf/mw/mmmw/mmserv/radioutility/radio_utility/stub/src
-USERINCLUDE             /sf/mw/mmmw/mmserv/radioutility/radio_utility/src
-USERINCLUDE             /sf/mw/mmmw/mmserv/radioutility/inc
-USERINCLUDE             /sf/mw/mmmw/mmserv/inc
-USERINCLUDE             /sf/mw/mmmw/inc
-USERINCLUDE /sf/app/radio/radioengine/utils/inc
-
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY		euser.lib
-LIBRARY		MmfControllerFramework.lib
-LIBRARY     flogger.lib
-MACRO STUB_CONSTELLATION
--- a/mmserv/radioutility/radioserver/Session/stub/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  Project build file for RadioSession's stub
-*
-*/
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../src/RadioStubManager.h /epoc32/include/RadioStubManager.h
-
-
-PRJ_MMPFILES
-RadioSession_Stub.mmp
-
-
-//  End of File  
\ No newline at end of file
--- a/mmserv/radioutility/radioserver/Session/stub/src/RadioStubManager.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  
-*
-*/
-
-#ifndef RADIOSTUBMANAGER_H_
-#define RADIOSTUBMANAGER_H_
-#include <e32std.h>
-#include <e32base.h>
-
-#include <RadioFmTunerUtility.h>
-#include <RadioPlayerUtility.h>
-#include <RadioRdsUtility.h>
-#include <remconcallhandlingtargetobserver.h>
-#include <remconcoreapitargetobserver.h>
-
-#include "RadioServerData.h"
-#include "mradioheadseteventobserver.h"
-
-_LIT(KRadioStubManagerLocalChunkName, "RadioStubManagerLocalChunkName");
-
-struct TStubError
-    {
-
-    void SetStubError( TFmRadioTunerError aError, TUint aFailCounter = 1, TBool aFailForEver = EFalse ) 
-        {
-        iError = aError;
-        iFailCounter = aFailCounter;
-        iFailForEver = aFailForEver; };
-    TInt Error() 
-        {
-        TInt aError (iError);
-        if (iFailCounter)
-            {
-            --iFailCounter;
-            }
-        else if (iFailForEver)
-            {
-            }
-        else
-            {
-            aError = KErrNone;
-            }            
-        return aError;
-        }
-    TFmRadioTunerError iError;
-    TUint iFailCounter;
-    TBool iFailForEver;
-    };
-
-struct TLeaveError
-    {
-    void Set( TInt aError = KErrGeneral );
-    TInt iError;
-    };
-
-struct SRadioStubManager
-    {
-public:
-    void  FillZ() 
-        { 
-        Mem::FillZ( this, sizeof( SRadioStubManager ) ); 
-        }
-public:
-    enum TCenRepDbs
-        {
-        // Redefine CenRep databases for test purposes.
-        // Original constant names are got by eliminating leading "ESub_"-prefix.
-        EStub_KPSUidCtsyCallInformation = 0x01001001,
-        EStub_KUidSystemCategory = 0x01001002,
-        EStub_KPSUidVoiceUiAccMonitor = 0x01001003,
-        EStub_KPSUidMMFAudioServer = 0x01001004,    
-        EStub_KRadioPSUid = 0x01001005,
-        EStub_KRadioServerPropertyCategory = 0x01001006
-        };
-    
-    struct TRemConTargetData
-    {
-    TLeaveError iLeaveNewL;
-    TLeaveError iLeaveConstructL;
-    
-    
-    MRemConCoreApiTargetObserver*   iRemConCoreApiTargetObserver;
-    MRemConCallHandlingTargetObserver*  iRemConCallHandlingTargetObserver;
-    } mutable iRemConTarget;
-    
-    struct TAccessoryObserverData
-    {
-    TLeaveError iLeaveNewL;
-    TLeaveError iLeaveIsHeadsetConnectedL;
-    TLeaveError iLeaveConstructL;
-    
-    TBool iHeadsetConnected;
-    MRadioHeadsetEventObserver* iObserver;
-    
-    
-    } mutable iAccessoryObserver;
-    
-    struct TFmTunerStubData
-        {
-        TRsTunerCapabilities iCaps;
-        TStubError iGetCapabilitiesError;
-        
-        
-        TBool iTunerInOfflineMode;
-        TStubError iEnableTunerInOfflineModeError;
-        
-        
-        TRsFrequencyRange iRange;
-        TRsFrequencyRange iPreviousRange;
-        TInt iMinFreq;
-        TInt iMaxFreq;
-        TStubError iGetFrequencyRangeError;
-        TStubError iSetFrequencyRangeError;
-        
-        TInt iFrequency;
-        TInt iPreviousFrequency;
-        TStubError iGetFrequencyError;
-        TStubError iSetFrequencyError;
-
-        struct TScanStations
-        {
-        TInt iCount;
-        TInt iMinFreq;
-        TInt iFrequencyStepSize;        
-        } mutable iScanStations;
-        
-        TBool iStationSeekUpwards;
-
-        TInt iSignalStrength;
-        TStubError iGetSignalStrengthError;
-        
-        TInt iMaxSignalStrength;
-        TStubError iGetMaxSignalStrengthError;
-        
-        TBool iStereoMode;
-        TStubError iGetStereoModeError;
-        
-        TBool iForcedMono;
-        TStubError iGetForcedMonoReceptionError;
-        TStubError iForcedMonoReceptionError;
-        
-        TBool iSquelch;
-        TStubError iSetSquelchError;
-        TStubError iGetSquelchError;
-        } mutable iTuner;
-
-    struct TPlayerStubData
-        {
-        TLeaveError iLeaveNewL;
-        TLeaveError iLeaveErrorForConstructL;
-        MRadioPlayerObserver* iRadioPlayerUtilityClient;
-
-        TRsPlayerState iPlayerState;
-        
-        TBool iMuteStatus;
-        TStubError iMuteError;
-        
-        TInt iVolume;
-        TStubError iSetVolumeError;
-        TStubError iGetVolumeError;
-        
-        TTimeIntervalMicroSeconds iRampInterval;
-        TStubError iSetVolumeRampError;
-        
-        TInt iMaxVolume;
-        TStubError iGetMaxVolumeError;
-        
-        TInt iLeftPercentage;
-        TInt iRightPercentage;
-        TStubError iSetBalanceError;
-        TStubError iGetBalanceError;
-        } mutable iPlayer;
-        
-    struct TRdsStubData
-        {
-        TLeaveError iLeaveNewL;
-        TLeaveError iLeaveErrorForConstructL;
-        MRadioRdsObserver* iRadioRdsUtilityClient;
-        TRsRdsCapabilities iCaps;
-        TStubError iGetCapabilitiesError;
-        
-        TBool iRdsSignal;
-        TStubError iGetRdsSignalStatusError;
-        
-        TStubError iNotifyRdsDataChangeError;    
-        
-        TBool iAutomaticSwitching;
-        TStubError iSetAutomaticSwitchingError;
-        TStubError iGetAutomaticSwitchingError;
-        
-        TStubError iStationSeekByPTYError;
-        TStubError iStationSeekByTAError;
-        TStubError iStationSeekByTPError;
-        TInt iFrequency;
-        TStubError iGetFreqByPTYError;
-        TStubError iGetFreqByTAError;
-        TStubError iGetPSByPTYError;
-        TStubError iGetPSByTAError;
-            
-        RArray<TRdsPSName> iPsList;
-        RArray<TInt> iFreqList;
-        
-        TInt iPi;
-        TStubError iGetProgrammeIdentificationError;
-        
-        TRdsProgrammeType iPty;
-        TStubError iGetProgrammeTypeError;
-        
-        TRdsPSName iPs;
-        TStubError iGetProgrammeServiceError;
-        
-        // Radio Text
-        TRdsRTplusClass iRtPlusClass;
-        TRdsRadioText iRtPlusData;
-        TStubError iGetRadioTextPlusError;
-        TRsRdsRadioText iRt;
-        TStubError iGetRadioTextError;
-        
-        // Automatic traffic announcement
-        TBool iAuto;
-        TStubError iGetTrafficAnnouncementStatusError;
-        TStubError iSetTrafficAnnouncementStatusError;
-    
-        TBool iTaStatus;
-        TStubError iGetAutomaticTrafficAnnouncementError;
-        TStubError iSetAutomaticTrafficAnnouncementError;
-        
-        TDateTime iCt;
-        TStubError iGetClockTimeError;
-        
-        TBool iTpStatus;
-        TStubError iGetTrafficProgrammeStatusError;
-        } mutable iRds;
-        
-    struct TMonitorStubData
-        {
-        TInt    iNone;
-        } mutable iMonitor;
-    };
-
-const TUid KStub_KRadioServerPropertyCategory = {SRadioStubManager::EStub_KRadioServerPropertyCategory};
-const TUid KStub_KUidSystemCategory = {SRadioStubManager::EStub_KUidSystemCategory};
-const TUid KStub_KPSUidCtsyCallInformation = {SRadioStubManager::EStub_KPSUidCtsyCallInformation};
-const TUid KStub_KPSUidVoiceUiAccMonitor = {SRadioStubManager::EStub_KPSUidVoiceUiAccMonitor};
-const TUid KStub_KPSUidMMFAudioServer = {SRadioStubManager::EStub_KPSUidMMFAudioServer};
-const TUid KStub_KRadioPSUid = {SRadioStubManager::EStub_KRadioPSUid};
-const TUid KStub_KRadioCRUid = {0x2002FF52};
-
-#endif /* RADIOSTUBMANAGER_H_ */
--- a/mmserv/radioutility/radioserver/Session/stub/src/StubRadioSession.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1773 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  This class is the main interface to the RadioServer. It implements
-*				 the client-side session.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include 	<e32math.h>
-#include    "StubRadioSession.h"
-#include    "RadioClientServer.h"
-#include	"RadioRequest.h"
-#include	"RadioEventHandler.h"
-#include    "RadioDebug.h"
-#include    "trace.h"
-
-// CONSTANTS
-// Index to list of asynchronous requests that generates response to MRadioObserver.
-const TInt KReqInternal				 = 0;
-const TInt KReqRequestTunerControl   = 1;
-const TInt KReqSetFrequencyRange     = 2;
-const TInt KReqSetFrequency          = 3;
-const TInt KReqStationSeek           = 4;
-const TInt KReqPlay					 = 5;
-const TInt KReqStationSeekByPTY      = 6;
-const TInt KReqStationSeekByTA       = 7;
-const TInt KReqStationSeekByTP       = 8;
-
-// Max number of retries to start the server
-const TInt KRadioStartRetry	= 2;
-// Minimum of one for each asynchronous message + one to allow cancel
-const TInt KRadioMessageSlots = 11;
-
-#define TUNER  iRadioStubManager->iTuner
-#define PLAYER  iRadioStubManager->iPlayer
-#define RDS  iRadioStubManager->iRds
-
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// StartServer
-// Static function to start the server process thread.
-// Start the server process/thread which lives in an EPOCEXE object.
-// Returns: TInt: KErrNone (0) if no error
-// -----------------------------------------------------------------------------
-//
-static TInt StartServer()
-	{
-    FUNC_LOG;
-
-    const TUidType serverUid(KNullUid, KNullUid, KRadioServerUid3);
-
-    // We just create a new server process. Simultaneous launching of two such
-    // processes should be detected when the second one attempts to create
-    // the server object, failing with KErrAlreadyExists.
-    RProcess server;
-    TInt r = server.Create(KRadioServerImg, KNullDesC, serverUid);
-
-    if ( r != KErrNone )
-        {
-        INFO_1("server.Create() failed [%d]", r);
-        return r;
-        }
-    TRequestStatus stat;
-    server.Rendezvous(stat);
-    if ( stat != KRequestPending )
-        {
-        server.Kill(0);     // abort startup
-        }
-    else
-        {
-        server.Resume();    // logon OK - start the server
-        }
-    User::WaitForRequest(stat);     // wait for start or death
-    // we can't use the 'exit reason' if the server panicked as this
-    // is the panic 'reason' and may be '0' which cannot be distinguished
-    // from KErrNone
-    r = (server.ExitType() == EExitPanic) ? KErrGeneral : stat.Int();
-    server.Close();
-    return r;
-	}
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// RRadioSession::NewL
-// Two-phased constructor except no need for ConstrucL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RRadioSession* RRadioSession::NewL()
-    {
-    FUNC_LOG;
-    RRadioSession* self = new (ELeave) RRadioSession();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// RRadioSession::RRadioSession
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C RRadioSession::RRadioSession()
-	:	iConnected(EFalse),
-		iDestinationPckg(TMMFMessageDestination(KRadioServerInterfaceUid, KRadioServerObjectHandle)),
-		iObserver(NULL),
-		iPrimaryClient(EFalse),
-		iRdsNotify(EFalse)
-    {
-    FUNC_LOG;
-    }
-
-// -----------------------------------------------------------------------------
-// RRadioSession::Connect
-// Create a client-side session. Start the server if not started already.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::Connect(
-	MRadioObserver& aObserver,
-	TBool aPrimaryClient )
-	{
-    FUNC_LOG;
-    INFO_1("Size of RRadioSession: %i", sizeof(RRadioSession) );
-    // check if already connected
-    if ( iConnected )
-        {
-        INFO("already connected");
-        return KErrAlreadyExists;
-        }
-
-    TInt retry = KRadioStartRetry;
-    TInt err = KErrGeneral;
-    TInt numMessageSlots = KRadioMessageSlots;
-    for (;;)
-        {
-        // Try to create a new session with the server
-        err = CreateSession(KRadioServerName, Version(), numMessageSlots);
-        if ( (err != KErrNotFound) && (err != KErrServerTerminated) )
-            {
-            break;  // Connected to existing server - ok
-            }
-        if ( --retry == 0 )
-            {
-            break;  // Failed.
-            }
-        // Server not running, try to start it.
-        err = StartServer();
-        if ( (err != KErrNone) && (err != KErrAlreadyExists) )
-            {
-            break;  // Server not launched - propagate error
-            }
-        }
-
-    if ( err != KErrNone )
-        {
-        INFO_1("Unable to start server [%d]", err);
-        return err;
-        }
-    // Dooing some temporary manipulation for heap
-    User::Check();
-    User::CompressAllHeaps();
-    CRadioRequest* req( NULL );
-    TRAP(err, req = CRadioRequest::NewLC(*this, aObserver, ERadioServNone); CleanupStack::Pop( req ) );
-    iExtraRequestForBugHunting = req;   
-    User::Check();
-    User::CompressAllHeaps();
-    //delete iExtraRequestForBugHunting;
-    //iExtraRequestForBugHunting = NULL;
-    
-    // Create active object request handlers and add it to scheduler
-    TRAP(err, StartRequestHandlersL(aObserver));
-    if ( err == KErrNone )
-        {
-        // Create active object event handlers and add it to scheduler
-        TRAP(err, StartEventHandlersL(aObserver));
-        if ( err == KErrNone )
-            {
-            iConnected = ETrue;
-            iObserver = &aObserver;
-            if ( aPrimaryClient )
-                {
-                iPrimaryClient = ETrue;
-                err = SendReceive(ERadioServAddPrimaryClient, TIpcArgs(&iDestinationPckg));
-                }
-            }
-        else
-            {
-            iRequests.ResetAndDestroy();
-            iEventHandlers.ResetAndDestroy();
-            }
-        }
-    else
-        {
-        iRequests.ResetAndDestroy();
-        }
-    // Open chunk for test configuration/control data
-    // Open chunk for test configuration/control data
-    User::Check();
-    User::CompressAllHeaps();
-    err = iRadioStubManagerChunk.OpenGlobal(
-            KRadioStubManagerLocalChunkName,
-            EFalse, // == Read | Write
-            EOwnerThread );
-    if (err)
-        {
-        goto exitAndReturn;
-        }
-    User::Check();
-    User::CompressAllHeaps();
-    if ( sizeof(SRadioStubManager) > iRadioStubManagerChunk.MaxSize() )
-        {
-        err =  KErrTooBig;
-        goto exitAndReturn;
-        }
-    TUint8* basePtr = iRadioStubManagerChunk.Base();
-    User::LeaveIfNull( basePtr );    
-    if (!basePtr)
-        {
-        err = KErrGeneral;
-        goto exitAndReturn;
-        }    
-    User::Check();
-    User::CompressAllHeaps();
-    iRadioStubManager = (SRadioStubManager*)basePtr;    
-
-exitAndReturn:    
-    User::Check();
-    User::CompressAllHeaps();
-    INFO_1("exit err=[%d]", err);
-    return err;
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::Version
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TVersion RRadioSession::Version() const
-	{
-	return(TVersion(KRadioServerVersionMajor, KRadioServerVersionMinor, KRadioServerVersionBuild));
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::Close
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::Close()
-	{
-    FUNC_LOG;
-
-    //delete iExtraRequestForBugHunting;
-    iEventHandlers.ResetAndDestroy();
-    iEventHandlers.Close();
-
-    iRdsEventHandlers.ResetAndDestroy();
-    iRdsEventHandlers.Close();
-
-    for ( TInt i = (iRequests.Count() - 1) ; i >= 0; i = (iRequests.Count()- 1)  )
-        {
-        INFO_2("iRequests[i] pointer: 0x%x, no: %i", *&iRequests[i], i );
-        CRadioRequest* req = *&iRequests[i];
-        iRequests.Remove(i);
-        delete req;
-        }   
-    //iRequests.ResetAndDestroy();
-    iRequests.Close();
-
-    if ( iConnected )
-        {
-        iConnected = EFalse;
-        if ( iPrimaryClient )
-            {
-            SendReceive(ERadioServRemovePrimaryClient, TIpcArgs(&iDestinationPckg));
-            }
-        RSessionBase::Close();
-        }
-    // Dooing some temporary manipulation for heap
-    //User::Check();
-    //User::CompressAllHeaps();
-    delete iExtraRequestForBugHunting;
-	}
-
-//********** TunerUtility control begins
-
-// -----------------------------------------------------------------------------
-// RRadioSession::RequestTunerControl
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::RequestTunerControl(
-	TRsTuner /*aTuner*/ )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        if ( !iRequests[KReqRequestTunerControl]->IsActive() )
-            {
-            iRequests[KReqRequestTunerControl]->CompleteRequest(ERadioServRequestTunerControl, KErrNone);
-            }
-		}
-	else
-		{
-		iRequests[KReqInternal]->CompleteRequest(ERadioServRequestTunerControl, KErrDisconnected);
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetTunerCapabilities
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetTunerCapabilities(
-	TRsTunerCapabilities& aCaps ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iGetCapabilitiesError.Error() );
-        if ( KErrNone == err )
-            {
-            aCaps.iFrequencyRange = TUNER.iCaps.iFrequencyRange;
-            aCaps.iCapabilities = TUNER.iCaps.iCapabilities;
-            aCaps.iAdditionalFunctions1 = TUNER.iCaps.iAdditionalFunctions1;
-            aCaps.iAdditionalFunctions2 = TUNER.iCaps.iAdditionalFunctions2;            
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::EnableTunerInOfflineMode
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::EnableTunerInOfflineMode(
-	TBool aEnable )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iEnableTunerInOfflineModeError.Error() );
-        if ( KErrNone == err )
-            {
-            TUNER.iTunerInOfflineMode = aEnable;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::SetFrequencyRange
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::SetFrequencyRange(
-	TRsFrequencyRange aRange )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iSetFrequencyRangeError.Error() );
-        if ( KErrNone == err )
-            {
-            TUNER.iPreviousRange = TUNER.iRange;
-            TUNER.iRange = aRange;
-            }
-        if ( iRequests[KReqSetFrequencyRange]->IsActive() )
-            {
-            iRequests[KReqSetFrequencyRange]->Cancel();
-            }
-        iRequests[KReqSetFrequencyRange]->CompleteRequest(ERadioServSetFrequencyRange, err);
-		}
-	else
-		{
-		iRequests[KReqInternal]->CompleteRequest(ERadioServSetFrequencyRange, KErrDisconnected);
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelSetFrequencyRange
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::CancelSetFrequencyRange()
-	{
-    FUNC_LOG;
-	if ( iConnected && iRequests[KReqSetFrequencyRange]->IsActive() )
-		{
-		iRequests[KReqSetFrequencyRange]->Cancel();
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetFrequencyRange
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetFrequencyRange(
-	TRsFrequencyRange& aRange,
-	TInt& aMinFreq,
-	TInt& aMaxFreq) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iGetFrequencyRangeError.Error() );
-        if ( KErrNone == err )
-            {
-            aRange = TUNER.iRange;
-            aMinFreq = TUNER.iMinFreq;
-            aMaxFreq = TUNER.iMaxFreq;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::SetFrequency
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::SetFrequency(
-	TInt aFrequency )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-	    TUint err( TUNER.iSetFrequencyError.Error() );
-	    if  ( KErrNone == err )
-	        {
-	        TUNER.iPreviousFrequency = TUNER.iFrequency;
-	        TUNER.iFrequency = aFrequency;
-	        }       
-        if ( iRequests[KReqSetFrequency]->IsActive() )
-            {
-            iRequests[KReqSetFrequency]->Cancel();
-            }
-        iRequests[KReqSetFrequency]->CompleteRequest(ERadioServSetFrequency, err);
-		}
-	else
-		{
-		iRequests[KReqInternal]->CompleteRequest(ERadioServSetFrequency, KErrDisconnected);
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelSetFrequency
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::CancelSetFrequency()
-	{
-    FUNC_LOG;
-	if ( iConnected && iRequests[KReqSetFrequency]->IsActive() )
-		{
-		iRequests[KReqSetFrequency]->Cancel();
-		}
-    TUNER.iFrequency = TUNER.iPreviousFrequency;
-    TUNER.iPreviousFrequency = 0;
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetFrequency
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetFrequency(
-	TInt& aFrequency ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iGetFrequencyError.Error() );
-        if ( KErrNone == err )
-            {
-            aFrequency = TUNER.iFrequency;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::StationSeek
-// -----------------------------------------------------------------------------
-EXPORT_C void RRadioSession::StationSeek(
-	TBool aUpwards )
-	{
-    FUNC_LOG;
-    INFO_1("aUpwards: %D", aUpwards );
-	if ( iConnected )
-		{
-	    TUNER.iStationSeekUpwards = aUpwards;
-        if ( iRequests[KReqStationSeek]->IsActive() )
-            {
-            iRequests[KReqStationSeek]->Cancel();
-            }
-        TInt err( KErrNone);
-        if ( KErrNotFound == TUNER.iScanStations.iCount )
-            {
-            err = KErrNotFound;
-            }
-        else if ( TUNER.iScanStations.iCount )
-            {
-            iRequests[KReqStationSeek]->iInt = TUNER.iScanStations.iMinFreq + ( TUNER.iScanStations.iCount * TUNER.iScanStations.iFrequencyStepSize );
-            --TUNER.iScanStations.iCount;
-            if ( 0 == TUNER.iScanStations.iCount )
-                {
-                TUNER.iScanStations.iCount = KErrNotFound;
-                }
-            }
-        else
-            {
-            iRequests[KReqStationSeek]->iInt = TUNER.iFrequency;
-            }
-        iRequests[KReqStationSeek]->CompleteRequest(ERadioServStationSeek, err);
-		}
-	else
-		{
-		iRequests[KReqInternal]->CompleteRequest(ERadioServStationSeek, KErrDisconnected);
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelStationSeek
-// -----------------------------------------------------------------------------
-EXPORT_C void RRadioSession::CancelStationSeek()
-	{
-    FUNC_LOG;
-	if ( iConnected && iRequests[KReqStationSeek]->IsActive() )
-		{
-		iRequests[KReqStationSeek]->Cancel();
-		}
-	TUNER.iScanStations.iCount = 0;
-    TUNER.iStationSeekUpwards = EFalse;
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetSignalStrength
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::GetSignalStrength(
-	TInt& aSignalStrength ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iGetSignalStrengthError.Error() );
-        if ( KErrNone == err )
-            {
-            aSignalStrength = TUNER.iSignalStrength;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetMaxSignalStrength
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::GetMaxSignalStrength(
-	TInt& aMaxSignalStrength ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iGetMaxSignalStrengthError.Error() );
-        if ( KErrNone == err )
-            {
-            aMaxSignalStrength = TUNER.iMaxSignalStrength;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetStereoMode
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::GetStereoMode(
-	TBool& aStereo ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iGetStereoModeError.Error() );
-        if ( KErrNone == err )
-            {
-            aStereo = TUNER.iStereoMode;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::ForceMonoReception
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::ForceMonoReception(
-	TBool aForcedMono )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iForcedMonoReceptionError.Error() );
-        if ( KErrNone == err )
-            {
-            TUNER.iForcedMono = aForcedMono;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetForceMonoReception
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::GetForceMonoReception(
-	TBool& aForcedMono ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iGetForcedMonoReceptionError.Error() );
-        if ( KErrNone == err )
-            {
-            aForcedMono = TUNER.iForcedMono;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::SetSquelch
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::SetSquelch(
-	TBool aEnabled )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iSetSquelchError.Error() );
-        if ( KErrNone == err )
-            {
-            TUNER.iSquelch = aEnabled;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetSquelch
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::GetSquelch(
-	TBool& aSquelch ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( TUNER.iGetSquelchError.Error() );
-        if ( KErrNone == err )
-            {
-            aSquelch = TUNER.iSquelch;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-//********** PlayerUtility control begins
-
-// -----------------------------------------------------------------------------
-// RRadioSession::PlayerState
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::PlayerState(
-	TRsPlayerState& aState ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-	    aState = PLAYER.iPlayerState;
-        return KErrNone;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::Play
-// -----------------------------------------------------------------------------
-EXPORT_C void RRadioSession::Play()
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-		PLAYER.iPlayerState = ERsPlayerPlaying;
-        if ( iRequests[KReqPlay]->IsActive() )
-            {
-            iRequests[KReqStationSeek]->Cancel();
-            }
-        iRequests[KReqPlay]->CompleteRequest(ERadioServPlay, KErrNone);
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::Stop
-// -----------------------------------------------------------------------------
-EXPORT_C void RRadioSession::Stop(
-	TBool aIfOnlyPrimaryClient )
-	{
-    FUNC_LOG;
-    INFO_1("aIfOnlyPrimaryClient: [%d]", aIfOnlyPrimaryClient);
-    if ( iConnected & aIfOnlyPrimaryClient )
-        {
-        PLAYER.iPlayerState = ERsPlayerIdle;
-        RProperty::Set( KRadioServerPropertyCategory, ERadioServPsPlayerState,  PLAYER.iPlayerState );
-        }
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetMaxVolume
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::GetMaxVolume(
-    TInt& aMaxVolume ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( PLAYER.iGetMaxVolumeError.Error() );
-        if ( KErrNone == err )
-            {
-            aMaxVolume = PLAYER.iMaxVolume;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::SetVolume
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::SetVolume(
-	TInt aVolume )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( PLAYER.iSetVolumeError.Error() );
-        if ( KErrNone == err )
-            {
-            PLAYER.iVolume = aVolume;
-            RProperty::Set( KRadioServerPropertyCategory, ERadioServPsVolume, PLAYER.iVolume );      
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetVolume
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::GetVolume(
-	TInt& aVolume ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( PLAYER.iGetVolumeError.Error() );
-        if ( KErrNone == err )
-            {
-            aVolume = PLAYER.iVolume;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::SetVolumeRamp
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::SetVolumeRamp(
-	const TTimeIntervalMicroSeconds& aRampInterval )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( PLAYER.iSetVolumeRampError.Error() );
-        if ( KErrNone == err )
-            {
-            PLAYER.iRampInterval = aRampInterval;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::Mute
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::Mute(
-	TBool aMute )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( PLAYER.iMuteError.Error() );
-        if ( KErrNone == err )
-            {
-            PLAYER.iMuteStatus = aMute;
-            RProperty::Set( KRadioServerPropertyCategory, ERadioServPsMuteStatus, PLAYER.iMuteStatus );      
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetMuteStatus
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::GetMuteStatus(
-	TBool& aMute ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-		aMute = PLAYER.iMuteStatus;
-		return KErrNone;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::SetBalance
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::SetBalance(
-	TInt aLeftPercentage,
-	TInt aRightPercentage )
-	{
-    FUNC_LOG;
-	INFO_2("left=[%d] right=[%d]", aLeftPercentage, aRightPercentage);
-	if ( iConnected )
-		{
-		TInt err( PLAYER.iSetBalanceError.Error() );
-		if ( KErrNone == err )
-		    {
-	        PLAYER.iLeftPercentage = aLeftPercentage;
-	        PLAYER.iRightPercentage = aRightPercentage;
-	        //iRadioPlayerUtilityClient.MrpoBalanceChange( STUB.iLeftPercentage, STUB.iRightPercentage );
-	        TPckgBuf<TRsSettingsData> balance;
-	        balance().iData1 = aLeftPercentage;     // Left
-	        balance().iData2 = aRightPercentage;    // Right
-	        RProperty::Set( KRadioServerPropertyCategory, ERadioServPsBalance,  balance );      
-		    }
-	    return err;
-
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetBalance
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetBalance(
-	TInt& aLeftPercentage,
-	TInt& aRightPercentage ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( PLAYER.iSetBalanceError.Error() );
-        if ( KErrNone == err )
-            {
-            aLeftPercentage = PLAYER.iLeftPercentage;
-            aRightPercentage = PLAYER.iRightPercentage;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-//********** RDSUtility control begins
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetRdsCapabilities
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetRdsCapabilities(
-	TRsRdsCapabilities& aCaps ) const
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-		TInt err( RDS.iGetCapabilitiesError.Error() );
-	    if ( KErrNone == err )
-	        {
-	        aCaps.iRdsFunctions = RDS.iCaps.iRdsFunctions;
-	        aCaps.iAdditionalFunctions1 = RDS.iCaps.iAdditionalFunctions1;
-	        aCaps.iAdditionalFunctions2 = RDS.iCaps.iAdditionalFunctions2;
-	        }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetRdsSignalStatus
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetRdsSignalStatus(
-	TBool& aRdsSignal ) const
-    {
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( RDS.iGetRdsSignalStatusError.Error() );
-        if ( KErrNone == err )
-            {
-            aRdsSignal = RDS.iRdsSignal;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::NotifyRdsDataChange
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::NotifyRdsDataChange(
-	TRsRdsData aRdsData )
-	{
-    FUNC_LOG;
-	INFO_1("aRdsData.iRdsFunctions [%d]", aRdsData.iRdsFunctions);
-	if ( !iConnected )
-		{
-		return KErrDisconnected;
-		}
-
-	if ( !iObserver )
-		{
-		return KErrNotReady;
-		}
-
-	TRAPD(err, StartRdsEventHandlersL(aRdsData.iRdsFunctions));
-	if ( err != KErrNone )
-		{
-		INFO_1("err=[%d]", err);
-		return err;
-		}
-    iRdsNotify = ETrue;
-	return err;
-    }
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelNotifyRdsDataChange
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::CancelNotifyRdsDataChange()
-    {
-    FUNC_LOG;
-	if ( iConnected && iRdsNotify )
-		{
-		iRdsEventHandlers.ResetAndDestroy();
-	    iRdsNotify = EFalse;
-		}
-    }
-
-// -----------------------------------------------------------------------------
-// RRadioSession::NotifyRadioTextPlusChange
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::NotifyRadioTextPlusChange(
-	RArray<TInt>& /*aRtPlusClasses*/ )
-	{
-    FUNC_LOG;
-	return KErrNotSupported;
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelNotifyRadioTextPlusChange
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::CancelNotifyRadioTextPlusChange()
-	{
-    FUNC_LOG;
-	// NotifyRadioTextPlusChange is not supported
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::SetAutomaticSwitching
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::SetAutomaticSwitching(
-	TBool aAuto )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( RDS.iSetAutomaticSwitchingError.Error() );
-        if ( KErrNone == err )
-            {
-            RDS.iAutomaticSwitching = aAuto;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetAutomaticSwitching
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetAutomaticSwitching(
-	TBool& aAuto )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( RDS.iGetAutomaticSwitchingError.Error() );
-        if ( KErrNone == err )
-            {
-            aAuto = RDS.iAutomaticSwitching;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelAFSearch
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::CancelAFSearch()
-	{
-    FUNC_LOG;
-	}
-
- // -----------------------------------------------------------------------------
-// RRadioSession::SetAutomaticTrafficAnnouncement
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::SetAutomaticTrafficAnnouncement(
-	TBool /*aAuto*/ )
-	{
-    FUNC_LOG;
-	return KErrNotSupported;
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetAutomaticTrafficAnnouncement
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetAutomaticTrafficAnnouncement(
-	TBool& /*aAuto*/ )
-	{
-    FUNC_LOG;
-	return KErrNotSupported;
-   	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::StationSeekByPTY
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::StationSeekByPTY(
-	TRsRdsProgrammeType aPty,
-	TBool aSeekUp )
-   	{
-    FUNC_LOG;
-   	INFO_2("pty=[%d], aSeekUp=%d", aPty, aSeekUp);
-	if ( iConnected )
-		{
-        if ( iRequests[KReqStationSeekByPTY]->IsActive() )
-            {
-            iRequests[KReqStationSeekByPTY]->Cancel();
-            }
-		iRequests[KReqStationSeekByPTY]->iInt = RDS.iFrequency;
-		iRequests[KReqInternal]->CompleteRequest(ERadioServStationSeekByPTY, KErrNone);
-		}
-	else
-		{
-		iRequests[KReqInternal]->CompleteRequest(ERadioServStationSeekByPTY, KErrDisconnected);
-		}
-   	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::StationSeekByTA
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::StationSeekByTA(
-	TBool /*aSeekUp*/ )
-   	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        if ( iRequests[KReqStationSeekByTA]->IsActive() )
-            {
-            iRequests[KReqStationSeekByTA]->Cancel();
-            }
-        iRequests[KReqStationSeekByTA]->iInt = RDS.iFrequency;
-	    iRequests[KReqInternal]->CompleteRequest(ERadioServStationSeekByTA, KErrNone);
-		}
-	else
-		{
-		iRequests[KReqInternal]->CompleteRequest(ERadioServStationSeekByTA, KErrDisconnected);
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::StationSeekByTP
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::StationSeekByTP(
-	TBool /*aSeekUp*/ )
-   	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        if ( iRequests[KReqStationSeekByTP]->IsActive() )
-            {
-            iRequests[KReqStationSeekByTP]->Cancel();
-            }
-        iRequests[KReqStationSeekByTP]->iInt = RDS.iFrequency;
-        iRequests[KReqInternal]->CompleteRequest(ERadioServStationSeekByTP, KErrNone);
-		}
-	else
-		{
-		iRequests[KReqInternal]->CompleteRequest(ERadioServStationSeekByTP, KErrDisconnected);
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelRdsStationSeek
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::CancelRdsStationSeek()
-  	{
-    FUNC_LOG;
-  	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetFreqByPTY
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::GetFreqByPTY(
-	TRsRdsProgrammeType /*aPty*/ )
-	{
-    FUNC_LOG;
-	iRequests[KReqInternal]->CompleteRequest(ERadioServGetFreqByPTY, KErrNotSupported);
-  	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelGetFreqByPTY
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::CancelGetFreqByPTY()
-	{
-    FUNC_LOG;
-	// GetFreqByPTY is not supported
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetFreqByTA
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::GetFreqByTA()
-	{
-    FUNC_LOG;
-	iRequests[KReqInternal]->CompleteRequest(ERadioServGetFreqByTA, KErrNotSupported);
-    }
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelGetFreqByTA
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::CancelGetFreqByTA()
-    {
-    FUNC_LOG;
-    // GetFreqByTA is not supported
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetPSByPTY
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::GetPSByPTY(
-	TRsRdsProgrammeType /*aPty*/ )
-    {
-    FUNC_LOG;
-	iRequests[KReqInternal]->CompleteRequest(ERadioServGetPSByPTY, KErrNotSupported);
-    }
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelGetPSByPTY
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::CancelGetPSByPTY()
-    {
-    FUNC_LOG;
-    // GetPSByPTY is not supported
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetPSByTA
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::GetPSByTA()
-    {
-    FUNC_LOG;
-	iRequests[KReqInternal]->CompleteRequest(ERadioServGetPSByTA, KErrNotSupported);
-    }
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelGetPSByTA
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void RRadioSession::CancelGetPSByTA()
-    {
-    FUNC_LOG;
-    // GetPSByTA is not supported
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetProgrammeIdentification
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetProgrammeIdentification(
-	TInt& aPi )
-    {
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( RDS.iGetProgrammeIdentificationError.Error() );
-        if ( KErrNone == err )
-            {
-            aPi = RDS.iPi;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetProgrammeType
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetProgrammeType(
-	TRsRdsProgrammeType& aPty )
-    {
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( RDS.iGetProgrammeTypeError.Error() );
-        if ( KErrNone == err )
-            {
-            aPty = RDS.iPty;
-            }
-        return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetProgrammeService
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetProgrammeService(
-	TRsRdsPSName& aPs )
-    {
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( RDS.iGetProgrammeServiceError.Error() );
-        if ( KErrNone == err )
-            {
-            aPs = RDS.iPs;
-            }
-        return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetRadioText
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetRadioText(
-	TRsRdsRadioText& aRt )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( RDS.iGetRadioTextError.Error() );
-        if ( KErrNone == err )
-            {
-            aRt = RDS.iRt;
-            }
-        return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetRadioTextPlus
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetRadioTextPlus(
-	TRsRdsRTplusClass /*aRtPlusClass*/,
-	TRsRdsRadioText& /*aRtPlusData*/ )
-	{
-    FUNC_LOG;
-	return KErrNotSupported;
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetClockTime
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetClockTime(
-	TDateTime& aCt )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( RDS.iGetClockTimeError.Error() );
-        if ( KErrNone == err )
-            {
-            aCt = RDS.iCt;
-            }
-        return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetTrafficAnnouncementStatus
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetTrafficAnnouncementStatus(
-	TBool& aTaStatus )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( RDS.iGetTrafficAnnouncementStatusError.Error() );
-        if ( KErrNone == err )
-            {
-            aTaStatus = RDS.iTaStatus;
-            }
-	    return err;
- 		}
- 	else
- 		{
- 		return KErrDisconnected;
- 		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::GetTrafficProgrammeStatus
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt RRadioSession::GetTrafficProgrammeStatus(
-	TBool& aTpStatus )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-        TInt err( RDS.iGetTrafficProgrammeStatusError.Error() );
-        if ( KErrNone == err )
-            {
-            aTpStatus = RDS.iTpStatus;
-            }
-	    return err;
-		}
-	else
-		{
-		return KErrDisconnected;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CustomCommandSync
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::CustomCommandSync(
-    const TMMFMessageDestinationPckg& aDestination,
-    TInt aFunction,
-    const TDesC8& aDataTo1,
-    const TDesC8& aDataTo2 )
-    {
-    FUNC_LOG;
-    if ( iConnected )
-        {
-        return SendReceive(aFunction, TIpcArgs(&aDestination, &aDataTo1, &aDataTo2));
-        }
-    else
-        {
-        return KErrDisconnected;
-        }
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CustomCommandSync
-// -----------------------------------------------------------------------------
-EXPORT_C TInt RRadioSession::CustomCommandSync(
-    const TMMFMessageDestinationPckg& aDestination,
-    TInt aFunction,
-    const TDesC8& aDataTo1,
-    const TDesC8& aDataTo2,
-    TDes8& aDataFrom )
-    {
-    FUNC_LOG;
-    if ( iConnected )
-        {
-        return SendReceive(aFunction, TIpcArgs(&aDestination, &aDataTo1, &aDataTo2, &aDataFrom));
-        }
-    else
-        {
-        return KErrDisconnected;
-        }
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CustomCommandAsync
-// -----------------------------------------------------------------------------
-EXPORT_C void RRadioSession::CustomCommandAsync(
-    const TMMFMessageDestinationPckg& aDestination,
-    TInt aFunction,
-    const TDesC8& aDataTo1,
-    const TDesC8& aDataTo2,
-    TRequestStatus& aStatus )
-    {
-    FUNC_LOG;
-    if ( iConnected )
-        {
-        SendReceive(aFunction, TIpcArgs(&aDestination, &aDataTo1, &aDataTo2), aStatus);
-        }
-    else
-        {
-        TRequestStatus* stat = &aStatus;
-        User::RequestComplete(stat, KErrDisconnected);
-        }
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CustomCommandAsync
-// -----------------------------------------------------------------------------
-EXPORT_C void RRadioSession::CustomCommandAsync(
-    const TMMFMessageDestinationPckg& aDestination,
-    TInt aFunction,
-    const TDesC8& aDataTo1,
-    const TDesC8& aDataTo2,
-    TDes8& aDataFrom,
-    TRequestStatus& aStatus )
-    {
-    FUNC_LOG;
-    if ( iConnected )
-        {
-        SendReceive(aFunction, TIpcArgs(&aDestination, &aDataTo1, &aDataTo2, &aDataFrom), aStatus);
-        }
-    else
-        {
-        TRequestStatus* stat = &aStatus;
-        User::RequestComplete(stat, KErrDisconnected);
-        }
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::CancelRequest
-// -----------------------------------------------------------------------------
-//
-void RRadioSession::CancelRequest(
-	TInt aRequest )
-	{
-    FUNC_LOG;
-	if ( iConnected )
-		{
-		SendReceive(ERadioServCancel, TIpcArgs(&iDestinationPckg, aRequest));
-		}
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::StartRequestHandlersL
-// Create asynchronous request handlers.
-// ** NOTE: The order in which each handler is appended to the iRequests array is critical.
-// Access to each request is done with constants declared at the beginning of this file.
-// -----------------------------------------------------------------------------
-//
-void RRadioSession::StartRequestHandlersL(
-	MRadioObserver& aObserver )
-	{
-    FUNC_LOG;
-
-	CRadioRequest* req = NULL;
-
-	req = CRadioRequest::NewLC(*this, aObserver, ERadioServNone);
-    User::LeaveIfError( iRequests.Append(req) );
-	CleanupStack::Pop( req );
-	INFO_2("CRadioRequest* req: 0x%x, no: %i", req, iRequests.Count() );
-
-	req = CRadioRequest::NewLC(*this, aObserver, ERadioServRequestTunerControl);
-	User::LeaveIfError( iRequests.Append(req) );
-	CleanupStack::Pop( req );
-    INFO_2("CRadioRequest* req: 0x%x, no: %i", req, iRequests.Count() );
-
-	req = CRadioRequest::NewLC(*this, aObserver, ERadioServSetFrequencyRange);
-	User::LeaveIfError( iRequests.Append(req) );
-	CleanupStack::Pop( req );
-    INFO_2("CRadioRequest* req: 0x%x, no: %i", req, iRequests.Count() );
-
-	req = CRadioRequest::NewLC(*this, aObserver, ERadioServSetFrequency);
-	User::LeaveIfError( iRequests.Append(req) );
-	CleanupStack::Pop( req );
-    INFO_2("CRadioRequest* req: 0x%x, no: %i", req, iRequests.Count() );
-
-	req = CRadioRequest::NewLC(*this, aObserver, ERadioServStationSeek);
-	User::LeaveIfError( iRequests.Append(req) );
-	CleanupStack::Pop( req );
-    INFO_2("CRadioRequest* req: 0x%x, no: %i", req, iRequests.Count() );
-
-	req = CRadioRequest::NewLC(*this, aObserver, ERadioServPlay);
-	User::LeaveIfError( iRequests.Append(req) );
-	CleanupStack::Pop( req );
-    INFO_2("CRadioRequest* req: 0x%x, no: %i", req, iRequests.Count() );
-
-	req = CRadioRequest::NewLC(*this, aObserver, ERadioServStationSeekByPTY);
-	User::LeaveIfError( iRequests.Append(req) );
-	CleanupStack::Pop( req );
-    INFO_2("CRadioRequest* req: 0x%x, no: %i", req, iRequests.Count() );
-
-	req = CRadioRequest::NewLC(*this, aObserver, ERadioServStationSeekByTA);
-	User::LeaveIfError( iRequests.Append(req) );
-	CleanupStack::Pop( req );
-    INFO_2("CRadioRequest* req: 0x%x, no: %i", req, iRequests.Count() );
-
-	req = CRadioRequest::NewLC(*this, aObserver, ERadioServStationSeekByTP);
-	User::LeaveIfError( iRequests.Append(req) );
-	CleanupStack::Pop( req );
-    INFO_2("CRadioRequest* req: 0x%x, no: %i", req, iRequests.Count() );
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::StartEventHandlersL
-// -----------------------------------------------------------------------------
-//
-void RRadioSession::StartEventHandlersL(
-	MRadioObserver& aEventObserver )
-	{
-    FUNC_LOG;
-
-	CRadioEventHandler* handler = NULL;
-	
-	handler = CRadioEventHandler::NewLC(aEventObserver, *this, ERadioServPsPlayerState);
-	User::LeaveIfError( iEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-	handler = CRadioEventHandler::NewLC(aEventObserver, *this, ERadioServPsAntennaStatus);
-	User::LeaveIfError( iEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-	handler = CRadioEventHandler::NewLC(aEventObserver, *this, ERadioServPsOfflineMode );
-	User::LeaveIfError( iEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-	handler = CRadioEventHandler::NewLC(aEventObserver, *this, ERadioServPsTransmitterStatus );
-	User::LeaveIfError( iEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-	handler = CRadioEventHandler::NewLC(aEventObserver, *this, ERadioServPsFrequency);
-	User::LeaveIfError( iEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-    handler = CRadioEventHandler::NewLC(aEventObserver, *this, ERadioServPsFrequencyRange);
-	User::LeaveIfError( iEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-	handler = CRadioEventHandler::NewLC(aEventObserver, *this, ERadioServPsForceMonoReception);
-	User::LeaveIfError( iEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-	handler = CRadioEventHandler::NewLC(aEventObserver, *this, ERadioServPsSquelch);
-	User::LeaveIfError( iEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-	handler = CRadioEventHandler::NewLC(aEventObserver, *this, ERadioServPsVolume);
-	User::LeaveIfError( iEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-	handler = CRadioEventHandler::NewLC(aEventObserver, *this, ERadioServPsMuteStatus);
-	User::LeaveIfError( iEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-	handler = CRadioEventHandler::NewLC(aEventObserver, *this, ERadioServPsBalance);
-	User::LeaveIfError( iEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-	}
-
-// -----------------------------------------------------------------------------
-// RRadioSession::StartRdsEventHandlersL
-// -----------------------------------------------------------------------------
-//
-void RRadioSession::StartRdsEventHandlersL(
-	TUint32 aRdsFunction )
-	{
-    FUNC_LOG;
-
-	iRdsEventHandlers.ResetAndDestroy();
-	CRadioEventHandler* handler = NULL;
-
-	// If RDS notification started always return the latest RdsSignalStatus
-	handler = CRadioEventHandler::NewLC(*iObserver, *this, ERadioServPsRdsSignalStatus);
-	User::LeaveIfError( iRdsEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-	handler = CRadioEventHandler::NewLC(*iObserver, *this, ERadioServPsAutoSwitchStatus);
-	User::LeaveIfError( iRdsEventHandlers.Append(handler) );
-	CleanupStack::Pop( handler );
-
-    if (aRdsFunction & TRsRdsData::ERsRdsProgrammeIdentification)
-    	{
-    	handler = CRadioEventHandler::NewLC(*iObserver, *this, ERadioServPsProgrammeIdentification);
-		User::LeaveIfError( iRdsEventHandlers.Append(handler) );
-		CleanupStack::Pop( handler );
-    	}
-
-    if (aRdsFunction & TRsRdsData::ERsRdsProgrammeType)
-    	{
-    	handler = CRadioEventHandler::NewLC(*iObserver, *this,ERadioServPsProgrammeType );
-		User::LeaveIfError( iRdsEventHandlers.Append(handler) );
-		CleanupStack::Pop( handler );
-    	}
-
-	if (aRdsFunction & TRsRdsData::ERsRdsProgrammeService)
-		{
-		handler = CRadioEventHandler::NewLC(*iObserver, *this, ERadioServPsProgrammeService);
-		User::LeaveIfError( iRdsEventHandlers.Append(handler) );
-		CleanupStack::Pop( handler );
-		}
-
-	if(aRdsFunction & TRsRdsData::ERsRdsRadioText)
-		{
-		handler = CRadioEventHandler::NewLC(*iObserver, *this, ERadioServPsRadioText);
-		User::LeaveIfError( iRdsEventHandlers.Append(handler) );
-		CleanupStack::Pop( handler );
-		}
-
-  if(aRdsFunction & TRsRdsData::ERsRdsRadioTextPlus)
-    {
-    handler = CRadioEventHandler::NewLC(*iObserver, *this, ERadioServPsRadioTextPlusObjects);
-    User::LeaveIfError( iRdsEventHandlers.Append(handler) );
-    CleanupStack::Pop( handler );
-    }
-
-	if (aRdsFunction & TRsRdsData::ERsRdsClockTime)
-		{
-	    handler = CRadioEventHandler::NewLC(*iObserver, *this, ERadioServPsClockTime);
-		User::LeaveIfError( iRdsEventHandlers.Append(handler) );
-		CleanupStack::Pop( handler );
-		}
-
-	if (aRdsFunction & TRsRdsData::ERsRdsTrafficAnnouncement)
-		{
-		handler = CRadioEventHandler::NewLC(*iObserver, *this, ERadioServPsTrafficAnnouncementStatus);
-		User::LeaveIfError( iRdsEventHandlers.Append(handler) );
-		CleanupStack::Pop( handler );
-		}
-
-	if (aRdsFunction & TRsRdsData::ERsRdsAlternateFrequency)
-		{
-	    handler = CRadioEventHandler::NewLC(*iObserver, *this, ERadioServPsAfSearchBegin);
-	    User::LeaveIfError( iRdsEventHandlers.Append(handler) );
-		CleanupStack::Pop( handler );
-
-	    handler = CRadioEventHandler::NewLC(*iObserver, *this, ERadioServPsAfSearchEnd);
-	    User::LeaveIfError( iRdsEventHandlers.Append(handler) );
-		CleanupStack::Pop( handler );
-		}
-	}
-
-//  End of File
--- a/mmserv/radioutility/radioserver/Session/stub/src/StubRadioSession.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1198 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:  This class is the main interface to the RadioServer. It implements
-*				 the client-side session. It also contains M-observer classes that
-*				 the client must implement to receive completion notification for
-*				 asynchronous requests and spontaneous event notifications.
-*
-*/
-
-
-
-#ifndef RADIOSESSION_H
-#define RADIOSESSION_H
-
-//  INCLUDES
-#include <mmf/common/mmfbase.h>
-#include <mmf/common/mmfcontrollerframework.h>
-#include <MCustomCommand.h>
-
-#include "RadioServerData.h"
-#include "RadioStubManager.h"
-
-// FORWARD DECLARATIONS
-class CRadioRequest;
-class CRadioEventHandler;
-
-// CLASS DECLARATION
-
-/**
-*  Defines functions that client must implement in order to receive
-*  events from the radio server.
-*
-*  @lib RadioSession.lib
-*  @since S60 3.0
-*/
-class MRadioObserver
-    {
-public: // New functions
-
-//********** Tuner related
-
-	/**
-     * Completion message for RequestTunerControl request.
-     *
-     * @since S60 3.2
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     */
-	virtual void RequestTunerControlComplete( TRadioServerError aError ) = 0;
-
-	/**
-     * Completion message for SetFrequencyRange request.
-     *
-     * @since S60 3.2
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     */
-	virtual void SetFrequencyRangeComplete( TRadioServerError aError ) = 0;
-
-	/**
-     * Completion message for SetFrequency request.
-     *
-     * @since S60 3.0
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     */
-	virtual void SetFrequencyComplete( TRadioServerError aError ) = 0;
-
-	/**
-     * Completion message for StationSeek request.
-     *
-     * @since S60 3.0
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     * @param aFrequency Valid only if aError is KErrNone. Contains the new frequency in Hz.
-     */
-	virtual void StationSeekComplete( TRadioServerError aError, TInt aFrequency ) = 0;
-
-	/**
-     * Event notification indicating FM transmitter status change. Radio receiver
-     * is turned off when FM transmitter is active.
-     *
-     * @since S60 3.2
-     * @param aActive ETrue if FM transmitter is active; EFalse otherwise.
-     */
-	virtual void RadioEventTransmitterStatusChange( TBool aActive ) = 0;
-
-	/**
-     * Event notification indicating antenna status change.
-     *
-     * @since S60 3.0
-     * @param aAttached ETrue if antenna is attached.
-     */
-	virtual void RadioEventAntennaStatusChange( TBool aAttached ) = 0;
-
-	/**
-     * Event notification indicating offline mode change.
-     *
-     * @since S60 3.0
-     * @param aOfflineMode ETrue if device is in offline mode.
-     */
-	virtual void RadioEventOfflineModeChange( TBool aOfflineMode ) = 0;
-
-	/**
-     * Event notification indicating frequency range change. This may be caused by
-     * other applications.
-     *
-     * @since S60 3.2
-     * @param aNewRange New frequency range.
-     */
-	virtual void RadioEventFrequencyRangeChanged( TRsFrequencyRange aNewRange ) = 0;
-
-	/**
-     * Event notification indicating frequency(Hz) change. This may be caused by
-     * other applications or RDS if AF/TA is enabled.
-     *
-     * @since S60 3.2
-     * @param aFrequency New frequency where tuner is currently tuned.
-     */
-	virtual void RadioEventFrequencyChange( TInt aFrequency ) = 0;
-
-	/**
-     * Event notification indicating forced mono status change.
-     *
-     * @since S60 3.2
-     * @param aForcedMono ETrue if forced mode is enabled; EFalse otherwise.
-     */
-	virtual void RadioEventForcedMonoChanged( TBool aForcedMono ) = 0;
-
-	/**
-     * Event notification indicating squelch (muting the frequencies without broadcast) status change.
-     *
-     * @since S60 3.2
-     * @param aSquelch ETrue if squelch is enabled; EFalse otherwise.
-     */
-	virtual void RadioEventSquelchChanged( TBool aSquelch ) = 0;
-
-//********** Player related
-
-	/**
-     * Event notification indicating radio player state change. This may be caused by
-     * other applications.
-     *
-     * @since S60 3.0
-     * @param aRadioOn ETrue if radio is playing, otherwise radio is off.
-     * @param aError Valid only if aRadioOn is EFalse. Contains the reason why radio is off.
-     */
-	virtual void RadioEventStateChange( TBool aRadioOn, TRadioServerError aError ) = 0;
-
-	/**
-     * Event notification indicating volume change.
-     *
-     * @since S60 3.2
-     * @param aVolume New volume.
-     */
-	virtual void RadioEventVolumeChange( TInt aVolume ) = 0;
-
-	/**
-     * Event notification indicating mute setting change.
-     *
-     * @since S60 3.2
-     * @param aMute ETrue indicates audio is muted.
-     */
-	virtual void RadioEventMuteChange( TBool aMute ) = 0;
-
-	/**
-     * Event notification indicating balance setting change.
-     *
-     * @since S60 3.2
-     * @param aLeftPercentage Left speaker volume percentage. This value ranges from 0 to 100.
-     * @param aRightPercentage Right speaker volume percentage. This value ranges from 0 to 100.
-     */
-	virtual void RadioEventBalanceChange( TInt aLeftPercentage, TInt aRightPercentage ) = 0;
-
-//********** RDS related
-
-	/**
-     * Completion message for StationSeekByPTY request.
-     *
-     * @since S60 3.2
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     * @param aFrequency The frequency(Hz) of the radio station that was found.
-     */
-	virtual void StationSeekByPTYComplete( TRadioServerError aError, TInt aFrequency ) = 0;
-
-	/**
-     * Completion message for StationSeekByTA request.
-     *
-     * @since S60 3.2
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     * @param aFrequency The frequency(Hz) of the radio station that was found.
-     */
-	virtual void StationSeekByTAComplete( TRadioServerError aError, TInt aFrequency ) = 0;
-
-	/**
-     * Completion message for StationSeekByTP request.
-     *
-     * @since S60 3.2
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     * @param aFrequency The frequency(Hz) of the radio station that was found.
-     */
-	virtual void StationSeekByTPComplete( TRadioServerError aError, TInt aFrequency ) = 0;
-
-	/**
-     * Completion message for GetFreqByPTY request.
-     *
-     * @since S60 3.2
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     * @param aFreqList Array of frequencies (Hz), valid only if aError is KErrNone.
-     */
-	virtual void GetFreqByPTYComplete( TRadioServerError aError, RArray<TInt>& aFreqList ) = 0;
-
-	/**
-     * Completion message for GetFreqByTA request.
-     *
-     * @since S60 3.2
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     * @param aFreqList Array of frequencies (Hz), valid only if aError is KErrNone.
-     */
-	virtual void GetFreqByTAComplete( TRadioServerError aError, RArray<TInt>& aFreqList ) = 0;
-
-	/**
-     * Completion message for StatGetPSByPTY request.
-     *
-     * @since S60 3.2
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     * @param aPsList Array of programme service names, valid only if aError is KErrNone.
-     */
-	virtual void GetPSByPTYComplete( TRadioServerError aError, RArray<TRsRdsPSName>& aPsList ) = 0;
-
-	/**
-     * Completion message for GetPSByTA request.
-     *
-     * @since S60 3.2
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     * @param aPsList Array of programme service names, valid only if aError is KErrNone.
-     */
-	virtual void GetPSByTAComplete( TRadioServerError aError, RArray<TRsRdsPSName>& aPsList ) = 0;
-
-	/**
-     * Event notification indicating new Programme Identification(PI) is available.
-     *
-     * @since S60 3.2
-     * @param aPi Programme identification
-     */
-	virtual void RadioEventRdsDataPI( TInt aPi ) = 0;
-
-	/**
-     * Event notification indicating new Programme Type(PTY) is available.
-     *
-     * @since S60 3.2
-     * @param aPty Programme type
-     */
-	virtual void RadioEventRdsDataPTY( TRsRdsProgrammeType aPty ) = 0;
-
-	/**
-     * Event notification indicating new Programme Service(PS) is available.
-     *
-     * @since S60 3.2
-     * @param aPs Programme service
-     */
-	virtual void RadioEventRdsDataPS( TRsRdsPSName& aPs ) = 0;
-
-	/**
-     * Event notification indicating new Radio Text(RT) is available.
-     *
-     * @since S60 3.2
-     * @param aRt Radio text
-     */
-	virtual void RadioEventRdsDataRT( TRsRdsRadioText& aRt ) = 0;
-
-	/**
-     * Event notification indicating new Clock Time(CT) is available.
-     *
-     * @since S60 3.2
-     * @param aCt Clock time
-     */
-	virtual void RadioEventRdsDataCT( TDateTime& aCt ) = 0;
-
-	/**
-     * Event notification indicating Traffice Announcement(TA) status change.
-     *
-     * @since S60 3.2
-     * @param aTaOn ETrue indicates that Traffic Announcement is on.
-     */
-	virtual void RadioEventRdsDataTA( TBool aTaOn ) = 0;
-
-	/**
-     * Event notification indicating new Radio Text+(RT+) is available.
-     *
-     * @since S60 3.2
-	 * @param aRtPlusClass Radio text plus class
-	 * @param aRtPlusData Radio text plus data
-	 */
-	virtual void RadioEventRdsDataRTplus( TRsRdsRTplusClass aRtPlusClass, TRsRdsRadioText& aRtPlusData ) = 0;
-
-	/**
-     * Event notification indicating the beginning of Alternate Frequency(AF) search.
-     *
-     * @since S60 3.2
-     */
-	virtual void RadioEventRdsSearchBeginAF() = 0;
-
-	/**
-     * Event notification indicating the end of Alternate Frequency(AF) search.
-     *
-     * @since S60 3.2
-     * @param aError KErrNone if successful, otherwise one of the system/RadioServer errors.
-     * @param aFrequency The frequency(Hz) of the radio station that was found.
-     */
-	virtual void RadioEventRdsSearchEndAF( TRadioServerError aError, TInt aFrequency ) = 0;
-
-	/**
-     * Event notification indicating station change to another frequency(Hz) that is
-     * broadcasting Traffic Announcement(TA).
-     *
-     * @since S60 3.2
-     * @param aFrequency The frequency(Hz) of the radio station that was found.
-     */
-	virtual void RadioEventRdsStationChangeTA( TInt aFrequency ) = 0;
-
-	/**
-     * Event notification indicating automatic switching (AF) setting change.
-     *
-     * @since S60 3.2
-     * @param aAuto ETrue indicates that automatic switching is on.
-     */
-	virtual void RadioEventRdsAutomaticSwitchingChange( TBool aAuto ) = 0;
-
-	/**
-     * Event notification indicating automatic traffic announcement setting change.
-     *
-     * @since S60 3.2
-     * @param aAuto ETrue indicates that automatic traffic announcement is on.
-     */
-	virtual void RadioEventRdsAutomaticTrafficAnnouncement( TBool aAuto ) = 0;
-
-	/**
-     * Event notification indicating RDS signal status change (i.e. signal is lost/restored).
-     *
-     * @since S60 3.2
-     * @param aSignal ETrue indicates that RDS signal is available in the tuned frequency.
-     */
-	virtual void RadioEventRdsSignalChange( TBool aSignal ) = 0;
-    };
-
-/**
-*  Main interface to the Radio Server.
-*  Implements the client-side session.
-*
-*  @lib RadioSession.lib
-*  @since S60 3.0
-*/
-class RRadioSession : public RSessionBase,
-					  public MCustomCommand
-    {
-public: // New functions
-    IMPORT_C static RRadioSession* NewL();
-    
-public:  // Constructors and destructor
-
-	/**
-     * C++ default constructor.
-     */
-	IMPORT_C RRadioSession();
-
-public: // New functions
-
-    /**
-     * Connects a client to the radio server.
-     * @since S60 3.0
-     *
-     * @param aObserver The observer object for receiving async completion callbacks.
-     * @param aPrimaryClient Indicates whether the client is a primary client. Primary
-     * clients are clients that can control the radio tuner such as FM Radio Application,
-     * Visual Radio, or a Java Radio App.  Non-primary clients are observers of the tuner,
-     * player, and RDS utilities and cannot exist without a primary client such as Active
-     * Idle, Cover UI, or a smart accessory driver.
-     * @return A standard system error code.
-     */
-	IMPORT_C TInt Connect( MRadioObserver& aObserver, TBool aPrimaryClient );
-
-	/**
-     * Gets the client side version number.
-     *
-     * @since S60 3.0
-     * @return The client side version number.
-     */
-	IMPORT_C TVersion Version() const;
-
-	/**
-     * Closes connection to the radio server.
-     *
-     * @since S60 3.0
-     */
-	IMPORT_C void Close();
-
-//********** TunerUtility control begins
-
-	/**
-     * Request for control of a tuner. If this method returns KErrNone, control of
-     * the tuner has been granted. Control to the tuner must be granted before any
-     * other request can be made.
-     *
-     * @since S60 3.2
-     * @param Tuner type (e.g. FM, AM)
-     * @return A standard system error code.
-     * @see MRadioObserver::RequestTunerControlComplete
-     */
-	IMPORT_C void RequestTunerControl( TRsTuner aTuner );
-
-	/**
-     * Get the capabilities of the radio on the device.
-     *
-     * @since S60 3.2
-     * @param aCaps The capabilities object to fill
-     * @return A standard system error code.
-     */
-	IMPORT_C TInt GetTunerCapabilities( TRsTunerCapabilities& aCaps ) const;
-
-	/**
-     * EnableTunerInOfflineMode on the device.
-     *
-     * @since S60 3.2
-     * @param aEnable ETrue to enable tuner functions in offline mode, EFalse to disable.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt EnableTunerInOfflineMode( TBool aEnable );
-
-	/**
-     * Asynchronous request to set the frequency range. If the frequency range is not set,
-     * it will be defaulted to ERsTunerFM.
-     *
-     * @since S60 3.2
-     * @param aRange Frequency range
-     * @see MRadioObserver::SetFrequencyRangeComplete
-     */
-	IMPORT_C void SetFrequencyRange( TRsFrequencyRange aRange );
-
-	/**
-     * Cancels an outstanding SetFrequencyRange request. Note that SetFrequencyRange may
-     * complete before cancel can occur and a callback may occur.
-     *
-     * @since S60 3.2
-     * @return A standard system error code.
-     */
-	IMPORT_C void CancelSetFrequencyRange();
-
-	/**
-     * Get the current frequency range. It also returns the minimum and maximum frequencies(Hz)
-     * for the returned range.
-     *
-     * @since S60 3.2
-     * @param aRange On return contains the current frequency range.
-     * @param aMinFreq On return contains the minimum frequency for the current frequency range.
-     * @param aMaxFreq On return contains the maximum frequency for the current frequency range.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetFrequencyRange( TRsFrequencyRange& aRange, TInt& aMinFreq, TInt& aMaxFreq ) const;
-
-	/**
-     * Asynchronous request to tune the tuner to the specified frequency.
-     *
-     * @since S60 3.2
-     * @param aFrequency The frequency (Hz) to tune to
-     * @see MRadioObserver::SetFrequecyComplete
-     */
-	IMPORT_C void SetFrequency( TInt aFrequency );
-
-	/**
-     * Cancels an outstanding SetFrequency request. Note that SetFrequency may complete before
-     * cancel can occur and a callback to MRadioObserver::SetFrequencyComplete may occur.
-     *
-     * @since S60 3.0
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C void CancelSetFrequency();
-
-	/**
-     * Get the current frequency.
-     *
-     * @since S60 3.2
-     * @param aFrequency On return contains the current frequency(Hz).
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetFrequency( TInt& aFrequency ) const;
-
-	/**
-     * Asynchronous request to find a radio station, starting from current frequency and
-     * seaching in the direction specified (i.e. up or down).
-     *
-     * @since S60 3.0
-     * @param aSeekUp Search direction
-     * @see MRadioObserver::StationSeekComplete
-     */
-	IMPORT_C void StationSeek( TBool aUpwards );
-
-	/**
-     * Cancels an outstanding StationSeek request. Note that StationSeek may complete before
-     * cancel can occur and a callback to MRadioObserver::StationSeekComplete may occur.
-     *
-     * @since S60 3.0
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C void CancelStationSeek();
-
-	/**
-     * Gets the signal strength of the currently tuned signal.
-     *
-     * @since S60 3.2
-     * @param aStrength On return contains the current signal strength.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetSignalStrength( TInt& aSignalStrength ) const;
-
-	/**
-     * Gets the maximum possible signal strength of a tuned signal.
-     *
-     * @since S60 3.2
-     * @param aMaxStrength On return contains the maximum signal strength.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetMaxSignalStrength( TInt& aMaxSignalStrength ) const;
-
-	/**
-     * Get the stereo mode of the radio.
-     *
-     * @since S60 3.2
-     * @param aStereo On return, will be ETrue if signal is stereo.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetStereoMode( TBool& aStereo ) const;
-
-	/**
-     * Indicates whether the reception should be forced into monophonic mode.
-     *
-     * @since S60 3.2
-     * @param aMono If ETrue, all reception will be in mono mode even if a stereo signal is
-     *		 available. If EFalse, a stereo signal will be received when possible.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt ForceMonoReception( TBool aForcedMono );
-
-	/**
-     * Checks whether force mono reception is on or not.
-     * @since S60 3.2
-     * @param aForceMono ETrue if force mono is on, EFalse otherwise.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetForceMonoReception( TBool& aForcedMono ) const;
-
-	/**
-     * Enable or disable quelch.
-     *
-     * @since S60 3.2
-     * @param aEnabled ETrue to enable squelching, EFalse to disable it.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt SetSquelch( TBool aEnabled );
-
-	/**
-	 * Retrieves the current squelching (muting in frequencies without reception) setting
-     *
-     * @since S60 3.2
-     * @param aSquelch ETrue if a squelching is currently enabled
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetSquelch( TBool& aSquelch ) const;
-
-//********** PlayerUtility control begins
-
-	/**
-     * Retrieve the current state of the player.
-	 * If the radio is already playing, client should simply retrieve current settings such
-     * as volume, etc.
-     *
-     * @since S60 3.2
-     * @return Radio player state.
-     */
-	IMPORT_C TInt PlayerState( TRsPlayerState& aState ) const;
-
-	/**
-     * Starts radio playback.
-     *
-     * @since S60 3.0
-     */
-	IMPORT_C void Play();
-
-	/**
-     * Stops playback, and release the output device for use by other clients.
-     *
-     * @since S60 3.0
-     * @param aIfOnlyPrimaryClient ETrue to stop playback only if there are no other primary clients
-     */
-	IMPORT_C void Stop( TBool aIfOnlyPrimaryClient = EFalse );
-
-	/**
-     * Retrieves the maximum volume supported.
-     *
-     * @since S60 3.0
-     * @param aVolume On return contains the maximum volume.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetMaxVolume( TInt& aMaxVolume ) const;
-
-	/**
-     * Sets the volume to the specified level.
-     *
-     * @since S60 3.0
-     * @param aVolume The volume level to set
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt SetVolume( TInt aVolume );
-
-	/**
-     * Get the current volume.
-     *
-     * @since S60 3.2
-     * @param aVolume On return contains the current volume.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetVolume( TInt& aVolume ) const;
-
-	/**
-     * Set a volume ramp.
-     *
-     * @since S60 3.2
-     * @param aRampInterval The time interval over which the volume should be increased from
-     *		 zero to the current volume setting.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt SetVolumeRamp( const TTimeIntervalMicroSeconds& aRampInterval );
-
-	/**
-     * Mutes or unmutes playback.
-     *
-     * @since S60 3.0
-     * @param aMute ETrue to mute the audio, EFalse to unmute it.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt Mute( TBool aMute );
-
-	/**
-     * Find out if the audio is muted or not.
-     *
-     * @since S60 3.2
-     * @param aVolume On return set to ETrue if audio is muted.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetMuteStatus( TBool& aMute ) const;
-
-	/**
-     * Set the speaker balance for playing.
-     *
-     * @since S60 3.2
-     * @param aLeftPercentage Left speaker volume percentage. This value ranges from 0 to 100.
-     * @param aRightPercentage Right speaker volume percentage. This value ranges from 0 to 100.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt SetBalance( TInt aLeftPercentage, TInt aRightPercentage );
-
-	/**
-     * Get the current speaker balance setting.
-     *
-     * @since S60 3.2
-     * @param aLeftPercentage On return contains the left speaker volume percentage.
-     * @param aRightPercentage On return contains the right speaker volume percentage.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetBalance( TInt& aLeftPercentage, TInt& aRightPercentage ) const;
-
-//********** RDSUtility control begins
-
-	/**
-     * Get the capabilities of the RDS control on the device.
-     *
-     * @since S60 3.2
-     * @param aCaps The capabilities object to fill
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetRdsCapabilities( TRsRdsCapabilities& aCaps ) const;
-
-	/**
-     * Get the status of the RDS reception.
-     *
-     * @since S60 3.2
-     * @param aRdsSignal On return, will be ETrue if RDS signal can be recepted, EFalse otherwise.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetRdsSignalStatus( TBool& aRdsSignal ) const;
-
-	/**
-     * Subscribe for notification for the specified RDS data. Client should first check
-     * the capabilities to see if a feature is supported.
-     * Request for notification for non-supported features will simply be ignored.
-     *
-     * @since S60 3.2
-     * @param aRdsData Bitfield indicating notification request.
-     * @return A standard system/RadioServer error code.
-     * @see MRadioObserver::RadioEventRdsDataPI
-     * @see MRadioObserver::RadioEventRdsDataPTY
-     * @see MRadioObserver::RadioEventRdsDataPS
-     * @see MRadioObserver::RadioEventRdsDataRT
-     * @see MRadioObserver::RadioEventRdsDataCT
-     * @see MRadioObserver::RadioEventRdsDataTA
-     */
-	IMPORT_C TInt NotifyRdsDataChange( TRsRdsData aRdsData );
-
-	/**
-     * Cancel NotifyRdsDataChange request.
-     *
-     * @since S60 3.2
-     */
-	IMPORT_C void CancelNotifyRdsDataChange();
-
-    /**
-     * Subscribe for notification for the specified RadioText+ data. Client should first check
-     * the capabilities to see if RT+ feature is supported.
-     * Returns KErrNotSupported if RT+ is not supported.
-     *
-     * Note that if the client wishes to receive the entire radio text data chunk, client should
-     * subscribe for ERsRdsRadioText using NotifyRdsDataChange instead.
-     *
-     * @since S60 3.2
-     * @param aRtPlusClasses Array of RT+ class to be notified
-     * @return A standard system/RadioServer error code.
-     * @see MRadioObserver::RadioEventRdsDataRTplus
-     */
-    IMPORT_C TInt NotifyRadioTextPlusChange( RArray<TInt>& aRtPlusClasses );
-
-	/**
-     * Cancel NotifyRadioTextPlusChange request.
-     *
-     * @since S60 3.2
-     */
-	IMPORT_C void CancelNotifyRadioTextPlusChange();
-
-	/**
-     * Turn on/off automatic switching of frequency based on Alternate Frequency.
-     * This will cause RDS device to search for alternate frequency when the signal strength
-     * deteriorates. User should be ready to receive RadioEventRdsSearchBeginAF and
-     * RadioEventRdsSearchEndAF. Automatic switching is off by default.
-     *
-     * @since S60 3.2
-     * @param aAuto ETrue to turn automatic switching on, EFalse to turn it off.
-     * @return A standard system/RadioServer error code.
-     * @see MRadioObserver::RadioEventRdsSearchBeginAF
-	 * @see MRadioObserver::RadioEventRdsSearchEndAF
-     */
-	IMPORT_C TInt SetAutomaticSwitching( TBool aAuto );
-
-	/**
-     * Find out whether automatic switching is on or off.
-     *
-     * @since S60 3.2
-     * @param aAuto On return, ETrue indicates that automatic switching is enabled.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetAutomaticSwitching( TBool& aAuto );
-
-	/**
-     * Cancel ongoing search for an Alternate Frequency (AF) with stronger signal.
-     *
-     * Client can issue this request to interrupt the search indicated with
-     * MRadioObserver::RadioEventRdsSearchBeginAF.
-     *
-     * @since S60 3.2
-     */
-	IMPORT_C void CancelAFSearch();
-
-	/**
-     * Turns on/off automatic switching of frequency based on Traffic Announcement.
-     * This will cause RDS device to search for frequencies broadcasting traffic announcement.
-     * Client will be notified of frequency change though the tuner event.
-     * It's up to the client to return to the previous frequency when the traffic announcement
-     * is finished.
-     *
-     * NOTE: This is only supported in dual tuner configuration since the secondary tuner
-     * needs to perform continuous scanning for frequency broadcasting traffic announcement,
-     * while the primary tuner is used for normal tuner activities.
-     *
-     * @since S60 3.2
-     * @param aAuto ETrue indicates that automatic switching is on.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt SetAutomaticTrafficAnnouncement( TBool aAuto );
-
-	/**
-     * Find out whether automatic traffic announcement is enabled.
-     *
-     * @since S60 3.2
-     * @param aAuto On return, ETrue indicates that automatic traffic announcement is on.
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetAutomaticTrafficAnnouncement( TBool& aAuto );
-
-	/**
-     * Asynchronous request to find a radio station with the specified Programme Type(PTY),
-     * starting from the currently tuned frequency and searching in the direction specified
-     * (i.e. up or down). User must be ready to receive callback method StationSeekByPTYComplete
-     * The station found is returned in the callback.
-     *
-     * @since S60 3.2
-     * @param aPty The type of programme to search for.
-     * @param aSeekUp The direction to search in. Searches upwards if set to ETrue.
-     * @see MRadioObserver::StationSeekByPTYComplete
-     */
-	IMPORT_C void StationSeekByPTY( TRsRdsProgrammeType aPty, TBool aSeekUp );
-
-	/**
-     * Asynchronous request to find a radio station with Traffic Announcement(TA),
-     * starting from the currently tuned frequency and searching in the direction specified
-     * (i.e. up or down). User must be ready to receive callback method StationSeekByTAComplete
-     * The station found is returned in the callback.
-     *
-     * @since S60 3.2
-     * @param aSeekUp The direction to search in. Searches upwards if set to ETrue.
-     * @see MRadioObserver::StationSeekByTAComplete
-     */
-	IMPORT_C void StationSeekByTA( TBool aSeekUp );
-
-	/**
-     * Asynchronous request to find a radio station with Traffic Programme(TP),
-     * starting from the currently tuned frequency and searching in the direction specified
-     * (i.e. up or down). User must be ready to receive callback method StationSeekByTPComplete
-     * The station found is returned in the callback.
-     *
-     * @since S60 3.2
-     * @param aSeekUp The direction to search in. Searches upwards if set to ETrue.
-     * @see MRadioObserver::StationSeekByTPComplete
-     */
-	IMPORT_C void StationSeekByTP( TBool aSeekUp );
-
-	/**
-     * Cancels an ongoing retune operation, as initiated by a call to StationSeekByPTY,
-     * StationSeekByTA, or StationSeekByTP.
-     * The usual callback will not occur if this has been called.
-     *
-     * @since S60 3.2
-     */
-	IMPORT_C void CancelRdsStationSeek();
-
-	/**
-     * Asynchronous request to find all frequencies sending the given Programme Type (PTY).
-     * User must be ready to receive callback method GetFreqByPTYComplete.
-     *
-     * NOTE: This is only supported in dual tuner configuration since the secondary tuner
-     * needs to perform continuous scanning for frequencies broadcasting given Programme Type
-     * while the primary tuner is used for normal tuner activities.
-     * Client should first check the tuner capabilities. Will return KErrNotSupported in
-     * callback method if this feature is not supported.
-     *
-     * @since S60 3.2
-     * @param aPty The type of programme to search for
-     * @see MRadioObserver::GetFreqByPTYComplete
-     */
-	IMPORT_C void GetFreqByPTY( TRsRdsProgrammeType aPty );
-
-	/**
-     * Cancels an ongoing request to find all frequencies sending a given Programme Type (PTY).
-     * The usual callback will not occur if this has been called.
-     *
-     * @since S60 3.2
-     */
-	IMPORT_C void CancelGetFreqByPTY();
-
-	/**
-     * Asynchronous request to find all frequencies sending Traffic Announcement (TA). User must
-     * be ready to receive callback method GetFreqByTAComplete.
-     *
-     * NOTE: This is only supported in dual tuner configuration since the secondary tuner
-     * needs to perform continuous scanning for frequencies broadcasting given Traffic Announcement
-     * while the primary tuner is used for normal tuner activities.
-     * Client should first check the tuner capabilities. Will return KErrNotSupported in
-     * callback method if this feature is not supported.
-     *
-     * @since S60 3.2
-     * @see MRadioObserver::GetFreqByTAComplete
-     */
-	IMPORT_C void GetFreqByTA();
-
-	/**
-     * Cancels an ongoing request to find all frequencies sending Traffic Announcement.
-     * The usual callback will not occur if this has been called.
-     *
-     * @since S60 3.2
-     */
-	IMPORT_C void CancelGetFreqByTA();
-
-	/**
-     * Asynchronous request to find all Programme Service names (PS) sending the given Programme
-     * Type (PTY). User must be ready to receive callback method GetPSByPTYComplete.
-     *
-     * NOTE: This is only supported in dual tuner configuration since the secondary tuner
-     * needs to perform continuous scanning for frequencies broadcasting given Programme Type
-     * while the primary tuner is used for normal tuner activities.
-     * Client should first check the tuner capabilities. Will return KErrNotSupported in
-     * callback method if this feature is not supported.
-     *
-     * @since S60 3.2
-     * @param aPty The type of programme to search for
-     * @see MRadioObserver::GetPSByPTYComplete
-     */
-	IMPORT_C void GetPSByPTY( TRsRdsProgrammeType aPty );
-
-	/**
-     * Cancels an ongoing request to find all Programme Service names (PS) sending a given
-     * Programme Type (PTY). The usual callback will not occur if this has been called.
-     *
-     * @since S60 3.2
-     */
-	IMPORT_C void CancelGetPSByPTY();
-
-	/**
-     * Asynchronous request to find all Programme Service names (PS) sending Traffic Announcement (TA).
-     * User must be ready to receive callback method GetPSByTAComplete.
-     *
-     * NOTE: This is only supported in dual tuner configuration since the secondary tuner
-     * needs to perform continuous scanning for frequencies broadcasting given Traffic Announcement
-     * while the primary tuner is used for normal tuner activities.
-     * Client should first check the tuner capabilities. Will return KErrNotSupported in
-     * callback method if this feature is not supported.
-     *
-     * @since S60 3.2
-     * @see MRadioObserver::GetPSByTAComplete
-     */
-	IMPORT_C void GetPSByTA();
-
-	/**
-     * Cancels an ongoing request to find all Programme Service names (PS) sending Traffic Announcement.
-     * The usual callback will not occur if this has been called.
-     *
-     * @since S60 3.2
-     */
-	IMPORT_C void CancelGetPSByTA();
-
-	/**
-     * Get the current Programme Identification code.
-     * RDS data is received over the air and may not be available immediately following
-     * tune operation. If data is not available, this function will return KErrNotFound.
-     * If a value is returned, this is the last known value, which may not be up to date.
-     * To be notified of the most recent value, client should use NotifyRdsDataChange.
-     *
-     * @since S60 3.2
-     * @param aPi On return contains Programme Identification code
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetProgrammeIdentification( TInt& aPi );
-
-	/**
-     * Get the current Programme Type.
-     * RDS data is received over the air and may not be available immediately following
-     * tune operation. If data is not available, this function will return KErrNotFound.
-     * If a value is returned, this is the last known value, which may not be up to date.
-     * To be notified of the most recent value, client should use NotifyRdsDataChange.
-     *
-     * @since S60 3.2
-     * @param aPty On return contains Programme Type
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetProgrammeType( TRsRdsProgrammeType& aPty );
-
-	/**
-     * Get the current Programme Service name.
-     * RDS data is received over the air and may not be available immediately following
-     * tune operation. If data is not available, this function will return KErrNotFound.
-     * If a value is returned, this is the last known value, which may not be up to date.
-     * To be notified of the most recent value, client should use NotifyRdsDataChange.
-     *
-     * Programme Service name is fixed to 8 characters.
-     *
-     * @since S60 3.2
-     * @param aPs On return contains Programme Service name
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetProgrammeService( TRsRdsPSName& aPs );
-
-	/**
-     * Get the current Radio Text.
-     * RDS data is received over the air and may not be available immediately following
-     * tune operation. If data is not available, this function will return KErrNotFound.
-     * If a value is returned, this is the last known value, which may not be up to date.
-     * To be notified of the most recent value, client should use NotifyRdsDataChange.
-     *
-     * The maximum possible length for radio text field is 64 characters.
-     *
-     * @since S60 3.2
-     * @param aRt On return contains Radio Text
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetRadioText( TRsRdsRadioText& aRt );
-
-    /**
-     * Get the current Radio Text+.
-     * RDS data is received over the air and may not be available immediately following
-     * tune operation. If data is not available, this function will return KErrNotFound.
-     * If a value is returned, this is the last known value, which may not be up to date.
-     * To be notified of the most recent value, client should use NotifyRdsDataChange.
-     *
-     * The maximum possible length for radio text+ field is 64 characters.
-     *
-     * @since S60 3.2
-     * @param aRtPlusClass Radio text plus class
-     * @param aRtPlusData On return contains Radio Text+ field
-     * @return A standard system/RadioServer error code.
-     */
-    IMPORT_C TInt GetRadioTextPlus( TRsRdsRTplusClass aRtPlusClass, TRsRdsRadioText& aRtPlusData );
-
-	/**
-     * Get the current Clock Time and date.
-     * RDS data is received over the air and may not be available immediately following
-     * tune operation. If data is not available, this function will return KErrNotFound.
-     * If a value is returned, this is the last known value, which may not be up to date.
-     * To be notified of the most recent value, client should use NotifyRdsDataChange.
-     *
-     * @since S60 3.2
-     * @param aCt On return contains current time and date
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetClockTime( TDateTime& aCt );
-
-	/**
-     * Get Traffic Announcement status at the current station.
-     *
-     * @since S60 3.2
-     * @param aTaStatus On return, will be ETrue if current station has ongoing traffic announcement
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetTrafficAnnouncementStatus( TBool& aTaStatus );
-
-	/**
-     * Get Traffic Programme status at the current station.
-     *
-     * @since S60 3.2
-     * @param aTpStatus On return, will be ETrue if current station supports traffic programme
-     * @return A standard system/RadioServer error code.
-     */
-	IMPORT_C TInt GetTrafficProgrammeStatus( TBool& aTpStatus );
-
-// from base class MCustomCommand
-
-    /**
-     * From MCustomCommand
-     * Sends a synchronous custom command to the radio server.
-     *
-     * @since S60 3.0
-     * @param aDestination The destination of the message, consisting of the uid of
-     * 		 the interface of this message
-     * @param aFunction The function number to indicate which function is to be called
-     *		 on the interface defined in the aDestination parameter
-     * @param aDataTo1 The first chunk of data to be copied to the controller
-     *		 framework. The exact contents of the data are dependent on the
-     *		 interface being called. Can be KNullDesC8.
-     * @param aDataTo2 The second chunk of data to be copied to the controller
-     *		 framework. The exact contents of the data are dependent on the
-     *		 interface being called. Can be KNullDesC8.
-     * @return A standard system error code.
-     */
-	IMPORT_C  TInt CustomCommandSync( const TMMFMessageDestinationPckg& aDestination,
-					TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2 );
-
-	/**
-     * From MCustomCommand
-     * Sends a synchronous custom command to the radio server.
-     *
-     * @since S60 3.0
-     * @param aDestination The destination of the message, consisting of the uid of
-     *		 the interface of this message
-     * @param aFunction The function number to indicate which function is to be called
-     *		 on the interface defined in the aDestination parameter
-     * @param aDataTo1 The first chunk of data to be copied to the controller
-     *		 framework. The exact contents of the data are dependent on the
-     *		 interface being called. Can be KNullDesC8.
-     * @param aDataTo2 The second chunk of data to be copied to the controller
-     *		 framework. The exact contents of the data are dependent on the
-     *		 interface being called. Can be KNullDesC8.
-     * @param aDataFrom The area of memory to which the controller framework
-     *		 will write any data to be passed back to the client. Can't be KNullDesC8.
-     * @return A standard system error code.
-     */
-	IMPORT_C  TInt CustomCommandSync( const TMMFMessageDestinationPckg& aDestination,
-					TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom );
-
-	/**
-     * From MCustomCommand
-     * Sends an asynchronous custom command to the radio server.
-     *
-     * @since S60 3.0
-     * @param aDestination The destination of the message, consisting of the uid of
-     *		 the interface of this message
-     * @param aFunction The function number to indicate which function is to be called
-     *		 on the interface defined in the aDestination parameter
-     * @param aDataTo1 The first chunk of data to be copied to the controller
-     *		 framework. The exact contents of the data are dependent on the
-     *		 interface being called. Can be KNullDesC8.
-     * @param aDataTo2 The second chunk of data to be copied to the controller
-     *		 framework. The exact contents of the data are dependent on the
-     *		 interface being called. Can be KNullDesC8.
-     * @param aStatus The TRequestStatus of an active object. This will contain the
-     *		 result of the request on completion.  The exact range of result values is
-     *		 dependent on the interface.
-     */
-	IMPORT_C  void CustomCommandAsync( const TMMFMessageDestinationPckg& aDestination,
-					TInt aFunction, const TDesC8& aDataTo1, const TDesC8& aDataTo2, TRequestStatus& aStatus );
-
-	/**
-     * From MCustomCommand
-     * Sends an asynchronous custom command to the radio server.
-     *
-     * @since S60 3.0
-     * @param aDestination The destination of the message, consisting of the uid of
-     *		 the interface of this message
-     * @param aFunction The function number to indicate which function is to be called
-     *		 on the interface defined in the aDestination parameter
-     * @param aDataTo1 The first chunk of data to be copied to the controller
-     *		 framework. The exact contents of the data are dependent on the
-     *		 interface being called. Can be KNullDesC8.
-     * @param aDataTo2 The second chunk of data to be copied to the controller
-     *		 framework. The exact contents of the data are dependent on the
-     *		 interface being called. Can be KNullDesC8.
-     * @param aDataFrom The area of memory to which the controller framework
-     *		 will write any data to be passed back to the client. Can't be KNullDesC8.
-     * @param aStatus The TRequestStatus of an active object. This will contain the
-     *		 result of the request on completion.  The exact range of result values is
-     *		 dependent on the interface.
-     */
-	IMPORT_C  void CustomCommandAsync( const TMMFMessageDestinationPckg& aDestination, TInt aFunction,
-					const TDesC8& aDataTo1, const TDesC8& aDataTo2, TDes8& aDataFrom, TRequestStatus& aStatus );
-
-//********** Internal functions begin
-
-	/**
-     * Used internally to cancel outstanding asynchronous requests. This is triggered by
-     * CRadioRequest.
-     *
-     * @since S60 3.0
-     * @param aRequest The outstanding asynchronous request being cancelled
-     */
-	void CancelRequest( TInt aRequest );
-
-private:
-
-	/**
-     * Creates request handlers for each asynchronous request.
-     */
-	void StartRequestHandlersL( MRadioObserver& aObserver );
-
-	/**
-     * Creates event handlers for tuner and playback events from radio tuner.
-     */
-	void StartEventHandlersL( MRadioObserver& aObserver );
-
-	/**
-     * Creates event handlers for RDS events from radio tuner.
-     */
-	void StartRdsEventHandlersL( TUint32 aRdsFunctions );
-
-private:    // Data
-
-	// Connection status
-	TBool iConnected;
-	// Requests that generates response to MRadioObserver
-	RPointerArray<CRadioRequest> iRequests;
-	// Event handlers that generates response to MRadioEventObserver
-	RPointerArray<CRadioEventHandler> iEventHandlers;
-	//Rds Event handlers
-	RPointerArray<CRadioEventHandler> iRdsEventHandlers;
-
-	// Destination information for standard radio interface messages
-	TMMFMessageDestinationPckg iDestinationPckg;
-
-	// Radio observer
-	MRadioObserver* iObserver;
-	// Client type
-	TBool iPrimaryClient;
-	// RDS notify flag
-	TBool iRdsNotify;
-
-	// RadioStubManager pointer points inside RadioStubManagerChunk
-    SRadioStubManager* iRadioStubManager;
-    
-    // RadioStubManagerChunk handle
-    RChunk iRadioStubManagerChunk;
-    
-    CRadioRequest* iExtraRequestForBugHunting;
-    
-    };
-
-#endif      // RADIOSESSION_H
-
-// End of File
--- a/mmserv/radioutility/tsrc/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:
-*
-*/
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-#include "../presetutility/group/bld.inf"
-#include "../radioserver/Session/stub/group/bld.inf"
-#include "../radio_utility/stub/group/bld.inf"
--- a/mmserv/sts/bwins/systemtoneservice.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	?StopAlarm@CSystemToneService@@QAEXI@Z @ 1 NONAME ; void CSystemToneService::StopAlarm(unsigned int)
-	?Delete@CSystemToneService@@SAXPAV1@@Z @ 2 NONAME ; void CSystemToneService::Delete(class CSystemToneService *)
-	?PlayAlarm@CSystemToneService@@QAEXW4TAlarmType@1@AAIAAVMStsPlayAlarmObserver@@@Z @ 3 NONAME ; void CSystemToneService::PlayAlarm(enum CSystemToneService::TAlarmType, unsigned int &, class MStsPlayAlarmObserver &)
-	?Create@CSystemToneService@@SAPAV1@XZ @ 4 NONAME ; class CSystemToneService * CSystemToneService::Create(void)
-	?PlayTone@CSystemToneService@@QAEXW4TToneType@1@@Z @ 5 NONAME ; void CSystemToneService::PlayTone(enum CSystemToneService::TToneType)
-	?PlayAlarm@CSystemToneService@@QAEXW4TToneType@1@AAIAAVMStsPlayAlarmObserver@@@Z @ 6 NONAME ; void CSystemToneService::PlayAlarm(enum CSystemToneService::TToneType, unsigned int &, class MStsPlayAlarmObserver &)
-
--- a/mmserv/sts/data/create_sts_stub_sis.bat	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-cls
-@echo off
-echo.
-
-rem
-rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-rem Description: PKG for System Tone Service (STS)
-rem
-
-makesis -s sts_stub.pkg sts_stub.sis
--- a/mmserv/sts/data/sts_stub.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-;
-; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "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:
-;
-; Description: System Tone Service Stub SIS (STS)
-;
-;File: sts_stub.pkg
-
-;Languages
-&EN
-
-;Header
-#{"System Tone Service"},(0x10207C90),1,0,0, TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
Binary file mmserv/sts/data/sts_stub.sis has changed
--- a/mmserv/sts/eabi/systemtoneservice.def	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN18CSystemToneService6CreateEv @ 1 NONAME
-	_ZN18CSystemToneService6DeleteEPS_ @ 2 NONAME
-	_ZN18CSystemToneService8PlayToneENS_9TToneTypeE @ 3 NONAME
-	_ZN18CSystemToneService9PlayAlarmENS_10TAlarmTypeERjR21MStsPlayAlarmObserver @ 4 NONAME
-	_ZN18CSystemToneService9StopAlarmEj @ 5 NONAME
-	_ZN18CSystemToneService9PlayAlarmENS_9TToneTypeERjR21MStsPlayAlarmObserver @ 6 NONAME
-
--- a/mmserv/sts/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file provides the information required for building the
- * whole of System Tone Service.
- */
-
-#include "../sts/group/bld.inf"
-#include "../stsproxy/group/bld.inf"
-#include "../stsserver/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../data/sts_stub.sis /epoc32/data/z/system/install/sts_stub.sis
-../rom/mmmwsystemtoneservice.iby       CORE_MW_LAYER_IBY_EXPORT_PATH(mmmwsystemtoneservice.iby)
-
-PRJ_MMPFILES
-systemtoneservice.mmp
--- a/mmserv/sts/group/systemtoneservice.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This is the project specification file for building the
- * systemtoneservice dynamic library.
- */
-
-#include <platform_paths.hrh>
-
-TARGET        systemtoneservice.dll
-TARGETTYPE    dll
-UID           0x1000008d 0x10207C8F
-CAPABILITY    ALL -TCB
-
-EPOCALLOWDLLDATA
-
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE   ../stsproxy/inc
-
-SOURCEPATH    ../src
-
-SOURCE        systemtoneservice.cpp
-
-NOSTRICTDEF
-DEFFILE       systemtoneservice.def
-
-STATICLIBRARY stsproxy.lib
-
-LIBRARY       euser.lib
--- a/mmserv/sts/rom/mmmwsystemtoneservice.iby	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description: STS IBY file
-*
-*/
-
-#ifndef MMMWSYSTEMTONESERVICE_IBY
-#define MMMWSYSTEMTONESERVICE_IBY
-
-#include <bldvariant.hrh>
-
-file=ABI_DIR/BUILD_DIR/systemtoneservice.dll         SHARED_LIB_DIR/systemtoneservice.dll
-file=ABI_DIR/BUILD_DIR/stsserver.exe                 SHARED_LIB_DIR/stsserver.exe
-
-//STS_Stub
-data=ZSYSTEM/install/sts_stub.sis                    System/Install/sts_stub.sis
-
-#endif //MMMWSYSTEMTONESERVICE_IBY
-
-//End of File
--- a/mmserv/sts/sis/create_all_sis.bat	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-cls
-@echo off
-echo.
-
-rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of the "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-echo Description:  System Tone Service package creation utility
-rem
-
-call create_sis.bat
-echo.
-call create_udeb_sis.bat
--- a/mmserv/sts/sis/create_sis.bat	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-@echo off
-echo.
-
-rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of the "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-echo Description:  System Tone Service package creation utility - UREL
-rem
-
-del systemtoneservice.sis*
-makesis systemtoneservice.pkg systemtoneservice.sis
-signsis systemtoneservice.sis systemtoneservice.sisx rd.crt rd.key
--- a/mmserv/sts/sis/create_udeb_sis.bat	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-@echo off
-echo.
-
-rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of the "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-echo Description:  System Tone Service package creation utility - UDEB
-rem
-
-del systemtoneservice_udeb.sis*
-makesis systemtoneservice_udeb.pkg systemtoneservice_udeb.sis
-signsis systemtoneservice_udeb.sis systemtoneservice_udeb.sisx rd.crt rd.key
--- a/mmserv/sts/sis/systemtoneservice.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-;
-; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "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:
-;
-; Description: System Tone Service - UREL build
-;
-;File: systemtoneservice.pkg
-
-;Languages
-&EN
-
-;Header
-#{"System Tone Service"},(0x10207C90),1,0,0, TYPE=SA, RU
-
-;Series 60 v5.0
-[0x1028315F], 0,0,0, {"Series60ProductID"}
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Files To Copy...<src> <destination>
-"/epoc32/release/armv5/urel/systemtoneservice.dll" -"!:/sys/bin/systemtoneservice.dll"
-"/epoc32/release/armv5/urel/stsserver.exe"         -"!:/sys/bin/stsserver.exe"
--- a/mmserv/sts/sis/systemtoneservice_udeb.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-;
-; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "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:
-;
-; Description: System Tone Service - UDEB build
-;
-;File: systemtoneservice.pkg
-
-;Languages
-&EN
-
-;Header
-#{"System Tone Service"},(0x10207C90),1,0,0, TYPE=SA, RU
-
-;Series 60 v5.0
-[0x1028315F], 0,0,0, {"Series60ProductID"}
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Files To Copy...<src> <destination>
-"/epoc32/release/armv5/udeb/systemtoneservice.dll" -"!:/sys/bin/systemtoneservice.dll"
-"/epoc32/release/armv5/udeb/stsserver.exe"         -"!:/sys/bin/stsserver.exe"
--- a/mmserv/sts/src/systemtoneservice.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file is the direct implementation of the System Tone Service
- * API.  This acts as a facade to the actual implementation logic
- * which is in the CStsImplementation class.
- */
-
-//  Include Files  
-#include <systemtoneservice.h>	// CSystemToneService
-#include "stsimplementation.h"
-
-//  Member Functions
-EXPORT_C /*static*/CSystemToneService* CSystemToneService::Create()
-    {
-    CSystemToneService* self = 0;
-    CStsImplementation* implementation = CStsImplementation::Create();
-    if (implementation != 0)
-        {
-        self = new CSystemToneService(*implementation);
-        if (self == 0)
-            {
-            delete implementation;
-            }
-        }
-    return self;
-    }
-
-EXPORT_C /*static*/void CSystemToneService::Delete(
-        CSystemToneService* aSystemToneService)
-    {
-    delete &(aSystemToneService->iImplementation);
-    delete aSystemToneService;
-    }
-
-CSystemToneService::CSystemToneService(CStsImplementation& aImplementation) :
-    iImplementation(aImplementation)
-    {
-    }
-
-CSystemToneService::~CSystemToneService()
-    {
-    }
-
-EXPORT_C void CSystemToneService::PlayTone(TToneType aTone)
-    {
-    iImplementation.PlayTone(aTone);
-    }
-
-EXPORT_C void CSystemToneService::PlayAlarm(TAlarmType aAlarm,
-        unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver)
-    {
-    iImplementation.PlayAlarm(aAlarm, aAlarmContext, aObserver);
-    }
-
-EXPORT_C void CSystemToneService::PlayAlarm(TToneType aTone,
-        unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver)
-    {
-    iImplementation.PlayAlarm(aTone, aAlarmContext, aObserver);
-    }
-
-EXPORT_C void CSystemToneService::StopAlarm(unsigned int aAlarmContext)
-    {
-    iImplementation.StopAlarm(aAlarmContext);
-    }
--- a/mmserv/sts/sts/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file provides the information required for building the
- * system tone service server side implementation.
- */
-
-PRJ_MMPFILES
-sts.mmp
--- a/mmserv/sts/sts/group/sts.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This is the project specification file for building the
- * sts server side implementation static library.
- */
-
-#include <platform_paths.hrh>
-
-TARGET          sts.lib
-TARGETTYPE      lib
-
-APP_LAYER_SYSTEMINCLUDE
-MW_LAYER_SYSTEMINCLUDE
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-USERINCLUDE     ../src
-USERINCLUDE     ../inc
-
-SOURCEPATH      ../src
-
-SOURCE          sts.cpp
-SOURCE          stsplayer.cpp
-SOURCE          stsplayersettings.cpp
-SOURCE          stssettingsmanager.cpp
--- a/mmserv/sts/sts/inc/sts.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines an interface to an System Tone Service used by the
- * STS Server for playing and stopping tones.  Only one instance of this
- * class is created by the server, and it exists for the lifetime of the
- * server.  This class manages all of the active players, and guarantees
- * that the context values are unique.
- */
-#ifndef STS_H_
-#define STS_H_
-
-#include <systemtoneservice.h>
-#include <map>
-
-#include "stsplayer.h"
-
-class CSts : private MStsPlayerObserver
-    {
-public:
-    static CSts* Create();
-    static void Delete(CSts* aSts);
-    void PlayTone(CSystemToneService::TToneType aTone);
-    void PlayAlarm(CSystemToneService::TAlarmType aAlarm,
-            unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver);
-    void PlayAlarm(CSystemToneService::TToneType aTone,
-            unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver);
-    void StopAlarm(unsigned int aAlarmContext);
-
-protected:
-    CSts();
-    virtual ~CSts();
-    bool Init();
-
-private:
-    void CleanUpPlayers();
-
-    // inherited from MPlayerObserver
-    virtual void PlayComplete(unsigned int aContext);
-
-private:
-    unsigned int iNextContext;
-    CStsSettingsManager* iSettingsManager;
-    class CPlayerNode;
-    typedef std::map<unsigned int, CPlayerNode*> TPlayerMap;
-    TPlayerMap iPlayerMap;
-    };
-
-#endif //STS_H
--- a/mmserv/sts/sts/inc/stsplayer.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines the interface for creating, playing,
- * stopping, and deleting an MMF player for a tone type.
- */
-#ifndef STSPLAYER_H_
-#define STSPLAYER_H_
-
-#include <systemtoneservice.h>
-#include <mdaaudiosampleplayer.h>
-#include "stssettingsmanager.h"
-
-class MStsPlayerObserver
-    {
-public:
-    virtual void PlayComplete(unsigned int aContext) = 0;
-    };
-
-class CStsPlayer : private MMdaAudioPlayerCallback
-    {
-public:
-    static CStsPlayer* Create(MStsPlayerObserver& aObserver,
-            CStsSettingsManager& aSettingsManager, unsigned int aContext,
-            CSystemToneService::TAlarmType aAlarm);
-    static CStsPlayer* Create(MStsPlayerObserver& aObserver,
-            CStsSettingsManager& aSettingsManager, unsigned int aContext,
-            CSystemToneService::TToneType aTone);
-    virtual ~CStsPlayer();
-    void Play();
-    void Stop();
-
-protected:
-    CStsPlayer(MStsPlayerObserver& aObserver,
-            CStsSettingsManager::MPlayerSettings& aPlayerSettings,
-            unsigned int aContext, TUint aAudioPreference,
-            TUint aAudioPriority);
-    bool Init();
-
-private:
-    void MapcInitComplete(TInt aError,
-            const TTimeIntervalMicroSeconds& aDuration);
-    void MapcPlayComplete(TInt aError);
-
-    MStsPlayerObserver& iObserver;
-    CStsSettingsManager::MPlayerSettings& iPlayerSettings;
-    unsigned int iContext;
-    TUint iAudioPreference;
-    TUint iAudioPriority;
-    TInt iVolume;
-    CMdaAudioPlayerUtility* iPlayer;
-    };
-
-#endif // STSPLAYER_H_
--- a/mmserv/sts/sts/inc/stssettingsmanager.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines the interface for creating, playing,
- * stopping, and deleting an MMF player for a tone type.
- */
-#ifndef STSSETTINGSMANAGER_H_
-#define STSSETTINGSMANAGER_H_
-
-#include <e32std.h>
-#include <MProEngActiveProfileObserver.h>
-#include <MProEngProfileActivationObserver.h>
-#include <systemtoneservice.h>
-
-class CStsPlayerSettings;
-class MProEngEngine;
-class MProEngNotifyHandler;
-
-class CStsSettingsManager : private MProEngActiveProfileObserver,
-        MProEngProfileActivationObserver
-    {
-public:
-    static CStsSettingsManager* Create();
-    static void Delete(CStsSettingsManager* aStsSettingsManager);
-
-public:
-    // Data types
-    class MPlayerSettings
-        {
-    public:
-        virtual TPtrC GetFileName() = 0;
-        virtual int GetNumberOfRepeats() = 0;
-        virtual TTimeIntervalMicroSeconds& GetRepeatDelay() = 0;
-        virtual int GetVolumePercentage() = 0;
-        virtual TTimeIntervalMicroSeconds& GetVolumeRamp() = 0;
-        };
-
-    MPlayerSettings& GetPlayerSettings(CSystemToneService::TAlarmType aAlarm);
-    MPlayerSettings& GetPlayerSettings(CSystemToneService::TToneType aTone);
-    void GetAudioPriorityPref(CSystemToneService::TAlarmType aAlarm,
-            TUint& aPriority, TUint& aPreference);
-    void GetAudioPriorityPref(CSystemToneService::TToneType aTone,
-            TUint& aPriority, TUint& aPreference);
-
-protected:
-    CStsSettingsManager();
-    virtual ~CStsSettingsManager();
-    bool Init();
-
-private:
-    bool LoadActiveProfileSettings();
-    // inherited from MProEngActiveProfileObserver
-    virtual void HandleActiveProfileModifiedL();
-    //inherited from MProEngProfileActivationObserver
-    virtual void HandleProfileActivatedL(TInt aProfileId);
-
-    MProEngEngine* iEngine;
-    MProEngNotifyHandler* iNotifyHandler;
-    CStsPlayerSettings* iPlayerSettings;
-    };
-
-#endif //STSSETTINGSMANAGER_H_
--- a/mmserv/sts/sts/src/sts.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file provides the implementation of System Tone Service used
- * by the STS Server.
- */
-//  Include Files  
-#include "sts.h"
-#include "stssettingsmanager.h"
-
-class CSts::CPlayerNode
-    {
-public:
-    CPlayerNode(CStsPlayer* aPlayer);
-    CPlayerNode(CStsPlayer* aPlayer, MStsPlayAlarmObserver& aObserver);
-    ~CPlayerNode();
-    bool HasObserver();
-    CStsPlayer* Player();
-    MStsPlayAlarmObserver& Observer();
-private:
-    CStsPlayer* iPlayer;
-    MStsPlayAlarmObserver* iObserver;
-    };
-
-CSts::CPlayerNode::CPlayerNode(CStsPlayer* aPlayer) :
-    iPlayer(aPlayer), iObserver(0)
-    {
-    }
-
-CSts::CPlayerNode::CPlayerNode(CStsPlayer* aPlayer,
-        MStsPlayAlarmObserver& aObserver) :
-    iPlayer(aPlayer), iObserver(&aObserver)
-    {
-    }
-
-CSts::CPlayerNode::~CPlayerNode()
-    {
-    delete iPlayer;
-    }
-
-bool CSts::CPlayerNode::HasObserver()
-    {
-    return iObserver != 0;
-    }
-
-CStsPlayer* CSts::CPlayerNode::Player()
-    {
-    return iPlayer;
-    }
-
-MStsPlayAlarmObserver& CSts::CPlayerNode::Observer()
-    {
-    return *iObserver;
-    }
-
-/*static*/CSts* CSts::Create()
-    {
-    CSts* self = new CSts();
-
-    if (self != 0)
-        {
-        bool successful = self->Init();
-
-        if (!successful)
-            {
-            delete self;
-            self = 0;
-            }
-        }
-    return self;
-    }
-
-/*static*/void CSts::Delete(CSts* aSts)
-    {
-    delete aSts;
-    }
-
-CSts::CSts() :
-    iNextContext(1), iSettingsManager(0)
-    {
-    }
-
-bool CSts::Init()
-    {
-    bool successful = false;
-    iSettingsManager = CStsSettingsManager::Create();
-    if (iSettingsManager != 0)
-        {
-        successful = true;
-        }
-    return successful;
-    }
-
-CSts::~CSts()
-    {
-    CleanUpPlayers();
-    CStsSettingsManager::Delete(iSettingsManager);
-    }
-
-void CSts::PlayTone(CSystemToneService::TToneType aTone)
-    {
-    CStsPlayer* player = CStsPlayer::Create(*this, *iSettingsManager,
-            iNextContext, aTone);
-    if (player != 0)
-        {
-        iPlayerMap[iNextContext] = new CPlayerNode(player);
-        iNextContext++;
-        if (iNextContext == 0)
-            iNextContext++;
-        player->Play();
-        }
-    else
-        {
-        //TODO: Add trace here
-        }
-    }
-
-void CSts::PlayAlarm(CSystemToneService::TAlarmType aAlarm,
-        unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver)
-    {
-    CStsPlayer* player = CStsPlayer::Create(*this, *iSettingsManager,
-            iNextContext, aAlarm);
-    if (player != 0)
-        {
-        iPlayerMap[iNextContext] = new CPlayerNode(player, aObserver);
-        aAlarmContext = iNextContext;
-        iNextContext++;
-        if (iNextContext == 0)
-            iNextContext++;
-        player->Play();
-        }
-    else
-        {
-        //TODO: Add trace here
-        aAlarmContext = 0;
-        }
-    }
-
-void CSts::PlayAlarm(CSystemToneService::TToneType aTone,
-        unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver)
-    {
-    CStsPlayer* player = CStsPlayer::Create(*this, *iSettingsManager,
-            iNextContext, aTone);
-    if (player != 0)
-        {
-        iPlayerMap[iNextContext] = new CPlayerNode(player, aObserver);
-        aAlarmContext = iNextContext;
-        iNextContext++;
-        if (iNextContext == 0)
-            iNextContext++;
-        player->Play();
-        }
-    else
-        {
-        //TODO: Add trace here
-        aAlarmContext = 0;
-        }
-    }
-
-void CSts::StopAlarm(unsigned int aAlarmContext)
-    {
-    CPlayerNode* node = iPlayerMap[aAlarmContext];
-    iPlayerMap.erase(aAlarmContext);
-    if (node)
-        {
-        node->Player()->Stop();
-        delete node;
-        }
-    else
-        {
-        //TODO: Add trace here
-        }
-    }
-
-void CSts::CleanUpPlayers()
-    {
-    while (!iPlayerMap.empty())
-        {
-        //TODO: Add trace here
-        StopAlarm(iPlayerMap.begin()->first);
-        }
-    }
-
-void CSts::PlayComplete(unsigned int aContext)
-    {
-    CPlayerNode* node = iPlayerMap[aContext];
-    iPlayerMap.erase(aContext);
-    if (node)
-        {
-        CStsPlayer* player = node->Player();
-        if (node->HasObserver())
-            {
-            node->Observer().PlayAlarmComplete(aContext);
-            }
-        delete node;
-        }
-    else
-        {
-        // TODO: log unexpected error
-        }
-    }
--- a/mmserv/sts/sts/src/stsplayer.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file provides the implementation for creating and deleting a
- * an MMF based player for playing and stopping a tone playback.
- */
-
-//  Include Files  
-#include "stsplayer.h"
-#include <AudioPreference.h>
-#include <systemtoneservice.h>
-#include "stsplayersettings.h"
-#include "stssettingsmanager.h"
-
-/*static*/CStsPlayer* CStsPlayer::Create(MStsPlayerObserver& aObserver,
-        CStsSettingsManager& aSettingsManager, unsigned int aContext,
-        CSystemToneService::TAlarmType aAlarm)
-    {
-    CStsPlayer* self = 0;
-    CStsSettingsManager::MPlayerSettings& playerSettings =
-            aSettingsManager.GetPlayerSettings(aAlarm);
-    TUint audioPreference;
-    TUint audioPriority;
-    aSettingsManager.GetAudioPriorityPref(aAlarm, audioPriority,
-            audioPreference);
-    self = new CStsPlayer(aObserver, playerSettings, aContext,
-            audioPreference, audioPriority);
-    if (self != 0)
-        {
-        bool successful = self->Init();
-        if (!successful)
-            {
-            delete self;
-            self = 0;
-            }
-        }
-    return self;
-    }
-
-/*static*/CStsPlayer* CStsPlayer::Create(MStsPlayerObserver& aObserver,
-        CStsSettingsManager& aSettingsManager, unsigned int aContext,
-        CSystemToneService::TToneType aTone)
-    {
-    CStsPlayer* self = 0;
-    CStsSettingsManager::MPlayerSettings& playerSettings =
-            aSettingsManager.GetPlayerSettings(aTone);
-    TUint audioPreference;
-    TUint audioPriority;
-    aSettingsManager.GetAudioPriorityPref(aTone, audioPriority,
-            audioPreference);
-    self = new CStsPlayer(aObserver, playerSettings, aContext,
-            audioPreference, audioPriority);
-    if (self != 0)
-        {
-        bool successful = self->Init();
-        if (!successful)
-            {
-            delete self;
-            self = 0;
-            }
-        }
-    return self;
-    }
-
-CStsPlayer::CStsPlayer(MStsPlayerObserver& aObserver,
-        CStsSettingsManager::MPlayerSettings& aPlayerSettings,
-        unsigned int aContext, TUint aAudioPreference, TUint aAudioPriority) :
-    iObserver(aObserver), iPlayerSettings(aPlayerSettings),
-            iContext(aContext), iAudioPreference(aAudioPreference),
-            iAudioPriority(aAudioPriority), iPlayer(0)
-    {
-    }
-
-bool CStsPlayer::Init()
-    {
-    TRAPD(result, iPlayer = CMdaAudioPlayerUtility::NewL(*this));
-    return result == KErrNone;
-    }
-
-CStsPlayer::~CStsPlayer()
-    {
-    delete iPlayer;
-    }
-
-void CStsPlayer::Play()
-    {
-    // Play the tone
-    TRAPD( err, iPlayer->OpenFileL(iPlayerSettings.GetFileName()) );
-    // If there is an error, indicate that the playback is complete. 
-    if (err)
-        {
-        //TODO: Add trace here
-        iObserver.PlayComplete(iContext);
-        }
-    }
-
-void CStsPlayer::Stop()
-    {
-    iPlayer->Stop();
-    }
-
-void CStsPlayer::MapcInitComplete(TInt aError,
-        const TTimeIntervalMicroSeconds& /*aDuration*/)
-    {
-    if (aError == KErrNone)
-        {
-        TInt64 volumex100 = iPlayer->MaxVolume()
-                * iPlayerSettings.GetVolumePercentage();
-        TInt volume = volumex100 / 100;
-        // Set PriorityPref
-        iPlayer->SetPriority(iAudioPriority, iAudioPreference);
-        iPlayer->SetRepeats(iPlayerSettings.GetNumberOfRepeats(),
-                iPlayerSettings.GetRepeatDelay());
-        iPlayer->SetVolume(volume);
-        iPlayer->SetVolumeRamp(iPlayerSettings.GetVolumeRamp());
-        iPlayer->Play();
-        }
-    else
-        {
-        //TODO: add trace
-        // Since there is an error, indicate that the playback is complete
-        RDebug::Print(_L("InitCompleteReturned"), aError);
-        iObserver.PlayComplete(iContext);
-        }
-    }
-
-void CStsPlayer::MapcPlayComplete(TInt aError)
-    {
-    if (aError != KErrNone)
-        {
-        //TODO: add trace
-        }
-    iObserver.PlayComplete(iContext);
-    }
--- a/mmserv/sts/sts/src/stsplayersettings.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file provides the implementation for creating and deleting a
- * an MMF based player for playing and stopping a tone playback.
- */
-
-//  Include Files  
-#include "stsplayersettings.h"
-_LIT(KDefaultFile,"z:\\data\\sounds\\digital\\clock.aac");
-
-CStsPlayerSettings::CStsPlayerSettings() :
-    iFileName(0), iNumberOfRepeats(0), iRepeatDelay(0),
-            iVolumePercentage(50), iVolumeRamp(0)
-    {
-    TBufC<40> defaultFile(KDefaultFile); 
-    iFileName = defaultFile.AllocL();
-    }
-
-CStsPlayerSettings::~CStsPlayerSettings()
-    {
-    delete iFileName;
-    }
-
-TPtrC CStsPlayerSettings::GetFileName()
-    {
-    return iFileName->Des();
-    }
-
-int CStsPlayerSettings::GetNumberOfRepeats()
-    {
-    return iNumberOfRepeats;
-    }
-
-TTimeIntervalMicroSeconds& CStsPlayerSettings::GetRepeatDelay()
-    {
-    return iRepeatDelay;
-    }
-
-int CStsPlayerSettings::GetVolumePercentage()
-    {
-    return iVolumePercentage;
-    }
-
-TTimeIntervalMicroSeconds& CStsPlayerSettings::GetVolumeRamp()
-    {
-    return iVolumeRamp;
-    }
-
-void CStsPlayerSettings::SetFileName(const TDesC& aFileName)
-    {
-    delete iFileName;
-    iFileName = aFileName.AllocL();
-    }
-
-void CStsPlayerSettings::SetNumberOfRepeats(int aNumberOfRepeats)
-    {
-    iNumberOfRepeats = aNumberOfRepeats;
-    }
-
-void CStsPlayerSettings::SetRepeatDelay(
-        TTimeIntervalMicroSeconds aRepeatDelay)
-    {
-    iRepeatDelay = aRepeatDelay;
-    }
-
-void CStsPlayerSettings::SetVolumePercentage(int aVolumePercentage)
-    {
-    iVolumePercentage = aVolumePercentage;
-    }
-
-void CStsPlayerSettings::SetVolumeRamp(TTimeIntervalMicroSeconds aVolumeRamp)
-    {
-    iVolumeRamp = aVolumeRamp;
-    }
--- a/mmserv/sts/sts/src/stsplayersettings.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines the interface for creating, playing,
- * stopping, and deleting an MMF player for a tone type.
- */
-#ifndef STSPLAYERSETTINGS_H_
-#define STSPLAYERSETTINGS_H_
-
-#include <e32std.h>
-#include "stssettingsmanager.h"
-
-class CStsPlayerSettings : public CStsSettingsManager::MPlayerSettings
-    {
-public:
-    CStsPlayerSettings();
-    virtual ~CStsPlayerSettings();
-
-    void SetFileName(const TDesC& aFileName);
-    void SetNumberOfRepeats(int aNumberOfRepeats);
-    void SetRepeatDelay(TTimeIntervalMicroSeconds aRepeatDelay);
-    void SetVolumePercentage(int aVolumePercentage);
-    void SetVolumeRamp(TTimeIntervalMicroSeconds aVolumeRamp);
-
-    // inherited from CStsSettingsManager::MPlayerSettings
-    virtual TPtrC GetFileName();
-    virtual int GetNumberOfRepeats();
-    virtual TTimeIntervalMicroSeconds& GetRepeatDelay();
-    virtual int GetVolumePercentage();
-    virtual TTimeIntervalMicroSeconds& GetVolumeRamp();
-
-private:
-    HBufC* iFileName;
-    int iNumberOfRepeats;
-    TTimeIntervalMicroSeconds iRepeatDelay;
-    int iVolumePercentage;
-    TTimeIntervalMicroSeconds iVolumeRamp;
-    };
-
-#endif //STSPLAYERSETTINGS_H_
--- a/mmserv/sts/sts/src/stssettingsmanager.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file provides the implementation of System Tone Service used
- * by the STS Server.
- */
-//  Include Files  
-#include "stssettingsmanager.h"
-#include <AudioPreference.h>
-#include <MProEngEngine.h>
-#include <MProEngNotifyHandler.h>
-#include <MProEngProfile.h>
-#include <MProEngTones.h>
-#include <MProEngToneSettings.h>
-#include <ProEngFactory.h>
-#include "stsplayersettings.h"
-_LIT(KDefaultFile,"z:\\data\\sounds\\digital\\clock.aac");
-
-// Data types
-/** The type of system tones that are supported by this API. */
-enum TSettingsType
-    {
-    EDefaultAlarm = 0,
-    EDefaultAlert,
-    EEmailAlert,
-    EIncomingCall,
-    EIncomingCall2,
-    EIncomingDataCall,
-    EMessageAlert,
-    EWarningBeep,
-    EENDMARKER
-    };
-
-/*static*/CStsSettingsManager* CStsSettingsManager::Create()
-    {
-    CStsSettingsManager* self = new CStsSettingsManager();
-
-    if (self != 0)
-        {
-        bool successful = self->Init();
-
-        if (!successful)
-            {
-            delete self;
-            self = 0;
-            }
-        }
-    return self;
-    }
-
-/*static*/void CStsSettingsManager::Delete(
-        CStsSettingsManager* aStsSettingsManager)
-    {
-    delete aStsSettingsManager;
-    }
-
-CStsSettingsManager::CStsSettingsManager() :
-    iEngine(0), iNotifyHandler(0), iPlayerSettings(0)
-    {
-    }
-
-bool CStsSettingsManager::Init()
-    {
-    bool successful = false;
-    TRAPD( err, iEngine = ProEngFactory::NewEngineL() );
-    if (err == KErrNone)
-        {
-        TRAP( err, iNotifyHandler = ProEngFactory::NewNotifyHandlerL() );
-        }
-    if (err == KErrNone)
-        {
-        TRAP( err, iNotifyHandler->RequestProfileActivationNotificationsL(*this) );
-        }
-    if (err == KErrNone)
-        {
-        TRAP( err, iNotifyHandler->RequestActiveProfileNotificationsL(*this) );
-        }
-    if (err == KErrNone)
-        {
-        iPlayerSettings = new CStsPlayerSettings[EENDMARKER];
-        if (iPlayerSettings != 0)
-            {
-            successful = LoadActiveProfileSettings();
-            }
-        }
-    return successful;
-    }
-
-CStsSettingsManager::~CStsSettingsManager()
-    {
-    if (iEngine != 0)
-        {
-        iEngine->Release();
-        }
-    if (iNotifyHandler != 0)
-        {
-        iNotifyHandler->CancelAll();
-        delete iNotifyHandler;
-        }
-    delete[] iPlayerSettings;
-    }
-
-CStsSettingsManager::MPlayerSettings& CStsSettingsManager::GetPlayerSettings(
-        CSystemToneService::TAlarmType aAlarm)
-    {
-    MPlayerSettings* result;
-    switch (aAlarm)
-        {
-        case CSystemToneService::EIncomingCall:
-            {
-            result = &iPlayerSettings[EIncomingCall];
-            break;
-            }
-        case CSystemToneService::EIncomingCallLine2:
-            {
-            result = &iPlayerSettings[EIncomingCall2];
-            break;
-            }
-        case CSystemToneService::EIncomingDataCall:
-            {
-            result = &iPlayerSettings[EIncomingDataCall];
-            break;
-            }
-        default:
-            {
-            result = &iPlayerSettings[EDefaultAlarm];
-            break;
-            }
-        }
-    return *result;
-    }
-
-CStsSettingsManager::MPlayerSettings& CStsSettingsManager::GetPlayerSettings(
-        CSystemToneService::TToneType aTone)
-    {
-    MPlayerSettings* result;
-    switch (aTone)
-        {
-        case CSystemToneService::EEmailAlert:
-            {
-            result = &iPlayerSettings[EEmailAlert];
-            break;
-            }
-        case CSystemToneService::ESmsAlert:
-        case CSystemToneService::EMmsAlert:
-        case CSystemToneService::EChatAlert:
-            {
-            result = &iPlayerSettings[EMessageAlert];
-            break;
-            }
-        case CSystemToneService::EWarningBeep:
-            {
-            result = &iPlayerSettings[EWarningBeep];
-            break;
-            }
-        default:
-            {
-            result = &iPlayerSettings[EDefaultAlert];
-            break;
-            }
-        }
-    return *result;
-    }
-
-void CStsSettingsManager::GetAudioPriorityPref(
-        CSystemToneService::TAlarmType aAlarm, TUint& aPriority,
-        TUint& aPreference)
-    {
-    switch (aAlarm)
-        {
-        case CSystemToneService::EIncomingCall:
-        case CSystemToneService::EIncomingCallLine2:
-            {
-            aPriority = KAudioPriorityRingingTone;
-            aPreference = KAudioPrefIncomingCall;
-            break;
-            }
-        case CSystemToneService::EIncomingDataCall:
-            {
-            aPriority = KAudioPriorityRealOnePlayer;
-            aPreference = KAudioPrefIncomingDataCall;
-            break;
-            }
-        default:
-            {
-            aPriority = KAudioPriorityAlarm;
-            aPreference = KAudioPrefAlarmClock;
-            break;
-            }
-        }
-    }
-
-void CStsSettingsManager::GetAudioPriorityPref(
-        CSystemToneService::TToneType aTone, TUint& aPriority,
-        TUint& aPreference)
-    {
-    switch (aTone)
-        {
-        case CSystemToneService::EEmailAlert:
-        case CSystemToneService::ESmsAlert:
-        case CSystemToneService::EMmsAlert:
-        case CSystemToneService::EChatAlert:
-            {
-            aPriority = KAudioPriorityRecvMsg;
-            aPreference = KAudioPrefNewSMS;
-            break;
-            }
-        case CSystemToneService::EWarningBeep:
-            {
-            aPriority = KAudioPriorityWarningTone;
-            aPreference = KAudioPrefWarning;
-            break;
-            }
-        default:
-            {
-            aPriority = KAudioPriorityWarningTone;
-            aPreference = KAudioPrefDefaultTone;
-            break;
-            }
-        }
-    }
-
-bool CStsSettingsManager::LoadActiveProfileSettings()
-    {
-    bool successful = false;
-    MProEngProfile* profile = 0;
-    TRAPD( err, profile = iEngine->ActiveProfileL() );
-
-    if (err == KErrNone)
-        {
-        MProEngTones& tones = profile->ProfileTones();
-        MProEngToneSettings& settings = profile->ToneSettings();
-        int volume = 50;
-        if (profile->IsSilent())
-            {
-            volume = 0;
-            }
-        int warningVolume = 0;
-        if (settings.WarningAndGameTones())
-            {
-            warningVolume = 50;
-            }
-
-        iPlayerSettings[EDefaultAlarm].SetFileName(KDefaultFile);
-        iPlayerSettings[EDefaultAlert].SetFileName(KDefaultFile);
-        iPlayerSettings[EEmailAlert].SetFileName(tones.EmailAlertTone());
-        iPlayerSettings[EIncomingCall].SetFileName(tones.RingingTone1());
-        iPlayerSettings[EIncomingCall2].SetFileName(tones.RingingTone2());
-        iPlayerSettings[EIncomingDataCall].SetFileName(
-                tones.VideoCallRingingTone());
-        iPlayerSettings[EMessageAlert].SetFileName(tones.MessageAlertTone());
-        iPlayerSettings[EWarningBeep].SetFileName(KDefaultFile);
-
-        iPlayerSettings[EDefaultAlarm].SetNumberOfRepeats(5);
-        iPlayerSettings[EDefaultAlert].SetNumberOfRepeats(0);
-        iPlayerSettings[EEmailAlert].SetNumberOfRepeats(0);
-        iPlayerSettings[EIncomingCall].SetNumberOfRepeats(100);
-        iPlayerSettings[EIncomingCall2].SetNumberOfRepeats(100);
-        iPlayerSettings[EIncomingDataCall].SetNumberOfRepeats(100);
-        iPlayerSettings[EMessageAlert].SetNumberOfRepeats(0);
-        iPlayerSettings[EWarningBeep].SetNumberOfRepeats(0);
-
-        iPlayerSettings[EDefaultAlarm].SetRepeatDelay(1000);
-        iPlayerSettings[EDefaultAlert].SetRepeatDelay(0);
-        iPlayerSettings[EEmailAlert].SetRepeatDelay(0);
-        iPlayerSettings[EIncomingCall].SetRepeatDelay(1000);
-        iPlayerSettings[EIncomingCall2].SetRepeatDelay(1000);
-        iPlayerSettings[EIncomingDataCall].SetRepeatDelay(1000);
-        iPlayerSettings[EMessageAlert].SetRepeatDelay(0);
-        iPlayerSettings[EWarningBeep].SetRepeatDelay(0);
-
-        iPlayerSettings[EDefaultAlarm].SetVolumePercentage(volume);
-        iPlayerSettings[EDefaultAlert].SetVolumePercentage(volume);
-        iPlayerSettings[EEmailAlert].SetVolumePercentage(volume);
-        iPlayerSettings[EIncomingCall].SetVolumePercentage(volume);
-        iPlayerSettings[EIncomingCall2].SetVolumePercentage(volume);
-        iPlayerSettings[EIncomingDataCall].SetVolumePercentage(volume);
-        iPlayerSettings[EMessageAlert].SetVolumePercentage(volume);
-        iPlayerSettings[EWarningBeep].SetVolumePercentage(warningVolume);
-
-        iPlayerSettings[EDefaultAlarm].SetVolumeRamp(1000000);
-        iPlayerSettings[EDefaultAlert].SetVolumeRamp(1000);
-        iPlayerSettings[EEmailAlert].SetVolumeRamp(1000);
-        iPlayerSettings[EIncomingCall].SetVolumeRamp(1000000);
-        iPlayerSettings[EIncomingCall2].SetVolumeRamp(1000000);
-        iPlayerSettings[EIncomingDataCall].SetVolumeRamp(1000000);
-        iPlayerSettings[EMessageAlert].SetVolumeRamp(1000);
-        iPlayerSettings[EWarningBeep].SetVolumeRamp(1000);
-
-        profile->Release();
-        successful = true;
-        }
-    return successful;
-    }
-
-void CStsSettingsManager::HandleActiveProfileModifiedL()
-    {
-    bool successful = LoadActiveProfileSettings();
-    if (!successful)
-        {
-        //TODO: Log error
-        }
-    }
-
-void CStsSettingsManager::HandleProfileActivatedL(TInt /*aProfileId*/)
-    {
-    bool successful = LoadActiveProfileSettings();
-    if (!successful)
-        {
-        //TODO: Log error
-        }
-    }
--- a/mmserv/sts/stsproxy/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file provides the information required for building the
- * system tone service client side proxy.
- */
-
-PRJ_MMPFILES
-stsproxy.mmp
--- a/mmserv/sts/stsproxy/group/stsproxy.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This is the project specification file for building the
- * sts client side proxy static library.
- */
-
-#include <platform_paths.hrh>
-
-TARGET          stsproxy.lib
-TARGETTYPE      lib
-
-MW_LAYER_SYSTEMINCLUDE
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../stsserver/inc
-
-SOURCEPATH      ../src
-
-SOURCE          rstssession.cpp
-SOURCE          stsimplementation.cpp
--- a/mmserv/sts/stsproxy/inc/stsimplementation.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines the interface to the class that provides the
- * implementation logic of the STS API.
- */
-#ifndef STSIMPLEMENTATION_H_
-#define STSIMPLEMENTATION_H_
-
-#include <systemtoneservice.h>
-
-class RStsSession;
-
-NONSHARABLE_CLASS(CStsImplementation) : public CBase
-    {
-public:
-    static CStsImplementation* Create();
-    virtual ~CStsImplementation();
-public:
-    void PlayTone(CSystemToneService::TToneType aTone);
-    void PlayAlarm(CSystemToneService::TAlarmType aAlarm,
-            unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver);
-    void PlayAlarm(CSystemToneService::TToneType aTone,
-            unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver);
-    void StopAlarm(unsigned int aAlarmContext);
-private:
-    CStsImplementation();
-    bool Init();
-
-    RStsSession* iSession;
-    };
-
-#endif /* STSIMPLEMENTATION_H_ */
--- a/mmserv/sts/stsproxy/src/rstssession.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,359 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * The file provides the implementation of the client side session
- * to the STS Server.
- */
-
-//  Include Files  
-#include "rstssession.h"
-#include "stsclientservercommon.h"
-
-const TUint KNumSlots = 30;
-
-/*static*/TInt RStsSession::CallBackThreadMain(TAny* aSession)
-    {
-    TInt err = KErrNoMemory;
-
-    RThread myThread;
-    myThread.SetPriority(EPriorityAbsoluteHigh);
-    myThread.Close();
-
-    CTrapCleanup* cleanup = CTrapCleanup::New();
-
-    if (cleanup)
-        {
-        // Run the server and request a thread rendezvous.
-        TRAP( err, ((RStsSession*)aSession)->RunThreadL() );
-        delete cleanup;
-        }
-
-    return err;
-    }
-
-void RStsSession::RunThreadL()
-    {
-    iState = ERunning;
-    // Initialisation complete, now signal the client, if requested.
-    RThread::Rendezvous(KErrNone);
-    TRequestStatus queueStatus = KRequestPending;
-    iMsgQueue.NotifyDataAvailable(queueStatus);
-
-    RThread server;
-    TInt err = server.Open(iServerThreadId);
-    TRequestStatus serverStatus = KRequestPending;
-    server.Logon(serverStatus);
-
-    while (iState == ERunning)
-        {
-        TStsCallBack message;
-        // Using ReceiveBlocking here would block forever if the executive thread
-        // dies, so instead wait for either a data available notification or a
-        // notification that the executive thread has died.
-        User::WaitForRequest(queueStatus, serverStatus);
-
-        if (queueStatus != KRequestPending)
-            {
-            TInt err = iMsgQueue.Receive(message);
-            if (err == KErrNone)
-                {
-                HandleMessage(message);
-                }
-            else
-                {
-                //TODO:Log a message
-                }
-            queueStatus = KRequestPending;
-            iMsgQueue.NotifyDataAvailable(queueStatus);
-            }
-        if (serverStatus != KRequestPending && iState == ERunning)
-            {
-            //TODO: Log a message
-            //Restart the server
-            SignalObservers();
-            server.Close();
-            CreateServerSession();
-            TInt err = server.Open(iServerThreadId);
-            TRequestStatus serverStatus = KRequestPending;
-            server.Logon(serverStatus);
-            }
-        }
-
-    iMsgQueue.CancelDataAvailable();
-    server.LogonCancel(serverStatus);
-    server.Close();
-    }
-
-void RStsSession::HandleMessage(TStsCallBack& aMessage)
-    {
-    bool signalObserver = false;
-    TStsCallBackType type = aMessage.callBackType;
-    if (type == EStsPlayAlarmComplete)
-        {
-        MStsPlayAlarmObserver* observer = aMessage.observer;
-        unsigned int context = aMessage.alarmContext;
-        iObserverMutex.Wait();
-        if (observer == iObserverMap[context])
-            {
-            signalObserver = true;
-            }
-        else
-            {
-            //TODO: Log a message
-            }
-        iObserverMap.erase(context);
-        iObserverMutex.Signal();
-        if (signalObserver)
-            {
-            observer->PlayAlarmComplete(aMessage.alarmContext);
-            }
-        }
-    else if (type == EStsShutdown)
-        {
-        iState = EStopping;
-        }
-    else
-        {
-        //TODO: Log error message
-        }
-    }
-
-TInt RStsSession::StartServer()
-    {
-    TInt err = KErrNone;
-
-    // Launch the server executable (i.e. in it its own process).
-
-    // Create a new server process. Simultaneous launching of two such processes 
-    // should be detected when the second one attempts to create the server 
-    // object, failing with KErrAlreadyExists.
-    RProcess server;
-    err = server.Create(KStsServerFile, KNullDesC);
-
-    if (err == KErrNone)
-        {
-        TRequestStatus rendezvousStatus;
-        server.Rendezvous(rendezvousStatus);
-        server.Resume();
-
-        // wait for start or death
-        User::WaitForRequest(rendezvousStatus);
-
-        // we can't use the 'exit reason' if the server panicked as this
-        // is the panic 'reason' and may be '0' which cannot be distinguished
-        // from KErrNone  
-        if (server.ExitType() == EExitPanic)
-            {
-            err = KErrGeneral;
-            }
-        else
-            {
-            err = rendezvousStatus.Int();
-            }
-        }
-    server.Close();
-
-    return err;
-    }
-
-TInt RStsSession::StartThread()
-    {
-    TInt result = iThread.Create(KNullDesC, RStsSession::CallBackThreadMain,
-            KDefaultStackSize, &User::Heap(), (TAny*) this);
-    if (result == KErrNone)
-        {
-        TRequestStatus rendezvousStatus = KRequestPending;
-
-        //  Register for rendezvous notification when thread is started.
-        iThread.Rendezvous(rendezvousStatus);
-
-        // Start the thread execution
-        iThread.Resume();
-
-        // Wait for thread to start.
-        User::WaitForRequest(rendezvousStatus);
-
-        result = rendezvousStatus.Int();
-
-        if (result != KErrNone)
-            {
-            iThread.Kill(result);
-            }
-        }
-    return result;
-    }
-
-TInt RStsSession::CreateServerSession()
-    {
-    // Try to create a session with the server
-    TInt result = CreateSession(KStsServerName, TVersion(
-            KStsServerMajorVersion, KStsServerMinorVersion, KStsServerBuild),
-            KNumSlots, EIpcSession_Sharable);
-
-    // If the server wasn't found, start the server and try creating a session again
-    if (result == KErrNotFound || result == KErrServerTerminated)
-        {
-        result = StartServer();
-        if (result == KErrNone || result == KErrAlreadyExists)
-            {
-            result = CreateSession(KStsServerName, TVersion(
-                    KStsServerMajorVersion, KStsServerMinorVersion,
-                    KStsServerBuild), KNumSlots, EIpcSession_Sharable);
-            }
-        }
-    if (result == KErrNone)
-        {
-        TPckg<TThreadId> idPckg(iServerThreadId);
-        result = SendReceive(StsMsg_RegisterMsgQueue, TIpcArgs(iMsgQueue,
-                &idPckg));
-        }
-    return result;
-    }
-
-TInt RStsSession::Connect()
-    {
-    iState = EInitializing;
-
-    // Create a nameless global message queue, then pass the handle to the queue to the server.
-    TInt result = iMsgQueue.CreateGlobal(KNullDesC, 30);
-
-    // Create thread for receiving asynch callbacks from the server
-    if (result == KErrNone)
-        {
-        result = CreateServerSession();
-        if (result == KErrNone)
-            {
-            result = StartThread();
-            if (result == KErrNone)
-                {
-                result = iObserverMutex.CreateLocal();
-                }
-            }
-        }
-    return result;
-    }
-
-void RStsSession::Close()
-    {
-    TRequestStatus logonStatus = KRequestPending;
-    iThread.Logon(logonStatus);
-    RSessionBase::Close();
-    User::WaitForRequest(logonStatus);
-    iThread.Close();
-    iMsgQueue.Close();
-    CleanUpObservers();
-    iObserverMutex.Close();
-    }
-
-void RStsSession::SendPlayTone(CSystemToneService::TToneType aTone)
-    {
-    TInt err = SendReceive(StsMsg_PlayTone, TIpcArgs(aTone));
-    if (err != KErrNone)
-        {
-        //TODO: Log a message
-        }
-    }
-
-void RStsSession::SendPlayAlarm(CSystemToneService::TAlarmType aAlarm,
-        unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver)
-    {
-    bool signalObserver = false;
-    TPckg<unsigned int> alarmContextPckg(aAlarmContext);
-    // Need to do the SendReceive and adding the observer to the
-    // observer map in a critical section in case the playback
-    // completes before this method has a chance to update the
-    // observer list.
-    iObserverMutex.Wait();
-    TInt err = SendReceive(StsMsg_PlayAlarm, TIpcArgs(aAlarm,
-            &alarmContextPckg, &aObserver));
-    if (err != KErrNone)
-        {
-        //TODO: Log a message
-        signalObserver = true;
-        }
-    else
-        {
-        iObserverMap[aAlarmContext] = &aObserver;
-        }
-    iObserverMutex.Signal();
-    if (signalObserver)
-        {
-        aObserver.PlayAlarmComplete(aAlarmContext);
-        }
-    }
-
-void RStsSession::SendPlayToneAlarm(CSystemToneService::TToneType aTone,
-        unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver)
-    {
-    bool signalObserver = false;
-    TPckg<unsigned int> alarmContextPckg(aAlarmContext);
-    // Need to do the SendReceive and adding the observer to the
-    // observer map in a critical section in case the playback
-    // completes before this method has a chance to update the
-    // observer list.
-    iObserverMutex.Wait();
-    TInt err = SendReceive(StsMsg_PlayToneAlarm, TIpcArgs(aTone,
-            &alarmContextPckg, &aObserver));
-    if (err != KErrNone)
-        {
-        //TODO: Log a message
-        signalObserver = true;
-        }
-    else
-        {
-        iObserverMap[aAlarmContext] = &aObserver;
-        }
-    iObserverMutex.Signal();
-    if (signalObserver)
-        {
-        aObserver.PlayAlarmComplete(aAlarmContext);
-        }
-    }
-
-void RStsSession::SendStopAlarm(unsigned int aAlarmContext)
-    {
-    iObserverMutex.Wait();
-    iObserverMap.erase(aAlarmContext);
-    iObserverMutex.Signal();
-    TInt err = SendReceive(StsMsg_StopAlarm, TIpcArgs(aAlarmContext));
-    if (err != KErrNone)
-        {
-        //TODO: Log a message
-        }
-    }
-
-void RStsSession::CleanUpObservers()
-    {
-    iObserverMutex.Wait();
-    while (!iObserverMap.empty())
-        {
-        //TODO: Add trace here
-        unsigned int context = iObserverMap.begin()->first;
-        iObserverMap.erase(context);
-        }
-    iObserverMutex.Signal();
-    }
-
-void RStsSession::SignalObservers()
-    {
-    iObserverMutex.Wait();
-    while (!iObserverMap.empty())
-        {
-        //TODO: Add trace here
-        unsigned int context = iObserverMap.begin()->first;
-        iObserverMap[context]->PlayAlarmComplete(context);
-        iObserverMap.erase(context);
-        }
-    iObserverMutex.Signal();
-    }
--- a/mmserv/sts/stsproxy/src/rstssession.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines the interface to the client side session of the
- * STS Server.
- */
-#ifndef RSTSSESSION_H_
-#define RSTSSESSION_H_
-
-#include <e32msgqueue.h>
-#include <map>
-#include <systemtoneservice.h>
-
-#include "stsclientservercommon.h"
-
-class RStsSession : public RSessionBase
-    {
-public:
-
-    TInt Connect();
-
-    void Close();
-
-    void SendPlayTone(CSystemToneService::TToneType aTone);
-
-    void SendPlayAlarm(CSystemToneService::TAlarmType aAlarm,
-            unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver);
-
-    void SendPlayToneAlarm(CSystemToneService::TToneType aTone,
-            unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver);
-
-    void SendStopAlarm(unsigned int aAlarmContext);
-
-private:
-
-    static TInt CallBackThreadMain(TAny* aSession);
-    void RunThreadL();
-
-    TInt CreateServerSession();
-    void HandleMessage(TStsCallBack& aMessage);
-    TInt StartServer();
-    TInt StartThread();
-    void CleanUpObservers();
-    void SignalObservers();
-
-    RThread iThread;
-    RMsgQueue<TStsCallBack> iMsgQueue;
-    TThreadId iServerThreadId;
-
-    enum TState
-        {
-        EInitializing, ERunning, EStopping
-        };
-    TState iState;
-    typedef std::map<unsigned int, MStsPlayAlarmObserver*> TObserverMap;
-    TObserverMap iObserverMap;
-    RMutex iObserverMutex;
-    };
-
-#endif // RSTSSESSION_H_
--- a/mmserv/sts/stsproxy/src/stsimplementation.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * The file provides the actual implementation of the STS API.
- * All of the STS API methods are implemented by passing the
- * calls to the STS Server through the client side STS
- * Session.
- */
-
-//  Include Files  
-#include "stsimplementation.h"
-#include "rstssession.h"
-
-//  Member Functions
-/*static*/CStsImplementation* CStsImplementation::Create()
-    {
-    CStsImplementation* self = new CStsImplementation();
-    if (self != 0)
-        {
-        bool successful = self->Init();
-        if (!successful)
-            {
-            delete self;
-            self = 0;
-            }
-        }
-    return self;
-    }
-
-CStsImplementation::CStsImplementation() :
-    iSession(NULL)
-    {
-    }
-
-CStsImplementation::~CStsImplementation()
-    {
-    iSession->Close();
-    delete iSession;
-    }
-
-bool CStsImplementation::Init()
-    {
-    bool result = false;
-    iSession = new RStsSession();
-    if (iSession)
-        {
-        TInt err = iSession->Connect();
-        result = err == KErrNone;
-        }
-    return result;
-    }
-
-void CStsImplementation::PlayTone(CSystemToneService::TToneType aTone)
-    {
-    iSession->SendPlayTone(aTone);
-    }
-
-void CStsImplementation::PlayAlarm(CSystemToneService::TAlarmType aAlarm,
-        unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver)
-    {
-    //TODO: Add logging and error checking
-    iSession->SendPlayAlarm(aAlarm, aAlarmContext, aObserver);
-    }
-
-void CStsImplementation::PlayAlarm(CSystemToneService::TToneType aTone,
-        unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver)
-    {
-    iSession->SendPlayToneAlarm(aTone, aAlarmContext, aObserver);
-    }
-
-void CStsImplementation::StopAlarm(unsigned int aAlarmContext)
-    {
-    //TODO: Add logging and error checking
-    iSession->SendStopAlarm(aAlarmContext);
-    }
--- a/mmserv/sts/stsserver/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This is the top level build file for the STS Server.
- */
-
-PRJ_MMPFILES
-
-stsserver.mmp
--- a/mmserv/sts/stsserver/group/stsserver.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This is the build file for the STS Server.
- */
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET         stsserver.exe
-TARGETTYPE 		 exe
-UID            0 0x10207C90
-CAPABILITY     MultiMediaDD ReadDeviceData WriteDeviceData ReadUserData WriteUserData ProtServ
-VENDORID	     VID_DEFAULT
-
-EPOCPROCESSPRIORITY high
-EPOCSTACKSIZE  0x5000           
-EPOCHEAPSIZE   0x400 0x1000000
-
-MW_LAYER_SYSTEMINCLUDE
-OS_LAYER_LIBC_SYSTEMINCLUDE
-OS_LAYER_STDCPP_SYSTEMINCLUDE
-
-USERINCLUDE    ../inc
-USERINCLUDE    ../../sts/inc
-
-SOURCEPATH     ../src
-
-SOURCE         stsserverexe.cpp
-SOURCE         stsserver.cpp
-SOURCE         stsserversession.cpp
-
-STATICLIBRARY  sts.lib
-
-LIBRARY        ecom.lib
-LIBRARY        euser.lib
-LIBRARY        efsrv.lib
-LIBRARY        libc.lib
-LIBRARY        libstdcpp.lib
-LIBRARY        mediaclientaudio.lib
-LIBRARY        profileengine.lib
--- a/mmserv/sts/stsserver/inc/stsclientservercommon.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines common types and constants used by the STS server
- * and sessions.
- */
-#ifndef STSCLIENTSERVERCOMMON_H_
-#define STSCLIENTSERVERCOMMON_H_
-
-// SYMBIAN INCLUDES
-#include <e32std.h>
-#include <systemtoneservice.h>
-
-// CONSTANTS
-_LIT( KStsServerFile, "StsServer" );
-_LIT( KStsServerName, "!StsServer" );
-
-const TInt KStsServerMajorVersion = 0;
-const TInt KStsServerMinorVersion = 1;
-const TInt KStsServerBuild = 0;
-
-// This type enumerates the client/server messages for the STS server.
-enum TStsServerCommandType
-    {
-    StsMsg_RegisterMsgQueue,
-    StsMsg_StopAlarm,
-    StsMsg_PlayTone,
-    StsMsg_PlayAlarm,
-    StsMsg_PlayToneAlarm,
-    StsMsg_ENDMARKER
-    };
-
-const TStsServerCommandType KStsCmdLast =
-        (TStsServerCommandType) ((int) StsMsg_ENDMARKER - 1);
-
-enum TStsCallBackType
-    {
-    EStsShutdown, EStsPlayAlarmComplete
-    };
-
-struct TStsCallBack
-    {
-    TStsCallBackType callBackType;
-    MStsPlayAlarmObserver* observer;
-    unsigned int alarmContext;
-    };
-
-#endif // STSCLIENTSERVERCOMMON_H_
--- a/mmserv/sts/stsserver/src/stsserver.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file is the implementation of the Symbian STS Server.  This
- * file handles the Symbian specific server creation/deletation
- * activities, and adding/removing sessions.  The actual STS
- * functionality is handled in the STS class.
- */
-
-//  Include Files  
-#include "stsserver.h"
-#include "stsserversession.h"
-#include "sts.h"
-
-// Total number of ranges
-const TUint KStsRangeCount = 3;
-
-// Definition of the ranges of IPC numbers
-const TInt KStsRanges[KStsRangeCount] =
-    {
-    0, 2, KStsCmdLast + 1
-    };
-
-// Policy to implement for each of the above ranges        
-const TUint8 KStsElementsIndex[KStsRangeCount] =
-    {
-            CPolicyServer::EAlwaysPass,
-            CPolicyServer::ECustomCheck,
-            CPolicyServer::ENotSupported
-    };
-
-// Package all the above together into a policy
-const CPolicyServer::TPolicy KStsPolicy =
-    {
-    CPolicyServer::EAlwaysPass, // specifies all connect attempts should pass
-            KStsRangeCount, // number of ranges                                   
-            KStsRanges, // ranges array
-            KStsElementsIndex, // elements<->ranges index
-            NULL
-    };
-
-// CStsServer IMPLEMENTATION
-
-CStsServer* CStsServer::NewLC()
-    {
-    CStsServer* self = new (ELeave) CStsServer();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-CStsServer::CStsServer() :
-    CPolicyServer(0, KStsPolicy, ESharableSessions), iSts(0)
-    {
-    }
-
-void CStsServer::ConstructL()
-    {
-    StartL(KStsServerName);
-    iSts = CSts::Create();
-    if (iSts == 0)
-        {
-        User::Leave(KErrNoMemory);
-        }
-    }
-
-CStsServer::~CStsServer()
-    {
-    iSessions.ResetAndDestroy();
-    CSts::Delete(iSts);
-    }
-
-// Performs security checks based on the tone or Alarm type.
-CPolicyServer::TCustomResult CStsServer::CustomSecurityCheckL(
-        const RMessage2& aMsg, TInt& /*aAction*/, TSecurityInfo& aMissing)
-    {
-    CPolicyServer::TCustomResult result;
-
-    switch (aMsg.Function())
-        {
-        case StsMsg_PlayTone:
-        case StsMsg_PlayToneAlarm:
-            {
-            CSystemToneService::TToneType tone =
-                    (CSystemToneService::TToneType) aMsg.Int0();
-            result = SecurityCheckTone(tone, aMsg, aMissing);
-            }
-            break;
-        case StsMsg_PlayAlarm:
-            {
-            CSystemToneService::TAlarmType alarm =
-                    (CSystemToneService::TAlarmType) aMsg.Int0();
-            result = SecurityCheckAlarm(alarm, aMsg, aMissing);
-            }
-            break;
-        default:
-            result = CPolicyServer::EFail;
-        }
-
-    return result;
-    }
-
-CPolicyServer::TCustomResult CStsServer::SecurityCheckAlarm(
-        CSystemToneService::TAlarmType aAlarm, const RMessage2& /*aMsg*/,
-        TSecurityInfo& /*aMissing*/)
-    {
-    CPolicyServer::TCustomResult result;
-    switch (aAlarm)
-        {
-        default:
-            result = CPolicyServer::EPass;
-        }
-    return result;
-    }
-
-CPolicyServer::TCustomResult CStsServer::SecurityCheckTone(
-        CSystemToneService::TToneType aTone, const RMessage2& /*aMsg*/,
-        TSecurityInfo& /*aMissing*/)
-    {
-    CPolicyServer::TCustomResult result;
-    switch (aTone)
-        {
-        default:
-            result = CPolicyServer::EPass;
-        }
-    return result;
-    }
-
-CSession2* CStsServer::NewSessionL(const TVersion& aVersion, const RMessage2& /*aMessage*/) const
-    {
-    if (aVersion.iMajor != KStsServerMajorVersion || aVersion.iMinor
-            != KStsServerMinorVersion || aVersion.iBuild != KStsServerBuild)
-        {
-        User::Leave(KErrNotSupported);
-        }
-    else
-        {
-        //TODO: Add trace here
-        }// end if
-
-    CStsServer& nonConstThis = *const_cast<CStsServer*> (this);
-
-    // Construct a new session, passing it a pointer to the server object.  This function
-    // is const, so the const-ness must be cast away from the this pointer.
-    CSession2* returnValue = new (ELeave) CStsServerSession(nonConstThis,
-            *iSts);
-
-    return returnValue;
-    }
-
-void CStsServer::AddSession(CStsServerSession* aSession)
-    {
-    iSessions.Append(aSession);
-    }
-
-void CStsServer::DropSession(CStsServerSession* aSession)
-    {
-    // Find the current session in the list of sessions.
-    TInt index = iSessions.Find(aSession);
-
-    if (index != KErrNotFound)
-        {
-        // Remove the session from the list of sessions.
-        iSessions.Remove(index);
-        }
-    else
-        {
-        //TODO: Add trace here
-        } // end if
-
-    if (iSessions.Count() == 0)
-        {
-        // No more clients. Shutdown the server.
-        CActiveScheduler::Stop();
-        }
-    }
-
-// SERVER LAUNCHING FUNCTIONALITY
-
-EXPORT_C void CStsServer::RunServerL()
-    {
-    // naming the server thread after the server helps to debug panics
-    User::LeaveIfError(User::RenameThread(KStsServerName));
-
-    // create and install the active scheduler
-    CActiveScheduler* scheduler = new (ELeave) CActiveScheduler();
-    CleanupStack::PushL(scheduler);
-    CActiveScheduler::Install(scheduler);
-
-    // create the server (leave it on the cleanup stack)
-    CStsServer* server = CStsServer::NewLC();
-
-    // Initialisation complete, now signal the client.
-    RProcess::Rendezvous(KErrNone);
-
-    // Ready to run
-    // Start wait loop, will return when server is shutdown
-    CActiveScheduler::Start();
-
-    // Cleanup the server
-    CleanupStack::PopAndDestroy(server);
-
-    // Cleanup scheduler after shutdown
-    CleanupStack::PopAndDestroy(scheduler);
-    }
--- a/mmserv/sts/stsserver/src/stsserver.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines the interface into the STS server.
- */
-#ifndef STSSERVER_H_
-#define STSSERVER_H_
-
-#include <e32base.h>
-#include <systemtoneservice.h>
-
-class CSts;
-class CStsServerSession;
-
-class CStsServer : private CPolicyServer
-    {
-public:
-
-    // Runs the server on the current thread, and blocks until the server exits.
-    IMPORT_C static void RunServerL();
-
-    void AddSession(CStsServerSession* aSession);
-
-    void DropSession(CStsServerSession* aSession);
-
-private:
-
-    static CStsServer* NewLC();
-
-    CStsServer();
-    void ConstructL();
-    virtual ~CStsServer();
-
-    CPolicyServer::TCustomResult SecurityCheckAlarm(
-            CSystemToneService::TAlarmType aAlarm, const RMessage2& aMsg,
-            TSecurityInfo& aMissing);
-
-    CPolicyServer::TCustomResult SecurityCheckTone(
-            CSystemToneService::TToneType aTone, const RMessage2& aMsg,
-            TSecurityInfo& aMissing);
-
-    // inherited from CPolicyServer    
-    virtual CPolicyServer::TCustomResult CustomSecurityCheckL(
-            const RMessage2& aMsg, TInt& aAction, TSecurityInfo& aMissing);
-    CSession2* NewSessionL(const TVersion& aVersion,
-            const RMessage2& aMessage) const;
-
-    RPointerArray<CStsServerSession> iSessions;
-    CSts* iSts;
-
-    };
-
-#endif //STSSERVER_H_
--- a/mmserv/sts/stsserver/src/stsserverexe.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * The file containt the main method of the STS Server.
- */
-
-//  Include Files  
-#include <ecom/ecom.h>
-#include "stsserver.h"
-
-TInt E32Main()
-    {
-    __UHEAP_MARK;
-    TInt returnValue = KErrNoMemory;
-
-    RThread myThread;
-    myThread.SetPriority(EPriorityAbsoluteRealTime1);
-    myThread.Close();
-
-    CTrapCleanup* cleanup = CTrapCleanup::New();
-
-    if (cleanup)
-        {
-        // Run the server and request a process rendezvous.
-        TRAP( returnValue, CStsServer::RunServerL() );
-        delete cleanup;
-        }
-    REComSession::FinalClose();
-    __UHEAP_MARKEND;
-
-    return returnValue;
-    } // end E32Main
--- a/mmserv/sts/stsserver/src/stsserversession.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This method provides the generic Symbian specific message handling
- * for the server session.  The actual STS specific processing occurs
- * in the STS class.
- */
-
-//  Include Files  
-#include "stsserversession.h"
-#include "stsserver.h"
-#include "sts.h"
-
-// CStsServerSession IMPLEMENTATION
-CStsServerSession::CStsServerSession(CStsServer& aServer, CSts& aSts) :
-    iServer(aServer), iSts(aSts)
-    {
-    }
-
-CStsServerSession::~CStsServerSession()
-    {
-    CleanUpObservers();
-    TStsCallBack callBack;
-    callBack.callBackType = EStsShutdown;
-    iMsgQueue.SendBlocking(callBack);
-    iServer.DropSession(this);
-    iMsgQueue.Close();
-    }
-
-void CStsServerSession::CreateL()
-    {
-    iServer.AddSession(this);
-    }
-
-void CStsServerSession::ServiceL(const RMessage2& aMessage)
-    {
-    switch (aMessage.Function())
-        {
-        case StsMsg_RegisterMsgQueue:
-            DoRegisterMsgQueueL(aMessage);
-            break;
-        case StsMsg_PlayTone:
-            DoPlayToneL(aMessage);
-            break;
-        case StsMsg_PlayAlarm:
-            DoPlayAlarmL(aMessage);
-            break;
-        case StsMsg_PlayToneAlarm:
-            DoPlayToneAlarmL(aMessage);
-            break;
-        case StsMsg_StopAlarm:
-            DoStopAlarmL(aMessage);
-            break;
-        default:
-            break;
-        }
-    }
-
-void CStsServerSession::ServiceError(const RMessage2& aMessage, TInt aError)
-    {
-    CSession2::ServiceError(aMessage, aError);
-    }
-
-void CStsServerSession::DoRegisterMsgQueueL(const RMessage2& aMessage)
-    {
-    TInt result = iMsgQueue.Open(aMessage, 0);
-    if (result == KErrNone)
-        {
-        TThreadId id = RThread().Id();
-        TPckg<TThreadId> idPckg(id);
-        TRAP(result,aMessage.Write(1, idPckg));
-        }
-    aMessage.Complete(result);
-    }
-
-void CStsServerSession::DoPlayToneL(const RMessage2& aMessage)
-    {
-    CSystemToneService::TToneType tone =
-            (CSystemToneService::TToneType) aMessage.Int0();
-    aMessage.Complete(KErrNone);
-    iSts.PlayTone(tone);
-    }
-
-void CStsServerSession::DoPlayAlarmL(const RMessage2& aMessage)
-    {
-    CSystemToneService::TAlarmType alarm =
-            (CSystemToneService::TAlarmType) aMessage.Int0();
-    unsigned int context = 0;
-    iSts.PlayAlarm(alarm, context, *this);
-    iObserverMap[context] = (MStsPlayAlarmObserver*) aMessage.Ptr2();
-    TPckg<unsigned int> contextPckg(context);
-    TRAPD(err,aMessage.WriteL(1,contextPckg));
-    aMessage.Complete(err);
-    // if the context is 0 there was a problem with the PlayAlarm,
-    // so trigger the PlayAlarmComplete callback.
-    if (context == 0)
-        {
-        PlayAlarmComplete(0);
-        }
-    }
-
-void CStsServerSession::DoPlayToneAlarmL(const RMessage2& aMessage)
-    {
-    CSystemToneService::TToneType tone =
-            (CSystemToneService::TToneType) aMessage.Int0();
-    unsigned int context = 0;
-    iSts.PlayAlarm(tone, context, *this);
-    iObserverMap[context] = (MStsPlayAlarmObserver*) aMessage.Ptr2();
-    TPckg<unsigned int> contextPckg(context);
-    TRAPD(err,aMessage.WriteL(1,contextPckg));
-    aMessage.Complete(err);
-    // if the context is 0 there was a problem with the PlayAlarm,
-    // so trigger the PlayAlarmComplete callback.
-    if (context == 0)
-        {
-        PlayAlarmComplete(0);
-        }
-    }
-
-void CStsServerSession::DoStopAlarmL(const RMessage2& aMessage)
-    {
-    unsigned int context = aMessage.Int0();
-    aMessage.Complete(KErrNone);
-    iObserverMap.erase(context);
-    iSts.StopAlarm(context);
-    }
-
-void CStsServerSession::CleanUpObservers()
-    {
-    while (!iObserverMap.empty())
-        {
-        //TODO: Add trace here
-        unsigned int context = iObserverMap.begin()->first;
-        iObserverMap.erase(context);
-        iSts.StopAlarm(context);
-        }
-    }
-
-void CStsServerSession::PlayAlarmComplete(unsigned int aAlarmContext)
-    {
-    TStsCallBack callBack =
-        {
-        EStsPlayAlarmComplete, iObserverMap[aAlarmContext], aAlarmContext
-        };
-    iMsgQueue.SendBlocking(callBack);
-    iObserverMap.erase(aAlarmContext);
-    }
--- a/mmserv/sts/stsserver/src/stsserversession.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines the interface for the STS server side session.
- */
-#ifndef STSSERVERSESSION_H_
-#define STSSERVERSESSION_H_
-
-#include <e32base.h>
-#include <e32msgqueue.h>
-#include <map>
-
-#include "stsclientservercommon.h"
-
-class CSts;
-class CStsServer;
-class CStsPlayAlarmObserver;
-
-class CStsServerSession : public CSession2, private MStsPlayAlarmObserver
-    {
-public:
-
-    CStsServerSession(CStsServer& aServer, CSts& aSts);
-
-    virtual ~CStsServerSession();
-
-    // inherited from CSession2
-    void CreateL();
-    void ServiceL(const RMessage2& aMessage);
-    void ServiceError(const RMessage2& aMessage, TInt aError);
-
-private:
-
-    void DoRegisterMsgQueueL(const RMessage2& aMessage);
-    void DoPlayToneL(const RMessage2& aMessage);
-    void DoPlayAlarmL(const RMessage2& aMessage);
-    void DoPlayToneAlarmL(const RMessage2& aMessage);
-    void DoStopAlarmL(const RMessage2& aMessage);
-
-    void CleanUpObservers();
-
-    // inherited from MPlayAlarmObserver
-    virtual void PlayAlarmComplete(unsigned int aAlarmContext);
-
-    CStsServer& iServer;
-    CSts& iSts;
-
-    typedef std::map<unsigned int, MStsPlayAlarmObserver*> TObserverMap;
-    TObserverMap iObserverMap;
-    RMsgQueue<TStsCallBack> iMsgQueue;
-    };
-
-#endif // STSSERVERSESSION_H_
--- a/mmserv/sts/tsrc/ststester/data/ststester_reg.rss	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- *
- */
-
-#include <appinfo.rh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x10207C88
-
-RESOURCE APP_REGISTRATION_INFO
-{
-    app_file="STSTester";  
-}
--- a/mmserv/sts/tsrc/ststester/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file provides the information required for building the
- * whole of System Tone Service Tester.
- */
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-ststester.mmp
--- a/mmserv/sts/tsrc/ststester/group/ststester.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This is the project specification file for building the
- * ststester application.
- */
-
-#include <platform_paths.hrh>
-
-TARGET          ststester.exe
-TARGETTYPE      exe
-UID             0 0x10207C88
-CAPABILITY      SwEvent
-
-VENDORID        VID_DEFAULT
-
-EPOCSTACKSIZE 0x5000           //20KB
-EPOCHEAPSIZE  0x400 0x1000000  //1KB-16MB
-
-START RESOURCE  ../data/ststester_reg.rss
-TARGETPATH 	    /private/10003a3f/apps
-END 
-
-MW_LAYER_SYSTEMINCLUDE
-USERINCLUDE     ../inc
-
-SOURCEPATH      ../src
-
-SOURCE          ststestermain.cpp
-SOURCE          ststester.cpp
-SOURCE          testappbase.cpp
-
-LIBRARY         euser.lib
-LIBRARY         efsrv.lib
-LIBRARY         fbscli.lib
-LIBRARY         fntstr.lib
-LIBRARY         gce.lib
-LIBRARY         gdi.lib
-LIBRARY         ws32.lib
-LIBRARY         systemtoneservice.lib
-LIBRARY         remconcoreapi.lib
-LIBRARY         remconinterfacebase.lib
--- a/mmserv/sts/tsrc/ststester/inc/ststestermain.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines API into the System Tone Service Tester.
- */
-
-#ifndef STSTESTERMAIN_H_
-#define STSTESTERMAIN_H_
-
-//  Include Files
-#include <e32base.h>
-
-//  Function Prototypes
-GLDEF_C TInt E32Main();
-
-#endif  // STSTESTERMAIN_H_
--- a/mmserv/sts/tsrc/ststester/sis/create_sis.bat	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-cls
-@echo off
-echo.
-
-rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-rem All rights reserved.
-rem This component and the accompanying materials are made available
-rem under the terms of the "Eclipse Public License v1.0"
-rem which accompanies this distribution, and is available
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-rem
-rem Initial Contributors:
-rem Nokia Corporation - initial contribution.
-rem
-rem Contributors:
-rem
-echo Description:  STS Tester package creation utility
-rem
-
-del ststester.sis*
-\epoc32\tools\makesis ststester.pkg ststester.sis
-\epoc32\tools\signsis ststester.sis ststester.sisx rd.crt rd.key
--- a/mmserv/sts/tsrc/ststester/sis/ststester.pkg	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-;
-; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "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:
-;
-; Description: System Tone Service Tester - UDEB build
-;
-;File: ststester.pkg
-
-;Languages
-&EN
-
-;Header
-#{"ststester EXE"},(0x10207C88),1,0,0, TYPE=SA, RU
-
-;Series 60 v5.0
-[0x1028315F], 0,0,0, {"Series60ProductID"}
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Add System Tone Service package
-;@"../../../sis/systemtoneservice.sisx",(0x10207C90)
-
-;Files To Copy...<src> <destination>
-"/epoc32/release/armv5/udeb/ststester.exe"		         -"!:/sys/bin/ststester.exe"
-"/epoc32/data/z/private/10003a3f/apps/ststester_reg.rsc" -"!:/private/10003a3f/import/apps/ststester_reg.rsc"
--- a/mmserv/sts/tsrc/ststester/src/profileutilmacro.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This file defines macros for different types of performance
- * measurement traces.
- */
-
-#ifndef PROFILEUTILMACRO_H_
-#define PROFILEUTILMACRO_H_
-
-/*
- MACROS to be defined to use profiling
- PROFILE_TIME
- PROFILE_RAM_USAGE
- PROFILE_HEAP_USAGE
- PRINT_TO_CONSOLE_HEAP_DIFF
- PRINT_TO_CONSOLE_RAM_DIFF
- PRINT_TO_CONSOLE_HEAP_DIFF
- */
-#if defined(PROFILE_TIME) || defined(PROFILE_RAM_USAGE) || defined(PROFILE_HEAP_USAGE)
-#include <e32debug.h>
-#include <hal.h>
-#endif
-
-#ifdef PROFILE_TIME
-#define TAG_TIME_PROFILING_BEGIN \
-    TTime beginProfilingTime; \
-    beginProfilingTime.HomeTime()
-
-#define TAG_TIME_PROFILING_END \
-    TTime endProfilingTime; \
-    endProfilingTime.HomeTime(); \
-    TTimeIntervalMicroSeconds diffInMicroSecs = endProfilingTime.MicroSecondsFrom(beginProfilingTime)
-
-#define PRINT_TO_CONSOLE_TIME_DIFF \
-    RDebug::Printf("VPROFILEDAT: %s : Time taken[%u]microseconds ", __PRETTY_FUNCTION__, diffInMicroSecs.Int64())
-#else /* Empty macros */
-#define TAG_TIME_PROFILING_BEGIN
-#define TAG_TIME_PROFILING_END
-#define PRINT_TO_CONSOLE_TIME_DIFF
-#endif /*PROFILE_TIME*/
-
-#ifdef PROFILE_RAM_USAGE
-#define TAG_RAM_PROFILING_BEGIN \
-    TInt beginProfilingRAM; \
-    TInt err1 = HAL::Get(HALData::EMemoryRAMFree, beginProfilingRAM)
-
-#define TAG_RAM_PROFILING_END \
-    TInt endProfilingRAM; \
-    TInt err2 = HAL::Get(HALData::EMemoryRAMFree, endProfilingRAM)
-
-#define PRINT_TO_CONSOLE_RAM_DIFF \
-    if ((err1 == KErrNone) && (err2 == KErrNone)) \
-        { \
-        TInt diffRAM = (beginProfilingRAM - endProfilingRAM); \
-        if ( diffRAM > 0 ) \
-            { \
-            RDebug::Printf("VPROFILEDAT: %s : RAM used[%u]bytes ", __PRETTY_FUNCTION__, diffRAM); \
-            } \
-        else \
-            { \
-            RDebug::Printf("VPROFILEDAT: %s : RAM freed[%u]bytes ", __PRETTY_FUNCTION__, (-diffRAM)); \
-            } \
-        } \
-    else \
-        { \
-        RDebug::Printf("VPROFILEDAT: %s : Error1[%d] Error2[%d] ", __PRETTY_FUNCTION__, err1, err2); \
-        }
-
-#else /* Empty macros */
-#define TAG_RAM_PROFILING_BEGIN
-#define TAG_RAM_PROFILING_END
-#define PRINT_TO_CONSOLE_RAM_DIFF
-#endif /*PROFILE_RAM_USAGE*/
-
-#ifdef PROFILE_HEAP_USAGE
-#define TAG_DEFAULT_HEAP_PROFILING_BEGIN \
-    TInt beginProfilingHEAPBiggestBlock; \
-    TInt beginProfilingHEAP = User::Available(beginProfilingHEAPBiggestBlock) \
-
-#define TAG_DEFAULT_HEAP_PROFILING_END \
-    TInt endProfilingHEAPBiggestBlock; \
-    TInt endProfilingHEAP = User::Available(endProfilingHEAPBiggestBlock) \
-
-#define PRINT_TO_CONSOLE_HEAP_DIFF \
-    TInt diffHEAP = beginProfilingHEAP - endProfilingHEAP; \
-    if ( diffHEAP > 0 ) \
-        { \
-        RDebug::Printf("VPROFILEDAT: %s : HEAP used[%u]bytes ", __PRETTY_FUNCTION__, diffHEAP); \
-        } \
-    else \
-        { \
-        RDebug::Printf("VPROFILEDAT: %s : HEAP freed[%u]bytes ", __PRETTY_FUNCTION__, (-diffHEAP)); \
-        }
-#else /* Empty macros */
-#define TAG_DEFAULT_HEAP_PROFILING_BEGIN
-#define TAG_DEFAULT_HEAP_PROFILING_END
-#define PRINT_TO_CONSOLE_HEAP_DIFF
-#endif /*PROFILE_HEAP_USAGE*/
-
-#endif /*PROFILEUTILMACRO_H_*/
--- a/mmserv/sts/tsrc/ststester/src/ststester.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,266 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * The file contains the implementation of the STS Tester.
- */
-
-#include "ststester.h"
-
-#include <systemtoneservice.h>
-#define PROFILE_TIME 1
-#include "profileutilmacro.h"
-
-const TInt KKeyMapPageCount = 1;
-
-const TInt KFontSize = 15;
-
-const TOperationsPage KKeyMap[KKeyMapPageCount] =
-    {
-        {
-        STR("Standard controls"), 5, // default softkey index
-                    {
-                    // Enter
-                                {
-                                STR(""), KOperation_ExecuteOption
-                                },
-                            // Up / Down / Left / Right
-                                {
-                                STR(""), KOperation_PreviousOption
-                                },
-                                {
-                                STR(""), KOperation_NextOption
-                                },
-                                {
-                                STR(""), KOperation_PreviousOptionPage
-                                },
-                                {
-                                STR(""), KOperation_NextOptionPage
-                                },
-                            // 0 - 9
-                                {
-                                        STR("Stop Current Alarm"),
-                                        EOperation_StopCurrentAlarm
-                                },
-                                {
-                                        STR("Play Default Beep"),
-                                        EOperation_PlayDefaultBeep
-                                },
-                                {
-                                        STR("Play Default Alarm"),
-                                        EOperation_PlayDefaultAlarm
-                                },
-                                {
-                                        STR("Play Default Beep as Alarm"),
-                                        EOperation_PlayDefaultasAlarm
-                                },
-                                {
-                                        STR("Play Incoming Call Alarm"),
-                                        EOperation_PlayIncomingCallAlarm
-                                },
-                                {
-                                        STR("Play Warning Beep"),
-                                        EOperation_PlayWarningBeep
-                                },
-                                {
-                                STR(""), KOperation_None
-                                },
-                                {
-                                STR(""), KOperation_None
-                                },
-                                {
-                                STR(""), KOperation_None
-                                },
-                                {
-                                STR("Exit"), KOperation_Exit
-                                }
-                    }
-        }
-    };
-
-void CStsTester::ExecuteL()
-    {
-    CStsTester* self = new (ELeave) CStsTester;
-    CleanupStack::PushL(self);
-    self->InitL();
-    self->Main();
-    CleanupStack::PopAndDestroy(self);
-    }
-
-CStsTester::CStsTester() :
-    CTestAppBase(KFontSize), iPlayState(EStopped)
-    {
-    }
-
-CStsTester::~CStsTester()
-    {
-    CSystemToneService::Delete(iSts);
-    }
-
-void CStsTester::InitL()
-    {
-    BaseConstructL(KKeyMap, KKeyMapPageCount);
-    iSts = CSystemToneService::Create();
-    }
-
-void CStsTester::Main()
-    {
-    TRAP_IGNORE(MainL());
-    }
-
-void CStsTester::MainL()
-    {
-    _LIT(KStopCurrentAlarm, "Stop Current Alarm");
-    _LIT(KPlayDefault, "Play Default Beep");
-    _LIT(KPlayDefaultAlarm, "Play Default Alarm");
-    _LIT(KPlayDefaultAsAlarm, "Play Default Beep as Alarm");
-    _LIT(KPlayIncomingCallAlarm, "Play Incoming Call Alarm");
-    _LIT(KPlayWarningBeep, "Play Warning Beep");
-    _LIT(KExit, "Exit");
-
-    bool done = false;
-
-    while (!done)
-        {
-        RPointerArray<TDesC> operations;
-        operations.Append(&KStopCurrentAlarm);
-        operations.Append(&KPlayDefault);
-        operations.Append(&KPlayDefaultAlarm);
-        operations.Append(&KPlayDefaultAsAlarm);
-        operations.Append(&KPlayIncomingCallAlarm);
-        operations.Append(&KPlayWarningBeep);
-        operations.Append(&KExit);
-
-        TInt index = SelectFromListL(TPoint(0, 0), iDisplaySize, _L(
-                "Select STS operation to perform:"), operations);
-
-        operations.Reset();
-
-        TPtrC operationName(STR("Play Default Beep"));
-
-        switch (index)
-            {
-            case -1:
-                done = true;
-                break;
-            case 0:
-                ExecuteOperation(EOperation_StopCurrentAlarm, operationName);
-                break;
-            case 1:
-                ExecuteOperation(EOperation_PlayDefaultBeep, operationName);
-                break;
-            case 2:
-                ExecuteOperation(EOperation_PlayDefaultAlarm, operationName);
-                break;
-            case 3:
-                ExecuteOperation(EOperation_PlayDefaultasAlarm, operationName);
-                break;
-            case 4:
-                ExecuteOperation(EOperation_PlayIncomingCallAlarm, operationName);
-                break;
-            case 5:
-                ExecuteOperation(EOperation_PlayWarningBeep, operationName);
-                break;
-            case 6:
-                done = true;
-                break;
-            }
-        }
-    }
-
-void CStsTester::ExecuteOperation(TInt aOperation, const TDesC& /*aOperationText*/)
-    {
-    switch (aOperation)
-        {
-        case EOperation_StopCurrentAlarm:
-            {
-            TAG_TIME_PROFILING_BEGIN;
-            iSts->StopAlarm(iCurrentContext);
-            TAG_TIME_PROFILING_END;
-            PRINT_TO_CONSOLE_TIME_DIFF;
-            iPlayState = EStopped;
-            break;
-            }
-        case EOperation_PlayDefaultBeep:
-            {
-            TAG_TIME_PROFILING_BEGIN;
-            iSts->PlayTone(CSystemToneService::EDefaultBeep);
-            TAG_TIME_PROFILING_END;
-            PRINT_TO_CONSOLE_TIME_DIFF;
-            break;
-            }
-        case EOperation_PlayDefaultAlarm:
-            {
-            // Only play if not already playing
-            if (iPlayState != EPlaying)
-                {
-                iPlayState = EPlaying;
-                TAG_TIME_PROFILING_BEGIN;
-                iSts->PlayAlarm(CSystemToneService::EClockAlarm,
-                        iCurrentContext, *this);
-                TAG_TIME_PROFILING_END;
-                PRINT_TO_CONSOLE_TIME_DIFF;
-                }
-            break;
-            }
-        case EOperation_PlayDefaultasAlarm:
-            {
-            // Only play if not already playing
-            if (iPlayState != EPlaying)
-                {
-                iPlayState = EPlaying;
-                TAG_TIME_PROFILING_BEGIN;
-                iSts->PlayAlarm(CSystemToneService::EDefaultBeep,
-                        iCurrentContext, *this);
-                TAG_TIME_PROFILING_END;
-                PRINT_TO_CONSOLE_TIME_DIFF;
-                }
-            break;
-            }
-        case EOperation_PlayIncomingCallAlarm:
-            {
-            // Only play if not already playing
-            if (iPlayState != EPlaying)
-                {
-                iPlayState = EPlaying;
-                TAG_TIME_PROFILING_BEGIN;
-                iSts->PlayAlarm(CSystemToneService::EIncomingCall,
-                        iCurrentContext, *this);
-                TAG_TIME_PROFILING_END;
-                PRINT_TO_CONSOLE_TIME_DIFF;
-                }
-            break;
-            }
-        case EOperation_PlayWarningBeep:
-            {
-            // Only play if not already playing
-                TAG_TIME_PROFILING_BEGIN;
-                iSts->PlayTone(CSystemToneService::EWarningBeep);
-                TAG_TIME_PROFILING_END;
-                PRINT_TO_CONSOLE_TIME_DIFF;
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    }
-
-void CStsTester::PlayAlarmComplete(unsigned int aAlarmContext)
-    {
-    if (aAlarmContext == iCurrentContext)
-        {
-        iPlayState = EStopped;
-        }
-    }
--- a/mmserv/sts/tsrc/ststester/src/ststester.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * The file defines the interface for the STS Tester.
- */
-
-#ifndef STSTESTER_H_
-#define STSTESTER_H_
-
-#include "testappbase.h"
-#include <systemtoneservice.h>
-
-enum TOperations
-    {
-    EOperation_StopCurrentAlarm = KOperation_FirstCustomIndex,
-    EOperation_PlayDefaultBeep,
-    EOperation_PlayDefaultAlarm,
-    EOperation_StopClockAlarm,
-    EOperation_PlayDefaultasAlarm,
-    EOperation_PlayIncomingCallAlarm,
-    EOperation_PlayWarningBeep
-    };
-
-class CStsTester : public CTestAppBase, MStsPlayAlarmObserver
-    {
-public:
-    // Methods
-
-    static void ExecuteL();
-
-private:
-    // Methods
-
-    CStsTester();
-
-    ~CStsTester();
-
-    void InitL();
-
-    void Main();
-
-    void MainL();
-
-    // inherited from CTestAppBase
-    virtual void ExecuteOperation(TInt aOperation,
-            const TDesC& aOperationText);
-
-private:
-    // inherited from MPlayAlarmObserver
-    virtual void PlayAlarmComplete(unsigned int aAlarmContext);
-    
-    // Attributes
-
-    enum TPlayState
-        {
-        EStopped, EPlaying
-        };
-
-    // STS attributes
-    CSystemToneService* iSts;
-    unsigned int iCurrentContext;
-    TPlayState iPlayState;
-
-    };
-
-#endif // STSTESTER_H_
--- a/mmserv/sts/tsrc/ststester/src/ststestermain.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * This is the main driver of System Tone Service Tester.
- */
-
-//  Include Files  
-#include "ststestermain.h"
-#include "ststester.h"
-
-//  Global Functions
-GLDEF_C TInt E32Main()
-    {
-    __UHEAP_MARK;
-    CActiveScheduler* scheduler = new CActiveScheduler;
-    CTrapCleanup* cleanup = CTrapCleanup::New();
-    if( scheduler != NULL && cleanup != NULL )
-    {
-        CActiveScheduler::Install( scheduler );
-        TRAP_IGNORE( CStsTester::ExecuteL() );
-    }
-    delete cleanup;
-    delete scheduler;
-    __UHEAP_MARKEND;
-    return KErrNone;
-    }
--- a/mmserv/sts/tsrc/ststester/src/testappbase.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1236 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * Source file containing common test app functionality.
- */
-
-#include <f32file.h>
-#include <remconcoreapitarget.h>
-#include <remconinterfaceselector.h>
-
-#include "testappbase.h"
-
-const TInt KLeftSoftKeyScanCode = EStdKeyDevice0;
-const TInt KRightSoftKeyScanCode = EStdKeyDevice1;
-
-const TInt KHelpWindowBorderPixels = 20;
-const TInt KHelpWindowSpaceBetweenColumns = 25;
-const TInt KHelpWindowSpaceBetweenRows = 2;
-
-// TODO: WOULD BE BETTER TO DYNAMICALLY DETECT THE AVAILABLE DRIVES
-_LIT( KDriveC, "C:" );
-_LIT( KDriveE, "E:" );
-_LIT( KDriveF, "F:" );
-_LIT( KDriveZ, "Z:" );
-
-struct TKeyListEntry
-    {
-    TInt scanCode;
-    TInt scanCode2;
-    const TText* keyName;
-    };
-
-// Some emulators return '1' when key 1 is pressed and others returned EStdKeyNkp1.
-// Convert both case into '1'.
-const TKeyListEntry KSupportedKeys[KSupportedKeysCount] =
-    {
-        {EStdKeyEnter,      EStdKeyNull, STR("Enter")},
-        {EStdKeyUpArrow,    EStdKeyNull, STR("Up")},
-        {EStdKeyDownArrow,  EStdKeyNull, STR("Down")},
-        {EStdKeyLeftArrow,  EStdKeyNull, STR("Left")},
-        {EStdKeyRightArrow, EStdKeyNull, STR("Right")},
-        {'0',               EStdKeyNkp0, STR("0")},
-        {'1',               EStdKeyNkp1, STR("1")},
-        {'2',               EStdKeyNkp2, STR("2")},
-        {'3',               EStdKeyNkp3, STR("3")},
-        {'4',               EStdKeyNkp4, STR("4")},
-        {'5',               EStdKeyNkp5, STR("5")},
-        {'6',               EStdKeyNkp6, STR("6")},
-        {'7',               EStdKeyNkp7, STR("7")},
-        {'8',               EStdKeyNkp8, STR("8")},
-        {'9',               EStdKeyNkp9, STR("9")}
-    };
-
-static TPtrC KeyName(TInt aIndex)
-    {
-    //TODO: Check aIndex range
-    return TPtrC(KSupportedKeys[aIndex].keyName);
-    }
-
-// Portable app implementation
-
-CTestAppBase::CTestAppBase(TInt aFontSize) :
-    CActive(EPriorityStandard), iFontSize(aFontSize),
-            iHelpSemitransparentBackgroundActive(true)
-    {
-    CActiveScheduler::Add(this);
-    }
-
-CTestAppBase::~CTestAppBase()
-    {
-    delete iInterfaceSelector;
-    delete iHelpWindow;
-    delete iSelectionWindow;
-    delete iGc;
-    delete iWindowGroup;
-    delete iScreenDevice;
-    delete iTypefaceStore;
-    iWs.Close();
-    iFs.Close();
-    iFileHistory.ResetAndDestroy();
-    }
-
-void CTestAppBase::BaseConstructL(const TOperationsPage* aKeyMap,
-        TInt aPageCount)
-    {
-    iKeyMap = aKeyMap;
-    iPageCount = aPageCount;
-
-    User::LeaveIfError(iFs.Connect());
-
-    User::LeaveIfError(iWs.Connect());
-
-    iScreenDevice = new (ELeave) CWsScreenDevice(iWs);
-    User::LeaveIfError(iScreenDevice->Construct());
-    iDisplaySize = iScreenDevice->SizeInPixels();
-
-    User::LeaveIfError(iScreenDevice->CreateContext(iGc));
-
-    iWindowGroup = new (ELeave) RWindowGroup(iWs);
-    User::LeaveIfError(iWindowGroup->Construct(KNullWsHandle));
-
-    iSelectionWindow = new (ELeave) RWindow(iWs);
-    User::LeaveIfError(iSelectionWindow->Construct(*iWindowGroup,
-            KNullWsHandle));
-    iSelectionWindow->SetVisible(false);
-    iSelectionWindow->Activate();
-
-    // Load the font to be used for all text operations.
-    TFontSpec fontSpec;
-    fontSpec.iHeight = iFontSize;
-    iTypefaceStore = CFbsTypefaceStore::NewL(NULL);
-
-    User::LeaveIfError(iTypefaceStore->GetNearestFontToDesignHeightInPixels(
-            iFont, fontSpec));
-
-    CalculateHelpWindowSize();
-
-    iHelpWindowTopRight = TPoint(iDisplaySize.iWidth / 2
-            - iHelpWindowSize.iWidth / 2, iDisplaySize.iHeight / 2
-            - iHelpWindowSize.iHeight / 2);
-
-    iHelpWindow = new (ELeave) RWindow(iWs);
-    User::LeaveIfError(iHelpWindow->Construct(*iWindowGroup, KNullWsHandle));
-    iHelpWindow->SetExtent(iHelpWindowTopRight, iHelpWindowSize);
-    iHelpWindow->SetTransparencyAlphaChannel();
-    iHelpWindow->SetBackgroundColor(KRgbTransparent);
-    iHelpWindow->SetVisible(false);
-    iHelpWindow->Activate();
-
-    iSoftkeyIndex = iKeyMap[iCurrentPage].defaultSoftkeyIndex;
-
-    // Only need to draw the help text when the options page is changed.  Window is displayed later by
-    // toggling the visibility of the window.
-    DrawHelpText();
-
-    // THE FOLLOWING CODE IS COMMENTED OUT BECAUSE IT CAUSES A CRASH IN NCP BUILDS.
-    // THIS CAN BE ENABLED IN DFS BUILDS, TO ALLOW FOR TWO BUTTON OPERATION USING THE VOLUME KEYS.
-    //
-    // Since some phone have no keyboard or soft keys, treat the volume keys like the soft keys.
-    // SetupVolumeKeysL();    
-    }
-
-void CTestAppBase::SetupVolumeKeysL()
-    {
-    iInterfaceSelector = CRemConInterfaceSelector::NewL();
-    iCoreTarget = CRemConCoreApiTarget::NewL(*iInterfaceSelector, *this);
-    iInterfaceSelector->OpenTargetL();
-    }
-
-void CTestAppBase::StartMonitoringWindowEvents()
-    {
-    // Request notification for windows server events, to detect key presses.    
-    SetActive();
-    iWs.EventReady(&iStatus);
-    }
-
-TInt CTestAppBase::CurrentPageNumber()
-    {
-    return iCurrentPage + 1;
-    }
-
-TPtrC CTestAppBase::CurrentPageName()
-    {
-    return TPtrC(iKeyMap[iCurrentPage].pageName);
-    }
-
-TPtrC CTestAppBase::CurrentSoftkeyName()
-    {
-    return TPtrC(iKeyMap[iCurrentPage].mapping[iSoftkeyIndex].text);
-    }
-
-TPtrC CTestAppBase::KeyMapText(TInt aIndex, TInt aPage)
-    {
-    return TPtrC(iKeyMap[aPage].mapping[aIndex].text);
-    }
-
-TInt CTestAppBase::KeyMapOperation(TInt aIndex, TInt aPage)
-    {
-    return iKeyMap[aPage].mapping[aIndex].operation;
-    }
-
-void CTestAppBase::IncrementKeymapIndex(TInt& aIndex, TInt aPage)
-    {
-    aIndex = (aIndex + 1) % KSupportedKeysCount;
-    while (iKeyMap[aPage].mapping[aIndex].operation == KOperation_None)
-        {
-        aIndex = (aIndex + 1) % KSupportedKeysCount;
-        }
-    }
-
-void CTestAppBase::DecrementKeymapIndex(TInt& aIndex, TInt aPage)
-    {
-    aIndex = (aIndex + KSupportedKeysCount - 1) % KSupportedKeysCount;
-    while (iKeyMap[aPage].mapping[aIndex].operation == KOperation_None)
-        {
-        aIndex = (aIndex + KSupportedKeysCount - 1) % KSupportedKeysCount;
-        }
-    }
-
-void CTestAppBase::CalculateHelpWindowSize()
-    {
-    iHelpWindowColumn1Width = 0;
-    iHelpWindowColumn2Width = 0;
-
-    // Find the widest strings for each column to determine the width of the window.
-    for (TInt index = 0; index < KSupportedKeysCount; index++)
-        {
-        TInt width = iFont->TextWidthInPixels(KeyName(index));
-        if (width > iHelpWindowColumn1Width)
-            {
-            iHelpWindowColumn1Width = width;
-            }
-
-        for (TInt index2 = 0; index2 < iPageCount; index2++)
-            {
-            width = iFont->TextWidthInPixels(KeyMapText(index, index2));
-            if (width > iHelpWindowColumn2Width)
-                {
-                iHelpWindowColumn2Width = width;
-                }
-            }
-        }
-
-    iHelpWindowSize.iWidth = 2 * KHelpWindowBorderPixels
-            + iHelpWindowColumn1Width + KHelpWindowSpaceBetweenColumns
-            + iHelpWindowColumn2Width;
-
-    iHelpWindowSize.iHeight = 2 * KHelpWindowBorderPixels + iFontSize
-            * KSupportedKeysCount + KHelpWindowSpaceBetweenRows
-            * (KSupportedKeysCount - 1);
-    }
-
-CTestAppBase::TTestAppPointerEvent CTestAppBase::CharacterizePointerEvent(
-        TAdvancedPointerEvent& event)
-    {
-    TTestAppPointerEvent returnValue = EPointerEvent_None;
-
-    RDebug::Printf("POINTER EVENT:");
-    RDebug::Printf("iType=%i", event.iType);
-    RDebug::Printf("iModifiers=%x", event.iModifiers);
-    RDebug::Printf("iPosition=%i,%i", event.iPosition.iX, event.iPosition.iY);
-    RDebug::Printf("iParentPosition=%i,%i", event.iParentPosition.iX,
-            event.iParentPosition.iY);
-    RDebug::Printf("PointerNumber=%i", event.PointerNumber());
-    RDebug::Printf("Proximity=%i", event.Proximity());
-    RDebug::Printf("Pressure=%i", event.Pressure());
-    RDebug::Printf("ProximityAndPressure=%i", event.ProximityAndPressure());
-    RDebug::Printf("Position3D=%i,%i,%i", event.Position3D().iX,
-            event.Position3D().iY, event.Position3D().iZ);
-    RDebug::Printf("Pressure3D=%i,%i,%i", event.Pressure3D().iX,
-            event.Pressure3D().iY, event.Pressure3D().iZ);
-    RDebug::Printf("PositionAndPressure3D=%i,%i,%i",
-            event.PositionAndPressure3D().iX,
-            event.PositionAndPressure3D().iY,
-            event.PositionAndPressure3D().iZ);
-
-    switch (event.iType)
-        {
-        case TPointerEvent::EButton1Down:
-            {
-            iPointerDownPosition = event.iPosition;
-            break;
-            }
-        case TPointerEvent::EButton1Up:
-            {
-            TInt xDelta = event.iPosition.iX - iPointerDownPosition.iX;
-            TInt yDelta = event.iPosition.iY - iPointerDownPosition.iY;
-
-            TInt xMagnitude = xDelta;
-            if (xMagnitude < 0)
-                {
-                xMagnitude = -xMagnitude;
-                }
-
-            TInt yMagnitude = yDelta;
-            if (yMagnitude < 0)
-                {
-                yMagnitude = -yMagnitude;
-                }
-
-            const TInt KTapThreshold = 30;
-
-            if (yMagnitude > xMagnitude)
-                {
-                if (yMagnitude < KTapThreshold)
-                    {
-                    RDebug::Printf("POINTER EVENT ENTER x=%i y=%i", xDelta,
-                            yDelta);
-                    returnValue = EPointerEvent_Select;
-                    }
-                else if (yDelta < 0)
-                    {
-                    RDebug::Printf("POINTER EVENT UP x=%i y=%i", xDelta,
-                            yDelta);
-                    returnValue = EPointerEvent_Up;
-                    }
-                else
-                    {
-                    RDebug::Printf("POINTER EVENT DOWN x=%i y=%i", xDelta,
-                            yDelta);
-                    returnValue = EPointerEvent_Down;
-                    }
-                }
-            else
-                {
-                if (xMagnitude < KTapThreshold)
-                    {
-                    RDebug::Printf("POINTER EVENT ENTER x=%i y=%i", xDelta,
-                            yDelta);
-                    returnValue = EPointerEvent_Select;
-                    }
-                else if (xDelta < 0)
-                    {
-                    RDebug::Printf("POINTER EVENT LEFT x=%i y=%i", xDelta,
-                            yDelta);
-                    returnValue = EPointerEvent_Left;
-                    }
-                else
-                    {
-                    RDebug::Printf("POINTER EVENT RIGHT x=%i y=%i", xDelta,
-                            yDelta);
-                    returnValue = EPointerEvent_Right;
-                    }
-                }
-            break;
-            }
-        }
-
-    return returnValue;
-    }
-
-void CTestAppBase::RunL()
-    {
-    if (iWait.IsStarted())
-        {
-        // This is an event during synchronous list selection.  Stop the nested scheduler.
-        iWait.AsyncStop();
-        return;
-        }
-
-    TWsEvent event;
-    iWs.GetEvent(event);
-
-    TInt operationIndex = -1;
-
-    TInt scanCode = 0;
-    bool processScanCode = false;
-
-    TInt operation = KOperation_None;
-
-    // Other potentially useful events are EEventKeyUp and EEventKeyDown.
-
-    if (event.Type() == EEventKey)
-        {
-        scanCode = event.Key()->iScanCode;
-
-        RDebug::Printf("key event %x %c", scanCode, scanCode);
-
-        // Allow subclasses a chance to consume the key event directly.  If that happens, then
-        // do not handle the key as normal.
-        if (!ConsumeKeyEvent(scanCode))
-            {
-            processScanCode = true;
-            }
-        }
-    else if (event.Type() == EEventPointer)
-        {
-        TAdvancedPointerEvent* p = event.Pointer();
-
-        TTestAppPointerEvent pointerEvent = CharacterizePointerEvent(*p);
-
-        switch (pointerEvent)
-            {
-            case EPointerEvent_None:
-                // Do nothing.
-                break;
-            case EPointerEvent_Up:
-                operation = KOperation_PreviousOption;
-                break;
-            case EPointerEvent_Down:
-                operation = KOperation_NextOption;
-                break;
-            case EPointerEvent_Left:
-                operation = KOperation_PreviousOptionPage;
-                break;
-            case EPointerEvent_Right:
-                operation = KOperation_NextOptionPage;
-                break;
-            case EPointerEvent_Select:
-                operation = KOperation_ExecuteOption;
-                break;
-            }
-        }
-
-    if (processScanCode)
-        {
-        // If one of the softkeys were pressed then take the appropriate action.
-        // This is to support a two button touch device with no numeric keypad.
-        // Support 'A' and 'B' also, for the NCP emulator where a keyboard  is
-        // not displayed.
-        switch (scanCode)
-            {
-            case KLeftSoftKeyScanCode:
-            case 'a':
-            case 'A':
-                {
-                operation = KOperation_NextOption;
-                break;
-                }
-            case KRightSoftKeyScanCode:
-            case 'b':
-            case 'B':
-                {
-                // Execute softkey function.
-                operation = KOperation_ExecuteOption;
-                break;
-                }
-            default:
-                {
-                // Search for scancode in keymap.  If not found then the key was not a valid
-                // key, so ignore.                
-                TInt index = 0;
-                while ((index < KSupportedKeysCount)
-                        && (operationIndex == -1))
-                    {
-                    if (KSupportedKeys[index].scanCode == scanCode
-                            || KSupportedKeys[index].scanCode2 == scanCode)
-                        {
-                        // Found!
-                        operationIndex = index;
-                        }
-                    else
-                        {
-                        index++;
-                        }
-                    }
-                break;
-                }
-            }
-        }
-
-    if (operation == KOperation_ExecuteOption)
-        {
-        operationIndex = iSoftkeyIndex;
-        }
-
-    if (operationIndex >= 0)
-        {
-        operation = KeyMapOperation(operationIndex, iCurrentPage);
-        }
-
-    if (operation != KOperation_None)
-        {
-        // Valid operation.
-
-        switch (operation)
-            {
-            case KOperation_Exit:
-                {
-                CActiveScheduler::Stop();
-                break;
-                }
-            case KOperation_PreviousOption:
-                {
-                // Change softkey function.
-                DecrementKeymapIndex(iSoftkeyIndex, iCurrentPage);
-
-                // Redraw help text, since a new function should now be underlined.
-                DrawHelpText();
-
-                // Notify subclass that softkey function has been updated.
-                SoftkeyFunctionUpdated();
-                break;
-                }
-            case KOperation_NextOption:
-                {
-                // Change softkey function.
-                IncrementKeymapIndex(iSoftkeyIndex, iCurrentPage);
-
-                // Redraw help text, since a new function should now be underlined.
-                DrawHelpText();
-
-                // Notify subclass that softkey function has been updated.
-                SoftkeyFunctionUpdated();
-                break;
-                }
-            case KOperation_PreviousOptionPage:
-                {
-                iCurrentPage = (iCurrentPage + iPageCount - 1) % iPageCount;
-                iSoftkeyIndex = iKeyMap[iCurrentPage].defaultSoftkeyIndex;
-                DrawHelpText();
-                SoftkeyFunctionUpdated();
-                break;
-                }
-            case KOperation_NextOptionPage:
-                {
-                iCurrentPage = (iCurrentPage + 1) % iPageCount;
-                iSoftkeyIndex = iKeyMap[iCurrentPage].defaultSoftkeyIndex;
-                DrawHelpText();
-                SoftkeyFunctionUpdated();
-                break;
-                }
-            case KOperation_ToggleHelpVisibility:
-                {
-                // Toggle help text on/off.
-                iHelpActive = !iHelpActive;
-                iHelpWindow->SetVisible(iHelpActive);
-                break;
-                }
-            case KOperation_ToggleHelpTransparency:
-                {
-                iHelpSemitransparentBackgroundActive
-                        = !iHelpSemitransparentBackgroundActive;
-                if (iHelpSemitransparentBackgroundActive)
-                    {
-                    // Turn on help if it is currently off.
-                    iHelpActive = true;
-                    iHelpWindow->SetVisible(true);
-                    }
-                DrawHelpText();
-                break;
-                }
-            default:
-                {
-                // Pass operation to subclass.
-                TPtrC operatioName(KeyMapText(operationIndex, iCurrentPage));
-                ExecuteOperation(operation, operatioName);
-                break;
-                }
-            }
-        }
-
-    SetActive();
-    iWs.EventReady(&iStatus);
-    }
-
-void CTestAppBase::DoCancel()
-    {
-    iWs.EventReadyCancel();
-    }
-
-// TODO: ALLOW SUBCLASS TO SPECIFY COLOR SELECTIONS
-
-TInt CTestAppBase::SelectFromListL(TPoint aTopLeft, TSize aSize,
-        const TDesC& aHeaderText, RPointerArray<TDesC>& aSelectionList,
-        TInt aInitialSelectionIndex)
-    {
-    iSelectionWindow->SetExtent(aTopLeft, aSize);
-    iSelectionWindow->SetVisible(true);
-
-    const TInt KRowIncrement = iFontSize + 2;
-
-    TInt entriesPerPage = aSize.iHeight / KRowIncrement - 4;
-
-    TInt returnValue = -2;
-    TInt startIndex = 0;
-    TInt selected = aInitialSelectionIndex;
-
-    while (returnValue == -2)
-        {
-        iGc->Activate(*iSelectionWindow);
-
-        iSelectionWindow->Invalidate();
-        iSelectionWindow->BeginRedraw();
-
-        iGc->Reset();
-
-        iGc->UseFont(iFont);
-        iGc->SetBrushColor(KRgbDarkBlue);
-
-        iGc->Clear();
-
-        // KRgbWhite seems to be having problems (0xffffff) in some emulators,
-        // but 0xfefefe is working, so use that instead of white.        
-        iGc->SetPenColor(0xfefefe);
-
-        const TInt KHeaderColumn = 5;
-        const TInt KEntryColumn = 15;
-
-        TInt row = KRowIncrement;
-
-        iGc->SetUnderlineStyle(EUnderlineOff);
-
-        iGc->DrawText(aHeaderText, TPoint(KHeaderColumn, row));
-        row += (KRowIncrement + 5);
-
-        TBool again = true;
-        TInt backIndex = -1;
-        TInt forwardIndex = -1;
-        TInt offset = 0;
-
-        while (again)
-            {
-            if (selected == offset)
-                {
-                iGc->SetUnderlineStyle(EUnderlineOn);
-                }
-            else
-                {
-                iGc->SetUnderlineStyle(EUnderlineOff);
-                }
-
-            if ((offset < entriesPerPage) && (startIndex + offset
-                    < aSelectionList.Count()))
-                {
-                iGc->DrawText(*aSelectionList[startIndex + offset], TPoint(
-                        KEntryColumn, row));
-                row += KRowIncrement;
-
-                offset++;
-                }
-            else
-                {
-                again = false;
-                if (startIndex + offset < aSelectionList.Count())
-                    {
-                    iGc->DrawText(_L("<page down>"),
-                            TPoint(KEntryColumn, row));
-                    row += KRowIncrement;
-
-                    forwardIndex = offset;
-                    offset++;
-                    }
-                if (startIndex > 0)
-                    {
-                    iGc->DrawText(_L("<page up>"), TPoint(KEntryColumn, row));
-                    row += KRowIncrement;
-
-                    backIndex = offset;
-                    offset++;
-                    }
-                }
-            }
-
-        iSelectionWindow->EndRedraw();
-
-        iGc->Deactivate();
-
-        TInt scanCode = WaitForAnyKey();
-
-        switch (scanCode)
-            {
-            case EStdKeyUpArrow:
-                if (selected == 0)
-                    {
-                    selected = offset - 1;
-                    }
-                else
-                    {
-                    selected -= 1;
-                    }
-                break;
-
-            case EStdKeyDownArrow:
-            case KLeftSoftKeyScanCode:
-            case 'a':
-            case 'A':
-                selected += 1;
-                if (selected == offset)
-                    {
-                    selected = 0;
-                    }
-                break;
-
-            case EStdKeyLeftArrow:
-                if (backIndex >= 0)
-                    {
-                    startIndex -= entriesPerPage;
-                    selected = 0;
-                    }
-                else
-                    {
-                    returnValue = -1;
-                    again = false;
-                    }
-                break;
-
-            case EStdKeyRightArrow:
-                if (forwardIndex >= 0)
-                    {
-                    startIndex += entriesPerPage;
-                    selected = 0;
-                    }
-                break;
-
-            case EStdKeyEnter:
-            case KRightSoftKeyScanCode:
-            case 'b':
-            case 'B':
-                if (selected == forwardIndex)
-                    {
-                    startIndex += entriesPerPage;
-                    selected = 0;
-                    }
-                else if (selected == backIndex)
-                    {
-                    startIndex -= entriesPerPage;
-                    selected = 0;
-                    }
-                else
-                    {
-                    returnValue = startIndex + selected;
-                    }
-                break;
-            }
-        }
-
-    iSelectionWindow->SetVisible(false);
-
-    return returnValue;
-    }
-
-bool CTestAppBase::SelectDriveL(TPoint aTopLeft, TSize aWindowSize,
-        const TDesC& aHeaderText, TDes& aDrive)
-    {
-    RPointerArray<TDesC> drives;
-
-    // Select drive letter.
-    drives.Append(&KDriveC);
-    drives.Append(&KDriveE);
-    drives.Append(&KDriveF);
-    drives.Append(&KDriveZ);
-
-    TInt index = SelectFromListL(aTopLeft, aWindowSize, aHeaderText, drives);
-
-    bool returnValue = false;
-
-    if (index >= 0)
-        {
-        returnValue = true;
-        aDrive.Copy(*(drives[index]));
-        aDrive.Append(_L("\\"));
-        }
-
-    drives.Reset();
-
-    return returnValue;
-    }
-
-bool CTestAppBase::SelectFileL(TPoint aTopLeft, TSize aWindowSize,
-        const TDesC& aHeaderText, const TDesC& aDrive, TDes& aFullFilename)
-    {
-    TFileName directory;
-
-    DoSelectFileL(aTopLeft, aWindowSize, aHeaderText, aDrive, 0, directory,
-            aFullFilename);
-
-    aFullFilename.Insert(0, directory);
-
-    return aFullFilename.Length() > 0;
-    }
-
-bool CTestAppBase::SelectFileWithHistoryL(TPoint aTopLeft, TSize aSize,
-        TDes& aFullFilename, const TDesC& aHistoryFilename,
-        TInt aMaxHistoryEntries)
-    {
-    RPointerArray<TDesC> selections;
-
-    selections.Append(&KDriveC);
-    selections.Append(&KDriveE);
-    selections.Append(&KDriveF);
-    selections.Append(&KDriveZ);
-
-    // Add file history to the end of the drive list.  Newest files are last, so add in reverse order.
-    ReadFileHistory(aHistoryFilename);
-    for (TInt index = iFileHistory.Count() - 1; index >= 0; index--)
-        {
-        selections.Append(iFileHistory[index]);
-        }
-
-    bool done = false;
-    bool selected = true;
-
-    while (!done)
-        {
-        TInt index = SelectFromListL(aTopLeft, aSize,
-                _L("Select drive or recent file:"), selections);
-
-        if (index < 0)
-            {
-            selected = false;
-            done = true;
-            }
-        else if (index < 4)
-            {
-            TBuf<10> drive;
-            drive.Copy(*(selections[index]));
-            drive.Append(_L("\\"));
-
-            done = SelectFileL(aTopLeft, aSize, _L("Select file:"), drive,
-                    aFullFilename);
-            }
-        else
-            {
-            // Remove the selected file from the history, so that it will pop up to the top of the list
-            // as the most recently selected file.
-            TInt historyIndex = iFileHistory.Count() - index + 3;
-            iFileHistory.Remove(historyIndex);
-            aFullFilename.Copy(*(selections[index]));
-
-            done = true;
-            }
-        }
-
-    if (selected)
-        {
-        AddToFileHistory(aFullFilename, aHistoryFilename, aMaxHistoryEntries);
-        }
-
-    selections.Reset();
-
-    return selected;
-    }
-
-bool CTestAppBase::SelectIntegerL(TPoint aTopLeft, TSize aSize,
-        const TDesC& aHeaderText, TInt aMin, TInt aMax, TInt& aSelection)
-    {
-    // currently no way to exit out of this selection
-
-    iSelectionWindow->SetExtent(aTopLeft, aSize);
-    iSelectionWindow->SetVisible(true);
-
-    bool done = false;
-
-    while (!done)
-        {
-        iGc->Activate(*iSelectionWindow);
-
-        iSelectionWindow->Invalidate();
-        iSelectionWindow->BeginRedraw();
-
-        iGc->Reset();
-
-        iGc->UseFont(iFont);
-        iGc->SetBrushColor(KRgbDarkBlue);
-
-        iGc->Clear();
-
-        // KRgbWhite seems to be having problems (0xffffff) in some emulators,
-        // but 0xfefefe is working, so use that instead of white.        
-        iGc->SetPenColor(0xfefefe);
-
-        TBuf<120> buffer;
-        buffer.Copy(aHeaderText);
-        buffer.AppendFormat(_L(" %i"), aSelection);
-
-        iGc->DrawText(buffer, TPoint(5, iFontSize + 2));
-
-        iSelectionWindow->EndRedraw();
-
-        iGc->Deactivate();
-
-        TInt scanCode = WaitForAnyKey();
-
-        switch (scanCode)
-            {
-            case EStdKeyUpArrow:
-                aSelection -= 10;
-                break;
-
-            case EStdKeyDownArrow:
-            case KLeftSoftKeyScanCode:
-            case 'a':
-            case 'A':
-                aSelection += 10;
-                break;
-
-            case EStdKeyLeftArrow:
-                aSelection--;
-                break;
-
-            case EStdKeyRightArrow:
-                aSelection++;
-                break;
-
-            case EStdKeyEnter:
-            case KRightSoftKeyScanCode:
-            case 'b':
-            case 'B':
-                done = true;
-                break;
-            }
-
-        if (aSelection > aMax)
-            {
-            aSelection = aMin;
-            }
-        else if (aSelection < aMin)
-            {
-            aSelection = aMax;
-            }
-        }
-
-    iSelectionWindow->SetVisible(false);
-
-    return true;
-    }
-
-TInt CTestAppBase::WaitForAnyKey()
-    {
-    TInt returnValue = 0;
-
-    bool done = false;
-
-    while (!done)
-        {
-        // Have to use this tricky nested active scheduler technique to allow the active object
-        // used to remap volume keys to run.
-        SetActive();
-        iWs.EventReady(&iStatus);
-        iWait.Start();
-
-        TWsEvent event;
-        iWs.GetEvent(event);
-
-        // Other potentially useful events are EEventKeyUp and EEventKeyDown.
-
-        if (event.Type() == EEventKey)
-            {
-            done = true;
-            returnValue = event.Key()->iScanCode;
-            }
-        else if (event.Type() == EEventPointer)
-            {
-            TAdvancedPointerEvent* p = event.Pointer();
-
-            TTestAppPointerEvent pointerEvent = CharacterizePointerEvent(*p);
-
-            switch (pointerEvent)
-                {
-                case EPointerEvent_None:
-                    // Do nothing.
-                    break;
-                case EPointerEvent_Up:
-                    returnValue = EStdKeyUpArrow;
-                    done = true;
-                    break;
-                case EPointerEvent_Down:
-                    returnValue = EStdKeyDownArrow;
-                    done = true;
-                    break;
-                case EPointerEvent_Left:
-                    returnValue = EStdKeyLeftArrow;
-                    done = true;
-                    break;
-                case EPointerEvent_Right:
-                    returnValue = EStdKeyRightArrow;
-                    done = true;
-                    break;
-                case EPointerEvent_Select:
-                    returnValue = EStdKeyEnter;
-                    done = true;
-                    break;
-                }
-            }
-        }
-
-    return returnValue;
-    }
-
-void CTestAppBase::ReadFileHistory(const TDesC& aHistoryFilename)
-    {
-    iFileHistory.Reset();
-
-    RFile historyFile;
-    TInt err = historyFile.Open(iFs, aHistoryFilename, EFileShareReadersOnly
-            | EFileStream | EFileRead);
-
-    if (err == KErrNone)
-        {
-        TInt historyFileSize;
-        historyFile.Size(historyFileSize);
-
-        RBuf8 contents;
-        contents.Create(historyFileSize);
-
-        historyFile.Read(contents, historyFileSize);
-
-        historyFile.Close();
-
-        TPtrC8 remaining(contents);
-
-        while (remaining.Length() > 0)
-            {
-            TInt separatorIndex = remaining.Locate('\n');
-
-            if (separatorIndex < 0)
-                {
-                separatorIndex = remaining.Length();
-                }
-
-            HBufC* filename = HBufC::NewL(separatorIndex);
-            TPtrC8 filename8 = remaining.Left(separatorIndex);
-            filename->Des().Copy(filename8);
-
-            iFileHistory.Append(filename);
-
-            TInt remainingLength = remaining.Length() - separatorIndex - 1;
-
-            if (remainingLength > 0)
-                {
-                remaining.Set(remaining.Right(remaining.Length()
-                        - separatorIndex - 1));
-                }
-            else
-                {
-                break;
-                }
-            }
-
-        contents.Close();
-        }
-    }
-
-void CTestAppBase::AddToFileHistory(const TDesC& aFilename,
-        const TDesC& aHistoryFilename, TInt aMaxHistoryEntries)
-    {
-    HBufC* filename = HBufC::NewL(aFilename.Length());
-    filename->Des().Copy(aFilename);
-    iFileHistory.Append(filename);
-
-    while (iFileHistory.Count() > aMaxHistoryEntries)
-        {
-        delete iFileHistory[0];
-        iFileHistory.Remove(0);
-        }
-
-    RFile historyFile;
-    TInt err = historyFile.Create(iFs, aHistoryFilename, EFileStream
-            | EFileWrite);
-    if (err == KErrAlreadyExists)
-        {
-        err = historyFile.Open(iFs, aHistoryFilename, EFileStream
-                | EFileWrite);
-        historyFile.SetSize(0);
-        }
-
-    if (err == KErrNone)
-        {
-        for (TInt index = 0; index < iFileHistory.Count(); index++)
-            {
-            TBuf8<KMaxFileName> filename8;
-            filename8.Copy(iFileHistory[index]->Des());
-            historyFile.Write(filename8);
-            historyFile.Write(_L8("\n"));
-            }
-        }
-
-    historyFile.Close();
-    }
-
-void CTestAppBase::DoSelectFileL(TPoint aTopRight, TSize aWindowSize,
-        const TDesC& aHeaderText, const TFileName& aDirectory,
-        TInt aDirectoryLevel, TDes& aSelectedDirectory,
-        TDes& aSelectedFilename)
-    {
-    RPointerArray<TDesC> fileNames;
-
-    ReadDirectoryEntriesL(aDirectory, fileNames);
-
-    TInt initialSelectionIndex = 0;
-    _LIT( KUp, ".." );
-    if (aDirectoryLevel > 0)
-        {
-        TFileName* newEntry = new (ELeave) TFileName;
-        newEntry->Copy(KUp);
-        fileNames.Insert(newEntry, 0);
-        initialSelectionIndex++;
-        }
-
-    bool done = false;
-
-    while (!done && (aSelectedFilename.Length() == 0))
-        {
-        TInt index = SelectFromListL(aTopRight, aWindowSize, aHeaderText,
-                fileNames, initialSelectionIndex);
-
-        if (index == -1)
-            {
-            done = true;
-            }
-        else if (fileNames[index]->Compare(KUp) == 0)
-            {
-            // Go up one directory.  Return to caller without setting aFilename
-            break;
-            }
-        else if ((*fileNames[index])[fileNames[index]->Length() - 1] == '\\')
-            {
-            // Directory selected.
-            TFileName directory;
-            directory.Copy(aDirectory);
-            directory.Append(*fileNames[index]);
-            DoSelectFileL(aTopRight, aWindowSize, aHeaderText, directory,
-                    aDirectoryLevel + 1, aSelectedDirectory,
-                    aSelectedFilename);
-            }
-        else
-            {
-            // File selected.                            
-            aSelectedDirectory.Copy(aDirectory);
-            aSelectedFilename.Copy(*fileNames[index]);
-            done = true;
-            }
-
-        }
-
-    fileNames.ResetAndDestroy();
-    }
-
-void CTestAppBase::ReadDirectoryEntriesL(const TFileName& aDirectoryName,
-        RPointerArray<TDesC>& aFileNames)
-    {
-    aFileNames.ResetAndDestroy();
-
-    RDir dir;
-    User::LeaveIfError(dir.Open(iFs, aDirectoryName, KEntryAttNormal
-            | KEntryAttDir));
-
-    TEntryArray entries;
-    TInt err = KErrNone;
-    while (err == KErrNone)
-        {
-        err = dir.Read(entries);
-
-        for (TInt index = 0; index < entries.Count(); index++)
-            {
-            TFileName* newTail = new (ELeave) TFileName;
-            newTail->Copy(entries[index].iName);
-            if (entries[index].IsDir())
-                {
-                newTail->Append(_L("\\"));
-                }
-            aFileNames.Append(newTail);
-            }
-        }
-
-    dir.Close();
-    }
-
-void CTestAppBase::DrawHelpText()
-    {
-    iGc->Activate(*iHelpWindow);
-
-    iHelpWindow->Invalidate();
-    iHelpWindow->BeginRedraw();
-
-    iGc->Reset();
-
-    iGc->UseFont(iFont);
-    iGc->SetBrushColor(KRgbTransparent);
-
-    iGc->Clear();
-
-    if (iHelpSemitransparentBackgroundActive)
-        {
-        iGc->SetPenColor(KRgbTransparent);
-        iGc->SetBrushStyle(CWindowGc::ESolidBrush);
-        iGc->SetBrushColor(TRgb(0x7f7f7faf));
-        iGc->DrawRect(TRect(iHelpWindowSize));
-        }
-
-    // KRgbWhite seems to be having problems (0xffffff) in some emulators,
-    // but 0xfefefe is working, so use that instead of white.        
-    iGc->SetPenColor(0xfefefe);
-
-    const TInt KColumn1 = KHelpWindowBorderPixels;
-    const TInt KColumn2 = KColumn1 + iHelpWindowColumn1Width
-            + KHelpWindowSpaceBetweenColumns;
-    const TInt KRowIncrement = iFontSize + KHelpWindowSpaceBetweenRows;
-
-    TInt row = iFontSize + KHelpWindowBorderPixels;
-
-    for (TInt index = 0; index < KSupportedKeysCount; index++)
-        {
-        iGc->SetUnderlineStyle(EUnderlineOff);
-
-        TPtrC text = KeyMapText(index, iCurrentPage);
-
-        iGc->DrawText(KeyName(index), TPoint(KColumn1, row));
-
-        if (index == iSoftkeyIndex)
-            {
-            iGc->SetUnderlineStyle(EUnderlineOn);
-            }
-        else
-            {
-            iGc->SetUnderlineStyle(EUnderlineOff);
-            }
-
-        iGc->DrawText(text, TPoint(KColumn2, row));
-
-        row += KRowIncrement;
-        }
-
-    iHelpWindow->EndRedraw();
-
-    iGc->Deactivate();
-    }
-
-void CTestAppBase::MrccatoCommand(TRemConCoreApiOperationId aOperationId,
-        TRemConCoreApiButtonAction /*aButtonAct*/)
-    {
-    // Treat volume up like the right soft key, and volume down like the left soft key.
-    TKeyEvent keyEvent;
-    keyEvent.iCode = 0;
-    keyEvent.iScanCode = 0;
-    keyEvent.iModifiers = 0;
-    keyEvent.iRepeats = 0;
-
-    switch (aOperationId)
-        {
-        case ERemConCoreApiVolumeUp:
-            keyEvent.iScanCode = KRightSoftKeyScanCode;
-            iWs.SimulateKeyEvent(keyEvent);
-            iWs.Flush();
-            break;
-        case ERemConCoreApiVolumeDown:
-            keyEvent.iScanCode = KLeftSoftKeyScanCode;
-            iWs.SimulateKeyEvent(keyEvent);
-            iWs.Flush();
-            break;
-        default:
-            break;
-        }
-    }
--- a/mmserv/sts/tsrc/ststester/src/testappbase.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- * Header specifying the common test functionality.
- */
-
-#ifndef TESTAPPBASE_H_
-#define TESTAPPBASE_H_
-
-#include <e32base.h>
-#include <w32std.h>
-#include <remconcoreapitargetobserver.h>  // for volume key handling
-class CRemConCoreApiTarget;
-class CRemConInterfaceSelector;
-
-#define STR(a) (TText*)L##a
-
-// 15 keys are supported.  The keys are in this order:
-//    Enter, Up, Down, Left, Right, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
-const TInt KSupportedKeysCount = 15;
-
-struct TOperationEntry
-    {
-    const TText* text;
-    TInt operation;
-    };
-
-struct TOperationsPage
-    {
-    const TText* pageName;
-    TInt defaultSoftkeyIndex;
-    TOperationEntry mapping[KSupportedKeysCount];
-    };
-
-// Predefined standard operations
-const TInt KOperation_None = 0;
-const TInt KOperation_Exit = 1;
-const TInt KOperation_PreviousOptionPage = 2;
-const TInt KOperation_NextOptionPage = 3;
-const TInt KOperation_NextOption = 4;
-const TInt KOperation_PreviousOption = 5;
-const TInt KOperation_ExecuteOption = 6;
-const TInt KOperation_ToggleHelpVisibility = 7;
-const TInt KOperation_ToggleHelpTransparency = 8;
-const TInt KOperation_FirstCustomIndex = 10; // app-specific operations can start here
-
-const TUint32 KNullWsHandle = 0xFFFFFFFF;
-
-class CTestAppBase : public CActive, private MRemConCoreApiTargetObserver
-    {
-public:
-
-    CTestAppBase(TInt aFontSize);
-
-    ~CTestAppBase();
-
-    // inherited from CActive
-    void RunL();
-    void DoCancel();
-
-protected:
-
-    virtual void ExecuteOperation(TInt aOperation,
-            const TDesC& aOperationText) = 0;
-
-    // Subclasses can override this function to take action when the current softkey function has been changed.
-    virtual void SoftkeyFunctionUpdated()
-        {
-        }
-    ;
-
-    // Subclasses can override this function to override the default key event handling.
-    virtual bool ConsumeKeyEvent(TInt /*aScanCode*/)
-        {
-        return false;
-        }
-    ;
-
-    void BaseConstructL(const TOperationsPage* aKeyMap, TInt aPageCount);
-
-    void SetupVolumeKeysL();
-
-    void StartMonitoringWindowEvents();
-
-    TInt CurrentPageNumber();
-
-    TPtrC CurrentPageName();
-
-    TPtrC CurrentSoftkeyName();
-
-    // Presents a selection list to the user and returns the index of the selected entry.
-    // Synchronous call.
-    // returns -1 if the selection was backed out without making a selection
-    TInt SelectFromListL(TPoint aTopLeft, TSize aSize,
-            const TDesC& aHeaderText, RPointerArray<TDesC>& aSelectionList,
-            TInt aInitialSelectionIndex = 0);
-
-    // Synchronous call.
-    // returns false if the selection was backed out without making a selection
-    bool SelectDriveL(TPoint aTopLeft, TSize aSize, const TDesC& aHeaderText,
-            TDes& aDrive);
-
-    // Synchronous call.
-    // returns false if the selection was backed out without making a selection
-    bool SelectFileL(TPoint aTopLeft, TSize aSize, const TDesC& aHeaderText,
-            const TDesC& aDrive, TDes& aFullFilename);
-
-    // Synchronous call.
-    // returns false if the selection was backed out without making a selection
-    bool SelectFileWithHistoryL(TPoint aTopLeft, TSize aSize,
-            TDes& aFullFilename, const TDesC& aHistoryFilename,
-            TInt aMaxHistoryEntries);
-
-    // Synchronous call.
-    // returns false if the selection was backed out without making a selection
-    bool SelectIntegerL(TPoint aTopLeft, TSize aSize,
-            const TDesC& aHeaderText, TInt aMin, TInt aMax, TInt& aSelection); // set aSelection to default value
-
-    // Synchronous call.  Returns the scan code of the pressed key.
-    TInt WaitForAnyKey();
-
-    const TInt iFontSize;
-
-    RFs iFs;
-    RWsSession iWs;
-    CWsScreenDevice* iScreenDevice;
-    RWindowGroup* iWindowGroup;
-    CWindowGc* iGc;
-    CFont* iFont;
-    CFbsTypefaceStore* iTypefaceStore;
-    TSize iDisplaySize;
-    RWindow* iSelectionWindow;
-    RWindow* iHelpWindow;
-
-private:
-
-    enum TTestAppPointerEvent
-        {
-        EPointerEvent_None,
-        EPointerEvent_Up,
-        EPointerEvent_Down,
-        EPointerEvent_Left,
-        EPointerEvent_Right,
-        EPointerEvent_Select
-        };
-
-    // inherited from MRemConCoreApiTargetObserver
-    void MrccatoCommand(TRemConCoreApiOperationId aOperationId,
-            TRemConCoreApiButtonAction aButtonAct);
-
-    TInt KeyMapOperation(TInt aIndex, TInt aPage);
-
-    TPtrC KeyMapText(TInt aIndex, TInt aPage);
-
-    void IncrementKeymapIndex(TInt& aIndex, TInt aPage);
-
-    void DecrementKeymapIndex(TInt& aIndex, TInt aPage);
-
-    void CalculateHelpWindowSize();
-
-    void DrawHelpText();
-
-    void DoSelectFileL(TPoint aTopRight, TSize aWindowSize,
-            const TDesC& aHeaderText, const TFileName& aDirectory,
-            TInt aDirectoryLevel, TDes& aSelectedDirectory,
-            TDes& aSelectedFilename);
-
-    void ReadDirectoryEntriesL(const TFileName& aDirectoryName,
-            RPointerArray<TDesC>& aFileNames);
-
-    void ReadFileHistory(const TDesC& aHistoryFilename);
-
-    void AddToFileHistory(const TDesC& aFilename,
-            const TDesC& aHistoryFilename, TInt aMaxHistoryEntries);
-
-    TTestAppPointerEvent CharacterizePointerEvent(
-            TAdvancedPointerEvent& event);
-
-    const TOperationsPage* iKeyMap;
-    TInt iPageCount;
-    TInt iCurrentPage;
-    TInt iSoftkeyIndex;
-    RPointerArray<HBufC> iFileHistory;
-
-    CActiveSchedulerWait iWait;
-
-    TPoint iHelpWindowTopRight;
-    TSize iHelpWindowSize;
-    TInt iHelpWindowColumn1Width;
-    TInt iHelpWindowColumn2Width;
-    bool iHelpActive;
-    bool iHelpSemitransparentBackgroundActive;
-
-    TPoint iPointerDownPosition;
-
-    // For volume key support
-    CRemConCoreApiTarget* iCoreTarget;
-    CRemConInterfaceSelector* iInterfaceSelector;
-    };
-
-#endif // TESTAPPBASE_H_
--- a/mmserv/thumbnailengine/Group/HXTNEEngine.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/thumbnailengine/Group/HXTNEEngine.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -70,7 +70,7 @@
 LIBRARY			euser.lib efsrv.lib
 LIBRARY			fbscli.lib
 LIBRARY			gdi.lib
-LIBRARY			3gpmp4lib.lib
+LIBRARY			3GPMP4Lib.lib
 LIBRARY			ecom.lib
 LIBRARY			devvideo.lib
 LIBRARY			flogger.lib
--- a/mmserv/thumbnailengine/Group/TNEEngine.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/thumbnailengine/Group/TNEEngine.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -67,7 +67,7 @@
 LIBRARY			euser.lib efsrv.lib
 LIBRARY			fbscli.lib
 LIBRARY			gdi.lib
-LIBRARY			3gpmp4lib.lib
+LIBRARY			3GPMP4Lib.lib
 LIBRARY			ecom.lib
 LIBRARY			devvideo.lib
 
--- a/mmserv/thumbnailengine/TneAPISrc/HXTNEVideoClipInfoImp.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/thumbnailengine/TneAPISrc/HXTNEVideoClipInfoImp.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -421,14 +421,6 @@
     
     if ( !iRgbBuf )
     {
-        //we only support even frame width & height. Ignore and return error
-        if ( (iMetaData.iWidth & 0x01) || (iMetaData.iHeight & 0x01) )
-        {
-             FLOG(_L("CHXTNEVideoClipInfoImp::GenerateThumbNail non-even frame size returning error iMetaData.iWidth=%d iMetaData.iHeight=%d "),iMetaData.iWidth,iMetaData.iHeight);
-             HandleThumbnailError(KErrNotSupported);
-             return;
-        }
-        
         TSize inputFrameResolution(iMetaData.iWidth,iMetaData.iHeight);
                        
         // rgb specs
--- a/mmserv/tms/inc/tmscallclisrv.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/inc/tmscallclisrv.h	Wed Sep 01 12:23:00 2010 +0100
@@ -53,7 +53,6 @@
     TMS_ROUTING_OUTPUT_GET,
     TMS_ROUTING_PREVIOUSOUTPUT_GET,
     TMS_ROUTING_AVAILABLE_OUTPUT_GET,
-    TMS_GET_ACTIVE_CALL_PARAMS,
 
     //For TMS Format
     TMS_FORMAT_SETCODECMODE,
@@ -70,7 +69,10 @@
     TMS_FORMAT_SETCNG,
     TMS_FORMAT_GETCNG,
     TMS_FORMAT_SETPLC,
-    TMS_FORMAT_GETPLC
+    TMS_FORMAT_GETPLC,
+    TMS_DTMF_START,
+    TMS_DTMF_STOP,
+    TMS_DTMF_CONTINUE
     };
 
 struct TMSCliSrvStreamCreateDataStruct
@@ -87,7 +89,6 @@
     TMSStreamType StreamType;
     gint StreamId;
     TMSFormatType FormatType;
-    gint RetryTime;
     };
 typedef TPckgBuf<TMSCliSrvStreamInitDataStruct>
         TMSCliSrvStreamInitDataStructBufPckg;
@@ -97,7 +98,6 @@
     TMSCallType CallType;
     TMSStreamType StreamType;
     gint StreamId;
-    gint RetryTime;
     };
 typedef TPckgBuf<TMSCliSrvStreamOpDataStruct>
         TMSCliSrvStreamOpDataStructBufPckg;
@@ -122,15 +122,6 @@
 typedef TPckgBuf<TMSCliSrvDataXferChunkHndlDataStruct>
         TMSCliSrvDataXferChunkHndlDataStructBufPckg;
 
-struct TmsCallMsgBuf
-    {
-    gint iRequest;
-    gint iStatus;
-    gboolean iBool;
-    gint iInt;
-    };
-typedef TPckgBuf<TmsCallMsgBuf> TmsCallMsgBufPckg;
-
 } //namespace TMS
 
 #endif // TMSCALLCLISRV_H
--- a/mmserv/tms/inc/tmscallproxy.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/inc/tmscallproxy.h	Wed Sep 01 12:23:00 2010 +0100
@@ -42,10 +42,9 @@
             const TMSStreamType strmType, gint& strmId);
     IMPORT_C gint InitStream(const TMSCallType callType,
             const TMSStreamType strmType, gint strmId,
-            const TMSFormatType frmtType, RHandleBase* msgQueue,
-            const gint retrytime);
+            const TMSFormatType frmtType, RHandleBase* msgQueue);
     IMPORT_C gint StartStream(const TMSCallType callType,
-            const TMSStreamType strmType, gint strmId, const gint retrytime);
+            const TMSStreamType strmType, gint strmId);
     IMPORT_C gint PauseStream(const TMSCallType callType,
             const TMSStreamType strmType, gint strmId);
     IMPORT_C gint StopStream(const TMSCallType callType,
--- a/mmserv/tms/inc/tmsclientserver.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/inc/tmsclientserver.h	Wed Sep 01 12:23:00 2010 +0100
@@ -58,7 +58,8 @@
     ETMSRingTonePause,
     ETMSRingToneStop,
     ETMSRingToneMute,
-    ETMSInitDTMF,
+    ETMSStartDTMFNotifier,
+    ETMSCancelDTMFNotifier,
     ETMSStartDTMF,
     ETMSStopDTMF,
     ETMSContinueDTMF,
@@ -81,8 +82,7 @@
     EGlobalEffectsPsVolume = 10,
     EGlobalEffectsPsGain,
     ERoutingPs,
-    EDtmfPs,
-    ESyncVolume
+    EDtmfPs
     };
 
 // TMSServer message queue notifier type keys
--- a/mmserv/tms/inc/tmsdtmfbody.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMS_DTMF_BODY_H
-#define TMS_DTMF_BODY_H
-
-#include <tms.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSDTMFObserver;
-
-// CLASS DECLARATION
-class TMSDTMFBody
-    {
-public:
-    virtual ~TMSDTMFBody() {}
-
-    virtual gint AddObserver(TMSDTMFObserver& obsrvr, gpointer user_data) = 0;
-    virtual gint RemoveObserver(TMSDTMFObserver& obsrvr) = 0;
-    virtual gint Start() = 0;
-    virtual gint Stop() = 0;
-    virtual gint SetTone(GString* string) = 0;
-    virtual gint ContinueDTMFStringSending(gboolean aContinue) = 0;
-    };
-
-} //namespace TMS
-
-#endif //TMS_GLOBAL_ROUTING_BODY_H
-
--- a/mmserv/tms/inc/tmsdtmfimpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMS_DTMF_IMPL_H
-#define TMS_DTMF_IMPL_H
-
-#include <tms.h>
-#include <tmsdtmf.h>
-
-namespace TMS {
-
-// TMSDTMFImpl class
-class TMSDTMFImpl : public TMSDTMF
-    {
-public:
-    virtual ~TMSDTMFImpl();
-    IMPORT_C static gint Create(TMSStreamType streamtype, TMSDTMF*& dtmf);
-    IMPORT_C static gint Delete(TMSDTMF*& dtmf);
-
-private:
-    TMSDTMFImpl();
-    gint PostConstruct(TMSStreamType streamtype);
-    };
-
-} //namespace TMS
-
-#endif //TMS_DTMF_IMPL_H
-
--- a/mmserv/tms/inc/tmsinbandtonebody.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMS_INBAND_BODY_H
-#define TMS_INBAND_BODY_H
-
-#include <tms.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSInbandToneObserver;
-
-// CLASS DECLARATION
-class TMSInbandToneBody
-    {
-public:
-    virtual ~TMSInbandToneBody() {}
-
-    virtual gint AddObserver(TMSInbandToneObserver& obsrvr, gpointer user_data) = 0;
-    virtual gint RemoveObserver(TMSInbandToneObserver& obsrvr) = 0;
-    virtual gint Start(TMSInbandToneType inbandtype) = 0;
-    virtual gint Stop() = 0;
-
-    };
-
-} //namespace TMS
-
-#endif //TMS_INBAND_BODY_H
--- a/mmserv/tms/inc/tmsinbandtoneimpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMS_INBAND_IMPL_H
-#define TMS_INBAND_IMPL_H
-
-#include <tms.h>
-#include <tmsinbandtone.h>
-
-namespace TMS {
-
-// TMSDTMFImpl class
-class TMSInbandToneImpl : public TMSInbandTone
-    {
-public:
-    virtual ~TMSInbandToneImpl();
-    IMPORT_C static gint Create(TMSInbandTone*& inbandtone);
-    IMPORT_C static gint Delete(TMSInbandTone*& inbandtone);
-
-private:
-    TMSInbandToneImpl();
-    gint PostConstruct();
-    gint SetParent(TMSInbandTone*& parent);
-
-private:
-    TMSInbandToneType iInbandToneType;
-    };
-
-} //namespace TMS
-
-#endif
--- a/mmserv/tms/inc/tmsproxy.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/inc/tmsproxy.h	Wed Sep 01 12:23:00 2010 +0100
@@ -32,12 +32,6 @@
 class TMSEffectObserver;
 class TMSGlobalRouting;
 class TMSGlobalRoutingObserver;
-class TMSDTMF;
-class TMSDTMFObserver;
-class TMSRingTone;
-class TMSRingToneObserver;
-class TMSInbandTone;
-class TMSInbandToneObserver;
 
 // TMSProxy class
 class TMSProxy : public RSessionBase,
@@ -83,26 +77,9 @@
     IMPORT_C gint GetMaxGain(guint& level);
     IMPORT_C gint SetGain(guint level);
 
-    // Ringtone
-    IMPORT_C gint InitRT(const TMSRingToneType type, GString* str,
-            GString* tts);
-    IMPORT_C gint DeinitRT();
-    IMPORT_C gint PlayRT();
-    IMPORT_C gint StopRT();
-    IMPORT_C gint PauseRT();
-    IMPORT_C gint MuteRT();
-
-    // TMSDTMF
-    IMPORT_C gint InitDTMFPlayer(TMSStreamType streamtype);
-    IMPORT_C gint StartDTMF(TMSStreamType streamtype, GString* tone);
-    IMPORT_C gint StopDTMF(TMSStreamType streamtype);
-    IMPORT_C gint ContinueDTMFStringSending(TBool continuesending);
-
-    // TMSInbandTone
-    IMPORT_C gint StartInbandTone(TMSInbandToneType inbandtonetype);
-    IMPORT_C gint StopInbandTone();
-
     // Global notifiers
+    IMPORT_C gint StartDTMFNotifier();
+    IMPORT_C gint CancelDTMFNotifier();
     IMPORT_C gint StartGlobalEffectNotifier();
     IMPORT_C gint CancelGlobalEffectNotifier();
     IMPORT_C gint StartRoutingNotifier();
@@ -130,15 +107,6 @@
     gint AddRoutingObserver(TMSGlobalRoutingObserver& obsrvr,
             TMSGlobalRouting& parent, gint clientid);
     gint RemoveRoutingObserver(TMSGlobalRoutingObserver& obsrvr);
-    gint AddRingToneObserver(TMSRingToneObserver& obsrvr, TMSRingTone& parent,
-            gint clientid);
-    gint RemoveRingToneObserver(TMSRingToneObserver& obsrvr);
-    gint AddDTMFObserver(TMSDTMFObserver& obsrvr, TMSDTMF& parent,
-            gint clientid);
-    gint RemoveDTMFObserver(TMSDTMFObserver& obsrvr);
-    gint AddInbandToneObserver(TMSInbandToneObserver& obsrvr,
-            TMSInbandTone& parent, gint clientid);
-    gint RemoveInbandToneObserver(TMSInbandToneObserver& obsrvr);
 
     gint CreateQueue(const gint aNumSlots);
     void ReceiveMsgQHandlerEventsL();
@@ -149,15 +117,8 @@
 
     RPointerArray<TMSEffectObserver> iEffectsObsrvrList;
     RPointerArray<TMSGlobalRoutingObserver> iRoutingObsrvrList;
-    RPointerArray<TMSRingToneObserver> iRingToneObsrvrList;
-    RPointerArray<TMSDTMFObserver> iDTMFObsrvrList;
-    RPointerArray<TMSInbandToneObserver> iInbandToneObsrvrList;
-
     RPointerArray<TMSEffect> iEffectsParentList;
     RPointerArray<TMSGlobalRouting> iRoutingParentList;
-    RPointerArray<TMSRingTone> iRingToneParentList;
-    RPointerArray<TMSDTMF> iDTMFParentList;
-    RPointerArray<TMSInbandTone> iInbandToneParentList;
 
     // Message queue and the handler
     RMsgQueue<TmsMsgBuf> iMsgQueue;
--- a/mmserv/tms/inc/tmsringtonebody.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMS_RINGTONE_BODY_H
-#define TMS_RINGTONE_BODY_H
-
-#include <tms.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSRingToneObserver;
-
-// TMSRingToneBody class
-class TMSRingToneBody
-    {
-public:
-    virtual ~TMSRingToneBody() {}
-
-    virtual gint AddObserver(TMSRingToneObserver& obsrvr,
-            gpointer user_data) = 0;
-    virtual gint RemoveObserver(TMSRingToneObserver& obsrvr) = 0;
-    virtual gint Init(const TMSRingToneType type, GString* str,
-            GString* tts) = 0;
-    virtual gint Deinit() = 0;
-    virtual gint Play() = 0;
-    virtual gint Stop() = 0;
-    virtual gint Pause() = 0;
-    virtual gint Mute() = 0;
-    };
-
-} //namespace TMS
-
-#endif //TMS_RINGTONE_BODY_H
--- a/mmserv/tms/inc/tmsringtoneimpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMS_RINGTONEIMPL_H_
-#define TMS_RINGTONEIMPL_H_
-
-#include <w32std.h>
-#include <tms.h>
-#include <tmsringtone.h>
-
-namespace TMS {
-
-// TMSRingToneImpl class
-class TMSRingToneImpl : public TMSRingTone
-    {
-public:
-    virtual ~TMSRingToneImpl();
-
-    IMPORT_C static gint Create(TMSRingTone*& tmsrt);
-    IMPORT_C static gint Create(TMSRingTone*& tmsrt, RWindow& window,
-            gint scrid);
-    IMPORT_C static gint Delete(TMSRingTone*& tmsrt);
-
-private:
-    TMSRingToneImpl();
-    gint PostConstruct();
-    gint PostConstruct(RWindow& window, gint scrid);
-    gint SetParent(TMSRingTone*& parent);
-    };
-
-} //namespace TMS
-
-#endif //TMS_RINGTONEIMPL_H_
--- a/mmserv/tms/inc/tmsshared.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/inc/tmsshared.h	Wed Sep 01 12:23:00 2010 +0100
@@ -114,18 +114,10 @@
     ECmdUplinkPaused,
     ECmdFillBuffer,
     ECmdEmptyBuffer,
-    ECmdDTMFToneDnlPlayStarted,
-    ECmdDTMFToneUplPlayStarted,
-    ECmdDTMFTonePlayFinished,
-    ECmdRingToneOpenComplete,
-    ECmdRingTonePlayComplete,
-    ECmdRingToneDeinitComplete,
     ECmdDownlinkClosed,
     ECmdUplinkClosed,
     ECmdGlobalRoutingChange,
-    ECmdGlobalEffectChange,
-    ECmdInbandToneStarted,
-    ECmdInbandToneStopped
+    ECmdGlobalEffectChange
     };
 
 // -----------------------------------------------------------------------------
--- a/mmserv/tms/inc/tmsstreambody.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/inc/tmsstreambody.h	Wed Sep 01 12:23:00 2010 +0100
@@ -50,14 +50,15 @@
     virtual gint GetState() = 0;
     virtual gint GetStreamType() = 0;
     virtual gint GetStreamId() = 0;
-    virtual gint Init(gint retrytime) = 0;
+    virtual gint Init() = 0;
     virtual gint Pause() = 0;
-    virtual gint Start(gint retrytime) = 0;
+    virtual gint Start() = 0;
     virtual gint Stop() = 0;
     virtual void Deinit() = 0;
+
+private:
     };
 
 } //namespace TMS
 
 #endif //TMS_STREAM_BODY_H
-
--- a/mmserv/tms/inc/tmsstreamimpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/inc/tmsstreamimpl.h	Wed Sep 01 12:23:00 2010 +0100
@@ -45,3 +45,4 @@
 
 #endif // TMS_STREAM_IMPL_H
 
+// End of file
--- a/mmserv/tms/inc/tmstimer.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- *    Utility class for CTimer object
- *
- */
-
-#ifndef TMSTIMER_H
-#define TMSTIMER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <glib.h>
-
-namespace TMS {
-
-/**
- *  TMSTimerObserver observer.
- */
-class TMSTimerObserver
-    {
-public:
-
-    /**
-     * Called upon timer timeout.
-     */
-    virtual void TimerEvent() = 0;
-    };
-
-// CLASS DECLARATION
-/**
- *  TMSTimer - Timer service.
- */
-class TMSTimer : protected CTimer
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     */
-    IMPORT_C static TMSTimer* NewL(gint aPriority = CActive::EPriorityStandard);
-
-    /**
-     * Destructor.
-     */
-    IMPORT_C virtual ~TMSTimer();
-
-    /**
-     * Call callback method upon timer timeout event.
-     * All former request will be canceled first
-     */
-    IMPORT_C void NotifyAfter(gint timeout, TCallBack aCallBack);
-
-    /**
-     * Call client observer upon timer timeout event.
-     * All former request will be canceled first
-     */
-    IMPORT_C void NotifyAfter(gint timeout, TMSTimerObserver& observer);
-
-    /**
-     * Cancel the timer
-     */
-    IMPORT_C void CancelNotify();
-
-    /**
-     * Determines if the timer is running.
-     */
-    IMPORT_C gboolean IsRunning();
-
-protected:
-
-    /**
-     * From CTimer::RunL()
-     */
-    virtual void RunL();
-
-    /**
-     * From CTimer::RunL()
-     */
-    virtual TInt RunError(TInt aError);
-
-    /**
-     * From CTimer::DoCancel()
-     */
-    virtual void DoCancel();
-
-private:
-
-    /**
-     * C++ default constructor.
-     */
-    TMSTimer(gint aPriority);
-
-    /**
-     * Symbian OS constructor.
-     */
-    void ConstructL();
-
-    // By default, prohibit copy constructor
-    TMSTimer(const TMSTimer&);
-
-    // Prohibit assigment operator
-    TMSTimer& operator = (const TMSTimer&);
-
-private:
-
-    // Optional callback instead of observer
-    TCallBack iCallBack;
-
-    // Observer for notify service.
-    TMSTimerObserver* iObserver;
-    };
-
-} //namespace TMS
-
-#endif //TMSTIMER_H
-
--- a/mmserv/tms/inc/tmsutility.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/inc/tmsutility.h	Wed Sep 01 12:23:00 2010 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
  * All rights reserved.
  * This component and the accompanying materials are made available
  * under the terms of "Eclipse Public License v1.0"
@@ -11,7 +11,7 @@
  *
  * Contributors:
  *
- * Description:  Tracing and convertion utility.
+ * Description: Telephony Multimedia Service
  *
  */
 
@@ -60,7 +60,6 @@
 #define RET_REASON_IF_ERR(s) if(s!=0) return s
 
 #define TMSRESULT(result) TMSUtility::TMSResult(result)
-#define SYMBIANRESULT(result) TMSUtility::SymbianResult(result)
 #define TOTMSOUTPUT(output) TMSUtility::ToTMSOutput(output)
 #define TOTAROUTPUT(output) TMSUtility::ToTAROutput(output)
 #define TOFOURCC(format) TMSUtility::ToFourCC(format)
@@ -74,7 +73,6 @@
     {
 public:
     IMPORT_C static gint TMSResult(const gint error);
-    IMPORT_C static TInt SymbianResult(const gint error);
     IMPORT_C static gint EtelToTMSResult(const gint error);
     IMPORT_C static TMSAudioOutput ToTMSOutput(
             CTelephonyAudioRouting::TAudioOutput taroutput);
--- a/mmserv/tms/rom/tms.iby	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/rom/tms.iby	Wed Sep 01 12:23:00 2010 +0100
@@ -1,26 +1,28 @@
 /*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description: Telephony Multimedia Service
+*
+*/
+/*
+ * tms.iby
  *
  */
 
-#ifndef TMS_IBY
-#define TMS_IBY
+#ifndef __TMS_IBY__
+#define __TMS_IBY__
 
-#include <data_caging_paths_for_iby.hrh>
 #include <bldvariant.hrh>
-
 #ifdef FF_TMS
 
 file=ABI_DIR/BUILD_DIR/tmsapi.dll         SHARED_LIB_DIR/tmsapi.dll
@@ -37,6 +39,6 @@
 
 #endif //FF_TMS
 
-#endif //TMS_IBY
+#endif //__TMS_IBY__
 
 //End of File
\ No newline at end of file
--- a/mmserv/tms/tmsapi/bwins/tmsapi.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsapi/bwins/tmsapi.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,152 +1,128 @@
 EXPORTS
 	??1TMSClientSource@TMS@@UAE@XZ @ 1 NONAME ; TMS::TMSClientSource::~TMSClientSource(void)
-	?Start@TMSInbandTone@TMS@@QAEHH@Z @ 2 NONAME ; int TMS::TMSInbandTone::Start(int)
-	?DeleteStream@TMSCall@TMS@@QAEHAAPAVTMSStream@2@@Z @ 3 NONAME ; int TMS::TMSCall::DeleteStream(class TMS::TMSStream * &)
-	?Stop@TMSRingTone@TMS@@QAEHXZ @ 4 NONAME ; int TMS::TMSRingTone::Stop(void)
+	?GetType@TMSMicSource@TMS@@UAEHAAH@Z @ 2 NONAME ; int TMS::TMSMicSource::GetType(int &)
+	?GetMaxLevel@TMSGainEffect@TMS@@QAEHAAI@Z @ 3 NONAME ; int TMS::TMSGainEffect::GetMaxLevel(unsigned int &)
+	?DeleteStream@TMSCall@TMS@@QAEHAAPAVTMSStream@2@@Z @ 4 NONAME ; int TMS::TMSCall::DeleteStream(class TMS::TMSStream * &)
 	?SetCNG@TMSILBCFormat@TMS@@QAEHH@Z @ 5 NONAME ; int TMS::TMSILBCFormat::SetCNG(int)
 	?GetMode@TMSILBCFormat@TMS@@QAEHAAH@Z @ 6 NONAME ; int TMS::TMSILBCFormat::GetMode(int &)
 	?GetCNG@TMSG711Format@TMS@@QAEHAAH@Z @ 7 NONAME ; int TMS::TMSG711Format::GetCNG(int &)
 	?GetLevel@TMSGlobalVolEffect@TMS@@QAEHAAI@Z @ 8 NONAME ; int TMS::TMSGlobalVolEffect::GetLevel(unsigned int &)
 	?Deinit@TMSStream@TMS@@QAEXXZ @ 9 NONAME ; void TMS::TMSStream::Deinit(void)
-	?Stop@TMSStream@TMS@@QAEHXZ @ 10 NONAME ; int TMS::TMSStream::Stop(void)
-	?Pause@TMSRingTone@TMS@@QAEHXZ @ 11 NONAME ; int TMS::TMSRingTone::Pause(void)
-	??1TMSPCMFormat@TMS@@UAE@XZ @ 12 NONAME ; TMS::TMSPCMFormat::~TMSPCMFormat(void)
-	??0TMSRingTone@TMS@@IAE@XZ @ 13 NONAME ; TMS::TMSRingTone::TMSRingTone(void)
-	?RemoveObserver@TMSGlobalGainEffect@TMS@@QAEHAAVTMSEffectObserver@2@@Z @ 14 NONAME ; int TMS::TMSGlobalGainEffect::RemoveObserver(class TMS::TMSEffectObserver &)
-	??0TMSModemSink@TMS@@IAE@XZ @ 15 NONAME ; TMS::TMSModemSink::TMSModemSink(void)
-	?RemoveSink@TMSStream@TMS@@QAEHPAVTMSSink@2@@Z @ 16 NONAME ; int TMS::TMSStream::RemoveSink(class TMS::TMSSink *)
-	?GetType@TMSClientSource@TMS@@UAEHAAH@Z @ 17 NONAME ; int TMS::TMSClientSource::GetType(int &)
-	??0TMSClientSink@TMS@@IAE@XZ @ 18 NONAME ; TMS::TMSClientSink::TMSClientSink(void)
-	?AddEffect@TMSStream@TMS@@QAEHPAVTMSEffect@2@@Z @ 19 NONAME ; int TMS::TMSStream::AddEffect(class TMS::TMSEffect *)
-	?GetType@TMSModemSink@TMS@@UAEHAAH@Z @ 20 NONAME ; int TMS::TMSModemSink::GetType(int &)
-	?CreateStream@TMSCall@TMS@@QAEHHAAPAVTMSStream@2@@Z @ 21 NONAME ; int TMS::TMSCall::CreateStream(int, class TMS::TMSStream * &)
-	?GetType@TMSGainEffect@TMS@@UAEHAAH@Z @ 22 NONAME ; int TMS::TMSGainEffect::GetType(int &)
-	?GetCNG@TMSILBCFormat@TMS@@QAEHAAH@Z @ 23 NONAME ; int TMS::TMSILBCFormat::GetCNG(int &)
-	?AddObserver@TMSStream@TMS@@QAEHAAVTMSStreamObserver@2@PAX@Z @ 24 NONAME ; int TMS::TMSStream::AddObserver(class TMS::TMSStreamObserver &, void *)
-	?Init@TMSStream@TMS@@QAEHH@Z @ 25 NONAME ; int TMS::TMSStream::Init(int)
-	??0TMSG729Format@TMS@@IAE@XZ @ 26 NONAME ; TMS::TMSG729Format::TMSG729Format(void)
-	?RemoveObserver@TMSVolumeEffect@TMS@@QAEHAAVTMSEffectObserver@2@@Z @ 27 NONAME ; int TMS::TMSVolumeEffect::RemoveObserver(class TMS::TMSEffectObserver &)
-	?GetType@TMSGlobalVolEffect@TMS@@UAEHAAH@Z @ 28 NONAME ; int TMS::TMSGlobalVolEffect::GetType(int &)
-	??1TMSSpeakerSink@TMS@@UAE@XZ @ 29 NONAME ; TMS::TMSSpeakerSink::~TMSSpeakerSink(void)
-	?GetPreviousOutput@TMSGlobalRouting@TMS@@QAEHAAH@Z @ 30 NONAME ; int TMS::TMSGlobalRouting::GetPreviousOutput(int &)
-	?GetMaxLevel@TMSVolumeEffect@TMS@@QAEHAAI@Z @ 31 NONAME ; int TMS::TMSVolumeEffect::GetMaxLevel(unsigned int &)
-	?SetPlc@TMSG711Format@TMS@@QAEHH@Z @ 32 NONAME ; int TMS::TMSG711Format::SetPlc(int)
-	?GetStreamType@TMSStream@TMS@@QAEHXZ @ 33 NONAME ; int TMS::TMSStream::GetStreamType(void)
-	?AddSource@TMSStream@TMS@@QAEHPAVTMSSource@2@@Z @ 34 NONAME ; int TMS::TMSStream::AddSource(class TMS::TMSSource *)
-	??0TMSAMRFormat@TMS@@IAE@XZ @ 35 NONAME ; TMS::TMSAMRFormat::TMSAMRFormat(void)
-	??1TMSDTMF@TMS@@UAE@XZ @ 36 NONAME ; TMS::TMSDTMF::~TMSDTMF(void)
-	?AddObserver@TMSRingTone@TMS@@QAEHAAVTMSRingToneObserver@2@PAX@Z @ 37 NONAME ; int TMS::TMSRingTone::AddObserver(class TMS::TMSRingToneObserver &, void *)
-	?AddObserver@TMSDTMF@TMS@@QAEHAAVTMSDTMFObserver@2@PAX@Z @ 38 NONAME ; int TMS::TMSDTMF::AddObserver(class TMS::TMSDTMFObserver &, void *)
-	??0TMSGlobalVolEffect@TMS@@IAE@XZ @ 39 NONAME ; TMS::TMSGlobalVolEffect::TMSGlobalVolEffect(void)
-	??0TMSInbandTone@TMS@@IAE@XZ @ 40 NONAME ; TMS::TMSInbandTone::TMSInbandTone(void)
-	?GetType@TMSModemSource@TMS@@UAEHAAH@Z @ 41 NONAME ; int TMS::TMSModemSource::GetType(int &)
-	??0TMSVolumeEffect@TMS@@IAE@XZ @ 42 NONAME ; TMS::TMSVolumeEffect::TMSVolumeEffect(void)
-	??1TMSG711Format@TMS@@UAE@XZ @ 43 NONAME ; TMS::TMSG711Format::~TMSG711Format(void)
-	??1TMSGlobalVolEffect@TMS@@UAE@XZ @ 44 NONAME ; TMS::TMSGlobalVolEffect::~TMSGlobalVolEffect(void)
-	?GetType@TMSClientSink@TMS@@UAEHAAH@Z @ 45 NONAME ; int TMS::TMSClientSink::GetType(int &)
-	?AddObserver@TMSVolumeEffect@TMS@@QAEHAAVTMSEffectObserver@2@PAX@Z @ 46 NONAME ; int TMS::TMSVolumeEffect::AddObserver(class TMS::TMSEffectObserver &, void *)
-	?SetMode@TMSG711Format@TMS@@QAEHH@Z @ 47 NONAME ; int TMS::TMSG711Format::SetMode(int)
-	?Play@TMSRingTone@TMS@@QAEHXZ @ 48 NONAME ; int TMS::TMSRingTone::Play(void)
-	?RemoveObserver@TMSClientSink@TMS@@QAEHAAVTMSClientSinkObserver@2@@Z @ 49 NONAME ; int TMS::TMSClientSink::RemoveObserver(class TMS::TMSClientSinkObserver &)
-	?GetVADMode@TMSG711Format@TMS@@QAEHAAH@Z @ 50 NONAME ; int TMS::TMSG711Format::GetVADMode(int &)
-	??1TMSGlobalRouting@TMS@@UAE@XZ @ 51 NONAME ; TMS::TMSGlobalRouting::~TMSGlobalRouting(void)
-	??1TMSCall@TMS@@UAE@XZ @ 52 NONAME ; TMS::TMSCall::~TMSCall(void)
-	??1TMSILBCFormat@TMS@@UAE@XZ @ 53 NONAME ; TMS::TMSILBCFormat::~TMSILBCFormat(void)
-	??0TMSGainEffect@TMS@@IAE@XZ @ 54 NONAME ; TMS::TMSGainEffect::TMSGainEffect(void)
-	?GetMaxLevel@TMSGlobalVolEffect@TMS@@QAEHAAI@Z @ 55 NONAME ; int TMS::TMSGlobalVolEffect::GetMaxLevel(unsigned int &)
-	??1TMSFormat@TMS@@UAE@XZ @ 56 NONAME ; TMS::TMSFormat::~TMSFormat(void)
-	??1TMSModemSource@TMS@@UAE@XZ @ 57 NONAME ; TMS::TMSModemSource::~TMSModemSource(void)
-	?GetBitRate@TMSFormat@TMS@@QAEHAAI@Z @ 58 NONAME ; int TMS::TMSFormat::GetBitRate(unsigned int &)
-	?GetLevel@TMSGlobalGainEffect@TMS@@QAEHAAI@Z @ 59 NONAME ; int TMS::TMSGlobalGainEffect::GetLevel(unsigned int &)
-	?AddObserver@TMSGlobalGainEffect@TMS@@QAEHAAVTMSEffectObserver@2@PAX@Z @ 60 NONAME ; int TMS::TMSGlobalGainEffect::AddObserver(class TMS::TMSEffectObserver &, void *)
-	?RemoveObserver@TMSDTMF@TMS@@QAEHAAVTMSDTMFObserver@2@@Z @ 61 NONAME ; int TMS::TMSDTMF::RemoveObserver(class TMS::TMSDTMFObserver &)
-	??1TMSVolumeEffect@TMS@@UAE@XZ @ 62 NONAME ; TMS::TMSVolumeEffect::~TMSVolumeEffect(void)
-	?Start@TMSDTMF@TMS@@QAEHXZ @ 63 NONAME ; int TMS::TMSDTMF::Start(void)
-	??0TMSStream@TMS@@IAE@XZ @ 64 NONAME ; TMS::TMSStream::TMSStream(void)
-	?GetVADMode@TMSILBCFormat@TMS@@QAEHAAH@Z @ 65 NONAME ; int TMS::TMSILBCFormat::GetVADMode(int &)
-	?GetCallContextId@TMSCall@TMS@@QAEHAAI@Z @ 66 NONAME ; int TMS::TMSCall::GetCallContextId(unsigned int &)
-	?RemoveObserver@TMSClientSource@TMS@@QAEHAAVTMSClientSourceObserver@2@@Z @ 67 NONAME ; int TMS::TMSClientSource::RemoveObserver(class TMS::TMSClientSourceObserver &)
-	??0TMSSpeakerSink@TMS@@IAE@XZ @ 68 NONAME ; TMS::TMSSpeakerSink::TMSSpeakerSink(void)
-	?ProcessBuffer@TMSClientSource@TMS@@QAEHPAVTMSBuffer@2@@Z @ 69 NONAME ; int TMS::TMSClientSource::ProcessBuffer(class TMS::TMSBuffer *)
-	?Stop@TMSDTMF@TMS@@QAEHXZ @ 70 NONAME ; int TMS::TMSDTMF::Stop(void)
-	??1TMSRingTone@TMS@@UAE@XZ @ 71 NONAME ; TMS::TMSRingTone::~TMSRingTone(void)
-	?SetMode@TMSILBCFormat@TMS@@QAEHH@Z @ 72 NONAME ; int TMS::TMSILBCFormat::SetMode(int)
-	?GetEnqueueMode@TMSClientSource@TMS@@QAEHAAH@Z @ 73 NONAME ; int TMS::TMSClientSource::GetEnqueueMode(int &)
-	??1TMSModemSink@TMS@@UAE@XZ @ 74 NONAME ; TMS::TMSModemSink::~TMSModemSink(void)
-	?Flush@TMSClientSource@TMS@@QAEHXZ @ 75 NONAME ; int TMS::TMSClientSource::Flush(void)
-	?GetType@TMSMicSource@TMS@@UAEHAAH@Z @ 76 NONAME ; int TMS::TMSMicSource::GetType(int &)
-	?GetMaxLevel@TMSGainEffect@TMS@@QAEHAAI@Z @ 77 NONAME ; int TMS::TMSGainEffect::GetMaxLevel(unsigned int &)
-	??0TMSMicSource@TMS@@IAE@XZ @ 78 NONAME ; TMS::TMSMicSource::TMSMicSource(void)
-	?Init@TMSRingTone@TMS@@QAEHHPAU_GString@@0@Z @ 79 NONAME ; int TMS::TMSRingTone::Init(int, struct _GString *, struct _GString *)
-	?AddObserver@TMSGlobalVolEffect@TMS@@QAEHAAVTMSEffectObserver@2@PAX@Z @ 80 NONAME ; int TMS::TMSGlobalVolEffect::AddObserver(class TMS::TMSEffectObserver &, void *)
-	?GetType@TMSSpeakerSink@TMS@@UAEHAAH@Z @ 81 NONAME ; int TMS::TMSSpeakerSink::GetType(int &)
-	??1TMSStream@TMS@@QAE@XZ @ 82 NONAME ; TMS::TMSStream::~TMSStream(void)
-	?AddObserver@TMSClientSource@TMS@@QAEHAAVTMSClientSourceObserver@2@PAX@Z @ 83 NONAME ; int TMS::TMSClientSource::AddObserver(class TMS::TMSClientSourceObserver &, void *)
-	?AddObserver@TMSGlobalRouting@TMS@@QAEHAAVTMSGlobalRoutingObserver@2@PAX@Z @ 84 NONAME ; int TMS::TMSGlobalRouting::AddObserver(class TMS::TMSGlobalRoutingObserver &, void *)
-	?RemoveObserver@TMSGainEffect@TMS@@QAEHAAVTMSEffectObserver@2@@Z @ 85 NONAME ; int TMS::TMSGainEffect::RemoveObserver(class TMS::TMSEffectObserver &)
-	??0TMSModemSource@TMS@@IAE@XZ @ 86 NONAME ; TMS::TMSModemSource::TMSModemSource(void)
-	??1TMSAMRFormat@TMS@@UAE@XZ @ 87 NONAME ; TMS::TMSAMRFormat::~TMSAMRFormat(void)
-	??0TMSFormat@TMS@@IAE@XZ @ 88 NONAME ; TMS::TMSFormat::TMSFormat(void)
-	?SetLevel@TMSVolumeEffect@TMS@@QAEHI@Z @ 89 NONAME ; int TMS::TMSVolumeEffect::SetLevel(unsigned int)
-	??1TMSClientSink@TMS@@UAE@XZ @ 90 NONAME ; TMS::TMSClientSink::~TMSClientSink(void)
-	??0TMSDTMF@TMS@@IAE@XZ @ 91 NONAME ; TMS::TMSDTMF::TMSDTMF(void)
-	?ContinueDTMFStringSending@TMSDTMF@TMS@@QAEHH@Z @ 92 NONAME ; int TMS::TMSDTMF::ContinueDTMFStringSending(int)
-	?SetOutput@TMSGlobalRouting@TMS@@QAEHH@Z @ 93 NONAME ; int TMS::TMSGlobalRouting::SetOutput(int)
-	?GetType@TMSVolumeEffect@TMS@@UAEHAAH@Z @ 94 NONAME ; int TMS::TMSVolumeEffect::GetType(int &)
-	?BufferFilled@TMSClientSource@TMS@@QAEHAAVTMSBuffer@2@@Z @ 95 NONAME ; int TMS::TMSClientSource::BufferFilled(class TMS::TMSBuffer &)
-	?RemoveObserver@TMSGlobalRouting@TMS@@QAEHAAVTMSGlobalRoutingObserver@2@@Z @ 96 NONAME ; int TMS::TMSGlobalRouting::RemoveObserver(class TMS::TMSGlobalRoutingObserver &)
-	?Pause@TMSStream@TMS@@QAEHXZ @ 97 NONAME ; int TMS::TMSStream::Pause(void)
-	?SetBitRate@TMSFormat@TMS@@QAEHI@Z @ 98 NONAME ; int TMS::TMSFormat::SetBitRate(unsigned int)
-	?SetLevel@TMSGlobalGainEffect@TMS@@QAEHI@Z @ 99 NONAME ; int TMS::TMSGlobalGainEffect::SetLevel(unsigned int)
-	??0TMSGlobalRouting@TMS@@IAE@XZ @ 100 NONAME ; TMS::TMSGlobalRouting::TMSGlobalRouting(void)
-	?SetTone@TMSDTMF@TMS@@QAEHPAU_GString@@@Z @ 101 NONAME ; int TMS::TMSDTMF::SetTone(struct _GString *)
-	?RemoveObserver@TMSRingTone@TMS@@QAEHAAVTMSRingToneObserver@2@@Z @ 102 NONAME ; int TMS::TMSRingTone::RemoveObserver(class TMS::TMSRingToneObserver &)
-	?GetLevel@TMSGainEffect@TMS@@QAEHAAI@Z @ 103 NONAME ; int TMS::TMSGainEffect::GetLevel(unsigned int &)
-	??0TMSPCMFormat@TMS@@IAE@XZ @ 104 NONAME ; TMS::TMSPCMFormat::TMSPCMFormat(void)
-	??1TMSG729Format@TMS@@UAE@XZ @ 105 NONAME ; TMS::TMSG729Format::~TMSG729Format(void)
-	?SetLevel@TMSGainEffect@TMS@@QAEHI@Z @ 106 NONAME ; int TMS::TMSGainEffect::SetLevel(unsigned int)
-	?AddObserver@TMSGainEffect@TMS@@QAEHAAVTMSEffectObserver@2@PAX@Z @ 107 NONAME ; int TMS::TMSGainEffect::AddObserver(class TMS::TMSEffectObserver &, void *)
-	?SetVADMode@TMSG729Format@TMS@@QAEHH@Z @ 108 NONAME ; int TMS::TMSG729Format::SetVADMode(int)
-	??0TMSCall@TMS@@IAE@XZ @ 109 NONAME ; TMS::TMSCall::TMSCall(void)
-	?GetVADMode@TMSG729Format@TMS@@QAEHAAH@Z @ 110 NONAME ; int TMS::TMSG729Format::GetVADMode(int &)
-	?GetOutput@TMSGlobalRouting@TMS@@QAEHAAH@Z @ 111 NONAME ; int TMS::TMSGlobalRouting::GetOutput(int &)
-	?SetVADMode@TMSG711Format@TMS@@QAEHH@Z @ 112 NONAME ; int TMS::TMSG711Format::SetVADMode(int)
-	??1TMSInbandTone@TMS@@UAE@XZ @ 113 NONAME ; TMS::TMSInbandTone::~TMSInbandTone(void)
-	??0TMSG711Format@TMS@@IAE@XZ @ 114 NONAME ; TMS::TMSG711Format::TMSG711Format(void)
-	?GetState@TMSStream@TMS@@QAEHXZ @ 115 NONAME ; int TMS::TMSStream::GetState(void)
-	?GetStreamId@TMSStream@TMS@@QAEHXZ @ 116 NONAME ; int TMS::TMSStream::GetStreamId(void)
-	?AddSink@TMSStream@TMS@@QAEHPAVTMSSink@2@@Z @ 117 NONAME ; int TMS::TMSStream::AddSink(class TMS::TMSSink *)
-	?ResetFormat@TMSStream@TMS@@QAEHPAVTMSFormat@2@@Z @ 118 NONAME ; int TMS::TMSStream::ResetFormat(class TMS::TMSFormat *)
-	??1TMSGlobalGainEffect@TMS@@UAE@XZ @ 119 NONAME ; TMS::TMSGlobalGainEffect::~TMSGlobalGainEffect(void)
-	?RemoveEffect@TMSStream@TMS@@QAEHPAVTMSEffect@2@@Z @ 120 NONAME ; int TMS::TMSStream::RemoveEffect(class TMS::TMSEffect *)
-	??0TMSILBCFormat@TMS@@IAE@XZ @ 121 NONAME ; TMS::TMSILBCFormat::TMSILBCFormat(void)
-	?GetPlc@TMSG711Format@TMS@@QAEHAAH@Z @ 122 NONAME ; int TMS::TMSG711Format::GetPlc(int &)
-	?SetFormat@TMSStream@TMS@@QAEHPAVTMSFormat@2@@Z @ 123 NONAME ; int TMS::TMSStream::SetFormat(class TMS::TMSFormat *)
-	?GetLevel@TMSVolumeEffect@TMS@@QAEHAAI@Z @ 124 NONAME ; int TMS::TMSVolumeEffect::GetLevel(unsigned int &)
-	?GetType@TMSGlobalGainEffect@TMS@@UAEHAAH@Z @ 125 NONAME ; int TMS::TMSGlobalGainEffect::GetType(int &)
-	?GetCallType@TMSCall@TMS@@QAEHXZ @ 126 NONAME ; int TMS::TMSCall::GetCallType(void)
-	?GetMaxLevel@TMSGlobalGainEffect@TMS@@QAEHAAI@Z @ 127 NONAME ; int TMS::TMSGlobalGainEffect::GetMaxLevel(unsigned int &)
-	?GetType@TMSFormat@TMS@@UAEHAAH@Z @ 128 NONAME ; int TMS::TMSFormat::GetType(int &)
-	?RemoveObserver@TMSInbandTone@TMS@@QAEHAAVTMSInbandToneObserver@2@@Z @ 129 NONAME ; int TMS::TMSInbandTone::RemoveObserver(class TMS::TMSInbandToneObserver &)
-	??1TMSGainEffect@TMS@@UAE@XZ @ 130 NONAME ; TMS::TMSGainEffect::~TMSGainEffect(void)
-	?SetCNG@TMSG711Format@TMS@@QAEHH@Z @ 131 NONAME ; int TMS::TMSG711Format::SetCNG(int)
-	??0TMSClientSource@TMS@@IAE@XZ @ 132 NONAME ; TMS::TMSClientSource::TMSClientSource(void)
-	?Start@TMSStream@TMS@@QAEHH@Z @ 133 NONAME ; int TMS::TMSStream::Start(int)
-	?GetAvailableOutputs@TMSGlobalRouting@TMS@@QAEHAAV?$vector@IV?$allocator@I@std@@@std@@@Z @ 134 NONAME ; int TMS::TMSGlobalRouting::GetAvailableOutputs(class std::vector<unsigned int, class std::allocator<unsigned int> > &)
-	?Deinit@TMSRingTone@TMS@@QAEHXZ @ 135 NONAME ; int TMS::TMSRingTone::Deinit(void)
-	?AddObserver@TMSClientSink@TMS@@QAEHAAVTMSClientSinkObserver@2@PAX@Z @ 136 NONAME ; int TMS::TMSClientSink::AddObserver(class TMS::TMSClientSinkObserver &, void *)
-	?RemoveSource@TMSStream@TMS@@QAEHPAVTMSSource@2@@Z @ 137 NONAME ; int TMS::TMSStream::RemoveSource(class TMS::TMSSource *)
-	??0TMSGlobalGainEffect@TMS@@IAE@XZ @ 138 NONAME ; TMS::TMSGlobalGainEffect::TMSGlobalGainEffect(void)
-	?SetLevel@TMSGlobalVolEffect@TMS@@QAEHI@Z @ 139 NONAME ; int TMS::TMSGlobalVolEffect::SetLevel(unsigned int)
-	?RemoveObserver@TMSStream@TMS@@QAEHAAVTMSStreamObserver@2@@Z @ 140 NONAME ; int TMS::TMSStream::RemoveObserver(class TMS::TMSStreamObserver &)
-	?Mute@TMSRingTone@TMS@@QAEHXZ @ 141 NONAME ; int TMS::TMSRingTone::Mute(void)
-	?RemoveObserver@TMSGlobalVolEffect@TMS@@QAEHAAVTMSEffectObserver@2@@Z @ 142 NONAME ; int TMS::TMSGlobalVolEffect::RemoveObserver(class TMS::TMSEffectObserver &)
-	?GetMode@TMSG711Format@TMS@@QAEHAAH@Z @ 143 NONAME ; int TMS::TMSG711Format::GetMode(int &)
-	?SetEnqueueMode@TMSClientSource@TMS@@QAEHH@Z @ 144 NONAME ; int TMS::TMSClientSource::SetEnqueueMode(int)
-	?SetVADMode@TMSILBCFormat@TMS@@QAEHH@Z @ 145 NONAME ; int TMS::TMSILBCFormat::SetVADMode(int)
-	??1TMSMicSource@TMS@@UAE@XZ @ 146 NONAME ; TMS::TMSMicSource::~TMSMicSource(void)
-	?BufferProcessed@TMSClientSink@TMS@@QAEHPAVTMSBuffer@2@@Z @ 147 NONAME ; int TMS::TMSClientSink::BufferProcessed(class TMS::TMSBuffer *)
-	?GetSupportedBitRates@TMSFormat@TMS@@QAEHAAV?$vector@IV?$allocator@I@std@@@std@@@Z @ 148 NONAME ; int TMS::TMSFormat::GetSupportedBitRates(class std::vector<unsigned int, class std::allocator<unsigned int> > &)
-	?Stop@TMSInbandTone@TMS@@QAEHXZ @ 149 NONAME ; int TMS::TMSInbandTone::Stop(void)
-	?AddObserver@TMSInbandTone@TMS@@QAEHAAVTMSInbandToneObserver@2@PAX@Z @ 150 NONAME ; int TMS::TMSInbandTone::AddObserver(class TMS::TMSInbandToneObserver &, void *)
+	??0TMSMicSource@TMS@@IAE@XZ @ 10 NONAME ; TMS::TMSMicSource::TMSMicSource(void)
+	?Stop@TMSStream@TMS@@QAEHXZ @ 11 NONAME ; int TMS::TMSStream::Stop(void)
+	?AddObserver@TMSGlobalVolEffect@TMS@@QAEHAAVTMSEffectObserver@2@PAX@Z @ 12 NONAME ; int TMS::TMSGlobalVolEffect::AddObserver(class TMS::TMSEffectObserver &, void *)
+	?GetType@TMSSpeakerSink@TMS@@UAEHAAH@Z @ 13 NONAME ; int TMS::TMSSpeakerSink::GetType(int &)
+	??1TMSPCMFormat@TMS@@UAE@XZ @ 14 NONAME ; TMS::TMSPCMFormat::~TMSPCMFormat(void)
+	??1TMSStream@TMS@@QAE@XZ @ 15 NONAME ; TMS::TMSStream::~TMSStream(void)
+	?Start@TMSStream@TMS@@QAEHXZ @ 16 NONAME ; int TMS::TMSStream::Start(void)
+	?RemoveObserver@TMSGlobalGainEffect@TMS@@QAEHAAVTMSEffectObserver@2@@Z @ 17 NONAME ; int TMS::TMSGlobalGainEffect::RemoveObserver(class TMS::TMSEffectObserver &)
+	?AddObserver@TMSGlobalRouting@TMS@@QAEHAAVTMSGlobalRoutingObserver@2@PAX@Z @ 18 NONAME ; int TMS::TMSGlobalRouting::AddObserver(class TMS::TMSGlobalRoutingObserver &, void *)
+	?AddObserver@TMSClientSource@TMS@@QAEHAAVTMSClientSourceObserver@2@PAX@Z @ 19 NONAME ; int TMS::TMSClientSource::AddObserver(class TMS::TMSClientSourceObserver &, void *)
+	??0TMSModemSink@TMS@@IAE@XZ @ 20 NONAME ; TMS::TMSModemSink::TMSModemSink(void)
+	?RemoveSink@TMSStream@TMS@@QAEHPAVTMSSink@2@@Z @ 21 NONAME ; int TMS::TMSStream::RemoveSink(class TMS::TMSSink *)
+	?RemoveObserver@TMSGainEffect@TMS@@QAEHAAVTMSEffectObserver@2@@Z @ 22 NONAME ; int TMS::TMSGainEffect::RemoveObserver(class TMS::TMSEffectObserver &)
+	??0TMSModemSource@TMS@@IAE@XZ @ 23 NONAME ; TMS::TMSModemSource::TMSModemSource(void)
+	??1TMSAMRFormat@TMS@@UAE@XZ @ 24 NONAME ; TMS::TMSAMRFormat::~TMSAMRFormat(void)
+	?GetType@TMSClientSource@TMS@@UAEHAAH@Z @ 25 NONAME ; int TMS::TMSClientSource::GetType(int &)
+	??0TMSClientSink@TMS@@IAE@XZ @ 26 NONAME ; TMS::TMSClientSink::TMSClientSink(void)
+	??0TMSFormat@TMS@@IAE@XZ @ 27 NONAME ; TMS::TMSFormat::TMSFormat(void)
+	?SetLevel@TMSVolumeEffect@TMS@@QAEHI@Z @ 28 NONAME ; int TMS::TMSVolumeEffect::SetLevel(unsigned int)
+	??1TMSClientSink@TMS@@UAE@XZ @ 29 NONAME ; TMS::TMSClientSink::~TMSClientSink(void)
+	?SetOutput@TMSGlobalRouting@TMS@@QAEHH@Z @ 30 NONAME ; int TMS::TMSGlobalRouting::SetOutput(int)
+	?GetType@TMSVolumeEffect@TMS@@UAEHAAH@Z @ 31 NONAME ; int TMS::TMSVolumeEffect::GetType(int &)
+	?AddEffect@TMSStream@TMS@@QAEHPAVTMSEffect@2@@Z @ 32 NONAME ; int TMS::TMSStream::AddEffect(class TMS::TMSEffect *)
+	?GetType@TMSModemSink@TMS@@UAEHAAH@Z @ 33 NONAME ; int TMS::TMSModemSink::GetType(int &)
+	?RemoveObserver@TMSGlobalRouting@TMS@@QAEHAAVTMSGlobalRoutingObserver@2@@Z @ 34 NONAME ; int TMS::TMSGlobalRouting::RemoveObserver(class TMS::TMSGlobalRoutingObserver &)
+	?CreateStream@TMSCall@TMS@@QAEHHAAPAVTMSStream@2@@Z @ 35 NONAME ; int TMS::TMSCall::CreateStream(int, class TMS::TMSStream * &)
+	?BufferFilled@TMSClientSource@TMS@@QAEHAAVTMSBuffer@2@@Z @ 36 NONAME ; int TMS::TMSClientSource::BufferFilled(class TMS::TMSBuffer &)
+	?Pause@TMSStream@TMS@@QAEHXZ @ 37 NONAME ; int TMS::TMSStream::Pause(void)
+	?GetType@TMSGainEffect@TMS@@UAEHAAH@Z @ 38 NONAME ; int TMS::TMSGainEffect::GetType(int &)
+	?GetCNG@TMSILBCFormat@TMS@@QAEHAAH@Z @ 39 NONAME ; int TMS::TMSILBCFormat::GetCNG(int &)
+	?SetBitRate@TMSFormat@TMS@@QAEHI@Z @ 40 NONAME ; int TMS::TMSFormat::SetBitRate(unsigned int)
+	?SetLevel@TMSGlobalGainEffect@TMS@@QAEHI@Z @ 41 NONAME ; int TMS::TMSGlobalGainEffect::SetLevel(unsigned int)
+	??0TMSGlobalRouting@TMS@@IAE@XZ @ 42 NONAME ; TMS::TMSGlobalRouting::TMSGlobalRouting(void)
+	?AddObserver@TMSStream@TMS@@QAEHAAVTMSStreamObserver@2@PAX@Z @ 43 NONAME ; int TMS::TMSStream::AddObserver(class TMS::TMSStreamObserver &, void *)
+	?GetLevel@TMSGainEffect@TMS@@QAEHAAI@Z @ 44 NONAME ; int TMS::TMSGainEffect::GetLevel(unsigned int &)
+	??0TMSG729Format@TMS@@IAE@XZ @ 45 NONAME ; TMS::TMSG729Format::TMSG729Format(void)
+	??0TMSPCMFormat@TMS@@IAE@XZ @ 46 NONAME ; TMS::TMSPCMFormat::TMSPCMFormat(void)
+	??1TMSG729Format@TMS@@UAE@XZ @ 47 NONAME ; TMS::TMSG729Format::~TMSG729Format(void)
+	?SetLevel@TMSGainEffect@TMS@@QAEHI@Z @ 48 NONAME ; int TMS::TMSGainEffect::SetLevel(unsigned int)
+	?AddObserver@TMSGainEffect@TMS@@QAEHAAVTMSEffectObserver@2@PAX@Z @ 49 NONAME ; int TMS::TMSGainEffect::AddObserver(class TMS::TMSEffectObserver &, void *)
+	?RemoveObserver@TMSVolumeEffect@TMS@@QAEHAAVTMSEffectObserver@2@@Z @ 50 NONAME ; int TMS::TMSVolumeEffect::RemoveObserver(class TMS::TMSEffectObserver &)
+	?GetType@TMSGlobalVolEffect@TMS@@UAEHAAH@Z @ 51 NONAME ; int TMS::TMSGlobalVolEffect::GetType(int &)
+	??1TMSSpeakerSink@TMS@@UAE@XZ @ 52 NONAME ; TMS::TMSSpeakerSink::~TMSSpeakerSink(void)
+	?SetVADMode@TMSG729Format@TMS@@QAEHH@Z @ 53 NONAME ; int TMS::TMSG729Format::SetVADMode(int)
+	?GetVADMode@TMSG729Format@TMS@@QAEHAAH@Z @ 54 NONAME ; int TMS::TMSG729Format::GetVADMode(int &)
+	?GetPreviousOutput@TMSGlobalRouting@TMS@@QAEHAAH@Z @ 55 NONAME ; int TMS::TMSGlobalRouting::GetPreviousOutput(int &)
+	?GetMaxLevel@TMSVolumeEffect@TMS@@QAEHAAI@Z @ 56 NONAME ; int TMS::TMSVolumeEffect::GetMaxLevel(unsigned int &)
+	??0TMSCall@TMS@@IAE@XZ @ 57 NONAME ; TMS::TMSCall::TMSCall(void)
+	?SetPlc@TMSG711Format@TMS@@QAEHH@Z @ 58 NONAME ; int TMS::TMSG711Format::SetPlc(int)
+	?GetStreamType@TMSStream@TMS@@QAEHXZ @ 59 NONAME ; int TMS::TMSStream::GetStreamType(void)
+	?AddSource@TMSStream@TMS@@QAEHPAVTMSSource@2@@Z @ 60 NONAME ; int TMS::TMSStream::AddSource(class TMS::TMSSource *)
+	??0TMSAMRFormat@TMS@@IAE@XZ @ 61 NONAME ; TMS::TMSAMRFormat::TMSAMRFormat(void)
+	?GetOutput@TMSGlobalRouting@TMS@@QAEHAAH@Z @ 62 NONAME ; int TMS::TMSGlobalRouting::GetOutput(int &)
+	??0TMSGlobalVolEffect@TMS@@IAE@XZ @ 63 NONAME ; TMS::TMSGlobalVolEffect::TMSGlobalVolEffect(void)
+	?SetVADMode@TMSG711Format@TMS@@QAEHH@Z @ 64 NONAME ; int TMS::TMSG711Format::SetVADMode(int)
+	?GetType@TMSModemSource@TMS@@UAEHAAH@Z @ 65 NONAME ; int TMS::TMSModemSource::GetType(int &)
+	??0TMSG711Format@TMS@@IAE@XZ @ 66 NONAME ; TMS::TMSG711Format::TMSG711Format(void)
+	?GetStreamId@TMSStream@TMS@@QAEHXZ @ 67 NONAME ; int TMS::TMSStream::GetStreamId(void)
+	?GetState@TMSStream@TMS@@QAEHXZ @ 68 NONAME ; int TMS::TMSStream::GetState(void)
+	??0TMSVolumeEffect@TMS@@IAE@XZ @ 69 NONAME ; TMS::TMSVolumeEffect::TMSVolumeEffect(void)
+	??1TMSG711Format@TMS@@UAE@XZ @ 70 NONAME ; TMS::TMSG711Format::~TMSG711Format(void)
+	??1TMSGlobalVolEffect@TMS@@UAE@XZ @ 71 NONAME ; TMS::TMSGlobalVolEffect::~TMSGlobalVolEffect(void)
+	?AddSink@TMSStream@TMS@@QAEHPAVTMSSink@2@@Z @ 72 NONAME ; int TMS::TMSStream::AddSink(class TMS::TMSSink *)
+	?ResetFormat@TMSStream@TMS@@QAEHPAVTMSFormat@2@@Z @ 73 NONAME ; int TMS::TMSStream::ResetFormat(class TMS::TMSFormat *)
+	?GetType@TMSClientSink@TMS@@UAEHAAH@Z @ 74 NONAME ; int TMS::TMSClientSink::GetType(int &)
+	??1TMSGlobalGainEffect@TMS@@UAE@XZ @ 75 NONAME ; TMS::TMSGlobalGainEffect::~TMSGlobalGainEffect(void)
+	?AddObserver@TMSVolumeEffect@TMS@@QAEHAAVTMSEffectObserver@2@PAX@Z @ 76 NONAME ; int TMS::TMSVolumeEffect::AddObserver(class TMS::TMSEffectObserver &, void *)
+	?SetMode@TMSG711Format@TMS@@QAEHH@Z @ 77 NONAME ; int TMS::TMSG711Format::SetMode(int)
+	?RemoveEffect@TMSStream@TMS@@QAEHPAVTMSEffect@2@@Z @ 78 NONAME ; int TMS::TMSStream::RemoveEffect(class TMS::TMSEffect *)
+	?RemoveObserver@TMSClientSink@TMS@@QAEHAAVTMSClientSinkObserver@2@@Z @ 79 NONAME ; int TMS::TMSClientSink::RemoveObserver(class TMS::TMSClientSinkObserver &)
+	?GetVADMode@TMSG711Format@TMS@@QAEHAAH@Z @ 80 NONAME ; int TMS::TMSG711Format::GetVADMode(int &)
+	??1TMSGlobalRouting@TMS@@UAE@XZ @ 81 NONAME ; TMS::TMSGlobalRouting::~TMSGlobalRouting(void)
+	??0TMSILBCFormat@TMS@@IAE@XZ @ 82 NONAME ; TMS::TMSILBCFormat::TMSILBCFormat(void)
+	??1TMSCall@TMS@@UAE@XZ @ 83 NONAME ; TMS::TMSCall::~TMSCall(void)
+	?GetPlc@TMSG711Format@TMS@@QAEHAAH@Z @ 84 NONAME ; int TMS::TMSG711Format::GetPlc(int &)
+	??1TMSILBCFormat@TMS@@UAE@XZ @ 85 NONAME ; TMS::TMSILBCFormat::~TMSILBCFormat(void)
+	?SetFormat@TMSStream@TMS@@QAEHPAVTMSFormat@2@@Z @ 86 NONAME ; int TMS::TMSStream::SetFormat(class TMS::TMSFormat *)
+	?GetType@TMSGlobalGainEffect@TMS@@UAEHAAH@Z @ 87 NONAME ; int TMS::TMSGlobalGainEffect::GetType(int &)
+	?GetLevel@TMSVolumeEffect@TMS@@QAEHAAI@Z @ 88 NONAME ; int TMS::TMSVolumeEffect::GetLevel(unsigned int &)
+	??0TMSGainEffect@TMS@@IAE@XZ @ 89 NONAME ; TMS::TMSGainEffect::TMSGainEffect(void)
+	?GetCallType@TMSCall@TMS@@QAEHXZ @ 90 NONAME ; int TMS::TMSCall::GetCallType(void)
+	?GetType@TMSFormat@TMS@@UAEHAAH@Z @ 91 NONAME ; int TMS::TMSFormat::GetType(int &)
+	?GetMaxLevel@TMSGlobalGainEffect@TMS@@QAEHAAI@Z @ 92 NONAME ; int TMS::TMSGlobalGainEffect::GetMaxLevel(unsigned int &)
+	?SetCNG@TMSG711Format@TMS@@QAEHH@Z @ 93 NONAME ; int TMS::TMSG711Format::SetCNG(int)
+	??1TMSGainEffect@TMS@@UAE@XZ @ 94 NONAME ; TMS::TMSGainEffect::~TMSGainEffect(void)
+	?GetMaxLevel@TMSGlobalVolEffect@TMS@@QAEHAAI@Z @ 95 NONAME ; int TMS::TMSGlobalVolEffect::GetMaxLevel(unsigned int &)
+	??0TMSClientSource@TMS@@IAE@XZ @ 96 NONAME ; TMS::TMSClientSource::TMSClientSource(void)
+	??1TMSFormat@TMS@@UAE@XZ @ 97 NONAME ; TMS::TMSFormat::~TMSFormat(void)
+	??1TMSModemSource@TMS@@UAE@XZ @ 98 NONAME ; TMS::TMSModemSource::~TMSModemSource(void)
+	?GetAvailableOutputs@TMSGlobalRouting@TMS@@QAEHAAV?$vector@IV?$allocator@I@std@@@std@@@Z @ 99 NONAME ; int TMS::TMSGlobalRouting::GetAvailableOutputs(class std::vector<unsigned int, class std::allocator<unsigned int> > &)
+	?GetBitRate@TMSFormat@TMS@@QAEHAAI@Z @ 100 NONAME ; int TMS::TMSFormat::GetBitRate(unsigned int &)
+	?AddObserver@TMSClientSink@TMS@@QAEHAAVTMSClientSinkObserver@2@PAX@Z @ 101 NONAME ; int TMS::TMSClientSink::AddObserver(class TMS::TMSClientSinkObserver &, void *)
+	?RemoveSource@TMSStream@TMS@@QAEHPAVTMSSource@2@@Z @ 102 NONAME ; int TMS::TMSStream::RemoveSource(class TMS::TMSSource *)
+	??0TMSGlobalGainEffect@TMS@@IAE@XZ @ 103 NONAME ; TMS::TMSGlobalGainEffect::TMSGlobalGainEffect(void)
+	?AddObserver@TMSGlobalGainEffect@TMS@@QAEHAAVTMSEffectObserver@2@PAX@Z @ 104 NONAME ; int TMS::TMSGlobalGainEffect::AddObserver(class TMS::TMSEffectObserver &, void *)
+	?GetLevel@TMSGlobalGainEffect@TMS@@QAEHAAI@Z @ 105 NONAME ; int TMS::TMSGlobalGainEffect::GetLevel(unsigned int &)
+	?SetLevel@TMSGlobalVolEffect@TMS@@QAEHI@Z @ 106 NONAME ; int TMS::TMSGlobalVolEffect::SetLevel(unsigned int)
+	?RemoveObserver@TMSStream@TMS@@QAEHAAVTMSStreamObserver@2@@Z @ 107 NONAME ; int TMS::TMSStream::RemoveObserver(class TMS::TMSStreamObserver &)
+	?RemoveObserver@TMSGlobalVolEffect@TMS@@QAEHAAVTMSEffectObserver@2@@Z @ 108 NONAME ; int TMS::TMSGlobalVolEffect::RemoveObserver(class TMS::TMSEffectObserver &)
+	?GetMode@TMSG711Format@TMS@@QAEHAAH@Z @ 109 NONAME ; int TMS::TMSG711Format::GetMode(int &)
+	??1TMSVolumeEffect@TMS@@UAE@XZ @ 110 NONAME ; TMS::TMSVolumeEffect::~TMSVolumeEffect(void)
+	?SetEnqueueMode@TMSClientSource@TMS@@QAEHH@Z @ 111 NONAME ; int TMS::TMSClientSource::SetEnqueueMode(int)
+	?SetVADMode@TMSILBCFormat@TMS@@QAEHH@Z @ 112 NONAME ; int TMS::TMSILBCFormat::SetVADMode(int)
+	??1TMSMicSource@TMS@@UAE@XZ @ 113 NONAME ; TMS::TMSMicSource::~TMSMicSource(void)
+	??0TMSStream@TMS@@IAE@XZ @ 114 NONAME ; TMS::TMSStream::TMSStream(void)
+	?GetVADMode@TMSILBCFormat@TMS@@QAEHAAH@Z @ 115 NONAME ; int TMS::TMSILBCFormat::GetVADMode(int &)
+	?BufferProcessed@TMSClientSink@TMS@@QAEHPAVTMSBuffer@2@@Z @ 116 NONAME ; int TMS::TMSClientSink::BufferProcessed(class TMS::TMSBuffer *)
+	?GetCallContextId@TMSCall@TMS@@QAEHAAI@Z @ 117 NONAME ; int TMS::TMSCall::GetCallContextId(unsigned int &)
+	?RemoveObserver@TMSClientSource@TMS@@QAEHAAVTMSClientSourceObserver@2@@Z @ 118 NONAME ; int TMS::TMSClientSource::RemoveObserver(class TMS::TMSClientSourceObserver &)
+	??0TMSSpeakerSink@TMS@@IAE@XZ @ 119 NONAME ; TMS::TMSSpeakerSink::TMSSpeakerSink(void)
+	?ProcessBuffer@TMSClientSource@TMS@@QAEHPAVTMSBuffer@2@@Z @ 120 NONAME ; int TMS::TMSClientSource::ProcessBuffer(class TMS::TMSBuffer *)
+	?GetSupportedBitRates@TMSFormat@TMS@@QAEHAAV?$vector@IV?$allocator@I@std@@@std@@@Z @ 121 NONAME ; int TMS::TMSFormat::GetSupportedBitRates(class std::vector<unsigned int, class std::allocator<unsigned int> > &)
+	?SetMode@TMSILBCFormat@TMS@@QAEHH@Z @ 122 NONAME ; int TMS::TMSILBCFormat::SetMode(int)
+	?GetEnqueueMode@TMSClientSource@TMS@@QAEHAAH@Z @ 123 NONAME ; int TMS::TMSClientSource::GetEnqueueMode(int &)
+	??1TMSModemSink@TMS@@UAE@XZ @ 124 NONAME ; TMS::TMSModemSink::~TMSModemSink(void)
+	?Init@TMSStream@TMS@@QAEHXZ @ 125 NONAME ; int TMS::TMSStream::Init(void)
+	?Flush@TMSClientSource@TMS@@QAEHXZ @ 126 NONAME ; int TMS::TMSClientSource::Flush(void)
 
--- a/mmserv/tms/tmsapi/eabi/tmsapi.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsapi/eabi/tmsapi.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,259 +1,220 @@
 EXPORTS
-	_ZN3TMS11TMSRingTone11AddObserverERNS_19TMSRingToneObserverEPv @ 1 NONAME
-	_ZN3TMS11TMSRingTone14RemoveObserverERNS_19TMSRingToneObserverE @ 2 NONAME
-	_ZN3TMS11TMSRingTone4InitEiP8_GStringS2_ @ 3 NONAME
-	_ZN3TMS11TMSRingTone4MuteEv @ 4 NONAME
-	_ZN3TMS11TMSRingTone4PlayEv @ 5 NONAME
-	_ZN3TMS11TMSRingTone4StopEv @ 6 NONAME
-	_ZN3TMS11TMSRingTone5PauseEv @ 7 NONAME
-	_ZN3TMS11TMSRingTone6DeinitEv @ 8 NONAME
-	_ZN3TMS11TMSRingToneC1Ev @ 9 NONAME
-	_ZN3TMS11TMSRingToneC2Ev @ 10 NONAME
-	_ZN3TMS11TMSRingToneD0Ev @ 11 NONAME
-	_ZN3TMS11TMSRingToneD1Ev @ 12 NONAME
-	_ZN3TMS11TMSRingToneD2Ev @ 13 NONAME
-	_ZN3TMS12TMSAMRFormatC1Ev @ 14 NONAME
-	_ZN3TMS12TMSAMRFormatC2Ev @ 15 NONAME
-	_ZN3TMS12TMSAMRFormatD0Ev @ 16 NONAME
-	_ZN3TMS12TMSAMRFormatD1Ev @ 17 NONAME
-	_ZN3TMS12TMSAMRFormatD2Ev @ 18 NONAME
-	_ZN3TMS12TMSMicSource7GetTypeERi @ 19 NONAME
-	_ZN3TMS12TMSMicSourceC1Ev @ 20 NONAME
-	_ZN3TMS12TMSMicSourceC2Ev @ 21 NONAME
-	_ZN3TMS12TMSMicSourceD0Ev @ 22 NONAME
-	_ZN3TMS12TMSMicSourceD1Ev @ 23 NONAME
-	_ZN3TMS12TMSMicSourceD2Ev @ 24 NONAME
-	_ZN3TMS12TMSModemSink7GetTypeERi @ 25 NONAME
-	_ZN3TMS12TMSModemSinkC1Ev @ 26 NONAME
-	_ZN3TMS12TMSModemSinkC2Ev @ 27 NONAME
-	_ZN3TMS12TMSModemSinkD0Ev @ 28 NONAME
-	_ZN3TMS12TMSModemSinkD1Ev @ 29 NONAME
-	_ZN3TMS12TMSModemSinkD2Ev @ 30 NONAME
-	_ZN3TMS12TMSPCMFormatC1Ev @ 31 NONAME
-	_ZN3TMS12TMSPCMFormatC2Ev @ 32 NONAME
-	_ZN3TMS12TMSPCMFormatD0Ev @ 33 NONAME
-	_ZN3TMS12TMSPCMFormatD1Ev @ 34 NONAME
-	_ZN3TMS12TMSPCMFormatD2Ev @ 35 NONAME
-	_ZN3TMS13TMSClientSink11AddObserverERNS_21TMSClientSinkObserverEPv @ 36 NONAME
-	_ZN3TMS13TMSClientSink14RemoveObserverERNS_21TMSClientSinkObserverE @ 37 NONAME
-	_ZN3TMS13TMSClientSink15BufferProcessedEPNS_9TMSBufferE @ 38 NONAME
-	_ZN3TMS13TMSClientSink7GetTypeERi @ 39 NONAME
-	_ZN3TMS13TMSClientSinkC1Ev @ 40 NONAME
-	_ZN3TMS13TMSClientSinkC2Ev @ 41 NONAME
-	_ZN3TMS13TMSClientSinkD0Ev @ 42 NONAME
-	_ZN3TMS13TMSClientSinkD1Ev @ 43 NONAME
-	_ZN3TMS13TMSClientSinkD2Ev @ 44 NONAME
-	_ZN3TMS13TMSG711Format10GetVADModeERi @ 45 NONAME
-	_ZN3TMS13TMSG711Format10SetVADModeEi @ 46 NONAME
-	_ZN3TMS13TMSG711Format6GetCNGERi @ 47 NONAME
-	_ZN3TMS13TMSG711Format6GetPlcERi @ 48 NONAME
-	_ZN3TMS13TMSG711Format6SetCNGEi @ 49 NONAME
-	_ZN3TMS13TMSG711Format6SetPlcEi @ 50 NONAME
-	_ZN3TMS13TMSG711Format7GetModeERi @ 51 NONAME
-	_ZN3TMS13TMSG711Format7SetModeEi @ 52 NONAME
-	_ZN3TMS13TMSG711FormatC1Ev @ 53 NONAME
-	_ZN3TMS13TMSG711FormatC2Ev @ 54 NONAME
-	_ZN3TMS13TMSG711FormatD0Ev @ 55 NONAME
-	_ZN3TMS13TMSG711FormatD1Ev @ 56 NONAME
-	_ZN3TMS13TMSG711FormatD2Ev @ 57 NONAME
-	_ZN3TMS13TMSG729Format10GetVADModeERi @ 58 NONAME
-	_ZN3TMS13TMSG729Format10SetVADModeEi @ 59 NONAME
-	_ZN3TMS13TMSG729FormatC1Ev @ 60 NONAME
-	_ZN3TMS13TMSG729FormatC2Ev @ 61 NONAME
-	_ZN3TMS13TMSG729FormatD0Ev @ 62 NONAME
-	_ZN3TMS13TMSG729FormatD1Ev @ 63 NONAME
-	_ZN3TMS13TMSG729FormatD2Ev @ 64 NONAME
-	_ZN3TMS13TMSGainEffect11AddObserverERNS_17TMSEffectObserverEPv @ 65 NONAME
-	_ZN3TMS13TMSGainEffect11GetMaxLevelERj @ 66 NONAME
-	_ZN3TMS13TMSGainEffect14RemoveObserverERNS_17TMSEffectObserverE @ 67 NONAME
-	_ZN3TMS13TMSGainEffect7GetTypeERi @ 68 NONAME
-	_ZN3TMS13TMSGainEffect8GetLevelERj @ 69 NONAME
-	_ZN3TMS13TMSGainEffect8SetLevelEj @ 70 NONAME
-	_ZN3TMS13TMSGainEffectC1Ev @ 71 NONAME
-	_ZN3TMS13TMSGainEffectC2Ev @ 72 NONAME
-	_ZN3TMS13TMSGainEffectD0Ev @ 73 NONAME
-	_ZN3TMS13TMSGainEffectD1Ev @ 74 NONAME
-	_ZN3TMS13TMSGainEffectD2Ev @ 75 NONAME
-	_ZN3TMS13TMSILBCFormat10GetVADModeERi @ 76 NONAME
-	_ZN3TMS13TMSILBCFormat10SetVADModeEi @ 77 NONAME
-	_ZN3TMS13TMSILBCFormat6GetCNGERi @ 78 NONAME
-	_ZN3TMS13TMSILBCFormat6SetCNGEi @ 79 NONAME
-	_ZN3TMS13TMSILBCFormat7GetModeERi @ 80 NONAME
-	_ZN3TMS13TMSILBCFormat7SetModeEi @ 81 NONAME
-	_ZN3TMS13TMSILBCFormatC1Ev @ 82 NONAME
-	_ZN3TMS13TMSILBCFormatC2Ev @ 83 NONAME
-	_ZN3TMS13TMSILBCFormatD0Ev @ 84 NONAME
-	_ZN3TMS13TMSILBCFormatD1Ev @ 85 NONAME
-	_ZN3TMS13TMSILBCFormatD2Ev @ 86 NONAME
-	_ZN3TMS13TMSInbandTone11AddObserverERNS_21TMSInbandToneObserverEPv @ 87 NONAME
-	_ZN3TMS13TMSInbandTone14RemoveObserverERNS_21TMSInbandToneObserverE @ 88 NONAME
-	_ZN3TMS13TMSInbandTone4StopEv @ 89 NONAME
-	_ZN3TMS13TMSInbandTone5StartEi @ 90 NONAME
-	_ZN3TMS13TMSInbandToneC1Ev @ 91 NONAME
-	_ZN3TMS13TMSInbandToneC2Ev @ 92 NONAME
-	_ZN3TMS13TMSInbandToneD0Ev @ 93 NONAME
-	_ZN3TMS13TMSInbandToneD1Ev @ 94 NONAME
-	_ZN3TMS13TMSInbandToneD2Ev @ 95 NONAME
-	_ZN3TMS14TMSModemSource7GetTypeERi @ 96 NONAME
-	_ZN3TMS14TMSModemSourceC1Ev @ 97 NONAME
-	_ZN3TMS14TMSModemSourceC2Ev @ 98 NONAME
-	_ZN3TMS14TMSModemSourceD0Ev @ 99 NONAME
-	_ZN3TMS14TMSModemSourceD1Ev @ 100 NONAME
-	_ZN3TMS14TMSModemSourceD2Ev @ 101 NONAME
-	_ZN3TMS14TMSSpeakerSink7GetTypeERi @ 102 NONAME
-	_ZN3TMS14TMSSpeakerSinkC1Ev @ 103 NONAME
-	_ZN3TMS14TMSSpeakerSinkC2Ev @ 104 NONAME
-	_ZN3TMS14TMSSpeakerSinkD0Ev @ 105 NONAME
-	_ZN3TMS14TMSSpeakerSinkD1Ev @ 106 NONAME
-	_ZN3TMS14TMSSpeakerSinkD2Ev @ 107 NONAME
-	_ZN3TMS15TMSClientSource11AddObserverERNS_23TMSClientSourceObserverEPv @ 108 NONAME
-	_ZN3TMS15TMSClientSource12BufferFilledERNS_9TMSBufferE @ 109 NONAME
-	_ZN3TMS15TMSClientSource13ProcessBufferEPNS_9TMSBufferE @ 110 NONAME
-	_ZN3TMS15TMSClientSource14GetEnqueueModeERi @ 111 NONAME
-	_ZN3TMS15TMSClientSource14RemoveObserverERNS_23TMSClientSourceObserverE @ 112 NONAME
-	_ZN3TMS15TMSClientSource14SetEnqueueModeEi @ 113 NONAME
-	_ZN3TMS15TMSClientSource5FlushEv @ 114 NONAME
-	_ZN3TMS15TMSClientSource7GetTypeERi @ 115 NONAME
-	_ZN3TMS15TMSClientSourceC1Ev @ 116 NONAME
-	_ZN3TMS15TMSClientSourceC2Ev @ 117 NONAME
-	_ZN3TMS15TMSClientSourceD0Ev @ 118 NONAME
-	_ZN3TMS15TMSClientSourceD1Ev @ 119 NONAME
-	_ZN3TMS15TMSClientSourceD2Ev @ 120 NONAME
-	_ZN3TMS15TMSVolumeEffect11AddObserverERNS_17TMSEffectObserverEPv @ 121 NONAME
-	_ZN3TMS15TMSVolumeEffect11GetMaxLevelERj @ 122 NONAME
-	_ZN3TMS15TMSVolumeEffect14RemoveObserverERNS_17TMSEffectObserverE @ 123 NONAME
-	_ZN3TMS15TMSVolumeEffect7GetTypeERi @ 124 NONAME
-	_ZN3TMS15TMSVolumeEffect8GetLevelERj @ 125 NONAME
-	_ZN3TMS15TMSVolumeEffect8SetLevelEj @ 126 NONAME
-	_ZN3TMS15TMSVolumeEffectC1Ev @ 127 NONAME
-	_ZN3TMS15TMSVolumeEffectC2Ev @ 128 NONAME
-	_ZN3TMS15TMSVolumeEffectD0Ev @ 129 NONAME
-	_ZN3TMS15TMSVolumeEffectD1Ev @ 130 NONAME
-	_ZN3TMS15TMSVolumeEffectD2Ev @ 131 NONAME
-	_ZN3TMS16TMSGlobalRouting11AddObserverERNS_24TMSGlobalRoutingObserverEPv @ 132 NONAME
-	_ZN3TMS16TMSGlobalRouting14RemoveObserverERNS_24TMSGlobalRoutingObserverE @ 133 NONAME
-	_ZN3TMS16TMSGlobalRouting17GetPreviousOutputERi @ 134 NONAME
-	_ZN3TMS16TMSGlobalRouting19GetAvailableOutputsERSt6vectorIjSaIjEE @ 135 NONAME
-	_ZN3TMS16TMSGlobalRouting9GetOutputERi @ 136 NONAME
-	_ZN3TMS16TMSGlobalRouting9SetOutputEi @ 137 NONAME
-	_ZN3TMS16TMSGlobalRoutingC1Ev @ 138 NONAME
-	_ZN3TMS16TMSGlobalRoutingC2Ev @ 139 NONAME
-	_ZN3TMS16TMSGlobalRoutingD0Ev @ 140 NONAME
-	_ZN3TMS16TMSGlobalRoutingD1Ev @ 141 NONAME
-	_ZN3TMS16TMSGlobalRoutingD2Ev @ 142 NONAME
-	_ZN3TMS18TMSGlobalVolEffect11AddObserverERNS_17TMSEffectObserverEPv @ 143 NONAME
-	_ZN3TMS18TMSGlobalVolEffect11GetMaxLevelERj @ 144 NONAME
-	_ZN3TMS18TMSGlobalVolEffect14RemoveObserverERNS_17TMSEffectObserverE @ 145 NONAME
-	_ZN3TMS18TMSGlobalVolEffect7GetTypeERi @ 146 NONAME
-	_ZN3TMS18TMSGlobalVolEffect8GetLevelERj @ 147 NONAME
-	_ZN3TMS18TMSGlobalVolEffect8SetLevelEj @ 148 NONAME
-	_ZN3TMS18TMSGlobalVolEffectC1Ev @ 149 NONAME
-	_ZN3TMS18TMSGlobalVolEffectC2Ev @ 150 NONAME
-	_ZN3TMS18TMSGlobalVolEffectD0Ev @ 151 NONAME
-	_ZN3TMS18TMSGlobalVolEffectD1Ev @ 152 NONAME
-	_ZN3TMS18TMSGlobalVolEffectD2Ev @ 153 NONAME
-	_ZN3TMS19TMSGlobalGainEffect11AddObserverERNS_17TMSEffectObserverEPv @ 154 NONAME
-	_ZN3TMS19TMSGlobalGainEffect11GetMaxLevelERj @ 155 NONAME
-	_ZN3TMS19TMSGlobalGainEffect14RemoveObserverERNS_17TMSEffectObserverE @ 156 NONAME
-	_ZN3TMS19TMSGlobalGainEffect7GetTypeERi @ 157 NONAME
-	_ZN3TMS19TMSGlobalGainEffect8GetLevelERj @ 158 NONAME
-	_ZN3TMS19TMSGlobalGainEffect8SetLevelEj @ 159 NONAME
-	_ZN3TMS19TMSGlobalGainEffectC1Ev @ 160 NONAME
-	_ZN3TMS19TMSGlobalGainEffectC2Ev @ 161 NONAME
-	_ZN3TMS19TMSGlobalGainEffectD0Ev @ 162 NONAME
-	_ZN3TMS19TMSGlobalGainEffectD1Ev @ 163 NONAME
-	_ZN3TMS19TMSGlobalGainEffectD2Ev @ 164 NONAME
-	_ZN3TMS7TMSCall11GetCallTypeEv @ 165 NONAME
-	_ZN3TMS7TMSCall12CreateStreamEiRPNS_9TMSStreamE @ 166 NONAME
-	_ZN3TMS7TMSCall12DeleteStreamERPNS_9TMSStreamE @ 167 NONAME
-	_ZN3TMS7TMSCall16GetCallContextIdERj @ 168 NONAME
-	_ZN3TMS7TMSCallC1Ev @ 169 NONAME
-	_ZN3TMS7TMSCallC2Ev @ 170 NONAME
-	_ZN3TMS7TMSCallD0Ev @ 171 NONAME
-	_ZN3TMS7TMSCallD1Ev @ 172 NONAME
-	_ZN3TMS7TMSCallD2Ev @ 173 NONAME
-	_ZN3TMS7TMSDTMF11AddObserverERNS_15TMSDTMFObserverEPv @ 174 NONAME
-	_ZN3TMS7TMSDTMF14RemoveObserverERNS_15TMSDTMFObserverE @ 175 NONAME
-	_ZN3TMS7TMSDTMF25ContinueDTMFStringSendingEi @ 176 NONAME
-	_ZN3TMS7TMSDTMF4StopEv @ 177 NONAME
-	_ZN3TMS7TMSDTMF5StartEv @ 178 NONAME
-	_ZN3TMS7TMSDTMF7SetToneEP8_GString @ 179 NONAME
-	_ZN3TMS7TMSDTMFC1Ev @ 180 NONAME
-	_ZN3TMS7TMSDTMFC2Ev @ 181 NONAME
-	_ZN3TMS7TMSDTMFD0Ev @ 182 NONAME
-	_ZN3TMS7TMSDTMFD1Ev @ 183 NONAME
-	_ZN3TMS7TMSDTMFD2Ev @ 184 NONAME
-	_ZN3TMS9TMSFormat10GetBitRateERj @ 185 NONAME
-	_ZN3TMS9TMSFormat10SetBitRateEj @ 186 NONAME
-	_ZN3TMS9TMSFormat20GetSupportedBitRatesERSt6vectorIjSaIjEE @ 187 NONAME
-	_ZN3TMS9TMSFormat7GetTypeERi @ 188 NONAME
-	_ZN3TMS9TMSFormatC1Ev @ 189 NONAME
-	_ZN3TMS9TMSFormatC2Ev @ 190 NONAME
-	_ZN3TMS9TMSFormatD0Ev @ 191 NONAME
-	_ZN3TMS9TMSFormatD1Ev @ 192 NONAME
-	_ZN3TMS9TMSFormatD2Ev @ 193 NONAME
-	_ZN3TMS9TMSStream10RemoveSinkEPNS_7TMSSinkE @ 194 NONAME
-	_ZN3TMS9TMSStream11AddObserverERNS_17TMSStreamObserverEPv @ 195 NONAME
-	_ZN3TMS9TMSStream11GetStreamIdEv @ 196 NONAME
-	_ZN3TMS9TMSStream11ResetFormatEPNS_9TMSFormatE @ 197 NONAME
-	_ZN3TMS9TMSStream12RemoveEffectEPNS_9TMSEffectE @ 198 NONAME
-	_ZN3TMS9TMSStream12RemoveSourceEPNS_9TMSSourceE @ 199 NONAME
-	_ZN3TMS9TMSStream13GetStreamTypeEv @ 200 NONAME
-	_ZN3TMS9TMSStream14RemoveObserverERNS_17TMSStreamObserverE @ 201 NONAME
-	_ZN3TMS9TMSStream4InitEi @ 202 NONAME
-	_ZN3TMS9TMSStream4StopEv @ 203 NONAME
-	_ZN3TMS9TMSStream5PauseEv @ 204 NONAME
-	_ZN3TMS9TMSStream5StartEi @ 205 NONAME
-	_ZN3TMS9TMSStream6DeinitEv @ 206 NONAME
-	_ZN3TMS9TMSStream7AddSinkEPNS_7TMSSinkE @ 207 NONAME
-	_ZN3TMS9TMSStream8GetStateEv @ 208 NONAME
-	_ZN3TMS9TMSStream9AddEffectEPNS_9TMSEffectE @ 209 NONAME
-	_ZN3TMS9TMSStream9AddSourceEPNS_9TMSSourceE @ 210 NONAME
-	_ZN3TMS9TMSStream9SetFormatEPNS_9TMSFormatE @ 211 NONAME
-	_ZN3TMS9TMSStreamC1Ev @ 212 NONAME
-	_ZN3TMS9TMSStreamC2Ev @ 213 NONAME
-	_ZN3TMS9TMSStreamD1Ev @ 214 NONAME
-	_ZN3TMS9TMSStreamD2Ev @ 215 NONAME
-	_ZTIN3TMS11TMSRingToneE @ 216 NONAME
-	_ZTIN3TMS12TMSAMRFormatE @ 217 NONAME
-	_ZTIN3TMS12TMSMicSourceE @ 218 NONAME
-	_ZTIN3TMS12TMSModemSinkE @ 219 NONAME
-	_ZTIN3TMS12TMSPCMFormatE @ 220 NONAME
-	_ZTIN3TMS13TMSClientSinkE @ 221 NONAME
-	_ZTIN3TMS13TMSG711FormatE @ 222 NONAME
-	_ZTIN3TMS13TMSG729FormatE @ 223 NONAME
-	_ZTIN3TMS13TMSGainEffectE @ 224 NONAME
-	_ZTIN3TMS13TMSILBCFormatE @ 225 NONAME
-	_ZTIN3TMS13TMSInbandToneE @ 226 NONAME
-	_ZTIN3TMS14TMSModemSourceE @ 227 NONAME
-	_ZTIN3TMS14TMSSpeakerSinkE @ 228 NONAME
-	_ZTIN3TMS15TMSClientSourceE @ 229 NONAME
-	_ZTIN3TMS15TMSVolumeEffectE @ 230 NONAME
-	_ZTIN3TMS16TMSGlobalRoutingE @ 231 NONAME
-	_ZTIN3TMS18TMSGlobalVolEffectE @ 232 NONAME
-	_ZTIN3TMS19TMSGlobalGainEffectE @ 233 NONAME
-	_ZTIN3TMS7TMSCallE @ 234 NONAME
-	_ZTIN3TMS7TMSDTMFE @ 235 NONAME
-	_ZTIN3TMS9TMSFormatE @ 236 NONAME
-	_ZTVN3TMS11TMSRingToneE @ 237 NONAME
-	_ZTVN3TMS12TMSAMRFormatE @ 238 NONAME
-	_ZTVN3TMS12TMSMicSourceE @ 239 NONAME
-	_ZTVN3TMS12TMSModemSinkE @ 240 NONAME
-	_ZTVN3TMS12TMSPCMFormatE @ 241 NONAME
-	_ZTVN3TMS13TMSClientSinkE @ 242 NONAME
-	_ZTVN3TMS13TMSG711FormatE @ 243 NONAME
-	_ZTVN3TMS13TMSG729FormatE @ 244 NONAME
-	_ZTVN3TMS13TMSGainEffectE @ 245 NONAME
-	_ZTVN3TMS13TMSILBCFormatE @ 246 NONAME
-	_ZTVN3TMS13TMSInbandToneE @ 247 NONAME
-	_ZTVN3TMS14TMSModemSourceE @ 248 NONAME
-	_ZTVN3TMS14TMSSpeakerSinkE @ 249 NONAME
-	_ZTVN3TMS15TMSClientSourceE @ 250 NONAME
-	_ZTVN3TMS15TMSVolumeEffectE @ 251 NONAME
-	_ZTVN3TMS16TMSGlobalRoutingE @ 252 NONAME
-	_ZTVN3TMS18TMSGlobalVolEffectE @ 253 NONAME
-	_ZTVN3TMS19TMSGlobalGainEffectE @ 254 NONAME
-	_ZTVN3TMS7TMSCallE @ 255 NONAME
-	_ZTVN3TMS7TMSDTMFE @ 256 NONAME
-	_ZTVN3TMS9TMSFormatE @ 257 NONAME
+	_ZN3TMS12TMSAMRFormatC1Ev @ 1 NONAME
+	_ZN3TMS12TMSAMRFormatC2Ev @ 2 NONAME
+	_ZN3TMS12TMSAMRFormatD0Ev @ 3 NONAME
+	_ZN3TMS12TMSAMRFormatD1Ev @ 4 NONAME
+	_ZN3TMS12TMSAMRFormatD2Ev @ 5 NONAME
+	_ZN3TMS12TMSMicSource7GetTypeERi @ 6 NONAME
+	_ZN3TMS12TMSMicSourceC1Ev @ 7 NONAME
+	_ZN3TMS12TMSMicSourceC2Ev @ 8 NONAME
+	_ZN3TMS12TMSMicSourceD0Ev @ 9 NONAME
+	_ZN3TMS12TMSMicSourceD1Ev @ 10 NONAME
+	_ZN3TMS12TMSMicSourceD2Ev @ 11 NONAME
+	_ZN3TMS12TMSModemSink7GetTypeERi @ 12 NONAME
+	_ZN3TMS12TMSModemSinkC1Ev @ 13 NONAME
+	_ZN3TMS12TMSModemSinkC2Ev @ 14 NONAME
+	_ZN3TMS12TMSModemSinkD0Ev @ 15 NONAME
+	_ZN3TMS12TMSModemSinkD1Ev @ 16 NONAME
+	_ZN3TMS12TMSModemSinkD2Ev @ 17 NONAME
+	_ZN3TMS12TMSPCMFormatC1Ev @ 18 NONAME
+	_ZN3TMS12TMSPCMFormatC2Ev @ 19 NONAME
+	_ZN3TMS12TMSPCMFormatD0Ev @ 20 NONAME
+	_ZN3TMS12TMSPCMFormatD1Ev @ 21 NONAME
+	_ZN3TMS12TMSPCMFormatD2Ev @ 22 NONAME
+	_ZN3TMS13TMSClientSink11AddObserverERNS_21TMSClientSinkObserverEPv @ 23 NONAME
+	_ZN3TMS13TMSClientSink14RemoveObserverERNS_21TMSClientSinkObserverE @ 24 NONAME
+	_ZN3TMS13TMSClientSink15BufferProcessedEPNS_9TMSBufferE @ 25 NONAME
+	_ZN3TMS13TMSClientSink7GetTypeERi @ 26 NONAME
+	_ZN3TMS13TMSClientSinkC1Ev @ 27 NONAME
+	_ZN3TMS13TMSClientSinkC2Ev @ 28 NONAME
+	_ZN3TMS13TMSClientSinkD0Ev @ 29 NONAME
+	_ZN3TMS13TMSClientSinkD1Ev @ 30 NONAME
+	_ZN3TMS13TMSClientSinkD2Ev @ 31 NONAME
+	_ZN3TMS13TMSG711Format10GetVADModeERi @ 32 NONAME
+	_ZN3TMS13TMSG711Format10SetVADModeEi @ 33 NONAME
+	_ZN3TMS13TMSG711Format6GetCNGERi @ 34 NONAME
+	_ZN3TMS13TMSG711Format6GetPlcERi @ 35 NONAME
+	_ZN3TMS13TMSG711Format6SetCNGEi @ 36 NONAME
+	_ZN3TMS13TMSG711Format6SetPlcEi @ 37 NONAME
+	_ZN3TMS13TMSG711Format7GetModeERi @ 38 NONAME
+	_ZN3TMS13TMSG711Format7SetModeEi @ 39 NONAME
+	_ZN3TMS13TMSG711FormatC1Ev @ 40 NONAME
+	_ZN3TMS13TMSG711FormatC2Ev @ 41 NONAME
+	_ZN3TMS13TMSG711FormatD0Ev @ 42 NONAME
+	_ZN3TMS13TMSG711FormatD1Ev @ 43 NONAME
+	_ZN3TMS13TMSG711FormatD2Ev @ 44 NONAME
+	_ZN3TMS13TMSG729Format10GetVADModeERi @ 45 NONAME
+	_ZN3TMS13TMSG729Format10SetVADModeEi @ 46 NONAME
+	_ZN3TMS13TMSG729FormatC1Ev @ 47 NONAME
+	_ZN3TMS13TMSG729FormatC2Ev @ 48 NONAME
+	_ZN3TMS13TMSG729FormatD0Ev @ 49 NONAME
+	_ZN3TMS13TMSG729FormatD1Ev @ 50 NONAME
+	_ZN3TMS13TMSG729FormatD2Ev @ 51 NONAME
+	_ZN3TMS13TMSGainEffect11AddObserverERNS_17TMSEffectObserverEPv @ 52 NONAME
+	_ZN3TMS13TMSGainEffect11GetMaxLevelERj @ 53 NONAME
+	_ZN3TMS13TMSGainEffect14RemoveObserverERNS_17TMSEffectObserverE @ 54 NONAME
+	_ZN3TMS13TMSGainEffect7GetTypeERi @ 55 NONAME
+	_ZN3TMS13TMSGainEffect8GetLevelERj @ 56 NONAME
+	_ZN3TMS13TMSGainEffect8SetLevelEj @ 57 NONAME
+	_ZN3TMS13TMSGainEffectC1Ev @ 58 NONAME
+	_ZN3TMS13TMSGainEffectC2Ev @ 59 NONAME
+	_ZN3TMS13TMSGainEffectD0Ev @ 60 NONAME
+	_ZN3TMS13TMSGainEffectD1Ev @ 61 NONAME
+	_ZN3TMS13TMSGainEffectD2Ev @ 62 NONAME
+	_ZN3TMS13TMSILBCFormat10GetVADModeERi @ 63 NONAME
+	_ZN3TMS13TMSILBCFormat10SetVADModeEi @ 64 NONAME
+	_ZN3TMS13TMSILBCFormat6GetCNGERi @ 65 NONAME
+	_ZN3TMS13TMSILBCFormat6SetCNGEi @ 66 NONAME
+	_ZN3TMS13TMSILBCFormat7GetModeERi @ 67 NONAME
+	_ZN3TMS13TMSILBCFormat7SetModeEi @ 68 NONAME
+	_ZN3TMS13TMSILBCFormatC1Ev @ 69 NONAME
+	_ZN3TMS13TMSILBCFormatC2Ev @ 70 NONAME
+	_ZN3TMS13TMSILBCFormatD0Ev @ 71 NONAME
+	_ZN3TMS13TMSILBCFormatD1Ev @ 72 NONAME
+	_ZN3TMS13TMSILBCFormatD2Ev @ 73 NONAME
+	_ZN3TMS14TMSModemSource7GetTypeERi @ 74 NONAME
+	_ZN3TMS14TMSModemSourceC1Ev @ 75 NONAME
+	_ZN3TMS14TMSModemSourceC2Ev @ 76 NONAME
+	_ZN3TMS14TMSModemSourceD0Ev @ 77 NONAME
+	_ZN3TMS14TMSModemSourceD1Ev @ 78 NONAME
+	_ZN3TMS14TMSModemSourceD2Ev @ 79 NONAME
+	_ZN3TMS14TMSSpeakerSink7GetTypeERi @ 80 NONAME
+	_ZN3TMS14TMSSpeakerSinkC1Ev @ 81 NONAME
+	_ZN3TMS14TMSSpeakerSinkC2Ev @ 82 NONAME
+	_ZN3TMS14TMSSpeakerSinkD0Ev @ 83 NONAME
+	_ZN3TMS14TMSSpeakerSinkD1Ev @ 84 NONAME
+	_ZN3TMS14TMSSpeakerSinkD2Ev @ 85 NONAME
+	_ZN3TMS15TMSClientSource11AddObserverERNS_23TMSClientSourceObserverEPv @ 86 NONAME
+	_ZN3TMS15TMSClientSource12BufferFilledERNS_9TMSBufferE @ 87 NONAME
+	_ZN3TMS15TMSClientSource13ProcessBufferEPNS_9TMSBufferE @ 88 NONAME
+	_ZN3TMS15TMSClientSource14GetEnqueueModeERi @ 89 NONAME
+	_ZN3TMS15TMSClientSource14RemoveObserverERNS_23TMSClientSourceObserverE @ 90 NONAME
+	_ZN3TMS15TMSClientSource14SetEnqueueModeEi @ 91 NONAME
+	_ZN3TMS15TMSClientSource5FlushEv @ 92 NONAME
+	_ZN3TMS15TMSClientSource7GetTypeERi @ 93 NONAME
+	_ZN3TMS15TMSClientSourceC1Ev @ 94 NONAME
+	_ZN3TMS15TMSClientSourceC2Ev @ 95 NONAME
+	_ZN3TMS15TMSClientSourceD0Ev @ 96 NONAME
+	_ZN3TMS15TMSClientSourceD1Ev @ 97 NONAME
+	_ZN3TMS15TMSClientSourceD2Ev @ 98 NONAME
+	_ZN3TMS15TMSVolumeEffect11AddObserverERNS_17TMSEffectObserverEPv @ 99 NONAME
+	_ZN3TMS15TMSVolumeEffect11GetMaxLevelERj @ 100 NONAME
+	_ZN3TMS15TMSVolumeEffect14RemoveObserverERNS_17TMSEffectObserverE @ 101 NONAME
+	_ZN3TMS15TMSVolumeEffect7GetTypeERi @ 102 NONAME
+	_ZN3TMS15TMSVolumeEffect8GetLevelERj @ 103 NONAME
+	_ZN3TMS15TMSVolumeEffect8SetLevelEj @ 104 NONAME
+	_ZN3TMS15TMSVolumeEffectC1Ev @ 105 NONAME
+	_ZN3TMS15TMSVolumeEffectC2Ev @ 106 NONAME
+	_ZN3TMS15TMSVolumeEffectD0Ev @ 107 NONAME
+	_ZN3TMS15TMSVolumeEffectD1Ev @ 108 NONAME
+	_ZN3TMS15TMSVolumeEffectD2Ev @ 109 NONAME
+	_ZN3TMS16TMSGlobalRouting11AddObserverERNS_24TMSGlobalRoutingObserverEPv @ 110 NONAME
+	_ZN3TMS16TMSGlobalRouting14RemoveObserverERNS_24TMSGlobalRoutingObserverE @ 111 NONAME
+	_ZN3TMS16TMSGlobalRouting17GetPreviousOutputERi @ 112 NONAME
+	_ZN3TMS16TMSGlobalRouting19GetAvailableOutputsERSt6vectorIjSaIjEE @ 113 NONAME
+	_ZN3TMS16TMSGlobalRouting9GetOutputERi @ 114 NONAME
+	_ZN3TMS16TMSGlobalRouting9SetOutputEi @ 115 NONAME
+	_ZN3TMS16TMSGlobalRoutingC1Ev @ 116 NONAME
+	_ZN3TMS16TMSGlobalRoutingC2Ev @ 117 NONAME
+	_ZN3TMS16TMSGlobalRoutingD0Ev @ 118 NONAME
+	_ZN3TMS16TMSGlobalRoutingD1Ev @ 119 NONAME
+	_ZN3TMS16TMSGlobalRoutingD2Ev @ 120 NONAME
+	_ZN3TMS18TMSGlobalVolEffect11AddObserverERNS_17TMSEffectObserverEPv @ 121 NONAME
+	_ZN3TMS18TMSGlobalVolEffect11GetMaxLevelERj @ 122 NONAME
+	_ZN3TMS18TMSGlobalVolEffect14RemoveObserverERNS_17TMSEffectObserverE @ 123 NONAME
+	_ZN3TMS18TMSGlobalVolEffect7GetTypeERi @ 124 NONAME
+	_ZN3TMS18TMSGlobalVolEffect8GetLevelERj @ 125 NONAME
+	_ZN3TMS18TMSGlobalVolEffect8SetLevelEj @ 126 NONAME
+	_ZN3TMS18TMSGlobalVolEffectC1Ev @ 127 NONAME
+	_ZN3TMS18TMSGlobalVolEffectC2Ev @ 128 NONAME
+	_ZN3TMS18TMSGlobalVolEffectD0Ev @ 129 NONAME
+	_ZN3TMS18TMSGlobalVolEffectD1Ev @ 130 NONAME
+	_ZN3TMS18TMSGlobalVolEffectD2Ev @ 131 NONAME
+	_ZN3TMS19TMSGlobalGainEffect11AddObserverERNS_17TMSEffectObserverEPv @ 132 NONAME
+	_ZN3TMS19TMSGlobalGainEffect11GetMaxLevelERj @ 133 NONAME
+	_ZN3TMS19TMSGlobalGainEffect14RemoveObserverERNS_17TMSEffectObserverE @ 134 NONAME
+	_ZN3TMS19TMSGlobalGainEffect7GetTypeERi @ 135 NONAME
+	_ZN3TMS19TMSGlobalGainEffect8GetLevelERj @ 136 NONAME
+	_ZN3TMS19TMSGlobalGainEffect8SetLevelEj @ 137 NONAME
+	_ZN3TMS19TMSGlobalGainEffectC1Ev @ 138 NONAME
+	_ZN3TMS19TMSGlobalGainEffectC2Ev @ 139 NONAME
+	_ZN3TMS19TMSGlobalGainEffectD0Ev @ 140 NONAME
+	_ZN3TMS19TMSGlobalGainEffectD1Ev @ 141 NONAME
+	_ZN3TMS19TMSGlobalGainEffectD2Ev @ 142 NONAME
+	_ZN3TMS7TMSCall11GetCallTypeEv @ 143 NONAME
+	_ZN3TMS7TMSCall12CreateStreamEiRPNS_9TMSStreamE @ 144 NONAME
+	_ZN3TMS7TMSCall12DeleteStreamERPNS_9TMSStreamE @ 145 NONAME
+	_ZN3TMS7TMSCall16GetCallContextIdERj @ 146 NONAME
+	_ZN3TMS7TMSCallC1Ev @ 147 NONAME
+	_ZN3TMS7TMSCallC2Ev @ 148 NONAME
+	_ZN3TMS7TMSCallD0Ev @ 149 NONAME
+	_ZN3TMS7TMSCallD1Ev @ 150 NONAME
+	_ZN3TMS7TMSCallD2Ev @ 151 NONAME
+	_ZN3TMS9TMSFormat10GetBitRateERj @ 152 NONAME
+	_ZN3TMS9TMSFormat10SetBitRateEj @ 153 NONAME
+	_ZN3TMS9TMSFormat20GetSupportedBitRatesERSt6vectorIjSaIjEE @ 154 NONAME
+	_ZN3TMS9TMSFormat7GetTypeERi @ 155 NONAME
+	_ZN3TMS9TMSFormatC1Ev @ 156 NONAME
+	_ZN3TMS9TMSFormatC2Ev @ 157 NONAME
+	_ZN3TMS9TMSFormatD0Ev @ 158 NONAME
+	_ZN3TMS9TMSFormatD1Ev @ 159 NONAME
+	_ZN3TMS9TMSFormatD2Ev @ 160 NONAME
+	_ZN3TMS9TMSStream10RemoveSinkEPNS_7TMSSinkE @ 161 NONAME
+	_ZN3TMS9TMSStream11AddObserverERNS_17TMSStreamObserverEPv @ 162 NONAME
+	_ZN3TMS9TMSStream11GetStreamIdEv @ 163 NONAME
+	_ZN3TMS9TMSStream11ResetFormatEPNS_9TMSFormatE @ 164 NONAME
+	_ZN3TMS9TMSStream12RemoveEffectEPNS_9TMSEffectE @ 165 NONAME
+	_ZN3TMS9TMSStream12RemoveSourceEPNS_9TMSSourceE @ 166 NONAME
+	_ZN3TMS9TMSStream13GetStreamTypeEv @ 167 NONAME
+	_ZN3TMS9TMSStream14RemoveObserverERNS_17TMSStreamObserverE @ 168 NONAME
+	_ZN3TMS9TMSStream4InitEv @ 169 NONAME
+	_ZN3TMS9TMSStream4StopEv @ 170 NONAME
+	_ZN3TMS9TMSStream5PauseEv @ 171 NONAME
+	_ZN3TMS9TMSStream5StartEv @ 172 NONAME
+	_ZN3TMS9TMSStream6DeinitEv @ 173 NONAME
+	_ZN3TMS9TMSStream7AddSinkEPNS_7TMSSinkE @ 174 NONAME
+	_ZN3TMS9TMSStream8GetStateEv @ 175 NONAME
+	_ZN3TMS9TMSStream9AddEffectEPNS_9TMSEffectE @ 176 NONAME
+	_ZN3TMS9TMSStream9AddSourceEPNS_9TMSSourceE @ 177 NONAME
+	_ZN3TMS9TMSStream9SetFormatEPNS_9TMSFormatE @ 178 NONAME
+	_ZN3TMS9TMSStreamC1Ev @ 179 NONAME
+	_ZN3TMS9TMSStreamC2Ev @ 180 NONAME
+	_ZN3TMS9TMSStreamD1Ev @ 181 NONAME
+	_ZN3TMS9TMSStreamD2Ev @ 182 NONAME
+	_ZTIN3TMS12TMSAMRFormatE @ 183 NONAME
+	_ZTIN3TMS12TMSMicSourceE @ 184 NONAME
+	_ZTIN3TMS12TMSModemSinkE @ 185 NONAME
+	_ZTIN3TMS12TMSPCMFormatE @ 186 NONAME
+	_ZTIN3TMS13TMSClientSinkE @ 187 NONAME
+	_ZTIN3TMS13TMSG711FormatE @ 188 NONAME
+	_ZTIN3TMS13TMSG729FormatE @ 189 NONAME
+	_ZTIN3TMS13TMSGainEffectE @ 190 NONAME
+	_ZTIN3TMS13TMSILBCFormatE @ 191 NONAME
+	_ZTIN3TMS14TMSModemSourceE @ 192 NONAME
+	_ZTIN3TMS14TMSSpeakerSinkE @ 193 NONAME
+	_ZTIN3TMS15TMSClientSourceE @ 194 NONAME
+	_ZTIN3TMS15TMSVolumeEffectE @ 195 NONAME
+	_ZTIN3TMS16TMSGlobalRoutingE @ 196 NONAME
+	_ZTIN3TMS18TMSGlobalVolEffectE @ 197 NONAME
+	_ZTIN3TMS19TMSGlobalGainEffectE @ 198 NONAME
+	_ZTIN3TMS7TMSCallE @ 199 NONAME
+	_ZTIN3TMS9TMSFormatE @ 200 NONAME
+	_ZTVN3TMS12TMSAMRFormatE @ 201 NONAME
+	_ZTVN3TMS12TMSMicSourceE @ 202 NONAME
+	_ZTVN3TMS12TMSModemSinkE @ 203 NONAME
+	_ZTVN3TMS12TMSPCMFormatE @ 204 NONAME
+	_ZTVN3TMS13TMSClientSinkE @ 205 NONAME
+	_ZTVN3TMS13TMSG711FormatE @ 206 NONAME
+	_ZTVN3TMS13TMSG729FormatE @ 207 NONAME
+	_ZTVN3TMS13TMSGainEffectE @ 208 NONAME
+	_ZTVN3TMS13TMSILBCFormatE @ 209 NONAME
+	_ZTVN3TMS14TMSModemSourceE @ 210 NONAME
+	_ZTVN3TMS14TMSSpeakerSinkE @ 211 NONAME
+	_ZTVN3TMS15TMSClientSourceE @ 212 NONAME
+	_ZTVN3TMS15TMSVolumeEffectE @ 213 NONAME
+	_ZTVN3TMS16TMSGlobalRoutingE @ 214 NONAME
+	_ZTVN3TMS18TMSGlobalVolEffectE @ 215 NONAME
+	_ZTVN3TMS19TMSGlobalGainEffectE @ 216 NONAME
+	_ZTVN3TMS7TMSCallE @ 217 NONAME
+	_ZTVN3TMS9TMSFormatE @ 218 NONAME
 
--- a/mmserv/tms/tmsapi/group/tmsapi.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsapi/group/tmsapi.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -55,9 +55,6 @@
 SOURCE      tmsspeakersink.cpp
 SOURCE      tmsmodemsource.cpp
 SOURCE      tmsmicsource.cpp
-SOURCE      tmsringtone.cpp
-SOURCE      tmsdtmf.cpp
-SOURCE      tmsinbandtone.cpp
 
 LIBRARY     euser.lib
 LIBRARY     libglib.lib
--- a/mmserv/tms/tmsapi/src/tmsdtmf.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include "tmsdtmfbody.h"
-#include "tmsdtmf.h"
-#include "tmsdtmfobsrvr.h"
-
-using namespace TMS;
-
-
-EXPORT_C TMSDTMF::TMSDTMF(void) :
-    iBody(NULL)
-    {
-    }
-
-EXPORT_C TMSDTMF::~TMSDTMF(void)
-    {
-    delete iBody;
-    }
-
-EXPORT_C gint TMSDTMF::AddObserver(TMSDTMFObserver& obsrvr, gpointer user_data)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->AddObserver(obsrvr, user_data);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSDTMF::RemoveObserver(TMSDTMFObserver& obsrvr)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->RemoveObserver(obsrvr);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSDTMF::Start()
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->Start();
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSDTMF::Stop()
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->Stop();
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSDTMF::SetTone(GString* string)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->SetTone(string);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSDTMF::ContinueDTMFStringSending(gboolean aContinue)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->ContinueDTMFStringSending(aContinue);
-        }
-    return status;
-    }
--- a/mmserv/tms/tmsapi/src/tmsinbandtone.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include "tmsinbandtonebody.h"
-#include "tmsinbandtone.h"
-#include "tmsinbandtoneobsrvr.h"
-
-using namespace TMS;
-
-EXPORT_C TMSInbandTone::TMSInbandTone(void) :
-    iBody(NULL)
-    {
-    }
-
-EXPORT_C TMSInbandTone::~TMSInbandTone(void)
-    {
-    delete iBody;
-    }
-
-EXPORT_C gint TMSInbandTone::AddObserver(TMSInbandToneObserver& obsrvr,
-        gpointer user_data)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->AddObserver(obsrvr, user_data);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSInbandTone::RemoveObserver(TMSInbandToneObserver& obsrvr)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->RemoveObserver(obsrvr);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSInbandTone::Start(TMSInbandToneType inbandtonetype)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->Start(inbandtonetype);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSInbandTone::Stop()
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->Stop();
-        }
-    return status;
-    }
-
--- a/mmserv/tms/tmsapi/src/tmsringtone.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include <tmsringtoneobsrvr.h>
-#include <tmsringtone.h>
-#include "tmsringtonebody.h"
-
-using namespace TMS;
-
-EXPORT_C TMSRingTone::TMSRingTone() :
-    iBody(NULL)
-    {
-    }
-
-EXPORT_C TMSRingTone::~TMSRingTone()
-    {
-    delete iBody;
-    }
-
-EXPORT_C gint TMSRingTone::AddObserver(TMSRingToneObserver& obsrvr,
-        gpointer user_data)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->AddObserver(obsrvr, user_data);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSRingTone::RemoveObserver(TMSRingToneObserver& obsrvr)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->RemoveObserver(obsrvr);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSRingTone::Init(const TMSRingToneType type, GString* str,
-        GString* tts)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->Init(type, str, tts);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSRingTone::Deinit()
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->Deinit();
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSRingTone::Play()
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->Play();
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSRingTone::Stop()
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->Stop();
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSRingTone::Pause()
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->Pause();
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSRingTone::Mute()
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (iBody)
-        {
-        status = iBody->Mute();
-        }
-    return status;
-    }
-
-// End of file
--- a/mmserv/tms/tmsapi/src/tmsstream.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsapi/src/tmsstream.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -161,12 +161,12 @@
     return status;
     }
 
-EXPORT_C gint TMSStream::Init(gint retrytime)
+EXPORT_C gint TMSStream::Init()
     {
     gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
     if (iBody)
         {
-        status = iBody->Init(retrytime);
+        status = iBody->Init();
         }
     return status;
     }
@@ -181,12 +181,12 @@
     return status;
     }
 
-EXPORT_C gint TMSStream::Start(gint retrytime)
+EXPORT_C gint TMSStream::Start()
     {
     gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
     if (iBody)
         {
-        status = iBody->Start(retrytime);
+        status = iBody->Start();
         }
     return status;
     }
--- a/mmserv/tms/tmscallproxy/bwins/tmscallproxy.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallproxy/bwins/tmscallproxy.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,35 +1,35 @@
 EXPORTS
 	?GetVolume@TMSCallProxy@TMS@@QAEHAAI@Z @ 1 NONAME ; int TMS::TMSCallProxy::GetVolume(unsigned int &)
-	?GetGain@TMSCallProxy@TMS@@QAEHAAI@Z @ 2 NONAME ; int TMS::TMSCallProxy::GetGain(unsigned int &)
-	?SetPlc@TMSCallProxy@TMS@@QAEHHH@Z @ 3 NONAME ; int TMS::TMSCallProxy::SetPlc(int, int)
-	??1TMSCallProxy@TMS@@UAE@XZ @ 4 NONAME ; TMS::TMSCallProxy::~TMSCallProxy(void)
-	?SetCNG@TMSCallProxy@TMS@@QAEHHH@Z @ 5 NONAME ; int TMS::TMSCallProxy::SetCNG(int, int)
-	?GetMaxGain@TMSCallProxy@TMS@@QAEHAAI@Z @ 6 NONAME ; int TMS::TMSCallProxy::GetMaxGain(unsigned int &)
-	?BufferFilled@TMSCallProxy@TMS@@QAEHHHHAAVTMSBuffer@2@@Z @ 7 NONAME ; int TMS::TMSCallProxy::BufferFilled(int, int, int, class TMS::TMSBuffer &)
-	?CreateCall@TMSCallProxy@TMS@@QAEHH@Z @ 8 NONAME ; int TMS::TMSCallProxy::CreateCall(int)
-	?CreateStream@TMSCallProxy@TMS@@QAEHHHAAH@Z @ 9 NONAME ; int TMS::TMSCallProxy::CreateStream(int, int, int &)
-	?SetVADMode@TMSCallProxy@TMS@@QAEHHH@Z @ 10 NONAME ; int TMS::TMSCallProxy::SetVADMode(int, int)
-	?GetSupportedBitRates@TMSCallProxy@TMS@@QAEHAAV?$vector@IV?$allocator@I@std@@@std@@@Z @ 11 NONAME ; int TMS::TMSCallProxy::GetSupportedBitRates(class std::vector<unsigned int, class std::allocator<unsigned int> > &)
-	?InitStream@TMSCallProxy@TMS@@QAEHHHHHPAVRHandleBase@@H@Z @ 12 NONAME ; int TMS::TMSCallProxy::InitStream(int, int, int, int, class RHandleBase *, int)
-	?GetDataXferChunkHandle@TMSCallProxy@TMS@@QAEHHHHI@Z @ 13 NONAME ; int TMS::TMSCallProxy::GetDataXferChunkHandle(int, int, int, unsigned int)
-	?Close@TMSCallProxy@TMS@@QAEXXZ @ 14 NONAME ; void TMS::TMSCallProxy::Close(void)
-	?DeleteCall@TMSCallProxy@TMS@@QAEXXZ @ 15 NONAME ; void TMS::TMSCallProxy::DeleteCall(void)
-	?GetCNG@TMSCallProxy@TMS@@QAEHHAAH@Z @ 16 NONAME ; int TMS::TMSCallProxy::GetCNG(int, int &)
-	?StartStream@TMSCallProxy@TMS@@QAEHHHHH@Z @ 17 NONAME ; int TMS::TMSCallProxy::StartStream(int, int, int, int)
-	?GetMaxVolume@TMSCallProxy@TMS@@QAEHAAI@Z @ 18 NONAME ; int TMS::TMSCallProxy::GetMaxVolume(unsigned int &)
-	??0TMSCallProxy@TMS@@QAE@XZ @ 19 NONAME ; TMS::TMSCallProxy::TMSCallProxy(void)
-	?DeleteStream@TMSCallProxy@TMS@@QAEHHHAAH@Z @ 20 NONAME ; int TMS::TMSCallProxy::DeleteStream(int, int, int &)
-	?BufferEmptied@TMSCallProxy@TMS@@QAEHHHHAAVTMSBuffer@2@@Z @ 21 NONAME ; int TMS::TMSCallProxy::BufferEmptied(int, int, int, class TMS::TMSBuffer &)
-	?GetVADMode@TMSCallProxy@TMS@@QAEHHAAH@Z @ 22 NONAME ; int TMS::TMSCallProxy::GetVADMode(int, int &)
-	?Connect@TMSCallProxy@TMS@@QAEHXZ @ 23 NONAME ; int TMS::TMSCallProxy::Connect(void)
-	?PauseStream@TMSCallProxy@TMS@@QAEHHHH@Z @ 24 NONAME ; int TMS::TMSCallProxy::PauseStream(int, int, int)
-	?GetBitRate@TMSCallProxy@TMS@@QAEHAAI@Z @ 25 NONAME ; int TMS::TMSCallProxy::GetBitRate(unsigned int &)
-	?SetFormatCodecMode@TMSCallProxy@TMS@@QAEHHHH@Z @ 26 NONAME ; int TMS::TMSCallProxy::SetFormatCodecMode(int, int, int)
-	?SetGain@TMSCallProxy@TMS@@QAEHI@Z @ 27 NONAME ; int TMS::TMSCallProxy::SetGain(unsigned int)
-	?SetBitRate@TMSCallProxy@TMS@@QAEHI@Z @ 28 NONAME ; int TMS::TMSCallProxy::SetBitRate(unsigned int)
-	?GetPlc@TMSCallProxy@TMS@@QAEHHAAH@Z @ 29 NONAME ; int TMS::TMSCallProxy::GetPlc(int, int &)
-	?StopStream@TMSCallProxy@TMS@@QAEHHHH@Z @ 30 NONAME ; int TMS::TMSCallProxy::StopStream(int, int, int)
-	?DeinitStream@TMSCallProxy@TMS@@QAEHHHH@Z @ 31 NONAME ; int TMS::TMSCallProxy::DeinitStream(int, int, int)
+	?StartStream@TMSCallProxy@TMS@@QAEHHHH@Z @ 2 NONAME ; int TMS::TMSCallProxy::StartStream(int, int, int)
+	?SetCNG@TMSCallProxy@TMS@@QAEHHH@Z @ 3 NONAME ; int TMS::TMSCallProxy::SetCNG(int, int)
+	?BufferFilled@TMSCallProxy@TMS@@QAEHHHHAAVTMSBuffer@2@@Z @ 4 NONAME ; int TMS::TMSCallProxy::BufferFilled(int, int, int, class TMS::TMSBuffer &)
+	?CreateStream@TMSCallProxy@TMS@@QAEHHHAAH@Z @ 5 NONAME ; int TMS::TMSCallProxy::CreateStream(int, int, int &)
+	?GetSupportedBitRates@TMSCallProxy@TMS@@QAEHAAV?$vector@IV?$allocator@I@std@@@std@@@Z @ 6 NONAME ; int TMS::TMSCallProxy::GetSupportedBitRates(class std::vector<unsigned int, class std::allocator<unsigned int> > &)
+	?Close@TMSCallProxy@TMS@@QAEXXZ @ 7 NONAME ; void TMS::TMSCallProxy::Close(void)
+	?InitStream@TMSCallProxy@TMS@@QAEHHHHHPAVRHandleBase@@@Z @ 8 NONAME ; int TMS::TMSCallProxy::InitStream(int, int, int, int, class RHandleBase *)
+	?GetCNG@TMSCallProxy@TMS@@QAEHHAAH@Z @ 9 NONAME ; int TMS::TMSCallProxy::GetCNG(int, int &)
+	?GetMaxVolume@TMSCallProxy@TMS@@QAEHAAI@Z @ 10 NONAME ; int TMS::TMSCallProxy::GetMaxVolume(unsigned int &)
+	?GetVADMode@TMSCallProxy@TMS@@QAEHHAAH@Z @ 11 NONAME ; int TMS::TMSCallProxy::GetVADMode(int, int &)
+	?PauseStream@TMSCallProxy@TMS@@QAEHHHH@Z @ 12 NONAME ; int TMS::TMSCallProxy::PauseStream(int, int, int)
+	?GetBitRate@TMSCallProxy@TMS@@QAEHAAI@Z @ 13 NONAME ; int TMS::TMSCallProxy::GetBitRate(unsigned int &)
+	?SetFormatCodecMode@TMSCallProxy@TMS@@QAEHHHH@Z @ 14 NONAME ; int TMS::TMSCallProxy::SetFormatCodecMode(int, int, int)
+	?GetPlc@TMSCallProxy@TMS@@QAEHHAAH@Z @ 15 NONAME ; int TMS::TMSCallProxy::GetPlc(int, int &)
+	?StopStream@TMSCallProxy@TMS@@QAEHHHH@Z @ 16 NONAME ; int TMS::TMSCallProxy::StopStream(int, int, int)
+	?SetVolume@TMSCallProxy@TMS@@QAEHI@Z @ 17 NONAME ; int TMS::TMSCallProxy::SetVolume(unsigned int)
+	?GetGain@TMSCallProxy@TMS@@QAEHAAI@Z @ 18 NONAME ; int TMS::TMSCallProxy::GetGain(unsigned int &)
+	?SetPlc@TMSCallProxy@TMS@@QAEHHH@Z @ 19 NONAME ; int TMS::TMSCallProxy::SetPlc(int, int)
+	??1TMSCallProxy@TMS@@UAE@XZ @ 20 NONAME ; TMS::TMSCallProxy::~TMSCallProxy(void)
+	?GetMaxGain@TMSCallProxy@TMS@@QAEHAAI@Z @ 21 NONAME ; int TMS::TMSCallProxy::GetMaxGain(unsigned int &)
+	?CreateCall@TMSCallProxy@TMS@@QAEHH@Z @ 22 NONAME ; int TMS::TMSCallProxy::CreateCall(int)
+	?SetVADMode@TMSCallProxy@TMS@@QAEHHH@Z @ 23 NONAME ; int TMS::TMSCallProxy::SetVADMode(int, int)
+	?DeleteCall@TMSCallProxy@TMS@@QAEXXZ @ 24 NONAME ; void TMS::TMSCallProxy::DeleteCall(void)
+	?GetDataXferChunkHandle@TMSCallProxy@TMS@@QAEHHHHI@Z @ 25 NONAME ; int TMS::TMSCallProxy::GetDataXferChunkHandle(int, int, int, unsigned int)
+	?DeleteStream@TMSCallProxy@TMS@@QAEHHHAAH@Z @ 26 NONAME ; int TMS::TMSCallProxy::DeleteStream(int, int, int &)
+	??0TMSCallProxy@TMS@@QAE@XZ @ 27 NONAME ; TMS::TMSCallProxy::TMSCallProxy(void)
+	?BufferEmptied@TMSCallProxy@TMS@@QAEHHHHAAVTMSBuffer@2@@Z @ 28 NONAME ; int TMS::TMSCallProxy::BufferEmptied(int, int, int, class TMS::TMSBuffer &)
+	?Connect@TMSCallProxy@TMS@@QAEHXZ @ 29 NONAME ; int TMS::TMSCallProxy::Connect(void)
+	?SetGain@TMSCallProxy@TMS@@QAEHI@Z @ 30 NONAME ; int TMS::TMSCallProxy::SetGain(unsigned int)
+	?SetBitRate@TMSCallProxy@TMS@@QAEHI@Z @ 31 NONAME ; int TMS::TMSCallProxy::SetBitRate(unsigned int)
 	?GetFormatCodecMode@TMSCallProxy@TMS@@QAEHHHAAH@Z @ 32 NONAME ; int TMS::TMSCallProxy::GetFormatCodecMode(int, int, int &)
-	?SetVolume@TMSCallProxy@TMS@@QAEHI@Z @ 33 NONAME ; int TMS::TMSCallProxy::SetVolume(unsigned int)
+	?DeinitStream@TMSCallProxy@TMS@@QAEHHHH@Z @ 33 NONAME ; int TMS::TMSCallProxy::DeinitStream(int, int, int)
 
--- a/mmserv/tms/tmscallproxy/eabi/tmscallproxy.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallproxy/eabi/tmscallproxy.def	Wed Sep 01 12:23:00 2010 +0100
@@ -4,12 +4,12 @@
 	_ZN3TMS12TMSCallProxy10GetBitRateERj @ 3 NONAME
 	_ZN3TMS12TMSCallProxy10GetMaxGainERj @ 4 NONAME
 	_ZN3TMS12TMSCallProxy10GetVADModeEiRi @ 5 NONAME
-	_ZN3TMS12TMSCallProxy10InitStreamEiiiiP11RHandleBasei @ 6 NONAME
+	_ZN3TMS12TMSCallProxy10InitStreamEiiiiP11RHandleBase @ 6 NONAME
 	_ZN3TMS12TMSCallProxy10SetBitRateEj @ 7 NONAME
 	_ZN3TMS12TMSCallProxy10SetVADModeEii @ 8 NONAME
 	_ZN3TMS12TMSCallProxy10StopStreamEiii @ 9 NONAME
 	_ZN3TMS12TMSCallProxy11PauseStreamEiii @ 10 NONAME
-	_ZN3TMS12TMSCallProxy11StartStreamEiiii @ 11 NONAME
+	_ZN3TMS12TMSCallProxy11StartStreamEiii @ 11 NONAME
 	_ZN3TMS12TMSCallProxy12BufferFilledEiiiRNS_9TMSBufferE @ 12 NONAME
 	_ZN3TMS12TMSCallProxy12CreateStreamEiiRi @ 13 NONAME
 	_ZN3TMS12TMSCallProxy12DeinitStreamEiii @ 14 NONAME
--- a/mmserv/tms/tmscallproxy/src/tmscallproxy.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallproxy/src/tmscallproxy.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -119,8 +119,7 @@
 //
 EXPORT_C gint TMSCallProxy::InitStream(const TMSCallType callType,
         const TMSStreamType strmType, gint strmId,
-        const TMSFormatType frmtType, RHandleBase* msgQueue,
-        const gint retrytime)
+        const TMSFormatType frmtType, RHandleBase* msgQueue)
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_SUCCESS);
@@ -129,7 +128,6 @@
     inPckg().StreamType = strmType;
     inPckg().StreamId = strmId;
     inPckg().FormatType = frmtType;
-    inPckg().RetryTime = retrytime;
     status = RSessionBase::SendReceive(TMS_INIT_STREAM, TIpcArgs(&inPckg,
             *msgQueue));
     TRACE_PRN_FN_EXT;
@@ -142,7 +140,7 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C gint TMSCallProxy::StartStream(const TMSCallType callType,
-        const TMSStreamType strmType, gint strmId, const gint retrytime)
+        const TMSStreamType strmType, gint strmId)
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_SUCCESS);
@@ -150,7 +148,6 @@
     inPckg().CallType = callType;
     inPckg().StreamType = strmType;
     inPckg().StreamId = strmId;
-    inPckg().RetryTime = retrytime;
     status = RSessionBase::SendReceive(TMS_START_STREAM, TIpcArgs(&inPckg));
     TRACE_PRN_FN_EXT;
     return TMSRESULT(status);
--- a/mmserv/tms/tmscallserver/eabi/tmscallserver.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/eabi/tmscallserver.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,25 +1,23 @@
 EXPORTS
 	_ZN3TMS13TMSCallServer11StartThreadEPv @ 1 NONAME
-	_ZTIN3TMS10TMSSyncVolE @ 2 NONAME
-	_ZTIN3TMS11TMSCallAdptE @ 3 NONAME
-	_ZTIN3TMS11TMSIPUplinkE @ 4 NONAME
-	_ZTIN3TMS13TMSCallCSAdptE @ 5 NONAME
-	_ZTIN3TMS13TMSCallIPAdptE @ 6 NONAME
-	_ZTIN3TMS13TMSCallServerE @ 7 NONAME
-	_ZTIN3TMS13TMSIPDownlinkE @ 8 NONAME
-	_ZTIN3TMS14TMSCallSessionE @ 9 NONAME
-	_ZTIN3TMS14TMSTarSettingsE @ 10 NONAME
-	_ZTIN3TMS17TMSCallDelayTimerE @ 11 NONAME
-	_ZTIN3TMS19TMSIPCallStreamBaseE @ 12 NONAME
-	_ZTVN3TMS10TMSSyncVolE @ 13 NONAME
-	_ZTVN3TMS11TMSCallAdptE @ 14 NONAME
-	_ZTVN3TMS11TMSIPUplinkE @ 15 NONAME
-	_ZTVN3TMS13TMSCallCSAdptE @ 16 NONAME
-	_ZTVN3TMS13TMSCallIPAdptE @ 17 NONAME
-	_ZTVN3TMS13TMSCallServerE @ 18 NONAME
-	_ZTVN3TMS13TMSIPDownlinkE @ 19 NONAME
-	_ZTVN3TMS14TMSCallSessionE @ 20 NONAME
-	_ZTVN3TMS14TMSTarSettingsE @ 21 NONAME
-	_ZTVN3TMS17TMSCallDelayTimerE @ 22 NONAME
-	_ZTVN3TMS19TMSIPCallStreamBaseE @ 23 NONAME
+	_ZTIN3TMS11TMSCallAdptE @ 2 NONAME
+	_ZTIN3TMS11TMSIPUplinkE @ 3 NONAME
+	_ZTIN3TMS13TMSCallCSAdptE @ 4 NONAME
+	_ZTIN3TMS13TMSCallIPAdptE @ 5 NONAME
+	_ZTIN3TMS13TMSCallServerE @ 6 NONAME
+	_ZTIN3TMS13TMSIPDownlinkE @ 7 NONAME
+	_ZTIN3TMS14TMSCallSessionE @ 8 NONAME
+	_ZTIN3TMS14TMSTarSettingsE @ 9 NONAME
+	_ZTIN3TMS17TMSCallDelayTimerE @ 10 NONAME
+	_ZTIN3TMS19TMSIPCallStreamBaseE @ 11 NONAME
+	_ZTVN3TMS11TMSCallAdptE @ 12 NONAME
+	_ZTVN3TMS11TMSIPUplinkE @ 13 NONAME
+	_ZTVN3TMS13TMSCallCSAdptE @ 14 NONAME
+	_ZTVN3TMS13TMSCallIPAdptE @ 15 NONAME
+	_ZTVN3TMS13TMSCallServerE @ 16 NONAME
+	_ZTVN3TMS13TMSIPDownlinkE @ 17 NONAME
+	_ZTVN3TMS14TMSCallSessionE @ 18 NONAME
+	_ZTVN3TMS14TMSTarSettingsE @ 19 NONAME
+	_ZTVN3TMS17TMSCallDelayTimerE @ 20 NONAME
+	_ZTVN3TMS19TMSIPCallStreamBaseE @ 21 NONAME
 
--- a/mmserv/tms/tmscallserver/group/tmscallserver.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/group/tmscallserver.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -52,7 +52,6 @@
 SOURCE          tmscsdownlink.cpp
 SOURCE          tmscsuplink.cpp
 SOURCE          tmstarsettings.cpp
-SOURCE          tmsyncvol.cpp
 
 USERINCLUDE     ../inc
 USERINCLUDE     ../../inc
@@ -74,15 +73,15 @@
 LIBRARY         libgstapp.lib
 LIBRARY         libgstdevsoundext.lib
 #else //__USE_GSTREAMER__
-LIBRARY         ErrorConcealmentIntfc.lib
-LIBRARY         G711DecoderIntfc.lib
-LIBRARY         G711EncoderIntfc.lib
-LIBRARY         G729DecoderIntfc.lib
-LIBRARY         G729EncoderIntfc.lib
-LIBRARY         IlbcDecoderIntfc.lib
-LIBRARY         IlbcEncoderIntfc.lib
-LIBRARY         SpeechEncoderConfig.lib
-LIBRARY         AudioOutputRouting.lib
+LIBRARY         errorconcealmentintfc.lib
+LIBRARY         g711decoderintfc.lib
+LIBRARY         g711encoderintfc.lib
+LIBRARY         g729decoderintfc.lib
+LIBRARY         g729encoderintfc.lib
+LIBRARY         ilbcdecoderintfc.lib
+LIBRARY         ilbcencoderintfc.lib
+LIBRARY         speechencoderconfig.lib
+LIBRARY         audiooutputrouting.lib
 #endif //__USE_GSTREAMER__
 LIBRARY         euser.lib
 LIBRARY         estor.lib
@@ -92,8 +91,8 @@
 LIBRARY         mmfdevsound.lib
 LIBRARY         mmfserverbaseclasses.lib
 LIBRARY         mediaclientaudio.lib
-LIBRARY         ProfileEngine.lib
-LIBRARY         TelephonyAudioRouting.lib
+LIBRARY         profileengine.lib
+LIBRARY         telephonyaudiorouting.lib
 LIBRARY         tmsutility.lib
 
 DEFFILE         tmscallserver.def
--- a/mmserv/tms/tmscallserver/inc/tmscalladpt.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/inc/tmscalladpt.h	Wed Sep 01 12:23:00 2010 +0100
@@ -26,14 +26,6 @@
 // TMSCallAdpt class
 class TMSCallAdpt
     {
-protected:
-    enum TMSStreamState
-        {
-        EIdle = 0,
-        EInitialized,
-        EActivated
-        };
-
 public:
     static gint CreateCallL(gint callType, TMSCallAdpt*& callAdpt);
     virtual ~TMSCallAdpt();
@@ -43,11 +35,9 @@
             const TMSStreamType strmType, gint& outStrmId) = 0;
     virtual gint InitStream(const TMSCallType callType,
             const TMSStreamType strmType, const gint strmId,
-            const TMSFormatType frmtType, const gint retrytime,
-            const RMessage2& aMessage) = 0;
+            const TMSFormatType frmtType, const RMessage2& aMessage) = 0;
     virtual gint StartStream(const TMSCallType callType,
-            const TMSStreamType strmType, const gint strmId,
-            const gint retrytime) = 0;
+            const TMSStreamType strmType, const gint strmId) = 0;
     virtual gint PauseStream(const TMSCallType callType,
             const TMSStreamType strmType, const gint strmId) = 0;
     virtual gint StopStream(const TMSCallType callType,
@@ -101,9 +91,6 @@
     virtual gint GetPreviousOutput(TMSAudioOutput& output) = 0;
     virtual gint GetAvailableOutputsL(gint& count, CBufFlat*& outputsbuf) = 0;
 
-    void GetCallType(TMSCallType& callType);
-    gboolean IsUplActivated();
-
 protected:
     TMSCallAdpt();
     virtual gint PostConstruct() = 0;
@@ -111,12 +98,10 @@
 protected:
     gint iGlobalVol;
     gint iGlobalGain;
-    TMSStreamState iUplState;
-    TMSStreamState iDnlState;
-    gint iCallType;
     };
 
 } //namespace TMS
 
 #endif // CALLADPT_H
 
+// End of file
--- a/mmserv/tms/tmscallserver/inc/tmscallcsadpt.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/inc/tmscallcsadpt.h	Wed Sep 01 12:23:00 2010 +0100
@@ -22,8 +22,6 @@
 #include <TelephonyAudioRouting.h>
 #include <MTelephonyAudioRoutingObserver.h>
 #include <e32msgqueue.h>
-#include <etelmm.h>
-#include <rmmcustomapi.h>
 #include "tmsclientserver.h"
 #include "tmscalladpt.h"
 #include "tmscsdevsoundobserver.h"
@@ -34,7 +32,6 @@
 class TMSCSUplink;
 class TMSCSDownlink;
 class TMSTarSettings;
-class TMSSyncVol;
 
 /*
  * TMSCallCSAdpt class
@@ -53,11 +50,9 @@
             const TMSStreamType strmType, gint& outStrmId);
     virtual gint InitStream(const TMSCallType callType,
             const TMSStreamType strmType, const gint strmId,
-            const TMSFormatType frmtType, const gint retryTime,
-            const RMessage2& message);
+            const TMSFormatType frmtType, const RMessage2& message);
     virtual gint StartStream(const TMSCallType callType,
-            const TMSStreamType strmType, const gint strmId,
-            const gint retrytime);
+            const TMSStreamType strmType, const gint strmId);
     virtual gint PauseStream(const TMSCallType callType,
             const TMSStreamType strmType, const gint strmId);
     virtual gint StopStream(const TMSCallType callType,
@@ -121,8 +116,8 @@
     TMSCallCSAdpt();
     void ConstructL();
 
-    gint InitUplink(const gint retrytime);
-    gint InitDownlink(const gint retrytime);
+    gint InitUplink();
+    gint InitDownlink();
     void AvailableOutputsChanged(
             CTelephonyAudioRouting& aTelephonyAudioRouting);
     void OutputChanged(CTelephonyAudioRouting& aTelephonyAudioRouting);
@@ -144,12 +139,14 @@
     RMsgQueue<TmsMsgBuf> iMsgQueueDn;
     TmsMsgBuf iMsgBuffer;
 
+    gboolean iUplinkInitialized;
     gint iUplinkStreamId;
+    gboolean iDnlinkInitialized;
     gint iDnlinkStreamId;
-    TMSSyncVol* iResetVolNotifier;
     };
 
 } //namespace TMS
 
 #endif // CALLCSADPT_H
 
+// End of file
--- a/mmserv/tms/tmscallserver/inc/tmscallipadpt.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/inc/tmscallipadpt.h	Wed Sep 01 12:23:00 2010 +0100
@@ -48,11 +48,9 @@
             const TMSStreamType strmType, gint& outStrmId);
     virtual gint InitStream(const TMSCallType callType,
             const TMSStreamType strmType, const gint strmId,
-            const TMSFormatType frmtType, const gint retryTime,
-            const RMessage2& message);
+            const TMSFormatType frmtType, const RMessage2& message);
     virtual gint StartStream(const TMSCallType callType,
-            const TMSStreamType strmType, const gint strmId,
-            const gint retrytime);
+            const TMSStreamType strmType, const gint strmId);
     virtual gint PauseStream(const TMSCallType callType,
             const TMSStreamType strmType, const gint strmId);
     virtual gint StopStream(const TMSCallType callType,
@@ -134,9 +132,10 @@
     TMSCallIPAdpt();
     void ConstructL();
 
-    gint OpenDownlink(const RMessage2& message, const gint retrytime);
-    gint OpenUplink(const RMessage2& message, const gint retrytime);
+    gint OpenDownlink(const RMessage2& message);
+    gint OpenUplink(const RMessage2& message);
 
+    gint InitDTMF(TMSStreamType strmtype);
     void GetSupportedBitRatesL(CBufFlat*& brbuffer);
     void NotifyClient(const gint strmId, const gint command,
             const gint status = KErrNone, const gint64 int64 = TInt64(0));
@@ -151,7 +150,9 @@
     RMsgQueue<TmsMsgBuf> iMsgQueueDn;
     TmsMsgBuf iMsgBuffer;
 
+    gboolean iUplinkInitialized;
     gint iUplinkStreamId;
+    gboolean iDnlinkInitialized;
     gint iDnlinkStreamId;
 
     TMMFPrioritySettings iPriority;
--- a/mmserv/tms/tmscallserver/inc/tmscallsession.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/inc/tmscallsession.h	Wed Sep 01 12:23:00 2010 +0100
@@ -87,7 +87,6 @@
     void HandleRoutingGetOutputL(const RMessage2& aMessage);
     void HandleRoutingGetPreviousOutputL(const RMessage2& aMessage);
     void HandleRoutingGetAvailableOutputsL(const RMessage2& aMessage);
-    void HandleGetActiveCallL(const RMessage2& aMessage);
 
 private:
     TMSCallServer& iTMSCallServer;
--- a/mmserv/tms/tmscallserver/inc/tmscsdevsound.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/inc/tmscsdevsound.h	Wed Sep 01 12:23:00 2010 +0100
@@ -19,12 +19,11 @@
 #define TMSCSDEVSOUND_H
 
 #include <sounddevice.h>
-#include "tmstimer.h"
+#include <tms.h>
 
 namespace TMS {
 
 // FORWARD DECLARATIONS
-class TMSTimer;
 class TMSCSDevSoundObserver;
 
 /**
@@ -32,8 +31,7 @@
  *
  */
 NONSHARABLE_CLASS(TMSCSDevSound) : public CBase,
-                                   public MDevSoundObserver,
-                                   public TMSTimerObserver
+                                   public MDevSoundObserver
     {
 public:
 
@@ -48,12 +46,12 @@
      * methods. If the stream is already active or being activated, call to
      * this will result in no action.
      */
-    virtual void Activate(const gint retrytime);
+    virtual void Activate();
 
     /**
      * Deactivates an active DevSound stream.
      */
-    virtual void Deactivate(gboolean reset = TRUE);
+    virtual void Deactivate();
 
     /*
      * Returns DevSound instance associated with the stream.
@@ -108,20 +106,12 @@
      */
     void DeviceMessage(TUid /*aMessageType*/, const TDesC8& /*aMsg*/) {}
 
-    /*
-     * From TMSTimerObserver.
-     * Called upon timer timeout event.
-     */
-    void TimerEvent();
-
 protected:
 
     TMSCSDevSound(TMSCSDevSoundObserver& observer);
-    void ConstructL(const TMSStreamType strmtype, const gint retrytime);
+    void ConstructL(const TMSStreamType strmtype);
     void InitializeL();
     void NotifyEvent(gint error);
-    void StartTimer();
-    void CancelTimer();
 
 private:
 
@@ -158,15 +148,6 @@
     gint iPreference;
     gint iPriority;
     TMMFState iMode;
-
-    /*
-     * For retry timer
-     */
-    gint iInitRetryTime;
-    gint iStartRetryTime;
-    TMSTimer* iTimer;
-    gint iPeriodic;
-    gint iElapsedTime;
     };
 
 } //namespace TMS
--- a/mmserv/tms/tmscallserver/inc/tmscsdownlink.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/inc/tmscsdownlink.h	Wed Sep 01 12:23:00 2010 +0100
@@ -31,8 +31,7 @@
     {
 public:
 
-    static TMSCSDownlink* NewL(TMSCSDevSoundObserver& observer,
-            const gint retrytime);
+    static TMSCSDownlink* NewL(TMSCSDevSoundObserver& observer);
 
     virtual ~TMSCSDownlink();
 
@@ -80,7 +79,7 @@
 protected:
 
     TMSCSDownlink(TMSCSDevSoundObserver& observer);
-    void ConstructL(const gint retrytime);
+    void ConstructL();
     };
 
 } //namespace TMS
--- a/mmserv/tms/tmscallserver/inc/tmscsuplink.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/inc/tmscsuplink.h	Wed Sep 01 12:23:00 2010 +0100
@@ -31,8 +31,7 @@
     {
 public:
 
-    static TMSCSUplink* NewL(TMSCSDevSoundObserver& observer,
-            const gint retrytime);
+    static TMSCSUplink* NewL(TMSCSDevSoundObserver& observer);
 
     virtual ~TMSCSUplink();
 
@@ -84,7 +83,7 @@
 protected:
 
     TMSCSUplink(TMSCSDevSoundObserver& aObserver);
-    void ConstructL(const gint retrytime);
+    void ConstructL();
     };
 
 } //namespace TMS
--- a/mmserv/tms/tmscallserver/inc/tmsipcallstream.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/inc/tmsipcallstream.h	Wed Sep 01 12:23:00 2010 +0100
@@ -91,7 +91,7 @@
 public:
     virtual ~TMSIPCallStreamBase();
 
-    virtual void Start(const gint retrytime) = 0;
+    virtual void Start() = 0;
     virtual void Stop() = 0;
     virtual gint SetCodecCi() = 0;
 
@@ -162,11 +162,10 @@
 #endif //__USE_GSTREAMER__
 
     static TMSIPDownlink* NewL(TMSIPDevSoundObserver& observer,
-            const guint32 codecID, const TMMFPrioritySettings priority,
-            const gint retrytime);
+            const guint32 codecID, const TMMFPrioritySettings priority);
 
     gint SetCodecCi();
-    void Start(const gint retrytime);
+    void Start();
     void Stop();
     void BufferFilled(const guint buflen);
     gint SetVolume(const guint volume);
@@ -195,7 +194,7 @@
 protected:
     TMSIPDownlink(TMSIPDevSoundObserver& observer);
     void ConstructL(const guint32 codecID,
-            const TMMFPrioritySettings priority, const gint retrytime);
+            const TMMFPrioritySettings priority);
 
 private:
     void SetCodecCiL();
@@ -260,11 +259,10 @@
 #endif //__USE_GSTREAMER__
 
     static TMSIPUplink* NewL(TMSIPDevSoundObserver& observer,
-            const guint32 codecID, const TMMFPrioritySettings priority,
-            const gint retrytime);
+            const guint32 codecID, const TMMFPrioritySettings priority);
 
     gint SetCodecCi();
-    void Start(const gint retrytime);
+    void Start();
     void Stop();
     void BufferEmptied();
     gint SetGain(const guint gain);
@@ -286,7 +284,7 @@
 protected:
     TMSIPUplink(TMSIPDevSoundObserver& observer);
     void ConstructL(const guint32 codecID,
-            const TMMFPrioritySettings priority, const gint retrytime);
+            const TMMFPrioritySettings priority);
 
 private:
     void SetCodecCiL();
--- a/mmserv/tms/tmscallserver/inc/tmssyncvol.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSSYNCVOL_H
-#define TMSSYNCVOL_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <e32property.h>
-#include <sounddevice.h>
-#include "tmsclientserver.h"
-
-namespace TMS {
-
-// CLASS DECLARATION
-class TMSSyncVol
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Two-phased constructor.
-     */
-    static TMSSyncVol* NewL();
-
-    /**
-     * Destructor.
-     */
-    virtual ~TMSSyncVol();
-
-public:
-    // New functions
-
-    void SetSyncVol(TBool syncvol = ETrue);
-
-private:
-
-    /**
-     * C++ default constructor.
-     */
-    TMSSyncVol();
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL();
-
-private:
-    gint iVolume; //Volume
-    };
-
-} //namespace TMS
-
-#endif // TMSSYNCVOL_H
-
-// End of File
--- a/mmserv/tms/tmscallserver/src/tmscalladpt.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmscalladpt.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -53,9 +53,8 @@
 gint TMSCallAdpt::CreateCallL(gint callType, TMSCallAdpt*& callAdpt)
     {
     TRACE_PRN_FN_ENT;
+    TMSCallAdpt* self(NULL);
     gint retVal(TMS_RESULT_SUCCESS);
-    TMSCallAdpt* self(NULL);
-
     switch (callType)
         {
         case TMS_CALL_IP:
@@ -64,7 +63,6 @@
             if (self)
                 {
                 retVal = self->PostConstruct();
-                self->iCallType = callType;
                 if (retVal != TMS_RESULT_SUCCESS)
                     {
                     delete self;
@@ -79,7 +77,6 @@
             if (self)
                 {
                 retVal = self->PostConstruct();
-                self->iCallType = callType;
                 if (retVal != TMS_RESULT_SUCCESS)
                     {
                     delete self;
@@ -96,23 +93,4 @@
     return retVal;
     }
 
-// -----------------------------------------------------------------------------
-// TMSCallAdpt::GetCallType
-//
-// -----------------------------------------------------------------------------
-//
-void TMSCallAdpt::GetCallType(TMSCallType& callType)
-    {
-    callType = iCallType;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSCallAdpt::IsUplActivated
-//
-// -----------------------------------------------------------------------------
-//
-gboolean TMSCallAdpt::IsUplActivated()
-    {
-    return (iUplState == EActivated)? TRUE : FALSE;
-    }
-
+// End of file
--- a/mmserv/tms/tmscallserver/src/tmscallcsadpt.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmscallcsadpt.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -26,7 +26,6 @@
 #include "tmsshared.h"
 #include "tmsclientserver.h"
 #include "tmstarsettings.h"
-#include "tmssyncvol.h"
 
 using namespace TMS;
 
@@ -56,7 +55,6 @@
     iCSUplink = NULL;
     iRouting = NULL;
     iTarSettings = NULL;
-    iResetVolNotifier = NULL;
     TRACE_PRN_FN_EXT;
     }
 
@@ -82,7 +80,6 @@
     delete iTarSettings;
     delete iCSUplink;
     delete iCSDownlink;
-    delete iResetVolNotifier;
 
     if (iMsgQueueUp.Handle() > 0)
         {
@@ -106,8 +103,8 @@
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_SUCCESS);
     iNextStreamId = 1;
-    iUplState = EIdle;
-    iDnlState = EIdle;
+    iUplinkInitialized = FALSE;
+    iDnlinkInitialized = FALSE;
     TRACE_PRN_FN_EXT;
     return status;
     }
@@ -127,11 +124,12 @@
         case TMS_STREAM_UPLINK:
             {
             status = TMS_RESULT_ALREADY_EXIST;
-            if (iUplState == EIdle)
+            if (!iUplinkInitialized)
                 {
                 iUplinkStreamId = iNextStreamId;
                 outStrmId = iUplinkStreamId;
                 iNextStreamId++;
+                //iUplinkInitialized = TRUE; //not initialized yet!
                 status = TMS_RESULT_SUCCESS;
                 }
             break;
@@ -139,11 +137,12 @@
         case TMS_STREAM_DOWNLINK:
             {
             status = TMS_RESULT_ALREADY_EXIST;
-            if (iDnlState == EIdle)
+            if (!iDnlinkInitialized)
                 {
                 iDnlinkStreamId = iNextStreamId;
                 outStrmId = iDnlinkStreamId;
                 iNextStreamId++;
+                //iDnlinkInitialized = TRUE; //not initialized yet!
                 status = TMS_RESULT_SUCCESS;
                 }
             break;
@@ -165,8 +164,7 @@
 //
 gint TMSCallCSAdpt::InitStream(const TMSCallType /*callType*/,
         const TMSStreamType strmType, const gint strmId,
-        const TMSFormatType /*frmtType*/, const gint retrytime,
-        const RMessage2& message)
+        const TMSFormatType /*frmtType*/, const RMessage2& message)
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_SUCCESS);
@@ -186,7 +184,7 @@
                     }
                 if (status == TMS_RESULT_SUCCESS)
                     {
-                    status = InitUplink(retrytime);
+                    status = InitUplink();
                     }
                 }
             break;
@@ -204,7 +202,7 @@
                     }
                 if (status == TMS_RESULT_SUCCESS)
                     {
-                    status = InitDownlink(retrytime);
+                    status = InitDownlink();
                     }
                 }
             break;
@@ -226,13 +224,12 @@
 //
 // -----------------------------------------------------------------------------
 //
-gint TMSCallCSAdpt::InitUplink(const gint retrytime)
+gint TMSCallCSAdpt::InitUplink()
     {
     gint status(TMS_RESULT_SUCCESS);
-
     if (!iCSUplink)
         {
-        TRAP(status, iCSUplink = TMSCSUplink::NewL(*this, retrytime));
+        TRAP(status, iCSUplink = TMSCSUplink::NewL(*this));
         }
     return status;
     }
@@ -242,13 +239,13 @@
 //
 // -----------------------------------------------------------------------------
 //
-gint TMSCallCSAdpt::InitDownlink(const gint retrytime)
+gint TMSCallCSAdpt::InitDownlink()
     {
     gint status(TMS_RESULT_SUCCESS);
 
     if (!iCSDownlink)
         {
-        TRAP(status, iCSDownlink = TMSCSDownlink::NewL(*this, retrytime));
+        TRAP(status, iCSDownlink = TMSCSDownlink::NewL(*this));
         }
     if (!iRouting && status == TMS_RESULT_SUCCESS)
         {
@@ -267,7 +264,7 @@
 // -----------------------------------------------------------------------------
 //
 gint TMSCallCSAdpt::StartStream(const TMSCallType /*callType*/,
-        const TMSStreamType strmType, const gint strmId, const gint retrytime)
+        const TMSStreamType strmType, const gint strmId)
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
@@ -275,28 +272,18 @@
         {
         case TMS_STREAM_UPLINK:
             {
-            if (iCSUplink && strmId == iUplinkStreamId &&
-                    iUplState == EInitialized)
+            if (iCSUplink && strmId == iUplinkStreamId)
                 {
-                iCSUplink->Activate(retrytime);
+                iCSUplink->Activate();
                 status = TMS_RESULT_SUCCESS;
                 }
             break;
             }
         case TMS_STREAM_DOWNLINK:
             {
-            if(!iResetVolNotifier)
-                {
-                TRAP(status, iResetVolNotifier = TMSSyncVol::NewL());
-                }
-            if(iResetVolNotifier)
+            if (iCSDownlink && strmId == iDnlinkStreamId)
                 {
-                iResetVolNotifier->SetSyncVol();
-                }
-            if (iCSDownlink && strmId == iDnlinkStreamId &&
-                    iDnlState == EInitialized)
-                {
-                iCSDownlink->Activate(retrytime);
+                iCSDownlink->Activate();
                 status = TMS_RESULT_SUCCESS;
                 }
             break;
@@ -343,7 +330,6 @@
             if (iCSUplink && strmId == iUplinkStreamId)
                 {
                 iCSUplink->Deactivate();
-                iUplState = EInitialized;
                 status = TMS_RESULT_SUCCESS;
                 NotifyClient(iUplinkStreamId, ECmdUplinkInitComplete, status);
                 }
@@ -354,7 +340,6 @@
             if (iCSDownlink && strmId == iDnlinkStreamId)
                 {
                 iCSDownlink->Deactivate();
-                iDnlState = EInitialized;
                 status = TMS_RESULT_SUCCESS;
                 NotifyClient(iDnlinkStreamId, ECmdDownlinkInitComplete, status);
                 }
@@ -388,18 +373,16 @@
             if (iCSUplink && strmId == iUplinkStreamId)
                 {
                 iCSUplink->Deactivate();
-                iUplState = EIdle;
+                iUplinkInitialized = FALSE;
                 status = TMS_RESULT_SUCCESS;
                 NotifyClient(iUplinkStreamId, ECmdUplinkDeInitComplete, status);
                 }
             break;
-            }
         case TMS_STREAM_DOWNLINK:
-            {
             if (iCSDownlink && strmId == iDnlinkStreamId)
                 {
                 iCSDownlink->Deactivate();
-                iDnlState = EIdle;
+                iDnlinkInitialized = FALSE;
                 status = TMS_RESULT_SUCCESS;
                 NotifyClient(iDnlinkStreamId, ECmdDownlinkDeInitComplete,
                         status);
@@ -433,7 +416,7 @@
             if (strmId == iUplinkStreamId)
                 {
                 iUplinkStreamId = -1;
-                iUplState = EIdle;
+                iUplinkInitialized = FALSE;
                 }
             break;
             }
@@ -442,7 +425,7 @@
             if (strmId == iDnlinkStreamId)
                 {
                 iDnlinkStreamId = -1;
-                iDnlState = EIdle;
+                iDnlinkInitialized = FALSE;
                 }
             break;
             }
@@ -509,7 +492,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iCSDownlink && iDnlState != EIdle)
+    if (iCSDownlink && iDnlinkInitialized)
         {
         volume = iCSDownlink->MaxVolume();
         status = TMS_RESULT_SUCCESS;
@@ -528,7 +511,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iCSDownlink && iDnlState != EIdle)
+    if (iCSDownlink && iDnlinkInitialized)
         {
         iCSDownlink->SetVolume(volume);
         status = TMS_RESULT_SUCCESS;
@@ -547,7 +530,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iCSDownlink && iDnlState != EIdle)
+    if (iCSDownlink && iDnlinkInitialized)
         {
         volume = iCSDownlink->Volume();
         status = TMS_RESULT_SUCCESS;
@@ -565,7 +548,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iCSUplink && iUplState != EIdle)
+    if (iCSUplink && iUplinkInitialized)
         {
         gain = iCSUplink->MaxGain();
         status = TMS_RESULT_SUCCESS;
@@ -584,7 +567,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iCSUplink && iUplState != EIdle)
+    if (iCSUplink && iUplinkInitialized)
         {
         iCSUplink->SetGain(gain);
         status = TMS_RESULT_SUCCESS;
@@ -603,7 +586,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iCSUplink && iUplState != EIdle)
+    if (iCSUplink && iUplinkInitialized)
         {
         gain = iCSUplink->Gain();
         status = TMS_RESULT_SUCCESS;
@@ -621,7 +604,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iCSDownlink && iDnlState != EIdle)
+    if (iCSDownlink && iDnlinkInitialized)
         {
         volume = iCSDownlink->MaxVolume();
         status = TMS_RESULT_SUCCESS;
@@ -641,7 +624,7 @@
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
     iGlobalVol = volume;
-    if (iCSDownlink && iDnlState != EIdle)
+    if (iCSDownlink && iDnlinkInitialized)
         {
         iCSDownlink->SetVolume(volume);
         status = TMS_RESULT_SUCCESS;
@@ -659,7 +642,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iCSDownlink && iDnlState != EIdle)
+    if (iCSDownlink && iDnlinkInitialized)
         {
         volume = iCSDownlink->Volume();
         status = TMS_RESULT_SUCCESS;
@@ -677,7 +660,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iCSUplink && iUplState != EIdle)
+    if (iCSUplink && iUplinkInitialized)
         {
         gain = iCSUplink->MaxGain();
         status = TMS_RESULT_SUCCESS;
@@ -697,7 +680,7 @@
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
     iGlobalGain = gain;
-    if (iCSUplink && iUplState != EIdle)
+    if (iCSUplink && iUplinkInitialized)
         {
         iCSUplink->SetGain(gain);
         status = TMS_RESULT_SUCCESS;
@@ -715,7 +698,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iCSUplink && iUplState != EIdle)
+    if (iCSUplink && iUplinkInitialized)
         {
         gain = iCSUplink->Gain();
         status = TMS_RESULT_SUCCESS;
@@ -930,6 +913,7 @@
         status = TMS_RESULT_SUCCESS;
         output = TOTMSOUTPUT(taroutput);
         }
+
     TRACE_PRN_FN_EXT;
     return status;
     }
@@ -971,8 +955,10 @@
         RBufWriteStream stream;
         stream.Open(*outputsbuf);
         CleanupClosePushL(stream);
+
         TArray<CTelephonyAudioRouting::TAudioOutput>
                 availableOutputs = iRouting->AvailableOutputs();
+
         guint numOfItems = availableOutputs.Count();
         count = numOfItems;
         for (guint i = 0; i < numOfItems; i++)
@@ -980,6 +966,7 @@
             tmsoutput = TOTMSOUTPUT(availableOutputs[i]);
             stream.WriteUint32L(tmsoutput);
             }
+
         CleanupStack::PopAndDestroy(&stream);
         status = TMS_RESULT_SUCCESS;
         }
@@ -988,6 +975,9 @@
     return status;
     }
 
+
+// From TMSCSPDevSoundObserver
+
 // -----------------------------------------------------------------------------
 // TMSCallCSAdpt::DownlinkInitCompleted
 // From TMSCSDevSoundObserver
@@ -998,7 +988,7 @@
     TRACE_PRN_FN_ENT;
     if (status == TMS_RESULT_SUCCESS)
         {
-        iDnlState = EInitialized;
+        iDnlinkInitialized = TRUE;
         }
     NotifyClient(iDnlinkStreamId, ECmdDownlinkInitComplete, status);
     TRACE_PRN_FN_EXT;
@@ -1014,7 +1004,7 @@
     TRACE_PRN_FN_ENT;
     if (status == TMS_RESULT_SUCCESS)
         {
-        iUplState = EInitialized;
+        iUplinkInitialized = TRUE;
         }
     NotifyClient(iUplinkStreamId, ECmdUplinkInitComplete, status);
     TRACE_PRN_FN_EXT;
@@ -1028,10 +1018,6 @@
 void TMSCallCSAdpt::UplinkActivationCompleted(gint status)
     {
     TRACE_PRN_FN_ENT;
-    if (status == TMS_RESULT_SUCCESS)
-        {
-        iUplState = EActivated;
-        }
     NotifyClient(iUplinkStreamId, ECmdUplinkStarted, status);
     TRACE_PRN_FN_EXT;
     }
@@ -1044,10 +1030,6 @@
 void TMSCallCSAdpt::DownlinkActivationCompleted(gint status)
     {
     TRACE_PRN_FN_ENT;
-    if (status == TMS_RESULT_SUCCESS)
-        {
-        iDnlState = EActivated;
-        }
     NotifyClient(iDnlinkStreamId, ECmdDownlinkStarted, status);
     TRACE_PRN_FN_EXT;
     }
--- a/mmserv/tms/tmscallserver/src/tmscallipadpt.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmscallipadpt.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -96,8 +96,8 @@
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_SUCCESS);
     iNextStreamId = 1;
-    iUplState = EIdle;
-    iDnlState = EIdle;
+    iUplinkInitialized = FALSE;
+    iDnlinkInitialized = FALSE;
     TRACE_PRN_FN_EXT;
     return status;
     }
@@ -117,11 +117,12 @@
         case TMS_STREAM_UPLINK:
             {
             status = TMS_RESULT_ALREADY_EXIST;
-            if (iUplState == EIdle)
+            if (!iUplinkInitialized)
                 {
                 iUplinkStreamId = iNextStreamId;
                 outStrmId = iUplinkStreamId;
                 iNextStreamId++;
+                //iUplinkInitialized = TRUE; //not initialized yet!
                 status = TMS_RESULT_SUCCESS;
                 }
             break;
@@ -129,11 +130,12 @@
         case TMS_STREAM_DOWNLINK:
             {
             status = TMS_RESULT_ALREADY_EXIST;
-            if (iDnlState == EIdle)
+            if (!iDnlinkInitialized)
                 {
                 iDnlinkStreamId = iNextStreamId;
                 outStrmId = iDnlinkStreamId;
                 iNextStreamId++;
+                //iDnlinkInitialized = TRUE; //not initialized yet!
                 status = TMS_RESULT_SUCCESS;
                 }
             break;
@@ -155,8 +157,7 @@
 //
 gint TMSCallIPAdpt::InitStream(const TMSCallType /*callType*/,
         const TMSStreamType strmType, const gint strmId,
-        const TMSFormatType frmtType, const gint retrytime,
-        const RMessage2& message)
+        const TMSFormatType frmtType, const RMessage2& message)
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_SUCCESS);
@@ -174,7 +175,7 @@
             if (strmId == iUplinkStreamId)
                 {
                 SetFormat(iUplinkStreamId, fourCC);
-                status = OpenUplink(message, retrytime);
+                status = OpenUplink(message);
                 }
             break;
             }
@@ -184,7 +185,7 @@
             if (strmId == iDnlinkStreamId)
                 {
                 SetFormat(iDnlinkStreamId, fourCC);
-                status = OpenDownlink(message, retrytime);
+                status = OpenDownlink(message);
                 }
             break;
             }
@@ -206,7 +207,7 @@
 // -----------------------------------------------------------------------------
 //
 gint TMSCallIPAdpt::StartStream(const TMSCallType /*callType*/,
-        const TMSStreamType strmType, const gint strmId, const gint retrytime)
+        const TMSStreamType strmType, const gint strmId)
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
@@ -214,21 +215,21 @@
         {
         case TMS_STREAM_UPLINK:
             {
-            if (iIPUplink && strmId == iUplinkStreamId &&
-                    iUplState == EInitialized)
+            if (iIPUplink && strmId == iUplinkStreamId)
                 {
-                iIPUplink->Start(retrytime);
+                iIPUplink->Start();
                 status = TMS_RESULT_SUCCESS;
+                NotifyClient(iUplinkStreamId, ECmdUplinkStarted, status);
                 }
             break;
             }
         case TMS_STREAM_DOWNLINK:
             {
-            if (iIPDownlink && strmId == iDnlinkStreamId &&
-                    iDnlState == EInitialized)
+            if (iIPDownlink && strmId == iDnlinkStreamId)
                 {
-                iIPDownlink->Start(retrytime);
+                iIPDownlink->Start();
                 status = TMS_RESULT_SUCCESS;
+                NotifyClient(iDnlinkStreamId, ECmdDownlinkStarted, status);
                 }
             break;
             }
@@ -259,7 +260,6 @@
             if (strmId == iUplinkStreamId && iIPUplink)
                 {
                 iIPUplink->Stop();
-                iUplState = EInitialized;
                 status = TMS_RESULT_SUCCESS;
                 NotifyClient(iUplinkStreamId, ECmdUplinkPaused, status);
                 }
@@ -270,7 +270,6 @@
             if (strmId == iDnlinkStreamId && iIPDownlink)
                 {
                 iIPDownlink->Stop();
-                iDnlState = EInitialized;
                 status = TMS_RESULT_SUCCESS;
                 NotifyClient(iDnlinkStreamId, ECmdDownlinkPaused, status);
                 }
@@ -301,11 +300,9 @@
         {
         case TMS_STREAM_UPLINK:
             {
-            if (iIPUplink && strmId == iUplinkStreamId &&
-                    iUplState == EActivated)
+            if (iIPUplink && strmId == iUplinkStreamId)
                 {
                 iIPUplink->Stop();
-                iUplState = EInitialized;
                 status = TMS_RESULT_SUCCESS;
                 NotifyClient(iUplinkStreamId, ECmdUplinkInitComplete, status);
                 }
@@ -313,11 +310,9 @@
             }
         case TMS_STREAM_DOWNLINK:
             {
-            if (iIPDownlink && strmId == iDnlinkStreamId &&
-                    iDnlState == EActivated)
+            if (iIPDownlink && strmId == iDnlinkStreamId)
                 {
                 iIPDownlink->Stop();
-                iDnlState = EInitialized;
                 status = TMS_RESULT_SUCCESS;
                 NotifyClient(iDnlinkStreamId, ECmdDownlinkInitComplete, status);
                 }
@@ -348,10 +343,11 @@
         {
         case TMS_STREAM_UPLINK:
             {
-            if (iIPUplink && strmId == iUplinkStreamId && iUplState != EIdle)
+            if (iIPUplink && strmId == iUplinkStreamId)
                 {
                 iIPUplink->Stop();
-                iUplState = EIdle;
+                //iUplinkStreamId = -1;
+                iUplinkInitialized = FALSE;
                 status = TMS_RESULT_SUCCESS;
                 NotifyClient(iUplinkStreamId, ECmdUplinkDeInitComplete, status);
                 }
@@ -359,10 +355,11 @@
             }
         case TMS_STREAM_DOWNLINK:
             {
-            if (iIPDownlink && strmId == iDnlinkStreamId && iDnlState != EIdle)
+            if (iIPDownlink && strmId == iDnlinkStreamId)
                 {
                 iIPDownlink->Stop();
-                iDnlState = EIdle;
+                //iDnlinkStreamId = -1;
+                iDnlinkInitialized = FALSE;
                 status = TMS_RESULT_SUCCESS;
                 NotifyClient(iDnlinkStreamId, ECmdDownlinkDeInitComplete,
                         status);
@@ -375,6 +372,7 @@
             break;
             }
         }
+
     TRACE_PRN_FN_EXT;
     return status;
     }
@@ -396,7 +394,7 @@
             if (strmId == iUplinkStreamId)
                 {
                 iUplinkStreamId = -1;
-                iUplState = EIdle;
+                iUplinkInitialized = FALSE;
                 }
             break;
             }
@@ -405,7 +403,7 @@
             if (strmId == iDnlinkStreamId)
                 {
                 iDnlinkStreamId = -1;
-                iDnlState = EIdle;
+                iDnlinkInitialized = FALSE;
                 }
             break;
             }
@@ -525,7 +523,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState != EIdle)
+    if (iDnlinkInitialized && iIPDownlink)
         {
         status = iIPDownlink->GetMaxVolume(volume);
         iMaxVolume = volume;
@@ -544,7 +542,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState != EIdle)
+    if (iDnlinkInitialized && iIPDownlink)
         {
         status = iIPDownlink->SetVolume(volume);
         NotifyClient(iDnlinkStreamId, ECmdSetVolume, status);
@@ -562,7 +560,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState != EIdle)
+    if (iDnlinkInitialized && iIPDownlink)
         {
         status = iIPDownlink->GetVolume(volume);
         }
@@ -579,7 +577,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPUplink && iUplState != EIdle)
+    if (iUplinkInitialized && iIPUplink)
         {
         status = iIPUplink->GetMaxGain(gain);
         iMaxGain = gain;
@@ -598,7 +596,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPUplink && iUplState != EIdle)
+    if (iUplinkInitialized && iIPUplink)
         {
         status = iIPUplink->SetGain(gain);
         NotifyClient(iUplinkStreamId, ECmdSetGain, status);
@@ -616,7 +614,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPUplink && iUplState != EIdle)
+    if (iUplinkInitialized && iIPUplink)
         {
         status = iIPUplink->GetGain(gain);
         }
@@ -633,7 +631,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState != EIdle)
+    if (iDnlinkInitialized && iIPDownlink)
         {
         status = iIPDownlink->GetMaxVolume(volume);
         iMaxVolume = volume;
@@ -653,7 +651,7 @@
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
     //iGlobalVol = volume;
-    if (iIPDownlink && iDnlState != EIdle)
+    if (iDnlinkInitialized && iIPDownlink)
         {
         status = iIPDownlink->SetVolume(volume);
         }
@@ -670,7 +668,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState != EIdle)
+    if (iDnlinkInitialized && iIPDownlink)
         {
         status = iIPDownlink->GetVolume(volume);
         }
@@ -687,7 +685,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPUplink && iUplState != EIdle)
+    if (iUplinkInitialized && iIPUplink)
         {
         status = iIPUplink->GetMaxGain(gain);
         iMaxGain = gain;
@@ -707,7 +705,7 @@
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
     //iGlobalGain = gain;
-    if (iIPUplink && iUplState != EIdle)
+    if (iUplinkInitialized && iIPUplink)
         {
         status = iIPUplink->SetGain(gain);
         }
@@ -724,7 +722,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPUplink && iUplState != EIdle)
+    if (iUplinkInitialized && iIPUplink)
         {
         status = iIPUplink->GetGain(gain);
         }
@@ -793,7 +791,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPUplink && iUplState != EIdle)
+    if (iIPUplink)
         {
         status = iIPUplink->GetSupportedBitrates(iArrBitrates);
         count = iArrBitrates.Count();
@@ -849,7 +847,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPUplink && iUplState != EIdle)
+    if (iIPUplink)
         {
         status = iIPUplink->GetBitrate(bitrate);
         }
@@ -866,7 +864,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPUplink && iUplState != EIdle)
+    if (iIPUplink)
         {
         status = iIPUplink->SetBitrate(bitrate);
         }
@@ -883,7 +881,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPUplink && iUplState != EIdle)
+    if (iIPUplink)
         {
         status = iIPUplink->GetVad(fmttype, vad);
         }
@@ -900,7 +898,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPUplink && iUplState != EIdle)
+    if (iIPUplink)
         {
         status = iIPUplink->SetVad(fmttype, vad);
         }
@@ -917,7 +915,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState == EInitialized)
+    if (iIPDownlink)
         {
         status = iIPDownlink->GetCng(fmttype, cng);
         }
@@ -934,7 +932,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState == EInitialized)
+    if (iIPDownlink)
         {
         status = iIPDownlink->SetCng(fmttype, cng);
         }
@@ -951,7 +949,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState != EIdle)
+    if (iIPDownlink)
         {
         status = iIPDownlink->GetPlc(fmttype, plc);
         }
@@ -968,7 +966,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState == EInitialized)
+    if (iIPDownlink)
         {
         status = iIPDownlink->SetPlc(fmttype, plc);
         }
@@ -981,7 +979,7 @@
 // Method for player initialization.
 // -----------------------------------------------------------------------------
 //
-gint TMSCallIPAdpt::OpenDownlink(const RMessage2& message, const gint retrytime)
+gint TMSCallIPAdpt::OpenDownlink(const RMessage2& message)
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_SUCCESS);
@@ -1001,8 +999,8 @@
 
     delete iIPDownlink;
     iIPDownlink = NULL;
-    TRAP(status, iIPDownlink = TMSIPDownlink::NewL(*this, iDnFourCC, iPriority,
-            retrytime));
+    TRAP(status, iIPDownlink = TMSIPDownlink::NewL(*this, iDnFourCC,
+            iPriority));
 
     if (iIPDownlink && status == TMS_RESULT_SUCCESS)
         {
@@ -1029,7 +1027,7 @@
 // Method for recorder initialization.
 // -----------------------------------------------------------------------------
 //
-gint TMSCallIPAdpt::OpenUplink(const RMessage2& message, const gint retrytime)
+gint TMSCallIPAdpt::OpenUplink(const RMessage2& message)
     {
     TRACE_PRN_FN_ENT;
     gint status(TMS_RESULT_SUCCESS);
@@ -1042,13 +1040,12 @@
      * 2) KAudioPrefVoipAudioUplink             -NOK native VoIP?
      *    KAudioPriorityVoipAudioUplink         -NOK native VoIP?
      */
-    iPriority.iPref = KAudioPrefVoipAudioUplinkNonSignal;
+    iPriority.iPref = KAudioPrefVoipAudioUplink;
     iPriority.iPriority = KAudioPriorityVoipAudioUplink;
 
     delete iIPUplink;
     iIPUplink = NULL;
-    TRAP(status, iIPUplink = TMSIPUplink::NewL(*this, iUpFourCC, iPriority,
-            retrytime));
+    TRAP(status, iIPUplink = TMSIPUplink::NewL(*this, iUpFourCC, iPriority));
 
     if (iIPUplink && status == TMS_RESULT_SUCCESS)
         {
@@ -1159,22 +1156,23 @@
 gint TMSCallIPAdpt::SetIlbcCodecMode(const gint mode,
         const TMSStreamType strmtype)
     {
-    gint status(TMS_RESULT_SUCCESS);
+    gint status(TMS_RESULT_INVALID_ARGUMENT);
 
-    if (strmtype == TMS_STREAM_DOWNLINK && iIPDownlink &&
-            iDnlState == EInitialized)
+    if (strmtype == TMS_STREAM_DOWNLINK)
         {
-        status = iIPDownlink->SetIlbcCodecMode(mode);
+        if (iDnlinkInitialized && iIPDownlink)
+            {
+            status = iIPDownlink->SetIlbcCodecMode(mode);
+            }
         }
-    else if (strmtype == TMS_STREAM_UPLINK && iIPUplink &&
-            iUplState == EInitialized)
+    else if (strmtype == TMS_STREAM_UPLINK)
         {
-        status = iIPUplink->SetIlbcCodecMode(mode);
+        if (iUplinkInitialized && iIPUplink)
+            {
+            status = iIPUplink->SetIlbcCodecMode(mode);
+            }
         }
-    else
-        {
-        status = TMS_RESULT_INVALID_STATE;
-        }
+
     return status;
     }
 
@@ -1185,22 +1183,23 @@
 //
 gint TMSCallIPAdpt::GetIlbcCodecMode(gint& mode, const TMSStreamType strmtype)
     {
-    gint status(TMS_RESULT_SUCCESS);
+    gint status(TMS_RESULT_INVALID_ARGUMENT);
 
-    if (strmtype == TMS_STREAM_DOWNLINK && iIPDownlink &&
-            iDnlState != EIdle)
+    if (strmtype == TMS_STREAM_DOWNLINK)
         {
-        status = iIPDownlink->GetIlbcCodecMode(mode);
+        if (iDnlinkInitialized && iIPDownlink)
+            {
+            status = iIPDownlink->GetIlbcCodecMode(mode);
+            }
         }
-    else if (strmtype == TMS_STREAM_UPLINK && iIPUplink &&
-            iUplState != EIdle)
+    else if (strmtype == TMS_STREAM_UPLINK)
         {
-        status = iIPUplink->GetIlbcCodecMode(mode);
+        if (iUplinkInitialized && iIPUplink)
+            {
+            status = iIPUplink->GetIlbcCodecMode(mode);
+            }
         }
-    else
-        {
-        status = TMS_RESULT_INVALID_STATE;
-        }
+
     return status;
     }
 
@@ -1212,22 +1211,23 @@
 gint TMSCallIPAdpt::SetG711CodecMode(const gint mode,
         const TMSStreamType strmtype)
     {
-    gint status(TMS_RESULT_SUCCESS);
+    gint status(TMS_RESULT_INVALID_ARGUMENT);
 
-    if (strmtype == TMS_STREAM_DOWNLINK && iIPDownlink &&
-            iDnlState == EInitialized)
+    if (strmtype == TMS_STREAM_DOWNLINK)
         {
-        status = iIPDownlink->SetG711CodecMode(mode);
+        if (iDnlinkInitialized && iIPDownlink)
+            {
+            status = iIPDownlink->SetG711CodecMode(mode);
+            }
         }
-    else if (strmtype == TMS_STREAM_UPLINK && iIPUplink &&
-            iUplState == EInitialized)
+    else if (strmtype == TMS_STREAM_UPLINK)
         {
-        status = iIPUplink->SetG711CodecMode(mode);
+        if (iUplinkInitialized && iIPUplink)
+            {
+            status = iIPUplink->SetG711CodecMode(mode);
+            }
         }
-    else
-        {
-        status = TMS_RESULT_INVALID_STATE;
-        }
+
     return status;
     }
 
@@ -1238,22 +1238,23 @@
 //
 gint TMSCallIPAdpt::GetG711CodecMode(gint& mode, const TMSStreamType strmtype)
     {
-    gint status(TMS_RESULT_SUCCESS);
+    gint status(TMS_RESULT_INVALID_ARGUMENT);
 
-    if (strmtype == TMS_STREAM_DOWNLINK && iIPDownlink &&
-            iDnlState != EIdle)
+    if (strmtype == TMS_STREAM_DOWNLINK)
         {
-        status = iIPDownlink->GetG711CodecMode(mode);
+        if (iDnlinkInitialized && iIPDownlink)
+            {
+            status = iIPDownlink->GetG711CodecMode(mode);
+            }
         }
-    else if (strmtype == TMS_STREAM_UPLINK && iIPUplink &&
-            iUplState != EIdle)
+    else if (strmtype == TMS_STREAM_UPLINK)
         {
-        status = iIPUplink->GetG711CodecMode(mode);
+        if (iUplinkInitialized && iIPUplink)
+            {
+            status = iIPUplink->GetG711CodecMode(mode);
+            }
         }
-    else
-        {
-        status = TMS_RESULT_INVALID_STATE;
-        }
+
     return status;
     }
 
@@ -1264,8 +1265,8 @@
 //
 gint TMSCallIPAdpt::FrameModeRqrdForEC(gboolean& frmodereq)
     {
-    gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState == EInitialized)
+    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
+    if (iIPDownlink)
         {
         status = iIPDownlink->FrameModeRqrdForEC(frmodereq);
         }
@@ -1279,8 +1280,8 @@
 //
 gint TMSCallIPAdpt::SetFrameMode(const gboolean frmode)
     {
-    gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState == EInitialized)
+    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
+    if (iIPDownlink)
         {
         status = iIPDownlink->SetFrameMode(frmode);
         }
@@ -1294,8 +1295,8 @@
 //
 gint TMSCallIPAdpt::GetFrameMode(gboolean& frmode)
     {
-    gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState != EIdle)
+    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
+    if (iIPDownlink)
         {
         status = iIPDownlink->GetFrameMode(frmode);
         }
@@ -1308,8 +1309,8 @@
 //
 gint TMSCallIPAdpt::ConcealErrorForNextBuffer()
     {
-    gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState == EActivated)
+    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
+    if (iIPDownlink)
         {
         status = iIPDownlink->ConcealErrorForNextBuffer();
         }
@@ -1323,8 +1324,8 @@
 //
 gint TMSCallIPAdpt::BadLsfNextBuffer()
     {
-    gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState == EActivated)
+    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
+    if (iIPDownlink)
         {
         status = iIPDownlink->BadLsfNextBuffer();
         }
@@ -1339,15 +1340,14 @@
 gint TMSCallIPAdpt::SetOutput(TMSAudioOutput output)
     {
     TRACE_PRN_FN_ENT;
-    gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState != EIdle)
+    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
+    if (iDnlinkInitialized && iIPDownlink)
         {
         TRAP(status, iIPDownlink->SetAudioDeviceL(output));
         }
     TRACE_PRN_FN_EXT;
     return status;
     }
-
 // -----------------------------------------------------------------------------
 // TMSCallIPAdpt::GetOutput
 //
@@ -1356,8 +1356,8 @@
 gint TMSCallIPAdpt::GetOutput(TMSAudioOutput& output)
     {
     TRACE_PRN_FN_ENT;
-    gint status(TMS_RESULT_INVALID_STATE);
-    if (iIPDownlink && iDnlState != EIdle)
+    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
+    if (iDnlinkInitialized && iIPDownlink)
         {
         TRAP(status, iIPDownlink->GetAudioDeviceL(output));
         }
@@ -1383,11 +1383,11 @@
 gint TMSCallIPAdpt::GetAvailableOutputsL(gint& /*count*/,
         CBufFlat*& /*outputsbuf*/)
     {
-    //TODO: return public & private
     return TMS_RESULT_FEATURE_NOT_SUPPORTED;
     }
 
 // -----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
 // TMSCallIPAdpt::DownlinkInitCompleted
 // From TMSIPDevSoundObserver
 // -----------------------------------------------------------------------------
@@ -1397,7 +1397,7 @@
     TRACE_PRN_FN_ENT;
     if (status == TMS_RESULT_SUCCESS)
         {
-        iDnlState = EInitialized;
+        iDnlinkInitialized = TRUE;
         }
     NotifyClient(iDnlinkStreamId, ECmdDownlinkInitComplete, status);
     TRACE_PRN_FN_EXT;
@@ -1413,7 +1413,7 @@
     TRACE_PRN_FN_ENT;
     if (status == TMS_RESULT_SUCCESS)
         {
-        iUplState = EInitialized;
+        iUplinkInitialized = TRUE;
         }
     NotifyClient(iUplinkStreamId, ECmdUplinkInitComplete, status);
     TRACE_PRN_FN_EXT;
@@ -1427,10 +1427,6 @@
 void TMSCallIPAdpt::UplinkStarted(gint status)
     {
     TRACE_PRN_FN_ENT;
-    if (status == TMS_RESULT_SUCCESS)
-        {
-        iUplState = EActivated;
-        }
     NotifyClient(iUplinkStreamId, ECmdUplinkStarted, status);
     TRACE_PRN_FN_EXT;
     }
@@ -1443,10 +1439,6 @@
 void TMSCallIPAdpt::DownlinkStarted(gint status)
     {
     TRACE_PRN_FN_ENT;
-    if (status == TMS_RESULT_SUCCESS)
-        {
-        iDnlState = EActivated;
-        }
     NotifyClient(iDnlinkStreamId, ECmdDownlinkStarted, status);
     TRACE_PRN_FN_EXT;
     }
@@ -1471,3 +1463,4 @@
         }
     }
 
+// End of file
--- a/mmserv/tms/tmscallserver/src/tmscallsession.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmscallsession.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -225,9 +225,6 @@
         case TMS_ROUTING_AVAILABLE_OUTPUT_GET:
             HandleRoutingGetAvailableOutputsL(aMessage);
             break;
-        case TMS_GET_ACTIVE_CALL_PARAMS:
-            HandleGetActiveCallL(aMessage);
-            break;
         default:
             User::Leave(TMS_RESULT_ILLEGAL_OPERATION);
             break;
@@ -294,7 +291,7 @@
         TMSCliSrvStreamInitDataStructBufPckg pckg;
         aMessage.ReadL(0, pckg);
         status = iCallAdpt->InitStream(pckg().CallType, pckg().StreamType,
-                pckg().StreamId, pckg().FormatType, pckg().RetryTime, aMessage);
+                pckg().StreamId, pckg().FormatType, aMessage);
 
         switch (pckg().StreamType)
             {
@@ -330,7 +327,7 @@
         TMSCliSrvStreamOpDataStructBufPckg pckg;
         aMessage.ReadL(0, pckg);
         status = iCallAdpt->StartStream(pckg().CallType, pckg().StreamType,
-                pckg().StreamId, pckg().RetryTime);
+                pckg().StreamId);
         }
     aMessage.Complete(status);
     TRACE_PRN_FN_EXT;
@@ -670,7 +667,9 @@
     iGlobalVol = aMessage.Int0();
     if (iCallAdpt)
         {
-        status = iCallAdpt->SetGlobalVolume(iGlobalVol);
+        guint vol(0);
+        vol = aMessage.Int0();
+        status = iCallAdpt->SetGlobalVolume(vol);
         }
     aMessage.Complete(status);
     TRACE_PRN_FN_EXT;
@@ -736,7 +735,9 @@
     iGlobalGain = aMessage.Int0();
     if (iCallAdpt)
         {
-        status = iCallAdpt->SetGlobalGain(iGlobalGain);
+        guint gain;
+        gain = aMessage.Int0();
+        status = iCallAdpt->SetGlobalGain(gain);
         }
     aMessage.Complete(status);
     TRACE_PRN_FN_EXT;
@@ -1107,24 +1108,6 @@
         CleanupStack::PopAndDestroy(outputbuf);
         }
     aMessage.Complete(status);
-    TRACE_PRN_FN_EXT;
     }
 
-void TMSCallSession::HandleGetActiveCallL(const RMessage2& aMessage)
-    {
-    gint status(TMS_RESULT_DOES_NOT_EXIST);
-    TMSCallType callType;
-    gboolean active(FALSE);
-    if (iCallAdpt)
-        {
-        iCallAdpt->GetCallType(callType);
-        active = iCallAdpt->IsUplActivated();
-        TmsCallMsgBufPckg p;
-        p().iInt = (gint) callType;
-        p().iBool = active;
-        aMessage.WriteL(0, p);
-        status = TMS_RESULT_SUCCESS;
-        }
-    aMessage.Complete(status);
-    }
-
+// End of file
--- a/mmserv/tms/tmscallserver/src/tmscsdevsound.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmscsdevsound.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -16,7 +16,6 @@
  */
 
 #include <AudioPreference.h>
-#include <tms.h>
 #include <S60FourCC.h>
 #include "tmsutility.h"
 #include "tmscsdevsound.h"
@@ -24,35 +23,22 @@
 
 using namespace TMS;
 
-// CONSTANTS
-const gint KTimeoutInitial = 250000; // 250 ms initial timeout
-const gint KTimeoutMultiplier = 2;   // Double the timeout for each retry
-const gint KPeriodicTimeoutMax = 2000000; // 2 sec max periodic timeout
-const gint KMicroSecMultiply = 1000000;   // 1 sec
-
 // -----------------------------------------------------------------------------
-// TMSCSDevSound
+// TMSCSPDevSound
 // -----------------------------------------------------------------------------
 //
 TMSCSDevSound::TMSCSDevSound(TMSCSDevSoundObserver& observer) :
     iObserver(observer)
     {
-    iTimer = NULL;
-    iPeriodic = KTimeoutInitial;
-    iElapsedTime = 0;
-    iInitRetryTime = 0;
-    iStartRetryTime = 0;
     }
 
 // -----------------------------------------------------------------------------
 // ConstructL
 // -----------------------------------------------------------------------------
 //
-void TMSCSDevSound::ConstructL(const TMSStreamType strmtype,
-        const gint retrytime)
+void TMSCSDevSound::ConstructL(const TMSStreamType strmtype)
     {
     TRACE_PRN_FN_ENT;
-    iInitRetryTime = retrytime;
     iStreamType = strmtype;
 
     if (strmtype == TMS_STREAM_UPLINK)
@@ -67,8 +53,6 @@
         iPriority = KAudioPriorityCSCallDownlink;
         iPreference = KAudioPrefCSCallDownlink;
         }
-
-    iTimer = TMSTimer::NewL();
     InitializeL();
     TRACE_PRN_FN_EXT;
     }
@@ -110,21 +94,15 @@
 //
 TMSCSDevSound::~TMSCSDevSound()
     {
-    TRACE_PRN_FN_ENT;
-    CancelTimer();
-    delete iTimer;
     delete iDevSound;
-    TRACE_PRN_FN_EXT;
     }
 
 // -----------------------------------------------------------------------------
 // Tries to activate the audio stream if not already active or activating
 // -----------------------------------------------------------------------------
 //
-void TMSCSDevSound::Activate(const gint retrytime)
+void TMSCSDevSound::Activate()
     {
-    iStartRetryTime = retrytime;
-
     if (!iActive && !iActivationOngoing)
         {
         iActivationOngoing = ETrue;
@@ -136,21 +114,14 @@
 // Deactivates the audio device.
 // -----------------------------------------------------------------------------
 //
-void TMSCSDevSound::Deactivate(gboolean reset)
+void TMSCSDevSound::Deactivate()
     {
-    TRACE_PRN_FN_ENT;
-    if (reset)
-        {
-        iPeriodic = KTimeoutInitial;
-        }
-    CancelTimer();
     if (iDevSound && (iActive || iActivationOngoing))
         {
         iDevSound->Stop();
         iActive = EFalse;
         iActivationOngoing = EFalse;
         }
-    TRACE_PRN_FN_EXT;
     }
 
 // -----------------------------------------------------------------------------
@@ -169,17 +140,10 @@
 void TMSCSDevSound::InitializeComplete(TInt aError)
     {
     TRACE_PRN_FN_ENT;
-    if (aError != TMS_RESULT_SUCCESS && iInitRetryTime != 0)
+    if (aError == TMS_RESULT_SUCCESS)
         {
-        StartTimer();
-        }
-    else
-        {
-        iPeriodic = KTimeoutInitial;
-        CancelTimer();
         NotifyEvent(aError);
         }
-    TRACE_PRN_IF_ERR(aError);
     TRACE_PRN_FN_EXT;
     }
 
@@ -199,73 +163,4 @@
         }
     }
 
-// -----------------------------------------------------------------------------
-// TMSCSDevSound::CancelTimer
-// Resets timer
-// -----------------------------------------------------------------------------
-//
-void TMSCSDevSound::CancelTimer()
-    {
-    iInitRetryTime = 0;
-    iStartRetryTime = 0;
-    iElapsedTime = 0;
-
-    if (iTimer)
-        {
-        if (iTimer->IsRunning())
-            {
-            iTimer->CancelNotify();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSCSDevSound::StartTimer
-// Activates timer
-// -----------------------------------------------------------------------------
-//
-void TMSCSDevSound::StartTimer()
-    {
-    if (iTimer && (iInitRetryTime != 0 || iStartRetryTime != 0))
-        {
-        iTimer->NotifyAfter(iPeriodic, *this);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// From TMSTimerObserver
-// Notification upon TMSTimer timeout.
-// -----------------------------------------------------------------------------
-//
-void TMSCSDevSound::TimerEvent()
-    {
-    if (iPeriodic < KPeriodicTimeoutMax)
-        {
-        iPeriodic *= KTimeoutMultiplier;
-        }
-    iElapsedTime += iPeriodic;
-
-    if (!iActivationOngoing) //Initializing
-        {
-        if (iElapsedTime >= (iInitRetryTime * KMicroSecMultiply))
-            {
-            iInitRetryTime = 0; //timer will not start again
-            }
-        TRAPD(status, InitializeL());
-        if (status != TMS_RESULT_SUCCESS)
-            {
-            NotifyEvent(status);
-            }
-        }
-    else //Activating
-        {
-        if (iElapsedTime >= (iStartRetryTime * KMicroSecMultiply))
-            {
-            iStartRetryTime = 0; //timer will not start again
-            }
-        Deactivate(FALSE);
-        Activate(iStartRetryTime);
-        }
-    }
-
 //  End of File
--- a/mmserv/tms/tmscallserver/src/tmscsdownlink.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmscsdownlink.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -16,7 +16,6 @@
  */
 
 #include <AudioPreference.h>
-#include "tmsutility.h"
 #include "tmscsdownlink.h"
 #include "tmscsdevsoundobserver.h"
 
@@ -38,9 +37,9 @@
 // Second phase constructor
 // -----------------------------------------------------------------------------
 //
-void TMSCSDownlink::ConstructL(const gint retrytime)
+void TMSCSDownlink::ConstructL()
     {
-    TMSCSDevSound::ConstructL(TMS_STREAM_DOWNLINK, retrytime);
+    TMSCSDevSound::ConstructL(TMS_STREAM_DOWNLINK);
 
     if (iDevSound)
         {
@@ -52,12 +51,11 @@
 // Static constructor
 // -----------------------------------------------------------------------------
 //
-TMSCSDownlink* TMSCSDownlink::NewL(TMSCSDevSoundObserver& observer,
-        const gint retrytime)
+TMSCSDownlink* TMSCSDownlink::NewL(TMSCSDevSoundObserver& observer)
     {
     TMSCSDownlink* self = new (ELeave) TMSCSDownlink(observer);
     CleanupStack::PushL(self);
-    self->ConstructL(retrytime);
+    self->ConstructL();
     CleanupStack::Pop(self);
     return self;
     }
@@ -120,7 +118,7 @@
 //
 void TMSCSDownlink::BufferToBeFilled(CMMFBuffer* /*aBuffer*/)
     {
-    TRACE_PRN_N(_L("TMSCSDownlink::BufferToBeFilled"));
+    //TRACE_PRN_N(_L("TMSCSDownlink::BufferToBeFilled"));
 
     // We dont react to devsound messages unless we are activating.
     if (iActivationOngoing)
@@ -138,22 +136,13 @@
 //
 void TMSCSDownlink::PlayError(TInt aError)
     {
-    TRACE_PRN_N1(_L("TMSCSDownlink::PlayError[%d]"), aError);
+    //TRACE_PRN_N1(_L("TMSCSDownlink::PlayError[%d]"), aError);
 
     // We don't react to devsound errors unless we are activating.
-    if (iActivationOngoing && (aError == KErrAccessDenied ||
-            aError == KErrInUse))
+    if (iActivationOngoing && aError == KErrAccessDenied)
         {
-        if (iStartRetryTime != 0)
-            {
-            StartTimer();
-            }
-        else
-            {
-            CancelTimer();
-            iActivationOngoing = EFalse;
-            iObserver.DownlinkActivationCompleted(aError);
-            }
+        iActivationOngoing = EFalse;
+        iObserver.DownlinkActivationCompleted(aError);
         }
     }
 
--- a/mmserv/tms/tmscallserver/src/tmscsuplink.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmscsuplink.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -16,7 +16,6 @@
  */
 
 #include <AudioPreference.h>
-#include "tmsutility.h"
 #include "tmscsuplink.h"
 #include "tmscsdevsoundobserver.h"
 
@@ -35,21 +34,20 @@
 // Second phase constructor
 // -----------------------------------------------------------------------------
 //
-void TMSCSUplink::ConstructL(const gint retrytime)
+void TMSCSUplink::ConstructL()
     {
-    TMSCSDevSound::ConstructL(TMS_STREAM_UPLINK, retrytime);
+    TMSCSDevSound::ConstructL(TMS_STREAM_UPLINK);
     }
 
 // -----------------------------------------------------------------------------
 // Static constructor
 // -----------------------------------------------------------------------------
 //
-TMSCSUplink* TMSCSUplink::NewL(TMSCSDevSoundObserver& observer,
-        const gint retrytime)
+TMSCSUplink* TMSCSUplink::NewL(TMSCSDevSoundObserver& observer)
     {
     TMSCSUplink* self = new (ELeave) TMSCSUplink(observer);
     CleanupStack::PushL(self);
-    self->ConstructL(retrytime);
+    self->ConstructL();
     CleanupStack::Pop(self);
     return self;
     }
@@ -124,7 +122,7 @@
 //
 void TMSCSUplink::BufferToBeEmptied(CMMFBuffer* /*aBuffer*/)
     {
-    TRACE_PRN_N(_L("TMSCSUplink::BufferToBeEmptied"));
+    //TRACE_PRN_N(_L("TMSCSUplink::BufferToBeEmptied"));
 
     // We dont react to devsound messages unless we are activating.
     if (iActivationOngoing)
@@ -142,22 +140,13 @@
 //
 void TMSCSUplink::RecordError(TInt aError)
     {
-    TRACE_PRN_N1(_L("TMSCSUplink::RecordError[%d]"), aError);
+    //TRACE_PRN_N1(_L("TMSCSUplink::RecordError[%d]"), aError);
 
     // We dont react to devsound messages unless we are activating.
-    if (iActivationOngoing && (aError == KErrAccessDenied ||
-            aError == KErrInUse))
+    if (iActivationOngoing && aError == KErrAccessDenied)
         {
-        if (iStartRetryTime != 0)
-            {
-            StartTimer();
-            }
-        else
-            {
-            CancelTimer();
-            iActivationOngoing = EFalse;
-            iObserver.UplinkActivationCompleted(aError);
-            }
+        iActivationOngoing = EFalse;
+        iObserver.UplinkActivationCompleted(aError);
         }
     }
 
--- a/mmserv/tms/tmscallserver/src/tmsipcalldownlinkds.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmsipcalldownlinkds.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -63,12 +63,11 @@
 // -----------------------------------------------------------------------------
 //
 TMSIPDownlink* TMSIPDownlink::NewL(TMSIPDevSoundObserver& observer,
-        const guint32 codecID, const TMMFPrioritySettings priority,
-        const gint retrytime)
+        const guint32 codecID, const TMMFPrioritySettings priority)
     {
     TMSIPDownlink* self = new (ELeave) TMSIPDownlink(observer);
     CleanupStack::PushL(self);
-    self->ConstructL(codecID, priority, retrytime);
+    self->ConstructL(codecID, priority);
     CleanupStack::Pop(self);
     return self;
     }
@@ -79,7 +78,7 @@
 // -----------------------------------------------------------------------------
 //
 void TMSIPDownlink::ConstructL(const guint32 codecID,
-        const TMMFPrioritySettings priority, const gint /*retrytime*/)
+        const TMMFPrioritySettings priority)
     {
     TRACE_PRN_FN_ENT;
     iCodecID = codecID;
@@ -103,7 +102,7 @@
 //
 // -----------------------------------------------------------------------------
 //
-void TMSIPDownlink::Start(const gint /*retrytime*/)
+void TMSIPDownlink::Start()
     {
     TRACE_PRN_FN_ENT;
     gint err = TMS_RESULT_ILLEGAL_OPERATION;
@@ -112,7 +111,11 @@
         {
         TRAP(err, iDevSound->PlayInitL());
         TRACE_PRN_IF_ERR(err);
-        iObserver.DownlinkStarted(err);
+        if (err != TMS_RESULT_SUCCESS)
+            {
+            iStatus = EReady;
+            iObserver.DownlinkStarted(err);
+            }
         }
     TRACE_PRN_FN_EXT;
     }
@@ -706,13 +709,15 @@
 
         switch (outputDev)
             {
-            case CAudioOutput::EPublic:
-                output = TMS_AUDIO_OUTPUT_PUBLIC;
-                break;
             case CAudioOutput::ENoPreference:
             case CAudioOutput::EAll:
             case CAudioOutput::ENoOutput:
             case CAudioOutput::EPrivate:
+                output = TMS_AUDIO_OUTPUT_PRIVATE;
+                break;
+            case CAudioOutput::EPublic:
+                output = TMS_AUDIO_OUTPUT_PUBLIC;
+                break;
             default:
                 output = TMS_AUDIO_OUTPUT_PRIVATE;
                 break;
--- a/mmserv/tms/tmscallserver/src/tmsipcalluplinkds.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmscallserver/src/tmsipcalluplinkds.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -61,12 +61,11 @@
 // -----------------------------------------------------------------------------
 //
 TMSIPUplink* TMSIPUplink::NewL(TMSIPDevSoundObserver& observer,
-        const guint32 codecID, const TMMFPrioritySettings priority,
-        const gint retrytime)
+        const guint32 codecID, const TMMFPrioritySettings priority)
     {
     TMSIPUplink* self = new (ELeave) TMSIPUplink(observer);
     CleanupStack::PushL(self);
-    self->ConstructL(codecID, priority, retrytime);
+    self->ConstructL(codecID, priority);
     CleanupStack::Pop(self);
     return self;
     }
@@ -77,7 +76,7 @@
 // -----------------------------------------------------------------------------
 //
 void TMSIPUplink::ConstructL(const guint32 codecID,
-        const TMMFPrioritySettings priority, const gint /*retrytime*/)
+        const TMMFPrioritySettings priority)
     {
     TRACE_PRN_FN_ENT;
     iCodecID = codecID;
@@ -101,7 +100,7 @@
 //
 // -----------------------------------------------------------------------------
 //
-void TMSIPUplink::Start(const gint /*retrytime*/)
+void TMSIPUplink::Start()
     {
     TRACE_PRN_FN_ENT;
 
@@ -112,7 +111,12 @@
         {
         TRAP(err, iDevSound->RecordInitL());
         TRACE_PRN_IF_ERR(err);
-        iObserver.UplinkStarted(err);
+
+        if (err != TMS_RESULT_SUCCESS)
+            {
+            iStatus = EReady;
+            iObserver.UplinkStarted(err);
+            }
         }
     TRACE_PRN_FN_EXT;
     }
--- a/mmserv/tms/tmscallserver/src/tmsyncvol.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-// INCLUDE FILES
-#include "tmssyncvol.h"
-#include "tmsclientserver.h"
-#include "tmsutility.h"
-
-using namespace TMS;
-
-// CONSTANTS
-_LIT_SECURITY_POLICY_PASS(KTMSServerReadPolicy);
-_LIT_SECURITY_POLICY_C1(KTMSServerWritePolicy, ECapabilityWriteUserData);
-
-// -----------------------------------------------------------------------------
-// TMSSyncVol::TMSSyncVol
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TMSSyncVol::TMSSyncVol()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// TMSSyncVol::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void TMSSyncVol::ConstructL()
-    {
-    TRACE_PRN_FN_ENT;
-    TInt err = RProperty::Define(ESyncVolume, RProperty::EInt,
-            KTMSServerReadPolicy, KTMSServerWritePolicy);
-    TRACE_PRN_N1(_L("TMSSyncVol::ConstructL err:%d"),err);
-
-    if (err != KErrAlreadyExists)
-        {
-        User::LeaveIfError(err);
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSSyncVol::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-TMSSyncVol* TMSSyncVol::NewL()
-    {
-    TMSSyncVol* self = new (ELeave) TMSSyncVol();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// Destructor
-TMSSyncVol::~TMSSyncVol()
-    {
-    TRACE_PRN_FN_ENT;
-    TInt err = RProperty::Delete(KTMSPropertyCategory, ESyncVolume);
-    TRACE_PRN_N1(_L("TMSSyncVol::~TMSSyncVol err:%d"),err);
-    TRACE_PRN_FN_ENT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSSyncVol::SetSyncVol
-// -----------------------------------------------------------------------------
-//
-void TMSSyncVol::SetSyncVol(TBool syncvol)
-    {
-    TRACE_PRN_FN_ENT;
-    //    TInt err(KErrNone);
-    if (syncvol)
-        {
-        /*err =*/RProperty::Set(KTMSPropertyCategory, ESyncVolume, syncvol);
-        }
-
-    //TRACE_PRN_N1(_L("TMSSyncVol::SetSyncVol err:%d"),err);
-    TRACE_PRN_FN_EXT;
-    }
-
-//  End of File
--- a/mmserv/tms/tmsfactory/bwins/tmsfactory.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsfactory/bwins/tmsfactory.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,29 +1,20 @@
 EXPORTS
-	?DeleteFormat@TMSFactory@TMS@@QAEHAAPAVTMSFormat@2@@Z @ 1 NONAME ; int TMS::TMSFactory::DeleteFormat(class TMS::TMSFormat * &)
-	?DeleteDTMF@TMSFactory@TMS@@QAEHAAPAVTMSDTMF@2@@Z @ 2 NONAME ; int TMS::TMSFactory::DeleteDTMF(class TMS::TMSDTMF * &)
-	?DeleteSource@TMSFactory@TMS@@QAEHAAPAVTMSSource@2@@Z @ 3 NONAME ; int TMS::TMSFactory::DeleteSource(class TMS::TMSSource * &)
-	?DeleteEffect@TMSFactory@TMS@@QAEHAAPAVTMSEffect@2@@Z @ 4 NONAME ; int TMS::TMSFactory::DeleteEffect(class TMS::TMSEffect * &)
-	?CreateInbandTonePlayer@TMSFactory@TMS@@QAEHAAPAVTMSInbandTone@2@@Z @ 5 NONAME ; int TMS::TMSFactory::CreateInbandTonePlayer(class TMS::TMSInbandTone * &)
+	?CreateSink@TMSFactory@TMS@@QAEHHAAPAVTMSSink@2@@Z @ 1 NONAME ; int TMS::TMSFactory::CreateSink(int, class TMS::TMSSink * &)
+	?DeleteFormat@TMSFactory@TMS@@QAEHAAPAVTMSFormat@2@@Z @ 2 NONAME ; int TMS::TMSFactory::DeleteFormat(class TMS::TMSFormat * &)
+	?CreateFactory@TMSFactory@TMS@@SAHAAPAV12@AAVTMSVer@2@@Z @ 3 NONAME ; int TMS::TMSFactory::CreateFactory(class TMS::TMSFactory * &, class TMS::TMSVer &)
+	?DeleteSource@TMSFactory@TMS@@QAEHAAPAVTMSSource@2@@Z @ 4 NONAME ; int TMS::TMSFactory::DeleteSource(class TMS::TMSSource * &)
+	?DeleteEffect@TMSFactory@TMS@@QAEHAAPAVTMSEffect@2@@Z @ 5 NONAME ; int TMS::TMSFactory::DeleteEffect(class TMS::TMSEffect * &)
 	?CreateBuffer@TMSFactory@TMS@@QAEHHIAAPAVTMSBuffer@2@@Z @ 6 NONAME ; int TMS::TMSFactory::CreateBuffer(int, unsigned int, class TMS::TMSBuffer * &)
 	?CreateEffect@TMSFactory@TMS@@QAEHHAAPAVTMSEffect@2@@Z @ 7 NONAME ; int TMS::TMSFactory::CreateEffect(int, class TMS::TMSEffect * &)
-	?CreateRingTonePlayer@TMSFactory@TMS@@QAEHAAPAVTMSRingTone@2@@Z @ 8 NONAME ; int TMS::TMSFactory::CreateRingTonePlayer(class TMS::TMSRingTone * &)
+	?DeleteSink@TMSFactory@TMS@@QAEHAAPAVTMSSink@2@@Z @ 8 NONAME ; int TMS::TMSFactory::DeleteSink(class TMS::TMSSink * &)
 	?IsCallTypeSupported@TMSFactory@TMS@@QAEHHAAH@Z @ 9 NONAME ; int TMS::TMSFactory::IsCallTypeSupported(int, int &)
-	?DeleteBuffer@TMSFactory@TMS@@QAEHAAPAVTMSBuffer@2@@Z @ 10 NONAME ; int TMS::TMSFactory::DeleteBuffer(class TMS::TMSBuffer * &)
-	?CreateCall@TMSFactory@TMS@@QAEHHAAPAVTMSCall@2@I@Z @ 11 NONAME ; int TMS::TMSFactory::CreateCall(int, class TMS::TMSCall * &, unsigned int)
-	?CreateSource@TMSFactory@TMS@@QAEHHAAPAVTMSSource@2@@Z @ 12 NONAME ; int TMS::TMSFactory::CreateSource(int, class TMS::TMSSource * &)
-	?CreateGlobalRouting@TMSFactory@TMS@@QAEHAAPAVTMSGlobalRouting@2@@Z @ 13 NONAME ; int TMS::TMSFactory::CreateGlobalRouting(class TMS::TMSGlobalRouting * &)
-	?CreateDTMF@TMSFactory@TMS@@QAEHHAAPAVTMSDTMF@2@@Z @ 14 NONAME ; int TMS::TMSFactory::CreateDTMF(int, class TMS::TMSDTMF * &)
-	?DeleteCall@TMSFactory@TMS@@QAEHAAPAVTMSCall@2@@Z @ 15 NONAME ; int TMS::TMSFactory::DeleteCall(class TMS::TMSCall * &)
-	?CreateSink@TMSFactory@TMS@@QAEHHAAPAVTMSSink@2@@Z @ 16 NONAME ; int TMS::TMSFactory::CreateSink(int, class TMS::TMSSink * &)
-	?CreateFactory@TMSFactory@TMS@@SAHAAPAV12@AAVTMSVer@2@@Z @ 17 NONAME ; int TMS::TMSFactory::CreateFactory(class TMS::TMSFactory * &, class TMS::TMSVer &)
-	?CreateRingTonePlayer@TMSFactory@TMS@@QAEHAAPAVTMSRingTone@2@AAVRWindow@@H@Z @ 18 NONAME ; int TMS::TMSFactory::CreateRingTonePlayer(class TMS::TMSRingTone * &, class RWindow &, int)
-	?DeleteInbandTonePlayer@TMSFactory@TMS@@QAEHAAPAVTMSInbandTone@2@@Z @ 19 NONAME ; int TMS::TMSFactory::DeleteInbandTonePlayer(class TMS::TMSInbandTone * &)
-	?DeleteSink@TMSFactory@TMS@@QAEHAAPAVTMSSink@2@@Z @ 20 NONAME ; int TMS::TMSFactory::DeleteSink(class TMS::TMSSink * &)
-	?GetSupportedFormats@TMSFactory@TMS@@QAEHHAAV?$vector@PAVTMSFormat@TMS@@V?$allocator@PAVTMSFormat@TMS@@@std@@@std@@@Z @ 21 NONAME ; int TMS::TMSFactory::GetSupportedFormats(int, class std::vector<class TMS::TMSFormat *, class std::allocator<class TMS::TMSFormat *> > &)
-	??1TMSFactory@TMS@@UAE@XZ @ 22 NONAME ; TMS::TMSFactory::~TMSFactory(void)
-	?DeleteGlobalRouting@TMSFactory@TMS@@QAEHAAPAVTMSGlobalRouting@2@@Z @ 23 NONAME ; int TMS::TMSFactory::DeleteGlobalRouting(class TMS::TMSGlobalRouting * &)
-	?DeleteRingTonePlayer@TMSFactory@TMS@@QAEHAAPAVTMSRingTone@2@@Z @ 24 NONAME ; int TMS::TMSFactory::DeleteRingTonePlayer(class TMS::TMSRingTone * &)
-	?CreateFormat@TMSFactory@TMS@@QAEHHAAPAVTMSFormat@2@@Z @ 25 NONAME ; int TMS::TMSFactory::CreateFormat(int, class TMS::TMSFormat * &)
-	?CreateRTPSession@TMSFactory@TMS@@QAEHAAPAVTMSRTPSession@2@PAEI@Z @ 26 NONAME ; int TMS::TMSFactory::CreateRTPSession(class TMS::TMSRTPSession * &, unsigned char *, unsigned int)
-	?DeleteRTPSession@TMSFactory@TMS@@QAEHAAPAVTMSRTPSession@2@@Z @ 27 NONAME ; int TMS::TMSFactory::DeleteRTPSession(class TMS::TMSRTPSession * &)
+	?GetSupportedFormats@TMSFactory@TMS@@QAEHHAAV?$vector@PAVTMSFormat@TMS@@V?$allocator@PAVTMSFormat@TMS@@@std@@@std@@@Z @ 10 NONAME ; int TMS::TMSFactory::GetSupportedFormats(int, class std::vector<class TMS::TMSFormat *, class std::allocator<class TMS::TMSFormat *> > &)
+	?DeleteBuffer@TMSFactory@TMS@@QAEHAAPAVTMSBuffer@2@@Z @ 11 NONAME ; int TMS::TMSFactory::DeleteBuffer(class TMS::TMSBuffer * &)
+	?CreateCall@TMSFactory@TMS@@QAEHHAAPAVTMSCall@2@I@Z @ 12 NONAME ; int TMS::TMSFactory::CreateCall(int, class TMS::TMSCall * &, unsigned int)
+	?CreateSource@TMSFactory@TMS@@QAEHHAAPAVTMSSource@2@@Z @ 13 NONAME ; int TMS::TMSFactory::CreateSource(int, class TMS::TMSSource * &)
+	?CreateGlobalRouting@TMSFactory@TMS@@QAEHAAPAVTMSGlobalRouting@2@@Z @ 14 NONAME ; int TMS::TMSFactory::CreateGlobalRouting(class TMS::TMSGlobalRouting * &)
+	?DeleteGlobalRouting@TMSFactory@TMS@@QAEHAAPAVTMSGlobalRouting@2@@Z @ 15 NONAME ; int TMS::TMSFactory::DeleteGlobalRouting(class TMS::TMSGlobalRouting * &)
+	??1TMSFactory@TMS@@UAE@XZ @ 16 NONAME ; TMS::TMSFactory::~TMSFactory(void)
+	?DeleteCall@TMSFactory@TMS@@QAEHAAPAVTMSCall@2@@Z @ 17 NONAME ; int TMS::TMSFactory::DeleteCall(class TMS::TMSCall * &)
+	?CreateFormat@TMSFactory@TMS@@QAEHHAAPAVTMSFormat@2@@Z @ 18 NONAME ; int TMS::TMSFactory::CreateFormat(int, class TMS::TMSFormat * &)
 
--- a/mmserv/tms/tmsfactory/eabi/tmsfactory.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsfactory/eabi/tmsfactory.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,35 +1,26 @@
 EXPORTS
 	_ZN3TMS10TMSFactory10CreateCallEiRPNS_7TMSCallEj @ 1 NONAME
-	_ZN3TMS10TMSFactory10CreateDTMFEiRPNS_7TMSDTMFE @ 2 NONAME
-	_ZN3TMS10TMSFactory10CreateSinkEiRPNS_7TMSSinkE @ 3 NONAME
-	_ZN3TMS10TMSFactory10DeleteCallERPNS_7TMSCallE @ 4 NONAME
-	_ZN3TMS10TMSFactory10DeleteDTMFERPNS_7TMSDTMFE @ 5 NONAME
-	_ZN3TMS10TMSFactory10DeleteSinkERPNS_7TMSSinkE @ 6 NONAME
-	_ZN3TMS10TMSFactory12CreateBufferEijRPNS_9TMSBufferE @ 7 NONAME
-	_ZN3TMS10TMSFactory12CreateEffectEiRPNS_9TMSEffectE @ 8 NONAME
-	_ZN3TMS10TMSFactory12CreateFormatEiRPNS_9TMSFormatE @ 9 NONAME
-	_ZN3TMS10TMSFactory12CreateSourceEiRPNS_9TMSSourceE @ 10 NONAME
-	_ZN3TMS10TMSFactory12DeleteBufferERPNS_9TMSBufferE @ 11 NONAME
-	_ZN3TMS10TMSFactory12DeleteEffectERPNS_9TMSEffectE @ 12 NONAME
-	_ZN3TMS10TMSFactory12DeleteFormatERPNS_9TMSFormatE @ 13 NONAME
-	_ZN3TMS10TMSFactory12DeleteSourceERPNS_9TMSSourceE @ 14 NONAME
-	_ZN3TMS10TMSFactory13CreateFactoryERPS0_RNS_6TMSVerE @ 15 NONAME
-	_ZN3TMS10TMSFactory19CreateGlobalRoutingERPNS_16TMSGlobalRoutingE @ 16 NONAME
-	_ZN3TMS10TMSFactory19DeleteGlobalRoutingERPNS_16TMSGlobalRoutingE @ 17 NONAME
-	_ZN3TMS10TMSFactory19GetSupportedFormatsEiRSt6vectorIPNS_9TMSFormatESaIS3_EE @ 18 NONAME
-	_ZN3TMS10TMSFactory19IsCallTypeSupportedEiRi @ 19 NONAME
-	_ZN3TMS10TMSFactory20CreateRingTonePlayerERPNS_11TMSRingToneE @ 20 NONAME
-	_ZN3TMS10TMSFactory20CreateRingTonePlayerERPNS_11TMSRingToneER7RWindowi @ 21 NONAME
-	_ZN3TMS10TMSFactory20DeleteRingTonePlayerERPNS_11TMSRingToneE @ 22 NONAME
-	_ZN3TMS10TMSFactory22CreateInbandTonePlayerERPNS_13TMSInbandToneE @ 23 NONAME
-	_ZN3TMS10TMSFactory22DeleteInbandTonePlayerERPNS_13TMSInbandToneE @ 24 NONAME
-	_ZN3TMS10TMSFactoryD0Ev @ 25 NONAME
-	_ZN3TMS10TMSFactoryD1Ev @ 26 NONAME
-	_ZN3TMS10TMSFactoryD2Ev @ 27 NONAME
-	_ZTIN3TMS10TMSFactoryE @ 28 NONAME
-	_ZTIN3TMS14TMSFactoryImplE @ 29 NONAME
-	_ZTVN3TMS10TMSFactoryE @ 30 NONAME
-	_ZTVN3TMS14TMSFactoryImplE @ 31 NONAME
-	_ZN3TMS10TMSFactory16CreateRTPSessionERPNS_13TMSRTPSessionEPhj @ 32 NONAME
-	_ZN3TMS10TMSFactory16DeleteRTPSessionERPNS_13TMSRTPSessionE @ 33 NONAME
+	_ZN3TMS10TMSFactory10CreateSinkEiRPNS_7TMSSinkE @ 2 NONAME
+	_ZN3TMS10TMSFactory10DeleteCallERPNS_7TMSCallE @ 3 NONAME
+	_ZN3TMS10TMSFactory10DeleteSinkERPNS_7TMSSinkE @ 4 NONAME
+	_ZN3TMS10TMSFactory12CreateBufferEijRPNS_9TMSBufferE @ 5 NONAME
+	_ZN3TMS10TMSFactory12CreateEffectEiRPNS_9TMSEffectE @ 6 NONAME
+	_ZN3TMS10TMSFactory12CreateFormatEiRPNS_9TMSFormatE @ 7 NONAME
+	_ZN3TMS10TMSFactory12CreateSourceEiRPNS_9TMSSourceE @ 8 NONAME
+	_ZN3TMS10TMSFactory12DeleteBufferERPNS_9TMSBufferE @ 9 NONAME
+	_ZN3TMS10TMSFactory12DeleteEffectERPNS_9TMSEffectE @ 10 NONAME
+	_ZN3TMS10TMSFactory12DeleteFormatERPNS_9TMSFormatE @ 11 NONAME
+	_ZN3TMS10TMSFactory12DeleteSourceERPNS_9TMSSourceE @ 12 NONAME
+	_ZN3TMS10TMSFactory13CreateFactoryERPS0_RNS_6TMSVerE @ 13 NONAME
+	_ZN3TMS10TMSFactory19CreateGlobalRoutingERPNS_16TMSGlobalRoutingE @ 14 NONAME
+	_ZN3TMS10TMSFactory19DeleteGlobalRoutingERPNS_16TMSGlobalRoutingE @ 15 NONAME
+	_ZN3TMS10TMSFactory19GetSupportedFormatsEiRSt6vectorIPNS_9TMSFormatESaIS3_EE @ 16 NONAME
+	_ZN3TMS10TMSFactory19IsCallTypeSupportedEiRi @ 17 NONAME
+	_ZN3TMS10TMSFactoryD0Ev @ 18 NONAME
+	_ZN3TMS10TMSFactoryD1Ev @ 19 NONAME
+	_ZN3TMS10TMSFactoryD2Ev @ 20 NONAME
+	_ZTIN3TMS10TMSFactoryE @ 21 NONAME
+	_ZTIN3TMS14TMSFactoryImplE @ 22 NONAME
+	_ZTVN3TMS10TMSFactoryE @ 23 NONAME
+	_ZTVN3TMS14TMSFactoryImplE @ 24 NONAME
 
--- a/mmserv/tms/tmsfactory/inc/tmsfactoryimpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsfactory/inc/tmsfactoryimpl.h	Wed Sep 01 12:23:00 2010 +0100
@@ -19,7 +19,6 @@
 #define TMSFACTORYIMPL_H_
 
 #include <e32cmn.h>
-#include <w32std.h>
 #include <tms.h>
 
 namespace TMS {
@@ -32,8 +31,6 @@
 class TMSSource;
 class TMSSink;
 class TMSGlobalRouting;
-class TMSDTMF;
-class TMSInbandTone;
 
 // CLASS DECLARATION
 class TMSFactoryImpl
@@ -60,13 +57,6 @@
     gint DeleteSink(TMSSink*& tmssink);
     gint CreateGlobalRouting(TMSGlobalRouting*& globrouting);
     gint DeleteGlobalRouting(TMSGlobalRouting*& globrouting);
-    gint CreateDTMF(TMSStreamType streamid, TMSDTMF*& dtmf);
-    gint DeleteDTMF(TMSDTMF*& dtmf);
-    gint CreateRingTonePlayer(TMSRingTone*& rt);
-    gint CreateRingTonePlayer(TMSRingTone*& rt, RWindow& window, gint scrid);
-    gint DeleteRingTonePlayer(TMSRingTone*& rt);
-    gint CreateInbandTonePlayer(TMSInbandTone*& inbandtone);
-    gint DeleteInbandTonePlayer(TMSInbandTone*& inbandtone);
 
 private:
     gint QueryDevice(const TMSStreamType strmtype);
--- a/mmserv/tms/tmsfactory/src/tmsfactory.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsfactory/src/tmsfactory.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -205,86 +205,3 @@
     return status;
     }
 
-EXPORT_C gint TMSFactory::CreateDTMF(TMSStreamType streamtype, TMSDTMF*& dtmf)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (impl)
-        {
-        status = impl->CreateDTMF(streamtype, dtmf);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSFactory::DeleteDTMF(TMSDTMF*& dtmf)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (impl)
-        {
-        status = impl->DeleteDTMF(dtmf);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSFactory::CreateRingTonePlayer(TMSRingTone*& rt)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (impl)
-        {
-        status = impl->CreateRingTonePlayer(rt);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSFactory::CreateRingTonePlayer(TMSRingTone*& rt,
-        RWindow& window, gint scrid)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (impl)
-        {
-        status = impl->CreateRingTonePlayer(rt, window, scrid);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSFactory::DeleteRingTonePlayer(TMSRingTone*& rt)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (impl)
-        {
-        status = impl->DeleteRingTonePlayer(rt);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSFactory::CreateInbandTonePlayer(TMSInbandTone*& inbandtone)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (impl)
-        {
-        status = impl->CreateInbandTonePlayer(inbandtone);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSFactory::DeleteInbandTonePlayer(TMSInbandTone*& inbandtone)
-    {
-    gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
-    if (impl)
-        {
-        status = impl->DeleteInbandTonePlayer(inbandtone);
-        }
-    return status;
-    }
-
-EXPORT_C gint TMSFactory::CreateRTPSession(TMSRTPSession*& /*rtpsession*/,
-        guint8* /*sdp*/, guint /*mode*/)
-    {
-    return TMS_RESULT_FEATURE_NOT_SUPPORTED;
-    }
-
-EXPORT_C gint TMSFactory::DeleteRTPSession(TMSRTPSession*& /*rtpsession*/)
-    {
-    return TMS_RESULT_FEATURE_NOT_SUPPORTED;
-    }
-
-
--- a/mmserv/tms/tmsfactory/src/tmsfactoryimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsfactory/src/tmsfactoryimpl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -22,9 +22,7 @@
 #include "tmssourceimpl.h"
 #include "tmssinkimpl.h"
 #include "tmsglobalroutingimpl.h"
-#include "tmsringtoneimpl.h"
-#include "tmsdtmfimpl.h"
-#include "tmsinbandtoneimpl.h"
+
 #include "tmsutility.h"
 #include "tmsproxy.h"
 #include "tmsfactoryimpl.h"
@@ -192,56 +190,6 @@
     return ret;
     }
 
-gint TMSFactoryImpl::CreateDTMF(TMSStreamType streamtype, TMSDTMF*& dtmf)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    ret = TMSDTMFImpl::Create(streamtype, dtmf);
-    return ret;
-    }
-
-gint TMSFactoryImpl::DeleteDTMF(TMSDTMF*& dtmf)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    ret = TMSDTMFImpl::Delete(dtmf);
-    return ret;
-    }
-
-gint TMSFactoryImpl::CreateRingTonePlayer(TMSRingTone*& rt)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    ret = TMSRingToneImpl::Create(rt);
-    return ret;
-    }
-
-gint TMSFactoryImpl::CreateRingTonePlayer(TMSRingTone*& rt, RWindow& window,
-        gint scrid)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    ret = TMSRingToneImpl::Create(rt, window, scrid);
-    return ret;
-    }
-
-gint TMSFactoryImpl::DeleteRingTonePlayer(TMSRingTone*& rt)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    ret = TMSRingToneImpl::Delete(rt);
-    return ret;
-    }
-
-gint TMSFactoryImpl::CreateInbandTonePlayer(TMSInbandTone*& inbandtone)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    ret = TMSInbandToneImpl::Create(inbandtone);
-    return ret;
-    }
-
-gint TMSFactoryImpl::DeleteInbandTonePlayer(TMSInbandTone*& inbandtone)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    ret = TMSInbandToneImpl::Delete(inbandtone);
-    return ret;
-    }
-
 gint TMSFactoryImpl::QueryDevice(const TMSStreamType strmtype)
     {
     gint ret(TMS_RESULT_SUCCESS);
--- a/mmserv/tms/tmsimpl/bwins/tmsimpl.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsimpl/bwins/tmsimpl.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,23 +1,16 @@
 EXPORTS
-	?Create@TMSEffectImpl@TMS@@SAHHAAPAVTMSEffect@2@@Z @ 1 NONAME ; int TMS::TMSEffectImpl::Create(int, class TMS::TMSEffect * &)
-	?Create@TMSSourceImpl@TMS@@SAHHAAPAVTMSSource@2@@Z @ 2 NONAME ; int TMS::TMSSourceImpl::Create(int, class TMS::TMSSource * &)
-	?Delete@TMSRingToneImpl@TMS@@SAHAAPAVTMSRingTone@2@@Z @ 3 NONAME ; int TMS::TMSRingToneImpl::Delete(class TMS::TMSRingTone * &)
-	?Create@TMSRingToneImpl@TMS@@SAHAAPAVTMSRingTone@2@@Z @ 4 NONAME ; int TMS::TMSRingToneImpl::Create(class TMS::TMSRingTone * &)
+	?Delete@TMSGlobalRoutingImpl@TMS@@SAHAAPAVTMSGlobalRouting@2@@Z @ 1 NONAME ; int TMS::TMSGlobalRoutingImpl::Delete(class TMS::TMSGlobalRouting * &)
+	?Create@TMSEffectImpl@TMS@@SAHHAAPAVTMSEffect@2@@Z @ 2 NONAME ; int TMS::TMSEffectImpl::Create(int, class TMS::TMSEffect * &)
+	?Create@TMSSinkImpl@TMS@@SAHHAAPAVTMSSink@2@@Z @ 3 NONAME ; int TMS::TMSSinkImpl::Create(int, class TMS::TMSSink * &)
+	?Create@TMSSourceImpl@TMS@@SAHHAAPAVTMSSource@2@@Z @ 4 NONAME ; int TMS::TMSSourceImpl::Create(int, class TMS::TMSSource * &)
 	?Delete@TMSFormatImpl@TMS@@SAHAAPAVTMSFormat@2@@Z @ 5 NONAME ; int TMS::TMSFormatImpl::Delete(class TMS::TMSFormat * &)
 	?Delete@TMSCallImpl@TMS@@SAHAAPAVTMSCall@2@@Z @ 6 NONAME ; int TMS::TMSCallImpl::Delete(class TMS::TMSCall * &)
-	?Delete@TMSSinkImpl@TMS@@SAHAAPAVTMSSink@2@@Z @ 7 NONAME ; int TMS::TMSSinkImpl::Delete(class TMS::TMSSink * &)
-	?Delete@TMSBufferImpl@TMS@@SAHAAPAVTMSBuffer@2@@Z @ 8 NONAME ; int TMS::TMSBufferImpl::Delete(class TMS::TMSBuffer * &)
-	?Delete@TMSSourceImpl@TMS@@SAHAAPAVTMSSource@2@@Z @ 9 NONAME ; int TMS::TMSSourceImpl::Delete(class TMS::TMSSource * &)
-	?Delete@TMSEffectImpl@TMS@@SAHAAPAVTMSEffect@2@@Z @ 10 NONAME ; int TMS::TMSEffectImpl::Delete(class TMS::TMSEffect * &)
-	?Create@TMSBufferImpl@TMS@@SAHHIAAPAVTMSBuffer@2@@Z @ 11 NONAME ; int TMS::TMSBufferImpl::Create(int, unsigned int, class TMS::TMSBuffer * &)
-	?Create@TMSCallImpl@TMS@@SAHHAAPAVTMSCall@2@I@Z @ 12 NONAME ; int TMS::TMSCallImpl::Create(int, class TMS::TMSCall * &, unsigned int)
-	?Delete@TMSGlobalRoutingImpl@TMS@@SAHAAPAVTMSGlobalRouting@2@@Z @ 13 NONAME ; int TMS::TMSGlobalRoutingImpl::Delete(class TMS::TMSGlobalRouting * &)
-	?Create@TMSRingToneImpl@TMS@@SAHAAPAVTMSRingTone@2@AAVRWindow@@H@Z @ 14 NONAME ; int TMS::TMSRingToneImpl::Create(class TMS::TMSRingTone * &, class RWindow &, int)
-	?Delete@TMSInbandToneImpl@TMS@@SAHAAPAVTMSInbandTone@2@@Z @ 15 NONAME ; int TMS::TMSInbandToneImpl::Delete(class TMS::TMSInbandTone * &)
-	?Create@TMSSinkImpl@TMS@@SAHHAAPAVTMSSink@2@@Z @ 16 NONAME ; int TMS::TMSSinkImpl::Create(int, class TMS::TMSSink * &)
-	?Create@TMSInbandToneImpl@TMS@@SAHAAPAVTMSInbandTone@2@@Z @ 17 NONAME ; int TMS::TMSInbandToneImpl::Create(class TMS::TMSInbandTone * &)
-	?Create@TMSFormatImpl@TMS@@SAHHAAPAVTMSFormat@2@@Z @ 18 NONAME ; int TMS::TMSFormatImpl::Create(int, class TMS::TMSFormat * &)
-	?Create@TMSGlobalRoutingImpl@TMS@@SAHAAPAVTMSGlobalRouting@2@@Z @ 19 NONAME ; int TMS::TMSGlobalRoutingImpl::Create(class TMS::TMSGlobalRouting * &)
-	?Create@TMSDTMFImpl@TMS@@SAHHAAPAVTMSDTMF@2@@Z @ 20 NONAME ; int TMS::TMSDTMFImpl::Create(int, class TMS::TMSDTMF * &)
-	?Delete@TMSDTMFImpl@TMS@@SAHAAPAVTMSDTMF@2@@Z @ 21 NONAME ; int TMS::TMSDTMFImpl::Delete(class TMS::TMSDTMF * &)
+	?Create@TMSFormatImpl@TMS@@SAHHAAPAVTMSFormat@2@@Z @ 7 NONAME ; int TMS::TMSFormatImpl::Create(int, class TMS::TMSFormat * &)
+	?Delete@TMSSinkImpl@TMS@@SAHAAPAVTMSSink@2@@Z @ 8 NONAME ; int TMS::TMSSinkImpl::Delete(class TMS::TMSSink * &)
+	?Delete@TMSBufferImpl@TMS@@SAHAAPAVTMSBuffer@2@@Z @ 9 NONAME ; int TMS::TMSBufferImpl::Delete(class TMS::TMSBuffer * &)
+	?Delete@TMSSourceImpl@TMS@@SAHAAPAVTMSSource@2@@Z @ 10 NONAME ; int TMS::TMSSourceImpl::Delete(class TMS::TMSSource * &)
+	?Delete@TMSEffectImpl@TMS@@SAHAAPAVTMSEffect@2@@Z @ 11 NONAME ; int TMS::TMSEffectImpl::Delete(class TMS::TMSEffect * &)
+	?Create@TMSGlobalRoutingImpl@TMS@@SAHAAPAVTMSGlobalRouting@2@@Z @ 12 NONAME ; int TMS::TMSGlobalRoutingImpl::Create(class TMS::TMSGlobalRouting * &)
+	?Create@TMSBufferImpl@TMS@@SAHHIAAPAVTMSBuffer@2@@Z @ 13 NONAME ; int TMS::TMSBufferImpl::Create(int, unsigned int, class TMS::TMSBuffer * &)
+	?Create@TMSCallImpl@TMS@@SAHHAAPAVTMSCall@2@I@Z @ 14 NONAME ; int TMS::TMSCallImpl::Create(int, class TMS::TMSCall * &, unsigned int)
 
--- a/mmserv/tms/tmsimpl/eabi/tmsimpl.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsimpl/eabi/tmsimpl.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,115 +1,96 @@
 EXPORTS
 	_ZN3TMS11TMSCallImpl6CreateEiRPNS_7TMSCallEj @ 1 NONAME
 	_ZN3TMS11TMSCallImpl6DeleteERPNS_7TMSCallE @ 2 NONAME
-	_ZN3TMS11TMSDTMFImpl6CreateEiRPNS_7TMSDTMFE @ 3 NONAME
-	_ZN3TMS11TMSDTMFImpl6DeleteERPNS_7TMSDTMFE @ 4 NONAME
-	_ZN3TMS11TMSSinkImpl6CreateEiRPNS_7TMSSinkE @ 5 NONAME
-	_ZN3TMS11TMSSinkImpl6DeleteERPNS_7TMSSinkE @ 6 NONAME
-	_ZN3TMS13TMSBufferImpl6CreateEijRPNS_9TMSBufferE @ 7 NONAME
-	_ZN3TMS13TMSBufferImpl6DeleteERPNS_9TMSBufferE @ 8 NONAME
-	_ZN3TMS13TMSEffectImpl6CreateEiRPNS_9TMSEffectE @ 9 NONAME
-	_ZN3TMS13TMSEffectImpl6DeleteERPNS_9TMSEffectE @ 10 NONAME
-	_ZN3TMS13TMSFormatImpl6CreateEiRPNS_9TMSFormatE @ 11 NONAME
-	_ZN3TMS13TMSFormatImpl6DeleteERPNS_9TMSFormatE @ 12 NONAME
-	_ZN3TMS13TMSSourceImpl6CreateEiRPNS_9TMSSourceE @ 13 NONAME
-	_ZN3TMS13TMSSourceImpl6DeleteERPNS_9TMSSourceE @ 14 NONAME
-	_ZN3TMS15TMSRingToneImpl6CreateERPNS_11TMSRingToneE @ 15 NONAME
-	_ZN3TMS15TMSRingToneImpl6CreateERPNS_11TMSRingToneER7RWindowi @ 16 NONAME
-	_ZN3TMS15TMSRingToneImpl6DeleteERPNS_11TMSRingToneE @ 17 NONAME
-	_ZN3TMS17TMSInbandToneImpl6CreateERPNS_13TMSInbandToneE @ 18 NONAME
-	_ZN3TMS17TMSInbandToneImpl6DeleteERPNS_13TMSInbandToneE @ 19 NONAME
-	_ZN3TMS20TMSGlobalRoutingImpl6CreateERPNS_16TMSGlobalRoutingE @ 20 NONAME
-	_ZN3TMS20TMSGlobalRoutingImpl6DeleteERPNS_16TMSGlobalRoutingE @ 21 NONAME
-	_ZTIN3TMS11TMSCallImplE @ 22 NONAME
-	_ZTIN3TMS11TMSDTMFImplE @ 23 NONAME
-	_ZTIN3TMS12TMSMemBufferE @ 24 NONAME
-	_ZTIN3TMS13TMSStreamImplE @ 25 NONAME
-	_ZTIN3TMS15TMSCallBodyImplE @ 26 NONAME
-	_ZTIN3TMS15TMSDTMFBodyImplE @ 27 NONAME
-	_ZTIN3TMS15TMSRingToneImplE @ 28 NONAME
-	_ZTIN3TMS16TMSAMRFormatImplE @ 29 NONAME
-	_ZTIN3TMS16TMSMicSourceImplE @ 30 NONAME
-	_ZTIN3TMS16TMSModemSinkImplE @ 31 NONAME
-	_ZTIN3TMS16TMSPCMFormatImplE @ 32 NONAME
-	_ZTIN3TMS17TMSCSCallBodyImplE @ 33 NONAME
-	_ZTIN3TMS17TMSClientSinkImplE @ 34 NONAME
-	_ZTIN3TMS17TMSFormatBodyImplE @ 35 NONAME
-	_ZTIN3TMS17TMSG711FormatImplE @ 36 NONAME
-	_ZTIN3TMS17TMSG729FormatImplE @ 37 NONAME
-	_ZTIN3TMS17TMSGainEffectImplE @ 38 NONAME
-	_ZTIN3TMS17TMSILBCFormatImplE @ 39 NONAME
-	_ZTIN3TMS17TMSIPCallBodyImplE @ 40 NONAME
-	_ZTIN3TMS17TMSInbandToneImplE @ 41 NONAME
-	_ZTIN3TMS17TMSStreamBodyImplE @ 42 NONAME
-	_ZTIN3TMS18TMSModemSourceImplE @ 43 NONAME
-	_ZTIN3TMS18TMSSpeakerSinkImplE @ 44 NONAME
-	_ZTIN3TMS19TMSClientSourceImplE @ 45 NONAME
-	_ZTIN3TMS19TMSRingToneBodyImplE @ 46 NONAME
-	_ZTIN3TMS19TMSVolumeEffectImplE @ 47 NONAME
-	_ZTIN3TMS20TMSAMRFormatBodyImplE @ 48 NONAME
-	_ZTIN3TMS20TMSGlobalRoutingImplE @ 49 NONAME
-	_ZTIN3TMS20TMSMicSourceBodyImplE @ 50 NONAME
-	_ZTIN3TMS20TMSModemSinkBodyImplE @ 51 NONAME
-	_ZTIN3TMS20TMSPCMFormatBodyImplE @ 52 NONAME
-	_ZTIN3TMS21TMSClientSinkBodyImplE @ 53 NONAME
-	_ZTIN3TMS21TMSG711FormatBodyImplE @ 54 NONAME
-	_ZTIN3TMS21TMSG729FormatBodyImplE @ 55 NONAME
-	_ZTIN3TMS21TMSGainEffectBodyImplE @ 56 NONAME
-	_ZTIN3TMS21TMSILBCFormatBodyImplE @ 57 NONAME
-	_ZTIN3TMS21TMSInbandToneBodyImplE @ 58 NONAME
-	_ZTIN3TMS22TMSGlobalVolEffectImplE @ 59 NONAME
-	_ZTIN3TMS22TMSModemSourceBodyImplE @ 60 NONAME
-	_ZTIN3TMS22TMSSpeakerSinkBodyImplE @ 61 NONAME
-	_ZTIN3TMS23TMSClientSourceBodyImplE @ 62 NONAME
-	_ZTIN3TMS23TMSGlobalGainEffectImplE @ 63 NONAME
-	_ZTIN3TMS23TMSVolumeEffectBodyImplE @ 64 NONAME
-	_ZTIN3TMS24TMSGlobalRoutingBodyImplE @ 65 NONAME
-	_ZTIN3TMS26TMSGlobalVolEffectBodyImplE @ 66 NONAME
-	_ZTIN3TMS27TMSGlobalGainEffectBodyImplE @ 67 NONAME
-	_ZTVN3TMS11TMSCallImplE @ 68 NONAME
-	_ZTVN3TMS11TMSDTMFImplE @ 69 NONAME
-	_ZTVN3TMS12TMSMemBufferE @ 70 NONAME
-	_ZTVN3TMS13TMSStreamImplE @ 71 NONAME
-	_ZTVN3TMS15TMSCallBodyImplE @ 72 NONAME
-	_ZTVN3TMS15TMSDTMFBodyImplE @ 73 NONAME
-	_ZTVN3TMS15TMSRingToneImplE @ 74 NONAME
-	_ZTVN3TMS16TMSAMRFormatImplE @ 75 NONAME
-	_ZTVN3TMS16TMSMicSourceImplE @ 76 NONAME
-	_ZTVN3TMS16TMSModemSinkImplE @ 77 NONAME
-	_ZTVN3TMS16TMSPCMFormatImplE @ 78 NONAME
-	_ZTVN3TMS17TMSCSCallBodyImplE @ 79 NONAME
-	_ZTVN3TMS17TMSClientSinkImplE @ 80 NONAME
-	_ZTVN3TMS17TMSFormatBodyImplE @ 81 NONAME
-	_ZTVN3TMS17TMSG711FormatImplE @ 82 NONAME
-	_ZTVN3TMS17TMSG729FormatImplE @ 83 NONAME
-	_ZTVN3TMS17TMSGainEffectImplE @ 84 NONAME
-	_ZTVN3TMS17TMSILBCFormatImplE @ 85 NONAME
-	_ZTVN3TMS17TMSIPCallBodyImplE @ 86 NONAME
-	_ZTVN3TMS17TMSInbandToneImplE @ 87 NONAME
-	_ZTVN3TMS17TMSStreamBodyImplE @ 88 NONAME
-	_ZTVN3TMS18TMSModemSourceImplE @ 89 NONAME
-	_ZTVN3TMS18TMSSpeakerSinkImplE @ 90 NONAME
-	_ZTVN3TMS19TMSClientSourceImplE @ 91 NONAME
-	_ZTVN3TMS19TMSRingToneBodyImplE @ 92 NONAME
-	_ZTVN3TMS19TMSVolumeEffectImplE @ 93 NONAME
-	_ZTVN3TMS20TMSAMRFormatBodyImplE @ 94 NONAME
-	_ZTVN3TMS20TMSGlobalRoutingImplE @ 95 NONAME
-	_ZTVN3TMS20TMSMicSourceBodyImplE @ 96 NONAME
-	_ZTVN3TMS20TMSModemSinkBodyImplE @ 97 NONAME
-	_ZTVN3TMS20TMSPCMFormatBodyImplE @ 98 NONAME
-	_ZTVN3TMS21TMSClientSinkBodyImplE @ 99 NONAME
-	_ZTVN3TMS21TMSG711FormatBodyImplE @ 100 NONAME
-	_ZTVN3TMS21TMSG729FormatBodyImplE @ 101 NONAME
-	_ZTVN3TMS21TMSGainEffectBodyImplE @ 102 NONAME
-	_ZTVN3TMS21TMSILBCFormatBodyImplE @ 103 NONAME
-	_ZTVN3TMS21TMSInbandToneBodyImplE @ 104 NONAME
-	_ZTVN3TMS22TMSGlobalVolEffectImplE @ 105 NONAME
-	_ZTVN3TMS22TMSModemSourceBodyImplE @ 106 NONAME
-	_ZTVN3TMS22TMSSpeakerSinkBodyImplE @ 107 NONAME
-	_ZTVN3TMS23TMSClientSourceBodyImplE @ 108 NONAME
-	_ZTVN3TMS23TMSGlobalGainEffectImplE @ 109 NONAME
-	_ZTVN3TMS23TMSVolumeEffectBodyImplE @ 110 NONAME
-	_ZTVN3TMS24TMSGlobalRoutingBodyImplE @ 111 NONAME
-	_ZTVN3TMS26TMSGlobalVolEffectBodyImplE @ 112 NONAME
-	_ZTVN3TMS27TMSGlobalGainEffectBodyImplE @ 113 NONAME
+	_ZN3TMS11TMSSinkImpl6CreateEiRPNS_7TMSSinkE @ 3 NONAME
+	_ZN3TMS11TMSSinkImpl6DeleteERPNS_7TMSSinkE @ 4 NONAME
+	_ZN3TMS13TMSBufferImpl6CreateEijRPNS_9TMSBufferE @ 5 NONAME
+	_ZN3TMS13TMSBufferImpl6DeleteERPNS_9TMSBufferE @ 6 NONAME
+	_ZN3TMS13TMSEffectImpl6CreateEiRPNS_9TMSEffectE @ 7 NONAME
+	_ZN3TMS13TMSEffectImpl6DeleteERPNS_9TMSEffectE @ 8 NONAME
+	_ZN3TMS13TMSFormatImpl6CreateEiRPNS_9TMSFormatE @ 9 NONAME
+	_ZN3TMS13TMSFormatImpl6DeleteERPNS_9TMSFormatE @ 10 NONAME
+	_ZN3TMS13TMSSourceImpl6CreateEiRPNS_9TMSSourceE @ 11 NONAME
+	_ZN3TMS13TMSSourceImpl6DeleteERPNS_9TMSSourceE @ 12 NONAME
+	_ZN3TMS20TMSGlobalRoutingImpl6CreateERPNS_16TMSGlobalRoutingE @ 13 NONAME
+	_ZN3TMS20TMSGlobalRoutingImpl6DeleteERPNS_16TMSGlobalRoutingE @ 14 NONAME
+	_ZTIN3TMS11TMSCallImplE @ 15 NONAME
+	_ZTIN3TMS12TMSMemBufferE @ 16 NONAME
+	_ZTIN3TMS13TMSStreamImplE @ 17 NONAME
+	_ZTIN3TMS15TMSCallBodyImplE @ 18 NONAME
+	_ZTIN3TMS16TMSAMRFormatImplE @ 19 NONAME
+	_ZTIN3TMS16TMSMicSourceImplE @ 20 NONAME
+	_ZTIN3TMS16TMSModemSinkImplE @ 21 NONAME
+	_ZTIN3TMS16TMSPCMFormatImplE @ 22 NONAME
+	_ZTIN3TMS17TMSCSCallBodyImplE @ 23 NONAME
+	_ZTIN3TMS17TMSClientSinkImplE @ 24 NONAME
+	_ZTIN3TMS17TMSFormatBodyImplE @ 25 NONAME
+	_ZTIN3TMS17TMSG711FormatImplE @ 26 NONAME
+	_ZTIN3TMS17TMSG729FormatImplE @ 27 NONAME
+	_ZTIN3TMS17TMSGainEffectImplE @ 28 NONAME
+	_ZTIN3TMS17TMSILBCFormatImplE @ 29 NONAME
+	_ZTIN3TMS17TMSIPCallBodyImplE @ 30 NONAME
+	_ZTIN3TMS17TMSStreamBodyImplE @ 31 NONAME
+	_ZTIN3TMS18TMSModemSourceImplE @ 32 NONAME
+	_ZTIN3TMS18TMSSpeakerSinkImplE @ 33 NONAME
+	_ZTIN3TMS19TMSClientSourceImplE @ 34 NONAME
+	_ZTIN3TMS19TMSVolumeEffectImplE @ 35 NONAME
+	_ZTIN3TMS20TMSAMRFormatBodyImplE @ 36 NONAME
+	_ZTIN3TMS20TMSGlobalRoutingImplE @ 37 NONAME
+	_ZTIN3TMS20TMSMicSourceBodyImplE @ 38 NONAME
+	_ZTIN3TMS20TMSModemSinkBodyImplE @ 39 NONAME
+	_ZTIN3TMS20TMSPCMFormatBodyImplE @ 40 NONAME
+	_ZTIN3TMS21TMSClientSinkBodyImplE @ 41 NONAME
+	_ZTIN3TMS21TMSG711FormatBodyImplE @ 42 NONAME
+	_ZTIN3TMS21TMSG729FormatBodyImplE @ 43 NONAME
+	_ZTIN3TMS21TMSGainEffectBodyImplE @ 44 NONAME
+	_ZTIN3TMS21TMSILBCFormatBodyImplE @ 45 NONAME
+	_ZTIN3TMS22TMSGlobalVolEffectImplE @ 46 NONAME
+	_ZTIN3TMS22TMSModemSourceBodyImplE @ 47 NONAME
+	_ZTIN3TMS22TMSSpeakerSinkBodyImplE @ 48 NONAME
+	_ZTIN3TMS23TMSClientSourceBodyImplE @ 49 NONAME
+	_ZTIN3TMS23TMSGlobalGainEffectImplE @ 50 NONAME
+	_ZTIN3TMS23TMSVolumeEffectBodyImplE @ 51 NONAME
+	_ZTIN3TMS24TMSGlobalRoutingBodyImplE @ 52 NONAME
+	_ZTIN3TMS26TMSGlobalVolEffectBodyImplE @ 53 NONAME
+	_ZTIN3TMS27TMSGlobalGainEffectBodyImplE @ 54 NONAME
+	_ZTVN3TMS11TMSCallImplE @ 55 NONAME
+	_ZTVN3TMS12TMSMemBufferE @ 56 NONAME
+	_ZTVN3TMS13TMSStreamImplE @ 57 NONAME
+	_ZTVN3TMS15TMSCallBodyImplE @ 58 NONAME
+	_ZTVN3TMS16TMSAMRFormatImplE @ 59 NONAME
+	_ZTVN3TMS16TMSMicSourceImplE @ 60 NONAME
+	_ZTVN3TMS16TMSModemSinkImplE @ 61 NONAME
+	_ZTVN3TMS16TMSPCMFormatImplE @ 62 NONAME
+	_ZTVN3TMS17TMSCSCallBodyImplE @ 63 NONAME
+	_ZTVN3TMS17TMSClientSinkImplE @ 64 NONAME
+	_ZTVN3TMS17TMSFormatBodyImplE @ 65 NONAME
+	_ZTVN3TMS17TMSG711FormatImplE @ 66 NONAME
+	_ZTVN3TMS17TMSG729FormatImplE @ 67 NONAME
+	_ZTVN3TMS17TMSGainEffectImplE @ 68 NONAME
+	_ZTVN3TMS17TMSILBCFormatImplE @ 69 NONAME
+	_ZTVN3TMS17TMSIPCallBodyImplE @ 70 NONAME
+	_ZTVN3TMS17TMSStreamBodyImplE @ 71 NONAME
+	_ZTVN3TMS18TMSModemSourceImplE @ 72 NONAME
+	_ZTVN3TMS18TMSSpeakerSinkImplE @ 73 NONAME
+	_ZTVN3TMS19TMSClientSourceImplE @ 74 NONAME
+	_ZTVN3TMS19TMSVolumeEffectImplE @ 75 NONAME
+	_ZTVN3TMS20TMSAMRFormatBodyImplE @ 76 NONAME
+	_ZTVN3TMS20TMSGlobalRoutingImplE @ 77 NONAME
+	_ZTVN3TMS20TMSMicSourceBodyImplE @ 78 NONAME
+	_ZTVN3TMS20TMSModemSinkBodyImplE @ 79 NONAME
+	_ZTVN3TMS20TMSPCMFormatBodyImplE @ 80 NONAME
+	_ZTVN3TMS21TMSClientSinkBodyImplE @ 81 NONAME
+	_ZTVN3TMS21TMSG711FormatBodyImplE @ 82 NONAME
+	_ZTVN3TMS21TMSG729FormatBodyImplE @ 83 NONAME
+	_ZTVN3TMS21TMSGainEffectBodyImplE @ 84 NONAME
+	_ZTVN3TMS21TMSILBCFormatBodyImplE @ 85 NONAME
+	_ZTVN3TMS22TMSGlobalVolEffectImplE @ 86 NONAME
+	_ZTVN3TMS22TMSModemSourceBodyImplE @ 87 NONAME
+	_ZTVN3TMS22TMSSpeakerSinkBodyImplE @ 88 NONAME
+	_ZTVN3TMS23TMSClientSourceBodyImplE @ 89 NONAME
+	_ZTVN3TMS23TMSGlobalGainEffectImplE @ 90 NONAME
+	_ZTVN3TMS23TMSVolumeEffectBodyImplE @ 91 NONAME
+	_ZTVN3TMS24TMSGlobalRoutingBodyImplE @ 92 NONAME
+	_ZTVN3TMS26TMSGlobalVolEffectBodyImplE @ 93 NONAME
+	_ZTVN3TMS27TMSGlobalGainEffectBodyImplE @ 94 NONAME
 
--- a/mmserv/tms/tmsimpl/group/tmsimpl.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsimpl/group/tmsimpl.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -84,19 +84,12 @@
 SOURCE          tmsmicsourceimpl.cpp
 SOURCE          tmsmodemsourcebodyimpl.cpp
 SOURCE          tmsmodemsourceimpl.cpp
-SOURCE          tmsringtonebodyimpl.cpp
-SOURCE          tmsringtoneimpl.cpp
-SOURCE          tmsdtmfbodyimpl.cpp
-SOURCE          tmsdtmfimpl.cpp
-SOURCE          tmsinbandtonebodyimpl.cpp
-SOURCE          tmsinbandtoneimpl.cpp
 
 LIBRARY         euser.lib
 LIBRARY         libglib.lib
 LIBRARY         tmsapi.lib
 LIBRARY         tmscallproxy.lib
 LIBRARY         tmsproxy.lib
-LIBRARY         tmsutility.lib
 LIBRARY         libc.lib
 
 DEFFILE         tmsimpl.def
--- a/mmserv/tms/tmsimpl/inc/tmsdtmfbodyimpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMS_DTMF_BODY_IMPL_H
-#define TMS_DTMF_BODY_IMPL_H
-
-#include <tms.h>
-#include "tmsdtmfbody.h"
-#include "tmsclientserver.h"
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSDTMFObserver;
-class TMSDTMF;
-class TMSProxy;
-
-// TMSDTMFBodyImpl class
-class TMSDTMFBodyImpl : public TMSDTMFBody
-    {
-public:
-    static gint Create(TMSStreamType streamtype, TMSDTMF& parent,
-            TMSDTMFBody*& bodyimpl);
-    virtual ~TMSDTMFBodyImpl();
-
-    // From TMSDTMFBody
-    virtual gint AddObserver(TMSDTMFObserver& obsrvr, gpointer user_data);
-    virtual gint RemoveObserver(TMSDTMFObserver& obsrvr);
-    virtual gint Start();
-    virtual gint Stop();
-    virtual gint SetTone(GString* string);
-    virtual gint ContinueDTMFStringSending(gboolean sending);
-
-private:
-    TMSDTMFBodyImpl();
-    gint PostConstruct(TMSStreamType stype, TMSDTMF& parent);
-
-private:
-    TMSDTMFObserver* iObserver;
-    gint iClientId;
-    gpointer iUserData;
-    TMSProxy* iProxy;
-    TMSDTMF* iParent;
-    GString* iString;
-    TMSStreamType iStreamType;
-    };
-
-} //namespace TMS
-
-#endif // TMS_DTMF_BODY_IMPL_H
-
--- a/mmserv/tms/tmsimpl/inc/tmsinbandtonebodyimpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMS_INBAND_BODY_IMPL_H
-#define TMS_INBAND_BODY_IMPL_H
-
-#include <tms.h>
-#include "tmsinbandtonebody.h"
-#include "tmsclientserver.h"
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSInbandToneObserver;
-class TMSInbandTone;
-class TMSProxy;
-
-// TMSInbandBodyImpl class
-class TMSInbandToneBodyImpl : public TMSInbandToneBody
-    {
-public:
-    static gint Create(TMSInbandToneBody*& bodyimpl);
-    virtual ~TMSInbandToneBodyImpl();
-
-    // From TMSInbandToneBody begins
-    virtual gint AddObserver(TMSInbandToneObserver& obsrvr, gpointer user_data);
-    virtual gint RemoveObserver(TMSInbandToneObserver& obsrvr);
-    virtual gint Start(TMSInbandToneType inbandtone);
-    virtual gint Stop();
-
-    void SetParent(TMSInbandTone*& parent);
-
-private:
-    TMSInbandToneBodyImpl();
-    gint PostConstruct();
-
-private:
-    TMSInbandToneObserver* iObserver;
-    gint iClientId;
-    gpointer iUserData;
-    TMSProxy* iProxy;
-    TMSInbandTone* iParent;
-    TMSInbandToneType iInbandType;
-    };
-
-} //namespace TMS
-
-#endif // TMS_DTMF_BODY_IMPL_H
-
--- a/mmserv/tms/tmsimpl/inc/tmsringtonebodyimpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSRINGTONEBODYIMPL_H
-#define TMSRINGTONEBODYIMPL_H
-
-#include <w32std.h>
-#include <tms.h>
-#include "tmsringtonebody.h"
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSRingToneObserver;
-class TMSProxy;
-class TMSRingTone;
-
-// TMSRingToneBodyImpl class
-class TMSRingToneBodyImpl : public TMSRingToneBody
-    {
-public:
-    static gint Create(TMSRingToneBody*& bodyimpl);
-    static gint Create(TMSRingToneBody*& bodyimpl, RWindow& window, gint scrid);
-    virtual ~TMSRingToneBodyImpl();
-
-    // From TMSRingToneBody
-    virtual gint AddObserver(TMSRingToneObserver& obsrvr, gpointer user_data);
-    virtual gint RemoveObserver(TMSRingToneObserver& obsrvr);
-    virtual gint Init(const TMSRingToneType type, GString* str, GString* tts);
-    virtual gint Deinit();
-    virtual gint Play();
-    virtual gint Stop();
-    virtual gint Pause();
-    virtual gint Mute();
-
-    void SetParent(TMSRingTone*& parent);
-
-private:
-    TMSRingToneBodyImpl();
-    gint PostConstruct();
-
-private:
-    TMSRingToneObserver* iObserver;
-    gpointer iUserData;
-    TMSProxy* iProxy;
-    TMSRingTone* iParent;
-    guint iClientId;
-    gint iScreenID;
-    };
-
-} //namespace TMS
-
-#endif //TMSRINGTONEBODYIMPL_H
-
-// End of file
-
--- a/mmserv/tms/tmsimpl/inc/tmsstreambodyimpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsimpl/inc/tmsstreambodyimpl.h	Wed Sep 01 12:23:00 2010 +0100
@@ -66,9 +66,9 @@
     virtual TMSStreamState GetState();
     virtual TMSStreamType GetStreamType();
     virtual gint GetStreamId();
-    virtual gint Init(gint retrytime);
+    virtual gint Init();
     virtual gint Pause();
-    virtual gint Start(gint retrytime);
+    virtual gint Start();
     virtual gint Stop();
     virtual void Deinit();
 
@@ -118,3 +118,4 @@
 
 #endif // TMS_STREAM_BODY_IMPL_H
 
+// End of file
--- a/mmserv/tms/tmsimpl/src/tmscallimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsimpl/src/tmscallimpl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -36,10 +36,11 @@
 
 gint TMSCallImpl::PostConstruct(TMSCallType ctype, guint /*ctxid*/)
     {
-    TRACE_PRN_FN_ENT;
     gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
     TMSCallBody* tmscallimplbody(NULL);
 
+    TRACE_PRN_FN_ENT;
+
     switch (ctype)
         {
         case TMS_CALL_IP:
@@ -64,10 +65,10 @@
 EXPORT_C gint TMSCallImpl::Create(TMSCallType ctype, TMSCall*& tmscall,
         guint ctxid)
     {
-    TRACE_PRN_FN_ENT;
     gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
     TMSCallImpl *self = new TMSCallImpl();
 
+    TRACE_PRN_FN_ENT;
     if (self)
         {
         ret = self->PostConstruct(ctype, ctxid);
--- a/mmserv/tms/tmsimpl/src/tmscscallbodyimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsimpl/src/tmscscallbodyimpl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -66,6 +66,7 @@
     {
     gint ret(TMS_RESULT_SUCCESS);
     TRACE_PRN_FN_ENT;
+
     iSession = new TMSCallProxy();
 
     TRACE_PRN_FN_ENT;
@@ -105,7 +106,9 @@
 gint TMSCSCallBodyImpl::GetCallContextId(guint& ctxid)
     {
     gint ret(TMS_RESULT_FEATURE_NOT_SUPPORTED);
+    TRACE_PRN_FN_ENT;
     ctxid = 0;
+    TRACE_PRN_FN_EXT;
     return ret;
     }
 
@@ -135,18 +138,14 @@
                 }
             else
                 {
+                //TODO: delete call only if no active sessions left
                 if (iSession)
                     {
-                    //TODO: delete call only if no active sessions left
                     iSession->DeleteCall();
                     iSession->Close();
                     delete iSession;
                     iSession = NULL;
                     }
-                else
-                    {
-                    ret = TMS_RESULT_UNINITIALIZED_OBJECT;
-                    }
                 }
             break;
         default:
--- a/mmserv/tms/tmsimpl/src/tmsdtmfbodyimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include <tms.h>
-#include <tmsdtmfobsrvr.h>
-#include "tmsutility.h"
-#include "tmsproxy.h"
-#include "tmsdtmfbodyimpl.h"
-
-using namespace TMS;
-
-TMSDTMFBodyImpl::TMSDTMFBodyImpl() :
-    iObserver(NULL),
-    iProxy(NULL),
-    iParent(NULL),
-    iString(NULL)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_FN_EXT;
-    }
-
-TMSDTMFBodyImpl::~TMSDTMFBodyImpl()
-    {
-    TRACE_PRN_FN_ENT;
-    if (iProxy)
-        {
-        iProxy->Close();
-        }
-    delete iProxy;
-
-    if (iString)
-        {
-        g_string_free(iString, TRUE);
-        }
-    iObserver = NULL;
-    iParent = NULL;
-    iUserData = NULL;
-    TRACE_PRN_FN_EXT;
-    }
-
-gint TMSDTMFBodyImpl::Create(TMSStreamType streamtype, TMSDTMF& parent,
-        TMSDTMFBody*& bodyimpl)
-    {
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSDTMFBodyImpl* self = new TMSDTMFBodyImpl();
-    if (self)
-        {
-        ret = self->PostConstruct(streamtype, parent);
-        if (ret != TMS_RESULT_SUCCESS)
-            {
-            delete self;
-            self = NULL;
-            }
-        }
-    bodyimpl = self;
-    return ret;
-    }
-
-gint TMSDTMFBodyImpl::PostConstruct(TMSStreamType streamtype, TMSDTMF& parent)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    iClientId = 1;
-    iParent = &parent;
-    iStreamType = streamtype;
-    iProxy = new TMSProxy();
-    if (!iProxy)
-        {
-        ret = TMS_RESULT_INSUFFICIENT_MEMORY;
-        }
-    else
-        {
-        if (iProxy->Connect() == TMS_RESULT_SUCCESS)
-            {
-            ret = iProxy->InitDTMFPlayer(iStreamType);
-            }
-        else
-            {
-            delete iProxy;
-            iProxy = NULL;
-            ret = TMS_RESULT_FATAL_ERROR;
-            }
-        }
-    RET_REASON_IF_ERR(ret);
-    return ret;
-    }
-
-gint TMSDTMFBodyImpl::AddObserver(TMSDTMFObserver& obsrvr, gpointer user_data)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (!iObserver)
-        {
-        iObserver = &obsrvr;
-        iUserData = user_data;
-        if (iProxy)
-            {
-            ret = iProxy->SetMsgQueueNotifier(EMsgQueueDTMFType, iObserver,
-                    iParent, iClientId);
-            }
-        else
-            {
-            ret = TMS_RESULT_DOES_NOT_EXIST;
-            }
-        }
-    else
-        {
-        ret = TMS_RESULT_ALREADY_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSDTMFBodyImpl::RemoveObserver(TMSDTMFObserver& obsrvr)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy && (&obsrvr == iObserver))
-        {
-        ret = iProxy->RemoveMsgQueueNotifier(EMsgQueueDTMFType, iObserver);
-        iObserver = NULL;
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSDTMFBodyImpl::Start()
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy && iString)
-        {
-        if (iString->len)
-            {
-            ret = iProxy->StartDTMF(iStreamType, iString);
-            }
-        else
-            {
-            ret = TMS_RESULT_INVALID_ARGUMENT;
-            }
-        }
-    else
-        {
-        ret = TMS_RESULT_UNINITIALIZED_OBJECT;
-        }
-    return ret;
-    }
-
-gint TMSDTMFBodyImpl::Stop()
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy)
-        {
-        ret = iProxy->StopDTMF(iStreamType);
-        }
-    else
-        {
-        ret = TMS_RESULT_UNINITIALIZED_OBJECT;
-        }
-    return ret;
-    }
-
-gint TMSDTMFBodyImpl::SetTone(GString* string)
-    {
-    __ASSERT_ALWAYS(string, PANIC(TMS_RESULT_NULL_ARGUMENT));
-
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iString)
-        {
-        if (iString->len)
-            {
-            g_string_free(iString, TRUE);
-            }
-        }
-
-    iString = g_string_new_len(string->str, string->len);
-    return ret;
-    }
-
-gint TMSDTMFBodyImpl::ContinueDTMFStringSending(gboolean sending)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy)
-        {
-        ret = iProxy->ContinueDTMFStringSending(sending);
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
--- a/mmserv/tms/tmsimpl/src/tmsdtmfimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include "tmsutility.h"
-#include "tmsdtmfbodyimpl.h"
-#include "tmsdtmfimpl.h"
-
-using namespace TMS;
-
-TMSDTMFImpl::TMSDTMFImpl()
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_FN_EXT;
-    }
-
-TMSDTMFImpl::~TMSDTMFImpl()
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_FN_EXT;
-    }
-
-gint TMSDTMFImpl::PostConstruct(TMSStreamType streamtype)
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSDTMFBody* bodyimpl(NULL);
-    ret = TMSDTMFBodyImpl::Create(streamtype, *this, bodyimpl);
-
-    if (ret == TMS_RESULT_SUCCESS)
-        {
-        this->iBody = bodyimpl;
-        }
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-EXPORT_C gint TMSDTMFImpl::Create(TMSStreamType streamtype, TMSDTMF*& dtmf)
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSDTMFImpl *self = new TMSDTMFImpl();
-
-    if (self)
-        {
-        ret = self->PostConstruct(streamtype);
-        if (ret != TMS_RESULT_SUCCESS)
-            {
-            delete self;
-            self = NULL;
-            }
-        }
-
-    dtmf = self;
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-EXPORT_C gint TMSDTMFImpl::Delete(TMSDTMF*& dtmf)
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret(TMS_RESULT_SUCCESS);
-    delete (static_cast<TMSDTMFImpl*> (dtmf));
-    dtmf = NULL;
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
--- a/mmserv/tms/tmsimpl/src/tmseffectimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsimpl/src/tmseffectimpl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -61,19 +61,19 @@
     switch (effecttype)
         {
         case TMS_EFFECT_VOLUME:
-            delete (static_cast<TMSVolumeEffectImpl*> (tmseffect));
+            delete (static_cast<TMSVolumeEffectImpl*>(tmseffect));
             tmseffect = NULL;
             break;
         case TMS_EFFECT_GAIN:
-            delete (static_cast<TMSGainEffectImpl*> (tmseffect));
+            delete (static_cast<TMSGainEffectImpl*>(tmseffect));
             tmseffect = NULL;
             break;
         case TMS_EFFECT_GLOBAL_VOL:
-            delete (static_cast<TMSGlobalVolEffectImpl*> (tmseffect));
+            delete (static_cast<TMSGlobalVolEffectImpl*>(tmseffect));
             tmseffect = NULL;
             break;
         case TMS_EFFECT_GLOBAL_GAIN:
-            delete (static_cast<TMSGlobalGainEffectImpl*> (tmseffect));
+            delete (static_cast<TMSGlobalGainEffectImpl*>(tmseffect));
             tmseffect = NULL;
             break;
         default:
--- a/mmserv/tms/tmsimpl/src/tmsg711impl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsimpl/src/tmsg711impl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -43,7 +43,7 @@
     if (ret == TMS_RESULT_SUCCESS)
         {
         this->iBody = bodyimpl;
-        this->iFormatBody = static_cast<TMSG711FormatBodyImpl*> (bodyimpl);
+        this->iFormatBody = static_cast<TMSG711FormatBodyImpl*>(bodyimpl);
         }
     TRACE_PRN_FN_EXT;
     return ret;
@@ -52,7 +52,7 @@
 gint TMSG711FormatImpl::Create(TMSFormat*& tmsformat)
     {
     gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSG711FormatImpl* self = new TMSG711FormatImpl();
+    TMSG711FormatImpl *self = new TMSG711FormatImpl();
 
     TRACE_PRN_FN_ENT;
     if (self)
@@ -75,7 +75,7 @@
     gint ret(TMS_RESULT_SUCCESS);
     if (this->iBody)
         {
-        static_cast<TMSG711FormatBodyImpl*> (this->iBody)->SetProxy(context,
+        static_cast<TMSG711FormatBodyImpl*>(this->iBody)->SetProxy(context,
                 queuehandler);
         }
     else
@@ -85,3 +85,4 @@
     return ret;
     }
 
+// End of file
--- a/mmserv/tms/tmsimpl/src/tmsinbandtonebodyimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include <tms.h>
-#include <tmsinbandtoneobsrvr.h>
-#include "tmsutility.h"
-#include "tmsproxy.h"
-#include "tmsinbandtonebodyimpl.h"
-
-using namespace TMS;
-
-TMSInbandToneBodyImpl::TMSInbandToneBodyImpl() :
-    iObserver(NULL),
-    iProxy(NULL),
-    iParent(NULL)
-    {
-    }
-
-TMSInbandToneBodyImpl::~TMSInbandToneBodyImpl()
-    {
-    if (iProxy)
-        {
-        iProxy->Close();
-        delete iProxy;
-        iProxy = NULL;
-        }
-    iObserver = NULL;
-    iParent = NULL;
-    iUserData = NULL;
-    }
-
-gint TMSInbandToneBodyImpl::Create(TMSInbandToneBody*& bodyimpl)
-    {
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSInbandToneBodyImpl* self = new TMSInbandToneBodyImpl();
-    if (self)
-        {
-        ret = self->PostConstruct();
-        if (ret != TMS_RESULT_SUCCESS)
-            {
-            delete self;
-            self = NULL;
-            }
-        }
-    bodyimpl = self;
-    return ret;
-    }
-
-gint TMSInbandToneBodyImpl::PostConstruct()
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    iClientId = 1;
-    iProxy = new TMSProxy();
-
-    if (!iProxy)
-        {
-        ret = TMS_RESULT_INSUFFICIENT_MEMORY;
-        }
-    RET_REASON_IF_ERR(ret);
-
-    if (iProxy->Connect() != TMS_RESULT_SUCCESS)
-        {
-        delete iProxy;
-        iProxy = NULL;
-        ret = TMS_RESULT_FATAL_ERROR;
-        }
-    RET_REASON_IF_ERR(ret);
-    return ret;
-    }
-
-gint TMSInbandToneBodyImpl::AddObserver(TMSInbandToneObserver& obsrvr,
-        gpointer user_data)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (!iObserver)
-        {
-        iObserver = &obsrvr;
-        iUserData = user_data;
-        if (iProxy)
-            {
-            ret = iProxy->SetMsgQueueNotifier(EMsgQueueInbandToneType,
-                    iObserver, iParent, iClientId);
-            if (ret == TMS_RESULT_SUCCESS)
-                {
-                //ret = iProxy->StartInbandToneNotifier(); //TODO: remove?
-                }
-            }
-        else
-            {
-            ret = TMS_RESULT_DOES_NOT_EXIST;
-            }
-        }
-    else
-        {
-        ret = TMS_RESULT_ALREADY_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSInbandToneBodyImpl::RemoveObserver(TMSInbandToneObserver& obsrvr)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy && (&obsrvr == iObserver))
-        {
-        ret = iProxy->RemoveMsgQueueNotifier(EMsgQueueInbandToneType,
-                iObserver);
-        iObserver = NULL;
-        //iProxy->CancelInbandToneNotifier(); //TODO: remove?
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSInbandToneBodyImpl::Start(TMSInbandToneType inbandtone)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-
-    if (iProxy)
-        {
-        ret = iProxy->StartInbandTone(inbandtone);
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSInbandToneBodyImpl::Stop()
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy)
-        {
-        ret = iProxy->StopInbandTone();
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
-void TMSInbandToneBodyImpl::SetParent(TMSInbandTone*& parent)
-    {
-    iParent = parent;
-    }
-
--- a/mmserv/tms/tmsimpl/src/tmsinbandtoneimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include "tmsutility.h"
-#include "tmsinbandtonebodyimpl.h"
-#include "tmsinbandtoneimpl.h"
-
-using namespace TMS;
-
-TMSInbandToneImpl::TMSInbandToneImpl()
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_FN_EXT;
-    }
-
-TMSInbandToneImpl::~TMSInbandToneImpl(void)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_FN_EXT;
-    }
-
-gint TMSInbandToneImpl::PostConstruct()
-    {
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSInbandToneBody* bodyimpl(NULL);
-    TRACE_PRN_FN_ENT;
-    ret = TMSInbandToneBodyImpl::Create(bodyimpl);
-
-    if (ret == TMS_RESULT_SUCCESS)
-        {
-        this->iBody = bodyimpl;
-        }
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-EXPORT_C gint TMSInbandToneImpl::Create(TMSInbandTone*& inbandtone)
-    {
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSInbandToneImpl *self = new TMSInbandToneImpl();
-
-    TRACE_PRN_FN_ENT;
-    if (self)
-        {
-        ret = self->PostConstruct();
-        if (ret != TMS_RESULT_SUCCESS)
-            {
-            delete self;
-            self = NULL;
-            }
-        }
-    if (self && ret == TMS_RESULT_SUCCESS)
-        {
-        inbandtone = self;
-        ret = self->SetParent(inbandtone);
-        }
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-EXPORT_C gint TMSInbandToneImpl::Delete(TMSInbandTone*& inbandtone)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    TRACE_PRN_FN_ENT;
-    delete (static_cast<TMSInbandToneImpl*>(inbandtone));
-    inbandtone = NULL;
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-gint TMSInbandToneImpl::SetParent(TMSInbandTone*& parent)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (this->iBody)
-        {
-        static_cast<TMSInbandToneBodyImpl*>(this->iBody)->SetParent(parent);
-        }
-    else
-        {
-        ret = TMS_RESULT_UNINITIALIZED_OBJECT;
-        }
-    return ret;
-    }
-
--- a/mmserv/tms/tmsimpl/src/tmsipcallbodyimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsimpl/src/tmsipcallbodyimpl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -68,38 +68,37 @@
     TRACE_PRN_FN_ENT;
     iSession = new TMSCallProxy();
 
-    TRACE_PRN_FN_ENT;
-    if (!iSession)
-        {
-        ret = TMS_RESULT_INSUFFICIENT_MEMORY;
-        }
-    RET_REASON_IF_ERR(ret);
-
-    if (iSession->Connect() != TMS_RESULT_SUCCESS)
+    if (iSession)
         {
-        delete iSession;
-        iSession = NULL;
-        ret = TMS_RESULT_FATAL_ERROR;
-        }
-    else
-        {
-        ret = iSession->CreateCall(TMS_CALL_IP);
-        if (ret != TMS_RESULT_SUCCESS && ret != TMS_RESULT_ALREADY_EXIST)
+        if (iSession->Connect() != TMS_RESULT_SUCCESS)
             {
-            iSession->Close();
             delete iSession;
             iSession = NULL;
             ret = TMS_RESULT_FATAL_ERROR;
             }
+        else
+            {
+            ret = iSession->CreateCall(TMS_CALL_IP);
+            if (ret != TMS_RESULT_SUCCESS && ret != TMS_RESULT_ALREADY_EXIST)
+                {
+                iSession->Close();
+                delete iSession;
+                ret = TMS_RESULT_FATAL_ERROR;
+                }
+            }
         }
-    RET_REASON_IF_ERR(ret);
+    else
+        {
+        ret = TMS_RESULT_INSUFFICIENT_MEMORY;
+        }
     TRACE_PRN_FN_EXT;
     return ret;
     }
 
 TMSCallType TMSIPCallBodyImpl::GetCallType()
     {
-    return TMS_CALL_IP;
+    TMSCallType ctype(TMS_CALL_IP);
+    return ctype;
     }
 
 gint TMSIPCallBodyImpl::GetCallContextId(guint& ctxid)
@@ -128,7 +127,7 @@
                 ret = AddStreamToList(strm);
                 }
             //TODO:Need longer term fix to not destory everything
-            //if more than one stream is trying to be created.
+            //if more the one stream is trying to be created.
             else if (ret == TMS_RESULT_ALREADY_EXIST)
                 {
                 break;
@@ -194,10 +193,9 @@
 
     if (itStrm)
         {
-        // Remove stream object from the vector. After removing, the iterator
-        // will point to the next item (if available); so, do NOT attempt
-        // deleting itStrm here! (Will result in KERN-EXEC)
         iStreamsVector.erase(itStrm); // Remove from array
+        // Don't delete itStrm as the iterator advanced to the next
+        // item on the list
         ret = TMSStreamImpl::Delete(strm);
         }
     TRACE_PRN_FN_EXT;
--- a/mmserv/tms/tmsimpl/src/tmsringtonebodyimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include <tms.h>
-#include <tmsringtoneobsrvr.h>
-#include "tmsutility.h"
-#include "tmsproxy.h"
-#include "tmsringtonebodyimpl.h"
-
-using namespace TMS;
-
-TMSRingToneBodyImpl::TMSRingToneBodyImpl() :
-    iObserver(NULL),
-    iProxy(NULL),
-    iParent(NULL)
-    {
-    }
-
-TMSRingToneBodyImpl::~TMSRingToneBodyImpl()
-    {
-    if (iProxy)
-        {
-        iProxy->Close();
-        }
-    delete iProxy;
-    iObserver = NULL;
-    iParent = NULL;
-    }
-
-gint TMSRingToneBodyImpl::Create(TMSRingToneBody*& bodyimpl)
-    {
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSRingToneBodyImpl* self = new TMSRingToneBodyImpl();
-    if (self)
-        {
-        ret = self->PostConstruct();
-        if (ret != TMS_RESULT_SUCCESS)
-            {
-            delete self;
-            self = NULL;
-            }
-        }
-    bodyimpl = self;
-    return ret;
-    }
-
-gint TMSRingToneBodyImpl::Create(TMSRingToneBody*& bodyimpl,
-        RWindow& /*window*/, gint /*scrid*/)
-    {
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSRingToneBodyImpl* self = new TMSRingToneBodyImpl();
-    if (self)
-        {
-        ret = self->PostConstruct();
-        if (ret != TMS_RESULT_SUCCESS)
-            {
-            delete self;
-            self = NULL;
-            }
-        }
-    bodyimpl = self;
-    return ret;
-    }
-
-gint TMSRingToneBodyImpl::PostConstruct()
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    iClientId = 1;
-    iProxy = new TMSProxy();
-    if (!iProxy)
-        {
-        ret = TMS_RESULT_INSUFFICIENT_MEMORY;
-        }
-    else
-        {
-        if (iProxy->Connect() != TMS_RESULT_SUCCESS)
-            {
-            delete iProxy;
-            iProxy = NULL;
-            ret = TMS_RESULT_FATAL_ERROR;
-            }
-        }
-    RET_REASON_IF_ERR(ret);
-    return ret;
-    }
-
-gint TMSRingToneBodyImpl::AddObserver(TMSRingToneObserver& obsrvr,
-        gpointer user_data)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (!iObserver)
-        {
-        iObserver = &obsrvr;
-        iUserData = user_data;
-        if (iProxy)
-            {
-            ret = iProxy->SetMsgQueueNotifier(EMsgQueueRingtoneType, iObserver,
-                    iParent, iClientId);
-            }
-        else
-            {
-            ret = TMS_RESULT_DOES_NOT_EXIST;
-            }
-        }
-    else
-        {
-        ret = TMS_RESULT_ALREADY_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSRingToneBodyImpl::RemoveObserver(TMSRingToneObserver& obsrvr)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy && (&obsrvr == iObserver))
-        {
-        ret = iProxy->RemoveMsgQueueNotifier(EMsgQueueRingtoneType, iObserver);
-        iObserver = NULL;
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSRingToneBodyImpl::Init(const TMSRingToneType type, GString* str,
-        GString* tts)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy)
-        {
-        ret = iProxy->InitRT(type, str, tts);
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSRingToneBodyImpl::Deinit()
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy)
-        {
-        ret = iProxy->DeinitRT();
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSRingToneBodyImpl::Play()
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy)
-        {
-        ret = iProxy->PlayRT();
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSRingToneBodyImpl::Stop()
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy)
-        {
-        ret = iProxy->StopRT();
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSRingToneBodyImpl::Pause()
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy)
-        {
-        ret = iProxy->PauseRT();
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
-gint TMSRingToneBodyImpl::Mute()
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (iProxy)
-        {
-        ret = iProxy->MuteRT();
-        }
-    else
-        {
-        ret = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return ret;
-    }
-
-void TMSRingToneBodyImpl::SetParent(TMSRingTone*& parent)
-    {
-    iParent = parent;
-    }
-
--- a/mmserv/tms/tmsimpl/src/tmsringtoneimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include "tmsutility.h"
-#include "tmsringtonebodyimpl.h"
-#include "tmsringtoneimpl.h"
-
-using namespace TMS;
-
-TMSRingToneImpl::TMSRingToneImpl()
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_FN_EXT;
-    }
-
-TMSRingToneImpl::~TMSRingToneImpl()
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_FN_EXT;
-    }
-
-gint TMSRingToneImpl::PostConstruct()
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSRingToneBody* bodyimpl(NULL);
-    ret = TMSRingToneBodyImpl::Create(bodyimpl);
-
-    if (ret == TMS_RESULT_SUCCESS)
-        {
-        this->iBody = bodyimpl;
-        }
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-gint TMSRingToneImpl::PostConstruct(RWindow& window, gint scrid)
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSRingToneBody* bodyimpl(NULL);
-    ret = TMSRingToneBodyImpl::Create(bodyimpl, window, scrid);
-
-    if (ret == TMS_RESULT_SUCCESS)
-        {
-        this->iBody = bodyimpl;
-        }
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-EXPORT_C gint TMSRingToneImpl::Create(TMSRingTone*& rt)
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSRingToneImpl *self = new TMSRingToneImpl();
-
-    TRACE_PRN_FN_ENT;
-    if (self)
-        {
-        ret = self->PostConstruct();
-        if (ret != TMS_RESULT_SUCCESS)
-            {
-            delete self;
-            self = NULL;
-            }
-        }
-    if (self && ret == TMS_RESULT_SUCCESS)
-        {
-        rt = self;
-        self->SetParent(rt);
-        }
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-EXPORT_C gint TMSRingToneImpl::Create(TMSRingTone*& rt, RWindow& window,
-        gint scrid)
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSRingToneImpl *self = new TMSRingToneImpl();
-    if (self)
-        {
-        ret = self->PostConstruct(window, scrid);
-        if (ret != TMS_RESULT_SUCCESS)
-            {
-            delete self;
-            self = NULL;
-            }
-        }
-    if (self && ret == TMS_RESULT_SUCCESS)
-        {
-        rt = self;
-        self->SetParent(rt);
-        }
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-EXPORT_C gint TMSRingToneImpl::Delete(TMSRingTone*& rt)
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret(TMS_RESULT_SUCCESS);
-    delete (static_cast<TMSRingToneImpl*>(rt));
-    rt = NULL;
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-gint TMSRingToneImpl::SetParent(TMSRingTone*& parent)
-    {
-    gint ret(TMS_RESULT_SUCCESS);
-    if (this->iBody)
-        {
-        static_cast<TMSRingToneBodyImpl*>(this->iBody)->SetParent(parent);
-        }
-    else
-        {
-        ret = TMS_RESULT_UNINITIALIZED_OBJECT;
-        }
-    return ret;
-    }
-
--- a/mmserv/tms/tmsimpl/src/tmsstreambodyimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsimpl/src/tmsstreambodyimpl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -49,13 +49,11 @@
     iFormat(NULL),
     iStreamState(TMS_STREAM_UNINITIALIZED)
     {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_FN_EXT;
+    //TMSStream::Construct(this);
     }
 
 TMSStreamBodyImpl::~TMSStreamBodyImpl()
     {
-    TRACE_PRN_FN_ENT;
     if (iMsgQHandler)
         {
         iMsgQHandler->Cancel();
@@ -73,7 +71,6 @@
         iContext.CallProxy->DeleteStream(iContext.CallType,
                 iContext.StreamType, iContext.StreamId);
         }
-    TRACE_PRN_FN_EXT;
     }
 
 gint TMSStreamBodyImpl::Create(TMSCallType callType, TMSStreamType stype,
@@ -337,7 +334,7 @@
     return iContext.StreamId;
     }
 
-gint TMSStreamBodyImpl::Init(gint retrytime)
+gint TMSStreamBodyImpl::Init()
     {
     gint ret(TMS_RESULT_SUCCESS);
 
@@ -358,8 +355,7 @@
     if (iContext.CallProxy)
         {
         ret = (iContext.CallProxy)->InitStream(iContext.CallType,
-                iContext.StreamType, iContext.StreamId, fmttype, &iMsgQueue,
-                retrytime);
+                iContext.StreamType, iContext.StreamId, fmttype, &iMsgQueue);
         }
     else
         {
@@ -493,13 +489,13 @@
     return ret;
     }
 
-gint TMSStreamBodyImpl::Start(gint retrytime)
+gint TMSStreamBodyImpl::Start()
     {
     gint ret(TMS_RESULT_SUCCESS);
     if (iContext.CallProxy)
         {
         ret = (iContext.CallProxy)->StartStream(iContext.CallType,
-                iContext.StreamType, iContext.StreamId, retrytime);
+                iContext.StreamType, iContext.StreamId);
         }
     else
         {
@@ -722,7 +718,7 @@
         void* user_data)
     {
     TMSSignalEvent event = {}; //all elements initialized to zeros
-    event.reason = TMSRESULT(aError);
+    event.reason = aError;
     event.user_data = user_data;
     iStreamState = aEventType;
 
@@ -737,14 +733,7 @@
             event.prev_state = iPrevState;
             if (iObserver)
                 {
-                if (aError != TMS_RESULT_SUCCESS)
-                    {
-                    event.type = TMS_EVENT_STREAM_STATE_CHANGE_ERROR;
-                    }
-                else
-                    {
-                    event.type = TMS_EVENT_STREAM_STATE_CHANGED;
-                    }
+                event.type = TMS_EVENT_STREAM_STATE_CHANGED;
                 iObserver->TMSStreamEvent(*iParent, event);
                 }
             break;
--- a/mmserv/tms/tmsimpl/src/tmsstreamimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsimpl/src/tmsstreamimpl.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -36,23 +36,21 @@
 gint TMSStreamImpl::PostConstruct(TMSCallType callType, TMSStreamType stype,
         TMSCallProxy* proxy)
     {
-    TRACE_PRN_FN_ENT;
     gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
-    TMSStreamBody* bodyimpl(NULL);
-    ret = TMSStreamBodyImpl::Create(callType, stype, proxy, *this, bodyimpl);
+    TMSStreamBody* tmsstreamimplbody(NULL);
+    ret = TMSStreamBodyImpl::Create(callType, stype, proxy, *this,
+            tmsstreamimplbody);
 
     if (ret == TMS_RESULT_SUCCESS)
         {
-        this->iBody = bodyimpl;
+        this->iBody = tmsstreamimplbody;
         }
-    TRACE_PRN_FN_EXT;
     return ret;
     }
 
 gint TMSStreamImpl::Create(TMSCallType callType, TMSStreamType stype,
         TMSCallProxy* proxy, TMSStream*& strm)
     {
-    TRACE_PRN_FN_ENT;
     gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
     TMSStreamImpl *self = new TMSStreamImpl();
 
@@ -66,7 +64,6 @@
             }
         }
     strm = self;
-    TRACE_PRN_FN_EXT;
     return ret;
     }
 
@@ -74,7 +71,7 @@
     {
     TRACE_PRN_FN_ENT;
     gint ret(TMS_RESULT_SUCCESS);
-    delete (static_cast<TMSStreamImpl*> (strm));
+    delete (static_cast<TMSStreamImpl*>(strm));
     strm = NULL;
     TRACE_PRN_FN_EXT;
     return ret;
--- a/mmserv/tms/tmsproxy/bwins/tmsproxy.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsproxy/bwins/tmsproxy.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,38 +1,26 @@
 EXPORTS
-	?RemoveMsgQueueNotifier@TMSProxy@TMS@@QAEHW4TMSMsgQueueNotifierType@2@PAX@Z @ 1 NONAME ; int TMS::TMSProxy::RemoveMsgQueueNotifier(enum TMS::TMSMsgQueueNotifierType, void *)
-	?GetMaxLevel@TMSProxy@TMS@@QAEHAAI@Z @ 2 NONAME ; int TMS::TMSProxy::GetMaxLevel(unsigned int &)
-	?GetSupportedDecoders@TMSProxy@TMS@@QAEHAAV?$RArray@K@@AAH@Z @ 3 NONAME ; int TMS::TMSProxy::GetSupportedDecoders(class RArray<unsigned long> &, int &)
-	?Connect@TMSProxy@TMS@@QAEHXZ @ 4 NONAME ; int TMS::TMSProxy::Connect(void)
-	?SetLevel@TMSProxy@TMS@@QAEHI@Z @ 5 NONAME ; int TMS::TMSProxy::SetLevel(unsigned int)
-	?InitRT@TMSProxy@TMS@@QAEHHPAU_GString@@0@Z @ 6 NONAME ; int TMS::TMSProxy::InitRT(int, struct _GString *, struct _GString *)
-	?GetGain@TMSProxy@TMS@@QAEHAAI@Z @ 7 NONAME ; int TMS::TMSProxy::GetGain(unsigned int &)
-	?PlayRT@TMSProxy@TMS@@QAEHXZ @ 8 NONAME ; int TMS::TMSProxy::PlayRT(void)
-	?StartInbandTone@TMSProxy@TMS@@QAEHH@Z @ 9 NONAME ; int TMS::TMSProxy::StartInbandTone(int)
-	?Version@TMSProxy@TMS@@QBE?AVTVersion@@XZ @ 10 NONAME ; class TVersion TMS::TMSProxy::Version(void) const
-	?GetTMSCallSessionHandle@TMSProxy@TMS@@QAEHXZ @ 11 NONAME ; int TMS::TMSProxy::GetTMSCallSessionHandle(void)
-	?StopRT@TMSProxy@TMS@@QAEHXZ @ 12 NONAME ; int TMS::TMSProxy::StopRT(void)
-	?GetSupportedEncoders@TMSProxy@TMS@@QAEHAAV?$RArray@K@@AAH@Z @ 13 NONAME ; int TMS::TMSProxy::GetSupportedEncoders(class RArray<unsigned long> &, int &)
-	?ContinueDTMFStringSending@TMSProxy@TMS@@QAEHH@Z @ 14 NONAME ; int TMS::TMSProxy::ContinueDTMFStringSending(int)
-	?StopInbandTone@TMSProxy@TMS@@QAEHXZ @ 15 NONAME ; int TMS::TMSProxy::StopInbandTone(void)
-	?GetOutput@TMSProxy@TMS@@QAEHAAH@Z @ 16 NONAME ; int TMS::TMSProxy::GetOutput(int &)
-	?MuteRT@TMSProxy@TMS@@QAEHXZ @ 17 NONAME ; int TMS::TMSProxy::MuteRT(void)
-	?StopDTMF@TMSProxy@TMS@@QAEHH@Z @ 18 NONAME ; int TMS::TMSProxy::StopDTMF(int)
-	??1TMSProxy@TMS@@UAE@XZ @ 19 NONAME ; TMS::TMSProxy::~TMSProxy(void)
-	?SetMsgQueueNotifier@TMSProxy@TMS@@QAEHW4TMSMsgQueueNotifierType@2@PAX1H@Z @ 20 NONAME ; int TMS::TMSProxy::SetMsgQueueNotifier(enum TMS::TMSMsgQueueNotifierType, void *, void *, int)
-	?GetAvailableOutputs@TMSProxy@TMS@@QAEHAAV?$vector@IV?$allocator@I@std@@@std@@@Z @ 21 NONAME ; int TMS::TMSProxy::GetAvailableOutputs(class std::vector<unsigned int, class std::allocator<unsigned int> > &)
-	?PauseRT@TMSProxy@TMS@@QAEHXZ @ 22 NONAME ; int TMS::TMSProxy::PauseRT(void)
-	?StartRoutingNotifier@TMSProxy@TMS@@QAEHXZ @ 23 NONAME ; int TMS::TMSProxy::StartRoutingNotifier(void)
-	?StartDTMF@TMSProxy@TMS@@QAEHHPAU_GString@@@Z @ 24 NONAME ; int TMS::TMSProxy::StartDTMF(int, struct _GString *)
-	?CancelRoutingNotifier@TMSProxy@TMS@@QAEHXZ @ 25 NONAME ; int TMS::TMSProxy::CancelRoutingNotifier(void)
-	?SetGain@TMSProxy@TMS@@QAEHI@Z @ 26 NONAME ; int TMS::TMSProxy::SetGain(unsigned int)
-	?GetLevel@TMSProxy@TMS@@QAEHAAI@Z @ 27 NONAME ; int TMS::TMSProxy::GetLevel(unsigned int &)
-	?GetPreviousOutput@TMSProxy@TMS@@QAEHAAH@Z @ 28 NONAME ; int TMS::TMSProxy::GetPreviousOutput(int &)
-	?Close@TMSProxy@TMS@@QAEXXZ @ 29 NONAME ; void TMS::TMSProxy::Close(void)
-	??0TMSProxy@TMS@@QAE@XZ @ 30 NONAME ; TMS::TMSProxy::TMSProxy(void)
-	?SetOutput@TMSProxy@TMS@@QAEHH@Z @ 31 NONAME ; int TMS::TMSProxy::SetOutput(int)
-	?InitDTMFPlayer@TMSProxy@TMS@@QAEHH@Z @ 32 NONAME ; int TMS::TMSProxy::InitDTMFPlayer(int)
-	?DeinitRT@TMSProxy@TMS@@QAEHXZ @ 33 NONAME ; int TMS::TMSProxy::DeinitRT(void)
-	?CancelGlobalEffectNotifier@TMSProxy@TMS@@QAEHXZ @ 34 NONAME ; int TMS::TMSProxy::CancelGlobalEffectNotifier(void)
-	?GetMaxGain@TMSProxy@TMS@@QAEHAAI@Z @ 35 NONAME ; int TMS::TMSProxy::GetMaxGain(unsigned int &)
-	?StartGlobalEffectNotifier@TMSProxy@TMS@@QAEHXZ @ 36 NONAME ; int TMS::TMSProxy::StartGlobalEffectNotifier(void)
+	?SetMsgQueueNotifier@TMSProxy@TMS@@QAEHW4TMSMsgQueueNotifierType@2@PAX1H@Z @ 1 NONAME ; int TMS::TMSProxy::SetMsgQueueNotifier(enum TMS::TMSMsgQueueNotifierType, void *, void *, int)
+	?RemoveMsgQueueNotifier@TMSProxy@TMS@@QAEHW4TMSMsgQueueNotifierType@2@PAX@Z @ 2 NONAME ; int TMS::TMSProxy::RemoveMsgQueueNotifier(enum TMS::TMSMsgQueueNotifierType, void *)
+	?GetMaxLevel@TMSProxy@TMS@@QAEHAAI@Z @ 3 NONAME ; int TMS::TMSProxy::GetMaxLevel(unsigned int &)
+	?StartRoutingNotifier@TMSProxy@TMS@@QAEHXZ @ 4 NONAME ; int TMS::TMSProxy::StartRoutingNotifier(void)
+	?GetAvailableOutputs@TMSProxy@TMS@@QAEHAAV?$vector@IV?$allocator@I@std@@@std@@@Z @ 5 NONAME ; int TMS::TMSProxy::GetAvailableOutputs(class std::vector<unsigned int, class std::allocator<unsigned int> > &)
+	?GetSupportedDecoders@TMSProxy@TMS@@QAEHAAV?$RArray@K@@AAH@Z @ 6 NONAME ; int TMS::TMSProxy::GetSupportedDecoders(class RArray<unsigned long> &, int &)
+	?Connect@TMSProxy@TMS@@QAEHXZ @ 7 NONAME ; int TMS::TMSProxy::Connect(void)
+	?SetLevel@TMSProxy@TMS@@QAEHI@Z @ 8 NONAME ; int TMS::TMSProxy::SetLevel(unsigned int)
+	?CancelRoutingNotifier@TMSProxy@TMS@@QAEHXZ @ 9 NONAME ; int TMS::TMSProxy::CancelRoutingNotifier(void)
+	?GetGain@TMSProxy@TMS@@QAEHAAI@Z @ 10 NONAME ; int TMS::TMSProxy::GetGain(unsigned int &)
+	?SetGain@TMSProxy@TMS@@QAEHI@Z @ 11 NONAME ; int TMS::TMSProxy::SetGain(unsigned int)
+	?GetLevel@TMSProxy@TMS@@QAEHAAI@Z @ 12 NONAME ; int TMS::TMSProxy::GetLevel(unsigned int &)
+	?GetPreviousOutput@TMSProxy@TMS@@QAEHAAH@Z @ 13 NONAME ; int TMS::TMSProxy::GetPreviousOutput(int &)
+	?Version@TMSProxy@TMS@@QBE?AVTVersion@@XZ @ 14 NONAME ; class TVersion TMS::TMSProxy::Version(void) const
+	?Close@TMSProxy@TMS@@QAEXXZ @ 15 NONAME ; void TMS::TMSProxy::Close(void)
+	?GetTMSCallSessionHandle@TMSProxy@TMS@@QAEHXZ @ 16 NONAME ; int TMS::TMSProxy::GetTMSCallSessionHandle(void)
+	??0TMSProxy@TMS@@QAE@XZ @ 17 NONAME ; TMS::TMSProxy::TMSProxy(void)
+	?GetSupportedEncoders@TMSProxy@TMS@@QAEHAAV?$RArray@K@@AAH@Z @ 18 NONAME ; int TMS::TMSProxy::GetSupportedEncoders(class RArray<unsigned long> &, int &)
+	?SetOutput@TMSProxy@TMS@@QAEHH@Z @ 19 NONAME ; int TMS::TMSProxy::SetOutput(int)
+	?CancelGlobalEffectNotifier@TMSProxy@TMS@@QAEHXZ @ 20 NONAME ; int TMS::TMSProxy::CancelGlobalEffectNotifier(void)
+	?GetMaxGain@TMSProxy@TMS@@QAEHAAI@Z @ 21 NONAME ; int TMS::TMSProxy::GetMaxGain(unsigned int &)
+	?StartGlobalEffectNotifier@TMSProxy@TMS@@QAEHXZ @ 22 NONAME ; int TMS::TMSProxy::StartGlobalEffectNotifier(void)
+	?GetOutput@TMSProxy@TMS@@QAEHAAH@Z @ 23 NONAME ; int TMS::TMSProxy::GetOutput(int &)
+	??1TMSProxy@TMS@@UAE@XZ @ 24 NONAME ; TMS::TMSProxy::~TMSProxy(void)
 
--- a/mmserv/tms/tmsproxy/eabi/tmsproxy.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsproxy/eabi/tmsproxy.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,43 +1,31 @@
 EXPORTS
 	_ZN3TMS8TMSProxy10GetMaxGainERj @ 1 NONAME
 	_ZN3TMS8TMSProxy11GetMaxLevelERj @ 2 NONAME
-	_ZN3TMS8TMSProxy14InitDTMFPlayerEi @ 3 NONAME
-	_ZN3TMS8TMSProxy14StopInbandToneEv @ 4 NONAME
-	_ZN3TMS8TMSProxy15StartInbandToneEi @ 5 NONAME
-	_ZN3TMS8TMSProxy17GetPreviousOutputERi @ 6 NONAME
-	_ZN3TMS8TMSProxy19GetAvailableOutputsERSt6vectorIjSaIjEE @ 7 NONAME
-	_ZN3TMS8TMSProxy19SetMsgQueueNotifierENS_23TMSMsgQueueNotifierTypeEPvS2_i @ 8 NONAME
-	_ZN3TMS8TMSProxy20GetSupportedDecodersER6RArrayImERi @ 9 NONAME
-	_ZN3TMS8TMSProxy20GetSupportedEncodersER6RArrayImERi @ 10 NONAME
-	_ZN3TMS8TMSProxy20StartRoutingNotifierEv @ 11 NONAME
-	_ZN3TMS8TMSProxy21CancelRoutingNotifierEv @ 12 NONAME
-	_ZN3TMS8TMSProxy22RemoveMsgQueueNotifierENS_23TMSMsgQueueNotifierTypeEPv @ 13 NONAME
-	_ZN3TMS8TMSProxy23GetTMSCallSessionHandleEv @ 14 NONAME
-	_ZN3TMS8TMSProxy25ContinueDTMFStringSendingEi @ 15 NONAME
-	_ZN3TMS8TMSProxy25StartGlobalEffectNotifierEv @ 16 NONAME
-	_ZN3TMS8TMSProxy26CancelGlobalEffectNotifierEv @ 17 NONAME
-	_ZN3TMS8TMSProxy5CloseEv @ 18 NONAME
-	_ZN3TMS8TMSProxy6InitRTEiP8_GStringS2_ @ 19 NONAME
-	_ZN3TMS8TMSProxy6MuteRTEv @ 20 NONAME
-	_ZN3TMS8TMSProxy6PlayRTEv @ 21 NONAME
-	_ZN3TMS8TMSProxy6StopRTEv @ 22 NONAME
-	_ZN3TMS8TMSProxy7ConnectEv @ 23 NONAME
-	_ZN3TMS8TMSProxy7GetGainERj @ 24 NONAME
-	_ZN3TMS8TMSProxy7PauseRTEv @ 25 NONAME
-	_ZN3TMS8TMSProxy7SetGainEj @ 26 NONAME
-	_ZN3TMS8TMSProxy8DeinitRTEv @ 27 NONAME
-	_ZN3TMS8TMSProxy8GetLevelERj @ 28 NONAME
-	_ZN3TMS8TMSProxy8SetLevelEj @ 29 NONAME
-	_ZN3TMS8TMSProxy8StopDTMFEi @ 30 NONAME
-	_ZN3TMS8TMSProxy9GetOutputERi @ 31 NONAME
-	_ZN3TMS8TMSProxy9SetOutputEi @ 32 NONAME
-	_ZN3TMS8TMSProxy9StartDTMFEiP8_GString @ 33 NONAME
-	_ZN3TMS8TMSProxyC1Ev @ 34 NONAME
-	_ZN3TMS8TMSProxyC2Ev @ 35 NONAME
-	_ZN3TMS8TMSProxyD0Ev @ 36 NONAME
-	_ZN3TMS8TMSProxyD1Ev @ 37 NONAME
-	_ZN3TMS8TMSProxyD2Ev @ 38 NONAME
-	_ZNK3TMS8TMSProxy7VersionEv @ 39 NONAME
-	_ZTIN3TMS8TMSProxyE @ 40 NONAME
-	_ZTVN3TMS8TMSProxyE @ 41 NONAME
+	_ZN3TMS8TMSProxy17GetPreviousOutputERi @ 3 NONAME
+	_ZN3TMS8TMSProxy19GetAvailableOutputsERSt6vectorIjSaIjEE @ 4 NONAME
+	_ZN3TMS8TMSProxy19SetMsgQueueNotifierENS_23TMSMsgQueueNotifierTypeEPvS2_i @ 5 NONAME
+	_ZN3TMS8TMSProxy20GetSupportedDecodersER6RArrayImERi @ 6 NONAME
+	_ZN3TMS8TMSProxy20GetSupportedEncodersER6RArrayImERi @ 7 NONAME
+	_ZN3TMS8TMSProxy20StartRoutingNotifierEv @ 8 NONAME
+	_ZN3TMS8TMSProxy21CancelRoutingNotifierEv @ 9 NONAME
+	_ZN3TMS8TMSProxy22RemoveMsgQueueNotifierENS_23TMSMsgQueueNotifierTypeEPv @ 10 NONAME
+	_ZN3TMS8TMSProxy23GetTMSCallSessionHandleEv @ 11 NONAME
+	_ZN3TMS8TMSProxy25StartGlobalEffectNotifierEv @ 12 NONAME
+	_ZN3TMS8TMSProxy26CancelGlobalEffectNotifierEv @ 13 NONAME
+	_ZN3TMS8TMSProxy5CloseEv @ 14 NONAME
+	_ZN3TMS8TMSProxy7ConnectEv @ 15 NONAME
+	_ZN3TMS8TMSProxy7GetGainERj @ 16 NONAME
+	_ZN3TMS8TMSProxy7SetGainEj @ 17 NONAME
+	_ZN3TMS8TMSProxy8GetLevelERj @ 18 NONAME
+	_ZN3TMS8TMSProxy8SetLevelEj @ 19 NONAME
+	_ZN3TMS8TMSProxy9GetOutputERi @ 20 NONAME
+	_ZN3TMS8TMSProxy9SetOutputEi @ 21 NONAME
+	_ZN3TMS8TMSProxyC1Ev @ 22 NONAME
+	_ZN3TMS8TMSProxyC2Ev @ 23 NONAME
+	_ZN3TMS8TMSProxyD0Ev @ 24 NONAME
+	_ZN3TMS8TMSProxyD1Ev @ 25 NONAME
+	_ZN3TMS8TMSProxyD2Ev @ 26 NONAME
+	_ZNK3TMS8TMSProxy7VersionEv @ 27 NONAME
+	_ZTIN3TMS8TMSProxyE @ 28 NONAME
+	_ZTVN3TMS8TMSProxyE @ 29 NONAME
 
--- a/mmserv/tms/tmsproxy/src/tmsproxy.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsproxy/src/tmsproxy.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -16,13 +16,9 @@
  */
 
 #include <s32mem.h>
-#include <gstring.h>
 #include <AudioPreference.h>
 #include <tmseffectobsrvr.h>
 #include <tmsglobalroutingobsrvr.h>
-#include <tmsringtoneobsrvr.h>
-#include <tmsdtmfobsrvr.h>
-#include <tmsinbandtoneobsrvr.h>
 #include "tmsutility.h"
 #include "tmsclientserver.h"
 #include "tmsproxy.h"
@@ -30,12 +26,11 @@
 using namespace TMS;
 
 // CONSTANTS
-const guint KTMSServerConnectRetries = 2;
-const guint KSessionMessageSlots = 10;
-const guint KUTF8Multiply = 2;
+const TUint KTMSServerConnectRetries = 2;
+const TUint KSessionMessageSlots = 10;
 
 // -----------------------------------------------------------------------------
-// TMSProxy::StartServer
+// StartServer
 //
 // Function that will launch TMS server executable in it its own process.
 // Start the server process/thread, which lives in an EPOCEXE object.
@@ -119,13 +114,14 @@
     {
     TRACE_PRN_FN_ENT;
 
-    guint retry = KTMSServerConnectRetries;
+    gint retry = KTMSServerConnectRetries;
     gint err(TMS_RESULT_GENERAL_ERROR);
+    gint numMessageSlots = KSessionMessageSlots;
 
     for (;;)
         {
         // Try to create a new session with the server
-        err = CreateSession(KTMSServerName, Version(), KSessionMessageSlots);
+        err = CreateSession(KTMSServerName, Version(), numMessageSlots);
 
         if ((err != KErrNotFound) && (err != KErrServerTerminated))
             {
@@ -182,8 +178,9 @@
 
 EXPORT_C gint TMSProxy::GetTMSCallSessionHandle()
     {
-    gint handle = SendReceive(ETMSCallSessionHandle);
-    return handle;
+    gint err(TMS_RESULT_SUCCESS);
+    err = SendReceive(ETMSCallSessionHandle);
+    return TMSRESULT(err);
     }
 
 EXPORT_C gint TMSProxy::GetSupportedDecoders(RArray<TUint32>& aDecoders,
@@ -400,215 +397,6 @@
     return TMSRESULT(status);
     }
 
-EXPORT_C gint TMSProxy::InitRT(const TMSRingToneType type, GString* str,
-        GString* tts)
-    {
-    TRACE_PRN_FN_ENT;
-    gint status(TMS_RESULT_INVALID_ARGUMENT);
-    TIpcArgs args;
-    HBufC* ttsBuf(NULL);
-
-    if (tts)
-        {
-        // Convert buffer from UTF-8 to unicode (16-bit)
-        // Note: UTF-8 strings can take up to 4 bytes per character
-        guint unilen = tts->len / KUTF8Multiply;
-        TRAP(status, ttsBuf = HBufC::NewL(unilen));
-        if (status == KErrNone)
-            {
-            TPtr p = ttsBuf->Des();
-            p.Copy((TUint16*) tts->str, unilen);
-            args.Set(1, &p);
-            }
-        }
-
-    switch (type)
-        {
-        case TMS_RINGTONE_DEFAULT:
-            {
-            status = RSessionBase::SendReceive(ETMSRingToneInitDefault, args);
-            break;
-            }
-        case TMS_RINGTONE_FILE:
-            {
-            if (str)
-                {
-                HBufC* buf(NULL);
-                // Convert buffer from UTF-8 to unicode (16-bit)
-                // Note: UTF-8 strings can take up to 4 bytes per character
-                guint unilen = str->len / KUTF8Multiply;
-
-                TRAP(status, buf = HBufC::NewL(unilen));
-                if (buf && status == KErrNone)
-                    {
-                    TPtr p = buf->Des();
-                    p.Copy((TUint16*) str->str, unilen);
-                    TIpcArgs args;
-                    args.Set(0, &p);
-                    status = RSessionBase::SendReceive(ETMSRingToneInitFile,
-                            args);
-                    }
-                delete buf;
-                buf = NULL;
-                }
-            break;
-            }
-        case TMS_RINGTONE_BEEP_ONCE:
-            {
-            status = RSessionBase::SendReceive(ETMSRingToneInitBeepOnce);
-            break;
-            }
-        case TMS_RINGTONE_SILENT:
-            {
-            status = RSessionBase::SendReceive(ETMSRingToneInitSilent);
-            break;
-            }
-        case TMS_RINGTONE_UNSECURE_VOIP:
-            {
-            status = RSessionBase::SendReceive(ETMSRingToneInitUnsecureVoIP);
-            break;
-            }
-        case TMS_RINGTONE_SEQUENCE:
-            {
-            if (str)
-                {
-                HBufC8* buf(NULL);
-                gint len = str->len;
-                TRAP(status, buf = HBufC8::NewL(len));
-                if (buf && status == KErrNone)
-                    {
-                    TPtr8 p = buf->Des();
-                    p.Copy((TUint8*) str->str, len);
-                    TIpcArgs args;
-                    args.Set(0, &p);
-                    status = RSessionBase::SendReceive(
-                            ETMSRingToneInitSequence, args);
-                    }
-                delete buf;
-                buf = NULL;
-                }
-            break;
-            }
-        default:
-            break;
-        }
-
-    delete ttsBuf;
-    ttsBuf = NULL;
-
-    TRACE_PRN_FN_EXT;
-    return TMSRESULT(status);
-    }
-
-EXPORT_C gint TMSProxy::DeinitRT()
-    {
-    gint status(TMS_RESULT_SUCCESS);
-    status = RSessionBase::SendReceive(ETMSRingToneDeinit);
-    return TMSRESULT(status);
-    }
-
-EXPORT_C gint TMSProxy::PlayRT()
-    {
-    gint status(TMS_RESULT_SUCCESS);
-    status = RSessionBase::SendReceive(ETMSRingTonePlay);
-    return TMSRESULT(status);
-    }
-
-EXPORT_C gint TMSProxy::StopRT()
-    {
-    gint status(TMS_RESULT_SUCCESS);
-    status = RSessionBase::SendReceive(ETMSRingToneStop);
-    return TMSRESULT(status);
-    }
-
-EXPORT_C gint TMSProxy::PauseRT()
-    {
-    gint status(TMS_RESULT_SUCCESS);
-    status = RSessionBase::SendReceive(ETMSRingTonePause);
-    return TMSRESULT(status);
-    }
-
-EXPORT_C gint TMSProxy::MuteRT()
-    {
-    gint status(TMS_RESULT_SUCCESS);
-    status = RSessionBase::SendReceive(ETMSRingToneMute);
-    return TMSRESULT(status);
-    }
-
-EXPORT_C gint TMSProxy::InitDTMFPlayer(TMSStreamType streamtype)
-    {
-    gint status(TMS_RESULT_SUCCESS);
-    TIpcArgs args;
-    args.Set(0, streamtype);
-    status = RSessionBase::SendReceive(ETMSInitDTMF, args);
-    return TMSRESULT(status);
-    }
-
-EXPORT_C gint TMSProxy::StartDTMF(TMSStreamType streamtype, GString* tone)
-    {
-    TRACE_PRN_FN_ENT;
-    __ASSERT_ALWAYS(tone, PANIC(TMS_RESULT_NULL_ARGUMENT));
-
-    gint status(TMS_RESULT_SUCCESS);
-    HBufC* buf(NULL);
-    TRAP(status, buf = HBufC::NewL(tone->len));
-    if (status == KErrNone)
-        {
-        TPtr p1 = buf->Des();
-        TPtr8 p2((TUint8*) tone->str, tone->len, tone->len);
-        p1.Copy(p2);
-
-        TRACE_PRN_N(p1);
-
-        TIpcArgs args;
-        args.Set(0, streamtype);
-        args.Set(1, &p1);
-        status = RSessionBase::SendReceive(ETMSStartDTMF, args);
-        }
-    delete buf;
-    buf = NULL;
-    TRACE_PRN_FN_EXT;
-    return TMSRESULT(status);
-    }
-
-EXPORT_C gint TMSProxy::StopDTMF(TMSStreamType streamtype)
-    {
-    TRACE_PRN_FN_ENT;
-    gint status(TMS_RESULT_SUCCESS);
-    status = RSessionBase::SendReceive(ETMSStopDTMF, TIpcArgs(streamtype));
-    TRACE_PRN_FN_EXT;
-    return TMSRESULT(status);
-    }
-
-EXPORT_C gint TMSProxy::ContinueDTMFStringSending(gboolean continuesending)
-    {
-    TRACE_PRN_FN_ENT;
-    gint status(TMS_RESULT_SUCCESS);
-    status = RSessionBase::SendReceive(ETMSContinueDTMF,
-            TIpcArgs(continuesending));
-    TRACE_PRN_FN_EXT;
-    return TMSRESULT(status);
-    }
-
-EXPORT_C gint TMSProxy::StartInbandTone(TMSInbandToneType inbandtonetype)
-    {
-    TRACE_PRN_FN_ENT;
-    gint status(TMS_RESULT_SUCCESS);
-    status = RSessionBase::SendReceive(ETMSStartInbandTone,
-            TIpcArgs(inbandtonetype));
-    TRACE_PRN_FN_EXT;
-    return TMSRESULT(status);
-    }
-
-EXPORT_C gint TMSProxy::StopInbandTone()
-    {
-    TRACE_PRN_FN_ENT;
-    gint status(TMS_RESULT_SUCCESS);
-    status = RSessionBase::SendReceive(ETMSStopInbandTone);
-    TRACE_PRN_FN_EXT;
-    return TMSRESULT(status);
-    }
-
 EXPORT_C gint TMSProxy::StartGlobalEffectNotifier()
     {
     gint status(TMS_RESULT_SUCCESS);
@@ -658,20 +446,6 @@
                     *(static_cast<TMSGlobalRoutingObserver*>(obsrv)),
                     *(static_cast<TMSGlobalRouting*>(parent)), clientid);
             break;
-        case EMsgQueueRingtoneType:
-            status = AddRingToneObserver(
-                    *(static_cast<TMSRingToneObserver*>(obsrv)),
-                    *(static_cast<TMSRingTone*>(parent)), clientid);
-            break;
-        case EMsgQueueDTMFType:
-            status = AddDTMFObserver(*(static_cast<TMSDTMFObserver*>(obsrv)),
-                    *(static_cast<TMSDTMF*>(parent)), clientid);
-            break;
-        case EMsgQueueInbandToneType:
-            status = AddInbandToneObserver(
-                    *(static_cast<TMSInbandToneObserver*>(obsrv)),
-                    *(static_cast<TMSInbandTone*>(parent)), clientid);
-            break;
         default:
             status = TMS_RESULT_INVALID_ARGUMENT;
             break;
@@ -699,18 +473,6 @@
             status = RemoveRoutingObserver(
                     *(static_cast<TMSGlobalRoutingObserver*>(obsrv)));
             break;
-        case EMsgQueueRingtoneType:
-            status = RemoveRingToneObserver(
-                    *(static_cast<TMSRingToneObserver*>(obsrv)));
-            break;
-        case EMsgQueueDTMFType:
-            status = RemoveDTMFObserver(
-                    *(static_cast<TMSDTMFObserver*>(obsrv)));
-            break;
-        case EMsgQueueInbandToneType:
-            status = RemoveInbandToneObserver(
-                    *(static_cast<TMSInbandToneObserver*>(obsrv)));
-            break;
         default:
             status = TMS_RESULT_INVALID_ARGUMENT;
             break;
@@ -806,104 +568,6 @@
     return TMSRESULT(status);
     }
 
-gint TMSProxy::AddRingToneObserver(TMSRingToneObserver& obsrv,
-        TMSRingTone& parent, gint /*clientid*/)
-    {
-    gint status = iRingToneObsrvrList.Find(&obsrv);
-    if (status == KErrNotFound)
-        {
-        status = iRingToneObsrvrList.Append(&obsrv);
-        status = iRingToneParentList.Append(&parent);
-        }
-    else
-        {
-        status = TMS_RESULT_ALREADY_EXIST;
-        }
-    return TMSRESULT(status);
-    }
-
-gint TMSProxy::RemoveRingToneObserver(TMSRingToneObserver& obsrv)
-    {
-    gint status(TMS_RESULT_SUCCESS);
-    gint index = iRingToneObsrvrList.Find(&obsrv);
-    if (index >= 0)
-        {
-        iRingToneObsrvrList.Remove(index);
-        iRingToneParentList.Remove(index);
-        }
-    else
-        {
-        status = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return TMSRESULT(status);
-    }
-
-gint TMSProxy::AddDTMFObserver(TMSDTMFObserver& obsrv, TMSDTMF& parent,
-        gint /*clientid*/)
-    {
-    // Add to list if observer is not already added
-    gint status = iDTMFObsrvrList.Find(&obsrv);
-    if (status == KErrNotFound)
-        {
-        status = iDTMFObsrvrList.Append(&obsrv);
-        status = iDTMFParentList.Append(&parent);
-        }
-    else
-        {
-        status = TMS_RESULT_ALREADY_EXIST;
-        }
-    return TMSRESULT(status);
-    }
-
-gint TMSProxy::RemoveDTMFObserver(TMSDTMFObserver& obsrv)
-    {
-    gint status(TMS_RESULT_SUCCESS);
-    gint index = iDTMFObsrvrList.Find(&obsrv);
-    if (index >= 0)
-        {
-        iDTMFObsrvrList.Remove(index);
-        iDTMFParentList.Remove(index);
-        }
-    else
-        {
-        status = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return TMSRESULT(status);
-    }
-
-gint TMSProxy::AddInbandToneObserver(TMSInbandToneObserver& obsrv,
-        TMSInbandTone& parent, gint /*clientid*/)
-    {
-    // Add to list if observer is not already added
-    gint status = iInbandToneObsrvrList.Find(&obsrv);
-    if (status == KErrNotFound)
-        {
-        status = iInbandToneObsrvrList.Append(&obsrv);
-        status = iInbandToneParentList.Append(&parent);
-        }
-    else
-        {
-        status = TMS_RESULT_ALREADY_EXIST;
-        }
-    return TMSRESULT(status);
-    }
-
-gint TMSProxy::RemoveInbandToneObserver(TMSInbandToneObserver& obsrv)
-    {
-    gint status(TMS_RESULT_SUCCESS);
-    gint index = iInbandToneObsrvrList.Find(&obsrv);
-    if (index >= 0)
-        {
-        iInbandToneObsrvrList.Remove(index);
-        iInbandToneParentList.Remove(index);
-        }
-    else
-        {
-        status = TMS_RESULT_DOES_NOT_EXIST;
-        }
-    return TMSRESULT(status);
-    }
-
 // ---------------------------------------------------------------------------
 // TMSProxy::CreateQueue
 // ---------------------------------------------------------------------------
@@ -1002,36 +666,6 @@
                 }
             break;
             }
-        case TMS_EVENT_RINGTONE_OPEN_COMPLETE:
-        case TMS_EVENT_RINGTONE_PLAY_COMPLETE:
-        case TMS_EVENT_RINGTONE_DEINIT_COMPLETE:
-            {
-            for (gint i = 0; i < iRingToneObsrvrList.Count(); i++)
-                {
-                iRingToneObsrvrList[i]->RingtoneEvent(*iRingToneParentList[i],
-                        event);
-                }
-            break;
-            }
-        case TMS_EVENT_DTMF_TONE_STARTED:
-        case TMS_EVENT_DTMF_TONE_STOPPED:
-            {
-            for (gint i = 0; i < iDTMFObsrvrList.Count(); i++)
-                {
-                iDTMFObsrvrList[i]->DTMFEvent(*iDTMFParentList[i], event);
-                }
-            break;
-            }
-        case TMS_EVENT_INBAND_TONE_STARTED:
-        case TMS_EVENT_INBAND_TONE_STOPPED:
-            {
-            for (gint i = 0; i < iInbandToneObsrvrList.Count(); i++)
-                {
-                iInbandToneObsrvrList[i]->InbandToneEvent(
-                        *iInbandToneParentList[i], event);
-                }
-            break;
-            }
         default:
             break;
         }
@@ -1045,15 +679,9 @@
     {
     iEffectsObsrvrList.Reset();
     iRoutingObsrvrList.Reset();
-    iRingToneObsrvrList.Reset();
-    iDTMFObsrvrList.Reset();
-    iInbandToneObsrvrList.Reset();
 
     iEffectsParentList.Reset();
     iRoutingParentList.Reset();
-    iRingToneParentList.Reset();
-    iDTMFParentList.Reset();
-    iInbandToneParentList.Reset();
     }
 
 // End of file
--- a/mmserv/tms/tmsproxy/src/tmsqueuehandler.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsproxy/src/tmsqueuehandler.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -188,35 +188,6 @@
                 iObserver->QueueEvent(msgBuf.iInt, msgBuf.iStatus,
                         &msgBuf.iUint);
                 break;
-            case ECmdRingToneOpenComplete:
-                iObserver->QueueEvent(TMS_EVENT_RINGTONE_OPEN_COMPLETE,
-                        msgBuf.iStatus, NULL);
-                break;
-            case ECmdRingTonePlayComplete:
-                iObserver->QueueEvent(TMS_EVENT_RINGTONE_PLAY_COMPLETE,
-                        msgBuf.iStatus, NULL);
-                break;
-            case ECmdRingToneDeinitComplete:
-                iObserver->QueueEvent(TMS_EVENT_RINGTONE_DEINIT_COMPLETE,
-                        msgBuf.iStatus, NULL);
-                break;
-            case ECmdDTMFToneDnlPlayStarted:
-            case ECmdDTMFToneUplPlayStarted:
-                iObserver->QueueEvent(TMS_EVENT_DTMF_TONE_STARTED,
-                        msgBuf.iStatus, NULL);
-                break;
-            case ECmdDTMFTonePlayFinished:
-                iObserver->QueueEvent(TMS_EVENT_DTMF_TONE_STOPPED,
-                        msgBuf.iStatus, NULL);
-                break;
-            case ECmdInbandToneStarted:
-                iObserver->QueueEvent(TMS_EVENT_INBAND_TONE_STARTED,
-                        msgBuf.iStatus, NULL);
-                break;
-            case ECmdInbandToneStopped:
-                iObserver->QueueEvent(TMS_EVENT_INBAND_TONE_STOPPED,
-                        msgBuf.iStatus, NULL);
-                break;
             default:
                 break;
             }
--- a/mmserv/tms/tmsserver/group/tmsserver.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsserver/group/tmsserver.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -23,7 +23,7 @@
 UID             0 0x10207C7C
 EPOCSTACKSIZE   0x5000
 EPOCHEAPSIZE    0x500000 0x1000000
-CAPABILITY      ProtServ MultiMediaDD ReadDeviceData WriteDeviceData ReadUserData WriteUserData UserEnvironment NetworkServices
+CAPABILITY      ProtServ MultiMediaDD ReadDeviceData WriteDeviceData ReadUserData WriteUserData UserEnvironment
 VENDORID        VID_DEFAULT
 
 EPOCPROCESSPRIORITY high
@@ -37,17 +37,7 @@
 SOURCE          tmstareventhandler.cpp
 SOURCE          tmscenreplistener.cpp
 SOURCE          tmscenrepaudiohandler.cpp
-SOURCE          tmsaudiotoneutilityimpl.cpp
-SOURCE          tmsaudioinbandtoneplayer.cpp
 SOURCE          tmspubsublistener.cpp
-SOURCE          tmsrtcontainer.cpp
-SOURCE          tmsrtaudiohdlr.cpp
-SOURCE          tmsrtplayer.cpp
-SOURCE          tmsasyncreqao.cpp
-SOURCE          tmsdtmftoneplayer.cpp
-SOURCE          tmsdtmfprovider.cpp
-SOURCE          tmseteldtmfmonitor.cpp
-SOURCE          tmseteldtmfstopmonitor.cpp
 
 USERINCLUDE     ../inc
 USERINCLUDE     ../../inc
@@ -61,28 +51,15 @@
 SYSTEMINCLUDE   /epoc32/include/mmf/server
 SYSTEMINCLUDE   /epoc32/include/mmf/common
 
-LIBRARY         bafl.lib
 LIBRARY         ecom.lib
 LIBRARY         euser.lib
 LIBRARY         estor.lib
-LIBRARY         efsrv.lib
 LIBRARY         libglib.lib
 LIBRARY         mmfdevsound.lib
 LIBRARY         tmscallserver.lib
-LIBRARY         tmsutility.lib
 LIBRARY         centralrepository.lib
 LIBRARY         cenrepnotifhandler.lib
-LIBRARY         profileengine.lib
-LIBRARY         audiooutputrouting.lib
 LIBRARY         mediaclientaudio.lib
-LIBRARY         apgrfx.lib
-LIBRARY         apmime.lib
-LIBRARY         charconv.lib
-LIBRARY         caf.lib
-// Libraries for ETel
-LIBRARY         etelmm.lib
-LIBRARY         etel.lib
-LIBRARY         customapi.lib
 
 SMPSAFE
 
--- a/mmserv/tms/tmsserver/inc/tmsasyncreqao.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSASYNCREQAO_H
-#define TMSASYNCREQAO_H
-
-//INCLUDES
-#include <e32base.h>
-#include "tmsasyncreqobsrv.h"
-
-namespace TMS {
-
-// CLASS DECLARATION
-
-/**
- *  Active object handling asynchronous RingTone requests.
- */
-NONSHARABLE_CLASS(TMSAsyncReqAO) : public CActive
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     */
-    static TMSAsyncReqAO* NewL(TMSAsyncReqObsrv* aObserver);
-
-    /**
-     * Destructor.
-     */
-    virtual ~TMSAsyncReqAO();
-
-    /**
-     * Starts A/O.
-     */
-    void Start();
-
-protected:
-    // From CActive
-
-    /**
-     * Cancels asyncronous request(s).
-     */
-    void DoCancel();
-
-    /**
-     * Standard RunError() method
-     * @param
-     *      aError RunL leave code.
-     *
-     * @return KErrNone.
-     */
-    TInt RunError(TInt aError);
-
-    /**
-     * Standard RunL() method
-     */
-    void RunL();
-
-private:
-
-    /**
-     * C++ default constructor.
-     */
-    TMSAsyncReqAO(TMSAsyncReqObsrv* aObserver);
-
-private:
-    //Data
-
-    // Pointer to the observer
-    TMSAsyncReqObsrv* iObserver;
-    };
-
-} //namespace TMS
-
-#endif // TMSASYNCREQAO_H
-
-// End of File
--- a/mmserv/tms/tmsserver/inc/tmsasyncreqobsrv.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSASYNCREQOBSRV_H
-#define TMSASYNCREQOBSRV_H
-
-namespace TMS {
-
-// CLASS DECLARATION
-
-/**
- *  Virtual interface to active object handling asynchronous requests.
- */
-NONSHARABLE_CLASS(TMSAsyncReqObsrv)
-    {
-public:
-    /**
-     * Allows to gracefully handle error on leave during RunL operation.
-     */
-    virtual void HandleError(TInt aError) = 0;
-
-    /**
-     * Calls method handling asynchronous request.
-     */
-    virtual void HandleAsyncReq() = 0;
-    };
-
-} //namespace TMS
-
-#endif // TMSASYNCREQOBSRV_H
-
-//End of file
--- a/mmserv/tms/tmsserver/inc/tmsaudioinbandtoneplayer.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSAUDIOINBANDTONEPLAYER_H
-#define TMSAUDIOINBANDTONEPLAYER_H
-
-// INCLUDES
-#include <AudioPreference.h>
-#include <mdaaudiotoneplayer.h>
-#include <barsc.h>
-#include <barsread.h>
-#include <ccpdefs.h>
-#include <tms.h>
-
-namespace TMS {
-
-// CONSTANTS
-const gint KPhoneInbandToneZero = 0;
-
-// FORWARD DECLARATIONS
-class TMSAudioToneUtility;
-
-// CLASS DECLARATION
-
-/**
- *  This class is used to play inband tones using media server.
- *
- */
-class TMSAudioInbandTonePlayer : public MMdaAudioToneObserver
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Two-phased constructor.
-     */
-    static TMSAudioInbandTonePlayer* NewL();
-
-    /**
-     * Destructor.
-     */
-    virtual ~TMSAudioInbandTonePlayer();
-
-    /**
-     * Plays given tone. Originates from CCP plugin.
-     * @param aTone inband tone needed to play
-     */
-    void PlayInbandTone(TMSInbandToneType tone);
-
-    /**
-     * Cancels playing.
-     */
-    void Cancel();
-
-    /**
-     * Sets volume.
-     * @param    aVolume     Volume in 0...10 scale.
-     */
-    void SetVolume(gint volume);
-
-private:
-
-    /**
-     * C++ default constructor.
-     */
-    TMSAudioInbandTonePlayer();
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL();
-
-    /**
-     * Create inband tone sequences from resources.
-     */
-    void CreateToneSequencesL();
-
-    /**
-     * Playes current tone.
-     * @param None.
-     * @return None.
-     */
-    void PlayCurrentTone();
-
-    /**
-     * Configure tone player utility for current sequence playback.
-     */
-    void SetToneAttributes(const guint pref,
-            const guint priority = KAudioPriorityNetMsg,
-            const gint repeatTimes = KMdaAudioToneRepeatForever,
-            const gint trailSilence = KPhoneInbandToneZero);
-
-    /**
-     * Allocate tone sequence from resource.
-     */
-    void AllocSeqFromResourceL(const gint resource);
-
-    //From MMdaAudioToneObserver
-
-    /**
-     * Handles completion of preparation.
-     * @param aError Isn't used.
-     * @return None.
-     */
-    void MatoPrepareComplete(TInt aError);
-
-    //From MMdaAudioToneObserver
-    /**
-     * Handles completion of playing.
-     * @param aError Isn't used.
-     * @return None.
-     */
-    void MatoPlayComplete(TInt aError);
-
-    /**
-     * Calculates media server volume level.
-     * @param   aVolume     Volume level in 0...10 scale.
-     * @return  Volume level in media server scale.
-     */
-    gint CalculateMediaServerVolume(gint volume) const;
-
-    /**
-     * Updates tone player's volume to the current audio volume level.
-     */
-    void UpdateTonePlayerVolume();
-
-private:
-    // Data
-
-    // Currently playing, NULL or tone sequence.
-    TMSAudioToneUtility* iPlayer;
-    // Member variable for inband tone
-    TMSInbandToneType iToneName;
-    // Ringing type
-    // TProfileRingingType iRingingType;
-    // Handle to a file server session
-    RFs iFsSession;
-	// For reading sequence tones from resource file
-    TFileName iFileName;
-    RResourceFile iResourceFile;
-    TResourceReader iReader;
-    // Array of tone pointers
-    RPointerArray<HBufC8> iTones;
-    };
-
-} // namespace TMS
-
-#endif // TMSAUDIOINBANDTONEPLAYER_H
-
-// End of File
--- a/mmserv/tms/tmsserver/inc/tmsaudiotoneutility.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSAUDIOTONEUTILITY_H
-#define TMSAUDIOTONEUTILITY_H
-
-#include <mdaaudiotoneplayer.h>
-
-namespace TMS {
-
-/**
- *  Interface to wrap CMdaAudioToneUtility.
- *
- */
-class TMSAudioToneUtility
-    {
-public:
-
-    virtual ~TMSAudioToneUtility() {}
-
-    /**
-     * See CMdaAudioToneUtility::PrepareToPlayDesSequence.
-     */
-    virtual void PrepareToPlayDesSequence(const TDesC8& aSequence) = 0;
-
-    /**
-     * See CMdaAudioToneUtility::State.
-     */
-    virtual TMdaAudioToneUtilityState State() = 0;
-
-    /**
-     * See CMdaAudioToneUtility::CancelPlay.
-     */
-    virtual void CancelPlay() = 0;
-
-    /**
-     * See CMdaAudioToneUtility::MaxVolume.
-     */
-    virtual TInt MaxVolume() = 0;
-
-    /**
-     * See CMdaAudioToneUtility::SetVolume.
-     */
-    virtual void SetVolume(TInt aVolume) = 0;
-
-    /**
-     * See CMdaAudioToneUtility::SetRepeats.
-     */
-    virtual void SetRepeats(TInt aRepeatNumberOfTimes,
-            const TTimeIntervalMicroSeconds& aTrailingSilence) = 0;
-
-    /**
-     * See CMdaAudioToneUtility::SetPriority.
-     */
-    virtual void SetPriority(TInt aPriority, TMdaPriorityPreference aPref) = 0;
-
-    /**
-     * See CMdaAudioToneUtility::SetVolumeRamp.
-     */
-    virtual void SetVolumeRamp(
-            const TTimeIntervalMicroSeconds& aRampDuration) = 0;
-
-    /**
-     * See CMdaAudioToneUtility::Play.
-     */
-    virtual void Play() = 0;
-
-    /**
-     * See CMdaAudioToneUtility::CancelPrepare.
-     */
-    virtual void CancelPrepare() = 0;
-
-    };
-
-} //namespace TMS
-
-#endif // TMSAUDIOTONEUTILITY_H
--- a/mmserv/tms/tmsserver/inc/tmsaudiotoneutilityimpl.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSAUDIOTONEUTILITYIMPL_H
-#define TMSAUDIOTONEUTILITYIMPL_H
-
-#include <e32base.h>
-#include <mdaaudiotoneplayer.h>
-#include <glib.h>
-#include "tmsaudiotoneutility.h"
-
-namespace TMS {
-
-/**
- *  Wraps CMdaAudioToneUtility.
- *  To ease module testing.
- *
- *  @lib AudioHandling
- */
-class TMSAudioToneUtilityImpl : public TMSAudioToneUtility
-    {
-public:
-
-    static TMSAudioToneUtilityImpl* NewL(
-            MMdaAudioToneObserver& toneObserver);
-
-    /**
-     * Destructor.
-     */
-    virtual ~TMSAudioToneUtilityImpl();
-
-    // from base class TMSAudioToneUtilityImpl
-
-    /**
-     * From TMSAudioToneUtilityImpl
-     * @see CMdaAudioToneUtility
-     */
-    void PrepareToPlayDesSequence(const TDesC8& sequence);
-
-    /**
-     * From TMSAudioToneUtilityImpl
-     * @see CMdaAudioToneUtility
-     */
-    TMdaAudioToneUtilityState State();
-
-    /**
-     * From TMSAudioToneUtilityImpl
-     * @see CMdaAudioToneUtility
-     */
-    void CancelPlay();
-
-    /**
-     * From TMSAudioToneUtilityImpl
-     * @see CMdaAudioToneUtility
-     */
-    gint MaxVolume();
-
-    /**
-     * From TMSAudioToneUtilityImpl
-     * @see CMdaAudioToneUtility
-     */
-    void SetVolume(gint volume);
-
-    /**
-     * From TMSAudioToneUtilityImpl
-     * @see CMdaAudioToneUtility
-     */
-    void SetRepeats(gint repeatNumberOfTimes,
-            const TTimeIntervalMicroSeconds& trailingSilence);
-
-    /**
-     * From TMSAudioToneUtilityImpl
-     * @see CMdaAudioToneUtility
-     */
-    void SetPriority(gint priority, TMdaPriorityPreference pref);
-
-    /**
-     * From TMSAudioToneUtilityImpl
-     * @see CMdaAudioToneUtility
-     */
-    void SetVolumeRamp(const TTimeIntervalMicroSeconds& rampDuration);
-
-    /**
-     * From TMSAudioToneUtilityImpl
-     * @see CMdaAudioToneUtility
-     */
-    void Play();
-
-    /**
-     * From TMSAudioToneUtilityImpl
-     * @see CMdaAudioToneUtility
-     */
-    void CancelPrepare();
-
-private:
-
-    TMSAudioToneUtilityImpl();
-
-    void ConstructL(MMdaAudioToneObserver& toneObserver);
-
-private:
-    // data
-
-    /**
-     * Own.
-     * For playing tones.
-     */
-    CMdaAudioToneUtility* iToneUtility;
-    };
-} //namespace TMS
-
-#endif // TMSAUDIOTONEUTILITYIMPL_H
--- a/mmserv/tms/tmsserver/inc/tmscenrepaudiohandler.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsserver/inc/tmscenrepaudiohandler.h	Wed Sep 01 12:23:00 2010 +0100
@@ -35,6 +35,7 @@
                               public TMSCenRepObserver
     {
 public:
+    //Constructors and descructor
 
     /**
      * Two-phased constructing for the monitor.
@@ -73,6 +74,28 @@
     virtual void HandleNotifyCenRepL(const TUid aUid, const TUint32 aKey,
             TInt aVal);
 
+protected:
+    // From CActive
+    /**
+     * From CActive
+     * RunL
+     */
+    void RunL();
+
+    /**
+     * From CActive
+     * Catches errors if RunL leaves
+     * @param aError error code
+     * @return error code
+     */
+    TInt RunError(TInt aError);
+
+    /**
+     * From CActive
+     * Cancels the monitor
+     */
+    void DoCancel();
+
 private:
     /**
      * C++ default constructor
@@ -88,6 +111,7 @@
     void ConstructL();
 
 private:
+    // data
 
     /**
      * Mute listening from Publish&Subscribe.
@@ -114,7 +138,6 @@
      */
     TInt iCallCount;
     TMSServer* iTMSSer;
-    gboolean iPublish;
     };
 
 } //namespace TMS
--- a/mmserv/tms/tmsserver/inc/tmsdtmfobserver.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSDTMFOBSERVER_H
-#define TMSDTMFOBSERVER_H
-
-#include <e32base.h>
-
-namespace TMS {
-
-/**
- * CCP DTMF related events observer class.
- * This class is used for notifying DTMF specific events.
- */
-class TMSDTMFObserver
-    {
-public:
-
-    /** DTMF Events */
-    enum TCCPDtmfEvent
-        {
-        /** Unknown */
-        ECCPDtmfUnknown = 0,
-        /** DTMF sending started manually */
-        ECCPDtmfManualStart = 5,
-        /** DTMF sending stopped manually */
-        ECCPDtmfManualStop = 6,
-        /** DTMF sending aborted manually */
-        ECCPDtmfManualAbort = 7,
-        /** Automatic DTMF sending initialized */
-        ECCPDtmfSequenceStart = 9,
-        /** Automatic DTMF sending stopped */
-        ECCPDtmfSequenceStop = 10,
-        /** Automatic DTMF sending aborted */
-        ECCPDtmfSequenceAbort = 11,
-        /** There was stop mark in DTMF string */
-        ECCPDtmfStopInDtmfString,
-        /** DTMF sending completed succesfully */
-        ECCPDtmfStringSendingCompleted
-        };
-
-    //protected:
-    /**
-     * Protects the observer being deleted through the observer interface.
-     */
-    //virtual inline ~TMSDTMFObserver() {};
-
-public:
-
-    /**
-     * HandleDTMFEvents.
-     * @param event Event type
-     * @param status Error code
-     * @param tone Character
-     * @return none
-     */
-    virtual void HandleDTMFEvent(const TMSDTMFObserver::TCCPDtmfEvent event,
-            const gint status, const TChar tone) /*const*/ = 0;
-    };
-
-} //namespace TMS
-
-#endif // TMSDTMFOBSERVER_H
-
-// End of File
--- a/mmserv/tms/tmsserver/inc/tmsdtmfprovider.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSDTMFPROVIDER_H
-#define TMSDTMFPROVIDER_H
-
-#include <e32base.h>
-#include <etelmm.h>
-#include <glib.h>
-#include <rmmcustomapi.h>
-#include "tmsdtmfobserver.h"
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSEtelDtmfMonitor;
-class TMSEtelDtmfStopMonitor;
-
-/**
- * TMSDTMFProvider class
- * Makes asynchronic request to ETel interface according to given request type.
- * Provides canceling via CActive::Cancel().
- */
-class TMSDTMFProvider : public CActive
-    {
-public:
-
-    /**
-     * Two phased constructing of the DTMF provider instance.
-     * @param aPhone mobile phone handle
-     * @param aMmCustom custom API handle for special DTMF event
-     *        monitoring.
-     * @return the DTMF provider instance
-     */
-    static TMSDTMFProvider* NewL();
-
-    /**
-     * C++ default destructor
-     */
-    virtual ~TMSDTMFProvider();
-
-    /**
-     * HandleDTMFEvents.
-     * @param aEvent Event type
-     * @param aError Error code
-     * @param aTone Character
-     */
-    void NotifyDTMFEvent(const TMSDTMFObserver::TCCPDtmfEvent aEvent,
-            const gint aError, const TChar aTone);
-
-    // from base class MCCPDTMFProvider
-    /**
-     * Cancels asynchronous DTMF string sending.
-     * @return KErrNone if succesfull, otherwise another system wide error code
-     */
-    gint CancelDtmfStringSending();
-
-    /**
-     * Starts the transmission of a single DTMF tone across a
-     * connected and active call.
-     * @param aTone Tone to be played.
-     * @return KErrNone if succesfull, otherwise another system wide error code
-     */
-    gint StartDtmfTone(const TChar aTone);
-
-    /**
-     * Stops playing current DTMF tone.
-     * @return KErrNone if succesfull, otherwise another system wide error code
-     */
-    gint StopDtmfTone();
-
-    /**
-     * Plays DTMF string.
-     * @param aString String to be played.
-     * @return KErrNone if succesfull, otherwise another system wide error code
-     * KErrArgument if the specified string contains illegal DTMF characters
-     */
-    gint SendDtmfToneString(const TDesC& aString);
-
-    /**
-     * Continue or cancel sending DTMF string which was stopped with 'w'
-     * character in string.
-     * @param aContinue ETrue if sending of the DTMF string should continue,
-     * EFalse if the rest of the DTMF string is to be discarded.
-     * @return KErrNone if succesfull, otherwise another system wide error code
-     */
-    gint ContinueDtmfStringSending(const gboolean aContinue);
-
-    /**
-     * Add an observer for DTMF related events.
-     * Plug-in dependent feature if duplicates or more than one observers
-     * are allowed or not. Currently CCE will set only one observer.
-     * @param aObserver Observer
-     * @leave system error if observer adding fails
-     */
-    void AddObserver(const TMSDTMFObserver& aObserver);
-
-    /**
-     * Remove an observer.
-     * @param aObserver Observer
-     * @return KErrNone if removed succesfully. KErrNotFound if observer was
-     * not found. Any other system error depending on the error.
-     */
-    gint RemoveObserver(const TMSDTMFObserver& aObserver);
-
-    // from base class CActive
-protected:
-    /**
-     * From CActive
-     * RunL
-     */
-    void RunL();
-
-    /**
-     * From CActive
-     * Cancels the monitor
-     */
-    void DoCancel();
-
-private:
-    /**
-     * Constructs the requester.
-     *
-     * @param aPhone handle to ETel phone
-     * @param aMmCustom custom API handle
-     */
-    TMSDTMFProvider();
-
-    /**
-     * Constructing the provider in the second phase.
-     */
-    void ConstructL();
-
-private:
-    /**
-     * DTMF event observer.
-     */
-    RPointerArray<TMSDTMFObserver> iObservers;
-
-    /**
-     * ETel phone handle for DTMF functionality.
-     */
-    RMobilePhone iPhone;
-
-    /**
-     * Monitor for DTMF events and changes.
-     * Own.
-     */
-    TMSEtelDtmfMonitor* iMonitor;
-
-    /**
-     * Monitor for DTMF stopping.
-     * Own.
-     */
-    TMSEtelDtmfStopMonitor* iStopMonitor;
-
-    /**
-     * Custom API reference.
-     */
-    RMmCustomAPI iMmCustom;
-
-    RTelServer iServer;
-    TBuf<25> iTsyname;
-    };
-
-} //namespace TMS
-
-#endif //TMSDTMFPROVIDER_H
--- a/mmserv/tms/tmsserver/inc/tmsdtmftoneplayer.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSAUDIODTMFTONEPLAYER_H
-#define TMSAUDIODTMFTONEPLAYER_H
-
-// INCLUDES
-#include <glib.h>
-#include <sounddevice.h>
-#include "tmsdtmftoneplayerobserver.h"
-
-// FORWARD DECLARATIONS
-class CMMFDevSound;
-
-// CLASS DECLARATION
-
-/**
- *  Plays DTMF tones using media server
- */
-
-namespace TMS {
-
-class TMSAudioDtmfTonePlayer : public MDevSoundObserver
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Two-phased constructor.
-     */
-    static TMSAudioDtmfTonePlayer* NewL(TMSDTMFTonePlayerObserver& obsrvr,
-            guint audioPreference, guint audioPriority);
-
-    /**
-     * Destructor.
-     */
-    virtual ~TMSAudioDtmfTonePlayer();
-
-public:
-
-    /**
-     * Sets volume.
-     * @param aVolume volume value or KDtmfSilent.
-     * @return None.
-     */
-    void SetVolume(gint volume);
-
-    /**
-     * Starts playing given dtmf tone infinitely.
-     * @param aTone Tone to be played.
-     * @return None.
-     */
-    void PlayDtmfTone(TDes& tone);
-
-    /**
-     * Cancels playing.
-     * @param None.
-     * @return None.
-     */
-    void Cancel();
-
-public:
-    //From MDevSoundObserver
-    /**
-     * See MDevSoundObserver
-     */
-    void InitializeComplete(TInt aError);
-
-    /**
-     * See MDevSoundObserver
-     */
-    void ToneFinished(TInt aError);
-
-    /**
-     * See MDevSoundObserver
-     */
-    void BufferToBeFilled(CMMFBuffer* /*aBuffer*/) {}
-
-    /**
-     * See MDevSoundObserver
-     */
-    void PlayError(TInt /*aError*/) {}
-
-    /**
-     * See MDevSoundObserver
-     */
-    void BufferToBeEmptied(CMMFBuffer* /*aBuffer*/) {}
-
-    /**
-     * See MDevSoundObserver
-     */
-    void RecordError(TInt /*aError*/) {}
-
-    /**
-     * See MDevSoundObserver
-     */
-    void ConvertError(TInt /*aError*/) {}
-    /**
-     * See MDevSoundObserver
-     */
-    void DeviceMessage(TUid /*aMessageType*/, const TDesC8& /*aMsg*/) {}
-
-protected:
-
-    /**
-     * C++ default constructor.
-     */
-    TMSAudioDtmfTonePlayer(TMSDTMFTonePlayerObserver& obsrvr,
-            guint audioPreference, guint audioPriority);
-
-    void ConstructL();
-
-    /**
-     * Normalize tone.
-     * @param aTone dtmf tone.
-     * @return None.
-     */
-    void Normalize(TChar& tone);
-
-private:
-    //new functions
-
-    /**
-     * Converts the given value to the one that matches tha range used by
-     * CMMFDevSound. The CMMFDevSound uses valuess that can from 0 to the
-     * value returned by a call to CMMFDevSound::MaxVolume().
-     */
-    gint ConvertVolumeLevel(gint volume);
-
-protected:
-    // Data
-
-    // Current volume setting.
-    gint iVolume;
-
-    // DTMF player instance
-    CMMFDevSound* iDTMFPlayer;
-
-    TMSDTMFTonePlayerObserver& iObserver;
-    guint iPref;
-    guint iPrior;
-    };
-
-} //namespace TMS
-
-#endif // TMSAUDIODTMFTONEPLAYER_H
-
-// End of File
--- a/mmserv/tms/tmsserver/inc/tmsdtmftoneplayerobserver.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef DTMFTONEPLAYEROBSERVER_H
-#define DTMFTONEPLAYEROBSERVER_H
-
-#include <glib.h>
-
-namespace TMS {
-
-/**
- *  Observer interface for knowing when dtmf tone player has been initialized.
- */
-class TMSDTMFTonePlayerObserver
-    {
-public:
-    virtual void DTMFInitCompleted(gint status) = 0;
-    virtual void DTMFToneFinished(gint status) = 0;
-    };
-} //namespace TMS
-
-#endif // DTMFTONEPLAYEROBSERVER_H
-
--- a/mmserv/tms/tmsserver/inc/tmseteldtmfmonitor.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSETELDTMFMONITOR_H
-#define TMSETELDTMFMONITOR_H
-
-#include <e32base.h>
-#include <etelmm.h>
-#include <rmmcustomapi.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSCSPCall;
-class TMSDTMFProvider;
-
-/**
- * TMSEtelDtmfMonitor class
- *
- * Monitors ETel for DTMF events.
- *
- * This monitor is applied only for listening incoming calls, i.e.
- * line capabilites are not monitored.
- *
- * @lib csplugin.dll
- *
- */
-class TMSEtelDtmfMonitor : public CActive
-    {
-public:
-    /**
-     * Two-phased constructing for the monitor.
-     *
-     * @param aObserver the observer for getting notification
-     * @param aMmCustom Custom API handle
-     */
-    static TMSEtelDtmfMonitor* NewL(TMSDTMFProvider& aObserver,
-            RMmCustomAPI& aMmCustom);
-
-    /**
-     * C++ default destructor
-     */
-    virtual ~TMSEtelDtmfMonitor();
-
-    /**
-     * Start monitoring call events
-     */
-    void StartMonitoring();
-
-protected: // From CActive
-    /**
-     * From CActive
-     * RunL
-     */
-    void RunL();
-
-    /**
-     * From CActive
-     * Cancels the monitor
-     */
-    void DoCancel();
-
-private:
-    /**
-     * C++ default constructor
-     * @param aObserver the observer for status change (incoming call)
-     * @param aMmCustom Custom API handle
-     */
-    TMSEtelDtmfMonitor(TMSDTMFProvider& aObserver, RMmCustomAPI& aMmCustom);
-
-private:
-    /**
-     * Forwards events.
-     */
-    TMSDTMFProvider& iObserver;
-
-    /**
-     * Event data. Updated when event occurs.
-     */
-    RMmCustomAPI::TDtmfInfo iEventData;
-
-    /**
-     * Custom API reference.
-     */
-    RMmCustomAPI& iMmCustom;
-    };
-
-} //namespace TMS
-
-#endif // TMSETELDTMFMONITOR_H
-
--- a/mmserv/tms/tmsserver/inc/tmseteldtmfstopmonitor.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#ifndef TMSETELDTMFSTOPMONITOR_H
-#define TMSETELDTMFSTOPMONITOR_H
-
-#include <e32base.h>
-#include <etelmm.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSDTMFProvider;
-
-/**
- * TMSEtelDtmfStopMonitor class
- *
- * Monitors single ETel RMobilePhone for DTMF events.
- *
- * This monitor is applied only for listening incoming calls, i.e.
- * line capabilites are not monitored.
- *
- */
-class TMSEtelDtmfStopMonitor : public CActive
-    {
-public:
-    /**
-     * Two-phased constructing for the monitor.
-     *
-     * @param aObserver the observer for getting notification
-     * @param aPhone the line to monitor
-     */
-    static TMSEtelDtmfStopMonitor* NewL(TMSDTMFProvider& aObserver,
-            RMobilePhone& aPhone);
-
-    /**
-     * C++ default destructor
-     */
-    virtual ~TMSEtelDtmfStopMonitor();
-
-    /**
-     * Start monitoring call events
-     */
-    void StartMonitoring();
-
-protected: // From CActive
-    /**
-     * From CActive
-     * RunL
-     */
-    void RunL();
-
-    /**
-     * From CActive
-     * Cancels the monitor
-     */
-    void DoCancel();
-
-private:
-    /**
-     * C++ default constructor
-     * @param aObserver the observer for status change (incoming call)
-     * @param aPhone the line associated with the call
-     */
-    TMSEtelDtmfStopMonitor(TMSDTMFProvider& aObserver, RMobilePhone& aPhone);
-
-private:
-    /**
-     * Forwards events.
-     */
-    TMSDTMFProvider& iObserver;
-
-    /**
-     * Phone that is being observed for incoming call.
-     */
-    RMobilePhone& iPhone;
-
-    /**
-     * Event received.
-     */
-    RMobilePhone::TMobilePhoneDTMFEvent iEventData;
-
-    };
-
-} //namespace TMS
-
-#endif // TMSETELDTMFSTOPMONITOR_H
-
--- a/mmserv/tms/tmsserver/inc/tmsglobaleffectssettings.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsserver/inc/tmsglobaleffectssettings.h	Wed Sep 01 12:23:00 2010 +0100
@@ -90,12 +90,6 @@
      */
     TInt MaxGain() const;
 
-    /**
-     * Resets volume to default if level is 0 when new call starts.
-     * @return
-     */
-    void ResetDefaultVolume();
-
 private:
 
     /**
--- a/mmserv/tms/tmsserver/inc/tmsrtaudiohdlr.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:  Ring Tone Audio playback handler.
- *
- */
-
-#ifndef TMSRTAUDIOHDLR_H
-#define TMSRTAUDIOHDLR_H
-
-// INCLUDES
-
-#include <AudioOutput.h>
-//#include <c3dringingtoneinterface.h>
-#include <mdaaudiosampleplayer.h>
-#include <mdaaudiotoneplayer.h>
-
-namespace TMS {
-
-// CLASS DECLARATION
-class TMSRtAudioHdlrObsrv;
-class TMSRtContainer;
-
-/**
- *  RingTone audio handler.
- *  Handles audio for tone sequence and digital sample playback.
- */
-class TMSRtAudioHdlr : public CBase,
-                       public MMdaAudioPlayerCallback,
-                       public MMdaAudioToneObserver
-    {
-public:
-
-    enum TAudioPlayerStatus
-        {
-        EToneLoading,
-        EToneReady,
-        ETonePlaying
-        };
-
-    enum TRingingType
-        {
-        ETypeRinging,
-        ETypeRingingOnce,
-        ETypeAscending
-        };
-
-public:
-    /**
-     * Two-phased constructor.
-     * @param aRingingTone The ringing tone
-     * @param aPriority The priority for the playing
-     * @param aPreference The preference value
-     * @param aObserver Audio player observer
-     * @param aType The id of this audio player
-     * @param aExtSecNeeded ETrue if DRM extend security is needed
-     * @return The instance of the audio player.
-     */
-    static TMSRtAudioHdlr* NewL(const TMSRtContainer& aRingingTone,
-            TUint aPriority, TUint aPreference,
-            TMSRtAudioHdlrObsrv& aObserver, TInt aType = 0,
-            TBool aExtSecNeeded = EFalse);
-
-    /**
-     * Two-phased constructor.
-     * @param aFileName The ringing tone file name.
-     * @param aPriority The priority for the playing
-     * @param aPreference The preference value
-     * @param aObserver Audio player observer
-     * @param aType The id of this audio player
-     * @param aExtSecNeeded ETrue if DRM extend security is needed
-     * @return The instance of the audio player.
-     */
-    static TMSRtAudioHdlr* NewL(const TDesC& aFileName, TUint aPriority,
-            TUint aPreference, TMSRtAudioHdlrObsrv& aObserver,
-            TInt aType = 0, TBool aExtSecNeeded = EFalse);
-
-    /**
-     * Two-phased constructor, take audio from descriptor.
-     *
-     * @param aSequence sequence to be played.
-     * @param aPriority priority of tone.
-     * @param aPreference preference of tone.
-     * @param aObserver observer.
-     * @param aType identifier, used in observer interface calls.
-     * @return The instance of the audio player.
-     */
-    static TMSRtAudioHdlr* NewSeqL(const TDesC8& aSequence,
-            TUint aPriority, TUint aPreference,
-            TMSRtAudioHdlrObsrv& aObserver, TInt aType = 0);
-
-    /**
-     * Two-phased constructor, takes Text-To-Speech text to be played.
-     * @param aText Text to be pronounced.
-     * @param aPriority priority of tone.
-     * @param aPreference preference of tone.
-     * @param aObserver observer.
-     * @param aType identifier, used in observer interface calls.
-     * @return The instance of the audio player.
-     */
-    static TMSRtAudioHdlr* NewTtsL(const TDesC& aText, TUint aPriority,
-            TUint aPreference, TMSRtAudioHdlrObsrv& aObserver, TInt aType = 0);
-
-    /**
-     * Destructor.
-     */
-    ~TMSRtAudioHdlr();
-
-public:
-    // new function
-
-    /**
-     * Play the audio file or tone
-     * @param aRingingType
-     * @param aVolume take value from 1 to 10
-     * @param aTTsToBePlayed
-     */
-    void Play(TRingingType aRingType, TInt aVolume, TBool aTTsToBePlayed);
-
-    /**
-     * Stop current file playing
-     */
-    void StopPlaying();
-
-    /**
-     * Sets new volumes and ramptimes.
-     * @param aVolume -volume to be set
-     * @param aRamptime -ramptime to be set.
-     */
-    void SetNewVolumeAndRamptime(TInt aVolume, TInt aRamptime);
-
-    /**
-     * Re starts playing.
-     */
-    void ReStartPlaying();
-    /**
-     * Enable or disable TTs playing.
-     * @param aTTsToBePlayed
-     */
-    void SetTTsToBePlayed(const TBool aTTsToBePlayed);
-
-    /**
-     * Sets volume level to zero.
-     */
-    void MutePlaying();
-
-public:
-    /**
-     * from MMdaAudioPlayerCallback
-     */
-    virtual void MapcInitComplete(TInt aError,
-            const TTimeIntervalMicroSeconds& aDuration);
-
-    /**
-     * from MMdaAudioPlayerCallback
-     */
-    virtual void MapcPlayComplete(TInt aError);
-
-    /**
-     * from MMdaAudioToneObserver
-     */
-    virtual void MatoPrepareComplete(TInt aError);
-
-    /**
-     * from MMdaAudioToneObserver
-     */
-    virtual void MatoPlayComplete(TInt aError);
-
-private:
-
-    enum TAudioDataFormat
-        {
-        EFormatTone,
-        EFormatSample,
-        EFormatTts
-        };
-
-    /**
-     * C++ constructor.
-     */
-    TMSRtAudioHdlr(TAudioDataFormat aDataFormat,
-            TMSRtAudioHdlrObsrv& aObserver, TUint aPriority,
-            TUint aPreference, TInt aType);
-
-    /**
-     * Symbian OS constructor.
-     */
-    void ConstructL(const TDesC& aFileName);
-
-    /**
-     * Symbian OS constructor.
-     */
-    void ConstructSeqL(const TDesC8& aSequence);
-
-    /**
-     * Symbian OS constructor for the Text-To-Speech option
-     */
-    void ConstructTtsL(const TDesC& aTtsText, TUint aPriority,
-            TUint aPreference);
-
-    /**
-     * Do the playing stuff
-     */
-    void DoPlay();
-
-    /**
-     * Set ringing type properties
-     */
-    void SetRingingTypeProperties();
-
-    /**
-     * Call back function for timer
-     */
-    static TInt TimerCallBack(TAny* aAny);
-
-    /**
-     * Handle timer events
-     */
-    void HandleTimerEvent();
-
-    /*
-     * Convert volume to the scale used by hardware
-     * @param aVolume volume to be altered
-     * @return TInt   new volume
-     */
-    TInt ConvertVolume(TInt aVolume);
-
-private:
-    // Data
-
-    // The format of audio data, audio sample file or tone file
-    TAudioDataFormat iFormat;
-
-    // Observer for error handling
-    TMSRtAudioHdlrObsrv& iObserver;
-
-    // Priority. It's only used in playing tone file
-    const TInt iPriority;
-
-    // Preference. Only used for tone file
-    const TUint iPreference;
-
-    // Identifier number
-    TInt iRtType;
-
-    // Player for tone file.
-    CMdaAudioToneUtility* iTonePlayer;
-
-    // Player for audio file.
-    CMdaAudioPlayerUtility* iSamplePlayer;
-
-    // Player for the Text-To-Speech texts
-    CMdaAudioPlayerUtility* iTtsPlayer;
-
-    // The status of the player
-    TAudioPlayerStatus iPlayerStatus;
-
-    // How does the file played. It's only used if the player
-    // is playing the file
-    TRingingType iRingType;
-
-    // Volume
-    TInt iVolume;
-
-    // For ascending and descending used for set current volume
-    TInt iCurrentVolume;
-
-    // Used by sample player
-    TBool iToBePlaying;
-
-    // Store for sequence.
-    HBufC8* iSequence;
-
-    // Store for the TTS source string
-    HBufC8* iTtsText;
-
-    // 3D Audio ringing tone plugin
-    //C3DRingingToneInterface* i3DPlugin;
-
-    // Ringingtone output
-    //CAudioOutput* iAudioOutput;
-
-    // Flag to  indicate whether we need to play TTs or not
-    TBool iTTsToBePlayed;
-    };
-
-} //namespace TMS
-
-#endif //TMSRTAUDIOHDLR_H
-
-// End of File
--- a/mmserv/tms/tmsserver/inc/tmsrtaudiohdlrobsrv.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:  Observer interface for audio player.
- *
- */
-
-#ifndef TMSRTAUDIOHDLROBSRV_H
-#define TMSRTAUDIOHDLROBSRV_H
-
-// INCLUDES
-
-namespace TMS {
-
-// CLASS DECLARATION
-
-/**
- *  Observer interface for audio player.
- */
-class TMSRtAudioHdlrObsrv
-    {
-public:
-    /**
-     * This method is called when TMSRingTone event occurs.
-     *
-     * Notified events:
-     *  ECmdRingToneOpenComplete
-     *  ECmdRingTonePlayComplete
-     *
-     * @param  aEvent
-     *      Event descriptor.
-     * @param  aError
-     *      Operation status.
-     * @param  aPlayer
-     *      Indicates audio player that generated the event.
-     */
-    virtual void RtAudioHdlrEvent(TInt aEvent, TInt aError, TInt aPlayer) = 0;
-    };
-
-} // namespace TMS
-
-#endif // TMSRTAUDIOHDLROBSRV_H
-
-// End of File
--- a/mmserv/tms/tmsserver/inc/tmsrtcontainer.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:  Class representing ringing tone
- *
- */
-
-#ifndef TMSRTCONTAINER_H
-#define TMSRTCONTAINER_H
-
-//  INCLUDES
-#include <e32base.h>
-
-namespace TMS {
-
-// CLASS DECLARATION
-
-/**
- *  Ringtone wrapper for file name. In addtion, provides methods for ringtone
- *  type identification.
- */
-class TMSRtContainer : public CBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Two-phased constructor.
-     * @param aFileName Ringing tone file name with path.
-     * @param aDrmInPlayback ETrue to use IsFileDrmProtected().
-     */
-    static TMSRtContainer* NewL(const TDesC& aFileName,
-            TBool aDrmInPlayback = EFalse);
-
-    /**
-     * Destructor.
-     */
-    virtual ~TMSRtContainer();
-
-public:
-    /**
-     * Sets the file name including path.
-     * @param aFileName file name plus path.
-     */
-    void SetFileName(const TDesC& aFileName);
-
-    /**
-     * Returns file name including path.
-     * @return File name.
-     */
-    const TDesC& FileName() const;
-
-    /**
-     * Returns MIME type.
-     * @return MIME type.
-     */
-    const TDesC& MimeType() const;
-
-    /**
-     * Checks if video ringing tone.
-     * @return ETrue if video ringing tone.
-     */
-    TBool IsVideoRingingTone();
-
-    /**
-     * Checks if the file is a DCF file.
-     * @return ETrue if files is DRM protected.
-     */
-    TBool IsFileDrmProtected() const;
-
-    /**
-     * Checks if the file is in ROM.
-     */
-    TBool IsFileInRom() const;
-
-    /**
-     * Refresh MIME type. This must be called
-     * before using MimeType().
-     */
-    TInt RefreshMime();
-
-private:
-
-    /**
-     * Refresh MIME type.
-     */
-    void RefreshMimeL();
-
-    /**
-     * Checks if file is located in video directory.
-     */
-    TBool IsFileInVideoDirectory() const;
-
-private:
-
-    /**
-     * C++ default constructor.
-     */
-    TMSRtContainer(TBool aDrmInPlayback);
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL(const TDesC& aFileName);
-
-private:
-    // Data
-
-    // File name with path
-    HBufC* iFileName;
-
-    // MIME type
-    HBufC* iMimeType;
-
-    // Extended security
-    TBool iDrmInPlayback;
-    };
-
-} //namespace TMS {
-
-#endif // TMSRTCONTAINER_H
-
-// End of File
--- a/mmserv/tms/tmsserver/inc/tmsrtparam.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:
- *
- */
-
-#ifndef TMSRTPARAM_H
-#define TMSRTPARAM_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <Profile.hrh>
-
-namespace TMS {
-
-// Defines different types of RingTone player
-enum TRtPlayerType
-    {
-    EPlayerFirst,
-    EPlayerAudio = EPlayerFirst,
-    EPlayerBeepOnce,
-    EPlayerSilent,
-    EPlayerUnsecureVoIP,
-    EPlayerDefault,
-    EPlayerSequence,
-    EPlayerBackup,
-    EPlayerTts,
-    EPlayerLast = EPlayerTts,
-    EPlayerCount
-    };
-
-/**
- *  Structure holding ring tone configuration parameters.
- */
-struct TMSRtParam
-    {
-public:
-    TPtrC iTextToSay;
-    TRtPlayerType iType;
-    TUint iPriority;
-    TUint iPreference;
-    TInt iVolume;
-    TProfileRingingType iRingingType;
-    TBool iCallerText;
-    TBool iCallerImage;
-    };
-
-} //namespace TMS
-
-#endif // TMSRTPARAM_H
-
-// End of File
--- a/mmserv/tms/tmsserver/inc/tmsrtplayer.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,475 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:  Active object which implements ringing tone functionality
- *
- */
-
-#ifndef TMSRINGTONEPLAYER_H
-#define TMSRINGTONEPLAYER_H
-
-// INCLUDES
-#include <MProEngEngine.h>
-#include <MProEngProfile.h>
-#include "tmsrtaudiohdlrobsrv.h"
-#include "tmsrtplayerobsrv.h"
-#include "tmsrtaudiohdlr.h"
-#include "tmstimer.h"
-#include "tmsasyncreqao.h"
-#include "tmsrtparam.h"
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSRtAudioHdlr;
-class TMSTimer;
-class CMdaServer;
-class TMSRtContainer;
-class TMSRtParam;
-
-// CLASS DECLARATION
-
-/**
- * It implements ringing tone functionality.
- * Note that when issuing Play-command to audio side, ALWAYS set the tone type
- * before the Play() is called. This is to ensure that correct tone is tried to
- * be played.
- */
-class TMSRingTonePlayer : public CBase,
-                          public TMSRtAudioHdlrObsrv,
-                          public TMSTimerObserver,
-                          public TMSAsyncReqObsrv
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * @return new instance.
-     */
-    static TMSRingTonePlayer* NewL(TMSRtPlayerObsrv& aObserver);
-
-    /**
-     * Destructor.
-     */
-    ~TMSRingTonePlayer();
-
-    /**
-     * Construct default tone player.
-     */
-    void CreateDefaultRtPlayerL();
-
-    /**
-     * Do construct tone.
-     * @param aRtParam
-     * @param aFile
-     */
-    void CreateRingTonePlayerL(const TRtPlayerType aPlayer,
-            const TDesC& aFile = KNullDesC());
-
-    /**
-     * Construct audio player.
-     */
-    void CreateAudioPlayerL();
-
-    /**
-     * Construct sequence player.
-     * @param aPlayer
-     */
-    void CreateSequencePlayerL(const TRtPlayerType aPlayer);
-
-    /**
-     * Construct custom sequence players.
-     * @param aSequence
-     */
-    void CreateCustomSequencePlayerL(const TDesC8& aSequence);
-
-    /**
-     * Construct TTS player.
-     * @param aTextToSay
-     */
-    void CreateTTSPlayerL(const TDesC& aTextToSay);
-
-    /**
-     * Delete TTS player.
-     */
-    void RemoveTTSPlayer();
-
-    /**
-     * Play ring tone
-     */
-    void PlayRingToneL();
-
-    /**
-     * Play audio ring tone
-     */
-    void PlayAudioRingToneL();
-
-    /**
-     * Playing the Beep once.
-     */
-    void BeepOnceL();
-
-    /**
-     * Play silent tone. No_sound.wav will be played.
-     * If vibration alert is ON, phone will vibrate.
-     */
-    void PlaySilentToneL();
-
-    /**
-     * Play unsecure VoIP tone.
-     * Play tone if secure call fails and call is changed to unsecure call
-     */
-    void PlayUnsecureVoIPToneL();
-
-    /**
-    * Play custom sequence tone.
-    */
-    void PlaySequenceToneL();
-
-    /**
-     * Stops playing the ringing tone.
-     */
-    void StopPlaying();
-
-    /**
-     * Continues video and audio RT playback with volume 0
-     */
-    void MuteRingTone();
-
-    /**
-     * Deinitialize Ringtone player.
-     */
-    void DeinitRingTonePlayer();
-
-    /**
-     * Play default tone.
-     */
-    void PlayDefaultToneL();
-
-    /**
-     * Play TTS tone along with audio RT. Only supported with Default and
-     * custom sample tones. TTS does not start playing immediately.
-     * This method does not command phone to play TTS immediately but after
-     * pre-determined delay.
-     */
-    void PlayTtsTone();
-
-    /**
-     * Checks if extended security is required.
-     * @return ETrue if extended security is required.
-     */
-    TBool ExtendedSecurity() const;
-
-    /*
-     * Return RT player type
-     */
-    TRtPlayerType PlayerType() const;
-
-    /*
-     * From TMSAsyncReqObsrv
-     */
-    virtual void HandleError(TInt aError);
-    virtual void HandleAsyncReq();
-
-private:
-
-    /**
-     * Creates single beep tone player.
-     */
-    void CreateBeepOncePlayerL();
-
-    /**
-     * Creates silent tone player.
-     */
-    void CreateSilentPlayerL();
-
-    /**
-     * Creates unsecure voip tone player.
-     */
-    void CreateUnsecureVoipPlayerL();
-
-    /**
-     * Initializes ring tone configuration parameters.
-     */
-    void InitRtParams(TRtPlayerType aPlayerType);
-
-    /*
-     * from TMSRtAudioHdlrObsrv
-     */
-    void RtAudioHdlrEvent(TInt aEvent, TInt aError, TInt aPlayer);
-
-    /**
-     * Handle RT player error event.
-     */
-    void HandleRtAudioError(TInt aEvent, TInt aError, TInt aPlayer);
-
-    /**
-     * Handle RT player initialize complete event.
-     */
-    virtual void HandleRtAudioInitComplete(TInt aEvent, TInt aError,
-            TInt aPlayer);
-
-    /**
-     * Handle RT play complete event.
-     */
-    virtual void HandleRtAudioPlayComplete(TInt aEvent, TInt aError,
-            TInt aPlayer);
-
-    /**
-     * From TMSTimerObserver
-     */
-    virtual void TimerEvent();
-
-    /**
-     * Enumerates how many times TTS has played
-     * ESaidOnce
-     * ESaidTwice
-     */
-    enum TTtsStatus
-        {
-        ESaidOnce,
-        ESaidTwice
-        };
-
-    /**
-     * C++ default constructor.
-     */
-    TMSRingTonePlayer(TMSRtPlayerObsrv& aObserver);
-
-    /**
-     * Default Symbian OS constructor.
-     */
-    void ConstructL();
-
-    /**
-     * Play backup tone.
-     */
-    void PlayBackupToneL();
-
-    /**
-     * Handle audio player error.
-     * @param aDelete ETrue if deletion of the player allowed.
-     * @param aSync ETrue if synchronous deletion of players is allowed.
-     */
-    void DoHandlePlayerError(TBool aDelete, TBool aSync);
-
-    /**
-     * Convert ringing type from TProfileRingingType to local type.
-     * @param aRingingType ringing type form PhoneAppEngine.
-     * @return local ringing type mapping.
-     */
-    TMSRtAudioHdlr::TRingingType ConvertRingingType(
-            TProfileRingingType aRingingType);
-
-    /**
-     * Construct default ring tone container
-     */
-    void CreateDefaultRingToneL();
-
-    /**
-     * Load ring tone settings from curent Profile
-     */
-    void LoadActiveProfileSettingsL();
-
-    /**
-     * Load ring tone settings from curent Profile
-     */
-    void LoadProfileRingToneL();
-
-    /**
-     * Sets TTS volume ramp and schedules next TTS playback
-     */
-    void ResumeTTS();
-
-    /**
-     * Construct backup tone player.
-     */
-    void CreateBkpRtPlayerL();
-
-    /**
-     * Delete all players.
-     */
-    void RemovePlayers();
-
-    /**
-     * Delete single player based on index.
-     */
-    void DeletePlayer();
-
-    /**
-     * Deletes player asynchronoysly.
-     * @param aPlayer player to be deleted.
-     */
-    void DeletePlayerAsync(TRtPlayerType aPlayer);
-
-    /**
-     * Wrapper of DoHandleTtsDelayTimeout, that can be used as TCallback.
-     * Immediately passes control to DoHandleTtsDelayTimeout method.
-     * @param object Object to call DoHandleTtsDelayTimeout() on.
-     * @return status.
-     */
-    static TInt HandleTtsDelayTimeout(TAny* object);
-
-    /**
-     * It is called after TTS delay elapsed. Starts playing TTS.
-     */
-    void DoHandleTtsDelayTimeout();
-
-    /**
-     * Returns currently active player which is used with TTS player.
-     * @return pointer to active player.
-     */
-    TMSRtAudioHdlr* GetCurrentlyActiveAudioPlayerWithTTS();
-
-    /**
-     * Calculates new volume and ramptimes for Ascending TTS and normal TTS
-     * ringing.
-     * @param aStatus - TTS player status.
-     */
-    void SolveNewVolumeAndRamptime(TTtsStatus aStatus);
-
-    /**
-     * Restarts currently active ringingtone player.
-     */
-    void ReStartRingTonePlayer();
-
-    /**
-     * Checks if ring tone file size is within allowed limit. If size limit
-     * is exceeded, default tone is played instead.
-     * @param aRingingTone RT file to be checked.
-     * @return EFalse if the limit was exceeded.
-     *         ETrue  if tone file's size was valid.
-     */
-    TBool CheckAndHandleToneSizeLimit(TMSRtContainer* aRingingTone);
-
-    /**
-     * Checks if ring tone file size is larger than the allowed limit.
-     * @param aFile   File to check.
-     *        aSizeLimitKB  the size limit in kB.
-     * @return KErrNone          if the file can be used as a ring tone.
-     *         KErrTooBig        if the file size limit is exceeded.
-     *         Other error value if error happened during size checking.
-     */
-    TInt CheckToneFileSize(const TDesC& aFile, TInt aSizeLimitKB);
-
-    /**
-     * Reads from central repository the file size limit of following tones:
-     * - contact's personal ringing tone
-     * - voice call line1
-     * - voice call line2
-     * Value 0 means all sizes are allowed.
-     * @param aSizeLimitKB  the size limit in kB is read to this variable.
-     * @return leaves on error.
-     */
-    void GetMaxToneFileSizeL(TInt& aSizeLimitKB) const;
-
-    /**
-     * Returns currently active audio player.
-     * @return Currently active audio player or NULL if none is active.
-     */
-    TMSRtAudioHdlr* ActiveAudioPlayer();
-
-private:
-
-    TMSRtAudioHdlr* iAudioPlayer;
-    TMSRtAudioHdlr* iBeepOncePlayer;
-    TMSRtAudioHdlr* iSilentPlayer;
-    TMSRtAudioHdlr* iUnsecureVoIPTonePlayer;
-    TMSRtAudioHdlr* iDefaultPlayer;
-    TMSRtAudioHdlr* iSequencePlayer;
-    TMSRtAudioHdlr* iTtsPlayer;
-    TMSRtAudioHdlr* iBackupPlayer;
-
-    // Indicate which tone is playing
-    enum TTonePlayingStatus
-        {
-        EIdle,
-        EAudioTonePlaying,
-        EBeepOnce,
-        ESilentTonePlaying,
-        EUnsecureVoIPTonePlaying,
-        EDefaultTonePlaying,
-        EBackupTonePlaying,
-        EVideoTonePlaying,
-        ESilentVideoTonePlaying,
-        ESequenceTonePlaying,
-        EPersonalVideoTonePlaying
-        };
-
-    // Current playing status.
-    TTonePlayingStatus iTonePlayingStatus;
-
-    // True if TTS is currently playing. Different from iTonePlayingStatus,
-    // because TTS is played in parallel with the other tone types.
-    TBool iTtsTonePlaying;
-
-    // Zero -based index of the TTS delay that is "executed" currently,
-    // or to be "executed" after the current playing of the TTS tone.
-    TInt iTtsDelayIndex;
-
-    // True if TTS tone should be played when the next playing of the
-    // default or personal tone is fired.
-    TBool iTtsToneToBePlayed;
-
-    // Audio/Video RT file container
-    TMSRtContainer* iRtContainer;
-
-    // Volume of the TTS
-    TInt iTtsVolume;
-
-    // RT player type
-    TInt iRtType;
-
-    //
-    TMSRtPlayerObsrv& iRtObserver;
-    TMSAsyncReqAO* iAsyncReqAO;
-    TMSRtParam iRtParam;
-
-    // 3 sec timer that fires up fallback logic.
-    TMSTimer* iTimer;
-
-    // Timer that tracks delays before playing TTS.
-    TMSTimer* iTtsDelayTimer;
-
-    // Number of times TTS tone should be played for the current ringtone.
-    // If ringing tone is to be played just once, iTtsDelayCount == 1,
-    // otherwise iTtsDelayCount == KTtsDelayCount.
-    TInt iTtsDelaysCount;
-
-    // Array of players to be deleted asynchronously.
-    RPointerArray<TMSRtAudioHdlr> iAsyncDeletePlayers;
-
-    // DRM extend security flag.
-    TBool iExtSecNeeded;
-
-    // Async delete request is active.
-    TBool iAsyncReq;
-
-    // Ringing Type of TTS Player.
-    TProfileRingingType iTtsRingingType;
-
-    // Counter for TTS timeouts.
-    TInt iTTsTimeOutCounter;
-
-    // Voice call RT file size max.
-    TInt iToneFileSizeLimitKB;
-
-    MProEngEngine* iEngine;
-    MProEngProfile* iProfile;
-    };
-
-} //namespace TMS
-
-#endif // TMSRINGTONEPLAYER_H
-
-// End of File
--- a/mmserv/tms/tmsserver/inc/tmsrtplayerobsrv.h	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:  Observer interface for ringing tone playing.
- *
- */
-
-#ifndef TMSRTPLAYEROBSRV_H
-#define TMSRTPLAYEROBSRV_H
-
-// INCLUDES
-#include <e32base.h>
-
-namespace TMS {
-
-// FORWARD DECLARATIONS
-class TMSRtPlayer;
-
-// CLASS DECLARATION
-
-/**
- *  Observer interface for TMSRingTonePlayer
- */
-class TMSRtPlayerObsrv
-    {
-public:
-    /**
-     * This method is called when TMSRingTone event occurs.
-     *
-     * Notified events:
-     *  ECmdRingToneOpenComplete
-     *  ECmdRingTonePlayComplete
-     *
-     * @param  aEventType
-     *      Event descriptor.
-     *
-     * @param  aError
-     *      Operation status.
-     *
-     */
-    virtual void RtPlayerEvent(TInt aEventType, TInt aError) = 0;
-    };
-
-} //namespace TMS
-
-#endif // TMSRTPLAYEROBSRV_H
-
-// End of File
--- a/mmserv/tms/tmsserver/inc/tmsserver.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsserver/inc/tmsserver.h	Wed Sep 01 12:23:00 2010 +0100
@@ -15,19 +15,14 @@
  *
  */
 
-#ifndef TMSSERVER_H
-#define TMSSERVER_H
+#ifndef __TMSSERVER_H
+#define __TMSSERVER_H
 
 #include <e32base.h>
 #include <mmcccodecinformation.h>
 #include <tms.h>
 #include "tmsshared.h"
 #include "tmsclientserver.h"
-#include "tmsrtplayerobsrv.h"
-#include "tmsrtplayer.h"
-#include "tmsdtmfobserver.h"
-#include "tmsdtmftoneplayerobserver.h"
-#include "tmspubsubobserver.h"
 
 namespace TMS {
 
@@ -39,19 +34,12 @@
 class TMSTarEventHandler;
 class TMSCSPCenRepListener;
 class TMSCenRepAudioHandler;
-class TMSAudioDtmfTonePlayer;
-class TMSDTMFProvider;
-class TMSPubSubListener;
 
 // -----------------------------------------------------------------------------
 // TMSServer class
 // -----------------------------------------------------------------------------
 //
-class TMSServer : public CServer2,
-                  private TMSRtPlayerObsrv,
-                  private TMSDTMFObserver,
-                  private TMSDTMFTonePlayerObserver,
-                  public TMSPubSubObserver
+class TMSServer : public CServer2
     {
 public:
     static void RunServerL();
@@ -61,6 +49,12 @@
     void DropSession();
     TInt SessionCount() const;
 
+    void SetDnLinkSession(const TBool aSession);
+    void SetUpLinkSession(const TBool aSession);
+
+    TBool HasDnLinkSession() const;
+    TBool HasUpLinkSession() const;
+
     void GetNewTMSCallSessionHandleL(RHandleBase& aHandle);
     TInt SetOutput(CSession2* sid, TInt output);
     TInt GetOutput(const RMessage2& aMessage);
@@ -77,50 +71,13 @@
     TInt GetSupportedCodecs(const TMSStreamType strmType,
             RArray<TFourCC>*& aCodecs);
 
-    // for DTMF player
-    TInt InitDTMF(const RMessage2& aMessage);
-    TInt StartDTMF(const RMessage2& aMessage);
-    TInt StopDTMF(const RMessage2& aMessage);
-    TInt ContinueSendingDTMF(const RMessage2& aMessage);
-    TInt NotifyDtmfClients(gint aEventType, gint aError);
-    gint FindActiveCallType();
+    TInt NotifyTarClients(TRoutingMsgBufPckg routingpckg);
 
-    TInt NotifyTarClients(TRoutingMsgBufPckg routingpckg);
     void StartRoutingNotifierL();
     void CancelRoutingNotifier();
     void StartCenRepHandlerL();
     void CancelCenRepHandler();
 
-    // for RingTone player
-    void InitRingTonePlayerL();
-    void OpenRingTonePlayerFromProfileL(const RMessage2& aMessage);
-    void OpenRingTonePlayerFromFileL(const RMessage2& aMessage);
-    void OpenRingToneTTSPlayerL(const RMessage2& aMessage);
-    void OpenRingToneSequencePlayerL(const RMessage2& aMessage);
-    void OpenRingToneBeepOnceL();
-    void OpenRingToneSilentL();
-    void OpenRingToneUnsecureVoipL();
-    void DeinitRingTonePlayer();
-    void PlayRingToneL();
-    void PauseVideoRingTone();
-    void StopRingTone();
-    void MuteRingTone();
-
-    // from TMSRtPlayerObsrv
-    void RtPlayerEvent(TInt aEventType, TInt aError);
-
-    // from TMSDTMFTonePlayerObserver
-    void DTMFInitCompleted(gint status);
-    void DTMFToneFinished(gint status);
-
-    // from TMSDTMFObserver
-    void HandleDTMFEvent(const TMSDTMFObserver::TCCPDtmfEvent event,
-            const gint status, const TChar tone);
-
-    // from TMSPubSubObserver
-    void HandleNotifyPSL(const TUid aUid, const TInt& aKey,
-                const TRequestStatus& aStatus);
-
 private:
     static TMSServer* NewLC();
     TMSServer();
@@ -137,6 +94,9 @@
     TInt iSession;
     TMSServerShutDown *iShutdownTimer;
 
+    TBool iDnlinkSession;
+    TBool iUplinkSession;
+
     mutable RPointerArray<TMSStartAndMonitorTMSCallThread> iTMSCallServList;
     TMSGlobalEffectsSettings* iEffectSettings;
     TMSTarEventHandler* iTarHandler;
@@ -144,24 +104,10 @@
     TMSAudioOutput iCurrentRouting;
     TInt iTarHandlerCount;
     TInt iAudioCenRepHandlerCount;
-    TInt iDTMFHandlerCount;
-    TMSCallType iActiveCallType;
-
-    // for RT
-    TMSRingTonePlayer* iTMSRtPlayer;
-    HBufC* iRtFile;
-    HBufC8* iRtSequence;
-    HBufC* iTtsText;
-
-    // for DTMF
-    TMSAudioDtmfTonePlayer* iDTMFDnlinkPlayer;
-    TMSAudioDtmfTonePlayer* iDTMFUplinkPlayer;
-    TMSDTMFProvider* iDTMFUplinkPlayerEtel;
 
     // for codecs count
     RArray<TFourCC> iDnlCodecs;
     RArray<TFourCC> iUplCodecs;
-    TMSPubSubListener* iSyncVol;
     };
 
 // -----------------------------------------------------------------------------
@@ -209,5 +155,6 @@
 
 } //namespace TMS
 
-#endif //TMSSERVER_H
+#endif //__TMSSERVER_H
 
+// End of file
--- a/mmserv/tms/tmsserver/inc/tmsserversession.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsserver/inc/tmsserversession.h	Wed Sep 01 12:23:00 2010 +0100
@@ -28,8 +28,6 @@
 
 // FORWARD DECLARATIONS
 class TMSServerThread;
-class TMSAudioInbandTonePlayer;
-class TMSRingTonePlayer;
 
 // -----------------------------------------------------------------------------
 //  Class Name:  TMSServerSession
@@ -69,10 +67,6 @@
     void SetVolLevel(const RMessage2& aMessage);
     void SetMicGain(const RMessage2& aMessage);
 
-    // for Inband tone player
-    void StartInbandTone(const RMessage2& aMessage);
-    void StopInbandTone(const RMessage2& aMessage);
-
 private:
     TMSServer& iServer;
     RHandleBase iTMSCallSessionHandle;
@@ -81,8 +75,6 @@
     TBool iMsgQueued;
     RMsgQueue<TmsMsgBuf> iMsgQueue;
     TmsMsgBuf iMsgBuffer;
-    TMSAudioInbandTonePlayer* iInbandTonePlayer;
-    TBool iHasRtPlayer;
     };
 
 } //namespace TMS
--- a/mmserv/tms/tmsserver/inc/tmstareventhandler.h	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsserver/inc/tmstareventhandler.h	Wed Sep 01 12:23:00 2010 +0100
@@ -53,12 +53,6 @@
      **/
     void RunL();
 
-    /**
-     * From CActive
-     * Called when RunL leaves.
-     **/
-    TInt RunError(TInt aError);
-
 private:
 
     /**
@@ -80,3 +74,4 @@
 
 #endif //TMSTAREVENTHANDLER_H
 
+// End of File
--- a/mmserv/tms/tmsserver/src/tmsasyncreqao.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-//  INCLUDE FILES
-#include "tmsasyncreqao.h"
-
-using namespace TMS;
-
-// -----------------------------------------------------------------------------
-// TMSAsyncReqAO::TMSAsyncReqAO
-// -----------------------------------------------------------------------------
-//
-TMSAsyncReqAO::TMSAsyncReqAO(TMSAsyncReqObsrv* aObserver) :
-    CActive(CActive::EPriorityStandard),
-    iObserver(aObserver)
-    {
-    CActiveScheduler::Add(this);
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAsyncReqAO::NewL
-// -----------------------------------------------------------------------------
-//
-TMSAsyncReqAO* TMSAsyncReqAO::NewL(TMSAsyncReqObsrv* aObserver)
-    {
-    return new (ELeave) TMSAsyncReqAO(aObserver);
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-TMSAsyncReqAO::~TMSAsyncReqAO()
-    {
-    Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAsyncReqAO::Start
-// -----------------------------------------------------------------------------
-//
-void TMSAsyncReqAO::Start()
-    {
-    SetActive();
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrNone);
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAsyncReqAO::DoCancel
-// -----------------------------------------------------------------------------
-//
-void TMSAsyncReqAO::DoCancel()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAsyncReqAO::RunError
-// -----------------------------------------------------------------------------
-//
-TInt TMSAsyncReqAO::RunError(TInt aError)
-    {
-    iObserver->HandleError(aError);
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAsyncReqAO::RunL
-// -----------------------------------------------------------------------------
-//
-void TMSAsyncReqAO::RunL()
-    {
-    iObserver->HandleAsyncReq();
-    }
-
-//  End of File
--- a/mmserv/tms/tmsserver/src/tmsaudioinbandtoneplayer.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,371 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-//  INCLUDE FILES
-
-#include <tms.h>
-#include <AudioPreference.h>
-#include <data_caging_path_literals.hrh>
-#include <defaultbeep.rsg>
-#include "tmsutility.h"
-#include "tmsaudioinbandtoneplayer.h"
-#include "tmsaudiotoneutilityimpl.h"
-
-using namespace TMS;
-
-// CONSTANTS
-const gint KPhoneInbandVolumeMax = 10;
-const gint KPhoneInbandVolumeMin = 0;
-
-// Resourcefile destination.
-_LIT(KSystemDefaultbeepRscDrive, "Z:");
-_LIT(KSystemDefaultbeepRscFile, "DEFAULTBEEP.rSC");
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-TMSAudioInbandTonePlayer* TMSAudioInbandTonePlayer::NewL()
-    {
-    TMSAudioInbandTonePlayer* self = new (ELeave) TMSAudioInbandTonePlayer();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-//Destructor
-TMSAudioInbandTonePlayer::~TMSAudioInbandTonePlayer()
-    {
-    TRACE_PRN_FN_ENT;
-    iResourceFile.Close();
-    iFsSession.Close();
-    iTones.ResetAndDestroy();
-    iTones.Close();
-    if (iPlayer)
-        {
-        iPlayer->CancelPlay();
-        }
-    delete iPlayer;
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::TMSAudioInbandTonePlayer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TMSAudioInbandTonePlayer::TMSAudioInbandTonePlayer() :
-    iPlayer(NULL)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void TMSAudioInbandTonePlayer::ConstructL()
-    {
-    TRACE_PRN_FN_ENT;
-    iPlayer = TMSAudioToneUtilityImpl::NewL(*this);
-    iTones.Reset();
-    CreateToneSequencesL();
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::CreateSequencesL
-// Create inband tone sequences from resources.
-// -----------------------------------------------------------------------------
-//
-void TMSAudioInbandTonePlayer::CreateToneSequencesL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    iFileName = KSystemDefaultbeepRscDrive;
-    iFileName.Append(KDC_RESOURCE_FILES_DIR);
-    iFileName.Append(KSystemDefaultbeepRscFile);
-    iFsSession.Connect();
-    iResourceFile.OpenL(iFsSession, iFileName);
-
-    // DO NOT change order of sequence allocation!
-    AllocSeqFromResourceL(R_NET_BUSY);                 //iTones[0]
-    AllocSeqFromResourceL(R_NET_RADIO_NOT_AVAILABLE);  //iTones[1]
-    AllocSeqFromResourceL(R_NET_CONGESTION);           //iTones[2]
-    AllocSeqFromResourceL(R_NET_SPECIAL_INFORMATION);  //iTones[3]
-    AllocSeqFromResourceL(R_NET_REORDER);              //iTones[4]
-    AllocSeqFromResourceL(R_NET_RING_GOING);           //iTones[5]
-    AllocSeqFromResourceL(R_NET_CALL_WAITING);         //iTones[6]
-    AllocSeqFromResourceL(R_DATA_CALL_TONE);           //iTones[7]
-    AllocSeqFromResourceL(R_NO_SOUND_SEQUENCE);        //iTones[8]
-    AllocSeqFromResourceL(R_BEEP_SEQUENCE);            //iTones[9]
-
-    iResourceFile.Close();
-    iFsSession.Close();
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::AllocSeqFromResourceL
-//
-// -----------------------------------------------------------------------------
-//
-void TMSAudioInbandTonePlayer::AllocSeqFromResourceL(const gint resource)
-    {
-    HBufC8* res = iResourceFile.AllocReadLC(resource);
-    iReader.SetBuffer(res);
-    gint length = iReader.ReadInt16();
-    HBufC8* buf = HBufC8::NewL(length);
-    TPtr8 ptr(buf->Des());
-    for (gint i = 0; i < length; i++)
-        {
-        ptr.Append(iReader.ReadUint16());
-        }
-    User::LeaveIfError(iTones.Append(buf));
-    CleanupStack::PopAndDestroy(res);
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::PlayInbandTone
-// Searches the given Inband tone from iToneArray and calls PlayCurrentTone.
-// -----------------------------------------------------------------------------
-//
-void TMSAudioInbandTonePlayer::PlayInbandTone(TMSInbandToneType tone)
-    {
-    TRACE_PRN_FN_ENT;
-
-    // First stop any ongoing playback
-    Cancel();
-    UpdateTonePlayerVolume();
-    iToneName = tone;
-
-    if (iPlayer && (tone >= 0 && tone < iTones.Count()))
-        {
-        iPlayer->PrepareToPlayDesSequence(iTones[tone]->Des());
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::Cancel
-// Cancels the currently playing tone.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void TMSAudioInbandTonePlayer::Cancel()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (iPlayer)
-        {
-        if (iPlayer->State() == EMdaAudioToneUtilityNotReady)
-            {
-            // Prepare is called, but toneplayer's state is not yet prepare,
-            // then cancel to prepare is needed.
-            iPlayer->CancelPrepare();
-            }
-        else
-            {
-            iPlayer->CancelPlay();
-            }
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::PlayCurrentTone
-// Cancels the currently playing tone.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void TMSAudioInbandTonePlayer::PlayCurrentTone()
-    {
-    TRACE_PRN_FN_ENT;
-    if (iPlayer)
-        {
-        if (iPlayer->State() == EMdaAudioToneUtilityPrepared)
-            {
-            UpdateTonePlayerVolume();
-
-            switch (iToneName)
-                {
-                case TMS_INBAND_USER_BUSY:
-                    SetToneAttributes(KAudioPrefBusy);
-                    break;
-                case TMS_INBAND_RADIO_PATH_NOT_AVAIL:
-                    SetToneAttributes(KAudioPrefRadioNotAvailable);
-                    break;
-                case TMS_INBAND_CONGESTION:
-                    SetToneAttributes(KAudioPrefCongestion);
-                    break;
-                case TMS_INBAND_SPECIAL_INFO:
-                    SetToneAttributes(KAudioPrefSpecialInformation);
-                    break;
-                case TMS_INBAND_REORDER:
-                    SetToneAttributes(KAudioPrefReorder);
-                    break;
-                case TMS_INBAND_REMOTE_ALEARTING:
-                    SetToneAttributes(KAudioPrefRingGoing);
-                    break;
-                case TMS_INBAND_CALL_WAITING:
-                    SetToneAttributes(KAudioPrefCallWaiting,
-                            KAudioPriorityNetMsg, 0);
-                    break;
-                case TMS_INBAND_DATA_CALL:
-                    SetToneAttributes(KAudioPrefIncomingDataCall,
-                            KAudioPriorityPhoneCall);
-
-            //      if ( iRingingType == EProfileRingingTypeAscending )
-            //           {
-            //           iPlayer->SetVolumeRamp(
-            //               TTimeIntervalMicroSeconds( KPERingingToneRampDuration ) );
-            //           }
-            //       else
-            //          {
-            //          EProfileRingingTypeRinging, EProfileRingingTypeRingingOnce
-                    iPlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(
-                            KPhoneInbandToneZero));
-            //           }
-            //      if ( iRingingType == EProfileRingingTypeRingingOnce )
-            //          {
-            //        iPlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-            //                KPhoneInbandToneZero));
-                    //          }
-                    break;
-                case TMS_INBAND_NO_SEQUENCE:
-                case TMS_INBAND_BEEP_SEQUENCE:
-                    SetToneAttributes(KAudioPrefIncomingCall,
-                            KAudioPriorityPhoneCall);
-
-                    //iPlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-                    //        KPhoneInbandToneZero));
-                    iPlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(
-                            KPhoneInbandToneZero));
-                    break;
-                default:
-                    break;
-                }
-#ifndef __WINSCW__
-            //Play the tone
-            iPlayer->Play();
-#endif
-            }
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::SetToneAttributes
-//
-// -----------------------------------------------------------------------------
-//
-void TMSAudioInbandTonePlayer::SetToneAttributes(const guint pref,
-        const guint priority, const gint repeatTimes, const gint trailSilence)
-    {
-    iPlayer->SetRepeats(repeatTimes, TTimeIntervalMicroSeconds(trailSilence));
-    iPlayer->SetPriority(priority, static_cast<TMdaPriorityPreference> (pref));
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::SetVolume
-// -----------------------------------------------------------------------------
-//
-void TMSAudioInbandTonePlayer::SetVolume(gint volume)
-    {
-    TRACE_PRN_FN_ENT;
-    gint safeVolume = Max(Min(volume, KPhoneInbandVolumeMax),
-            KPhoneInbandVolumeMin);
-
-    if (iPlayer)
-        {
-        gint mediaServerVolume = CalculateMediaServerVolume(safeVolume);
-        if (EMdaAudioToneUtilityNotReady != iPlayer->State())
-            {
-            iPlayer->SetVolume(mediaServerVolume);
-            }
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::MatoPrepareComplete
-// Updates flag values and plays current inbandtone.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void TMSAudioInbandTonePlayer::MatoPrepareComplete(TInt aError)
-    {
-    TRACE_PRN_FN_ENT;
-    if (aError == KErrNone)
-        {
-        PlayCurrentTone();
-        }
-    TRACE_PRN_IF_ERR(aError);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::MatoPlayComplete
-// -
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void TMSAudioInbandTonePlayer::MatoPlayComplete(
-#ifdef _DEBUG
-        TInt aError)
-#else
-        TInt /*aError*/)
-#endif
-    {
-    TRACE_PRN_FN_ENT;
-    // TODO: process error?
-#ifdef _DEBUG
-    TRACE_PRN_IF_ERR(aError);
-#endif
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::CalculateMediaServerVolume
-// -----------------------------------------------------------------------------
-//
-gint TMSAudioInbandTonePlayer::CalculateMediaServerVolume(gint volume) const
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_FN_EXT;
-    // Our volume level scale is 0...10, media server's can be anything.
-    // This scales the volume to correct level.
-    return (iPlayer->MaxVolume() * volume) /
-            (KPhoneInbandVolumeMax - KPhoneInbandVolumeMin);
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioInbandTonePlayer::UpdateTonePlayerVolume
-// -----------------------------------------------------------------------------
-//
-void TMSAudioInbandTonePlayer::UpdateTonePlayerVolume()
-    {
-    TRACE_PRN_FN_ENT;
-    gint volume( /*KPhoneInbandVolumeMin*/KPhoneInbandVolumeMax);
-    SetVolume(volume);
-    TRACE_PRN_FN_EXT;
-    }
-
--- a/mmserv/tms/tmsserver/src/tmsaudiotoneutilityimpl.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include "tmsaudiotoneutilityimpl.h"
-
-using namespace TMS;
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TMSAudioToneUtilityImpl::TMSAudioToneUtilityImpl()
-    {
-    iToneUtility = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// 2nd phase construcotor
-// ---------------------------------------------------------------------------
-//
-void TMSAudioToneUtilityImpl::ConstructL(MMdaAudioToneObserver& toneObserver)
-    {
-    iToneUtility = CMdaAudioToneUtility::NewL(toneObserver);
-    }
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-TMSAudioToneUtilityImpl* TMSAudioToneUtilityImpl::NewL(
-        MMdaAudioToneObserver& toneObserver)
-    {
-    TMSAudioToneUtilityImpl* self = new (ELeave) TMSAudioToneUtilityImpl;
-    CleanupStack::PushL(self);
-    self->ConstructL(toneObserver);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-TMSAudioToneUtilityImpl::~TMSAudioToneUtilityImpl()
-    {
-    delete iToneUtility;
-    }
-
-// ---------------------------------------------------------------------------
-// From class TMSAudioToneUtilityImpl
-// ---------------------------------------------------------------------------
-//
-void TMSAudioToneUtilityImpl::PrepareToPlayDesSequence(const TDesC8& aSequence)
-    {
-    iToneUtility->PrepareToPlayDesSequence(aSequence);
-    }
-
-// ---------------------------------------------------------------------------
-// From class TMSAudioToneUtilityImpl
-// ---------------------------------------------------------------------------
-//
-TMdaAudioToneUtilityState TMSAudioToneUtilityImpl::State()
-    {
-    return iToneUtility->State();
-    }
-
-// ---------------------------------------------------------------------------
-// From class TMSAudioToneUtilityImpl
-// ---------------------------------------------------------------------------
-//
-void TMSAudioToneUtilityImpl::CancelPlay()
-    {
-    // Do state specific cancellations, this way we do not end up in a
-    // endless play state if CancelPlay() is called during preparation.
-    if (iToneUtility)
-        {
-        if (EMdaAudioToneUtilityPlaying == State())
-            {
-            iToneUtility->CancelPlay();
-            }
-        else if (EMdaAudioToneUtilityPrepared == State())
-            {
-            iToneUtility->CancelPrepare();
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class TMSAudioToneUtilityImpl
-// ---------------------------------------------------------------------------
-//
-gint TMSAudioToneUtilityImpl::MaxVolume()
-    {
-    return iToneUtility->MaxVolume();
-    }
-
-// ---------------------------------------------------------------------------
-// From class TMSAudioToneUtilityImpl
-// ---------------------------------------------------------------------------
-//
-void TMSAudioToneUtilityImpl::SetVolume(gint volume)
-    {
-    iToneUtility->SetVolume(volume);
-    }
-
-// ---------------------------------------------------------------------------
-// From class TMSAudioToneUtilityImpl
-// ---------------------------------------------------------------------------
-//
-void TMSAudioToneUtilityImpl::SetRepeats(gint repeatNumberOfTimes,
-        const TTimeIntervalMicroSeconds& trailingSilence)
-    {
-    iToneUtility->SetRepeats(repeatNumberOfTimes, trailingSilence);
-    }
-
-// ---------------------------------------------------------------------------
-// From class TMSAudioToneUtilityImpl
-// ---------------------------------------------------------------------------
-//
-void TMSAudioToneUtilityImpl::SetPriority(gint priority,
-        TMdaPriorityPreference pref)
-    {
-    iToneUtility->SetPriority(priority, pref);
-    }
-
-// ---------------------------------------------------------------------------
-// From class TMSAudioToneUtilityImpl
-// ---------------------------------------------------------------------------
-//
-void TMSAudioToneUtilityImpl::SetVolumeRamp(
-        const TTimeIntervalMicroSeconds& rampDuration)
-    {
-    iToneUtility->SetVolumeRamp(rampDuration);
-    }
-
-// ---------------------------------------------------------------------------
-// From class TMSAudioToneUtilityImpl
-// ---------------------------------------------------------------------------
-//
-void TMSAudioToneUtilityImpl::Play()
-    {
-    iToneUtility->Play();
-    }
-
-// ---------------------------------------------------------------------------
-// From class TMSAudioToneUtilityImpl
-// ---------------------------------------------------------------------------
-//
-void TMSAudioToneUtilityImpl::CancelPrepare()
-    {
-    iToneUtility->CancelPrepare();
-    }
-
--- a/mmserv/tms/tmsserver/src/tmscenrepaudiohandler.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsserver/src/tmscenrepaudiohandler.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -33,10 +33,10 @@
 #include "tmspubsublistener.h"
 #include "tmsutility.h"
 
-#ifdef __WINSCW__
+#ifndef __WINS__
+const TInt KDefaultMaxGain = 1;
+#else
 const TInt KDefaultMaxGain = 64;
-#else
-const TInt KDefaultMaxGain = 1;
 #endif
 
 using namespace TMS;
@@ -78,33 +78,30 @@
     {
     TInt muteVal;
     TInt err = KErrNotFound;
-    if (iPublish)
+
+    if (iMuteListener)
         {
-        if (iMuteListener)
+        err = iMuteListener->Get(muteVal);
+        }
+    if (err == KErrNone && muteVal == EPSTelMicMuteOn)
+        {
+#if !defined(__WINSCW__)
+        if (iTMSSer)
             {
-            err = iMuteListener->Get(muteVal);
+            iTMSSer->SetGain(NULL, 0);
             }
-        if (err == KErrNone && muteVal == EPSTelMicMuteOn)
-            {
-#if !defined(__WINSCW__)
-            if (iTMSSer)
-                {
-                iTMSSer->SetGain(NULL, 0);
-                }
 #endif //__WINSCW__
-            }
-        else if (err == KErrNone)
-            {
+        }
+    else if (err == KErrNone)
+        {
 #if !defined(__WINSCW__)
-            // Change when gain is really changed
-            if (iTMSSer)
-                {
-                iTMSSer->SetGain(NULL, KDefaultMaxGain);
-                }
+        // Change when gain is really changed
+        if (iTMSSer)
+            {
+            iTMSSer->SetGain(NULL, KDefaultMaxGain);
+            }
 #endif //__WINSCW__
-            }
         }
-    iPublish = TRUE;
     }
 
 // ---------------------------------------------------------------------------
@@ -124,7 +121,6 @@
             iMuteListener->Set(EPSTelMicMuteOff);
             }
         }
-    iPublish = FALSE;
     }
 
 // ---------------------------------------------------------------------------
@@ -220,7 +216,6 @@
         /*volGetRes =*/ iIncallLoudspeakerVolumeListener->Get(volLoud);
         }
 
-    iPublish = TRUE;
     TRACE_PRN_FN_EXT;
     }
 
--- a/mmserv/tms/tmsserver/src/tmsdtmfprovider.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include <etelmm.h>
-#include <rmmcustomapi.h>
-#include "tmsdtmfprovider.h"
-#include "tmsdtmfobserver.h"
-#include "tmsutility.h"
-#include "tmseteldtmfmonitor.h"
-#include "tmseteldtmfstopmonitor.h"
-
-using namespace TMS;
-
-TMSDTMFProvider* TMSDTMFProvider::NewL()
-    {
-    TRACE_PRN_FN_ENT;
-    TMSDTMFProvider* self = new (ELeave) TMSDTMFProvider();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    TRACE_PRN_FN_EXT;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor of the object.
-// -----------------------------------------------------------------------------
-//
-TMSDTMFProvider::~TMSDTMFProvider()
-    {
-    TRACE_PRN_FN_ENT;
-    Cancel();
-    iObservers.Close();
-    delete iMonitor;
-    delete iStopMonitor;
-
-    iMmCustom.Close();
-    iPhone.Close();
-    iServer.UnloadPhoneModule(iTsyname);
-    iServer.Close();
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// Constructs the requester.
-// -----------------------------------------------------------------------------
-//
-TMSDTMFProvider::TMSDTMFProvider() :
-    CActive(EPriorityStandard)
-    {
-    TRACE_PRN_FN_ENT;
-    CActiveScheduler::Add(this);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// Constructs the requester in the second phase.
-// -----------------------------------------------------------------------------
-//
-void TMSDTMFProvider::ConstructL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    User::LeaveIfError(iServer.Connect());
-
-    TRACE_PRN_N(_L("**TMS ETel iServer.Connect"));
-
-    User::LeaveIfError(iServer.GetTsyName(0, iTsyname));
-
-    //Load in the phone device driver
-    User::LeaveIfError(iServer.LoadPhoneModule(iTsyname));
-
-    TRACE_PRN_N(_L("**TMS ETel iServer.LoadPhoneModule"));
-
-    //Find the number of phones available from the tel server
-    gint numberPhones;
-    User::LeaveIfError(iServer.EnumeratePhones(numberPhones));
-
-    TRACE_PRN_N(_L("**TMS ETel iServer.EnumeratePhones"));
-
-    //Check there are available phones
-    if (numberPhones < 1)
-        {
-        User::Leave(KErrNotFound);
-        }
-
-    //Get info about the first available phone
-    RTelServer::TPhoneInfo info;
-    User::LeaveIfError(iServer.GetPhoneInfo(0, info));
-
-    TRACE_PRN_N(_L("**TMS ETel iServer.GetPhoneInfo"));
-
-    CleanupClosePushL(iPhone);
-    User::LeaveIfError(iPhone.Open(iServer, info.iName));
-
-    TRACE_PRN_N(_L("**TMS ETel iPhone.Open"));
-
-    RMobilePhone::TLineInfo lineInfo;
-    User::LeaveIfError(iPhone.GetLineInfo(0, lineInfo));
-
-    TRACE_PRN_N(_L("**TMS ETel iPhone.GetLineInfo"));
-
-    gint errorCode = iMmCustom.Open(iPhone);
-
-    if (!iPhone.SubSessionHandle() || !iMmCustom.SubSessionHandle())
-        {
-        User::Leave(KErrArgument);
-        }
-    iMonitor = TMSEtelDtmfMonitor::NewL(*this, iMmCustom);
-    iMonitor->StartMonitoring();
-    iStopMonitor = TMSEtelDtmfStopMonitor::NewL(*this, iPhone);
-    // iStopMonitor->StartMonitoring();
-
-    CleanupStack::Pop(1);//phone
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// Notifies observers about a DTMF event
-// -----------------------------------------------------------------------------
-//
-void TMSDTMFProvider::NotifyDTMFEvent(
-        const TMSDTMFObserver::TCCPDtmfEvent aEvent, const gint aError,
-        const TChar aTone)
-    {
-    TRACE_PRN_FN_ENT;
-    for (gint i = 0; i < iObservers.Count(); i++)
-        {
-        TMSDTMFObserver* obs = iObservers[i];
-        if (obs)
-            {
-            iObservers[i]->HandleDTMFEvent(aEvent, aError, aTone);
-            }
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// Cancel DTMF string sending
-// -----------------------------------------------------------------------------
-//
-gint TMSDTMFProvider::CancelDtmfStringSending()
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret(KErrAlreadyExists);
-    if (IsActive())
-        {
-        Cancel();
-        ret = KErrNone;
-        }
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// Starts DTMF string sending
-// -----------------------------------------------------------------------------
-//
-gint TMSDTMFProvider::StartDtmfTone(const TChar aTone)
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret(KErrAlreadyExists);
-    if (!IsActive())
-        {
-        ret = iPhone.StartDTMFTone(aTone);
-        }
-    TRACE_PRN_IF_ERR(ret);
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// Stop DTMF tone
-// -----------------------------------------------------------------------------
-//
-gint TMSDTMFProvider::StopDtmfTone()
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret(KErrAlreadyExists);
-    if (!IsActive())
-        {
-        ret = iPhone.StopDTMFTone();
-        }
-    TRACE_PRN_IF_ERR(ret);
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// Send DTMF string
-// -----------------------------------------------------------------------------
-//
-gint TMSDTMFProvider::SendDtmfToneString(const TDesC& aString)
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret = KErrInUse;
-    if (!IsActive())
-        {
-        iStatus = KRequestPending;
-        iPhone.SendDTMFTones(iStatus, aString);
-        SetActive();
-        ret = KErrNone;
-        }
-    TRACE_PRN_IF_ERR(ret);
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// Continue DTMF string sending
-// -----------------------------------------------------------------------------
-//
-gint TMSDTMFProvider::ContinueDtmfStringSending(const gboolean aContinue)
-    {
-    TRACE_PRN_FN_ENT;
-    gint status = iPhone.ContinueDTMFStringSending(aContinue);
-    TRACE_PRN_FN_EXT;
-    return status;
-    }
-
-// -----------------------------------------------------------------------------
-// Adds observer.
-// -----------------------------------------------------------------------------
-//
-void TMSDTMFProvider::AddObserver(const TMSDTMFObserver& aObserver)
-    {
-    TRACE_PRN_FN_ENT;
-    if (iObservers.Find(&aObserver) == KErrNotFound)
-        {
-        iObservers.Append(&aObserver);
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// Removes given observer.
-// -----------------------------------------------------------------------------
-//
-gint TMSDTMFProvider::RemoveObserver(const TMSDTMFObserver& aObserver)
-    {
-    TRACE_PRN_FN_ENT;
-    gint ret = KErrNotFound;
-    gint found = iObservers.Find(&aObserver);
-    if (found != KErrNotFound)
-        {
-        iObservers.Remove(found);
-        ret = KErrNone;
-        }
-    TRACE_PRN_FN_EXT;
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// From CActive.
-// Handles request completion.
-// -----------------------------------------------------------------------------
-//
-void TMSDTMFProvider::RunL()
-    {
-    TRACE_PRN_FN_ENT;
-    if (iStatus == KErrNone)
-        {
-        TMSDTMFObserver::TCCPDtmfEvent event =
-                TMSDTMFObserver::ECCPDtmfStringSendingCompleted;
-        NotifyDTMFEvent(event, KErrNone, NULL);
-        }
-    else
-        {
-        gint error = iStatus.Int();
-        if (error != KErrCancel)
-            {
-            TMSDTMFObserver::TCCPDtmfEvent event =
-                    TMSDTMFObserver::ECCPDtmfStringSendingCompleted;
-            NotifyDTMFEvent(event, error, NULL);
-            TRACE_PRN_IF_ERR(error);
-            }
-        // Cancel is not notified
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// From CActive
-// Canceling functionality.
-// -----------------------------------------------------------------------------
-//
-void TMSDTMFProvider::DoCancel()
-    {
-    TRACE_PRN_FN_ENT;
-    iPhone.CancelAsyncRequest(EMobilePhoneSendDTMFTones);
-    TRACE_PRN_FN_EXT;
-    }
-
--- a/mmserv/tms/tmsserver/src/tmsdtmftoneplayer.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-// INCLUDE FILES
-#include "tmsutility.h"
-#include "tmsdtmftoneplayer.h"
-
-// CONSTANTS
-const gint KDTMFMaxBufSize = 64;
-const gint KMaxVolumeLevel = 10;
-
-_LIT(KPhoneTone_Asterisk, "*+w");
-
-//from voip
-const guint KDTMFToneLengthOn = 250000;
-const guint KDTMFToneLengthOff = 50000;
-const guint KDTMFToneLengthPause = 2500000;
-
-using namespace TMS;
-
-// -----------------------------------------------------------------------------
-// TMSAudioDtmfTonePlayer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-TMSAudioDtmfTonePlayer* TMSAudioDtmfTonePlayer::NewL(
-        TMSDTMFTonePlayerObserver& obsrvr, guint audioPreference,
-        guint audioPriority)
-    {
-    TMSAudioDtmfTonePlayer* self = new (ELeave) TMSAudioDtmfTonePlayer(obsrvr,
-            audioPreference, audioPriority);
-
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-//Destructor
-TMSAudioDtmfTonePlayer::~TMSAudioDtmfTonePlayer()
-    {
-    TRACE_PRN_FN_ENT;
-    Cancel();
-    delete iDTMFPlayer;
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioDtmfTonePlayer::TMSAudioDtmfTonePlayer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-TMSAudioDtmfTonePlayer::TMSAudioDtmfTonePlayer(
-        TMSDTMFTonePlayerObserver& obsrvr, guint audioPreference,
-        guint audioPriority) :
-    iObserver(obsrvr),
-    iPref(audioPreference),
-    iPrior(audioPriority)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioDtmfTonePlayer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void TMSAudioDtmfTonePlayer::ConstructL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    TMMFPrioritySettings dtmfClickPlayerPrioritySettings;
-    iDTMFPlayer = CMMFDevSound::NewL();
-    iDTMFPlayer->InitializeL(*this, EMMFStateTonePlaying);
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioDtmfTonePlayer::SetVolume
-// Sets the volume level that is used when the dtmf tone is played.
-// -----------------------------------------------------------------------------
-//
-void TMSAudioDtmfTonePlayer::SetVolume(gint volume)
-    {
-    TRACE_PRN_FN_ENT;
-    gint vol = ConvertVolumeLevel(volume);
-
-    if (vol != iVolume)
-        {
-        iVolume = vol;
-        iDTMFPlayer->SetVolume(iVolume);
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioDtmfTonePlayer::PlayDtmfTone
-// Searches the given DTMF tone from iToneArray and calls PlayCurrentTone
-// member function.
-// -----------------------------------------------------------------------------
-//
-void TMSAudioDtmfTonePlayer::PlayDtmfTone(TDes& tone)
-    {
-    TRACE_PRN_FN_ENT;
-    Cancel();
-
-    // DTMF signaling.
-    if (iDTMFPlayer)
-        {
-        TBuf<KDTMFMaxBufSize> key;
-        key.Append(tone);
-        TRAP_IGNORE(iDTMFPlayer->PlayDTMFStringL(tone));
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioDtmfTonePlayer::Cancel
-// Cancels the currently playing tone.
-// -----------------------------------------------------------------------------
-//
-void TMSAudioDtmfTonePlayer::Cancel()
-    {
-    TRACE_PRN_FN_ENT;
-    iDTMFPlayer->Stop();
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioDtmfTonePlayer::Normalize
-// Lowers case for chars and if its '*','+', or 'w' sets it to asterisk
-// char ('*').
-// -----------------------------------------------------------------------------
-//
-void TMSAudioDtmfTonePlayer::Normalize(TChar& tone)
-    {
-    TRACE_PRN_FN_ENT;
-    tone.LowerCase();
-    TPtrC ast(KPhoneTone_Asterisk);
-
-    if (ast.Locate(tone) != KErrNotFound)
-        {
-        tone = ast[0];
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioDtmfTonePlayer::InitializeComplete
-// -----------------------------------------------------------------------------
-//
-void TMSAudioDtmfTonePlayer::InitializeComplete(TInt aError)
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (aError == KErrNone)
-        {
-        TMMFPrioritySettings dtmfPlayerSettings;
-        dtmfPlayerSettings.iPref = iPref;
-        dtmfPlayerSettings.iPriority = iPrior;
-        dtmfPlayerSettings.iState = EMMFStateTonePlaying;
-        iDTMFPlayer->SetPrioritySettings(dtmfPlayerSettings);
-
-        TTimeIntervalMicroSeconds32 length(KDTMFToneLengthOn);
-        TTimeIntervalMicroSeconds32 pause(KDTMFToneLengthOff);
-        TTimeIntervalMicroSeconds32 zero(KDTMFToneLengthPause);
-        iDTMFPlayer->SetDTMFLengths(length, pause, zero);
-        iDTMFPlayer->SetVolume(iDTMFPlayer->MaxVolume());
-        }
-
-    iObserver.DTMFInitCompleted(aError);
-    TRACE_PRN_IF_ERR(aError);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioDtmfTonePlayer::ToneFinished
-// -----------------------------------------------------------------------------
-//
-void TMSAudioDtmfTonePlayer::ToneFinished(TInt aError)
-    {
-    TRACE_PRN_FN_ENT;
-    iObserver.DTMFToneFinished(aError);
-    TRACE_PRN_IF_ERR(aError);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSAudioDtmfTonePlayer::ConvertVolumeLevel
-// -----------------------------------------------------------------------------
-//
-gint TMSAudioDtmfTonePlayer::ConvertVolumeLevel(gint volume)
-    {
-    TRACE_PRN_FN_ENT;
-    gint result = iDTMFPlayer->MaxVolume() * volume / KMaxVolumeLevel;
-    TRACE_PRN_FN_EXT;
-    return result;
-    }
-
--- a/mmserv/tms/tmsserver/src/tmseteldtmfmonitor.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include <rmmcustomapi.h>
-#include <gsmerror.h>
-#include "tmsdtmfprovider.h"
-#include "tmsdtmfobserver.h"
-#include "tmseteldtmfmonitor.h"
-#include "tmsutility.h"
-
-using namespace TMS;
-
-// -----------------------------------------------------------------------------
-// TMSEtelDtmfMonitor::NewL.
-// -----------------------------------------------------------------------------
-//
-TMSEtelDtmfMonitor* TMSEtelDtmfMonitor::NewL(TMSDTMFProvider& aObserver,
-        RMmCustomAPI& aMmCustom)
-    {
-    TRACE_PRN_FN_ENT;
-    TMSEtelDtmfMonitor* self = new (ELeave) TMSEtelDtmfMonitor(aObserver,
-            aMmCustom);
-    TRACE_PRN_FN_EXT;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Constructs the monitor.
-// -----------------------------------------------------------------------------
-//
-TMSEtelDtmfMonitor::TMSEtelDtmfMonitor(TMSDTMFProvider& aObserver,
-        RMmCustomAPI& aMmCustom) :
-    CActive(EPriorityStandard),
-    iObserver(aObserver),
-    iMmCustom(aMmCustom)
-    {
-    TRACE_PRN_FN_ENT;
-    CActiveScheduler::Add(this);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructs the object by canceling first ongoing monitoring.
-// -----------------------------------------------------------------------------
-//
-TMSEtelDtmfMonitor::~TMSEtelDtmfMonitor()
-    {
-    TRACE_PRN_FN_ENT;
-    Cancel();
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// Starts the monitor.
-// -----------------------------------------------------------------------------
-//
-void TMSEtelDtmfMonitor::StartMonitoring()
-    {
-    TRACE_PRN_FN_ENT;
-    if (!IsActive())
-        {
-        iStatus = KRequestPending;
-        iMmCustom.NotifyDtmfEvent(iStatus, iEventData);
-        SetActive();
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// From CActive.
-// Handles line status change notifying.
-// -----------------------------------------------------------------------------
-//
-void TMSEtelDtmfMonitor::RunL()
-    {
-    TRACE_PRN_FN_ENT;
-    gint err = iStatus.Int();
-    TRACE_PRN_N1(_L("**TMS TMSEtelDtmfMonitor::RunL: status:%d"), err);
-
-    if (err == KErrNone)
-        {
-        TMSDTMFObserver::TCCPDtmfEvent event;
-        if (iEventData.iEvent == RMmCustomAPI::EDtmfStart
-                && iEventData.iType == RMmCustomAPI::EDtmfManual)
-            {
-            event = TMSDTMFObserver::ECCPDtmfManualStart;
-            }
-        else if (iEventData.iEvent == RMmCustomAPI::EDtmfStart
-                && iEventData.iType == RMmCustomAPI::EDtmfSequence)
-            {
-            event = TMSDTMFObserver::ECCPDtmfSequenceStart;
-            }
-        else if (iEventData.iEvent == RMmCustomAPI::EDtmfStop
-                && iEventData.iType == RMmCustomAPI::EDtmfManual)
-            {
-            event = TMSDTMFObserver::ECCPDtmfManualStop;
-            }
-        else if (iEventData.iEvent == RMmCustomAPI::EDtmfStop
-                && iEventData.iType == RMmCustomAPI::EDtmfSequence)
-            {
-            event = TMSDTMFObserver::ECCPDtmfSequenceStop;
-            }
-        else if (iEventData.iEvent == RMmCustomAPI::EDtmfAbort
-                && iEventData.iType == RMmCustomAPI::EDtmfManual)
-            {
-            event = TMSDTMFObserver::ECCPDtmfManualAbort;
-            }
-        else if (iEventData.iEvent == RMmCustomAPI::EDtmfAbort
-                && iEventData.iType == RMmCustomAPI::EDtmfSequence)
-            {
-            event = TMSDTMFObserver::ECCPDtmfSequenceAbort;
-            }
-        else
-            {
-            // Refresh and return (no observer notfiying).
-            TRACE_PRN_N2(_L("**TMS TMSEtelDtmfMonitor::RunL: Unknown event \
-                    = %¨d, type = %d"), iEventData.iEvent,iEventData.iType);
-            StartMonitoring();
-            return;
-            }
-
-        iObserver.NotifyDTMFEvent(event, err, iEventData.iTone);
-        }
-    else
-        {
-        TRACE_PRN_N1(_L("**TMS TMSEtelDtmfMonitor::RunL: Error \
-                from DTMF: %d"),err);
-        }
-
-    // Continue if not in offline mode
-    if (err != KErrGsmOfflineOpNotAllowed && err != KErrCancel
-            && err != KErrNotSupported)
-        {
-        StartMonitoring();
-        }
-    TRACE_PRN_IF_ERR(err);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// From CActive
-// Canceling functionality.
-// -----------------------------------------------------------------------------
-//
-void TMSEtelDtmfMonitor::DoCancel()
-    {
-    TRACE_PRN_FN_ENT;
-    iMmCustom.CancelAsyncRequest(ECustomNotifyDtmfEventIPC);
-    TRACE_PRN_FN_EXT;
-    }
-
--- a/mmserv/tms/tmsserver/src/tmseteldtmfstopmonitor.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-#include <gsmerror.h>
-#include "tmsutility.h"
-#include "tmsdtmfobserver.h"
-#include "tmsdtmfprovider.h"
-#include "tmseteldtmfstopmonitor.h"
-
-using namespace TMS;
-
-// -----------------------------------------------------------------------------
-// TMSEtelDtmfStopMonitor::NewL.
-// -----------------------------------------------------------------------------
-//
-TMSEtelDtmfStopMonitor* TMSEtelDtmfStopMonitor::NewL(TMSDTMFProvider& aObserver,
-        RMobilePhone& aPhone)
-    {
-    TRACE_PRN_FN_EXT;
-    TMSEtelDtmfStopMonitor* self = new (ELeave) TMSEtelDtmfStopMonitor(
-            aObserver, aPhone);
-    TRACE_PRN_FN_EXT;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Constructs the monitor.
-// -----------------------------------------------------------------------------
-//
-TMSEtelDtmfStopMonitor::TMSEtelDtmfStopMonitor(TMSDTMFProvider& aObserver,
-        RMobilePhone& aPhone) :
-    CActive(EPriorityStandard),
-    iObserver(aObserver),
-    iPhone(aPhone)
-    {
-    TRACE_PRN_FN_ENT;
-    CActiveScheduler::Add(this);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructs the object by canceling first ongoing monitoring.
-// -----------------------------------------------------------------------------
-//
-TMSEtelDtmfStopMonitor::~TMSEtelDtmfStopMonitor()
-    {
-    TRACE_PRN_FN_ENT;
-    Cancel();
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// Starts the monitor.
-// -----------------------------------------------------------------------------
-//
-void TMSEtelDtmfStopMonitor::StartMonitoring()
-    {
-    TRACE_PRN_FN_ENT;
-    if (!IsActive())
-        {
-        iStatus = KRequestPending;
-        iPhone.NotifyStopInDTMFString(iStatus);
-        SetActive();
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// From CActive.
-// Handles line status change notifying.
-// -----------------------------------------------------------------------------
-//
-void TMSEtelDtmfStopMonitor::RunL()
-    {
-    TRACE_PRN_FN_ENT;
-    gint err = iStatus.Int();
-    TRACE_PRN_N1(_L("**TMS TMSEtelDtmfStopMonitor::RunL: status: %d"), err);
-
-    if (err != KErrCancel && err != KErrServerTerminated)
-        {
-        TChar tone = NULL;
-        TMSDTMFObserver::TCCPDtmfEvent event =
-                TMSDTMFObserver::ECCPDtmfStopInDtmfString;
-        iObserver.NotifyDTMFEvent(event, err, tone);
-        }
-    else
-        {
-        TRACE_PRN_N1(_L("**TMS TMSEtelDtmfStopMonitor::RunL: Error \
-                       from RMobilePhone: %d"),iStatus.Int());
-        }
-
-    // Continue if not in offline mode
-    if (err != KErrGsmOfflineOpNotAllowed && err != KErrCancel
-            && err != KErrNotSupported)
-        {
-        StartMonitoring();
-        }
-    TRACE_PRN_IF_ERR(err);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// From CActive
-// Canceling functionality.
-// -----------------------------------------------------------------------------
-//
-void TMSEtelDtmfStopMonitor::DoCancel()
-    {
-    TRACE_PRN_FN_ENT;
-    iPhone.CancelAsyncRequest(EMobilePhoneNotifyStopInDTMFString);
-    TRACE_PRN_FN_EXT;
-    }
-
--- a/mmserv/tms/tmsserver/src/tmsglobaleffectssettings.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsserver/src/tmsglobaleffectssettings.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -18,7 +18,6 @@
 // INCLUDE FILES
 #include "tmsglobaleffectssettings.h"
 #include "tmsclientserver.h"
-#include "tmsutility.h"
 
 using namespace TMS;
 
@@ -27,7 +26,7 @@
 const TInt KDefaultMaxVolume = 10;
 const TInt KDefaultGain = 1;
 
-#ifndef __WINSCW__
+#ifndef __WINS__
 const TInt KDefaultMaxGain = 1;
 #else
 const TInt KDefaultMaxGain = 64;
@@ -60,17 +59,13 @@
 //
 void TMSGlobalEffectsSettings::ConstructL()
     {
-    TRACE_PRN_FN_ENT;
     // Create repository instance
     iRepository = CRepository::NewL(KCRUidTmseffects);
     if (iRepository)
         {
         iRepository->Get(KTmsLoudSpkrVolume, iLoudSpkrVolume);
         iRepository->Get(KTmsEarPieceVolume, iEarVolume);
-        TRACE_PRN_N1(_L("loud spkr vol %d"),iLoudSpkrVolume);
-        TRACE_PRN_N1(_L("ear piece vol %d"),iEarVolume);
         }
-    TRACE_PRN_FN_EXT;
     }
 
 // -----------------------------------------------------------------------------
@@ -99,27 +94,15 @@
 //
 void TMSGlobalEffectsSettings::SetLoudSpkrVolume(TInt aVolume)
     {
-    TRACE_PRN_FN_ENT;
     TInt status(KErrNone);
     if (iRepository)
         {
-        if (aVolume > 0)
-            {
-            status = iRepository->Set(KTmsLoudSpkrVolume, aVolume);
-            TRACE_PRN_N2(_L("status %d loud spkr vol %d"),status,aVolume);
-            }
-        else
-            {
-            status = iRepository->Set(KTmsLoudSpkrVolume, KDefaultVolume);
-            TRACE_PRN_N(_L("loud spkr level 0 store default"));
-            }
+        status = iRepository->Set(KTmsLoudSpkrVolume, aVolume);
         if (status == KErrNone)
             {
             iLoudSpkrVolume = aVolume;
-            TRACE_PRN_N1(_L("cached loud spkr vol %d"),iLoudSpkrVolume);
             }
         }
-    TRACE_PRN_FN_EXT;
     }
 
 // -----------------------------------------------------------------------------
@@ -128,27 +111,15 @@
 //
 void TMSGlobalEffectsSettings::SetEarPieceVolume(TInt aVolume)
     {
-    TRACE_PRN_FN_ENT;
     TInt status(KErrNone);
     if (iRepository)
         {
-        if (aVolume > 0)
-            {
-            status = iRepository->Set(KTmsEarPieceVolume, aVolume);
-            TRACE_PRN_N2(_L("status %d ear vol %d"),status,aVolume);
-            }
-        else
-            {
-            status = iRepository->Set(KTmsEarPieceVolume, KDefaultVolume);
-            TRACE_PRN_N(_L("ear piece vol level 0 store default"));
-            }
+        status = iRepository->Set(KTmsEarPieceVolume, aVolume);
         if (status == KErrNone)
             {
             iEarVolume = aVolume;
-            TRACE_PRN_N1(_L("cached ear piece vol %d"),iEarVolume);
             }
         }
-    TRACE_PRN_FN_EXT;
     }
 
 // -----------------------------------------------------------------------------
@@ -158,7 +129,6 @@
 void TMSGlobalEffectsSettings::GetLoudSpkrVolume(TInt& aVolume)
     {
     aVolume = iLoudSpkrVolume;
-    TRACE_PRN_N1(_L("TMSGlobalEffectsSettings GetLoudSpkrVolume %d"),aVolume);
     }
 
 // -----------------------------------------------------------------------------
@@ -168,7 +138,6 @@
 void TMSGlobalEffectsSettings::GetEarPieceVolume(TInt& aVolume)
     {
     aVolume = iEarVolume;
-    TRACE_PRN_N1(_L("TMSGlobalEffectsSettings GetEarPieceVolume  %d"),aVolume);
     }
 
 // -----------------------------------------------------------------------------
@@ -207,21 +176,4 @@
     return iMaxGain;
     }
 
-// -----------------------------------------------------------------------------
-// TMSGlobalEffectsSettings::ResetDefaultVolume
-// -----------------------------------------------------------------------------
-//
-void TMSGlobalEffectsSettings::ResetDefaultVolume()
-    {
-    if (iLoudSpkrVolume == 0)
-        {
-        iRepository->Get(KTmsLoudSpkrVolume, iLoudSpkrVolume);
-        TRACE_PRN_N1(_L("Needed to reset default loudspkr vol %d"),iLoudSpkrVolume);
-        }
-    if (iEarVolume == 0)
-        {
-        iRepository->Get(KTmsEarPieceVolume, iEarVolume);
-        TRACE_PRN_N1(_L("Needed to reset default ear vol %d"),iEarVolume);
-        }
-    }
-
+//  End of File
--- a/mmserv/tms/tmsserver/src/tmsrtaudiohdlr.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,831 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:  Audio player implementation.
- *
- */
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <utf.h>    // For converting data for TTS
-#include "tmsshared.h"
-#include "tmsutility.h"
-#include "tmsrtaudiohdlr.h"
-#include "tmsrtcontainer.h"
-#include "tmsrtaudiohdlrobsrv.h"
-
-using namespace TMS;
-
-// CONSTANTS
-const TInt KMinVolumeLevel = 1;
-const TInt KMaxVolumeLevel = 10;
-const TInt KTMSRingingRepeatsTrailPause = 1000000;
-const TInt KTMSAudioAscendingRampDuration = 3000000;
-const TInt KTMSMdaAudioToneRepeatForever = -2;
-const TInt KUTF8Multiply = 2;
-
-_LIT(KFileListRngMimeType, "application/vnd.nokia.ringing-tone");
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::TMSRtAudioHdlr
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr::TMSRtAudioHdlr(TAudioDataFormat aDataFormat,
-        TMSRtAudioHdlrObsrv& aObserver, TUint aPriority, TUint aPreference,
-        TInt aType) :
-    iFormat(aDataFormat),
-    iObserver(aObserver),
-    iPriority(aPriority),
-    iPreference(aPreference),
-    iRtType(aType)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::ConstructL
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::ConstructL(const TDesC& aFileName)
-    {
-    TRACE_PRN_FN_ENT;
-    if (iFormat == EFormatTone)
-        {
-        iTonePlayer = CMdaAudioToneUtility::NewL(*this);
-        iTonePlayer->PrepareToPlayFileSequence(aFileName);
-        iPlayerStatus = EToneLoading;
-        }
-    else
-        {
-        iSamplePlayer = CMdaAudioPlayerUtility::NewFilePlayerL(aFileName, *this,
-                iPriority, iPreference);
-        iPlayerStatus = EToneLoading;
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::ConstructSeqL
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::ConstructSeqL(const TDesC8& aSequence)
-    {
-    TRACE_PRN_FN_ENT;
-    iTonePlayer = CMdaAudioToneUtility::NewL(*this);
-    iSequence = aSequence.AllocL();
-    iTonePlayer->PrepareToPlayDesSequence(*iSequence);
-    iPlayerStatus = EToneLoading;
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::ConstructTtsL
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::ConstructTtsL(const TDesC& aTtsText, TUint aPriority,
-        TUint aPreference)
-    {
-    TRACE_PRN_FN_ENT;
-    delete iTtsPlayer;
-    iTtsPlayer = NULL;
-    iTtsPlayer = CMdaAudioPlayerUtility::NewL(*this, aPriority, aPreference);
-
-    __ASSERT_DEBUG(iTtsPlayer, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-
-    delete iTtsText;
-    iTtsText = NULL;
-    // UTF-8 strings can take up to 4 bytes per character
-    iTtsText = HBufC8::NewL(aTtsText.Length() << KUTF8Multiply);
-
-    __ASSERT_DEBUG(iTtsText, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-
-    TPtr8 refText = iTtsText->Des();
-    User::LeaveIfError(CnvUtfConverter::ConvertFromUnicodeToUtf8(refText,
-            aTtsText));
-
-    // UTF-8 chars can be up to 4 bytes long, but usually
-    // take 1-2 bytes, 3 for asian chars.
-    HBufC8* oldText = iTtsText;
-    iTtsText = iTtsText->ReAlloc(iTtsText->Length());
-    if (!iTtsText)
-        {
-        // ReAlloc failed, set back to original.
-        iTtsText = oldText;
-        }
-    iTtsPlayer->OpenDesL(*iTtsText);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::NewL
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr* TMSRtAudioHdlr::NewL(const TMSRtContainer& aRingingTone,
-        TUint aPriority, TUint aPreference, TMSRtAudioHdlrObsrv& aObserver,
-        TInt aType, TBool aExtSecNeeded)
-    {
-    TRACE_PRN_FN_ENT;
-    // Check file DRM property if extended security is needed.
-    if (aExtSecNeeded)
-        {
-        if (!aRingingTone.IsFileInRom() && !aRingingTone.IsFileDrmProtected())
-            {
-            // DRM extended security check permission denied
-            User::Leave(KErrPermissionDenied);
-            }
-        // DRM extended security check ok
-        }
-
-    // RNG file types have to be played with CMdaAudioToneUtility player.
-    // Other audio formats use sample player
-    TAudioDataFormat format = (aRingingTone.MimeType().CompareF(
-            KFileListRngMimeType) == KErrNone) ? EFormatTone : EFormatSample;
-
-    TMSRtAudioHdlr* self = new (ELeave) TMSRtAudioHdlr(format, aObserver,
-            aPriority, aPreference, aType);
-    CleanupStack::PushL(self);
-    self->ConstructL(aRingingTone.FileName());
-    CleanupStack::Pop(self);
-    TRACE_PRN_FN_EXT;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::NewL
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr* TMSRtAudioHdlr::NewL(const TDesC& aFileName, TUint aPriority,
-        TUint aPreference, TMSRtAudioHdlrObsrv& aObserver, TInt aType,
-        TBool aExtSecNeeded)
-    {
-    TRACE_PRN_FN_ENT;
-    TMSRtContainer* tone = TMSRtContainer::NewL(aFileName);
-    CleanupStack::PushL(tone);
-    TMSRtAudioHdlr* player = TMSRtAudioHdlr::NewL(*tone, aPriority, aPreference,
-            aObserver, aType, aExtSecNeeded);
-    CleanupStack::PopAndDestroy(tone);
-    TRACE_PRN_FN_EXT;
-    return player;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::NewSeqL
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr* TMSRtAudioHdlr::NewSeqL(const TDesC8& aSequence,
-        TUint aPriority, TUint aPreference, TMSRtAudioHdlrObsrv& aObserver,
-        TInt aType)
-    {
-    TRACE_PRN_FN_ENT;
-    TMSRtAudioHdlr* self = new (ELeave) TMSRtAudioHdlr(EFormatTone,
-            aObserver, aPriority, aPreference, aType);
-    CleanupStack::PushL(self);
-    self->ConstructSeqL(aSequence);
-    CleanupStack::Pop(self);
-    TRACE_PRN_FN_EXT;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::NewTtsL
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr* TMSRtAudioHdlr::NewTtsL(const TDesC& aText, TUint aPriority,
-        TUint aPreference, TMSRtAudioHdlrObsrv& aObserver, TInt aType)
-    {
-    TRACE_PRN_FN_ENT;
-    TMSRtAudioHdlr* self = new (ELeave) TMSRtAudioHdlr(EFormatTts, aObserver,
-            aPriority, aPreference, aType);
-    CleanupStack::PushL(self);
-    self->ConstructTtsL(aText, aPriority, aPreference);
-    CleanupStack::Pop(self);
-    TRACE_PRN_FN_EXT;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::~TMSRtAudioHdlr
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr::~TMSRtAudioHdlr()
-    {
-    TRACE_PRN_FN_ENT;
-    /*if (i3DPlugin)
-         {
-         i3DPlugin->Stop();
-         }
-    delete i3DPlugin;
-    delete iAudioOutput;*/
-    delete iTonePlayer;
-    delete iSamplePlayer;
-    delete iTtsPlayer;
-    delete iSequence;
-    delete iTtsText;
-    REComSession::FinalClose();
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::Play
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::Play(TRingingType aRingType, TInt aVolume,
-        TInt aTTsToBePlayed)
-    {
-    TRACE_PRN_FN_ENT;
-    iRingType = aRingType;
-    iVolume = aVolume;
-    iTTsToBePlayed = aTTsToBePlayed;
-
-    if (iFormat == EFormatTone)
-        {
-        switch (iPlayerStatus)
-            {
-            case ETonePlaying:
-                if (iTonePlayer)
-                    {
-                    iTonePlayer->CancelPlay();
-                    }
-                DoPlay();
-                break;
-            case EToneReady:
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-            case EToneLoading:
-                iToBePlaying = ETrue;
-                break;
-            default:
-                __ASSERT_DEBUG(EFalse,
-                        User::Panic(KTMSPanic, TMS_RESULT_DOES_NOT_EXIST));
-                break;
-            }
-        }
-    else if (iFormat == EFormatTts)
-        {
-        switch (iPlayerStatus)
-            {
-            case ETonePlaying:
-                if (iTtsPlayer)
-                    {
-                    iTtsPlayer->Stop();
-                    }
-                DoPlay();
-                break;
-            case EToneReady:
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-            case EToneLoading:
-                iToBePlaying = ETrue;
-                break;
-            default:
-                __ASSERT_DEBUG(EFalse,
-                        User::Panic(KTMSPanic, TMS_RESULT_DOES_NOT_EXIST));
-                break;
-            }
-        }
-    else
-        {
-        switch (iPlayerStatus)
-            {
-            case ETonePlaying:
-                StopPlaying();
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-            case EToneReady:
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-            case EToneLoading:
-                iToBePlaying = ETrue;
-                break;
-            default:
-                __ASSERT_DEBUG(EFalse,
-                        User::Panic(KTMSPanic, TMS_RESULT_DOES_NOT_EXIST));
-                break;
-            }
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::ReStartPlaying
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::ReStartPlaying()
-    {
-    TRACE_PRN_FN_ENT;
-    if (iFormat == EFormatTone && iTonePlayer)
-        {
-        iTonePlayer->Play();
-        iPlayerStatus = ETonePlaying;
-        }
-    else if (iFormat == EFormatTts && iTtsPlayer)
-        {
-        iTtsPlayer->Play();
-        iPlayerStatus = ETonePlaying;
-        }
-    else if (iFormat == EFormatSample && iSamplePlayer)
-        {
-        iSamplePlayer->Play();
-        iPlayerStatus = ETonePlaying;
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::StopPlaying
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::StopPlaying()
-    {
-    TRACE_PRN_FN_ENT;
-    iToBePlaying = EFalse;
-
-    if (iFormat == EFormatTone)
-        {
-        if (EMdaAudioToneUtilityPrepared == iTonePlayer->State())
-            {
-            iTonePlayer->CancelPrepare();
-            }
-        else if (EMdaAudioToneUtilityPlaying == iTonePlayer->State())
-            {
-            iTonePlayer->CancelPlay();
-            }
-        }
-    else if (iFormat == EFormatTts)
-        {
-        iTtsPlayer->Stop();
-        }
-    else
-        {
-/*        if (i3DPlugin)
-            {
-            i3DPlugin->Stop();
-            delete i3DPlugin;
-            i3DPlugin = NULL;
-            }
-        else
-            {*/
-            iSamplePlayer->Stop();
-/*            }*/
-        }
-    iPlayerStatus = EToneReady;
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::MapcInitComplete
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::MapcInitComplete(TInt aError,
-        const TTimeIntervalMicroSeconds& /*aDuration*/)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_N2(_L("RT player type[%d], err[%d]"), iRtType, aError);
-
-    __ASSERT_DEBUG((iFormat == EFormatSample) ||
-            ((iFormat == EFormatTts) && (iPlayerStatus == EToneLoading)),
-            PANIC(TMS_RESULT_INVALID_STATE));
-
-    if (aError == TMS_RESULT_SUCCESS)
-        {
-        if (iToBePlaying)
-            {
-            iPlayerStatus = ETonePlaying;
-            iToBePlaying = EFalse;
-            DoPlay();
-            }
-        else
-            {
-            iPlayerStatus = EToneReady;
-            }
-        }
-    iObserver.RtAudioHdlrEvent(ECmdRingToneOpenComplete, aError, iRtType);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::MapcPlayComplete
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::MapcPlayComplete(TInt aError)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_N2(_L("RT player type[%d], err[%d]"), iRtType, aError);
-
-    iPlayerStatus = EToneReady;
-
-    // Delete 3D plugin before RT player. In case of continuous ringing type,
-    // 3D plugin is destructed in StopPlaying().
-/*    if (i3DPlugin)
-        {
-        i3DPlugin->Stop();
-        delete i3DPlugin;
-        i3DPlugin = NULL;
-        }*/
-    iObserver.RtAudioHdlrEvent(ECmdRingTonePlayComplete, aError, iRtType);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::MatoPrepareComplete
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::MatoPrepareComplete(TInt aError)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_N2(_L("RT player type[%d], err[%d]"), iRtType, aError);
-
-    __ASSERT_DEBUG(((iFormat == EFormatTone) &&
-            (iPlayerStatus == EToneLoading)), PANIC(TMS_RESULT_INVALID_STATE));
-
-    if (aError == TMS_RESULT_SUCCESS)
-        {
-        if (iToBePlaying)
-            {
-            iPlayerStatus = ETonePlaying;
-            iToBePlaying = EFalse;
-            DoPlay();
-            }
-        else
-            {
-            iPlayerStatus = EToneReady;
-            }
-        }
-    iObserver.RtAudioHdlrEvent(ECmdRingToneOpenComplete, aError, iRtType);
-    TRACE_PRN_FN_ENT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::MatoPlayComplete
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::MatoPlayComplete(TInt aError)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_N2(_L("RT player type[%d], err[%d]"), iRtType, aError);
-    iObserver.RtAudioHdlrEvent(ECmdRingTonePlayComplete, aError, iRtType);
-    TRACE_PRN_FN_EXT;
-   }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::DoPlay
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::DoPlay()
-    {
-    TRACE_PRN_FN_ENT;
-
-    __ASSERT_DEBUG(iPlayerStatus == ETonePlaying,
-            PANIC(TMS_RESULT_INVALID_STATE));
-
-    //TInt err(TMS_RESULT_SUCCESS);
-    SetRingingTypeProperties();
-
-    if (iFormat == EFormatTone)
-        {
-        iTonePlayer->Play();
-        }
-    else if (iFormat == EFormatTts)
-        {
-        iTtsPlayer->Play();
-        }
-    else
-        {
-#ifdef __WINSCW__
-        iSamplePlayer->Play();
-#else
-/*
-        //TODO: compare with phoneapp
-        TInt err = KErrNone;
-        TRAP(err, i3DPlugin = C3DRingingToneInterface::NewL(KNullUid));
-        if (!err && i3DPlugin)
-            {
-            i3DPlugin->SetAttr(E3DRTIAttrAudioPlayerUtility, iSamplePlayer);
-            TRAP(err, i3DPlugin->PlayL())
-            }
-        if (err || !i3DPlugin)
-            {
-            if (!iAudioOutput)
-                {
-                TRAP(err, iAudioOutput = CAudioOutput::NewL(*iSamplePlayer));
-                }
-            if (!err && iAudioOutput)
-                {
-                TRAP(err, iAudioOutput->SetAudioOutputL(CAudioOutput::EAll));
-                }
-            }*/
-        iSamplePlayer->Play();
-#endif //__WINSCW__
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::SetRingingTypeProperties
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::SetRingingTypeProperties()
-    {
-    TInt rampTime(0);
-    if (iFormat == EFormatTone)
-        {
-        __ASSERT_DEBUG(iTonePlayer, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-        switch (iRingType)
-            {
-            case ETypeRinging:
-                {
-                // If we have TTS activated and ringing type is "ringing", then
-                // we need to play TTS sequence again when ringtone restarts.
-                // That's why we need to set ringing type to ETypeRingingOnce,
-                // because it is the only way of knowing when ringtone playback
-                // is completed. Then we can restart it with new TTS iterations.
-                if (iTTsToBePlayed)
-                    {
-                    // Play only once
-                    iTonePlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-                            KTMSRingingRepeatsTrailPause));
-                    iTonePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                else
-                    {
-                    iTonePlayer->SetRepeats(KTMSMdaAudioToneRepeatForever,
-                            TTimeIntervalMicroSeconds(
-                                    KTMSRingingRepeatsTrailPause));
-                    iTonePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                break;
-                }
-            case ETypeRingingOnce:
-                {
-                // Play only once
-                iTonePlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-                        KTMSRingingRepeatsTrailPause));
-                iTonePlayer->SetVolume(ConvertVolume(iVolume));
-                break;
-                }
-            case ETypeAscending:
-                {
-                iTonePlayer->SetRepeats(KTMSMdaAudioToneRepeatForever,
-                        TTimeIntervalMicroSeconds(
-                                KTMSRingingRepeatsTrailPause));
-
-                // Special case for TTS + ascending profile. Volume and
-                // ramptime need to be different then usual
-                if (iTTsToBePlayed)
-                    {
-                    // RampTime is only 3 seconds and volume is 1.
-                    rampTime = KTMSAudioAscendingRampDuration;
-                    iTonePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(
-                            rampTime));
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iTonePlayer->SetVolume(ConvertVolume(iCurrentVolume));
-                    }
-                else
-                    {
-                    // RampTime: time for one step * volume level
-                    rampTime = KTMSAudioAscendingRampDuration * iVolume;
-                    iTonePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(
-                            rampTime));
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iTonePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                break;
-                }
-            default:
-                //PANIC(TMS_RESULT_DOES_NOT_EXIST);
-                break;
-            }
-        //Set priority and preference
-        iTonePlayer->SetPriority(iPriority, iPreference);
-        }
-    else if (iFormat == EFormatTts)
-        {
-        __ASSERT_DEBUG(iTtsPlayer, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-        switch (iRingType)
-            {
-            case ETypeRinging:
-            case ETypeAscending:
-                {
-                // Not allowed for TTS.
-                break;
-                }
-            case ETypeRingingOnce:
-                {
-                iTtsPlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-                        KTMSRingingRepeatsTrailPause));
-                iTtsPlayer->SetVolume(ConvertVolume(iVolume));
-                break;
-                }
-            default:
-                {
-                __ASSERT_DEBUG(EFalse, PANIC(TMS_RESULT_DOES_NOT_EXIST));
-                break;
-                }
-            }
-        }
-    else
-        {
-        __ASSERT_DEBUG(iSamplePlayer, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-        switch (iRingType)
-            {
-            case ETypeRinging:
-                {
-                // If we have TTS activated and ringing type is "ringing", then
-                // we need to play TTS sequence again when ringtone restarts.
-                // That's why we need to set ringingtype to ETypeRingingOnce,
-                // because it is the only way of knowing when ringtone playback
-                // is completed. Then we can restart it with new TTS iterations.
-                if (iTTsToBePlayed)
-                    {
-                    // Play only once
-                    iSamplePlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-                            KTMSRingingRepeatsTrailPause));
-                    iSamplePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                else
-                    {
-                    iSamplePlayer->SetRepeats(
-                            KTMSMdaAudioToneRepeatForever,
-                            TTimeIntervalMicroSeconds(
-                                    KTMSRingingRepeatsTrailPause));
-                    iSamplePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                break;
-                }
-            case ETypeRingingOnce:
-                {
-                iSamplePlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-                        KTMSRingingRepeatsTrailPause));
-                iSamplePlayer->SetVolume(ConvertVolume(iVolume));
-                break;
-                }
-            case ETypeAscending:
-                {
-                iSamplePlayer->SetRepeats(KTMSMdaAudioToneRepeatForever,
-                        TTimeIntervalMicroSeconds(
-                                KTMSRingingRepeatsTrailPause));
-
-                // Special case for TTS + ascending profile. Volume and
-                // ramptime need to be different then usual
-                if (iTTsToBePlayed)
-                    {
-                    // RampTime is only 3 seconds and volume is 1.
-                    rampTime = KTMSAudioAscendingRampDuration;
-                    iSamplePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(
-                            rampTime));
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iSamplePlayer->SetVolume(ConvertVolume(iCurrentVolume));
-                    }
-                else
-                    {
-                    // RampTime: time for one step * volume level
-                    rampTime = KTMSAudioAscendingRampDuration * iVolume;
-                    iSamplePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(
-                            rampTime));
-
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iSamplePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                break;
-                }
-            default:
-                {
-                break;
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::SetNewVolumeAndRamptime
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::SetNewVolumeAndRamptime(TInt aVolume, TInt aRamptime)
-    {
-    // Check that volume is in a valid range.
-    TInt volume = aVolume < 1 ? 1 : aVolume;
-
-    if (iFormat == EFormatTone)
-        {
-        if (iTonePlayer)
-            {
-            iTonePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(aRamptime));
-            iTonePlayer->SetVolume(ConvertVolume(volume));
-            }
-        }
-    else if (iFormat == EFormatTts)
-        {
-        if (iTtsPlayer)
-            {
-            iTtsPlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(aRamptime));
-            iTtsPlayer->SetVolume(ConvertVolume(volume));
-            }
-        }
-    else
-        {
-        if (iSamplePlayer)
-            {
-            iSamplePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(aRamptime));
-            iSamplePlayer->SetVolume(ConvertVolume(volume));
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::ConvertVolume
-// -----------------------------------------------------------------------------
-//
-TInt TMSRtAudioHdlr::ConvertVolume(TInt aVolume)
-    {
-    TInt result(0);
-
-    if (iFormat == EFormatTone)
-        {
-        if (iTonePlayer)
-            {
-            result = iTonePlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
-            }
-        }
-    else if (iFormat == EFormatTts)
-        {
-        if (iTtsPlayer)
-            {
-            result = iTtsPlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
-            }
-        }
-    else
-        {
-        if (iSamplePlayer)
-            {
-            result = iSamplePlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
-            }
-        }
-
-    // If user selected minimum volume level set HW volume 1
-    if (aVolume == KMinVolumeLevel && result == 0)
-        {
-        result = 1;
-        }
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::SetTTsToBePlayed
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::SetTTsToBePlayed(const TBool aTTsToBePlayed)
-    {
-    iTTsToBePlayed = aTTsToBePlayed;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::MutePlaying
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::MutePlaying()
-    {
-    if (iPlayerStatus == ETonePlaying)
-        {
-        if (iFormat == EFormatTone)
-            {
-            if (iTonePlayer)
-                {
-                iTonePlayer->SetVolume(0);
-                }
-            }
-        else if (iFormat == EFormatTts && iTtsPlayer)
-            {
-            if (iTtsPlayer)
-                {
-                iTtsPlayer->SetVolume(0);
-                }
-            }
-        else // EFormatSample
-            {
-            if (iSamplePlayer)
-                {
-                iSamplePlayer->SetVolume(0);
-                }
-            }
-        }
-    else
-        {
-        // Mute during EToneLoading state.
-        iToBePlaying = EFalse;
-        }
-    }
-
--- a/mmserv/tms/tmsserver/src/tmsrtcontainer.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description:  Class representing ringing tone
- *
- */
-
-// INCLUDE FILES
-#include <apgcli.h>
-#include <DRMHelper.h>
-#include <bldvariant.hrh>
-#include "tmsrtcontainer.h"
-
-using namespace TMS;
-
-// CONSTANTS
-// Rich audio file MIME types
-_LIT(KAac, "audio/aac");
-_LIT(KMp3, "audio/mp3");
-_LIT(KMpeg, "audio/mpeg");
-_LIT(K3gpp, "audio/3gpp");
-_LIT(KMp4, "audio/mp4");
-_LIT(KAmrWb, "audio/amr-wb");
-_LIT(KWavX, "audio/x-wav");
-_LIT(KWav, "audio/wav");
-// Rich video file MIME types
-_LIT(KV3gpp, "video/3gpp");
-_LIT(KVMp4, "video/mp4");
-_LIT(KV3gpp2, "video/3gpp2");
-// Used in CPhoneRingingTone
-_LIT(KPhoneRingingToneDriveZ, "z:");
-#ifdef RD_VIDEO_AS_RINGING_TONE
-_LIT(KPhoneRingingToneVideoMime, "video/*");
-_LIT(KPhoneRingingToneRealVideoMime, "*realmedia");
-#endif
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::TMSRtContainer
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-TMSRtContainer::TMSRtContainer(TBool aDrmInPlayback) :
-    iDrmInPlayback(aDrmInPlayback)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::ConstructL
-// Symbian 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void TMSRtContainer::ConstructL(const TDesC& aFileName)
-    {
-    iFileName = aFileName.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-TMSRtContainer* TMSRtContainer::NewL(const TDesC& aFileName,
-        TBool aDrmInPlayback)
-    {
-    TMSRtContainer* self = new (ELeave) TMSRtContainer(aDrmInPlayback);
-    CleanupStack::PushL(self);
-    self->ConstructL(aFileName);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// Destructor
-TMSRtContainer::~TMSRtContainer()
-    {
-    delete iFileName;
-    delete iMimeType;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::SetFileName
-// -----------------------------------------------------------------------------
-//
-void TMSRtContainer::SetFileName(const TDesC& aFileName)
-    {
-    delete iFileName;
-    iFileName = aFileName.Alloc();
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::FileName
-// -----------------------------------------------------------------------------
-//
-const TDesC& TMSRtContainer::FileName() const
-    {
-    // iFileName is never NULL
-    return *iFileName;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::MimeType
-// -----------------------------------------------------------------------------
-//
-const TDesC& TMSRtContainer::MimeType() const
-    {
-    if (iMimeType)
-        {
-        return *iMimeType;
-        }
-    else
-        {
-        return KNullDesC;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::IsVideoRingingTone
-// -----------------------------------------------------------------------------
-//
-TBool TMSRtContainer::IsVideoRingingTone()
-    {
-#ifdef RD_VIDEO_AS_RINGING_TONE
-    if (RefreshMime() != KErrNone)
-        {
-        // try to handle as audio
-        return EFalse;
-        }
-
-    TBool isVideo(EFalse);
-
-    if (iMimeType && iMimeType->MatchF(KPhoneRingingToneVideoMime)
-            != KErrNotFound)
-        {
-        isVideo = ETrue;
-        }
-    else if (iMimeType && iMimeType->MatchF(KPhoneRingingToneRealVideoMime)
-            != KErrNotFound)
-        {
-        isVideo = ETrue;
-        }
-
-    if (isVideo)
-        {
-        if (IsFileInRom() && !IsFileInVideoDirectory())
-            {
-            // For ROM files check also location, because
-            // MIME check is not fully reliable.
-            isVideo = EFalse;
-            }
-        }
-
-    return isVideo;
-
-#else
-    // if extended security -> refresh MIME
-    if (iDrmInPlayback)
-        {
-        RefreshMime();
-        }
-
-    return EFalse;
-#endif
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::IsFileDrmProtected
-// -----------------------------------------------------------------------------
-//
-TBool TMSRtContainer::IsFileDrmProtected() const
-    {
-    const TDesC& type = MimeType();
-
-    if (type == KAac || type == KMp3 || type == KMpeg || type == K3gpp ||
-            type == KMp4 || type == KAmrWb || type == KWavX || type == KWav ||
-            type == KV3gpp || type == KVMp4 || type == KV3gpp2)
-        {
-        ContentAccess::CContent* content = NULL;
-        TRAPD(err, content = ContentAccess::CContent::NewL(*iFileName));
-        if (err == KErrNone && content)
-            {
-            TInt drmProtected(0);
-            content->GetAttribute(ContentAccess::EIsProtected, drmProtected);
-            delete content;
-            return drmProtected;
-            }
-        }
-
-    return ETrue; // Other MIMEs can be played without DRM check.
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::IsFileInRom
-// -----------------------------------------------------------------------------
-//
-TBool TMSRtContainer::IsFileInRom() const
-    {
-    TParsePtrC parsedName(*iFileName);
-
-    // Files on ROM don't need to be checked for DRM
-    if (parsedName.Drive().CompareF(KPhoneRingingToneDriveZ) == 0)
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::IsFileInVideoDirectory
-// -----------------------------------------------------------------------------
-//
-TBool TMSRtContainer::IsFileInVideoDirectory() const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::RefreshMime
-// -----------------------------------------------------------------------------
-//
-TInt TMSRtContainer::RefreshMime()
-    {
-    TRAPD(err, RefreshMimeL());
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::RefreshMimeL
-// -----------------------------------------------------------------------------
-//
-void TMSRtContainer::RefreshMimeL()
-    {
-    RApaLsSession apaLsSession;
-    User::LeaveIfError(apaLsSession.Connect());
-    CleanupClosePushL(apaLsSession);
-    TUid dummyUid = {0};
-    TDataType dataType(dummyUid);
-    User::LeaveIfError(apaLsSession.AppForDocument(*iFileName, dummyUid,
-            dataType));
-    CleanupStack::PopAndDestroy(); // CleanupClosePushL
-    delete iMimeType;
-    iMimeType = NULL;
-    iMimeType = dataType.Des().AllocL();
-    }
-
-//  End of File
--- a/mmserv/tms/tmsserver/src/tmsrtplayer.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1712 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-// INCLUDE FILES
-#include <AudioPreference.h>
-#include <MProEngTones.h>
-#include <MProEngToneSettings.h>
-#include <ProEngFactory.h>
-#include "tmsshared.h"
-#include "tmsutility.h"
-#include "tmsrtplayerobsrv.h"
-#include "tmsrtcontainer.h"
-#include "tmsrtplayer.h"
-
-using namespace TMS;
-
-// CONSTANTS
-const TInt KTMSMaxRingingWaiting = 3000000;
-const TInt KTMSTtsAscendingStep = 3000000;
-const TInt KRTDefaultVolume = 2;
-//const TInt KTtsVolumeBoost = 9;
-const TInt KTtsVolumeMin = 2;
-const TInt KTtsVolumeAscendingRepeat = 4;
-const TInt KPlayerVolumeAscendingRepeat = 3;
-const TInt KTtsVolumeAscendingDecrease = 2;
-
-// Delays between periods of Text-To-Speech playback
-// {3000000, 4000000} means the following order of playing:
-// 3 secs tone, then TTS, then 4 secs of tone, then TTS, then tone forever.
-const TInt KTMSTtsDelays[] = {3000000, 4000000};
-// Number of elements in KTMSTtsDelays array.
-const TInt KTMSTtsDelaysCount = sizeof(KTMSTtsDelays) / sizeof (TInt);
-const TInt Kkilo = 1024;
-
-_LIT(KTMSTtsHeader, "(tts)");
-
-#ifdef __WINSCW__
-//_LIT(KTMSDefaultSoundFile, "z:\\data\\sounds\\digital\\Nokia_tune.aac");
-_LIT(KTMSDefaultSoundFile, "Z:\\Data\\Sounds\\Digital\\Nokia tune.aac");
-//_LIT(KTMSDefaultSoundFile, "c:\\data\\sounds\\digital\\test_8khz.wav");
-_LIT(KTMSNoSoundSequence,  "z:\\data\\sounds\\digital\\clock.aac");
-//_LIT(KTMSNoSoundSequence, "c:\\data\\sounds\\digital\\test_8khz.wav");
-_LIT(KTMSBeepSequence,     "z:\\data\\sounds\\digital\\clock.aac");
-//_LIT(KTMSBeepSequence, "c:\\data\\sounds\\digital\\test_8khz.wav");
-_LIT(KTMSUnsecureVoIPCall, "z:\\data\\sounds\\digital\\alarm.aac");
-//_LIT(KTMSUnsecureVoIPCall, "c:\\data\\sounds\\digital\\test_8khz.wav");
-#else
-// DO NOT change these sequences!
-_LIT(KTMSDefaultSoundFile, "\\System\\Sounds\\Simple\\Nokia tune.wav");
-_LIT8(KTMSBeepSequence, "\x00\x11\x0A\x0A\x08\x73\x0A\x40\x28\x0A\xF7\x05\
-\xFC\x40\x64\x0A\x08\x40\x32\x0A\xF7\x06\x0B");
-_LIT8(KTMSNoSoundSequence, "\x00\x11\x0A\x05\xFC\x0A\x08\x40\x32\x0A\xF7\
-\x40\x64\x06\x0B");
-_LIT8(KTMSUnsecureVoIPCall, "\x00\x11\x0B\x67\x04\x40\x04\x67\x04\x40\x04\
-\x6C\x04\x40\x04\x6D\x04\x0B");
-#endif // __WINSCW__
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::NewL
-// -----------------------------------------------------------------------------
-//
-TMSRingTonePlayer* TMSRingTonePlayer::NewL(TMSRtPlayerObsrv& aObserver)
-    {
-    TMSRingTonePlayer* self = new (ELeave) TMSRingTonePlayer(aObserver);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::TMSRingTonePlayer
-// -----------------------------------------------------------------------------
-//
-TMSRingTonePlayer::TMSRingTonePlayer(TMSRtPlayerObsrv& aObserver) :
-    iRtObserver(aObserver)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::ConstructL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::ConstructL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    for (TInt i = EPlayerFirst; i <= EPlayerLast; i++)
-        {
-        User::LeaveIfError(iAsyncDeletePlayers.Append(NULL));
-        }
-
-    // Construct timer.
-    iTimer = TMSTimer::NewL();
-    iTtsDelayTimer = TMSTimer::NewL();
-    iAsyncReqAO = TMSAsyncReqAO::NewL(this);
-
-    // TODO:
-    // Checks if DRM extend security is needed
-    // Check video player configuration.
-
-    iEngine =  ProEngFactory::NewEngineL();
-
-    InitRtParams(EPlayerBackup);
-    //CreateDefaultRingToneL();
-    CreateBkpRtPlayerL();
-    //GetMaxToneFileSizeL(iToneFileSizeLimitKB);
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::~TMSRingTonePlayer
-// -----------------------------------------------------------------------------
-//
-TMSRingTonePlayer::~TMSRingTonePlayer()
-    {
-    TRACE_PRN_FN_ENT;
-
-    iAsyncDeletePlayers.ResetAndDestroy();
-    iAsyncDeletePlayers.Close();
-    if (iProfile)
-        {
-        iProfile->Release();
-        }
-    if (iEngine)
-        {
-        iEngine->Release();
-        }
-    RemovePlayers();
-    delete iBackupPlayer;
-    delete iAsyncReqAO;
-    delete iTimer;
-    delete iTtsDelayTimer;
-    delete iRtContainer;
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::InitRtParams
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::InitRtParams(TRtPlayerType aPlayerType)
-    {
-    TRACE_PRN_FN_ENT;
-
-    iRtParam.iType = aPlayerType;
-    iRtParam.iPriority = KAudioPriorityPhoneCall;
-    iRtParam.iPreference = KAudioPrefIncomingCall;
-    iRtParam.iRingingType = EProfileRingingTypeRinging;
-    iRtParam.iVolume = KRTDefaultVolume;
-    iRtParam.iTextToSay.Set(KNullDesC());
-
-    if (aPlayerType == EPlayerUnsecureVoIP)
-        {
-        iRtParam.iPriority = KAudioPrioritySpecialInformationTone;
-        iRtParam.iPreference = KAudioPrefSpecialInformation;
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CreateDefaultPlayerL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::CreateDefaultRingToneL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    InitRtParams(EPlayerDefault);
-    LoadProfileRingToneL();
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::LoadActiveProfileSettingsL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::LoadActiveProfileSettingsL()
-    {
-    if (!iEngine)
-        {
-        iEngine =  ProEngFactory::NewEngineL();
-        }
-    if (iProfile)
-        {
-        iProfile->Release();
-        iProfile = NULL;
-        }
-    __ASSERT_ALWAYS(iEngine, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-
-    iProfile = iEngine->ActiveProfileL();
-    if (iProfile)
-        {
-        MProEngToneSettings& settings = iProfile->ToneSettings();
-        iRtParam.iVolume = settings.RingingVolume();
-        iRtParam.iRingingType = settings.RingingType();
-        iRtParam.iCallerText = settings.TextToSpeech();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::LoadProfileRingToneL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::LoadProfileRingToneL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    LoadActiveProfileSettingsL();
-    __ASSERT_ALWAYS(iProfile, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-
-    MProEngTones& tones = iProfile->ProfileTones();
-    // Get alternate line RT: tones.RingingTone2()
-    // Get default video RT: tones.VideoCallRingingTone()
-
-    if (!iRtContainer)
-        {
-        iRtContainer = TMSRtContainer::NewL(tones.RingingTone1());
-        }
-    else
-        {
-        if (tones.RingingTone1().CompareF(iRtContainer->FileName()) != KErrNone)
-            {
-            // Profile changed - update RT
-            iRtContainer->SetFileName(tones.RingingTone1());
-            iRtContainer->RefreshMime();
-            }
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CreateBkpRtPlayerL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::CreateBkpRtPlayerL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    delete iBackupPlayer;
-    iBackupPlayer = NULL;
-    TFileName file(KTMSDefaultSoundFile);
-    iBackupPlayer = TMSRtAudioHdlr::NewL(file, KAudioPriorityPhoneCall,
-            KAudioPrefIncomingCall, *this, EPlayerBackup);
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CreateDefaultRtPlayerL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::CreateDefaultRtPlayerL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    // Fresh start for the default tone.
-    CreateDefaultRingToneL();
-
-    delete iDefaultPlayer;
-    iDefaultPlayer = NULL;
-    iDefaultPlayer = TMSRtAudioHdlr::NewL(*iRtContainer,
-            KAudioPriorityPhoneCall, KAudioPrefIncomingCall, *this,
-            EPlayerDefault, EFalse);
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CreateAudioPlayerL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::CreateAudioPlayerL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    delete iAudioPlayer;
-    iAudioPlayer = NULL;
-    iAudioPlayer = TMSRtAudioHdlr::NewL(*iRtContainer, iRtParam.iPriority,
-            iRtParam.iPreference, *this, iRtParam.iType,
-            iRtParam.iType == EPlayerDefault ? EFalse : iExtSecNeeded);
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CreateRingTonePlayerL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::CreateRingTonePlayerL(const TRtPlayerType aPlayer,
-        const TDesC& aFile)
-    {
-    TRACE_PRN_FN_ENT;
-
-    TInt len = aFile.Length();
-    if (!len || aPlayer == EPlayerDefault)
-        {
-        CreateDefaultRtPlayerL();
-        }
-    else
-        {
-        if (!iRtContainer)
-            {
-            CreateDefaultRingToneL();
-            }
-        if (len && iRtContainer)
-            {
-            iRtContainer->SetFileName(aFile);
-            iRtContainer->RefreshMime();
-            iRtParam.iType = aPlayer;
-            }
-        CreateAudioPlayerL();
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CreateSequencePlayerL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::CreateSequencePlayerL(const TRtPlayerType aPlayer)
-    {
-    TRACE_PRN_FN_ENT;
-
-    switch (aPlayer)
-        {
-        case EPlayerBeepOnce:
-            CreateBeepOncePlayerL();
-            break;
-        case EPlayerSilent:
-            CreateSilentPlayerL();
-            break;
-        case EPlayerUnsecureVoIP:
-            CreateUnsecureVoipPlayerL();
-            break;
-        default:
-            break;
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CreateBeepOncePlayerL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::CreateBeepOncePlayerL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    delete iBeepOncePlayer;
-    iBeepOncePlayer = NULL;
-
-#ifdef __WINSCW__
-    TParse* fp = new (ELeave) TParse();
-    fp->Set(KTMSBeepSequence, NULL, NULL);
-    TFileName fileName(fp->FullName());
-    delete fp;
-    iBeepOncePlayer = TMSRtAudioHdlr::NewL(fileName, iRtParam.iPriority,
-            iRtParam.iPreference, *this, EPlayerBeepOnce);
-#else
-    iBeepOncePlayer = TMSRtAudioHdlr::NewSeqL(KTMSBeepSequence(),
-            iRtParam.iPriority, iRtParam.iPreference, *this, EPlayerBeepOnce);
-#endif // __WINSCW__
-
-    iRtParam.iType = EPlayerBeepOnce;
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CreateSilentPlayerL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::CreateSilentPlayerL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    iRtParam.iVolume = 0;
-    delete iSilentPlayer;
-    iSilentPlayer = NULL;
-
-#ifdef __WINSCW__
-    TParse* fp = new (ELeave) TParse();
-    fp->Set(KTMSNoSoundSequence, NULL, NULL);
-    TFileName fileName(fp->FullName());
-    delete fp;
-    iSilentPlayer = TMSRtAudioHdlr::NewL(fileName, iRtParam.iPriority,
-            iRtParam.iPreference, *this, EPlayerSilent);
-#else
-    iSilentPlayer = TMSRtAudioHdlr::NewSeqL(KTMSNoSoundSequence(),
-            iRtParam.iPriority, iRtParam.iPreference, *this, EPlayerSilent);
-#endif // __WINSCW__
-
-    iRtParam.iType = EPlayerSilent;
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CreateUnsecureVoipPlayerL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::CreateUnsecureVoipPlayerL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    delete iUnsecureVoIPTonePlayer;
-    iUnsecureVoIPTonePlayer = NULL;
-
-#ifdef __WINSCW__
-    TParse* fp = new (ELeave) TParse();
-    fp->Set(KTMSUnsecureVoIPCall, NULL, NULL);
-    TFileName fileName(fp->FullName());
-    delete fp;
-    iUnsecureVoIPTonePlayer = TMSRtAudioHdlr::NewL(fileName,
-            iRtParam.iPriority, iRtParam.iPreference, *this,
-            EPlayerUnsecureVoIP);
-#else
-    iUnsecureVoIPTonePlayer = TMSRtAudioHdlr::NewSeqL(KTMSUnsecureVoIPCall(),
-            iRtParam.iPriority, iRtParam.iPreference, *this,
-            EPlayerUnsecureVoIP);
-#endif // __WINSCW__
-
-    iRtParam.iType = EPlayerUnsecureVoIP;
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CreateCustomSequencePlayerL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::CreateCustomSequencePlayerL(const TDesC8&
-#ifdef __WINSCW__
-        /*aSequence*/)
-#else
-        aSequence)
-#endif
-    {
-    TRACE_PRN_FN_ENT;
-
-    delete iSequencePlayer;
-    iSequencePlayer = NULL;
-
-#ifdef __WINSCW__
-    TParse* fp = new (ELeave) TParse();
-    fp->Set(KTMSBeepSequence, NULL, NULL);
-    TFileName fileName(fp->FullName());
-    delete fp;
-    iSequencePlayer = TMSRtAudioHdlr::NewL(fileName, iRtParam.iPriority,
-            iRtParam.iPreference, *this, EPlayerSequence);
-#else
-    iSequencePlayer = TMSRtAudioHdlr::NewSeqL(aSequence, iRtParam.iPriority,
-            iRtParam.iPreference, *this, EPlayerSequence);
-#endif // __WINSCW__
-
-    iRtParam.iType = EPlayerSequence;
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CreateTTSPlayerL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::CreateTTSPlayerL(const TDesC& aTextToSay)
-    {
-    TRACE_PRN_FN_ENT;
-
-    RemoveTTSPlayer();
-    TPtrC ttsHeader(KTMSTtsHeader);
-    HBufC* buf = HBufC::New(aTextToSay.Length() + ttsHeader.Length());
-    if (buf)
-        {
-        TPtr ptr = buf->Des();
-        ptr.Append(ttsHeader);
-        ptr.Append(aTextToSay);
-        TRACE_PRN_N1(_L("TMS->CreateTTSPlayerL: Text:[%S]"), &ptr);
-        TRAPD(err, iTtsPlayer = TMSRtAudioHdlr::NewTtsL(*buf,
-                KAudioPriorityTextToSpeechCall, KAudioPrefTextToSpeechCall,
-                *this, EPlayerTts));
-        if (err == TMS_RESULT_SUCCESS)
-            {
-            iTtsToneToBePlayed = ETrue;
-            iRtParam.iTextToSay.Set(aTextToSay);
-            }
-        }
-    delete buf;
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::RemoveTTSPlayer
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::RemoveTTSPlayer()
-    {
-    TRACE_PRN_FN_ENT;
-
-    delete iTtsPlayer;
-    iTtsPlayer = NULL;
-    iTtsToneToBePlayed = EFalse;
-    iRtParam.iTextToSay.Set(KNullDesC());
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::PlayRingToneL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::PlayRingToneL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    // Check active Profile for any changes since Init()
-    // TODO: To improve perfomrance, instead of polling Profile settings,
-    //       consider subscribing to ProfilEngine P&S keys in CenRep.
-    LoadActiveProfileSettingsL();
-
-    switch (iRtParam.iType)
-        {
-        case EPlayerAudio:
-            {
-            PlayTtsTone();
-            PlayAudioRingToneL();
-            break;
-            }
-        case EPlayerBeepOnce:
-            BeepOnceL();
-            break;
-        case EPlayerSilent:
-            PlaySilentToneL();
-            break;
-        case EPlayerUnsecureVoIP:
-            PlayUnsecureVoIPToneL();
-            break;
-        case EPlayerDefault:
-            PlayTtsTone();
-            PlayDefaultToneL();
-            break;
-        case EPlayerBackup:
-            PlayBackupToneL();
-            break;
-        case EPlayerSequence:
-            PlaySequenceToneL();
-            break;
-        default:
-            break;
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::PlayAudioRingToneL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::PlayAudioRingToneL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (!iRtContainer || !CheckAndHandleToneSizeLimit(iRtContainer))
-        {
-        PlayDefaultToneL();
-        }
-    else if (iRtParam.iRingingType == EProfileRingingTypeSilent)
-        {
-        PlaySilentToneL();
-        }
-    else if (iRtParam.iRingingType == EProfileRingingTypeBeepOnce)
-        {
-        BeepOnceL();
-        }
-    else
-        {
-        if (!iAudioPlayer)
-            {
-            CreateAudioPlayerL();
-            if (!iTimer->IsRunning())
-                {
-                // If InitComplete event doesn't occur within permittable time,
-                // this will trigger fallback routine.
-                iTimer->NotifyAfter(KTMSMaxRingingWaiting, *this);
-                }
-            }
-
-        // Start playing.
-        if (!iAudioPlayer)
-            {
-            iTimer->CancelNotify();
-            PlayDefaultToneL();
-            }
-        else
-            {
-            iTonePlayingStatus = EAudioTonePlaying;
-            iAudioPlayer->Play(ConvertRingingType(iRtParam.iRingingType),
-                    iRtParam.iVolume, iTtsToneToBePlayed);
-            }
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::BeepOnceL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::BeepOnceL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (!iBeepOncePlayer)
-        {
-        CreateBeepOncePlayerL();
-        }
-    if (iBeepOncePlayer)
-        {
-        iTonePlayingStatus = EBeepOnce;
-        iBeepOncePlayer->Play(TMSRtAudioHdlr::ETypeRingingOnce,
-                iRtParam.iVolume, EFalse);
-        }
-    else
-        {
-        PlayDefaultToneL();
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::PlaySilentToneL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::PlaySilentToneL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (!iSilentPlayer)
-        {
-        CreateSilentPlayerL();
-        }
-    if (iSilentPlayer)
-        {
-        iTonePlayingStatus = ESilentTonePlaying;
-        iSilentPlayer->Play(TMSRtAudioHdlr::ETypeRinging, 0, EFalse);
-        }
-    else
-        {
-        PlayDefaultToneL();
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::PlayUnsecureVoIPToneL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::PlayUnsecureVoIPToneL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (!iUnsecureVoIPTonePlayer)
-        {
-        CreateUnsecureVoipPlayerL();
-        }
-    if (iUnsecureVoIPTonePlayer)
-        {
-        iTonePlayingStatus = EUnsecureVoIPTonePlaying;
-        iUnsecureVoIPTonePlayer->Play(TMSRtAudioHdlr::ETypeRingingOnce,
-                KRTDefaultVolume, EFalse);
-        }
-    else
-        {
-        PlayDefaultToneL();
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::PlaySequenceToneL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::PlaySequenceToneL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (iSequencePlayer)
-        {
-        iTonePlayingStatus = ESequenceTonePlaying;
-        iSequencePlayer->Play(ConvertRingingType(iRtParam.iRingingType),
-                iRtParam.iVolume, EFalse);
-        }
-    else
-        {
-        PlayDefaultToneL();
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::PlayTtsTone
-// Schedule TTS to play, if text has been provided
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::PlayTtsTone()
-    {
-    TRACE_PRN_FN_ENT;
-
-    TInt err = TMS_RESULT_SUCCESS;
-
-    if (iRtParam.iTextToSay.Length() && !iTtsPlayer)
-        {
-        TRAP(err, CreateTTSPlayerL(iRtParam.iTextToSay));
-        }
-    if (err == TMS_RESULT_SUCCESS && iTtsPlayer && iTtsToneToBePlayed)
-        {
-        iTtsDelayIndex = 0;
-        iTtsDelaysCount = KTMSTtsDelaysCount;
-
-        // Start TTS timer just before RT
-        if (!iTtsDelayTimer->IsRunning())
-            {
-            iTtsDelayTimer->NotifyAfter(KTMSTtsDelays[iTtsDelayIndex],
-                    TCallBack(HandleTtsDelayTimeout, this));
-            }
-        iTtsVolume = iRtParam.iVolume;
-        iTtsRingingType = iRtParam.iRingingType;
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::PlayBackupToneL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::PlayBackupToneL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    TInt err = TMS_RESULT_SUCCESS;
-
-    if (!iBackupPlayer)
-        {
-        TRAP(err, CreateBkpRtPlayerL());
-        }
-
-    if (iBackupPlayer && err == TMS_RESULT_SUCCESS)
-        {
-        iTonePlayingStatus = EBackupTonePlaying;
-        iTtsToneToBePlayed = EFalse;
-        iTTsTimeOutCounter = 0;
-        iTtsDelayTimer->CancelNotify();
-        if (iTtsPlayer)
-            {
-            iTtsPlayer->StopPlaying();
-            delete iTtsPlayer;
-            iTtsPlayer = NULL;
-            }
-        iBackupPlayer->Play(ConvertRingingType(iRtParam.iRingingType),
-                iRtParam.iVolume, EFalse);
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::PlayDefaultToneL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::PlayDefaultToneL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (iRtParam.iRingingType == EProfileRingingTypeSilent ||
-            iRtParam.iRingingType == EProfileRingingTypeBeepOnce)
-        {
-        return;
-        }
-
-    if (!iRtContainer)
-        {
-        // Default tone does not exist, play backup.
-        PlayBackupToneL();
-        return;
-        }
-
-    if (!iDefaultPlayer)
-        {
-        CreateDefaultRtPlayerL();
-        if (!iTimer->IsRunning())
-            {
-            // If InitComplete event doesn't occur within permittable time,
-            // this will trigger fallback routine.
-            iTimer->NotifyAfter(KTMSMaxRingingWaiting, *this);
-            }
-        }
-
-    // Start playing.
-    if (!iDefaultPlayer)
-        {
-        // Default player not ready, play backup.
-        iTimer->CancelNotify();
-        PlayBackupToneL();
-        }
-    else
-        {
-        iTonePlayingStatus = EDefaultTonePlaying;
-        iDefaultPlayer->Play(ConvertRingingType(iRtParam.iRingingType),
-                iRtParam.iVolume, iTtsToneToBePlayed);
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::StopPlaying
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::StopPlaying()
-    {
-    TRACE_PRN_FN_ENT;
-
-    iTtsToneToBePlayed = EFalse;
-    iTTsTimeOutCounter = 0;
-    iTtsDelayTimer->CancelNotify();
-    if (iTtsPlayer)
-        {
-        iTtsPlayer->StopPlaying();
-        delete iTtsPlayer;
-        iTtsPlayer = NULL;
-        }
-    iTimer->CancelNotify();
-
-    switch (iTonePlayingStatus)
-        {
-        case EAudioTonePlaying:
-            if (iAudioPlayer)
-                {
-                // Commented out to correct screen jamming after
-                // REComSession::FinalClose(). Audio player will be stopped
-                // in its destructor. Fixes EKKI-7WYG2G and JKAN-7XNGQU.
-                // iAudioPlayer->StopPlaying();
-                delete iAudioPlayer;
-                iAudioPlayer = NULL;
-                }
-            break;
-        case EDefaultTonePlaying:
-            if (iDefaultPlayer)
-                {
-                iDefaultPlayer->StopPlaying();
-                delete iDefaultPlayer;
-                iDefaultPlayer = NULL;
-                }
-            break;
-        case EBeepOnce:
-            if (iBeepOncePlayer)
-                {
-                iBeepOncePlayer->StopPlaying();
-                delete iBeepOncePlayer;
-                iBeepOncePlayer = NULL;
-                }
-            break;
-        case EBackupTonePlaying:
-            if (iBackupPlayer)
-                {
-                iBackupPlayer->StopPlaying();
-                }
-            break;
-        case ESilentTonePlaying:
-            if (iSilentPlayer)
-                {
-                iSilentPlayer->StopPlaying();
-                delete iSilentPlayer;
-                iSilentPlayer = NULL;
-                }
-            break;
-        case EUnsecureVoIPTonePlaying:
-            if (iUnsecureVoIPTonePlayer)
-                {
-                iUnsecureVoIPTonePlayer->StopPlaying();
-                delete iUnsecureVoIPTonePlayer;
-                iUnsecureVoIPTonePlayer = NULL;
-                }
-            break;
-        case ESequenceTonePlaying:
-            if (iSequencePlayer)
-                {
-                iSequencePlayer->StopPlaying();
-                delete iSequencePlayer;
-                iSequencePlayer = NULL;
-                }
-            break;
-        case EVideoTonePlaying: // video ringing tone
-        case EPersonalVideoTonePlaying:
-        case ESilentVideoTonePlaying:
-            if (iBeepOncePlayer != NULL)
-                {
-                iBeepOncePlayer->StopPlaying();
-                delete iBeepOncePlayer;
-                iBeepOncePlayer = NULL;
-                }
-            if (iSilentPlayer != NULL)
-                {
-                iSilentPlayer->StopPlaying();
-                delete iSilentPlayer;
-                iSilentPlayer = NULL;
-                }
-            if (iRtContainer)
-                {
-                delete iRtContainer;
-                iRtContainer = NULL;
-                }
-            break;
-        case EIdle:
-            // Do nothing here.
-            return;
-        default:
-            break;
-        }
-
-    iTonePlayingStatus = EIdle;
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::DeinitRingTonePlayer
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::DeinitRingTonePlayer()
-    {
-    StopPlaying();
-    RemovePlayers();
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::RemovePlayers
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::RemovePlayers()
-    {
-    delete iAudioPlayer;
-    iAudioPlayer = NULL;
-
-    delete iDefaultPlayer;
-    iDefaultPlayer = NULL;
-
-    delete iBeepOncePlayer;
-    iBeepOncePlayer = NULL;
-
-    delete iSilentPlayer;
-    iSilentPlayer = NULL;
-
-    delete iUnsecureVoIPTonePlayer;
-    iUnsecureVoIPTonePlayer = NULL;
-
-    delete iSequencePlayer;
-    iSequencePlayer = NULL;
-
-    delete iTtsPlayer;
-    iTtsPlayer = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::DeletePlayer
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::DeletePlayer()
-    {
-    switch (iTonePlayingStatus)
-        {
-        case EAudioTonePlaying:
-            DeletePlayerAsync(EPlayerAudio);
-            iAudioPlayer = NULL;
-            break;
-        case EDefaultTonePlaying:
-            DeletePlayerAsync(EPlayerDefault);
-            iDefaultPlayer = NULL;
-            break;
-        case ESilentTonePlaying:
-            DeletePlayerAsync(EPlayerSilent);
-            iSilentPlayer = NULL;
-            break;
-        case EUnsecureVoIPTonePlaying:
-            DeletePlayerAsync(EPlayerUnsecureVoIP);
-            iUnsecureVoIPTonePlayer = NULL;
-            break;
-        case EBeepOnce:
-            DeletePlayerAsync(EPlayerBeepOnce);
-            iBeepOncePlayer = NULL;
-            break;
-        case ESequenceTonePlaying:
-            DeletePlayerAsync(EPlayerSequence);
-            iSequencePlayer = NULL;
-            break;
-        case EBackupTonePlaying:
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::DeletePlayerAsync
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::DeletePlayerAsync(TRtPlayerType aPlayer)
-    {
-    TRACE_PRN_FN_ENT;
-
-    __ASSERT_DEBUG(aPlayer >= EPlayerFirst &&
-            aPlayer < iAsyncDeletePlayers.Count(),
-            PANIC(TMS_RESULT_INVALID_ARGUMENT));
-
-    // Player is deleted in HandleAsyncReq.
-
-    if (iAsyncDeletePlayers[aPlayer])
-        {
-        delete iAsyncDeletePlayers[aPlayer];
-        iAsyncDeletePlayers[aPlayer] = NULL;
-        }
-
-    TMSRtAudioHdlr** players[] = {
-        &iAudioPlayer,
-        &iBeepOncePlayer,
-        &iSilentPlayer,
-        &iUnsecureVoIPTonePlayer,
-        &iDefaultPlayer,
-        &iSequencePlayer,
-        &iBackupPlayer,
-        &iTtsPlayer
-        };
-
-    __ASSERT_DEBUG(iAsyncDeletePlayers.Count() > aPlayer,
-            PANIC(TMS_RESULT_ILLEGAL_OPERATION));
-
-    iAsyncDeletePlayers[aPlayer] = *(players[aPlayer]);
-    *(players[aPlayer]) = NULL;
-    iAsyncReq = ETrue;
-    if (!iAsyncReqAO->IsActive())
-        iAsyncReqAO->Start(); //Start async request
-
-    TRACE_PRN_FN_ENT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::HandleError
-// From TMSAsyncReqObsrv
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::HandleError(TInt /*aError*/)
-    {
-    // TODO: should we kill/restart a/o?
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::HandleAsyncReq
-// From TMSAsyncReqObsrv
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::HandleAsyncReq()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (iAsyncReq)
-        {
-        for (TInt i = EPlayerFirst; i <= EPlayerLast; i++)
-            {
-            delete iAsyncDeletePlayers[i];
-            iAsyncDeletePlayers[i] = NULL;
-            }
-        }
-    iAsyncReq = EFalse;
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::HandleTtsDelayTimeout
-// -----------------------------------------------------------------------------
-//
-TInt TMSRingTonePlayer::HandleTtsDelayTimeout(TAny* object)
-    {
-    static_cast<TMSRingTonePlayer*> (object)->DoHandleTtsDelayTimeout();
-    return TMS_RESULT_SUCCESS;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::DoHandleTtsDelayTimeout
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::DoHandleTtsDelayTimeout()
-    {
-    TRACE_PRN_FN_ENT;
-
-    TMSRtAudioHdlr* currPlayer = NULL;
-    currPlayer = GetCurrentlyActiveAudioPlayerWithTTS();
-
-    if (!currPlayer || !iTtsPlayer)
-        {
-        return;
-        }
-
-    TInt volume(0);
-
-    // Ascending case. TTS player needs to be ascending.
-    if (iTtsRingingType == EProfileRingingTypeAscending)
-        {
-        // Adjust volume for each ascending step
-        if (!iTTsTimeOutCounter)
-            {
-            // Playing caller's name for the first time in ascending mode.
-            volume = KTtsVolumeMin;
-            iTtsPlayer->Play(ConvertRingingType(EProfileRingingTypeRingingOnce),
-                    volume, iTtsToneToBePlayed);
-            }
-        else
-            {
-            // Checks the case that ringingtone is very quiet. Then do not play
-            // TTS too loud
-            volume = iTtsVolume < KTtsVolumeMin ?
-                KTtsVolumeMin : KTtsVolumeAscendingRepeat;
-
-            // We are saying callers name for the second time in ascending mode.
-            // Say callers name by volume level KTtsVolumeAscendingRepeat and
-            // decrease current players volume
-            // to KPlayerVolumeAscendingRepeat. RampTime is zero
-            currPlayer->SetNewVolumeAndRamptime(
-                    KPlayerVolumeAscendingRepeat, 0);
-            iTtsPlayer->Play(ConvertRingingType(EProfileRingingTypeRingingOnce),
-                    volume, iTtsToneToBePlayed);
-            }
-        }
-    else //Normal ringing case.
-        {
-        currPlayer->SetNewVolumeAndRamptime(iTtsVolume - 5, 0);
-        iTtsPlayer->Play(ConvertRingingType(EProfileRingingTypeRingingOnce),
-                iTtsVolume, iTtsToneToBePlayed);
-        }
-
-    iTTsTimeOutCounter++;
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::MuteRingTone
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::MuteRingTone()
-    {
-    TMSRtAudioHdlr* activePlayer = ActiveAudioPlayer();
-    if (activePlayer != NULL)
-        {
-        activePlayer->MutePlaying();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::RtAudioHdlrEvent
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::RtAudioHdlrEvent(TInt aEvent, TInt aError, TInt aPlayer)
-    {
-    if (aError == TMS_RESULT_SUCCESS)
-        {
-        switch (aEvent)
-            {
-            case ECmdRingToneOpenComplete:
-                if (aPlayer != EPlayerBackup && aPlayer != EPlayerTts)
-                    {
-                    HandleRtAudioInitComplete(aEvent, aError, aPlayer);
-                    }
-                break;
-            case ECmdRingTonePlayComplete:
-                HandleRtAudioPlayComplete(aEvent, aError, aPlayer);
-                break;
-            default:
-                //not possible
-                break;
-            }
-        }
-     else
-         {
-         HandleRtAudioError(aEvent, aError, aPlayer);
-         }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::HandleRtAudioError
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::HandleRtAudioError(TInt aEvent, TInt aError,
-        TInt aPlayer)
-    {
-    TRACE_PRN_N1(_L("TMS->HandleRtAudioError [%d]"), aError);
-
-    // Backup player events don't need to be propagated
-    if (aPlayer == EPlayerBackup)
-        {
-        return;
-        }
-    if (aPlayer == EPlayerTts && aEvent == ECmdRingTonePlayComplete)
-        {
-        // Remove TTS and keep playing RT
-        DeletePlayerAsync(EPlayerTts);
-        return;
-        }
-    const TBool deleteAll = (aError == KErrServerTerminated);
-    if (deleteAll)
-        {
-        // KErrServerTerminated is considered fatal error - delete all.
-        for (TInt i = EPlayerFirst; i <= EPlayerLast; i++)
-            {
-            DeletePlayerAsync(static_cast<TRtPlayerType> (i));
-            }
-        // Recreate backup player
-        TRAPD(ignore, CreateBkpRtPlayerL());
-        if (ignore) ;
-        }
-
-    iTimer->CancelNotify();
-    DoHandlePlayerError(!deleteAll, EFalse);
-    iRtObserver.RtPlayerEvent(aEvent, aError);
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::HandleRtAudioInitComplete
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::HandleRtAudioInitComplete(TInt aEvent, TInt aError,
-        TInt aPlayer)
-    {
-    if ((iTonePlayingStatus == EAudioTonePlaying && aPlayer == EPlayerAudio) ||
-            (iTonePlayingStatus == EDefaultTonePlaying &&
-            aPlayer == EPlayerDefault))
-        {
-        iTimer->CancelNotify();
-        }
-    else
-        {
-        iRtObserver.RtPlayerEvent(aEvent, aError);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::HandleRtAudioPlayComplete
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::HandleRtAudioPlayComplete(TInt aEvent, TInt aError,
-        TInt aPlayer)
-    {
-    TRACE_PRN_N2(_L("TMS->HandleRtAudioPlayComplete: player=[%d], err=[%d]"),
-            aPlayer, aError);
-
-    if (aPlayer == EPlayerTts)
-        {
-        ResumeTTS();
-        return;
-        }
-    // RT playback has completed: ring once and TTS is activated
-    else if (iRtParam.iRingingType == EProfileRingingTypeRingingOnce &&
-            iTtsToneToBePlayed)
-        {
-        // Ring once and TTS
-        if (iTtsDelayIndex < iTtsDelaysCount)
-            {
-            ReStartRingTonePlayer();
-            return;
-            }
-        }
-    // RT has completed: ringing and TTS is activated.
-    // We need to restart RT and new TTS iterations are required.
-    else if (iRtParam.iRingingType == EProfileRingingTypeRinging &&
-            iTtsToneToBePlayed)
-        {
-        // Ringing and TTS
-        if (iTtsDelayIndex == iTtsDelaysCount)
-            {
-            // Ringingtype is "Ringing". New TTS iterations are required.
-            // Need to restart TTS sequence TTS has completed its iterations,
-            // set index to zero.
-            iTtsDelayIndex = 0;
-            if (!iTtsDelayTimer->IsRunning())
-                {
-                // Restart TTS sequence
-                iTtsDelayTimer->NotifyAfter(KTMSTtsDelays[iTtsDelayIndex],
-                        TCallBack(HandleTtsDelayTimeout, this));
-                }
-            }
-
-        ReStartRingTonePlayer();
-        return;
-        }
-
-    DeletePlayer();
-    iTonePlayingStatus = EIdle;
-    iRtObserver.RtPlayerEvent(aEvent, aError);
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::ResumeTTS
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::ResumeTTS()
-    {
-    // TTS playing complete, normal tone player should volume up.
-    if ((iTtsToneToBePlayed) && (++iTtsDelayIndex < iTtsDelaysCount))
-        {
-        // Resuming after TTS first time
-        // Caller name is said once. Increase tone player volume.
-        SolveNewVolumeAndRamptime(ESaidOnce);
-
-        if (!iTtsDelayTimer->IsRunning())
-            {
-            // There are more TTS iterations to be played.
-            iTtsDelayTimer->NotifyAfter(KTMSTtsDelays[iTtsDelayIndex],
-                    TCallBack(HandleTtsDelayTimeout, this));
-            }
-        }
-    else
-        {
-        // Resuming after TTS second time.
-        SolveNewVolumeAndRamptime(ESaidTwice);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::TimerEvent
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::TimerEvent()
-    {
-    DoHandlePlayerError(ETrue, ETrue);
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::DoHandlePlayerError
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::DoHandlePlayerError(TBool aDelete, TBool aSync)
-    {
-    switch (iTonePlayingStatus)
-        {
-        case EAudioTonePlaying:
-            {
-            if (aDelete)
-                {
-                if (aSync)
-                    {
-                    delete iAudioPlayer;
-                    }
-                else
-                    {
-                    DeletePlayerAsync(EPlayerAudio);
-                    }
-                iAudioPlayer = NULL;
-                }
-
-#ifdef __WINSCW__
-            TRAP_IGNORE(PlayAudioRingToneL());
-            iTonePlayingStatus = EDefaultTonePlaying;
-#else
-            TRAP_IGNORE(PlayDefaultToneL());
-#endif //__WINSCW__
-            break;
-            }
-        case EDefaultTonePlaying:
-            {
-            if (aDelete)
-                {
-                if (aSync)
-                    {
-                    delete iDefaultPlayer;
-                    }
-                else
-                    {
-                    DeletePlayerAsync(EPlayerDefault);
-                    }
-                iDefaultPlayer = NULL;
-                }
-
-            TRAPD(ignore, PlayBackupToneL());
-            if (ignore) ;
-            break;
-            }
-        case ESilentTonePlaying:
-        case EBeepOnce:
-        case EBackupTonePlaying:
-        case EIdle:
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::ConvertRingingType
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr::TRingingType TMSRingTonePlayer::ConvertRingingType(
-        TProfileRingingType aRingingType)
-    {
-    TMSRtAudioHdlr::TRingingType ringingType = TMSRtAudioHdlr::ETypeRinging;
-    switch (aRingingType)
-        {
-        case EProfileRingingTypeRinging:
-            ringingType = TMSRtAudioHdlr::ETypeRinging;
-            break;
-        case EProfileRingingTypeAscending:
-            ringingType = TMSRtAudioHdlr::ETypeAscending;
-            break;
-        case EProfileRingingTypeRingingOnce:
-            ringingType = TMSRtAudioHdlr::ETypeRingingOnce;
-            break;
-        default:
-            break;
-        }
-    return ringingType;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::ExtendedSecurity
-// -----------------------------------------------------------------------------
-//
-TBool TMSRingTonePlayer::ExtendedSecurity() const
-    {
-    return iExtSecNeeded;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::SolveNewVolumeAndRamptime
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::SolveNewVolumeAndRamptime(TTtsStatus aStatus)
-    {
-    TMSRtAudioHdlr* currPlayer = NULL;
-    currPlayer = GetCurrentlyActiveAudioPlayerWithTTS();
-    if (!currPlayer)
-        {
-        return;
-        }
-
-    TInt ramptime(0);
-
-    // Handle TTS volume. TTS sequence is as follows:
-    // 3 sec, tone + name + 4 sec, tone + name + the tone until the end.
-    switch (aStatus)
-        {
-        case ESaidOnce:
-            {
-            if (iTtsRingingType == EProfileRingingTypeAscending)
-                {
-                // The ramptime could be (4)* KTMSTtsAscendingStep but now
-                // we are setting this to 0 because when caller's name is played
-                // for the first time: play ringing tone on level 3 for 4 secs.
-                ramptime = 0;
-                // Played once ascending
-                currPlayer->SetNewVolumeAndRamptime(
-                        KPlayerVolumeAscendingRepeat, ramptime);
-                }
-            else
-                {
-                // Normal ringtone case. Adjust volume back to profile level.
-                // Played once normal
-                currPlayer->SetNewVolumeAndRamptime(iTtsVolume, 0);
-                }
-            break;
-            }
-        case ESaidTwice:
-            {
-            if (iTtsRingingType == EProfileRingingTypeAscending)
-                {
-                TInt vol = iTtsVolume;
-                if (vol > KPlayerVolumeAscendingRepeat)
-                    {
-                    vol = vol - KTtsVolumeAscendingDecrease;
-                    }
-
-                // TTS playing complete for the second time. Increase volume.
-                ramptime = (vol) * KTMSTtsAscendingStep;
-                // Played twice ascending
-                currPlayer->SetNewVolumeAndRamptime(iTtsVolume, ramptime);
-                }
-            else
-                {
-                // Normal ringtone case. Adjust volume back to profile level.
-                // Played twice normal
-                currPlayer->SetNewVolumeAndRamptime(iTtsVolume, 0);
-                }
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::PlayerType
-// -----------------------------------------------------------------------------
-//
-TRtPlayerType TMSRingTonePlayer::PlayerType() const
-    {
-    return iRtParam.iType;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::GetCurrentlyActiveAudioPlayerWithTTS
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr* TMSRingTonePlayer::GetCurrentlyActiveAudioPlayerWithTTS()
-    {
-    TMSRtAudioHdlr* player = NULL;
-
-    if (iAudioPlayer)
-        {
-        player = iAudioPlayer;
-        }
-    else if (iDefaultPlayer)
-        {
-        player = iDefaultPlayer;
-        }
-    else if (iBackupPlayer)
-        {
-        player = iBackupPlayer;
-        }
-    return player;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::ReStartRingTonePlayer
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::ReStartRingTonePlayer()
-    {
-    // Find active player which plays along with TTS.
-    TMSRtAudioHdlr* currPlayer = NULL;
-    currPlayer = GetCurrentlyActiveAudioPlayerWithTTS();
-    if (currPlayer)
-        {
-        currPlayer->ReStartPlaying();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CheckAndHandleToneSizeLimit
-// -----------------------------------------------------------------------------
-//
-TBool TMSRingTonePlayer::CheckAndHandleToneSizeLimit(
-        TMSRtContainer* aRingingTone)
-    {
-    TBool bValidSize = ETrue;
-
-    // If RT size is too large, will play default tone instead.
-    if (iToneFileSizeLimitKB)
-        {
-        if (CheckToneFileSize(aRingingTone->FileName(), iToneFileSizeLimitKB)
-                != TMS_RESULT_SUCCESS)
-            {
-            bValidSize = EFalse;
-            }
-        }
-    return bValidSize;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::CheckToneFileSize
-// -----------------------------------------------------------------------------
-//
-TInt TMSRingTonePlayer::CheckToneFileSize(const TDesC& aFile, TInt aSizeLimitKB)
-    {
-    // Get file size
-    TInt size = 0;
-    TInt error = TMS_RESULT_SUCCESS;
-
-    RFs fs;
-    error = fs.Connect();
-
-    if (error == TMS_RESULT_SUCCESS)
-        {
-        TEntry entry;
-        if (TMS_RESULT_SUCCESS == fs.Entry(aFile, entry))
-            {
-            size = entry.iSize;
-            }
-        }
-    fs.Close();
-
-    aSizeLimitKB *= Kkilo;
-    if (aSizeLimitKB && size > aSizeLimitKB)
-        {
-        error = KErrTooBig;
-        }
-
-    TRACE_PRN_N1(_L("TMS->CheckToneFileSize: [%d]"), size);
-    return error;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::GetMaxToneFileSizeL
-// -----------------------------------------------------------------------------
-//
-void TMSRingTonePlayer::GetMaxToneFileSizeL(TInt& /*aMaxSizeKB*/) const
-    {/*
-     const TInt error = CPhoneCenRepProxy::Instance()->GetInt(
-     KCRUidProfileEngine, KProEngRingingToneMaxSize, aMaxSizeKB);
-
-     if (error != TMS_RESULT_SUCCESS)
-     {
-     aMaxSizeKB = 0;
-     }
-     if (aMaxSizeKB < 0)
-     {
-     aMaxSizeKB = 0;
-     }
-     */
-    //TRACE_PRN_N1("TMS->GetMaxToneFileSizeL: [%d]", aMaxSizeKB);
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRingTonePlayer::ActiveAudioPlayer
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr* TMSRingTonePlayer::ActiveAudioPlayer()
-    {
-    TMSRtAudioHdlr* audioHdlr = NULL;
-
-    switch (iTonePlayingStatus)
-        {
-        case EAudioTonePlaying:
-            {
-            if (iAudioPlayer != NULL)
-                {
-                audioHdlr = iAudioPlayer;
-                }
-            break;
-            }
-        case EDefaultTonePlaying:
-            {
-            if (iDefaultPlayer != NULL)
-                {
-                audioHdlr = iDefaultPlayer;
-                }
-            break;
-            }
-        case EBeepOnce:
-            {
-            if (iBeepOncePlayer != NULL)
-                {
-                audioHdlr = iBeepOncePlayer;
-                }
-            break;
-            }
-        case ESequenceTonePlaying:
-            {
-            if (iSequencePlayer != NULL)
-                {
-                audioHdlr = iSequencePlayer;
-                }
-            break;
-            }
-         case EBackupTonePlaying:
-             {
-            if (iBackupPlayer != NULL)
-                {
-                audioHdlr = iBackupPlayer;
-                }
-            break;
-             }
-        case ESilentTonePlaying:
-            {
-            if (iSilentPlayer != NULL)
-                {
-                audioHdlr = iSilentPlayer;
-                }
-            break;
-            }
-        case EUnsecureVoIPTonePlaying:
-            {
-            if (iUnsecureVoIPTonePlayer != NULL)
-                {
-                audioHdlr = iUnsecureVoIPTonePlayer;
-                }
-            break;
-            }
-        default:
-            break;
-        }
-
-    return audioHdlr;
-    }
-
--- a/mmserv/tms/tmsserver/src/tmsserver.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsserver/src/tmsserver.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -18,7 +18,6 @@
 #include <e32svr.h>
 #include <e32uid.h>
 #include <e32capability.h>
-#include <AudioPreference.h>
 #include "tmsutility.h"
 #include "tmsclientserver.h"
 #include "tmstelephonycenrep.h"
@@ -30,10 +29,6 @@
 #include "tmsglobaleffectssettings.h"
 #include "tmstareventhandler.h"
 #include "tmscenrepaudiohandler.h"
-#include "tmsdtmftoneplayer.h"
-#include "tmsdtmfprovider.h"
-#include "tmspubsublistener.h"
-#include "tmsrtparam.h"
 #include "tmsserver.h"
 
 using namespace TMS;
@@ -85,12 +80,7 @@
     delete iEffectSettings;
     delete iTarHandler;
     delete iAudioCenRepHandler;
-    DeinitRingTonePlayer();
-    delete iTMSRtPlayer;
-    delete iDTMFUplinkPlayer;
-    delete iDTMFUplinkPlayerEtel;
-    delete iDTMFDnlinkPlayer;
-    delete iSyncVol;
+
     TRACE_PRN_FN_EXT;
     }
 
@@ -139,14 +129,6 @@
     iTarHandler = NULL;
     iAudioCenRepHandler = NULL;
     iCurrentRouting = TMS_AUDIO_OUTPUT_PRIVATE;
-    iDTMFDnlinkPlayer = NULL;
-    iDTMFUplinkPlayer = NULL;
-    iDTMFUplinkPlayerEtel = NULL;
-    iActiveCallType = -1;
-    iSyncVol = TMSPubSubListener::NewL(KTMSPropertyCategory,ESyncVolume, this);
-
-    //TODO: EUnit fails to initialize ProfileEngine in RT in eshell mode
-    TRAP_IGNORE(InitRingTonePlayerL());
 
     // We need it running for global volume change updates
     StartRoutingNotifierL();
@@ -198,6 +180,46 @@
     }
 
 // -----------------------------------------------------------------------------
+// TMSServer::SetDnLinkSession
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::SetDnLinkSession(const TBool aSession)
+    {
+    iDnlinkSession = aSession;
+    }
+
+// -----------------------------------------------------------------------------
+// TMSServer::SetUpLinkSession
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::SetUpLinkSession(const TBool aSession)
+    {
+    iUplinkSession = aSession;
+    }
+
+// -----------------------------------------------------------------------------
+// TMSServer::HasDnLinkSession
+//
+// -----------------------------------------------------------------------------
+//
+TBool TMSServer::HasDnLinkSession() const
+    {
+    return iDnlinkSession;
+    }
+
+// -----------------------------------------------------------------------------
+// TMSServer::HasUpLinkSession
+//
+// -----------------------------------------------------------------------------
+//
+TBool TMSServer::HasUpLinkSession() const
+    {
+    return iUplinkSession;
+    }
+
+// -----------------------------------------------------------------------------
 // TMSServer::GetNewTMSCallSessionHandleL
 //
 // -----------------------------------------------------------------------------
@@ -240,7 +262,7 @@
 
     TInt status = TMS_RESULT_SUCCESS;
     TMSStartAndMonitorTMSCallThread* callServerThread = NULL;
-    TRAP(status, callServerThread = TMSStartAndMonitorTMSCallThread::NewL(
+    TRAP(status, callServerThread =TMSStartAndMonitorTMSCallThread::NewL(
             const_cast<TMSServer*>(this)));
     if (status != TMS_RESULT_SUCCESS)
         {
@@ -265,13 +287,11 @@
                 case TMS_AUDIO_OUTPUT_LOUDSPEAKER:
                     {
                     iEffectSettings->GetLoudSpkrVolume(volume);
-                    TRACE_PRN_N1(_L("loudspk vol %d"),volume);
                     }
                     break;
                 default:
                     {
                     iEffectSettings->GetEarPieceVolume(volume);
-                    TRACE_PRN_N1(_L("ear vol %d"),volume);
                     }
                     break;
                 }
@@ -544,11 +564,9 @@
         case TMS_AUDIO_OUTPUT_PUBLIC:
         case TMS_AUDIO_OUTPUT_LOUDSPEAKER:
             iEffectSettings->GetLoudSpkrVolume(volume);
-            TRACE_PRN_N1(_L("TMSServer::GetLevel loudspkr vol %d"),volume);
             break;
         default:
             iEffectSettings->GetEarPieceVolume(volume);
-            TRACE_PRN_N1(_L("TMSServer::GetLevel ear vol %d"),volume);
             break;
         }
 
@@ -606,12 +624,16 @@
             }
 
         iSessionIter.SetToFirst();
-        TMSServerSession* ss = static_cast<TMSServerSession*> (iSessionIter++);
-        while (ss != NULL)
+        TMSServerSession* serverSession =
+                static_cast<TMSServerSession*> (iSessionIter++);
+
+        while (serverSession != NULL)
             {
-            ss->HandleGlobalEffectChange(TMS_EVENT_EFFECT_VOL_CHANGED, level,
-                    EFalse, iCurrentRouting);
-            ss = static_cast<TMSServerSession*> (iSessionIter++);
+            serverSession->HandleGlobalEffectChange(
+                    TMS_EVENT_EFFECT_VOL_CHANGED, level, EFalse,
+                    iCurrentRouting);
+
+            serverSession = static_cast<TMSServerSession*> (iSessionIter++);
             }
         }
 
@@ -678,11 +700,15 @@
         iAudioCenRepHandler->SetMuteState(level);
         iEffectSettings->SetGain(level);
         iSessionIter.SetToFirst();
-        TMSServerSession* ss = static_cast<TMSServerSession*> (iSessionIter++);
-        while (ss != NULL)
+
+        TMSServerSession* serverSession =
+                static_cast<TMSServerSession*> (iSessionIter++);
+
+        while (serverSession != NULL)
             {
-            ss->HandleGlobalEffectChange(TMS_EVENT_EFFECT_GAIN_CHANGED, level);
-            ss = static_cast<TMSServerSession*> (iSessionIter++);
+            serverSession->HandleGlobalEffectChange(
+                    TMS_EVENT_EFFECT_GAIN_CHANGED, level);
+            serverSession = static_cast<TMSServerSession*> (iSessionIter++);
             }
         }
 
@@ -801,43 +827,32 @@
     TRACE_PRN_FN_ENT;
 
     TInt vol;
-    TInt status(TMS_RESULT_SUCCESS);
-    FindActiveCallType();
-
-    if (iActiveCallType == TMS_CALL_CS)
+    iCurrentRouting = routingpckg().iOutput;
+    if (iCurrentRouting == TMS_AUDIO_OUTPUT_PUBLIC ||
+            iCurrentRouting == TMS_AUDIO_OUTPUT_LOUDSPEAKER)
         {
-
-        iCurrentRouting = routingpckg().iOutput;
-        if (iCurrentRouting == TMS_AUDIO_OUTPUT_PUBLIC || 
-        	  iCurrentRouting == TMS_AUDIO_OUTPUT_LOUDSPEAKER)
-            {
-            iEffectSettings->GetLoudSpkrVolume(vol);
-            TRACE_PRN_N1(_L("TMSServer::NotifyTarClients loudspkr vol %d"),vol);
-            }
-        else
-            {
-            iEffectSettings->GetEarPieceVolume(vol);
-            TRACE_PRN_N1(_L("TMSServer::NotifyTarClients ear vol %d"),vol);
-            }
-
-        status = SendMessageToCallServ(TMS_EFFECT_GLOBAL_VOL_SET, vol);
+        iEffectSettings->GetLoudSpkrVolume(vol);
+        }
+    else
+        {
+        iEffectSettings->GetEarPieceVolume(vol);
         }
 
+    TInt status = SendMessageToCallServ(TMS_EFFECT_GLOBAL_VOL_SET, vol);
+
     iSessionIter.SetToFirst();
-    TMSServerSession* ss = static_cast<TMSServerSession*> (iSessionIter++);
-    while (ss != NULL)
+    TMSServerSession* serverSession =
+            static_cast<TMSServerSession*> (iSessionIter++);
+    while (serverSession != NULL)
         {
         // Send only if there is a subscriber to TMS routing notifications.
         if (iTarHandlerCount > 1)
             {
-            ss->HandleRoutingChange(routingpckg);
+            serverSession->HandleRoutingChange(routingpckg);
             }
-        if (iActiveCallType == TMS_CALL_CS)
-            {
-            ss->HandleGlobalEffectChange(TMS_EVENT_EFFECT_VOL_CHANGED, vol,
-                    ETrue, iCurrentRouting);
-            }
-        ss = static_cast<TMSServerSession*> (iSessionIter++);
+        serverSession->HandleGlobalEffectChange(TMS_EVENT_EFFECT_VOL_CHANGED,
+                vol, ETrue, iCurrentRouting);
+        serverSession = static_cast<TMSServerSession*> (iSessionIter++);
         }
 
     TRACE_PRN_FN_EXT;
@@ -845,603 +860,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// TMSServer::InitDTMF
-//
-// -----------------------------------------------------------------------------
-//
-TInt TMSServer::InitDTMF(const RMessage2& aMessage)
-    {
-    TRACE_PRN_FN_ENT;
-    TInt status(TMS_RESULT_SUCCESS);
-    TMSStreamType strmtype;
-    strmtype = (TMSStreamType) aMessage.Int0();
-
-    if (strmtype == TMS_STREAM_UPLINK)
-        {
-        if (!iDTMFUplinkPlayerEtel) //CS call
-            {
-            // Uses ETel for uplink
-            TRAP(status, iDTMFUplinkPlayerEtel = TMSDTMFProvider::NewL());
-            if (iDTMFUplinkPlayerEtel && status == TMS_RESULT_SUCCESS)
-                {
-                iDTMFUplinkPlayerEtel->AddObserver(*this);
-                }
-            }
-        if (!iDTMFUplinkPlayer) //IP call
-            {
-            TRAP(status, iDTMFUplinkPlayer = TMSAudioDtmfTonePlayer::NewL(*this,
-                    KAudioDTMFString, KAudioPriorityDTMFString));
-            }
-        }
-    else if (strmtype == TMS_STREAM_DOWNLINK)
-        {
-        if (!iDTMFDnlinkPlayer) //CS or IP call
-            {
-            TRAP(status, iDTMFDnlinkPlayer = TMSAudioDtmfTonePlayer::NewL(*this,
-                    KAudioDTMFString, KAudioPriorityDTMFString));
-            }
-        }
-
-    aMessage.Complete(status);
-    TRACE_PRN_FN_EXT;
-    return status;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::StartDTMF
-//
-// -----------------------------------------------------------------------------
-//
-TInt TMSServer::StartDTMF(const RMessage2& aMessage)
-    {
-    TRACE_PRN_FN_ENT;
-
-    TInt status(TMS_RESULT_SUCCESS);
-    TInt len(0);
-    TMSStreamType strmtype;
-    strmtype = (TMSStreamType) aMessage.Int0();
-    len = aMessage.GetDesLength(1);
-    if (len > 0)
-        {
-        HBufC* tone(NULL);
-        TRAP(status, tone = HBufC::NewL(len));
-        if (status == TMS_RESULT_SUCCESS)
-            {
-            TPtr ptr = tone->Des();
-            status = aMessage.Read(1, ptr);
-            TRACE_PRN_N(ptr);
-
-            if (strmtype == TMS_STREAM_UPLINK)
-                {
-#ifdef __WINSCW__
-                // Just to hear DTMF tones in Wins
-                iActiveCallType = TMS_CALL_IP;
-#else
-                FindActiveCallType();
-#endif
-                if (iActiveCallType == TMS_CALL_IP && iDTMFUplinkPlayer)
-                    {
-                    iDTMFUplinkPlayer->PlayDtmfTone(ptr);
-                    status = TMS_RESULT_SUCCESS;
-                    }
-                else if (iActiveCallType == TMS_CALL_CS &&
-                        iDTMFUplinkPlayerEtel)
-                    {
-                    status = iDTMFUplinkPlayerEtel->SendDtmfToneString(ptr);
-                    }
-                else
-                    {
-                    status = TMS_RESULT_INVALID_STATE;
-                    }
-                NotifyDtmfClients(ECmdDTMFToneUplPlayStarted, status);
-                }
-            else if (strmtype == TMS_STREAM_DOWNLINK)
-                {
-                status = TMS_RESULT_INVALID_STATE;
-                if (iDTMFDnlinkPlayer)
-                    {
-                    iDTMFDnlinkPlayer->PlayDtmfTone(ptr);
-                    status = TMS_RESULT_SUCCESS;
-                    }
-                NotifyDtmfClients(ECmdDTMFToneDnlPlayStarted, status);
-                }
-            else
-                {
-                status = TMS_RESULT_STREAM_TYPE_NOT_SUPPORTED;
-                }
-            }
-        delete tone;
-        tone = NULL;
-        }
-
-    aMessage.Complete(status);
-    TRACE_PRN_FN_EXT;
-    return status;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::StopDTMF
-//
-// -----------------------------------------------------------------------------
-//
-TInt TMSServer::StopDTMF(const RMessage2& aMessage)
-    {
-    TRACE_PRN_FN_ENT;
-
-    TInt status(TMS_RESULT_INVALID_STATE);
-    TMSStreamType streamtype;
-    streamtype = (TMSStreamType) aMessage.Int0();
-
-    if (streamtype == TMS_STREAM_UPLINK)
-        {
-        if (iActiveCallType == TMS_CALL_IP && iDTMFUplinkPlayer)
-            {
-            iDTMFUplinkPlayer->Cancel();
-            status = TMS_RESULT_SUCCESS;
-            }
-        else if (iActiveCallType == TMS_CALL_CS &&
-                iDTMFUplinkPlayerEtel)
-            {
-            status = iDTMFUplinkPlayerEtel->StopDtmfTone();
-            status = TMSUtility::EtelToTMSResult(status);
-            }
-        }
-    else if (streamtype == TMS_STREAM_DOWNLINK)
-        {
-        if (iDTMFDnlinkPlayer)
-            {
-            iDTMFDnlinkPlayer->Cancel();
-            status = TMS_RESULT_SUCCESS;
-            }
-        }
-    iActiveCallType = -1;
-    NotifyDtmfClients(ECmdDTMFTonePlayFinished, status);
-    aMessage.Complete(status);
-    TRACE_PRN_FN_EXT;
-    return status;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::ContinueSendingDTMF
-//
-// -----------------------------------------------------------------------------
-//
-TInt TMSServer::ContinueSendingDTMF(const RMessage2& aMessage)
-    {
-    TRACE_PRN_FN_ENT;
-    TInt status(TMS_RESULT_INVALID_STATE);
-    if (iActiveCallType == TMS_CALL_CS && iDTMFUplinkPlayerEtel)
-        {
-        TBool continuesnd = (TBool) aMessage.Int0();
-        status = iDTMFUplinkPlayerEtel->ContinueDtmfStringSending(continuesnd);
-        status = TMSUtility::EtelToTMSResult(status);
-        }
-    aMessage.Complete(status);
-    TRACE_PRN_FN_EXT;
-    return status;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::NotifyDtmfClients
-//
-// -----------------------------------------------------------------------------
-//
-TInt TMSServer::NotifyDtmfClients(gint aEventType, gint aError)
-    {
-    TRACE_PRN_FN_ENT;
-    iSessionIter.SetToFirst();
-    TMSServerSession* ss = static_cast<TMSServerSession*> (iSessionIter++);
-    while (ss != NULL)
-        {
-        ss->NotifyClient(aEventType, aError);
-        ss = static_cast<TMSServerSession*> (iSessionIter++);
-        }
-    TRACE_PRN_FN_EXT;
-    return TMS_RESULT_SUCCESS;
-    }
-
-//From DTMFTonePlayerObserver
-// -----------------------------------------------------------------------------
-// TMSServer::DTMFInitCompleted
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::DTMFInitCompleted(gint status)
-    {
-    TRACE_PRN_FN_ENT;
-    if (status != TMS_RESULT_SUCCESS)
-        {
-        NotifyDtmfClients(ECmdDTMFTonePlayFinished, status);
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::DTMFToneFinished
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::DTMFToneFinished(gint status)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_IF_ERR(status);
-
-    // KErrUnderflow indicates end of DTMF playback.
-    if (status == KErrUnderflow /*|| status == KErrInUse*/)
-        {
-        status = TMS_RESULT_SUCCESS;
-        }
-    NotifyDtmfClients(ECmdDTMFTonePlayFinished, status);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::FindActiveCallType
-//
-// -----------------------------------------------------------------------------
-//
-gint TMSServer::FindActiveCallType()
-    {
-    TInt status(TMS_RESULT_INVALID_STATE);
-    iActiveCallType = -1;
-    TInt i = 0;
-    while (i < iTMSCallServList.Count())
-        {
-        TMSStartAndMonitorTMSCallThread* callThread = iTMSCallServList[i];
-        if (callThread)
-            {
-            TmsCallMsgBufPckg pckg;
-            TIpcArgs args(&pckg);
-            status = callThread->iTMSCallProxyLocal.ReceiveFromCallServer(
-                    TMS_GET_ACTIVE_CALL_PARAMS, args);
-            if (pckg().iBool || status != TMS_RESULT_SUCCESS)
-                {
-                iActiveCallType = static_cast<TMSCallType> (pckg().iInt);
-                break;
-                }
-            }
-        i++;
-        }
-    return status;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::HandleDTMFEvent
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::HandleDTMFEvent(const TMSDTMFObserver::TCCPDtmfEvent event,
-        const gint status, const TChar /*tone*/)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_IF_ERR(status);
-    gint cmd = ECmdDTMFTonePlayFinished;
-
-    switch (event)
-        {
-        case ECCPDtmfUnknown:               //Unknown
-            break;
-        case ECCPDtmfManualStart:           //DTMF sending started manually
-        case ECCPDtmfSequenceStart:         //Automatic DTMF sending initialized
-            cmd = ECmdDTMFToneUplPlayStarted;
-            break;
-        case ECCPDtmfManualStop:            //DTMF sending stopped manually
-        case ECCPDtmfManualAbort:           //DTMF sending aborted manually
-        case ECCPDtmfSequenceStop:          //Automatic DTMF sending stopped
-        case ECCPDtmfSequenceAbort:         //Automatic DTMF sending aborted
-        case ECCPDtmfStopInDtmfString:      //There was stop mark in DTMF string
-        case ECCPDtmfStringSendingCompleted://DTMF sending success
-        default:
-            break;
-        }
-
-    NotifyDtmfClients(cmd, status);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::InitRingTonePlayerL
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::InitRingTonePlayerL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    DeinitRingTonePlayer();
-
-    if (!iTMSRtPlayer)
-        {
-        iTMSRtPlayer = TMSRingTonePlayer::NewL(*this);
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::DeinitRingTonePlayer
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::DeinitRingTonePlayer()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (iTMSRtPlayer)
-        {
-        iTMSRtPlayer->DeinitRingTonePlayer();
-        }
-
-    delete iRtFile;
-    iRtFile = NULL;
-    delete iRtSequence;
-    iRtSequence = NULL;
-    delete iTtsText;
-    iTtsText = NULL;
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::OpenRingTonePlayerFromFileL
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::OpenRingTonePlayerFromFileL(const RMessage2& aMessage)
-    {
-    TRACE_PRN_FN_ENT;
-
-    gint status(TMS_RESULT_INVALID_ARGUMENT);
-    gint len = aMessage.GetDesLength(0);
-    if (len > 0)
-        {
-        InitRingTonePlayerL();
-
-        if (iTMSRtPlayer)
-            {
-            iRtFile = HBufC::NewL(len);
-            TPtr ptr = iRtFile->Des();
-            aMessage.ReadL(0, ptr);
-            iTMSRtPlayer->CreateRingTonePlayerL(EPlayerAudio, *iRtFile);
-            len = aMessage.GetDesLength(1);
-            if (len > 0)
-                {
-                delete iTtsText;
-                iTtsText = NULL;
-                iTtsText = HBufC::NewL(len);
-                TPtr ptr1 = iTtsText->Des();
-                aMessage.ReadL(1, ptr1);
-                iTMSRtPlayer->CreateTTSPlayerL(ptr1);
-                }
-            status = TMS_RESULT_SUCCESS;
-            }
-        }
-    aMessage.Complete(status);
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::OpenRingTonePlayerFromProfileL
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::OpenRingTonePlayerFromProfileL(const RMessage2& aMessage)
-    {
-    TRACE_PRN_FN_ENT;
-
-    gint status(TMS_RESULT_INVALID_ARGUMENT);
-    InitRingTonePlayerL();
-
-    if (iTMSRtPlayer)
-        {
-        iTMSRtPlayer->CreateRingTonePlayerL(EPlayerDefault);
-        gint len = aMessage.GetDesLength(1);
-        if (len > 0)
-            {
-            delete iTtsText;
-            iTtsText = NULL;
-            iTtsText = HBufC::NewL(len);
-            TPtr ptr = iTtsText->Des();
-            aMessage.ReadL(1, ptr);
-            iTMSRtPlayer->CreateTTSPlayerL(ptr);
-            }
-        status = TMS_RESULT_SUCCESS;
-        }
-    aMessage.Complete(status);
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::OpenRingToneSequencePlayerL
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::OpenRingToneSequencePlayerL(const RMessage2& aMessage)
-    {
-    TRACE_PRN_FN_ENT;
-
-    gint status(TMS_RESULT_INVALID_ARGUMENT);
-    gint len = aMessage.GetDesLength(0);
-    if (len > 0)
-        {
-        InitRingTonePlayerL();
-        iRtSequence = HBufC8::NewL(len);
-        TPtr8 ptr = iRtSequence->Des();
-        aMessage.ReadL(0, ptr);
-
-        if (iTMSRtPlayer)
-            {
-            iTMSRtPlayer->CreateCustomSequencePlayerL(ptr);
-            status = TMS_RESULT_SUCCESS;
-            }
-        }
-    aMessage.Complete(status);
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::OpenRingToneBeepOnceL
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::OpenRingToneBeepOnceL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    InitRingTonePlayerL();
-
-    if (iTMSRtPlayer)
-        {
-        iTMSRtPlayer->CreateSequencePlayerL(EPlayerBeepOnce);
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::DeinitRingTone
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::OpenRingToneSilentL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    InitRingTonePlayerL();
-
-    if (iTMSRtPlayer)
-        {
-        iTMSRtPlayer->CreateSequencePlayerL(EPlayerSilent);
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::OpenRingToneUnsecureVoipL
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::OpenRingToneUnsecureVoipL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    InitRingTonePlayerL();
-
-    if (iTMSRtPlayer)
-        {
-        iTMSRtPlayer->CreateSequencePlayerL(EPlayerUnsecureVoIP);
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::PlayRingToneL
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::PlayRingToneL()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (iTMSRtPlayer)
-        {
-        iTMSRtPlayer->PlayRingToneL();
-        }
-    else
-        {
-        User::Leave(TMS_RESULT_UNINITIALIZED_OBJECT);
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::PauseVideoRingTone
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::PauseVideoRingTone()
-    {
-    StopRingTone();
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::StopRingTone
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::StopRingTone()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (iTMSRtPlayer)
-        {
-        iTMSRtPlayer->StopPlaying();
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::MuteRingTone
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::MuteRingTone()
-    {
-    TRACE_PRN_FN_ENT;
-
-    if (iTMSRtPlayer)
-        {
-        iTMSRtPlayer->MuteRingTone();
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::RtPlayerEvent
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::RtPlayerEvent(gint aEventType, gint aError)
-    {
-    TRACE_PRN_FN_ENT;
-
-    iSessionIter.SetToFirst();
-    TMSServerSession* ss = static_cast<TMSServerSession*> (iSessionIter++);
-
-    while (ss != NULL)
-        {
-        ss->NotifyClient(aEventType, aError);
-        ss = static_cast<TMSServerSession*> (iSessionIter++);
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServer::HandleNotifyPSL
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::HandleNotifyPSL(const TUid aUid, const TInt& aKey,
-            const TRequestStatus& aStatus)
-    {
-    TRACE_PRN_FN_ENT;
-    if(iEffectSettings)
-        {
-        iEffectSettings->ResetDefaultVolume();
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
 // TMSServer::RunServerL
 //
 // -----------------------------------------------------------------------------
@@ -1725,3 +1143,4 @@
     return r;
     }
 
+// End of file
--- a/mmserv/tms/tmsserver/src/tmsserversession.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsserver/src/tmsserversession.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -15,11 +15,10 @@
  *
  */
 
+#include <AudioPreference.h>
 #include "tmsutility.h"
 #include "tmsclientserver.h"
 #include "tmsshared.h"
-#include "tmsaudioinbandtoneplayer.h"
-#include "tmsrtplayer.h"
 #include "tmsserversession.h"
 
 using namespace TMS;
@@ -51,7 +50,6 @@
 
     iServer.DropSession(); // will start shutdown if no more sessions left
     delete iDevSound;
-    delete iInbandTonePlayer;
 
     if (iMsgQueue.Handle() > 0)
         {
@@ -180,74 +178,6 @@
         case ETMSGetMaxGlobalGain:
             iServer.GetMaxGain(aMessage);
             break;
-        case ETMSRingToneInitDefault:
-            iHasRtPlayer = ETrue;
-            iServer.OpenRingTonePlayerFromProfileL(aMessage);
-            break;
-        case ETMSRingToneInitFile:
-            iHasRtPlayer = ETrue;
-            iServer.OpenRingTonePlayerFromFileL(aMessage);
-            break;
-        case ETMSRingToneInitSequence:
-            iHasRtPlayer = ETrue;
-            iServer.OpenRingToneSequencePlayerL(aMessage);
-            break;
-        case ETMSRingToneInitBeepOnce:
-            iHasRtPlayer = ETrue;
-            iServer.OpenRingToneBeepOnceL();
-            aMessage.Complete(TMS_RESULT_SUCCESS);
-            break;
-        case ETMSRingToneInitSilent:
-            iHasRtPlayer = ETrue;
-            iServer.OpenRingToneSilentL();
-            aMessage.Complete(TMS_RESULT_SUCCESS);
-            break;
-        case ETMSRingToneInitUnsecureVoIP:
-            iHasRtPlayer = ETrue;
-            iServer.OpenRingToneUnsecureVoipL();
-            aMessage.Complete(TMS_RESULT_SUCCESS);
-            break;
-        case ETMSRingToneDeinit:
-            iServer.DeinitRingTonePlayer();
-            NotifyClient(ECmdRingToneDeinitComplete, KErrNone);
-            iHasRtPlayer = EFalse;
-            aMessage.Complete(TMS_RESULT_SUCCESS);
-            break;
-        case ETMSRingTonePlay:
-            iHasRtPlayer = ETrue; //will play w/o prior initialization
-            iServer.PlayRingToneL();
-            aMessage.Complete(TMS_RESULT_SUCCESS);
-            break;
-        case ETMSRingTonePause:
-            iServer.PauseVideoRingTone();
-            aMessage.Complete(TMS_RESULT_SUCCESS);
-            break;
-        case ETMSRingToneStop:
-            iServer.StopRingTone();
-            aMessage.Complete(TMS_RESULT_SUCCESS);
-            break;
-        case ETMSRingToneMute:
-            iServer.MuteRingTone();
-            aMessage.Complete(TMS_RESULT_SUCCESS);
-            break;
-        case ETMSInitDTMF:
-            iServer.InitDTMF(aMessage);
-            break;
-        case ETMSStartDTMF:
-            iServer.StartDTMF(aMessage);
-            break;
-        case ETMSStopDTMF:
-            iServer.StopDTMF(aMessage);
-            break;
-        case ETMSContinueDTMF:
-            iServer.ContinueSendingDTMF(aMessage);
-            break;
-        case ETMSStartInbandTone:
-            StartInbandTone(aMessage);
-            break;
-        case ETMSStopInbandTone:
-            StopInbandTone(aMessage);
-            break;
         default:
             User::Leave(KErrNotSupported);
             break;
@@ -453,61 +383,11 @@
     }
 
 // -----------------------------------------------------------------------------
-// TMSServerSession::StartInbandTone
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServerSession::StartInbandTone(const RMessage2& aMessage)
-    {
-    if (!iInbandTonePlayer)
-        {
-        //TODO: Add inband tone observer
-        iInbandTonePlayer = TMSAudioInbandTonePlayer::NewL();
-        }
-
-    if (iInbandTonePlayer)
-        {
-        TMSInbandToneType tonetype = (TMSInbandToneType) aMessage.Int0();
-        iInbandTonePlayer->PlayInbandTone(tonetype);
-        }
-
-    //TODO: Move to inband tone observer callback
-    NotifyClient(ECmdInbandToneStarted);
-    aMessage.Complete(TMS_RESULT_SUCCESS);
-    }
-
-// -----------------------------------------------------------------------------
-// TMSServerSession::StopInbandTone
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServerSession::StopInbandTone(const RMessage2& aMessage)
-    {
-    if (iInbandTonePlayer)
-        {
-        iInbandTonePlayer->Cancel();
-        }
-
-    //TODO: Move to inband tone observer callback
-    NotifyClient(ECmdInbandToneStopped);
-    aMessage.Complete(TMS_RESULT_SUCCESS);
-    }
-
-// -----------------------------------------------------------------------------
 // TMSServerSession::NotifyClient
 // -----------------------------------------------------------------------------
 //
 void TMSServerSession::NotifyClient(const TInt aCommand, const TInt aStatus)
     {
-    if (aCommand == ECmdRingToneOpenComplete ||
-            aCommand == ECmdRingToneOpenComplete)
-        {
-        if (!iHasRtPlayer)
-            {
-            return;
-            }
-        }
-
     iMsgBuffer.iRequest = aCommand;
     iMsgBuffer.iStatus = aStatus;
     if (iMsgQueue.Handle() > 0)
@@ -516,3 +396,4 @@
         }
     }
 
+// End of file
--- a/mmserv/tms/tmsserver/src/tmstareventhandler.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsserver/src/tmstareventhandler.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -108,12 +108,5 @@
     TRACE_PRN_FN_EXT;
     }
 
-// -----------------------------------------------------------------------------
-// TMSTarEventHandler::RunError
-// -----------------------------------------------------------------------------
-//
-TInt TMSTarEventHandler::RunError(TInt aError)
-    {
-    return aError;
-    }
+//  End of File
 
--- a/mmserv/tms/tmsutility/bwins/tmsutility.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsutility/bwins/tmsutility.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,15 +1,8 @@
 EXPORTS
-	?NewL@TMSTimer@TMS@@SAPAV12@H@Z @ 1 NONAME ; class TMS::TMSTimer * TMS::TMSTimer::NewL(int)
-	?EtelToTMSResult@TMSUtility@TMS@@SAHH@Z @ 2 NONAME ; int TMS::TMSUtility::EtelToTMSResult(int)
-	?ToTMSOutput@TMSUtility@TMS@@SAHW4TAudioOutput@CTelephonyAudioRouting@@@Z @ 3 NONAME ; int TMS::TMSUtility::ToTMSOutput(enum CTelephonyAudioRouting::TAudioOutput)
-	?IsRunning@TMSTimer@TMS@@QAEHXZ @ 4 NONAME ; int TMS::TMSTimer::IsRunning(void)
-	?TMSResult@TMSUtility@TMS@@SAHH@Z @ 5 NONAME ; int TMS::TMSUtility::TMSResult(int)
-	?CancelNotify@TMSTimer@TMS@@QAEXXZ @ 6 NONAME ; void TMS::TMSTimer::CancelNotify(void)
-	?FourCCToTMSFormat@TMSUtility@TMS@@SAHK@Z @ 7 NONAME ; int TMS::TMSUtility::FourCCToTMSFormat(unsigned long)
-	?NotifyAfter@TMSTimer@TMS@@QAEXHAAVTMSTimerObserver@2@@Z @ 8 NONAME ; void TMS::TMSTimer::NotifyAfter(int, class TMS::TMSTimerObserver &)
-	?ToTAROutput@TMSUtility@TMS@@SA?AW4TAudioOutput@CTelephonyAudioRouting@@H@Z @ 9 NONAME ; enum CTelephonyAudioRouting::TAudioOutput TMS::TMSUtility::ToTAROutput(int)
-	?SymbianResult@TMSUtility@TMS@@SAHH@Z @ 10 NONAME ; int TMS::TMSUtility::SymbianResult(int)
-	?ToFourCC@TMSUtility@TMS@@SAKH@Z @ 11 NONAME ; unsigned long TMS::TMSUtility::ToFourCC(int)
-	??1TMSTimer@TMS@@UAE@XZ @ 12 NONAME ; TMS::TMSTimer::~TMSTimer(void)
-	?NotifyAfter@TMSTimer@TMS@@QAEXHVTCallBack@@@Z @ 13 NONAME ; void TMS::TMSTimer::NotifyAfter(int, class TCallBack)
+	?FourCCToTMSFormat@TMSUtility@TMS@@SAHK@Z @ 1 NONAME ; int TMS::TMSUtility::FourCCToTMSFormat(unsigned long)
+	?ToTAROutput@TMSUtility@TMS@@SA?AW4TAudioOutput@CTelephonyAudioRouting@@H@Z @ 2 NONAME ; enum CTelephonyAudioRouting::TAudioOutput TMS::TMSUtility::ToTAROutput(int)
+	?ToFourCC@TMSUtility@TMS@@SAKH@Z @ 3 NONAME ; unsigned long TMS::TMSUtility::ToFourCC(int)
+	?EtelToTMSResult@TMSUtility@TMS@@SAHH@Z @ 4 NONAME ; int TMS::TMSUtility::EtelToTMSResult(int)
+	?ToTMSOutput@TMSUtility@TMS@@SAHW4TAudioOutput@CTelephonyAudioRouting@@@Z @ 5 NONAME ; int TMS::TMSUtility::ToTMSOutput(enum CTelephonyAudioRouting::TAudioOutput)
+	?TMSResult@TMSUtility@TMS@@SAHH@Z @ 6 NONAME ; int TMS::TMSUtility::TMSResult(int)
 
--- a/mmserv/tms/tmsutility/eabi/tmsutility.def	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsutility/eabi/tmsutility.def	Wed Sep 01 12:23:00 2010 +0100
@@ -1,19 +1,8 @@
 EXPORTS
 	_ZN3TMS10TMSUtility11ToTAROutputEi @ 1 NONAME
 	_ZN3TMS10TMSUtility11ToTMSOutputEN22CTelephonyAudioRouting12TAudioOutputE @ 2 NONAME
-	_ZN3TMS10TMSUtility13SymbianResultEi @ 3 NONAME
-	_ZN3TMS10TMSUtility15EtelToTMSResultEi @ 4 NONAME
-	_ZN3TMS10TMSUtility17FourCCToTMSFormatEm @ 5 NONAME
-	_ZN3TMS10TMSUtility8ToFourCCEi @ 6 NONAME
-	_ZN3TMS10TMSUtility9TMSResultEi @ 7 NONAME
-	_ZN3TMS8TMSTimer11NotifyAfterEi9TCallBack @ 8 NONAME
-	_ZN3TMS8TMSTimer11NotifyAfterEiRNS_16TMSTimerObserverE @ 9 NONAME
-	_ZN3TMS8TMSTimer12CancelNotifyEv @ 10 NONAME
-	_ZN3TMS8TMSTimer4NewLEi @ 11 NONAME
-	_ZN3TMS8TMSTimer9IsRunningEv @ 12 NONAME
-	_ZN3TMS8TMSTimerD0Ev @ 13 NONAME
-	_ZN3TMS8TMSTimerD1Ev @ 14 NONAME
-	_ZN3TMS8TMSTimerD2Ev @ 15 NONAME
-	_ZTIN3TMS8TMSTimerE @ 16 NONAME
-	_ZTVN3TMS8TMSTimerE @ 17 NONAME
+	_ZN3TMS10TMSUtility15EtelToTMSResultEi @ 3 NONAME
+	_ZN3TMS10TMSUtility17FourCCToTMSFormatEm @ 4 NONAME
+	_ZN3TMS10TMSUtility8ToFourCCEi @ 5 NONAME
+	_ZN3TMS10TMSUtility9TMSResultEi @ 6 NONAME
 
--- a/mmserv/tms/tmsutility/group/tmsutility.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsutility/group/tmsutility.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -38,9 +38,7 @@
 
 SOURCEPATH      ../src
 SOURCE          tmsutility.cpp
-SOURCE          tmstimer.cpp
 
-LIBRARY         euser.lib
 LIBRARY         libc.lib
 LIBRARY         libglib.lib
 
--- a/mmserv/tms/tmsutility/src/tmstimer.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:
- *
- * Description: Telephony Multimedia Service
- *
- */
-
-// INCLUDE FILES
-#include "tmstimer.h"
-
-using namespace TMS;
-
-// -----------------------------------------------------------------------------
-// Constructor
-// -----------------------------------------------------------------------------
-//
-TMSTimer::TMSTimer(gint aPriority) :
-    CTimer(aPriority)
-    {
-    CActiveScheduler::Add(this);
-    }
-
-// -----------------------------------------------------------------------------
-// TMSTimer::ConstructL
-// -----------------------------------------------------------------------------
-//
-void TMSTimer::ConstructL()
-    {
-    CTimer::ConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// TMSTimer::NewL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TMSTimer* TMSTimer::NewL(gint aPriority)
-    {
-    TMSTimer* self = new (ELeave) TMSTimer(aPriority);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSTimer::~TMSTimer
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TMSTimer::~TMSTimer()
-    {
-    Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-// TMSTimer::NotifyAfter
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TMSTimer::NotifyAfter(gint timeout, TCallBack callback)
-    {
-    if (IsActive())
-        {
-        Cancel();
-        }
-    iObserver = NULL;
-    iCallBack = callback;
-    CTimer::After(TTimeIntervalMicroSeconds32(timeout));
-    }
-
-// -----------------------------------------------------------------------------
-// TMSTimer::NotifyAfter
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TMSTimer::NotifyAfter(gint timeout, TMSTimerObserver& observer)
-    {
-    if (IsActive())
-        {
-        Cancel();
-        }
-    iObserver = &observer;
-    CTimer::After(TTimeIntervalMicroSeconds32(timeout));
-    }
-
-// -----------------------------------------------------------------------------
-//  TMSTimer::CancelNotify
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TMSTimer::CancelNotify()
-    {
-    Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-// TMSTimer::IsRunning
-// -----------------------------------------------------------------------------
-//
-EXPORT_C gboolean TMSTimer::IsRunning()
-    {
-    return IsActive();
-    }
-
-// -----------------------------------------------------------------------------
-// TMSTimer::RunL()
-// -----------------------------------------------------------------------------
-//
-void TMSTimer::RunL()
-    {
-    // Currently RunL doesn't leave.
-    if (iObserver)
-        {
-        iObserver->TimerEvent();
-        }
-    else
-        {
-        iCallBack.CallBack();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSTimer::RunError()
-// -----------------------------------------------------------------------------
-//
-TInt TMSTimer::RunError(TInt aError)
-    {
-    return aError;
-    }
-
-// -----------------------------------------------------------------------------
-//  TMSTimer::DoCancel
-// -----------------------------------------------------------------------------
-//
-void TMSTimer::DoCancel()
-    {
-    iObserver = NULL;
-    CTimer::DoCancel();
-    }
-
-//  End of File
--- a/mmserv/tms/tmsutility/src/tmsutility.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/tms/tmsutility/src/tmsutility.cpp	Wed Sep 01 12:23:00 2010 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
  * All rights reserved.
  * This component and the accompanying materials are made available
  * under the terms of "Eclipse Public License v1.0"
@@ -120,52 +120,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// TMSUtility::SymbianResult
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt TMSUtility::SymbianResult(const gint aError)
-    {
-    TInt result(KErrNone);
-
-    if (aError <= TMS_RESULT_SUCCESS)
-        {
-        return aError; //return Symbian error
-        }
-
-    switch (aError)
-        {
-        case TMS_RESULT_DOES_NOT_EXIST:
-            result = KErrNotFound;
-            break;
-        case TMS_RESULT_OPERATION_CANCELLED:
-            result = KErrCancel;
-            break;
-        case TMS_RESULT_INSUFFICIENT_MEMORY:
-            result = KErrNoMemory;
-            break;
-        case TMS_RESULT_ILLEGAL_OPERATION:
-            result = KErrNotSupported;
-            break;
-        case TMS_RESULT_INVALID_ARGUMENT:
-            result = KErrArgument;
-            break;
-        case TMS_RESULT_BUFFER_LATENCY_ERROR:
-            result = KErrUnderflow;
-            break;
-        case TMS_RESULT_ALREADY_EXIST:
-            result = KErrAlreadyExists;
-            break;
-        case TMS_RESULT_FATAL_ERROR:
-        case TMS_RESULT_GENERAL_ERROR:
-        default:
-            result = KErrGeneral;
-            break;
-        }
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
 // TMSUtility::EtelToTMSResult
 //
 // -----------------------------------------------------------------------------
--- a/mmserv/voipaudioservices/VoIPIntfc/group/VoIPAudioIntfc.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/voipaudioservices/VoIPIntfc/group/VoIPAudioIntfc.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -73,15 +73,15 @@
 LIBRARY         euser.lib
 LIBRARY         mediaclientaudioinputstream.lib
 LIBRARY         mediaclientaudiostream.lib
-LIBRARY         AudioOutputRouting.lib
+LIBRARY         audiooutputrouting.lib
 LIBRARY         mediaclientaudio.lib
-LIBRARY         ErrorConcealmentIntfc.lib
-LIBRARY         G711DecoderIntfc.lib
-LIBRARY         G711EncoderIntfc.lib
-LIBRARY         G729DecoderIntfc.lib
-LIBRARY         G729EncoderIntfc.lib
-LIBRARY         IlbcDecoderIntfc.lib
-LIBRARY         IlbcEncoderIntfc.lib
+LIBRARY         errorconcealmentintfc.lib
+LIBRARY         g711decoderintfc.lib
+LIBRARY         g711encoderintfc.lib
+LIBRARY         g729decoderintfc.lib
+LIBRARY         g729encoderintfc.lib
+LIBRARY         ilbcdecoderintfc.lib
+LIBRARY         ilbcencoderintfc.lib
 
 SMPSAFE
 
--- a/mmserv/voipaudioservices/VoIPServer/group/VoIPAudioServer.mmp	Tue Aug 31 15:43:02 2010 +0300
+++ b/mmserv/voipaudioservices/VoIPServer/group/VoIPAudioServer.mmp	Wed Sep 01 12:23:00 2010 +0100
@@ -54,16 +54,16 @@
 LIBRARY         estor.lib
 LIBRARY         mediaclientaudio.lib
 LIBRARY         mmfdevsound.lib
-LIBRARY         ErrorConcealmentIntfc.lib
-LIBRARY         G711DecoderIntfc.lib
-LIBRARY         G711EncoderIntfc.lib
-LIBRARY         G729DecoderIntfc.lib
-LIBRARY         G729EncoderIntfc.lib
-LIBRARY         IlbcDecoderIntfc.lib
-LIBRARY         IlbcEncoderIntfc.lib
-LIBRARY         SpeechEncoderConfig.lib
-LIBRARY         AudioOutputRouting.lib
-LIBRARY         ProfileEngine.lib
+LIBRARY         errorconcealmentintfc.lib
+LIBRARY         g711decoderintfc.lib
+LIBRARY         g711encoderintfc.lib
+LIBRARY         g729decoderintfc.lib
+LIBRARY         g729encoderintfc.lib
+LIBRARY         ilbcdecoderintfc.lib
+LIBRARY         ilbcencoderintfc.lib
+LIBRARY         speechencoderconfig.lib
+LIBRARY         audiooutputrouting.lib
+LIBRARY         profileengine.lib
 LIBRARY         voipjitterbuffer.lib
 LIBRARY         mmfserverbaseclasses.lib
 
--- a/package_definition.xml	Tue Aug 31 15:43:02 2010 +0300
+++ b/package_definition.xml	Wed Sep 01 12:23:00 2010 +0100
@@ -1,178 +1,68 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.1">
- <package id="mmmw" name="Multimedia Middleware" levels="plugin framework server generic specific">
-  <collection id="mmmw_plat" name="Multimedia Middleware Platform Interfaces" level="specific">
-      <meta rel="testbuild">
-       <group name="mmmw_tsrc_group"/>
-      </meta>
-   <component id="audio_metadata_reader_api" name="Audio MetaData Reader API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/audio_metadata_reader_api/audio_metadata_reader_api.metaxml"/>
-    <unit bldFile="mmmw_plat/audio_metadata_reader_api/group" filter="!test"/>
-    <unit bldFile="mmmw_plat/audio_metadata_reader_api/tsrc/Group" filter="test,api_test,pref_test,TA_MMMW"/>
-   </component>
-   <component id="audio_output_control_utility_api" name="Audio Output Control Utility API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/audio_output_control_utility_api/audio_output_control_utility_api.metaxml"/>
-    <unit bldFile="mmmw_plat/audio_output_control_utility_api/group" filter="!test"/>
-    <unit bldFile="mmmw_plat/audio_output_control_utility_api/tsrc/Group" filter="test,api_test,pref_test,TA_MMMW"/>
-   </component>
-   <component id="audio_output_control_utility_proxy_api" name="Audio Output Control Utility Proxy API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/audio_output_control_utility_proxy_api/audio_output_control_utility_proxy_api.metaxml"/>
-    <unit bldFile="mmmw_plat/audio_output_control_utility_proxy_api/group"/>
-   </component>
-   <component id="call_audio_control_api" name="Call AudioControl API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/call_audio_control_api/call_audio_control_api.metaxml"/>
-    <unit bldFile="mmmw_plat/call_audio_control_api/group" filter="!test"/>
-    <unit bldFile="mmmw_plat/call_audio_control_api/tsrc/Group" filter="test,api_test,pref_test,TA_MMMW"/>
-   </component>
-   <component id="configuration_components_factory_api" name="Configuration Components Factory API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/configuration_components_factory_api/configuration_components_factory_api.metaxml"/>
-    <unit bldFile="mmmw_plat/configuration_components_factory_api/group"/>
-   </component>
-   <component id="emc_audio_effects_api" name="EMC Audio Effects API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/emc_audio_effects_api/emc_audio_effects_api.metaxml"/>
-    <unit bldFile="mmmw_plat/emc_audio_effects_api/group"/>
-   </component>
-   <component id="emc_balance_effect_api" name="EMC Balance Effect API" class="api" filter="s60">
-    <unit bldFile="mmmw_plat/emc_balance_effect_api/group"/>
-   </component>
-   <component id="emc_buffer_source_api" name="EMC Buffer Source API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/emc_buffer_source_api/emc_buffer_source_api.metaxml"/>
-    <unit bldFile="mmmw_plat/emc_buffer_source_api/group"/>
-   </component>
-   <component id="emc_descriptor_source_api" name="EMC Descriptor Source API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/emc_descriptor_source_api/emc_descriptor_source_api.metaxml"/>
-    <unit bldFile="mmmw_plat/emc_descriptor_source_api/group"/>
-   </component>
-   <component id="emc_drm_config_intfc_api" name="EMC DRM Config Intfc API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/emc_drm_config_intfc_api/emc_drm_config_intfc_api.metaxml"/>
-    <unit bldFile="mmmw_plat/emc_drm_config_intfc_api/group"/>
-   </component>
-   <component id="emc_file_source_api" name="EMC File Source API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/emc_file_source_api/emc_file_source_api.metaxml"/>
-    <unit bldFile="mmmw_plat/emc_file_source_api/group"/>
-   </component>
-   <component id="emc_volume_effect_api" name="EMC Volume Effect API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/emc_volume_effect_api/emc_volume_effect_api.metaxml"/>
-    <unit bldFile="mmmw_plat/emc_volume_effect_api/group"/>
-   </component>
-   <component id="enhanced_media_client_api" name="Enhanced Media Client API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/enhanced_media_client_api/enhanced_media_client_api.metaxml"/>
-    <unit bldFile="mmmw_plat/enhanced_media_client_api/group" filter="!test"/>
-    <unit bldFile="mmmw_plat/enhanced_media_client_api/tsrc/Group" filter="test,api_test,pref_test,TA_MMMW"/>
-   </component>
-   <component id="multimedia_data_source_api" name="Multimedia Data Source API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/multimedia_data_source_api/multimedia_data_source_api.metaxml"/>
-    <unit bldFile="mmmw_plat/multimedia_data_source_api/group"/>
-   </component>
-   <component id="openmax_al_api" name="OpenMAX AL API" class="api" filter="s60" introduced="^4">
-      <meta rel="Api" href="mmmw_plat/openmax_al_api/openmax_al_api.metaxml"/>
-      <unit bldFile="mmmw_plat/openmax_al_api/group" filter="!test"/>
-      <unit bldFile="mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/group" filter="test,api_test,pref_test,TA_MMMW"/>
-   </component>
-   <component id="openmax_al_ext_api" name="OpenMAX AL Extensions API" class="api" filter="s60" introduced="^4">
-      <meta rel="Api" href="mmmw_plat/openmax_al_ext_api/openmax_al_ext_api.metaxml"/>
-      <unit bldFile="mmmw_plat/openmax_al_ext_api/group"/>
-   </component>
-   <component id="radio_monitor_api" name="Radio Monitor API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/radio_monitor_api/radio_monitor_api.metaxml"/>
-    <unit bldFile="mmmw_plat/radio_monitor_api/group"/>
-   </component>
-   <component id="radio_preset_utilities_api" name="Radio Preset Utilities API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/radio_preset_utilities_api/radio_preset_utilities_api.metaxml"/>
-    <unit bldFile="mmmw_plat/radio_preset_utilities_api/group"/>
-   </component>
-   <component id="radio_utilities_api" name="Radio Utilities API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/radio_utilities_api/radio_utilities_api.metaxml"/>
-    <unit bldFile="mmmw_plat/radio_utilities_api/group" filter="!test"/>
-    <unit bldFile="mmmw_plat/radio_utilities_api/tsrc/Group" filter="test,api_test,pref_test,TA_MMMW"/>
-   </component>
-   <component id="stream_control_custom_command_api" name="Stream Control Custom Command API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/stream_control_custom_command_api/stream_control_custom_command_api.metaxml"/>
-    <unit bldFile="mmmw_plat/stream_control_custom_command_api/group"/>
-   </component>
-   <component id="system_tone_service_api" name="System Tone Service API" class="api" filter="s60" introduced="^4">
-      <unit bldFile="mmmw_plat/system_tone_service_api/group"/>
-      <unit bldFile="mmmw_plat/system_tone_service_api/tsrc/group" filter="test,api_test,pref_test,TA_MMMW"/>
-   </component>
-   <component id="telephony_multimedia_service_api" name="Telephony Multimedia Service API" class="api" filter="s60">
-      <meta rel="testbuild">
-       <group name="mmmw_tms_tsrc_group"/>
-      </meta>
-    <unit bldFile="mmmw_plat/telephony_multimedia_service_api/group" filter="!test"/>
-    <unit bldFile="mmmw_plat/telephony_multimedia_service_api/tsrc/Group" filter="test,api_test,pref_test,TA_MMMW,TA_TMS"/>
-   </component>
-   <component id="thumbnail_engine_api" name="Thumbnail Engine API" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/thumbnail_engine_api/thumbnail_engine_api.metaxml"/>
-    <unit bldFile="mmmw_plat/thumbnail_engine_api/group" filter="!test"/>
-    <unit bldFile="mmmw_plat/thumbnail_engine_api/tsrc/Group" filter="test,api_test,pref_test,TA_MMMW"/>
-   </component>
-   <component id="voip_audio_services_api" name="VoIP Audio Services" class="api" filter="s60">
-    <meta rel="Api" href="mmmw_plat/voip_audio_services_api/voip_audio_services_api.metaxml"/>
-    <unit bldFile="mmmw_plat/voip_audio_services_api/group" filter="!test"/>
-    <unit bldFile="mmmw_plat/voip_audio_services_api/tsrc/Group" filter="test,api_test,pref_test,TA_MMMW"/>
-   </component>
-  </collection>
-  <collection id="khronosfws" name="Khronos Frameworks" level="framework">
-      <component id="openmax_al" filter="s60" name="OpenMAX AL" introduced="^4">
-        <unit bldFile="khronosfws/openmax_al/group"/>
+<SystemDefinition schema="3.0.0">
+  <package id="mmmw" name="Multimedia Middleware" levels="plugin framework server generic specific">
+  	<collection id="mmfenh" name="MMF Enhancements" level="generic">
+      <component id="advancedaudiocontroller" filter="s60" name="Advanced Audio Controllers" class="plugin">
+        <unit bldFile="mmfenh/advancedaudiocontroller/group"/>
+      </component>
+      <component id="audiooutputcontrolutility" filter="s60" name="Audio Output Control Utility">
+        <unit bldFile="mmfenh/audiooutputcontrolutility/group"/>
+      </component>
+      <component id="configurationcomponentsfactory" filter="s60" name="Configuration Components Factory">
+        <unit bldFile="mmfenh/configurationcomponentsfactory/group"/>
+      </component>
+      <component id="enhancedaudioplayerutility" filter="s60" name="Enhanced Audio Player Utility">
+        <unit bldFile="mmfenh/enhancedaudioplayerutility/group"/>
+      </component>
+      <component id="enhancedmediaclient" filter="s60" name="Enhanced Media Client">
+        <unit bldFile="mmfenh/enhancedmediaclient/group"/>
+      </component>
+      <component id="profilesettingsmonitor" filter="s60" name="Profile Settings Monitor">
+        <unit bldFile="mmfenh/profilesettingsmonitor/group"/>
+      </component>
+      <component id="progressivedownload" filter="s60" name="Progressive Download">
+        <unit bldFile="mmfenh/progressivedownload/group"/>
+      </component>
+      <component id="mmfenh_test" filter="s60,test,module_test,pref_test" name="MMF Enhancements Tests" purpose="development">
+        <unit bldFile="mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/group"/>
+      </component>      
+    </collection>
+    <collection id="mmserv" name="Multimedia Services" level="specific">
+      <component id="audioeffectsui" filter="s60" name="Audio Effects UI">
+        <unit bldFile="mmserv/audioeffectsui/group"/>
       </component>
-  </collection>
-  <collection id="mmfenh" name="MMF Enhancements" level="generic">
-   <component id="advancedaudiocontroller" filter="s60" name="Advanced Audio Controllers" class="plugin">
-    <unit bldFile="mmfenh/advancedaudiocontroller/group"/>
-   </component>
-   <component id="audiooutputcontrolutility" filter="s60" name="Audio Output Control Utility">
-    <unit bldFile="mmfenh/audiooutputcontrolutility/group"/>
-   </component>
-   <component id="configurationcomponentsfactory" filter="s60" name="Configuration Components Factory">
-    <unit bldFile="mmfenh/configurationcomponentsfactory/group"/>
-   </component>
-   <component id="enhancedaudioplayerutility" filter="s60" name="Enhanced Audio Player Utility">
-    <unit bldFile="mmfenh/enhancedaudioplayerutility/group"/>
-   </component>
-   <component id="enhancedmediaclient" filter="s60" name="Enhanced Media Client">
-    <unit bldFile="mmfenh/enhancedmediaclient/group"/>
-   </component>
-   <component id="profilesettingsmonitor" filter="s60" name="Profile Settings Monitor">
-    <unit bldFile="mmfenh/profilesettingsmonitor/group"/>
-   </component>
-   <component id="mmfenh_test" filter="s60,test,module_test,pref_test" name="MMF Enhancements Tests" purpose="development">
-      <meta rel="testbuild">
-       <group name="advancedaudiocontroller_tsrc_group"/>
-      </meta>
-    <unit bldFile="mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/group"/>
-   </component>
-  </collection>
-  <collection id="mmserv" name="Multimedia Services" level="specific">
-   <component id="callaudiocontrol" filter="s60" name="Call Audio Control">
-    <unit bldFile="mmserv/callaudiocontrol/group"/>
-   </component>
-   <component id="metadatautility" filter="s60" name="Metadata Utility">
-    <unit bldFile="mmserv/metadatautility/group"/>
-   </component>
-   <component id="radioutility" filter="s60" name="Radio Utility">
-    <unit bldFile="mmserv/radioutility/group"/>
-   </component>
-   <component id="sts" filter="s60" name="System Tone Service" introduced="^4">
-    <unit bldFile="mmserv/sts/group"/>
-   </component>
-   <component id="thumbnailengine" filter="s60" name="Thumbnail Engine" introduced="^2">
-    <unit bldFile="mmserv/thumbnailengine/group"/>
-   </component>
-   <component id="tms" filter="s60" name="Telephony Multimedia Service" introduced="^3">
-    <unit bldFile="mmserv/tms/group"/>
-   </component>
-   <component id="voipaudioservices" filter="s60" name="VoIP Audio Services">
-    <unit bldFile="mmserv/voipaudioservices/group"/>
-   </component>
-   <component id="lib3gpextparser" filter="s60" name="3GP Extension Metadata Parser Library">
-    <unit bldFile="mmserv/metadatautility/3GPExtParserLib/group"/>
-   </component>
-  </collection>
-  <collection id="mmmw_info" name="Multimedia Middleware Info" level="specific">
-   <component id="mmmw_test" filter="s60,test,api_test,pref_test" name="Multimedia Middleware Tests" purpose="development">
-    <unit bldFile="tsrc/group"/>
-   </component>
-  </collection>
- </package>
+      <component id="callaudiocontrol" filter="s60" name="Call Audio Control">
+        <unit bldFile="mmserv/callaudiocontrol/group"/>
+      </component>
+      <component id="metadatautility" filter="s60" name="Metadata Utility">
+        <unit bldFile="mmserv/metadatautility/group"/>
+      </component>
+      <component id="radioutility" filter="s60" name="Radio Utility">
+        <unit bldFile="mmserv/radioutility/group"/>
+      </component>
+      <component id="thumbnailengine" filter="s60" name="Thumbnail Engine" introduced="^2">
+        <unit bldFile="mmserv/thumbnailengine/group"/>
+      </component>
+      <component id="tms" filter="s60" name="Telephony Multimedia Service" introduced="^3">
+        <unit bldFile="mmserv/tms/group"/>
+      </component>
+      <component id="voipaudioservices" filter="s60" name="VoIP Audio Services">
+        <unit bldFile="mmserv/voipaudioservices/group"/>
+      </component>
+      <component id="lib3gpextparser" filter="s60"  name="3GP Extension Metadata Parser Library">
+        <unit bldFile="mmserv/metadatautility/3GPExtParserLib_stub/group" filter="sf_build"/>
+      </component>
+    </collection>    
+    <collection id="mmmw_info" name="Multimedia Middleware Info" level="specific">
+      <component id="mmmw_test" filter="s60,test,api_test,pref_test" name="Multimedia Middleware Tests" purpose="development">
+        <unit bldFile="tsrc/group"/>
+      </component>
+      <component id="mmmw_api_test" filter="s60,test,api_test" name="Multimedia Middleware API Tests" purpose="development">
+        <unit bldFile="mmmw_plat/telephony_multimedia_service_api/tsrc/group"/>
+      </component>
+      <component id="mmmw_plat" filter="s60" name="Multimedia Middleware Platform Interfaces" class="api">
+        <unit bldFile="mmmw_plat/group"/>
+      </component>
+    </collection>
+  </package>
 </SystemDefinition>
--- a/package_map.xml	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-<PackageMap root="sf" layer="mw"/>
--- a/tsrc/group/bld.inf	Tue Aug 31 15:43:02 2010 +0300
+++ b/tsrc/group/bld.inf	Wed Sep 01 12:23:00 2010 +0100
@@ -33,10 +33,8 @@
 #include "../../mmmw_plat/call_audio_control_api/tsrc/Group/bld.inf"
 #include "../../mmmw_plat/radio_utilities_api/tsrc/Group/bld.inf"
 #include "../../mmmw_plat/thumbnail_engine_api/tsrc/group/bld.inf"
+#include "../../mmmw_plat/equalizer_ui_api/tsrc/group/bld.inf"
 #include "../../mmmw_plat/telephony_multimedia_service_api/tsrc/Group/Bld.inf"
-#include "../../mmmw_plat/openmax_al_api/tsrc/openmaxaltestmodule/group/bld.inf"
-#include "../../mmmw_plat/system_tone_service_api/tsrc/group/bld.inf"
-
 
 PRJ_MMPFILES